/* assets/css/variables.css */
:root {
  --core-navy: #071426;
  --core-navy-2: #0D213D;
  --core-blue: #245AF4;
  --core-blue-hover: #1848D6;
  --core-yellow: #F7B824;
  --core-yellow-hover: #E3A814;
  --core-white: #FFFFFF;
  --core-bg-light: #F3F6FB;
  --core-surface-light: #FFFFFF;
  --core-surface-soft-light: #EDF2FA;
  --core-text-light: #132238;
  --core-muted-light: #69788D;
  --core-bg-dark: #050D18;
  --core-surface-dark: #0B1727;
  --core-surface-soft-dark: #112238;
  --core-text-dark: #F5F8FC;
  --core-muted-dark: #9CAAC0;
  --core-success: #1AA66A;
  --core-warning: #E79A13;
  --core-danger: #E5484D;
  --core-border-light: #DDE5F0;
  --core-border-dark: #20324A;
  --font-base: Tahoma, Arial, "Segoe UI", sans-serif;
  --container-width: 1220px;
  --radius-xs: 10px;
  --radius-sm: 14px;
  --radius-md: 20px;
  --radius-lg: 28px;
  --shadow-soft: 0 18px 50px rgba(16, 38, 73, 0.09);
  --shadow-card: 0 12px 30px rgba(16, 38, 73, 0.08);
  --transition: 180ms ease;
}

/* assets/css/reset.css */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body, h1, h2, h3, h4, p, ul, ol, figure { margin: 0; }
ul, ol { padding: 0; list-style: none; }
button, input, select, textarea { font: inherit; }
img, svg { display: block; max-width: 100%; }
button { border: 0; }

/* assets/css/base.css */
html { scroll-behavior: smooth; }
body {
  min-width: 320px;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-base);
  font-size: 16px;
  line-height: 1.75;
  direction: rtl;
  transition: background var(--transition), color var(--transition);
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--core-blue); }
h1, h2, h3, h4 { color: var(--color-heading); font-weight: 900; line-height: 1.4; }
h1 { font-size: clamp(2rem, 4.5vw, 4.25rem); }
h2 { font-size: clamp(1.5rem, 2.4vw, 2.35rem); }
h3 { font-size: 1.12rem; }
p { color: var(--color-text); }
.muted, .section-lead { color: var(--color-muted); }
.section-lead { max-width: 720px; font-size: 1.05rem; }
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  color: var(--core-blue);
  font-size: .85rem;
  font-weight: 900;
}
.eyebrow::before { content: ""; width: 22px; height: 3px; border-radius: 99px; background: var(--core-yellow); }
.skip-link { position: fixed; top: -5rem; inset-inline-start: 1rem; z-index: 1000; background: var(--core-yellow); color: var(--core-navy); padding: .65rem 1rem; border-radius: 10px; }
.skip-link:focus { top: 1rem; }
::selection { background: rgba(36,90,244,.2); }

/* assets/css/layout.css */
.container { width: min(100% - 2rem, var(--container-width)); margin-inline: auto; }
.page-shell { min-height: 70vh; }
.section-band { padding-block: 4.5rem; }
.section-band--compact { padding-block: 2.5rem; }
.section-band--surface { background: var(--color-surface); border-block: 1px solid var(--color-border); }
.section-header { display: flex; align-items: end; justify-content: space-between; gap: 1.25rem; margin-bottom: 1.5rem; }
.page-heading { display: grid; gap: .8rem; margin-bottom: 2rem; }
.hero { position: relative; overflow: hidden; padding-block: 5.5rem 4.5rem; background: radial-gradient(circle at 12% 18%, rgba(247,184,36,.2), transparent 24%), radial-gradient(circle at 86% 26%, rgba(36,90,244,.22), transparent 30%), linear-gradient(180deg, var(--color-hero-bg), transparent); }
.hero::after { content: ""; position: absolute; width: 440px; height: 440px; border: 70px solid rgba(36,90,244,.06); border-radius: 50%; left: -160px; bottom: -220px; }
.hero__grid { position: relative; z-index: 1; display: grid; align-items: center; grid-template-columns: minmax(0, 1.18fr) minmax(330px, .82fr); gap: 3rem; }
.hero__content { display: grid; gap: 1.15rem; }
.hero__content h1 span { color: var(--core-blue); }
.hero-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; }
.cards-grid, .category-grid, .dashboard-grid, .features-grid, .province-grid { display: grid; gap: 1rem; }
.cards-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.dashboard-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.features-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.province-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.details-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; align-items: start; gap: 1.25rem; }
.form-layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); align-items: start; gap: 2rem; }
.dashboard-layout { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.profile-grid { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.stack { display: grid; gap: 1rem; }
.inline { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.narrow-content { max-width: 760px; display: grid; gap: 1rem; }

/* assets/css/components.css */
.site-header { position: sticky; top: 0; z-index: 60; background: var(--color-header); border-bottom: 1px solid var(--color-border); backdrop-filter: blur(16px); }
.site-header__inner, .brand, .desktop-nav, .header-actions, .toolbar, .business-card__meta, .rating, .status-pill, .mobile-drawer__header, .footer-links, .contact-row, .dashboard-user { display: flex; align-items: center; }
.site-header__inner { min-height: 76px; gap: 1rem; }
.brand { gap: .65rem; min-width: max-content; }
.brand__mark { position: relative; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50% 50% 50% 14px; transform: rotate(-45deg); background: var(--core-yellow); box-shadow: 0 9px 20px rgba(247,184,36,.25); }
.brand__mark::after { content: ""; width: 14px; height: 14px; border: 5px solid var(--core-navy); border-radius: 50%; }
.brand__mark > span { transform: rotate(45deg); }
.brand__text { color: var(--color-heading); font-size: 1.45rem; font-weight: 950; letter-spacing: -.04em; }
.desktop-nav { gap: .2rem; margin-inline-start: auto; }
.desktop-nav a { padding: .65rem .8rem; border-radius: 12px; color: var(--color-muted); font-size: .92rem; font-weight: 800; }
.desktop-nav a:hover, .desktop-nav a[aria-current="page"] { color: var(--core-blue); background: rgba(36,90,244,.08); }
.header-actions { gap: .55rem; }
.button, .icon-button, .chip, .view-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; border: 1px solid transparent; border-radius: 14px; cursor: pointer; font-weight: 900; transition: transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition); }
.button { min-height: 46px; padding: .72rem 1.05rem; }
.button:hover, .icon-button:hover { transform: translateY(-1px); }
.button--primary { background: var(--core-blue); color: var(--core-white); box-shadow: 0 10px 22px rgba(36,90,244,.2); }
.button--primary:hover { background: var(--core-blue-hover); color: var(--core-white); }
.button--yellow { background: var(--core-yellow); color: var(--core-navy); box-shadow: 0 10px 22px rgba(247,184,36,.2); }
.button--yellow:hover { background: var(--core-yellow-hover); color: var(--core-navy); }
.button--subtle, .button--ghost, .icon-button, .view-button { background: var(--color-surface-secondary); border-color: var(--color-border); color: var(--color-text); }
.button--danger { background: rgba(229,72,77,.1); color: var(--core-danger); border-color: rgba(229,72,77,.2); }
.button__icon, .icon-button img, .nav-icon, .inline-icon { width: 21px; height: 21px; object-fit: contain; }
.icon-button, .view-button { width: 44px; height: 44px; padding: 0; }
.mobile-menu-button { display: none; }
.field { display: grid; gap: .45rem; }
.field > span { color: var(--color-heading); font-size: .88rem; font-weight: 850; }
.field small { color: var(--color-muted); }
input, select, textarea { width: 100%; min-height: 48px; padding: .78rem .9rem; background: var(--color-surface); color: var(--color-text); border: 1px solid var(--color-border); border-radius: 14px; outline: none; transition: border-color var(--transition), box-shadow var(--transition); }
textarea { resize: vertical; }
input:focus, select:focus, textarea:focus { border-color: var(--core-blue); box-shadow: 0 0 0 4px rgba(36,90,244,.1); }
button:focus-visible, a:focus-visible { outline: 3px solid rgba(36,90,244,.3); outline-offset: 2px; }
.search-panel, .filter-bar, .content-panel, .summary-panel, .business-card, .category-card, .dashboard-card, .auth-card, .form-card, .feature-card, .province-card, .sidebar-card, .map-card, .notice, .review-card, .profile-card { background: var(--color-surface); border: 1px solid var(--color-border); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.search-panel { display: grid; grid-template-columns: minmax(220px, 1fr) 190px auto; gap: .75rem; padding: .8rem; margin-top: .65rem; }
.search-panel .field > span { position: absolute; width: 1px; height: 1px; overflow: hidden; }
.search-panel input, .search-panel select { border: 0; background: var(--color-surface-secondary); }
.filter-bar { display: grid; grid-template-columns: minmax(220px, 1fr) repeat(2, 180px) 150px auto; gap: .75rem; padding: 1rem; margin-bottom: 1rem; }
.summary-panel { padding: 1.2rem; overflow: hidden; }
.hero-showcase { position: relative; min-height: 430px; padding: 1.25rem; background: linear-gradient(145deg, var(--core-navy), #102B53); color: white; }
.hero-showcase::before { content: ""; position: absolute; width: 260px; height: 260px; border-radius: 50%; background: rgba(36,90,244,.28); top: -100px; left: -80px; filter: blur(2px); }
.hero-showcase__map { position: relative; height: 100%; min-height: 390px; border: 1px solid rgba(255,255,255,.13); border-radius: 20px; overflow: hidden; background-image: linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px); background-size: 42px 42px; }
.map-road { position: absolute; height: 12px; width: 125%; background: rgba(255,255,255,.11); border-radius: 99px; transform: rotate(-28deg); top: 44%; right: -15%; }
.map-road--2 { transform: rotate(35deg); top: 62%; right: -12%; }
.map-pin-dot { position: absolute; width: 42px; height: 42px; display: grid; place-items: center; background: var(--core-yellow); color: var(--core-navy); border-radius: 50% 50% 50% 10px; transform: rotate(-45deg); box-shadow: 0 12px 30px rgba(0,0,0,.25); }
.map-pin-dot span { transform: rotate(45deg); font-weight: 950; }
.map-pin-dot:nth-of-type(1){top:20%;right:24%}.map-pin-dot:nth-of-type(2){top:46%;right:53%}.map-pin-dot:nth-of-type(3){top:66%;right:20%}.map-pin-dot:nth-of-type(4){top:27%;right:70%}
.map-floating-card { position: absolute; right: 1rem; left: 1rem; bottom: 1rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; background: rgba(255,255,255,.94); color: var(--core-navy); padding: 1rem; border-radius: 16px; box-shadow: 0 16px 35px rgba(0,0,0,.2); }
.map-floating-card strong { display: block; }
.metric-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-top: 1rem; }
.metric { display: grid; gap: .15rem; padding: .85rem; text-align: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; }
.metric strong { color: var(--core-yellow); font-size: 1.4rem; }
.metric span { color: rgba(255,255,255,.72); font-size: .78rem; }
.business-card { position: relative; overflow: hidden; display: grid; min-height: 100%; transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition); }
.business-card:hover { transform: translateY(-4px); border-color: rgba(36,90,244,.35); box-shadow: var(--shadow-soft); }
.business-card__cover { position: relative; min-height: 132px; padding: 1rem; overflow: hidden; background: linear-gradient(135deg, var(--cover-a, #15315B), var(--cover-b, #245AF4)); }
.business-card__cover::after { content: ""; position: absolute; width: 170px; height: 170px; border: 35px solid rgba(255,255,255,.1); border-radius: 50%; left: -45px; bottom: -95px; }
.business-card__logo { position: absolute; right: 1rem; bottom: -25px; z-index: 2; display: grid; place-items: center; width: 64px; height: 64px; background: var(--color-surface); border: 4px solid var(--color-surface); border-radius: 18px; box-shadow: 0 8px 20px rgba(0,0,0,.16); }
.business-card__logo img { width: 31px; height: 31px; }
.save-button { position: absolute; top: .8rem; left: .8rem; z-index: 3; background: rgba(255,255,255,.9); border-color: transparent; }
.business-card__body { display: grid; gap: .65rem; padding: 2rem 1rem 1rem; }
.business-card__title-row { display: flex; align-items: start; justify-content: space-between; gap: .75rem; }
.verified-badge { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--core-blue); color: white; font-size: .72rem; }
.business-card__meta { gap: .45rem; flex-wrap: wrap; color: var(--color-muted); font-size: .82rem; }
.business-card__meta span, .chip { padding: .28rem .62rem; border-radius: 999px; background: var(--color-surface-secondary); border: 1px solid var(--color-border); }
.business-card__footer { display: flex; justify-content: space-between; align-items: center; gap: .6rem; padding-top: .55rem; border-top: 1px solid var(--color-border); }
.rating { gap: .25rem; color: var(--core-warning); font-weight: 900; }
.rating small { color: var(--color-muted); font-weight: 700; }
.status-pill { gap: .3rem; font-size: .78rem; font-weight: 850; }
.status-pill::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.status-pill.is-open { color: var(--core-success); }
.status-pill.is-closed { color: var(--core-danger); }
.category-card, .province-card, .feature-card, .dashboard-card { display: grid; gap: .75rem; padding: 1.1rem; transition: transform var(--transition), border-color var(--transition); }
.category-card:hover, .province-card:hover, .feature-card:hover { transform: translateY(-3px); border-color: rgba(36,90,244,.35); }
.category-card__icon, .feature-card__icon, .dashboard-card__icon { display: grid; place-items: center; width: 50px; height: 50px; border-radius: 15px; background: rgba(36,90,244,.1); }
.category-card__icon img, .feature-card__icon img, .dashboard-card__icon img { width: 27px; height: 27px; }
.category-card__count { color: var(--core-blue); font-size: .8rem; font-weight: 850; }
.feature-card { min-height: 190px; }
.dashboard-card strong { color: var(--color-heading); font-size: 1.65rem; }
.content-panel, .form-card, .auth-card, .sidebar-card, .profile-card { padding: 1.35rem; }
.content-panel { display: grid; gap: 1rem; }
.sidebar-card { position: sticky; top: 96px; display: grid; gap: 1rem; }
.contact-row { gap: .75rem; padding-block: .7rem; border-bottom: 1px solid var(--color-border); }
.contact-row:last-child { border-bottom: 0; }
.contact-row img { width: 22px; height: 22px; }
.map-card { min-height: 280px; position: relative; overflow: hidden; background-image: linear-gradient(var(--color-border) 1px, transparent 1px), linear-gradient(90deg,var(--color-border) 1px, transparent 1px); background-size: 36px 36px; }
.map-card::after { content: "موقعیت نمونه"; position: absolute; inset: 0; display: grid; place-items: center; color: var(--color-muted); font-weight: 850; background: radial-gradient(circle at center, transparent, var(--color-surface)); }
.map-card .map-pin-dot { z-index: 2; top: 42%; right: 46%; }
.notice { display: flex; align-items: flex-start; gap: .75rem; padding: 1rem; border-color: rgba(36,90,244,.2); background: rgba(36,90,244,.06); }
.notice img { width: 22px; height: 22px; margin-top: .15rem; }
.toolbar { justify-content: space-between; gap: 1rem; margin-block: 1rem; }
.view-controls { display: flex; gap: .45rem; }
.view-button.is-active { background: var(--core-blue); border-color: var(--core-blue); }
.view-button.is-active img { filter: brightness(0) invert(1); }
.cards-grid.is-list { grid-template-columns: 1fr; }
.cards-grid.is-list .business-card { grid-template-columns: 220px 1fr; }
.cards-grid.is-list .business-card__cover { min-height: 100%; }
.cards-grid.is-list .business-card__body { padding-top: 1rem; }
.text-link { color: var(--core-blue); font-weight: 900; }
.chip { color: var(--color-muted); font-size: .82rem; }
.chip--active { background: var(--core-blue); border-color: var(--core-blue); color: white; }
.form-card, .auth-card { display: grid; gap: 1rem; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.field--full { grid-column: 1 / -1; }
.form-message { min-height: 1.5rem; color: var(--core-success); font-weight: 750; }
.form-message.is-error { color: var(--core-danger); }
.auth-shell { display: grid; grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr); min-height: calc(100vh - 76px); }
.auth-visual { display: grid; place-items: center; padding: 3rem; background: linear-gradient(145deg, var(--core-navy), #10325E); color: white; }
.auth-visual__content { max-width: 460px; display: grid; gap: 1rem; }
.auth-visual h1, .auth-visual p { color: white; }
.auth-panel { display: grid; place-items: center; padding: 2rem; }
.auth-card { width: min(100%, 500px); box-shadow: none; }
.divider { display: flex; align-items: center; gap: 1rem; color: var(--color-muted); font-size: .85rem; }
.divider::before, .divider::after { content: ""; height: 1px; flex: 1; background: var(--color-border); }
.dashboard-sidebar nav { display: grid; gap: .35rem; }
.dashboard-sidebar a { display: flex; align-items: center; gap: .65rem; padding: .75rem; border-radius: 12px; color: var(--color-muted); font-weight: 800; }
.dashboard-sidebar a:hover, .dashboard-sidebar a.is-active { color: var(--core-blue); background: rgba(36,90,244,.09); }
.dashboard-user { gap: .7rem; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid var(--color-border); }
.avatar { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg,var(--core-blue),#77A1FF); color: white; font-weight: 950; }
.review-card { display: grid; gap: .55rem; padding: 1rem; box-shadow: none; }
.review-head { display: flex; justify-content: space-between; gap: 1rem; }
.empty-state { display: grid; justify-items: center; text-align: center; gap: .9rem; padding: 3rem 1rem; }
.empty-state__icon { width: 64px; height: 64px; opacity: .7; }
.site-footer { border-top: 1px solid var(--color-border); background: var(--color-surface); padding-block: 3.5rem 1.5rem; }
.site-footer__grid { display: grid; grid-template-columns: 1.2fr repeat(2, .65fr); gap: 2rem; }
.footer-links { align-items: flex-start; flex-direction: column; gap: .55rem; }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; margin-top: 2rem; border-top: 1px solid var(--color-border); color: var(--color-muted); font-size: .85rem; }
.mobile-drawer { position: fixed; inset: 0; z-index: 100; pointer-events: none; visibility: hidden; }
.mobile-drawer.is-open { pointer-events: auto; visibility: visible; }
.mobile-drawer__backdrop { position: absolute; inset: 0; background: var(--color-overlay); opacity: 0; transition: opacity var(--transition); }
.mobile-drawer.is-open .mobile-drawer__backdrop { opacity: 1; }
.mobile-drawer__panel { position: absolute; top: 0; bottom: 0; right: 0; width: min(86vw, 340px); padding: 1rem; background: var(--color-surface); transform: translateX(105%); transition: transform var(--transition); box-shadow: -20px 0 45px rgba(0,0,0,.22); }
.mobile-drawer.is-open .mobile-drawer__panel { transform: translateX(0); }
.mobile-drawer__header { justify-content: space-between; padding-bottom: 1rem; border-bottom: 1px solid var(--color-border); }
.mobile-nav { display: grid; gap: .3rem; margin-top: 1rem; }
.mobile-nav a { display: flex; align-items: center; gap: .7rem; padding: .8rem; border-radius: 12px; color: var(--color-muted); font-weight: 850; }
.mobile-nav a[aria-current="page"] { color: var(--core-blue); background: rgba(36,90,244,.08); }
.mobile-nav img { width: 22px; height: 22px; }
.mobile-nav .mobile-nav__register { margin-top: .45rem; color: #fff; background: linear-gradient(135deg,var(--core-blue),#0f55df); box-shadow: 0 10px 24px rgba(36,90,244,.22); }
.mobile-nav .mobile-nav__register:hover, .mobile-nav .mobile-nav__register[aria-current="page"] { color: #fff; background: linear-gradient(135deg,#2d72ff,#0c4bc8); }
.mobile-nav .mobile-nav__register img { filter: brightness(0) invert(1); }
.mobile-bottom-nav { display: none; }
.toast { position: fixed; z-index: 200; bottom: 1.25rem; left: 50%; transform: translate(-50%, 120px); padding: .8rem 1rem; border-radius: 14px; background: var(--core-navy); color: white; box-shadow: 0 15px 40px rgba(0,0,0,.25); opacity: 0; transition: .25s ease; }
.toast.is-visible { transform: translate(-50%, 0); opacity: 1; }

/* assets/css/pages.css */
.home-intro { max-width: 760px; }
.quick-chips { display: flex; gap: .55rem; flex-wrap: wrap; }
.business-hero { display: grid; gap: 1.25rem; padding: 1.5rem; min-height: 280px; background: linear-gradient(135deg, #0D2446, #245AF4); border-radius: var(--radius-lg); color: white; overflow: hidden; position: relative; }
.business-hero::after { content: ""; position: absolute; width: 320px; height: 320px; border: 70px solid rgba(255,255,255,.08); border-radius: 50%; left: -120px; bottom: -210px; }
.business-hero h1, .business-hero p { color: white; }
.business-hero__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; position: relative; z-index: 1; }
.business-hero__logo { display: grid; place-items: center; width: 84px; height: 84px; border-radius: 24px; background: white; }
.business-hero__logo img { width: 42px; height: 42px; }
.business-actions { display: flex; flex-wrap: wrap; gap: .6rem; position: relative; z-index: 1; }
.business-actions .button--ghost { background: rgba(255,255,255,.12); color: white; border-color: rgba(255,255,255,.18); }
.gallery-grid { display: grid; grid-template-columns: 1.4fr repeat(2, .8fr); gap: .75rem; }
.gallery-tile { min-height: 150px; display: grid; place-items: center; border-radius: 18px; color: white; font-weight: 900; background: linear-gradient(145deg,#10284D,#315FC6); overflow: hidden; }
.gallery-tile:first-child { grid-row: span 2; min-height: 315px; background: linear-gradient(145deg,#0B1E39,#245AF4); }
.service-list { display: flex; flex-wrap: wrap; gap: .55rem; }
.service-list span { padding: .45rem .75rem; border-radius: 999px; background: var(--color-surface-secondary); border: 1px solid var(--color-border); }
.steps { counter-reset: step; display: grid; gap: 1rem; }
.step { position: relative; padding: 1rem 4rem 1rem 1rem; border: 1px solid var(--color-border); border-radius: 16px; background: var(--color-surface); }
.step::before { counter-increment: step; content: counter(step); position: absolute; right: 1rem; top: 1rem; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; background: var(--core-yellow); color: var(--core-navy); font-weight: 950; }
.profile-card { text-align: center; }
.profile-card .avatar { width: 84px; height: 84px; margin: 0 auto .75rem; font-size: 1.35rem; }
.table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; min-width: 680px; }
.data-table th, .data-table td { text-align: right; padding: .85rem; border-bottom: 1px solid var(--color-border); }
.data-table th { color: var(--color-muted); font-size: .82rem; }
.progress { height: 8px; overflow: hidden; border-radius: 99px; background: var(--color-surface-secondary); }
.progress span { display: block; height: 100%; border-radius: inherit; background: var(--core-blue); }
.about-hero { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: center; }
.about-visual { min-height: 380px; border-radius: var(--radius-lg); background: linear-gradient(145deg,var(--core-navy),#153E79); position: relative; overflow: hidden; }
.about-visual::before, .about-visual::after { content: ""; position: absolute; border-radius: 50%; border: 45px solid rgba(255,255,255,.08); }
.about-visual::before { width: 280px; height: 280px; top: -80px; left: -40px; }
.about-visual::after { width: 220px; height: 220px; bottom: -80px; right: -30px; border-color: rgba(247,184,36,.18); }
.about-visual .brand { position: absolute; inset: 0; justify-content: center; }
.about-visual .brand__text { color: white; font-size: 3rem; }
.contact-cards { display: grid; gap: .8rem; }
.contact-card { display: flex; align-items: center; gap: .8rem; padding: 1rem; background: var(--color-surface); border: 1px solid var(--color-border); border-radius: 16px; }

/* assets/css/responsive.css */
@media (max-width: 1080px) {
  .desktop-nav { display: none; }
  .mobile-menu-button { display: inline-flex; }
  .hero__grid, .details-layout, .form-layout, .profile-grid, .about-hero { grid-template-columns: 1fr; }
  .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-layout { grid-template-columns: 1fr; }
  .dashboard-sidebar { position: static; }
  .filter-bar { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .filter-bar .button { width: 100%; }
  .site-footer__grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  body { padding-bottom: 72px; }
  .section-band { padding-block: 3rem; }
  .hero { padding-block: 3.25rem; }
  .hero__grid { gap: 2rem; }
  .hero-showcase { min-height: 360px; }
  .hero-showcase__map { min-height: 320px; }
  .header-actions .button--subtle { display: none; }
  .search-panel, .filter-bar, .form-grid { grid-template-columns: 1fr; }
  .cards-grid, .category-grid, .dashboard-grid, .features-grid, .province-grid { grid-template-columns: 1fr; }
  .cards-grid.is-list .business-card { grid-template-columns: 1fr; }
  .metric-list { grid-template-columns: repeat(3, 1fr); }
  .section-header { align-items: flex-start; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .auth-shell { grid-template-columns: 1fr; min-height: auto; }
  .auth-visual { min-height: 300px; padding: 2rem 1rem; }
  .auth-panel { padding: 1.25rem 1rem; }
  .gallery-grid { grid-template-columns: 1fr 1fr; }
  .gallery-tile:first-child { grid-column: 1/-1; grid-row: auto; min-height: 220px; }
  .mobile-bottom-nav { position: fixed; z-index: 50; right: .7rem; left: .7rem; bottom: .65rem; display: grid; grid-template-columns: repeat(4,1fr); padding: .45rem; border: 1px solid var(--color-border); border-radius: 20px; background: var(--color-header); backdrop-filter: blur(14px); box-shadow: 0 15px 40px rgba(0,0,0,.2); }
  .mobile-bottom-nav a { display: grid; justify-items: center; gap: .15rem; padding: .35rem .15rem; color: var(--color-muted); font-size: .66rem; font-weight: 800; }
  .mobile-bottom-nav img { width: 20px; height: 20px; }
  .mobile-bottom-nav a[aria-current="page"] { color: var(--core-blue); }
}
@media (max-width: 480px) {
  .container { width: min(100% - 1.25rem, var(--container-width)); }
  .site-header__inner { min-height: 68px; }
  .brand__text { font-size: 1.25rem; }
  .brand__mark { width: 38px; height: 38px; }
  h1 { font-size: 2.15rem; }
  .hero-actions .button { width: 100%; }
  .metric-list { grid-template-columns: 1fr; }
  .business-hero__top { flex-direction: column; }
  .business-actions .button { flex: 1 1 46%; }
  .toolbar { align-items: flex-start; }
  .view-controls { display: none; }
}

/* assets/css/light-theme.css */
:root,
:root[data-theme="light"] {
  --color-bg: var(--core-bg-light);
  --color-surface: var(--core-surface-light);
  --color-surface-secondary: var(--core-surface-soft-light);
  --color-text: var(--core-text-light);
  --color-heading: var(--core-navy);
  --color-muted: var(--core-muted-light);
  --color-border: var(--core-border-light);
  --color-hero-bg: #EAF0FF;
  --color-header: rgba(255,255,255,.88);
  --color-overlay: rgba(7,20,38,.56);
}

/* assets/css/dark-theme.css */
:root[data-theme="dark"] {
  --color-bg: var(--core-bg-dark);
  --color-surface: var(--core-surface-dark);
  --color-surface-secondary: var(--core-surface-soft-dark);
  --color-text: var(--core-text-dark);
  --color-heading: var(--core-white);
  --color-muted: var(--core-muted-dark);
  --color-border: var(--core-border-dark);
  --color-hero-bg: #0A1D37;
  --color-header: rgba(5,13,24,.9);
  --color-overlay: rgba(0,0,0,.68);
  --shadow-soft: 0 18px 50px rgba(0,0,0,.28);
  --shadow-card: 0 12px 30px rgba(0,0,0,.22);
}

/* assets/css/v2.css */
/* Core UI v2 — light/dark responsive redesign */
:root{--container-width:1320px;--radius-xs:8px;--radius-sm:12px;--radius-md:18px;--radius-lg:24px;--shadow-card:0 8px 28px rgba(18,46,91,.08);--shadow-soft:0 18px 55px rgba(18,46,91,.10)}
body{font-size:15px;line-height:1.65;overflow-x:hidden}
.container{width:min(calc(100% - 40px),var(--container-width))}
h1{font-size:clamp(2rem,3.7vw,3.4rem)}h2{font-size:clamp(1.45rem,2.2vw,2rem)}
.site-header{height:76px;background:var(--color-header);box-shadow:0 5px 24px rgba(9,29,61,.05)}
.site-header__inner{min-height:76px;justify-content:space-between}.desktop-nav{margin-inline:auto;gap:2rem}.desktop-nav a{padding:26px 0 22px;font-weight:800;font-size:.92rem;position:relative}.desktop-nav a[aria-current=page]{color:var(--core-blue)}.desktop-nav a[aria-current=page]::after{content:"";position:absolute;bottom:0;right:0;left:0;height:3px;border-radius:9px;background:var(--core-blue)}
.brand__mark{width:31px;height:31px;border-radius:50% 50% 50% 10px;box-shadow:none}.brand__mark::after{width:8px;height:8px;border-width:4px}.brand__text{font-size:1.8rem;letter-spacing:-.5px}.header-actions{gap:.55rem}.theme-toggle{border-radius:12px}.login-button{min-height:44px}.header-register{min-height:44px;padding-inline:1.1rem}.button{min-height:46px;border-radius:10px;font-weight:900}.button--primary{background:linear-gradient(135deg,#2166ff,#1054df);box-shadow:0 8px 18px rgba(36,90,244,.18)}.button--yellow{background:var(--core-yellow);color:#071426}.button img,.button__icon{width:19px;height:19px}.icon-button{border-radius:11px}.mobile-menu-button{display:none}
.home-hero{position:relative;isolation:isolate;overflow:hidden;min-height:540px;padding:75px 0 58px;background:linear-gradient(180deg,var(--color-hero-bg),var(--color-bg));text-align:center;border-bottom:1px solid var(--color-border)}.home-hero::before{content:"";position:absolute;inset:auto 0 0;height:54%;z-index:-2;opacity:.32;background:linear-gradient(180deg,transparent,var(--color-bg));filter:saturate(.55) blur(.2px)}.home-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 75% 22%,rgba(36,90,244,.14),transparent 29%),radial-gradient(circle at 19% 38%,rgba(247,184,36,.12),transparent 28%)}.home-hero__inner{display:grid;justify-items:center;gap:15px}.hero-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;color:var(--core-blue);font-weight:850;box-shadow:var(--shadow-card)}.hero-badge img{width:18px;height:18px}.home-hero h1{max-width:850px;font-size:clamp(2.25rem,4.1vw,4rem);letter-spacing:-1.8px}.home-hero h1 span{color:var(--core-blue)}.home-hero>div>p{max-width:720px;color:var(--color-muted);font-size:1.05rem}
.hero-search{width:min(100%,900px);display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:9px;padding:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:15px;box-shadow:0 16px 38px rgba(20,58,114,.13)}.hero-search__input{display:flex;align-items:center;gap:10px;padding-inline:12px}.hero-search__input img,.results-search label img{width:21px;height:21px;opacity:.6}.hero-search input{border:0;background:transparent;min-height:46px;padding:0;box-shadow:none}.location-control{display:flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 17px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--core-blue);font-weight:900}.location-control img{width:19px;height:19px}.hero-search__button{padding-inline:28px}.popular-searches{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;color:var(--color-muted);font-size:.87rem}.popular-searches button{padding:6px 12px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text)}.location-message{min-height:20px!important;font-size:.82rem!important}
.section-title-row{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}.section-title-row a,.panel-title a{color:var(--core-blue);font-weight:900}.section-kicker{display:block;margin-bottom:3px;color:var(--core-blue);font-size:.84rem;font-weight:900}.section-heading-center{text-align:center;margin-bottom:35px}.home-categories{padding:32px 0;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.category-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.category-card{min-height:126px;padding:17px 12px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface);display:grid;justify-items:center;text-align:center;gap:6px;box-shadow:0 5px 18px rgba(17,45,88,.04);transition:.2s}.category-card:hover{transform:translateY(-4px);border-color:rgba(36,90,244,.42);box-shadow:var(--shadow-card)}.category-card__icon{width:46px;height:46px;display:grid;place-items:center;border-radius:13px;background:rgba(36,90,244,.08)}.category-card__icon img{width:26px;height:26px}.category-card .muted{display:none}.category-card__count{font-size:.75rem;color:var(--color-muted)}
.featured-section{background:var(--color-bg)}.featured-grid{grid-template-columns:repeat(3,1fr)}.business-card{border:1px solid var(--color-border);border-radius:17px;background:var(--color-surface);overflow:hidden;box-shadow:var(--shadow-card);transition:.2s;min-width:0}.business-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-soft)}.business-card__cover{position:relative;height:188px;background:linear-gradient(145deg,var(--cover-a),var(--cover-b));overflow:hidden}.business-card__cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(3,12,27,.34))}.business-card__cover-image{width:100%;height:100%;object-fit:cover}.save-button{position:absolute;z-index:2;top:12px;left:12px;background:rgba(255,255,255,.92);border:0}.business-card__logo{display:none}.business-card__body{padding:16px}.business-card__title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.business-card__title-row h3{font-size:1.02rem}.verified-badge{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--core-blue);color:white;font-size:11px}.status-pill{font-size:.72rem;padding:3px 8px;border-radius:999px}.business-card__body>p{font-size:.82rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:7px 0}.business-card__meta{display:flex;gap:9px;color:var(--color-muted);font-size:.77rem}.business-card__meta span{display:flex;align-items:center;gap:4px}.business-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:11px;border-top:1px solid var(--color-border)}.rating{color:#f3a600;font-weight:900}.rating small{color:var(--color-muted)}
.how-section{padding:55px 0;background:var(--color-surface);border-block:1px solid var(--color-border)}.how-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.how-grid article{text-align:center;position:relative;padding:15px 30px}.how-grid article>span{position:absolute;top:2px;right:calc(50% + 30px);width:27px;height:27px;display:grid;place-items:center;border-radius:50%;background:#dbe8ff;color:var(--core-blue);font-weight:950}.how-icon{width:72px;height:72px;margin:0 auto 13px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(145deg,#eaf2ff,#d4e4ff)}.how-icon img{width:35px;height:35px}.how-grid p{color:var(--color-muted);max-width:280px;margin:auto}.owner-cta__box{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:38px 45px;border-radius:22px;background:linear-gradient(135deg,#061b3e,#104ca8);color:#fff;box-shadow:0 20px 50px rgba(6,27,62,.22)}.owner-cta__box h2,.owner-cta__box p{color:#fff}.owner-cta__box p{opacity:.75}.owner-cta__box .section-kicker{color:var(--core-yellow)}
.search-page__heading{text-align:center;margin:15px 0 24px}.search-page__heading h1{font-size:2.15rem}.search-page__heading p{color:var(--color-muted)}.results-search{display:grid;grid-template-columns:minmax(250px,1.5fr) repeat(2,minmax(150px,.65fr)) auto auto;gap:9px;padding:11px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-card)}.results-search label{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg)}.results-search input,.results-search select{min-height:44px;border:0;background:transparent;padding:0}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0 12px}.results-toolbar>div{display:grid}.results-toolbar span{font-size:.78rem;color:var(--color-muted)}.sort-select{display:flex;align-items:center;gap:8px;color:var(--color-muted)}.sort-select select{width:auto;min-height:38px}.search-layout{display:grid;grid-template-columns:minmax(420px,.9fr) minmax(480px,1.1fr);gap:18px;align-items:start}.results-panel,.map-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;padding:14px;box-shadow:var(--shadow-card)}.result-list{display:grid;gap:10px;max-height:720px;overflow:auto;padding-left:4px}.result-list .business-card{display:grid;grid-template-columns:150px 1fr;min-height:145px;box-shadow:none;border-radius:14px}.result-list .business-card__cover{height:100%;min-height:145px}.result-list .business-card__body{padding:13px}.result-list .business-card__body>p{margin:4px 0}.result-list .business-card__footer{margin-top:7px}.core-map{height:680px;position:relative;overflow:hidden;border-radius:14px;background:var(--map-bg) center/cover no-repeat}.map-fallback{position:absolute;inset:0;background-image:var(--map-image);background-position:center;background-size:cover}.map-fallback::after{content:"";position:absolute;inset:0;background:var(--map-overlay)}.map-fallback__label{position:absolute;z-index:2;top:44%;left:52%;font-size:2rem;font-weight:950;color:var(--color-heading);text-shadow:0 2px 8px var(--color-surface)}.map-note{display:flex;align-items:center;gap:7px;padding:9px 4px 0;color:var(--color-muted);font-size:.75rem}.map-note img{width:18px}.core-pin{width:32px;height:32px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--core-blue);border:4px solid white;box-shadow:0 5px 14px rgba(0,0,0,.25)}.core-pin.is-selected{background:var(--core-yellow);width:38px;height:38px}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:var(--color-surface);color:var(--color-text)}
.business-page{background:var(--color-bg)}.business-details-v2{display:grid;gap:16px}.details-breadcrumb{font-size:.82rem;color:var(--color-muted)}.business-overview{display:grid;grid-template-columns:minmax(430px,.95fr) minmax(0,1.2fr);gap:20px;padding:16px;border-radius:18px;background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-card)}.business-cover-large{height:335px;border-radius:14px;overflow:hidden;background:var(--color-surface-secondary)}.business-cover-large img{width:100%;height:100%;object-fit:cover}.business-summary{padding:12px 4px;display:flex;flex-direction:column}.business-summary__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.business-summary__logo{width:82px;height:82px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:17px;background:var(--color-surface)}.business-summary__logo img{width:42px}.business-summary h1{font-size:2.25rem}.business-subline{display:flex;gap:12px;flex-wrap:wrap;color:var(--color-muted);margin:8px 0}.business-summary>p{color:var(--color-muted);margin:12px 0}.business-action-row{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:9px;margin-top:auto}.business-contact-strip{display:grid;grid-template-columns:1fr 2fr;gap:20px;padding:14px 0 0;border-top:1px solid var(--color-border);margin-top:15px}.contact-mini{display:flex;align-items:center;gap:9px}.contact-mini img{width:22px}.details-main-grid{display:grid;grid-template-columns:290px minmax(0,1fr) 340px;gap:16px;align-items:start}.details-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:18px;box-shadow:var(--shadow-card)}.details-card h2{font-size:1.25rem;margin-bottom:12px}.info-list{display:grid;gap:12px}.info-list div{display:flex;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--color-border)}.info-list img{width:20px;height:20px}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.service-tile{padding:14px 10px;border:1px solid var(--color-border);border-radius:12px;text-align:center;background:var(--color-bg)}.details-map{height:245px}.review-summary{display:flex;align-items:center;gap:18px;margin-bottom:13px}.review-score{font-size:2.7rem;font-weight:950}.review-list-v2{display:grid;gap:10px}.review-card{border:1px solid var(--color-border);border-radius:12px}.gallery-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gallery-row img{width:100%;height:90px;object-fit:cover;border-radius:10px}
.register-heading{text-align:center;margin-bottom:25px}.register-heading p{color:var(--color-muted)}.registration-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:18px 28px;margin-bottom:18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;box-shadow:var(--shadow-card)}.registration-stepper>div{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center}.registration-stepper>div:not(:last-child)::after{content:"";position:absolute;top:19px;left:12px;width:calc(100% - 50px);border-top:2px dotted var(--color-border)}.registration-stepper span{grid-row:1/3;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--color-surface-secondary);font-weight:950;z-index:1}.registration-stepper .is-active span{background:var(--core-blue);color:white}.registration-stepper strong{font-size:.86rem}.registration-stepper small{color:var(--color-muted)}.register-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);gap:18px}.register-card,.register-map-card,.upload-card{padding:22px;border:1px solid var(--color-border);border-radius:17px;background:var(--color-surface);box-shadow:var(--shadow-card)}.register-side{display:grid;gap:18px}.card-heading{display:flex;align-items:flex-start;gap:11px;margin-bottom:17px}.card-heading>img{width:24px;height:24px}.card-heading p{color:var(--color-muted);font-size:.82rem}.register-card .field input,.register-card .field select,.register-card .field textarea{background:var(--color-bg)}.register-submit{width:100%;margin-top:16px}.core-map--register{height:260px;margin-bottom:12px}.upload-drop{height:160px;display:grid;place-items:center;align-content:center;gap:5px;border:2px dashed rgba(36,90,244,.28);border-radius:14px;background:var(--color-bg);text-align:center}.upload-drop img{width:42px}.upload-drop span{font-size:.78rem;color:var(--color-muted)}
.auth-page{min-height:calc(100vh - 76px);display:grid;grid-template-columns:1fr 1.15fr}.auth-showcase{position:relative;display:grid;place-items:center;padding:50px;background:linear-gradient(145deg,#03132e,#0a3270);overflow:hidden}.auth-showcase::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 65%,rgba(247,184,36,.14),transparent 22%),linear-gradient(180deg,transparent,rgba(3,12,29,.35))}.auth-showcase__content{position:relative;text-align:center;color:white;max-width:470px}.brand--light{justify-content:center;margin-bottom:45px}.brand--light .brand__text{color:white}.auth-pin{width:125px;height:155px;margin:0 auto 28px;position:relative}.auth-pin::before{content:"";position:absolute;inset:0;border-radius:50% 50% 50% 18%;transform:rotate(-45deg);background:var(--core-yellow);box-shadow:0 0 70px rgba(247,184,36,.35)}.auth-pin span{position:absolute;z-index:2;width:45px;height:45px;top:35px;left:40px;border:12px solid #071426;border-radius:50%}.auth-showcase h1,.auth-showcase p{color:#fff}.auth-showcase p{opacity:.72}.auth-form-wrap{display:grid;place-items:center;padding:40px;background:var(--color-bg)}.auth-card-v2{width:min(100%,500px);padding:34px;border-radius:18px;border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-soft)}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--color-border);margin-bottom:25px}.auth-tabs a{text-align:center;padding:12px;font-weight:900;position:relative}.auth-tabs .is-active{color:var(--core-blue)}.auth-tabs .is-active::after{content:"";position:absolute;bottom:-1px;right:0;left:0;height:3px;background:var(--core-blue)}.password-field{position:relative}.password-field>img{position:absolute;left:13px;bottom:13px;width:20px}.auth-options{display:flex;justify-content:space-between;gap:10px;font-size:.82rem}.auth-options label{display:flex;align-items:center;gap:6px}.auth-options input{width:auto;min-height:auto}.auth-options a,.auth-bottom a{color:var(--core-blue);font-weight:900}.social-auth{display:flex;justify-content:center;gap:13px}.social-auth button{width:48px;height:48px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:50%;background:var(--color-surface)}.social-auth img{width:24px}.auth-bottom{text-align:center;color:var(--color-muted)}
.dashboard-page{padding:25px 0 60px}.dashboard-shell{display:grid;grid-template-columns:245px minmax(0,1fr);gap:18px}.dashboard-sidebar-v2{position:sticky;top:96px;padding:18px;border-radius:16px;background:linear-gradient(180deg,#071c42,#082653);color:white;min-height:680px}.dashboard-profile{display:flex;align-items:center;gap:10px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.1)}.dashboard-profile small{display:block;color:rgba(255,255,255,.55)}.dashboard-sidebar-v2 nav{display:grid;gap:5px;margin-top:15px}.dashboard-sidebar-v2 nav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;color:rgba(255,255,255,.72);font-weight:850}.dashboard-sidebar-v2 nav a:hover,.dashboard-sidebar-v2 nav a.is-active{background:rgba(36,90,244,.45);color:white}.dashboard-sidebar-v2 img{width:21px;height:21px;filter:brightness(0) invert(1)}.dashboard-welcome{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.dashboard-welcome h1{font-size:2rem}.dashboard-welcome p{color:var(--color-muted)}.dashboard-metrics{grid-template-columns:repeat(4,1fr)}.dashboard-card{padding:18px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);box-shadow:var(--shadow-card)}.dashboard-card__icon{width:43px;height:43px;display:grid;place-items:center;border-radius:12px;background:rgba(36,90,244,.09)}.dashboard-card__icon img{width:23px}.dashboard-card strong{display:block;font-size:1.7rem;margin-top:8px}.dashboard-content-grid{display:grid;grid-template-columns:1.4fr .8fr;gap:16px;margin:16px 0}.panel-title{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:18px}.panel-title p{color:var(--color-muted);font-size:.82rem}.fake-chart{height:220px;display:flex;align-items:end;gap:13px;padding:25px 10px 5px;border-bottom:1px solid var(--color-border);background:repeating-linear-gradient(180deg,transparent,transparent 52px,var(--color-border) 53px)}.fake-chart span{flex:1;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,#4c80ff,#1d55e5)}.activity-item{display:flex;align-items:center;gap:11px;padding:13px 0;border-bottom:1px solid var(--color-border)}.activity-item>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:rgba(36,90,244,.09)}.activity-item img{width:22px}.activity-item small{display:block;color:var(--color-muted)}.business-table-panel{margin-top:0}
.site-footer{padding-block:45px 18px}.site-footer__grid{grid-template-columns:1.35fr repeat(3,.7fr);gap:35px}.footer-brand{max-width:360px}.social-links{margin-top:8px}.footer-links{gap:7px}.footer-links a,.footer-links span{color:var(--color-muted);font-size:.88rem}
:root[data-theme=light]{--map-image:url('../images/maps/map-kabul-light.png');--map-overlay:rgba(255,255,255,.06);--map-bg:#e8edf4}
:root[data-theme=dark]{--map-image:url('../images/maps/map-kabul-dark.png');--map-overlay:rgba(2,10,23,.05);--map-bg:#071426}.dark-theme-fix{color:white}
:root[data-theme=dark] .home-hero::before{opacity:.21;filter:saturate(.65) brightness(.55)}:root[data-theme=dark] .how-icon{background:#122743}:root[data-theme=dark] .how-grid article>span{background:#112a50}:root[data-theme=dark] .category-card__icon,:root[data-theme=dark] .dashboard-card__icon{background:#112949}:root[data-theme=dark] .leaflet-tile{filter:brightness(.65) contrast(1.1) saturate(.7)}
@media(max-width:1120px){.header-register{display:none}.desktop-nav{gap:1.2rem}.category-strip{grid-template-columns:repeat(5,1fr)}.featured-grid{grid-template-columns:repeat(2,1fr)}.search-layout{grid-template-columns:1fr}.map-panel{order:-1}.core-map{height:440px}.results-search{grid-template-columns:1fr 1fr}.results-search__query{grid-column:1/-1}.results-search .button,.results-search .location-control{width:100%}.business-overview{grid-template-columns:1fr}.details-main-grid{grid-template-columns:1fr 1fr}.details-main-grid>.details-card:first-child{grid-column:1/-1}.register-layout{grid-template-columns:1fr}.dashboard-shell{grid-template-columns:1fr}.dashboard-sidebar-v2{position:static;min-height:auto}.dashboard-sidebar-v2 nav{grid-template-columns:repeat(4,1fr)}.dashboard-sidebar-v2 nav a{justify-content:center}.dashboard-profile{display:none}}
@media(max-width:820px){body{padding-bottom:74px}.site-header{height:68px}.site-header__inner{min-height:68px}.desktop-nav,.login-button{display:none}.mobile-menu-button{display:inline-flex}.brand__text{font-size:1.5rem}.home-hero{min-height:500px;padding-top:50px}.hero-search{grid-template-columns:1fr}.hero-search__input{border:1px solid var(--color-border);border-radius:10px}.hero-search__button,.location-control{width:100%}.category-strip{grid-template-columns:repeat(3,1fr)}.featured-grid{grid-template-columns:1fr 1fr}.how-grid{grid-template-columns:1fr}.owner-cta__box{flex-direction:column;align-items:flex-start;padding:30px}.results-search{grid-template-columns:1fr}.results-search__query{grid-column:auto}.result-list .business-card{grid-template-columns:120px 1fr}.core-map{height:380px}.business-cover-large{height:260px}.business-summary h1{font-size:1.8rem}.business-action-row{grid-template-columns:1fr 1fr}.business-action-row .button:first-child{grid-column:1/-1}.details-main-grid{grid-template-columns:1fr}.details-main-grid>.details-card:first-child{grid-column:auto}.services-grid{grid-template-columns:repeat(2,1fr)}.registration-stepper{padding:14px 10px}.registration-stepper strong,.registration-stepper small{display:none}.registration-stepper>div{grid-template-columns:1fr}.registration-stepper span{margin:auto}.registration-stepper>div:not(:last-child)::after{left:-45%;width:90%}.auth-page{grid-template-columns:1fr}.auth-showcase{display:none}.auth-form-wrap{padding:24px 15px}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-content-grid{grid-template-columns:1fr}.dashboard-sidebar-v2 nav{grid-template-columns:repeat(2,1fr)}.site-footer__grid{grid-template-columns:1fr 1fr}.mobile-bottom-nav{right:0;left:0;bottom:0;border-radius:18px 18px 0 0;border-inline:0;border-bottom:0}}
@media(max-width:560px){.container{width:min(calc(100% - 22px),var(--container-width))}.home-hero h1{font-size:2.25rem}.home-hero>div>p{font-size:.92rem}.popular-searches span{width:100%}.category-strip{grid-template-columns:repeat(2,1fr)}.featured-grid{grid-template-columns:1fr}.section-title-row{align-items:flex-start}.section-title-row a{font-size:.78rem}.search-page__heading{text-align:right}.search-page__heading h1{font-size:1.7rem}.results-toolbar{align-items:flex-start}.sort-select{display:none}.results-panel,.map-panel{padding:9px}.result-list .business-card{grid-template-columns:105px 1fr}.result-list .business-card__meta span:nth-child(2){display:none}.result-list .business-card__body>p{display:none}.core-map{height:320px}.business-overview{padding:10px}.business-cover-large{height:220px}.business-summary__header{flex-direction:column-reverse}.business-summary__logo{width:64px;height:64px}.business-contact-strip{grid-template-columns:1fr}.services-grid{grid-template-columns:1fr 1fr}.gallery-row{grid-template-columns:1fr 1fr}.register-card,.register-map-card,.upload-card{padding:15px}.form-grid{grid-template-columns:1fr}.registration-stepper{margin-inline:-3px}.auth-card-v2{padding:22px 17px}.dashboard-welcome{align-items:flex-start}.dashboard-welcome .button{display:none}.dashboard-metrics{grid-template-columns:1fr 1fr}.dashboard-sidebar-v2{display:none}.site-footer__grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.business-action-row{grid-template-columns:1fr}.business-action-row .button:first-child{grid-column:auto}}

.business-card__meta span{padding:0;background:none;border:0}
/* Core brand asset */
.brand{display:inline-flex;align-items:center;min-width:auto;line-height:1}
.brand picture{display:block;line-height:0}
.brand__logo{display:block;width:118px;height:auto;max-height:42px;object-fit:contain}
.site-footer .brand__logo,.brand--light .brand__logo{width:132px}
[data-theme="dark"] .site-header .brand__logo,[data-theme="dark"] .mobile-drawer .brand__logo,[data-theme="dark"] .site-footer .brand__logo{content:url('../images/brand/hasta-logo-light.svg')}
[data-theme="light"] .site-footer .brand__logo{content:url('../images/brand/hasta-logo-dark.svg')}
@media(max-width:560px){.brand__logo{width:102px}}

/* Theme-aware Core logo */
.brand__logo--light{display:none}
[data-theme="dark"] .brand__logo--dark{display:none}
[data-theme="dark"] .brand__logo--light{display:block}
.brand--light .brand__logo--dark{display:none}
.brand--light .brand__logo--light{display:block}

/* assets/css/backend.css */
.button--small{min-height:36px;padding:.45rem .75rem;border-radius:10px;font-size:.82rem}.backend-notice{padding:1rem;border:1px solid rgba(245,158,11,.35);background:rgba(245,158,11,.09);border-radius:14px;margin-bottom:1rem}.upload-input{padding:.7rem;background:var(--color-surface-secondary)}.review-form{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.review-stars{display:flex;gap:.4rem}.review-stars label{cursor:pointer}.review-stars input{width:auto;min-height:auto}.api-loading{opacity:.65;pointer-events:none}.business-actions-inline{display:flex;gap:.4rem;flex-wrap:wrap}.status-pill.is-pending{color:#b7791f;background:rgba(245,158,11,.12)}.status-pill.is-rejected{color:var(--core-danger);background:rgba(239,68,68,.12)}
/* فرم‌های پایدار و بازخورد دقیق */
.field-error{display:block;margin-top:.38rem;color:var(--core-danger);font-size:.78rem;font-weight:800}
[aria-invalid="true"]{border-color:var(--core-danger)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--core-danger) 13%,transparent)!important}
.form-help{margin-top:-.45rem;color:var(--color-muted);font-size:.78rem}
.upload-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:10px}.upload-preview__item{overflow:hidden;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.upload-preview__item img{width:100%;height:82px;object-fit:cover}.upload-preview__item span{display:block;padding:6px 8px;font-size:.68rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-muted)}
/* لوگوی واقعی هسته: نشانه ارسالی کاربر + نام فارسی */
.brand{gap:.62rem;direction:rtl}
.brand__mark-image{display:block;width:40px;height:40px;object-fit:contain;border-radius:9px;flex:0 0 auto}
.brand__word{display:block;color:var(--color-heading);font-size:1.62rem;font-weight:950;line-height:1;letter-spacing:-.055em;direction:rtl}
.brand--light .brand__word{color:#fff}
[data-theme="dark"] .site-header .brand__word,[data-theme="dark"] .mobile-drawer .brand__word,[data-theme="dark"] .site-footer .brand__word{color:#fff}
.site-footer .brand__mark-image,.brand--light .brand__mark-image{width:44px;height:44px}
@media(max-width:560px){.brand__mark-image{width:35px;height:35px;border-radius:8px}.brand__word{font-size:1.4rem}}
.auth-pin--hasta{width:132px;height:132px;display:grid;place-items:center;margin:0 auto 30px}
.auth-pin--hasta::before{display:none!important}.auth-pin--hasta img{position:relative;z-index:2;width:118px;height:118px;object-fit:contain;border-radius:24px;box-shadow:0 22px 60px rgba(247,184,36,.28)}


/* هسته v5.2 — ترتیب نشان برند و خانواده محصولات */
.brand{direction:rtl}
.hasteh-family{overflow:hidden}
.hasteh-family .section-heading-center{max-width:720px;margin-inline:auto;margin-bottom:1.8rem}
.hasteh-family__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.hasteh-brand-card{
  position:relative;
  min-height:190px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:24px;
  border:1px solid var(--color-border);
  border-radius:22px;
  background:
    radial-gradient(circle at 20% 15%,rgba(36,90,244,.10),transparent 36%),
    var(--color-surface);
  box-shadow:var(--shadow-card);
}
.hasteh-brand-card::after{
  content:"";
  position:absolute;
  width:130px;
  height:130px;
  left:-58px;
  bottom:-62px;
  border:22px solid rgba(247,184,36,.12);
  border-radius:50%;
}
.brand-family-logo{
  position:relative;
  z-index:1;
  display:block;
  width:min(100%,300px);
  max-height:125px;
  object-fit:contain;
}
.brand-family-logo--creative-light{display:none}
.brand-family-logo--job{max-width:190px;max-height:130px}
.hasteh-brand-card--symbol{padding:16px;background:#082b68}
.brand-family-logo--symbol{width:150px;height:150px;max-height:none;border-radius:22px;object-fit:cover}
[data-theme="dark"] .hasteh-brand-card{
  background:
    radial-gradient(circle at 20% 15%,rgba(36,90,244,.15),transparent 36%),
    var(--color-surface);
}
[data-theme="dark"] .brand-family-logo--creative-dark{display:none}
[data-theme="dark"] .brand-family-logo--creative-light{display:block}
.site-footer{padding-bottom:28px}
@media(max-width:820px){
  .hasteh-family__grid{grid-template-columns:1fr 1fr}
  .hasteh-brand-card:last-child{grid-column:1/-1}
}
@media(max-width:560px){
  .brand{direction:rtl}
  .hasteh-family__grid{grid-template-columns:1fr}
  .hasteh-brand-card,.hasteh-brand-card:last-child{grid-column:auto;min-height:150px}
  .brand-family-logo{max-height:100px}
  .brand-family-logo--job{max-width:155px}
  .brand-family-logo--symbol{width:118px;height:118px;max-height:none}
}

/* Hasteh v6.6 — dedicated admin login and management panels */
.admin-login-page{min-height:100vh;background:radial-gradient(circle at 20% 10%,rgba(23,105,255,.18),transparent 30rem),var(--color-page,#f4f7fb)}
.admin-login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.admin-login-card{width:min(100%,440px);padding:34px;border:1px solid var(--color-border);border-radius:26px;background:var(--color-surface);box-shadow:0 24px 70px rgba(7,20,38,.15)}
.admin-login-brand{display:inline-flex;align-items:center;gap:10px;margin-bottom:28px;color:var(--color-heading);text-decoration:none}.admin-login-brand img{width:52px;height:52px;border-radius:14px}.admin-login-brand strong{font-size:1.7rem}.admin-login-card h1{margin:.35rem 0}.admin-back-link{display:inline-block;margin-top:18px}.form-message.is-error{color:var(--core-danger)}
.admin-body{min-height:100vh;background:var(--color-page,#f4f7fb)}
.admin-shell{min-height:100vh;display:grid;grid-template-columns:260px minmax(0,1fr)}
.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:22px 16px;background:#071426;color:#fff;z-index:30}
.admin-brand{display:flex;align-items:center;gap:12px;padding:4px 8px 22px;color:#fff;text-decoration:none}.admin-brand img{width:46px;height:46px;border-radius:12px}.admin-brand span{display:grid}.admin-brand strong{font-size:1.35rem}.admin-brand small{color:#aebad0}
.admin-nav{display:grid;gap:7px}.admin-nav button{width:100%;border:0;border-radius:12px;padding:12px 14px;background:transparent;color:#c9d3e4;font:inherit;font-weight:700;text-align:right;cursor:pointer}.admin-nav button:hover,.admin-nav button.is-active{background:rgba(255,255,255,.10);color:#fff}.admin-nav button.is-active{box-shadow:inset -3px 0 #ffbd20}
.admin-sidebar-footer{margin-top:auto;display:grid;gap:9px}.admin-sidebar-footer .button{width:100%}
.admin-main{min-width:0;padding:28px clamp(18px,3vw,42px) 50px}.admin-topbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.admin-topbar h1{margin:.25rem 0 0}.admin-user-chip{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface)}.admin-user-chip>span{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#1769ff;color:#fff;font-weight:900}.admin-user-chip div{display:grid}.admin-user-chip small{color:var(--color-muted)}
.admin-panel{display:none}.admin-panel.is-active{display:grid;gap:20px}
.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-metric{display:grid;gap:7px;padding:19px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-card)}.admin-metric span,.admin-metric small{color:var(--color-muted)}.admin-metric strong{font-size:1.75rem;color:var(--color-heading)}
.admin-two-column{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:20px}.admin-two-column--form{align-items:start}.admin-card{min-width:0;padding:22px;border:1px solid var(--color-border);border-radius:20px;background:var(--color-surface);box-shadow:var(--shadow-card)}.admin-card-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}.admin-card-title h2{margin:0;font-size:1.08rem}.admin-card-title p{margin:.35rem 0 0;color:var(--color-muted);font-size:.86rem}.admin-card-title--search input{width:min(100%,320px);min-height:42px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-secondary);color:var(--color-text);padding:0 13px;font:inherit}
.admin-chart{height:230px;display:flex;align-items:end;gap:5px;padding-top:20px;border-bottom:1px solid var(--color-border);overflow:hidden}.admin-chart-day{height:100%;min-width:7px;flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px}.admin-chart-day i{width:100%;min-height:4px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#1769ff,#64a0ff)}.admin-chart-day span{font-size:.55rem;color:var(--color-muted)}
.admin-stat-list{display:grid;gap:9px}.admin-stat-list div{display:flex;align-items:center;justify-content:space-between;padding:12px 13px;border-radius:12px;background:var(--color-surface-secondary)}.admin-stat-list strong{font-size:1.05rem}.compact-list{display:grid;gap:8px}.compact-list-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--color-border)}.compact-list-row:last-child{border-bottom:0}.compact-list-row span{display:grid}.compact-list-row small,.compact-list-row time{color:var(--color-muted);font-size:.76rem}
.admin-form{display:grid;gap:14px}.admin-form .field{display:grid;gap:7px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;min-height:45px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-secondary);color:var(--color-text);padding:10px 12px;font:inherit}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-help-list{display:grid;gap:10px}.admin-help-list p{margin:0;padding:12px;border-radius:12px;background:var(--color-surface-secondary);line-height:1.8}
.admin-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.73rem;font-weight:800;background:#eef2f7;color:#445}.admin-status.is-active,.admin-status.is-approved{background:#e8fff2;color:#087443}.admin-status.is-paused,.admin-status.is-pending,.admin-status.is-draft{background:#fff7e6;color:#9a5b00}.admin-status.is-ended,.admin-status.is-suspended,.admin-status.is-rejected{background:#fff0f0;color:#b42318}.admin-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-actions button{border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-secondary);color:var(--color-text);padding:7px 9px;font:inherit;font-size:.72rem;cursor:pointer}.admin-actions button:hover{border-color:#1769ff}.admin-actions button.is-danger{color:#b42318}.table-sub{display:block;margin-top:4px;color:var(--color-muted);font-size:.72rem}.admin-user-cell{display:flex;align-items:center;gap:9px}.admin-user-cell>span{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#1769ff;color:#fff;font-weight:900;overflow:hidden}.admin-user-cell img{width:100%;height:100%;object-fit:cover}.admin-user-cell div{display:grid}.admin-user-cell small{color:var(--color-muted);font-size:.65rem}.limit-control{display:grid;gap:4px}.limit-control input{width:70px;min-height:34px;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface-secondary);color:var(--color-text);padding:4px 8px}.limit-control small{color:var(--color-muted)}
.sponsored-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;background:#fff3cd;color:#7a5200;font-size:.7rem;font-weight:900}.business-card.is-sponsored{outline:1px solid rgba(255,189,32,.55)}
@media(max-width:1100px){.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-two-column{grid-template-columns:1fr}.admin-shell{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){.admin-shell{display:block}.admin-sidebar{position:relative;height:auto;padding:14px}.admin-brand{padding-bottom:12px}.admin-nav{display:flex;overflow:auto;padding-bottom:6px}.admin-nav button{min-width:max-content;text-align:center}.admin-sidebar-footer{grid-template-columns:1fr 1fr;margin-top:10px}.admin-main{padding:18px 12px 36px}.admin-topbar{align-items:flex-start}.admin-user-chip div{display:none}.admin-metrics{grid-template-columns:1fr 1fr;gap:10px}.admin-card{padding:15px}.admin-card-title--search{display:grid}.admin-card-title--search input{width:100%}.form-row{grid-template-columns:1fr}.table-wrap{overflow:auto}.data-table{min-width:860px}.admin-chart{height:190px}}
@media(max-width:430px){.admin-metrics{grid-template-columns:1fr}.admin-topbar h1{font-size:1.35rem}.admin-login-card{padding:24px}.admin-user-chip{display:none}}

/* Hasteh v6.17 — dedicated multi-business permission administration */
.business-permission-layout{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr)}
.permission-user-list{display:grid;gap:10px;max-height:620px;overflow:auto;padding-inline-end:4px}
.permission-user-row{display:grid;grid-template-columns:minmax(210px,1fr) auto auto;align-items:center;gap:14px;padding:13px;border:1px solid var(--color-border);border-radius:15px;background:var(--color-surface-secondary);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.permission-user-row:hover{border-color:rgba(23,105,255,.45);transform:translateY(-1px)}
.permission-user-row.is-selected{border-color:#1769ff;box-shadow:0 0 0 3px rgba(23,105,255,.10)}
.permission-user-main{min-width:0;display:flex;align-items:center;gap:10px}
.permission-user-main>span{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border-radius:12px;background:#1769ff;color:#fff;font-weight:900}
.permission-user-main img{width:100%;height:100%;object-fit:cover}
.permission-user-main div{min-width:0;display:grid;gap:2px}
.permission-user-main strong,.permission-user-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.permission-user-main small{color:var(--color-muted);font-size:.74rem;direction:ltr;text-align:right}
.permission-user-capacity{display:grid;grid-template-columns:repeat(3,max-content);align-items:center;gap:6px}
.permission-user-capacity span{padding:5px 8px;border-radius:999px;background:var(--color-surface);color:var(--color-muted);font-size:.68rem;font-weight:800;white-space:nowrap}
.permission-user-capacity .has-space{background:#e8fff2;color:#087443}
.permission-user-capacity .is-full{background:#fff2e8;color:#a04400}
.permission-user-row>button,.permission-quick-actions button{border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text);padding:8px 11px;font:inherit;font-size:.76rem;font-weight:800;cursor:pointer}
.permission-user-row.is-selected>button{border-color:#1769ff;background:#1769ff;color:#fff}
.permission-empty-list,.permission-empty-state{padding:28px 18px;border:1px dashed var(--color-border);border-radius:16px;text-align:center;color:var(--color-muted)}
.permission-empty-state{min-height:330px;display:grid;place-content:center;justify-items:center;gap:8px}
.permission-empty-state>span{width:62px;height:62px;display:grid;place-items:center;border-radius:18px;background:rgba(23,105,255,.10);color:#1769ff;font-size:2rem;font-weight:500}
.permission-empty-state h2,.permission-empty-state p{margin:0}.permission-empty-state p{max-width:390px;line-height:1.9}
.permission-selected-user{display:flex;align-items:center;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--color-border)}
.permission-selected-user>span{width:52px;height:52px;display:grid;place-items:center;border-radius:15px;background:#1769ff;color:#fff;font-size:1.25rem;font-weight:900}
.permission-selected-user div{display:grid;gap:3px}.permission-selected-user h2,.permission-selected-user p{margin:0}.permission-selected-user p{color:var(--color-muted);direction:ltr;text-align:right}
.permission-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.permission-stats div{display:grid;gap:5px;padding:13px;border-radius:14px;background:var(--color-surface-secondary);text-align:center}
.permission-stats span{color:var(--color-muted);font-size:.72rem}.permission-stats strong{font-size:1.35rem;color:var(--color-heading)}
.business-permission-editor .field small{color:var(--color-muted);line-height:1.7}
.permission-quick-actions{display:grid;gap:9px;padding-top:14px;border-top:1px solid var(--color-border)}
.permission-quick-actions>span{font-size:.82rem;font-weight:800}.permission-quick-actions>div{display:flex;flex-wrap:wrap;gap:8px}
.permission-quick-actions button:hover{border-color:#1769ff;color:#1769ff}.permission-quick-actions button:disabled{opacity:.55;cursor:wait}
.permission-help-grid{grid-template-columns:repeat(3,1fr)}
@media(max-width:1100px){.business-permission-layout{grid-template-columns:1fr}.permission-help-grid{grid-template-columns:1fr}}
@media(max-width:760px){.permission-user-row{grid-template-columns:1fr auto}.permission-user-capacity{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}.permission-user-capacity span{text-align:center}.permission-stats{grid-template-columns:1fr}.permission-user-list{max-height:none}}
@media(max-width:460px){.permission-user-row{grid-template-columns:1fr}.permission-user-row>button{width:100%}.permission-user-capacity{grid-template-columns:1fr 1fr}.permission-user-capacity span:last-child{grid-column:1/-1}.permission-quick-actions>div{display:grid;grid-template-columns:1fr}.permission-quick-actions button{width:100%}}

/* assets/css/v5.2.css */
/* هسته v5.2 — بهبود موبایل، برند، ایمیل و فوتر */

/* نشانه لوگو در سمت راست نام هسته */
.brand{
  direction:rtl;
  flex-direction:row;
}
.brand__word{direction:rtl}

/* خانواده برندهای هسته */
.footer-family{
  display:grid;
  grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);
  align-items:center;
  gap:1.5rem;
  padding-bottom:2rem;
  margin-bottom:2.2rem;
  border-bottom:1px solid var(--color-border);
}
.footer-family__heading{display:grid;gap:.3rem}
.footer-family__heading h2{font-size:clamp(1.15rem,2vw,1.55rem)}
.footer-family__logos{
  display:grid;
  grid-template-columns:minmax(220px,1.5fr) minmax(150px,.75fr) minmax(100px,.55fr);
  gap:1rem;
  align-items:center;
}
.footer-family__logo{
  min-height:112px;
  display:grid;
  place-items:center;
  padding:1rem;
  overflow:hidden;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:var(--color-surface-secondary);
}
.family-logo{display:block;max-width:100%;max-height:82px;width:auto;height:auto;object-fit:contain}
.footer-family__logo--wide .family-logo{max-height:68px}
.footer-family__logo--symbol .family-logo{width:88px;height:88px;max-height:none;border-radius:16px}
.family-logo--dark{display:none}
:root[data-theme="dark"] .family-logo--light{display:none}
:root[data-theme="dark"] .family-logo--dark{display:block}

/* بخش معرفی خانواده هسته در صفحه درباره */
.hasteh-family{overflow:hidden}
.hasteh-family .section-heading-center{max-width:720px;margin-inline:auto;margin-bottom:1.8rem}
.hasteh-family__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.hasteh-brand-card{
  min-height:180px;
  display:grid;
  place-items:center;
  overflow:hidden;
  padding:22px;
  border:1px solid var(--color-border);
  border-radius:20px;
  background:var(--color-surface);
  box-shadow:var(--shadow-card);
}
.brand-family-logo{display:block;width:min(100%,300px);max-height:120px;object-fit:contain}
.brand-family-logo--creative-dark{display:none}
.brand-family-logo--job{max-width:185px}
.hasteh-brand-card--symbol{background:#082b68}
.brand-family-logo--symbol{width:140px;height:140px;max-height:none;border-radius:18px;object-fit:cover}
:root[data-theme="dark"] .brand-family-logo--creative-light{display:none}
:root[data-theme="dark"] .brand-family-logo--creative-dark{display:block}

/* فوتر فقط در صفحات عمومی؛ بخش کپی‌رایت حذف شده است */
.site-footer{padding-block:2.5rem 2.8rem}
.site-footer__grid{align-items:start}
.site-footer .footer-links a[href^="mailto:"]{
  direction:ltr;
  text-align:right;
  color:var(--core-blue);
  font-weight:850;
}

@media(max-width:820px){
  .footer-family{grid-template-columns:1fr;gap:1rem}
  .footer-family__logos{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hasteh-family__grid{grid-template-columns:1fr 1fr}
  .hasteh-brand-card:last-child{grid-column:1/-1}
}

@media(max-width:560px){
  /* تیتر مناسب و جمع‌وجور در نمایش تلفون */
  .home-hero--landmarks{
    min-height:600px;
    padding-top:32px;
    padding-bottom:46px;
  }
  .home-hero--landmarks .home-hero__inner{gap:11px}
  .home-hero--landmarks h1{
    max-width:340px;
    margin-inline:auto;
    font-size:clamp(1.62rem,7.25vw,1.82rem);
    line-height:1.48;
    letter-spacing:-.65px;
  }
  .home-hero--landmarks .home-hero__inner>p{
    max-width:340px;
    margin-inline:auto;
    font-size:.79rem;
    line-height:1.85;
  }
  .home-hero--landmarks .hero-badge{
    max-width:100%;
    padding:6px 10px;
    font-size:.73rem;
    white-space:nowrap;
  }

  /* ورودی و هر دو دکمه در یک ردیف */
  .home-hero--landmarks .hero-search{
    display:grid;
    grid-template-columns:minmax(0,1fr) 88px 88px!important;
    align-items:stretch;
    gap:6px;
    padding:8px;
    border-radius:16px;
  }
  .home-hero--landmarks .hero-search__input{
    grid-column:auto;
    min-width:0;
    padding-inline:8px;
    border:0;
    border-radius:10px;
  }
  .home-hero--landmarks .hero-search__input input{
    min-width:0;
    font-size:.75rem;
  }
  .home-hero--landmarks .hero-search .location-control,
  .home-hero--landmarks .hero-search .hero-search__button{
    grid-column:auto;
    width:auto;
    min-width:0;
    min-height:46px;
    padding-inline:7px;
    font-size:.72rem;
    white-space:nowrap;
  }
  .home-hero--landmarks .hero-search .location-control img,
  .home-hero--landmarks .hero-search .hero-search__button img{
    width:17px;
    height:17px;
    flex:0 0 auto;
  }

  .popular-searches{margin-top:2px;gap:6px}
  .popular-searches span{font-size:.74rem}
  .popular-searches button{padding:5px 10px;font-size:.72rem}

  .footer-family__logos{grid-template-columns:1fr 1fr}
  .footer-family__logo--wide{grid-column:1/-1}
  .footer-family__logo{min-height:96px;padding:.75rem}
  .family-logo{max-height:65px}
  .footer-family__logo--symbol .family-logo{width:70px;height:70px}

  .hasteh-family__grid{grid-template-columns:1fr}
  .hasteh-brand-card,.hasteh-brand-card:last-child{grid-column:auto;min-height:145px}
  .brand-family-logo{max-height:95px}
  .brand-family-logo--job{max-width:150px}
  .brand-family-logo--symbol{width:112px;height:112px;max-height:none}
}

@media(max-width:410px){
  .home-hero--landmarks h1{font-size:1.56rem}
  .home-hero--landmarks .hero-search{
    grid-template-columns:minmax(0,1fr) 46px 46px!important;
  }
  .home-hero--landmarks .location-control span,
  .home-hero--landmarks .hero-search__button span{display:none}
  .home-hero--landmarks .hero-search .location-control,
  .home-hero--landmarks .hero-search .hero-search__button{padding:0}
}

/* assets/css/v5.3.css */
/* هسته v5.3 — فقط اصلاحات درخواستی فونت و نمایش موبایل */

/* فونت اصلی سایت از Google Fonts */
:root{
  --font-main:"Estedad",Tahoma,Arial,sans-serif;
  --font-base:"Estedad",Tahoma,Arial,sans-serif;
}
html,body,button,input,select,textarea{
  font-family:var(--font-main);
}

/* لوگوهای خانواده هسته در پایان فوتر */
.site-footer__grid{
  margin-bottom:2rem;
}
.footer-family{
  margin-top:0;
  margin-bottom:0;
  padding-top:2rem;
  padding-bottom:0;
  border-top:1px solid var(--color-border);
  border-bottom:0;
}

/* در تم دارک، آیکن ذخیره روی کارت سیاه باشد */
:root[data-theme="dark"] .save-button img{
  filter:brightness(0) saturate(100%);
}

@media(max-width:760px){
  /* این بخش طبق درخواست در نمایش تلفون پنهان است */
  .home-categories{
    display:none!important;
  }

  /* بخش سه مرحله‌ای در تلفون کوچک و جمع‌وجور */
  .how-section{
    padding:26px 0;
  }
  .how-section .section-heading-center{
    margin-bottom:14px;
  }
  .how-section .section-kicker{
    font-size:.7rem;
  }
  .how-section .section-heading-center h2{
    max-width:300px;
    margin-inline:auto;
    font-size:1.08rem;
    line-height:1.55;
  }
  .how-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
  }
  .how-grid article{
    min-width:0;
    padding:9px 4px 6px;
    border:1px solid var(--color-border);
    border-radius:14px;
    background:var(--color-surface-secondary);
  }
  .how-grid article>span{
    top:4px;
    right:7px;
    width:19px;
    height:19px;
    font-size:.62rem;
  }
  .how-icon{
    width:43px;
    height:43px;
    margin:0 auto 7px;
  }
  .how-icon img{
    width:22px;
    height:22px;
  }
  .how-grid h3{
    margin-bottom:3px;
    font-size:.76rem;
  }
  .how-grid p{
    display:none;
  }

  /* کارت‌های کسب‌وکار صفحه اصلی در موبایل به حالت لیستی و کوچک */
  .featured-section{
    padding-block:2rem;
  }
  .featured-section .section-title-row{
    align-items:center;
    margin-bottom:13px;
  }
  .featured-section .section-title-row h2{
    font-size:1.05rem;
  }
  .featured-section .section-title-row a{
    font-size:.72rem;
  }
  .featured-grid{
    grid-template-columns:1fr!important;
    gap:9px;
  }
  .cards-grid .business-card{
    display:grid;
    grid-template-columns:108px minmax(0,1fr);
    min-height:118px;
    border-radius:14px;
    box-shadow:none;
  }
  .cards-grid .business-card:hover{
    transform:none;
  }
  .cards-grid .business-card__cover{
    height:100%;
    min-height:118px;
  }
  .cards-grid .business-card__cover::after{
    background:linear-gradient(90deg,transparent 45%,rgba(3,12,27,.2));
  }
  .cards-grid .save-button{
    top:7px;
    left:7px;
    width:31px;
    height:31px;
  }
  .cards-grid .save-button img{
    width:16px;
    height:16px;
  }
  .cards-grid .business-card__body{
    align-content:center;
    gap:4px;
    padding:10px 11px;
  }
  .cards-grid .business-card__title-row{
    gap:5px;
  }
  .cards-grid .business-card__title-row h3{
    font-size:.85rem;
    line-height:1.55;
  }
  .cards-grid .status-pill{
    padding:2px 6px;
    font-size:.62rem;
  }
  .cards-grid .business-card__body>p{
    margin:1px 0;
    font-size:.7rem;
    line-height:1.6;
    -webkit-line-clamp:1;
  }
  .cards-grid .business-card__meta{
    gap:4px;
    font-size:.62rem;
  }
  .cards-grid .business-card__meta span{
    padding:0;
    border:0;
    background:transparent;
  }
  .cards-grid .business-card__meta span:nth-child(2){
    display:none;
  }
  .cards-grid .business-card__footer{
    margin-top:2px;
    padding-top:5px;
    font-size:.68rem;
  }
  .cards-grid .business-card__footer .text-link{
    font-size:.68rem;
  }

  /* فوتر موبایل کوچک‌تر و مرتب‌تر */
  .site-footer{
    padding-block:1.5rem 6rem;
  }
  .site-footer__grid{
    grid-template-columns:1fr 1fr;
    gap:1.1rem .8rem;
    margin-bottom:1.25rem;
  }
  .footer-brand{
    grid-column:1/-1;
    gap:.55rem;
  }
  .site-footer .brand__mark-image{
    width:34px;
    height:34px;
  }
  .site-footer .brand__word{
    font-size:1.1rem;
  }
  .site-footer h3{
    margin-bottom:.45rem;
    font-size:.82rem;
  }
  .site-footer p,
  .site-footer .footer-links,
  .site-footer .footer-links a,
  .site-footer .footer-links span{
    font-size:.7rem;
    line-height:1.75;
  }
  .site-footer .social-links{
    gap:.35rem;
  }
  .site-footer .social-links .icon-button{
    width:32px;
    height:32px;
  }
  .site-footer .social-links img{
    width:16px;
    height:16px;
  }
  .footer-family{
    grid-template-columns:1fr;
    gap:.75rem;
    padding-top:1.15rem;
  }
  .footer-family__heading{
    text-align:center;
  }
  .footer-family__heading h2{
    font-size:.88rem;
  }
  .footer-family__logos{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px;
  }
  .footer-family__logo,
  .footer-family__logo--wide{
    grid-column:auto;
    min-height:67px;
    padding:.4rem;
    border-radius:11px;
  }
  .family-logo,
  .footer-family__logo--wide .family-logo{
    max-height:43px;
  }
  .footer-family__logo--symbol .family-logo{
    width:45px;
    height:45px;
    border-radius:9px;
  }
}

@media(max-width:420px){
  .how-grid{
    gap:5px;
  }
  .how-grid article{
    padding-inline:2px;
  }
  .how-grid h3{
    font-size:.68rem;
  }
  .cards-grid .business-card{
    grid-template-columns:94px minmax(0,1fr);
    min-height:106px;
  }
  .cards-grid .business-card__cover{
    min-height:106px;
  }
  .cards-grid .business-card__body{
    padding:8px 9px;
  }
  .cards-grid .business-card__title-row h3{
    font-size:.78rem;
  }
  .cards-grid .business-card__body>p{
    display:none;
  }
  .site-footer__grid{
    gap:.85rem .65rem;
  }
}

/* assets/css/v5.6.css */
/* هسته v5.6 — فقط اصلاحات درخواستی دسته‌بندی موبایل، نشان تأیید، فوتر خانواده و متن هیرو */

/* نشان تأیید آبی ارسالی کاربر */
.verified-badge-image{
  display:inline-block;
  flex:0 0 auto;
  width:19px;
  height:19px;
  margin-inline-start:3px;
  vertical-align:middle;
  object-fit:contain;
}
.business-card__title-row h3{
  display:flex;
  align-items:center;
  min-width:0;
  gap:4px;
}
.business-card__title-row h3 a{min-width:0}
.business-summary h1 .verified-badge-image{width:23px;height:23px}

/* متن توضیح بالای باکس جست‌وجو: واضح و با فاصله کافی */
.home-hero--landmarks .home-hero__inner > p:not(.location-message){
  position:relative;
  z-index:4;
  margin:2px 0 18px;
  color:#06142b!important;
  font-weight:720;
  text-shadow:0 1px 10px rgba(255,255,255,.72);
}
:root[data-theme="dark"] .home-hero--landmarks .home-hero__inner > p:not(.location-message){
  color:#ffbf00!important;
  text-shadow:0 2px 12px rgba(0,0,0,.82);
}
.home-hero--landmarks .hero-search{margin-top:0}

/* بخش لوگوهای خانواده هسته کوچک‌تر و متعادل‌تر */
.footer-family{
  grid-template-columns:minmax(170px,.42fr) minmax(0,1fr);
  gap:1rem;
  padding-top:1.25rem;
}
.footer-family__heading{gap:.16rem}
.footer-family__heading .section-kicker{font-size:.72rem}
.footer-family__heading h2{font-size:1.05rem}
.footer-family__logos{
  grid-template-columns:minmax(180px,1.25fr) minmax(125px,.68fr) minmax(72px,.42fr);
  gap:.65rem;
  max-width:720px;
}
.footer-family__logo{
  min-height:76px;
  padding:.55rem;
  border-radius:13px;
}
.family-logo{max-height:55px}
.footer-family__logo--wide .family-logo{max-height:43px}
.footer-family__logo--symbol .family-logo{
  width:52px;
  height:52px;
  border-radius:10px;
}

@media(max-width:760px){
  /* دسته‌بندی‌ها در تلفون: لیست کوچک، آیکن و متن در یک خط */
  .home-categories{
    display:block!important;
    padding:22px 0;
  }
  .home-categories .section-title-row{
    align-items:center;
    margin-bottom:12px;
  }
  .home-categories .section-title-row h2{font-size:1rem}
  .home-categories .section-title-row a{font-size:.7rem}
  .home-categories .section-kicker{font-size:.68rem}
  .home-categories .category-strip{
    grid-template-columns:1fr;
    gap:8px;
  }
  .home-categories .category-card{
    grid-template-columns:40px minmax(0,1fr) auto;
    grid-template-areas:"icon title count";
    align-items:center;
    justify-items:stretch;
    min-height:58px;
    padding:8px 10px;
    gap:10px;
    border-radius:13px;
    text-align:right;
    box-shadow:none;
  }
  .home-categories .category-card:hover{transform:none}
  .home-categories .category-card__icon{
    grid-area:icon;
    width:38px;
    height:38px;
    border-radius:10px;
  }
  .home-categories .category-card__icon img{width:21px;height:21px}
  .home-categories .category-card strong{
    grid-area:title;
    min-width:0;
    font-size:.82rem;
    line-height:1.45;
  }
  .home-categories .category-card .muted{display:none}
  .home-categories .category-card__count{
    grid-area:count;
    font-size:.65rem;
    white-space:nowrap;
  }

  .footer-family{
    gap:.7rem;
    padding-top:1rem;
  }
  .footer-family__heading h2{font-size:.82rem}
  .footer-family__logos{gap:5px}
  .footer-family__logo,
  .footer-family__logo--wide{
    min-height:58px;
    padding:.32rem;
    border-radius:10px;
  }
  .family-logo,
  .footer-family__logo--wide .family-logo{max-height:34px}
  .footer-family__logo--symbol .family-logo{width:38px;height:38px;border-radius:8px}

  .verified-badge-image{width:17px;height:17px}
}

@media(max-width:420px){
  .home-categories{padding:18px 0}
  .home-categories .category-card{
    grid-template-columns:36px minmax(0,1fr) auto;
    min-height:52px;
    padding:7px 9px;
    gap:8px;
  }
  .home-categories .category-card__icon{width:34px;height:34px}
  .home-categories .category-card__icon img{width:19px;height:19px}
  .home-categories .category-card strong{font-size:.76rem}
  .home-categories .category-card__count{font-size:.61rem}
  .home-hero--landmarks .home-hero__inner > p:not(.location-message){
    margin-bottom:14px;
    font-size:.76rem;
    line-height:1.75;
  }
}

/* assets/css/v5.7.css */
/* هسته v5.7 — فقط بازگردانی نمایش پایدار صفحه اصلی موبایل و اصلاح لایه منو روی نقشه */

/* منوی موبایل باید همیشه بالاتر از Leaflet و کنترل‌های نقشه دیده شود. */
.mobile-drawer{
  z-index:2147483000!important;
  isolation:isolate;
}
.mobile-drawer__backdrop{
  z-index:0;
}
.mobile-drawer__panel{
  z-index:1;
}
.mobile-drawer.is-open{
  display:block;
}

/* نقشه در لایه محتوای صفحه نگه داشته شود و روی منوی موبایل نیاید. */
.core-map,
.leaflet-container,
.map-panel,
.register-map-card{
  z-index:0;
}
.leaflet-control-container{
  position:relative;
  z-index:10;
}

@media(max-width:760px){
  /* بازگردانی نمایش صفحه اصلی تلفون به نسخه پایدار قبلی. */
  body[data-page="home"] .home-categories{
    display:none!important;
  }

  body[data-page="home"] .home-hero--landmarks{
    overflow:hidden;
  }

  body[data-page="home"] .home-hero__inner,
  body[data-page="home"] .hero-search,
  body[data-page="home"] .popular-searches,
  body[data-page="home"] .featured-section,
  body[data-page="home"] .how-section,
  body[data-page="home"] .owner-cta{
    min-width:0;
    max-width:100%;
  }

  body[data-page="home"] .popular-searches{
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  body[data-page="home"] .popular-searches::-webkit-scrollbar{
    display:none;
  }
}

/* assets/css/v5.8.css */
/* هسته v5.8 — اصلاح واقعی نمایش موبایل صفحه اصلی و منوی روی نقشه */

/* کل هدر باید بالاتر از هر stacking-context نقشه باشد؛ بالا بردن خود drawer کافی نبود. */
@media (max-width:1080px){
  .site-header{position:sticky;z-index:2147483000!important;isolation:isolate}
  .mobile-drawer{position:fixed!important;inset:0!important;z-index:2147483001!important}
  .mobile-drawer__backdrop{position:absolute!important;inset:0!important;z-index:0!important}
  .mobile-drawer__panel{position:absolute!important;z-index:1!important}
  .leaflet-container,.leaflet-pane,.leaflet-control-container,.core-map,.map-panel,.register-map-card{z-index:0!important}
}

@media (max-width:760px){
  /* بازگردانی دقیق چیدمان پایدار صفحه اصلی قبل از v5.7 */
  body[data-page="home"] .home-categories{display:block!important}
  body[data-page="home"] .home-hero--landmarks{overflow:hidden;min-height:665px}
  body[data-page="home"] .home-hero__inner{width:100%;min-width:0;max-width:100%;padding-inline:14px}
  body[data-page="home"] .hero-search{min-width:0;max-width:100%;width:100%}
  body[data-page="home"] .popular-searches{max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  body[data-page="home"] .popular-searches::-webkit-scrollbar{display:none}
  body[data-page="home"] .featured-section,
  body[data-page="home"] .how-section,
  body[data-page="home"] .owner-cta{min-width:0;max-width:100%;overflow:hidden}
}

/* assets/css/v5.9.css */
/* هسته v5.9 — اصلاح نهایی و ریشه‌ای نمایش موبایل و منوی نقشه */

/* جلوگیری از هر نوع عرض اضافه ناشی از drawer، اسلاید و فوتر */
html, body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

/* منوی بسته اصلاً در محاسبات صفحه حضور نداشته باشد. */
.mobile-drawer:not(.is-open) {
  display: none !important;
}
.mobile-drawer.is-open {
  display: block !important;
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  overflow: hidden !important;
  z-index: 2147483646 !important;
  isolation: isolate;
}
.mobile-drawer.is-open .mobile-drawer__backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.mobile-drawer.is-open .mobile-drawer__panel {
  position: fixed !important;
  inset-block: 0 !important;
  inset-inline-start: auto !important;
  inset-inline-end: 0 !important;
  width: min(86vw, 340px) !important;
  max-width: calc(100vw - 28px) !important;
  height: 100dvh !important;
  overflow-y: auto !important;
  transform: translateX(0) !important;
  z-index: 1 !important;
}

/* هنگام باز بودن منو، نقشه کاملاً از لایه نمایش خارج شود؛ منو هرگز زیر Leaflet نمی‌رود. */
body.mobile-menu-open .core-map,
body.mobile-menu-open .leaflet-container,
body.mobile-menu-open .map-panel,
body.mobile-menu-open .register-map-card {
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 760px) {
  body[data-page="home"] .page-shell,
  body[data-page="home"] .home-hero,
  body[data-page="home"] .home-hero__inner,
  body[data-page="home"] .home-categories,
  body[data-page="home"] .featured-section,
  body[data-page="home"] .how-section,
  body[data-page="home"] .owner-cta,
  body[data-page="home"] .site-footer,
  body[data-page="home"] .container {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  /* چیدمان پایدار صفحه اصلی موبایل */
  body[data-page="home"] .home-hero--landmarks {
    min-height: 590px !important;
    overflow: hidden !important;
    padding-block: 32px 28px !important;
  }
  body[data-page="home"] .home-hero__inner {
    width: min(100%, 390px) !important;
    padding-inline: 12px !important;
    margin-inline: auto !important;
  }
  body[data-page="home"] .home-hero--landmarks h1 {
    max-width: 350px !important;
    margin-inline: auto !important;
    font-size: clamp(1.55rem, 7.2vw, 1.82rem) !important;
    line-height: 1.48 !important;
    letter-spacing: -.55px !important;
  }
  body[data-page="home"] .home-hero--landmarks .home-hero__inner > p:not(.location-message) {
    max-width: 345px !important;
    margin: 8px auto 15px !important;
    font-size: .76rem !important;
    line-height: 1.8 !important;
  }

  /* ردیف اول ورودی؛ ردیف دوم دو دکمه کنار هم. */
  body[data-page="home"] .home-hero--landmarks .hero-search {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 8px !important;
    border-radius: 16px !important;
  }
  body[data-page="home"] .home-hero--landmarks .hero-search__input {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    width: 100% !important;
    border: 1px solid var(--color-border) !important;
    border-radius: 11px !important;
    padding-inline: 10px !important;
  }
  body[data-page="home"] .home-hero--landmarks .hero-search__input input {
    min-width: 0 !important;
    width: 100% !important;
    font-size: .76rem !important;
  }
  body[data-page="home"] .home-hero--landmarks .hero-search .location-control,
  body[data-page="home"] .home-hero--landmarks .hero-search .hero-search__button {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 45px !important;
    padding-inline: 8px !important;
    font-size: .76rem !important;
    white-space: nowrap !important;
  }
  body[data-page="home"] .popular-searches {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 2px 1px 5px !important;
    scrollbar-width: none !important;
  }
  body[data-page="home"] .popular-searches::-webkit-scrollbar { display: none !important; }
  body[data-page="home"] .popular-searches > * { flex: 0 0 auto !important; }

  /* دسته‌بندی‌ها همان لیست کوچک و مرتب در عرض واقعی موبایل. */
  body[data-page="home"] .home-categories {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
  }
  body[data-page="home"] .home-categories .category-strip {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
  }
  body[data-page="home"] .home-categories .category-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* کارت‌ها و بخش‌های پایین بدون سرریز. */
  body[data-page="home"] .featured-grid,
  body[data-page="home"] .how-grid,
  body[data-page="home"] .owner-cta__box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  /* خانواده هسته در فوتر: سه لوگوی کوچک و کاملاً داخل عرض موبایل. */
  body[data-page="home"] .footer-family {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: .65rem !important;
  }
  body[data-page="home"] .footer-family__logos {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 5px !important;
  }
  body[data-page="home"] .footer-family__logo,
  body[data-page="home"] .footer-family__logo--wide,
  body[data-page="home"] .footer-family__logo--symbol {
    grid-column: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: .3rem !important;
  }
  body[data-page="home"] .footer-family__logo .family-logo,
  body[data-page="home"] .footer-family__logo--wide .family-logo {
    max-width: 100% !important;
    max-height: 31px !important;
  }
  body[data-page="home"] .footer-family__logo--symbol .family-logo {
    width: 34px !important;
    height: 34px !important;
  }
}

@media (max-width: 410px) {
  body[data-page="home"] .home-hero--landmarks .location-control span,
  body[data-page="home"] .home-hero--landmarks .hero-search__button span {
    display: inline !important;
  }
}

/* assets/css/v6.0.css */
/* Hasteh v6.0 — only requested desktop cards, custom category icons and live search */

.category-card__icon .category-custom-icon {
  width: 24px;
  height: 24px;
  object-fit: contain;
  filter: none;
}

.live-search-suggestions {
  position: absolute;
  z-index: 1200;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: 14px;
  background: var(--color-surface);
  box-shadow: var(--shadow-soft);
  text-align: right;
}
.live-search-suggestions[hidden] { display: none; }
.live-search-suggestions a {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 9px 11px;
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text);
}
.live-search-suggestions a:last-child { border-bottom: 0; }
.live-search-suggestions a:hover { background: var(--color-surface-secondary); }
.live-search-suggestions img {
  width: 46px;
  height: 38px;
  flex: 0 0 auto;
  border-radius: 9px;
  object-fit: cover;
}
.live-search-suggestions span { display: grid; min-width: 0; }
.live-search-suggestions strong,
.live-search-suggestions small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-search-suggestions small { color: var(--color-muted); font-size: .72rem; }
.hero-search { position: relative; }
.hero-search__input { position: relative; }
.hero-search__input .live-search-suggestions { right: -12px; left: -12px; top: calc(100% + 14px); }
.results-search[aria-busy="true"] { opacity: .78; }

.one-business-notice {
  grid-column: 1 / -1;
  display: grid;
  justify-items: start;
  gap: 14px;
  padding: 28px;
}

@media (min-width: 1121px) {
  body[data-page="home"] .featured-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 15px;
  }
  body[data-page="home"] .featured-grid .business-card__cover { height: 142px; }
  body[data-page="home"] .featured-grid .business-card__body {
    gap: .48rem;
    padding: 12px 13px 11px;
  }
  body[data-page="home"] .featured-grid .business-card__title-row { gap: 7px; }
  body[data-page="home"] .featured-grid .business-card__title-row h3 {
    font-size: .9rem;
    line-height: 1.55;
  }
  body[data-page="home"] .featured-grid .verified-badge-image {
    width: 16px;
    height: 16px;
  }
  body[data-page="home"] .featured-grid .status-pill {
    padding: 2px 6px;
    font-size: .64rem;
  }
  body[data-page="home"] .featured-grid .business-card__body > p {
    display: -webkit-box;
    min-height: 2.8em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    font-size: .75rem;
    line-height: 1.75;
  }
  body[data-page="home"] .featured-grid .business-card__meta {
    gap: .28rem .45rem;
    font-size: .67rem;
  }
  body[data-page="home"] .featured-grid .business-card__footer {
    padding-top: .45rem;
    font-size: .76rem;
  }
  body[data-page="home"] .featured-grid .save-button {
    top: 9px;
    left: 9px;
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 760px) {
  .live-search-suggestions { max-height: 280px; overflow-y: auto; }
}
:root[data-theme="dark"] .category-card__icon .category-custom-icon,
:root[data-theme="dark"] .business-summary__logo .category-custom-icon {
  filter: brightness(0) invert(1);
}

/* assets/css/v6.1.css */
/* هسته v6.1 — فقط اصلاحات پروفایل، اعلان، ثبت یک‌صفحه‌ای و فشرده‌سازی بخش مراحل */
.how-section{padding:3.25rem 0}
.how-section .section-heading-center{margin-bottom:2rem}
.how-section .section-heading-center h2{font-size:clamp(1.7rem,2.8vw,2.45rem)}
.how-grid{gap:1.5rem}
.how-grid article{padding:1rem 1.2rem;min-height:auto}
.how-grid .how-icon{width:70px;height:70px;margin-bottom:.65rem}
.how-grid .how-icon img{width:34px;height:34px}
.how-grid article>span{width:28px;height:28px;font-size:.8rem}
.how-grid h3{font-size:1.2rem;margin:.35rem 0}
.how-grid p{font-size:.95rem;line-height:1.8;max-width:280px;margin-inline:auto}

.user-avatar-link{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;padding:0;text-decoration:none}
.user-avatar{display:inline-flex;align-items:center;justify-content:center;overflow:hidden;object-fit:cover;border-radius:50%;background:linear-gradient(135deg,#1769ff,#ffbf00);color:#fff;font-weight:800;border:2px solid var(--color-surface);box-shadow:0 4px 14px rgba(7,20,38,.16);flex:0 0 auto}
.user-avatar--small{width:44px;height:44px;font-size:.86rem}
.user-avatar--large{width:112px;height:112px;font-size:1.8rem}
.user-avatar--initials{font-family:Estedad,sans-serif}

.notification-wrap{position:relative}
.notification-button{position:relative}
.notification-badge{position:absolute;inset-block-start:-5px;inset-inline-start:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:white;font-size:.7rem;line-height:20px;text-align:center;border:2px solid var(--color-surface)}
.notification-dropdown{position:absolute;inset-block-start:calc(100% + 12px);inset-inline-end:0;width:min(360px,calc(100vw - 28px));max-height:440px;overflow:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;box-shadow:0 22px 55px rgba(7,20,38,.22);z-index:100000;padding:.65rem}
.notification-dropdown__head{display:flex;align-items:center;justify-content:space-between;padding:.55rem .65rem .8rem;border-bottom:1px solid var(--color-border)}
.notification-dropdown__head button{border:0;background:none;color:var(--core-blue);font:inherit;font-size:.8rem;cursor:pointer}
.notification-item{display:grid;gap:.2rem;padding:.75rem;border-radius:12px;color:var(--color-text);text-decoration:none;border-bottom:1px solid var(--color-border)}
.notification-item:hover{background:var(--color-surface-secondary)}
.notification-item.is-unread{background:rgba(23,105,255,.08);border-inline-start:3px solid var(--core-blue)}
.notification-item span,.notification-item small{color:var(--color-muted);font-size:.8rem}
.notification-empty{padding:1rem;text-align:center}

.profile-settings-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:1.5rem;align-items:start}
.profile-card--sticky{position:sticky;top:100px;text-align:center}
.profile-avatar-host{display:flex;justify-content:center;margin-bottom:.8rem}
.profile-actions{margin-top:1.25rem}
.profile-settings-content{display:grid;gap:1.4rem}
.profile-avatar-field{display:flex;align-items:center;gap:1.25rem;padding:1rem;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface-secondary);margin-bottom:1.25rem}
.profile-avatar-field .field{flex:1}
.profile-subsection{margin:1.5rem 0;padding-top:1.2rem;border-top:1px solid var(--color-border)}
.profile-subsection h3{margin-bottom:.9rem}
.preference-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.preference-list label{display:flex;align-items:flex-start;gap:.65rem;padding:.85rem;border:1px solid var(--color-border);border-radius:14px;cursor:pointer;background:var(--color-surface-secondary)}
.preference-list input{margin-top:.25rem;width:18px;height:18px;accent-color:var(--core-blue)}
.preference-list span{display:grid;gap:.15rem}
.preference-list small{color:var(--color-muted)}

.registration-stepper{display:none!important}
.register-heading--compact{margin-bottom:1.35rem}
.register-layout--single-page{align-items:start}
.register-layout--single-page .register-card{padding:clamp(1rem,2vw,1.6rem)}
.upload-card--inside{margin-top:1.3rem;border-top:1px solid var(--color-border);padding-top:1.3rem}
.upload-fields-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.upload-fields-grid .field--full{grid-column:1/-1}
.register-help-card{display:flex;gap:.8rem;padding:1rem;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}
.register-help-card>img{width:28px;height:28px;flex:0 0 auto}
.register-help-card h3{margin:0 0 .3rem;font-size:1rem}
.register-help-card p{margin:0;color:var(--color-muted);font-size:.88rem;line-height:1.8}
.one-business-notice--compact{max-width:620px;margin:1rem auto;text-align:center}

@media(max-width:900px){
 .profile-settings-grid{grid-template-columns:1fr}
 .profile-card--sticky{position:static}
 .profile-card--sticky .user-avatar--large{width:88px;height:88px}
 .preference-list{grid-template-columns:1fr}
 .register-layout--single-page{grid-template-columns:1fr}
 .register-side{position:static}
 .how-section{padding:2.3rem 0}
 .how-grid{gap:.75rem}
 .how-grid article{padding:.8rem}
}
@media(max-width:600px){
 .how-section{padding:1.65rem 0}
 .how-section .section-heading-center{margin-bottom:1rem}
 .how-section .section-heading-center h2{font-size:1.35rem}
 .how-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}
 .how-grid article{padding:.55rem .35rem;border-radius:14px}
 .how-grid .how-icon{width:44px;height:44px;margin:.25rem auto}
 .how-grid .how-icon img{width:23px;height:23px}
 .how-grid article>span{width:20px;height:20px;font-size:.62rem}
 .how-grid h3{font-size:.82rem;margin:.2rem 0}
 .how-grid p{font-size:.66rem;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .profile-avatar-field{align-items:flex-start;flex-direction:column}
 .upload-fields-grid{grid-template-columns:1fr}
 .upload-fields-grid .field--full{grid-column:auto}
 .notification-dropdown{position:fixed;inset-inline:14px;inset-block-start:78px;width:auto}
}
.signup-avatar-upload{display:flex;align-items:center;gap:.8rem;padding:.75rem;border:1px dashed var(--color-border);border-radius:16px;background:var(--color-surface-secondary);cursor:pointer}
.signup-avatar-upload input{position:absolute;opacity:0;pointer-events:none}
.signup-avatar-preview{width:58px;height:58px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--color-surface);border:1px solid var(--color-border)}
.signup-avatar-preview img{width:100%;height:100%;object-fit:cover}
.admin-message-cell{max-width:360px;white-space:normal;line-height:1.7}
.seo-business-preload{display:grid;grid-template-columns:minmax(260px,42%) 1fr;gap:1.5rem;align-items:center;padding:1rem;border:1px solid var(--color-border);border-radius:24px;background:var(--color-surface)}
.seo-business-preload>img{width:100%;height:320px;object-fit:cover;border-radius:18px}
@media(max-width:700px){.seo-business-preload{grid-template-columns:1fr}.seo-business-preload>img{height:220px}}
.signup-avatar-upload{position:relative}

/* assets/css/v6.2.css */
/* هسته v6.2 — اصلاح دقیق هدر و انتشار کسب‌وکار */
/* دکمه ثبت کسب‌وکار در لپ‌تاپ جمع‌وجورتر باشد. */
.header-register{
  min-height:38px!important;
  padding:.52rem .82rem!important;
  border-radius:10px!important;
  font-size:.78rem!important;
  gap:.35rem!important;
  white-space:nowrap;
}
.header-register .button__icon{width:16px!important;height:16px!important}

/* لینک حساب واردشده فقط تصویر کاربر را نشان می‌دهد. */
.user-avatar-link{width:44px;height:44px;overflow:visible}
.user-avatar-link .user-avatar{margin:0}

/* در موبایل فقط تغییر تم، اعلان‌ها و منوی همبرگری داخل بخش اکشن‌ها بماند. */
@media (max-width:820px){
  .header-actions .dashboard-shortcut,
  .header-actions .login-button,
  .header-actions .user-avatar-link,
  .header-actions .header-register{display:none!important}
  .header-actions{gap:.42rem;margin-inline-start:auto}
  .header-actions .theme-toggle,
  .header-actions .notification-wrap:not([hidden]),
  .header-actions .mobile-menu-button{display:inline-flex!important}
  .header-actions .notification-wrap[hidden]{display:none!important}
  .site-header__inner{gap:.5rem}
}

/* assets/css/v6.3.css */
/* هسته v6.3 — فقط داشبورد واقعی، نقشه، حذف تأیید کسب‌وکار و لیست فشرده دسته‌بندی موبایل */
.verified-badge-image,.verified-badge{display:none!important}

/* نقشه بدون دکمه‌های پیش‌فرض */
.core-map{position:relative;overflow:hidden;background:var(--color-surface-secondary)}
.core-map .leaflet-container{font-family:Estedad,sans-serif}
.map-config-notice{height:100%;min-height:260px;display:grid;place-content:center;justify-items:center;text-align:center;gap:.45rem;padding:1.25rem;background:linear-gradient(135deg,rgba(23,105,255,.08),rgba(255,191,0,.12));color:var(--color-text)}
.map-config-notice span{color:var(--color-muted);font-size:.84rem}
.map-config-notice a{color:var(--core-blue);font-weight:850}
.site-header,.mobile-drawer{z-index:1000000!important}

/* داشبورد واقعی */
.dashboard-profile--link{color:inherit;text-decoration:none}
.dashboard-profile--link [data-dashboard-avatar="large"] .user-avatar{width:58px;height:58px}
.dashboard-sidebar-v2 nav button{width:100%;display:flex;align-items:center;gap:.75rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:750;padding:.78rem 1rem;border-radius:12px;cursor:pointer;text-align:right}
.dashboard-sidebar-v2 nav button:hover{background:rgba(255,255,255,.08)}
.dashboard-sidebar-v2 nav button img{width:21px;height:21px}
.dashboard-welcome--profile{align-items:center}
.dashboard-welcome__identity{display:flex;align-items:center;gap:1rem}
.dashboard-welcome__avatar .user-avatar{width:68px;height:68px;font-size:1.15rem;border-width:3px}
.dashboard-metrics--real{grid-template-columns:repeat(5,minmax(0,1fr))}
.panel-title--wrap{flex-wrap:wrap;gap:1rem}
.chart-metric-tabs{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;padding:.25rem;background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:12px}
.chart-metric-tabs button{border:0;background:transparent;color:var(--color-muted);font:inherit;font-size:.76rem;font-weight:800;padding:.45rem .7rem;border-radius:9px;cursor:pointer}
.chart-metric-tabs button.is-active{background:var(--core-blue);color:#fff}
.real-chart{height:245px;display:flex;align-items:flex-end;gap:clamp(2px,.45vw,7px);padding:1.2rem .4rem 1.8rem;border-bottom:1px solid var(--color-border);overflow:hidden}
.real-chart__column{position:relative;display:flex;align-items:flex-end;justify-content:center;height:100%;flex:1;min-width:3px}
.real-chart__column>span{display:block;width:100%;max-width:18px;min-height:2px;border-radius:7px 7px 2px 2px;background:linear-gradient(180deg,var(--core-blue),#0d4dcc);transition:height .25s ease}
.real-chart__column small{position:absolute;inset-block-end:-1.45rem;font-size:.59rem;color:var(--color-muted);white-space:nowrap;transform:rotate(-35deg)}
.chart-caption{margin:.8rem 0 0;color:var(--color-muted);font-size:.82rem}
.dashboard-review-list{display:grid;gap:.75rem}
.dashboard-review-item{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;padding:.8rem;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-secondary)}
.dashboard-review-item__head{display:flex;justify-content:space-between;gap:.5rem;align-items:center}
.dashboard-review-item p{font-size:.84rem;margin:.3rem 0;line-height:1.75}
.dashboard-review-item small{color:var(--color-muted);font-size:.72rem}

/* دسته‌بندی‌های موبایل: لیست کوچک با آیکن و متن در یک خط */
@media(max-width:720px){
  body[data-page="categories"] .category-grid,
  body[data-page="home"] .home-categories .category-strip{display:grid!important;grid-template-columns:1fr!important;gap:.5rem!important}
  body[data-page="categories"] .category-card,
  body[data-page="home"] .home-categories .category-card{min-height:58px!important;padding:.55rem .65rem!important;border-radius:13px!important;display:grid!important;grid-template-columns:40px minmax(0,1fr) auto!important;grid-template-rows:auto!important;align-items:center!important;justify-items:stretch!important;text-align:right!important;gap:.65rem!important}
  body[data-page="categories"] .category-card__icon,
  body[data-page="home"] .home-categories .category-card__icon{width:40px!important;height:40px!important;border-radius:11px!important;grid-row:1!important;grid-column:1!important}
  body[data-page="categories"] .category-card__icon img,
  body[data-page="home"] .home-categories .category-card__icon img{width:22px!important;height:22px!important;object-fit:contain}
  body[data-page="categories"] .category-card strong,
  body[data-page="home"] .home-categories .category-card strong{font-size:.83rem!important;line-height:1.35!important;grid-column:2!important;grid-row:1!important;margin:0!important}
  body[data-page="categories"] .category-card .muted,
  body[data-page="home"] .home-categories .category-card .muted{display:none!important}
  body[data-page="categories"] .category-card__count,
  body[data-page="home"] .home-categories .category-card__count{font-size:.66rem!important;white-space:nowrap!important;grid-column:3!important;grid-row:1!important;color:var(--color-muted)!important;margin:0!important}
  .dashboard-welcome__identity{align-items:flex-start}
  .dashboard-welcome__avatar .user-avatar{width:54px;height:54px}
  .dashboard-metrics--real{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dashboard-metrics--real .dashboard-card:last-child{grid-column:1/-1}
  .chart-metric-tabs{width:100%;display:grid;grid-template-columns:repeat(4,1fr)}
  .chart-metric-tabs button{padding:.42rem .25rem;font-size:.68rem}
  .real-chart{height:190px;gap:2px;padding-inline:.15rem}
  .real-chart__column small{display:none}
}
@media(max-width:480px){
  body[data-page="categories"] .category-card,
  body[data-page="home"] .home-categories .category-card{min-height:54px!important;grid-template-columns:36px minmax(0,1fr) auto!important;padding:.45rem .55rem!important}
  body[data-page="categories"] .category-card__icon,
  body[data-page="home"] .home-categories .category-card__icon{width:36px!important;height:36px!important}
  body[data-page="categories"] .category-card__icon img,
  body[data-page="home"] .home-categories .category-card__icon img{width:20px!important;height:20px!important}
}

/* assets/css/v6.4.css */
/* Hasteh v6.4.2: loader, Leaflet picker, Google Maps embed details, local mobile OTP and extra-business purchase */
.map-search-field{display:grid;gap:8px;margin-bottom:12px;font-weight:700;position:relative}.map-search-field input{width:100%;min-height:48px;border:1px solid var(--line,#d7e0ec);border-radius:14px;background:var(--surface,#fff);color:var(--text,#071426);padding:0 16px;font:inherit}.map-location-status.is-error{color:#c62828}.core-map{overflow:hidden;isolation:isolate;max-width:100%}.leaflet-container{font-family:Estedad,Tahoma,sans-serif;background:var(--surface,#fff)}.leaflet-control-attribution{font-size:10px}.google-map-embed{display:block;width:100%;border:0}.mobile-drawer,.mobile-navigation,.site-mobile-nav{z-index:2147483000}.map-search-results{display:grid;gap:6px;margin-top:6px;max-height:180px;overflow:auto}.map-search-results button{border:1px solid var(--line,#d7e0ec);border-radius:12px;background:var(--surface,#fff);color:var(--text,#071426);padding:10px 12px;text-align:right;font:inherit;cursor:pointer}.map-search-results button:disabled{cursor:default;opacity:.75}
.otp-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.otp-inline input{min-width:0}.otp-send-button{white-space:nowrap}.whatsapp-code-field[hidden],.whatsapp-verified-message[hidden]{display:none!important}.whatsapp-verified-message{display:flex;align-items:center;gap:8px;color:#087443;background:#e8fff2;border:1px solid #b7ebcd;border-radius:12px;padding:11px 13px;font-weight:700}.whatsapp-verified-message img{width:20px;height:20px}.otp-countdown{min-height:20px;color:var(--muted,#667085)}.local-otp-box{display:grid;gap:6px;margin-top:10px;padding:12px;border:1px dashed #f59e0b;border-radius:12px;background:#fff8e1;color:#7a4b00}.local-otp-box strong{font-size:1.35rem;letter-spacing:3px}
.purchase-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,.8fr);gap:24px;align-items:start}.purchase-plan-card,.purchase-form{border:1px solid var(--line,#dce4ef);border-radius:24px;background:var(--surface,#fff);padding:28px}.purchase-plan-card h1{margin:8px 0 12px}.purchase-price{display:flex;align-items:baseline;gap:10px;margin:24px 0;color:#1769ff}.purchase-price strong{font-size:clamp(2rem,5vw,3.6rem);line-height:1}.purchase-price span{font-weight:800}.purchase-capacity{display:inline-flex;padding:10px 14px;border-radius:999px;background:#eef4ff;color:#174ea6;font-weight:700;margin-bottom:16px}.purchase-status{margin-top:18px;padding:14px;border-radius:14px}.purchase-status.is-pending{background:#fff7e6;color:#9a5b00}.purchase-status.is-approved{background:#e8fff2;color:#087443}.purchase-status.is-rejected{background:#fff0f0;color:#b42318}
.upgrade-link{display:inline-flex;align-items:center;gap:8px}
@media(max-width:850px){.purchase-layout{grid-template-columns:1fr}.purchase-plan-card,.purchase-form{padding:20px}.otp-inline{grid-template-columns:1fr}.otp-inline .button{width:100%}}

/* assets/css/v6.7.css */
/* هسته v6.7 — فقط اصلاحات دقیق درخواستی */

/* صفحه کسب‌وکارها: حذف اسکرول داخلی فهرست نتایج */
body[data-page="search"] .result-list{
  max-height:none!important;
  overflow:visible!important;
  padding-left:0!important;
}

/* نوار اصلی: حالت فعال فقط باکس باشد و خط زیر آن نمایش داده نشود */
.desktop-nav a[aria-current="page"]::after{
  display:none!important;
  content:none!important;
}

/* فوتر: دو برند باقی‌مانده داخل یک باکس مشترک */
.footer-family__logos{
  grid-template-columns:minmax(0,1fr)!important;
  max-width:720px;
}
.footer-family__logo--combined{
  min-height:76px;
  display:flex!important;
  align-items:center;
  justify-content:center;
  gap:1.2rem;
  padding:.65rem 1rem!important;
}
.footer-family__logo--combined .family-brand-slot{
  flex:1 1 0;
  min-width:0;
  min-height:54px;
  display:grid;
  place-items:center;
  padding-inline:.9rem;
}
.footer-family__logo--combined .family-brand-slot+ .family-brand-slot{
  border-inline-start:1px solid var(--color-border);
}
.footer-family__logo--combined .family-logo{
  max-width:100%!important;
  max-height:48px!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain;
}
.footer-family__logo--combined .family-brand-slot:first-child .family-logo{
  max-height:40px!important;
}

/* نشان تبلیغ: کوچک و فقط به اندازه متن زیر نام کسب‌وکار */
.sponsored-badge{
  justify-self:start!important;
  align-self:start!important;
  width:max-content!important;
  max-width:100%;
  padding:1px 6px!important;
  border:1px solid rgba(190,132,0,.24);
  border-radius:999px!important;
  background:rgba(255,189,32,.13)!important;
  color:#8a5b00!important;
  font-size:.58rem!important;
  font-weight:800!important;
  line-height:1.55;
  white-space:nowrap;
}
.business-card.is-sponsored{
  outline:none!important;
}
:root[data-theme="dark"] .sponsored-badge{
  border-color:rgba(255,189,32,.24);
  background:rgba(255,189,32,.1)!important;
  color:#ffd261!important;
}

/* جست‌وجوی شرکت‌ها در مدیریت تبلیغات */
.admin-business-search{
  margin-bottom:.2rem;
}
.admin-card-title--search input[data-ad-list-search]{
  width:min(320px,100%);
}

/* مدیریت نظرها */
.admin-review-user{
  display:grid;
  gap:2px;
}
.admin-review-user small{
  color:var(--color-muted);
  font-size:.68rem;
}

@media(max-width:760px){
  .footer-family__logo--combined{
    min-height:62px!important;
    gap:.45rem;
    padding:.4rem!important;
  }
  .footer-family__logo--combined .family-brand-slot{
    min-height:45px;
    padding-inline:.45rem;
  }
  .footer-family__logo--combined .family-logo{
    max-height:36px!important;
  }
  .footer-family__logo--combined .family-brand-slot:first-child .family-logo{
    max-height:31px!important;
  }
  .sponsored-badge{
    padding:0 5px!important;
    font-size:.52rem!important;
  }
}

/* assets/css/v6.9.css */
/* هسته v6.9 — بازیابی رمز با شماره تماس و اصلاح فوتر موبایل */

.password-reset-local{
  display:grid;
  gap:.55rem;
  margin-top:.75rem;
  text-align:center;
}
.password-reset-local p{margin:0;color:var(--color-muted)}
.password-reset-local .button{justify-self:center}

@media(max-width:760px){
  .footer-family{
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr)!important;
    justify-items:center;
    align-items:center;
    padding-inline:0!important;
    text-align:center;
    overflow:hidden;
  }
  .footer-family__heading{
    width:100%;
    max-width:320px;
    margin-inline:auto;
    justify-items:center;
    text-align:center!important;
  }
  .footer-family__logos{
    width:min(100%,330px)!important;
    max-width:330px!important;
    min-width:0;
    margin-inline:auto!important;
    justify-self:center!important;
  }
  .footer-family__logo--combined{
    width:100%;
    max-width:330px;
    margin-inline:auto;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0!important;
    overflow:hidden;
  }
  .footer-family__logo--combined .family-brand-slot{
    width:100%;
    min-width:0;
    padding-inline:.45rem!important;
  }
  .footer-family__logo--combined .family-brand-slot + .family-brand-slot{
    border-inline-start:1px solid var(--color-border);
  }
  .footer-family__logo--combined .family-logo{
    max-width:100%!important;
    width:auto!important;
    height:auto!important;
    object-fit:contain;
  }
}

@media(max-width:420px){
  .footer-family__logos,
  .footer-family__logo--combined{
    width:min(100%,290px)!important;
    max-width:290px!important;
  }
  .footer-family__logo--combined{
    min-height:58px!important;
    padding:.35rem!important;
  }
  .footer-family__logo--combined .family-brand-slot{
    min-height:42px!important;
    padding-inline:.35rem!important;
  }
  .footer-family__logo--combined .family-logo{max-height:32px!important}
  .footer-family__logo--combined .family-brand-slot:first-child .family-logo{max-height:28px!important}
}

/* assets/css/v6.12.css */
/* Hasteh v6.12 — approved black category icon set only */
.category-card__icon .category-custom-icon{
  filter:none!important;
  object-fit:contain;
}
:root[data-theme="dark"] .category-card__icon{
  background:#fff!important;
}
:root[data-theme="dark"] .category-card__icon .category-custom-icon{
  filter:none!important;
}

/* assets/css/v6.13.css */
/* هسته v6.13 — وسط‌چین قطعی لوگوهای فوتر در تلفون */
@media (max-width:760px){
  .site-footer .footer-family.container{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    width:calc(100% - 24px)!important;
    max-width:420px!important;
    margin-inline:auto!important;
    padding-inline:0!important;
    text-align:center!important;
    overflow:visible!important;
  }
  .site-footer .footer-family__heading{
    display:grid!important;
    justify-items:center!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:auto!important;
    text-align:center!important;
  }
  .site-footer .footer-family__logos{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:auto!important;
    justify-self:center!important;
  }
  .site-footer .footer-family__logo--combined{
    display:flex!important;
    align-items:stretch!important;
    justify-content:center!important;
    width:min(100%,300px)!important;
    max-width:300px!important;
    min-width:0!important;
    margin-inline:auto!important;
    padding:.35rem!important;
  }
  .site-footer .footer-family__logo--combined .family-brand-slot{
    display:flex!important;
    flex:1 1 0!important;
    align-items:center!important;
    justify-content:center!important;
    width:50%!important;
    min-width:0!important;
    padding:.25rem .4rem!important;
  }
  .site-footer .footer-family__logo--combined .family-logo{
    display:block!important;
    max-width:100%!important;
    width:auto!important;
    height:auto!important;
    margin-inline:auto!important;
    object-fit:contain!important;
  }
}

@media (max-width:420px){
  .site-footer .footer-family.container{
    width:calc(100% - 20px)!important;
  }
  .site-footer .footer-family__logo--combined{
    width:min(100%,280px)!important;
    max-width:280px!important;
  }
}

/* assets/css/v6.19.css */
/* هسته v6.19 — اصلاحات دقیق جست‌وجو، آمار مدیریت، امتیازدهی و ویژه‌ها */

/* صفحه ظرفیت در تم تاریک نباید هیچ باکس سفید داشته باشد. */
:root[data-theme="dark"] body[data-page="upgrade-business"] .capacity-access-card,
:root[data-theme="dark"] body[data-page="upgrade-business"] .capacity-access-summary{
  background:var(--color-surface)!important;
  color:var(--color-text)!important;
  border-color:var(--color-border)!important;
}
:root[data-theme="dark"] body[data-page="upgrade-business"] .capacity-access-icon{
  background:var(--color-surface-secondary)!important;
}
:root[data-theme="dark"] body[data-page="upgrade-business"] .capacity-access-summary:empty::before{
  content:"—";
  color:var(--color-muted);
}

/* جست‌وجو فقط فهرست کسب‌وکارها را نشان می‌دهد؛ نقشه و مرتب‌سازی حذف شده‌اند. */
body[data-page="search"] .search-layout{display:block!important}
body[data-page="search"] .results-panel{width:100%;max-width:none}
body[data-page="search"] .result-list{width:100%}
body[data-page="search"] .results-toolbar{justify-content:flex-start}
body[data-page="search"] .results-toolbar>div{width:100%;display:flex;justify-content:space-between;gap:1rem;align-items:center}

/* انتخاب امتیاز به سبک پنج ستاره. */
.star-rating-field{display:grid;gap:.55rem}
.star-rating{display:inline-flex;direction:rtl;justify-content:flex-start;gap:.2rem;width:max-content}
.star-rating input{position:absolute;opacity:0;pointer-events:none}
.star-rating label{cursor:pointer;font-size:2rem;line-height:1;color:#cbd5e1;transition:transform .15s ease,color .15s ease;text-shadow:0 1px 0 rgba(0,0,0,.06)}
.star-rating label:hover,.star-rating label.is-selected{color:#f5a400}
.star-rating label:hover{transform:scale(1.12)}
.star-rating input:focus-visible+label{outline:3px solid color-mix(in srgb,var(--core-blue) 36%,transparent);outline-offset:3px;border-radius:5px}
.star-rating-hint{font-size:.78rem;color:var(--color-muted)}

/* نقشه و آمار دسته‌بندی در داشبورد ادمین. */
.admin-insights-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:20px}
.admin-afghanistan-map{height:430px;border:1px solid var(--color-border);border-radius:16px;overflow:hidden;background:var(--color-surface-secondary);position:relative;z-index:0}
.admin-afghanistan-map .leaflet-container{height:100%;font-family:Estedad,Tahoma,sans-serif}
.admin-map-caption{margin-top:.65rem;color:var(--color-muted);font-size:.78rem;line-height:1.8}
.admin-category-stats{display:grid;gap:.7rem;max-height:430px;overflow:auto;padding-inline-end:.2rem}
.admin-category-stat{display:grid;gap:.4rem;padding:.72rem .8rem;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-secondary)}
.admin-category-stat__head{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.admin-category-stat__head strong{font-size:.84rem}
.admin-category-stat__head span{font-size:.75rem;color:var(--color-muted);white-space:nowrap}
.admin-category-stat__bar{height:7px;border-radius:999px;background:color-mix(in srgb,var(--color-border) 78%,transparent);overflow:hidden}
.admin-category-stat__bar i{display:block;height:100%;min-width:3px;border-radius:inherit;background:linear-gradient(90deg,var(--core-blue),#65a2ff)}

/* تعیین کسب‌وکارهای ویژه از پنل ادمین. */
.admin-featured-list{display:grid;gap:.7rem}
.admin-featured-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface-secondary)}
.admin-featured-row__main{display:flex;align-items:center;gap:.8rem;min-width:0}
.admin-featured-row__main img{width:54px;height:48px;border-radius:10px;object-fit:cover;background:var(--color-bg)}
.admin-featured-row__main div{display:grid;min-width:0}
.admin-featured-row__main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-featured-row__main small{color:var(--color-muted);font-size:.72rem}
.admin-featured-toggle{border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text);padding:.55rem .9rem;font:inherit;font-size:.75rem;font-weight:850;cursor:pointer;white-space:nowrap}
.admin-featured-toggle.is-featured{background:#fff5cc;color:#8a5600;border-color:#f0c342}

@media(max-width:980px){.admin-insights-grid{grid-template-columns:1fr}.admin-afghanistan-map{height:380px}.admin-category-stats{max-height:none}}
@media(max-width:560px){
  .star-rating label{font-size:1.8rem}
  .admin-afghanistan-map{height:330px}
  .admin-featured-row{grid-template-columns:1fr}
  .admin-featured-toggle{width:100%}
}

/* assets/css/v6.20.css */
/* هسته v6.20 — اصلاح چیدمان ویژه‌ها، لوگوی فوتر و منوی موبایل داشبورد */

/* صفحه اصلی: وقتی دقیقاً ۶ کارت ویژه وجود دارد، دو ردیف کامل سه‌تایی ساخته شود
   تا فضای خالی بزرگ در انتهای ردیف دوم باقی نماند. */
@media (min-width:1121px){
  body[data-page="home"] .featured-grid:has(> .business-card:nth-child(6):last-child){
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}

/* فوتر: از دو نسخه روشن/تاریک Creative Core فقط نسخه مناسب تم نمایش داده شود. */
.site-footer .family-logo--dark{
  display:none!important;
}
:root[data-theme="light"] .site-footer .family-logo--light{
  display:block!important;
}
:root[data-theme="light"] .site-footer .family-logo--dark{
  display:none!important;
}
:root[data-theme="dark"] .site-footer .family-logo--light{
  display:none!important;
}
:root[data-theme="dark"] .site-footer .family-logo--dark{
  display:block!important;
}

/* داشبورد موبایل: منوی مدیریت مخفی نشود و همه گزینه‌ها، از جمله ویرایش، دیده شوند. */
@media (max-width:560px){
  body[data-page="dashboard"] .dashboard-shell{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }
  body[data-page="dashboard"] .dashboard-sidebar-v2{
    display:block!important;
    position:static!important;
    min-height:0!important;
    width:100%!important;
    padding:11px!important;
    margin:0!important;
    border-radius:15px!important;
  }
  body[data-page="dashboard"] .dashboard-sidebar-v2 .dashboard-profile{
    display:none!important;
  }
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:0!important;
  }
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav a,
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav button{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    width:100%!important;
    min-width:0!important;
    min-height:43px!important;
    padding:8px 9px!important;
    border-radius:10px!important;
    font-size:.72rem!important;
    line-height:1.45!important;
    white-space:normal!important;
    text-align:right!important;
  }
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav a img,
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav button img{
    flex:0 0 18px!important;
    width:18px!important;
    height:18px!important;
  }
}

@media (max-width:360px){
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav{
    grid-template-columns:1fr!important;
  }
}

/* assets/css/v6.21.css */
/* هسته v6.21 — اصلاح صفحه کسب‌وکار در موبایل و نشست ویرایش کسب‌وکار */

/* صفحه جزئیات کسب‌وکار در تلفون باید کاملاً داخل عرض صفحه بماند. */
@media (max-width:820px){
  body[data-page="business-details"] .business-page,
  body[data-page="business-details"] [data-business-details],
  body[data-page="business-details"] .business-details-v2,
  body[data-page="business-details"] .business-overview,
  body[data-page="business-details"] .business-summary,
  body[data-page="business-details"] .details-main-grid,
  body[data-page="business-details"] .details-card,
  body[data-page="business-details"] .stack{
    min-width:0!important;
    max-width:100%!important;
  }

  body[data-page="business-details"] .business-overview{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    gap:14px!important;
  }

  body[data-page="business-details"] .business-cover-large{
    width:100%!important;
    min-width:0!important;
  }

  body[data-page="business-details"] .business-cover-large img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
  }

  body[data-page="business-details"] .business-summary{
    width:100%!important;
    padding:8px 2px 2px!important;
    overflow:hidden!important;
  }

  body[data-page="business-details"] .business-summary__header,
  body[data-page="business-details"] .business-contact-strip,
  body[data-page="business-details"] .business-subline{
    min-width:0!important;
    max-width:100%!important;
  }

  body[data-page="business-details"] .business-summary h1,
  body[data-page="business-details"] .business-summary p,
  body[data-page="business-details"] .business-subline span,
  body[data-page="business-details"] .contact-mini span,
  body[data-page="business-details"] .details-card p,
  body[data-page="business-details"] .info-list strong{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }

  body[data-page="business-details"] .business-action-row{
    width:100%!important;
    min-width:0!important;
  }

  body[data-page="business-details"] .business-action-row .button{
    width:100%!important;
    min-width:0!important;
  }
}

@media (max-width:560px){
  body[data-page="business-details"] .business-page.section-band--compact{
    padding-top:14px!important;
  }

  body[data-page="business-details"] .business-overview{
    padding:10px!important;
    border-radius:16px!important;
  }

  body[data-page="business-details"] .business-cover-large{
    height:220px!important;
    border-radius:12px!important;
  }

  body[data-page="business-details"] .business-summary__header{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:start!important;
    gap:10px!important;
  }

  body[data-page="business-details"] .business-summary__logo{
    width:56px!important;
    height:56px!important;
    border-radius:14px!important;
  }

  body[data-page="business-details"] .business-summary h1{
    font-size:1.55rem!important;
    line-height:1.45!important;
    letter-spacing:0!important;
  }

  body[data-page="business-details"] .business-subline{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px 9px!important;
    font-size:.76rem!important;
  }

  body[data-page="business-details"] .business-action-row{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }

  body[data-page="business-details"] .business-contact-strip{
    grid-template-columns:1fr!important;
    gap:9px!important;
  }

  body[data-page="business-details"] .details-main-grid{
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
  }

  body[data-page="business-details"] .details-card{
    padding:15px!important;
  }
}

/* assets/css/v6.22.css */
/* هسته v6.22 — اصلاح نهایی موبایل ویرایش، جزئیات کسب‌وکار و منوی داشبورد */

.dashboard-mobile-menu-toggle{
  display:none;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  width:100%;
  min-height:48px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:var(--color-surface);
  color:var(--color-text);
  box-shadow:var(--shadow-card);
  font:inherit;
  font-weight:850;
  cursor:pointer;
}
.dashboard-mobile-menu-toggle img{width:21px;height:21px}

@media (max-width:820px){
  body[data-page="edit-business"]{overflow-x:hidden}
  body[data-page="edit-business"] .page-shell,
  body[data-page="edit-business"] .register-page,
  body[data-page="edit-business"] .register-page>.container,
  body[data-page="edit-business"] .register-layout,
  body[data-page="edit-business"] .register-card,
  body[data-page="edit-business"] .register-side,
  body[data-page="edit-business"] .register-map-card,
  body[data-page="edit-business"] .form-grid,
  body[data-page="edit-business"] .field,
  body[data-page="edit-business"] .core-map{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  body[data-page="edit-business"] .register-layout{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:14px!important;
  }
  body[data-page="edit-business"] .register-side{order:2!important}
  body[data-page="edit-business"] .register-card{order:1!important}
  body[data-page="edit-business"] .form-grid{grid-template-columns:minmax(0,1fr)!important}
  body[data-page="edit-business"] input,
  body[data-page="edit-business"] select,
  body[data-page="edit-business"] textarea,
  body[data-page="edit-business"] button{
    max-width:100%!important;
    min-width:0!important;
  }
  body[data-page="edit-business"] .form-message{overflow-wrap:anywhere!important}
}

@media (max-width:560px){
  body[data-page="edit-business"] .register-page.section-band--compact{padding-block:18px 92px!important}
  body[data-page="edit-business"] .register-page>.container{width:calc(100% - 20px)!important}
  body[data-page="edit-business"] .register-heading{margin-bottom:16px!important;padding-inline:3px!important}
  body[data-page="edit-business"] .register-heading h1{font-size:2rem!important;line-height:1.35!important}
  body[data-page="edit-business"] .register-heading p{font-size:.88rem!important}
  body[data-page="edit-business"] .register-card,
  body[data-page="edit-business"] .register-map-card{padding:14px!important;border-radius:16px!important}
  body[data-page="edit-business"] .core-map--register{height:300px!important;border-radius:13px!important}
}

@media (max-width:820px){
  html:has(body[data-page="business-details"]),
  body[data-page="business-details"]{overflow-x:hidden!important;max-width:100%!important}
  body[data-page="business-details"] .page-shell,
  body[data-page="business-details"] .business-page,
  body[data-page="business-details"] .business-page>.container,
  body[data-page="business-details"] .business-details-v2,
  body[data-page="business-details"] .business-overview,
  body[data-page="business-details"] .business-cover-large,
  body[data-page="business-details"] .business-summary,
  body[data-page="business-details"] .business-summary__header,
  body[data-page="business-details"] .business-subline,
  body[data-page="business-details"] .business-action-row,
  body[data-page="business-details"] .business-contact-strip,
  body[data-page="business-details"] .details-main-grid,
  body[data-page="business-details"] .details-card,
  body[data-page="business-details"] .stack,
  body[data-page="business-details"] .services-grid,
  body[data-page="business-details"] .gallery-row,
  body[data-page="business-details"] .review-form,
  body[data-page="business-details"] .info-list,
  body[data-page="business-details"] iframe{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  body[data-page="business-details"] .business-page>.container{
    width:calc(100% - 20px)!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  body[data-page="business-details"] .business-overview{
    display:flex!important;
    flex-direction:column!important;
    gap:12px!important;
    padding:10px!important;
  }
  body[data-page="business-details"] .business-cover-large{flex:none!important;height:230px!important}
  body[data-page="business-details"] .business-cover-large img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    max-width:100%!important;
    object-fit:cover!important;
  }
  body[data-page="business-details"] .business-summary{
    display:block!important;
    padding:7px 1px 2px!important;
    overflow:visible!important;
  }
  body[data-page="business-details"] .business-summary__header{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:10px!important;
  }
  body[data-page="business-details"] .business-summary__logo{
    align-self:flex-start!important;
    flex:none!important;
    width:58px!important;
    height:58px!important;
  }
  body[data-page="business-details"] .business-summary h1{
    max-width:100%!important;
    margin:0!important;
    font-size:1.55rem!important;
    line-height:1.5!important;
    overflow-wrap:anywhere!important;
  }
  body[data-page="business-details"] .business-subline{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:7px 9px!important;
    font-size:.76rem!important;
    overflow-wrap:anywhere!important;
  }
  body[data-page="business-details"] .business-summary>p,
  body[data-page="business-details"] .details-card p,
  body[data-page="business-details"] .info-list strong,
  body[data-page="business-details"] .info-list p,
  body[data-page="business-details"] .contact-mini span{
    overflow-wrap:anywhere!important;
    word-break:normal!important;
  }
  body[data-page="business-details"] .business-action-row,
  body[data-page="business-details"] .business-contact-strip,
  body[data-page="business-details"] .details-main-grid{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:9px!important;
  }
  body[data-page="business-details"] .business-action-row .button,
  body[data-page="business-details"] .business-contact-strip>*{
    width:100%!important;
    min-width:0!important;
  }
  body[data-page="business-details"] .details-card{padding:14px!important}
  body[data-page="business-details"] .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-page="business-details"] .gallery-row{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  body[data-page="business-details"] .gallery-row img{width:100%!important;max-width:100%!important}
}

@media (max-width:560px){
  body[data-page="business-details"] .business-page.section-band--compact{padding-block:14px 92px!important}
  body[data-page="business-details"] .details-breadcrumb{padding-inline:2px!important;overflow-wrap:anywhere!important}
  body[data-page="business-details"] .business-cover-large{height:215px!important}
  body[data-page="business-details"] .services-grid{grid-template-columns:minmax(0,1fr)!important}
}

@media (max-width:560px){
  body[data-page="dashboard"] .dashboard-mobile-menu-toggle{display:flex!important}
  body[data-page="dashboard"] .dashboard-sidebar-v2{
    display:none!important;
    opacity:0;
    transform:translateY(-5px);
  }
  body[data-page="dashboard"] .dashboard-sidebar-v2.is-mobile-open{
    display:block!important;
    opacity:1;
    transform:none;
  }
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav{grid-template-columns:minmax(0,1fr)!important}
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav a,
  body[data-page="dashboard"] .dashboard-sidebar-v2 nav button{
    min-height:46px!important;
    font-size:.82rem!important;
    padding:10px 12px!important;
  }
}

/* assets/css/v6.25.css */
/* Hasteh v6.25: social/media/profile/mobile performance fixes */
.current-media{display:flex;align-items:center;gap:.65rem;margin-top:.55rem;min-height:42px;color:var(--color-muted)}
.current-media img{width:76px;height:52px;object-fit:cover;border:1px solid var(--color-border);border-radius:10px}
.current-gallery{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.55rem;color:var(--color-muted)}
.current-gallery img{width:68px;height:52px;object-fit:cover;border:1px solid var(--color-border);border-radius:9px}
.media-remove-option{display:flex!important;align-items:center;gap:.45rem;margin-top:.55rem;font-size:.82rem;color:var(--color-text)}
.media-remove-option input{width:17px;height:17px;min-height:auto}
.business-card__cover--empty{min-height:132px;background:linear-gradient(135deg,var(--cover-a),var(--cover-b));opacity:.78}
.admin-featured-row__no-image{width:64px;height:48px;border-radius:9px;background:linear-gradient(135deg,var(--color-bg),var(--color-border));border:1px solid var(--color-border);display:block}
.business-overview--no-cover{grid-template-columns:1fr!important}
.social-links .icon-button{flex:0 0 auto}
@media (max-width:820px){
  .how-section,.owner-cta,.site-footer,.featured-section,.home-categories{content-visibility:auto;contain-intrinsic-size:1px 700px}
  .hero-slide:not(.is-active) img{content-visibility:auto}
}

/* assets/css/v6.27.css */
/* Hasteh v6.27: preserved edits, live hours, notification cleanup, mobile polish */
.business-summary__logo .business-logo-image{
  display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;
  object-fit:contain!important;object-position:center!important;padding:8px!important;box-sizing:border-box!important;border-radius:12px!important;
}
.current-media[data-current-logo] img{object-fit:contain!important;padding:5px!important;background:var(--color-surface)!important}
.status-pill.is-closed{color:#d92d20!important;background:rgba(217,45,32,.10)!important;border-color:rgba(217,45,32,.25)!important}
.notification-item{transition:opacity .18s ease,transform .18s ease}
@media(max-width:820px){
  html,body{max-width:100%!important;overflow-x:hidden!important}
  body[data-page="business-details"] .business-page>.container{width:calc(100% - 16px)!important;margin-inline:auto!important}
  body[data-page="business-details"] .business-details-v2{display:block!important;width:100%!important}
  body[data-page="business-details"] .details-breadcrumb{margin-bottom:10px!important;white-space:normal!important}
  body[data-page="business-details"] .business-overview{display:block!important;width:100%!important;padding:10px!important;overflow:hidden!important}
  body[data-page="business-details"] .business-cover-large{width:100%!important;height:auto!important;aspect-ratio:16/10!important;margin:0!important}
  body[data-page="business-details"] .business-summary{width:100%!important;padding:12px 2px 2px!important;margin:0!important}
  body[data-page="business-details"] .business-summary__header{display:grid!important;grid-template-columns:minmax(0,1fr) 62px!important;align-items:start!important;gap:10px!important}
  body[data-page="business-details"] .business-summary__logo{grid-column:2!important;grid-row:1!important;width:62px!important;height:62px!important;margin:0!important}
  body[data-page="business-details"] .business-summary__header>div:first-child{grid-column:1!important;grid-row:1!important;min-width:0!important}
  body[data-page="business-details"] .business-summary h1{font-size:1.45rem!important;line-height:1.45!important;text-align:right!important}
  body[data-page="business-details"] .business-subline{justify-content:flex-start!important;text-align:right!important}
  body[data-page="business-details"] .business-summary>p{text-align:right!important}
  body[data-page="business-details"] .business-action-row,
  body[data-page="business-details"] .business-contact-strip,
  body[data-page="business-details"] .details-main-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  body[data-page="business-details"] .details-main-grid>*{width:100%!important;min-width:0!important}
  body[data-page="business-details"] .button{white-space:normal!important;text-align:center!important}
  body[data-page="business-details"] iframe{display:block!important;width:100%!important}
  body[data-page="edit-business"] select[data-category-select],
  body[data-page="edit-business"] select[data-province-select]{min-height:48px!important}
  .business-card__cover-image{content-visibility:auto}
}
@media(max-width:560px){
  body[data-page="business-details"] .business-summary__header{grid-template-columns:minmax(0,1fr) 56px!important}
  body[data-page="business-details"] .business-summary__logo{width:56px!important;height:56px!important}
  body[data-page="business-details"] .details-card{padding:13px!important}
  body[data-page="business-details"] .business-action-row{gap:8px!important}
}

/* assets/css/v6.33.css */
/* Hasteh v6.33 — requested search, cards, navigation, compact steps and 12-hour working-hours fixes */

/* نوار اصلی: انتخاب صفحه فقط رنگ متن را تغییر دهد؛ هیچ باکس یا خطی نمایش داده نشود. */
.desktop-nav a[aria-current="page"]{
  color:var(--core-blue)!important;
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
  outline:0!important;
}
.desktop-nav a[aria-current="page"]::before,
.desktop-nav a[aria-current="page"]::after{
  display:none!important;
  content:none!important;
}

/* صفحه اصلی: نتایج زنده در جریان صفحه قرار گیرد تا جست‌وجوهای محبوب و نقطه‌های اسلاید روی آن نیفتد. */
body[data-page="home"] .hero-search > .live-search-suggestions{
  position:static!important;
  inset:auto!important;
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  margin:2px 0 0!important;
  text-align:right!important;
  z-index:auto!important;
}
body[data-page="home"] .hero-search > .live-search-suggestions:not(.is-open){display:none!important}
body[data-page="home"] .hero-search > .live-search-suggestions.is-open{display:block!important}

/* تصاویر کارت: تصویر کامل، بدون برش، حاشیه داخلی، گرادیان یا دایره تزئینی. */
body[data-page="home"] .business-card__cover::after,
body[data-page="search"] .business-card__cover::after,
body[data-page="saved-businesses"] .business-card__cover::after{
  display:none!important;
  content:none!important;
  background:none!important;
}
body[data-page="home"] .business-card__cover:not(.business-card__cover--empty),
body[data-page="search"] .business-card__cover:not(.business-card__cover--empty),
body[data-page="saved-businesses"] .business-card__cover:not(.business-card__cover--empty){
  padding:0!important;
  background:var(--color-surface)!important;
}
body[data-page="home"] .business-card__cover-image,
body[data-page="search"] .business-card__cover-image,
body[data-page="saved-businesses"] .business-card__cover-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  transform:none!important;
}

/* لپ‌تاپ و دسکتاپ: بخش «چگونه کار می‌کند» فشرده‌تر شود. */
@media (min-width:901px){
  body[data-page="home"] .how-section{padding:2rem 0!important}
  body[data-page="home"] .how-section .section-heading-center{margin-bottom:1.15rem!important}
  body[data-page="home"] .how-section .section-heading-center h2{font-size:clamp(1.5rem,2.1vw,2rem)!important;line-height:1.5!important}
  body[data-page="home"] .how-grid{gap:1rem!important}
  body[data-page="home"] .how-grid article{padding:.45rem .8rem!important}
  body[data-page="home"] .how-grid .how-icon{width:54px!important;height:54px!important;margin-bottom:.35rem!important}
  body[data-page="home"] .how-grid .how-icon img{width:27px!important;height:27px!important}
  body[data-page="home"] .how-grid article>span{width:23px!important;height:23px!important;font-size:.7rem!important;right:calc(50% + 22px)!important}
  body[data-page="home"] .how-grid h3{font-size:1rem!important;margin:.2rem 0!important}
  body[data-page="home"] .how-grid p{font-size:.82rem!important;line-height:1.65!important;max-width:250px!important}
}

/* ثبت کسب‌وکار: انتخاب ساعت به شکل ۱۲ ساعته با صبح و عصر. */
.field--hours-12{gap:.65rem!important}
.hours-12-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.hours-time-group{display:grid;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface-secondary)}
.hours-time-group>strong{font-size:.78rem;color:var(--color-text)}
.hours-time-controls{display:grid;grid-template-columns:minmax(72px,.8fr) minmax(72px,.8fr) minmax(88px,1fr);gap:7px;direction:ltr}
.hours-time-controls select{width:100%;min-width:0;direction:rtl;text-align:center;background:var(--color-surface)}
.hours-12-preview{display:block;line-height:1.8}
@media(max-width:600px){
  .hours-12-grid{grid-template-columns:1fr}
  .hours-time-controls{grid-template-columns:repeat(3,minmax(0,1fr))}
}
