/* ==========================================================================
   site.css — سامانهٔ دیداری ایران‌کلینیکس (بازطراحی مهر ۱۴۰۵)

   اصول:
   • راست‌به‌چپ بومی: فقط ویژگی‌های منطقی (inline/block)، نه left/right.
   • هیچ letter-spacing روی متن فارسی؛ اتصال حروف را می‌شکند.
   • هر فرزند گرید/فلکس که متنِ کاربر دارد min-width:0 می‌گیرد؛ نبودنش
     ستون کناری صفحهٔ کلینیک را روی موبایل ۷۸ پیکسل بیرون زده بود.
   • رنگ‌ها فقط از توکن‌ها؛ همهٔ جفت‌ها پیش از نوشتن سنجیده شدند
     (متن ≥ ۴٫۵:۱، مرز کنترل‌ها ≥ ۳:۱، در هر دو پوسته).
   • وضعیت هرگز فقط با رنگ گفته نمی‌شود؛ کنار هر رنگ، برچسب متنی هست.
   ========================================================================== */

@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/vazirmatn-arabic.woff2') format('woff2');unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Vazirmatn';font-style:normal;font-weight:100 900;font-display:swap;src:url('../fonts/vazirmatn-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* --------------------------------------------------------------------------
   ۱. توکن‌ها
   -------------------------------------------------------------------------- */
:root{
  color-scheme:light;

  --bg:#F6F7F4;
  --surface:#FFFFFF;
  --surface-2:#EEF2EF;
  --surface-3:#E4EAE6;
  --ink:#10201C;
  --ink-2:#3F4F4A;
  --ink-3:#5B6B66;
  --line:#DFE6E2;
  --line-2:#CDD7D2;
  --line-strong:#78887F;

  --brand:#0A6B5D;
  --brand-hover:#075347;
  --brand-soft:#E3F1ED;
  --brand-ink:#075347;
  --on-brand:#FFFFFF;

  --star:#C26F00;
  --open:#137A3A;     --open-soft:#E4F4E9;
  --closing:#9A5800;  --closing-soft:#FFF1D6;
  --closed:#B42318;   --closed-soft:#FCEBE9;

  /* نوار تیرهٔ قهرمان و پاورقی — در هر دو پوسته تیره می‌ماند */
  --hero:#0D2B26;
  --hero-2:#12382F;
  --hero-ink:#F2F7F5;
  --hero-ink-2:#A9C3BC;
  --hero-line:rgba(255,255,255,.14);
  --footer:#0A201C;

  --ring:#0A6B5D;
  --scrim:rgba(8,20,17,.62);
  --header-bg:rgba(255,255,255,.84);

  --sh-1:0 1px 2px rgba(16,32,28,.06),0 1px 1px rgba(16,32,28,.04);
  --sh-2:0 8px 20px -10px rgba(16,32,28,.22),0 2px 4px rgba(16,32,28,.05);
  --sh-3:0 22px 48px -18px rgba(16,32,28,.34),0 6px 12px -6px rgba(16,32,28,.10);

  --r-xs:6px; --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:28px; --r-pill:999px;

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:20px; --s-6:24px;
  --s-7:32px; --s-8:40px; --s-9:56px; --s-10:72px;

  --font:'Vazirmatn',Tahoma,system-ui,sans-serif;
  --t-xs:12.5px; --t-sm:14px; --t-base:16px; --t-md:17px; --t-lg:19px;
  --t-h3:17px;
  --t-h2:clamp(19px,.9vw + 15.5px,24px);
  --t-h1:clamp(23px,2.2vw + 14px,34px);
  --t-display:clamp(28px,4vw + 13px,50px);

  --ease:cubic-bezier(.2,.8,.2,1);
  --d-1:120ms; --d-2:200ms; --d-3:320ms;

  --header-h:60px;
  --container:1200px;
  --gutter:16px;

  --z-raised:5; --z-sticky:40; --z-header:50; --z-bar:60;
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0B1311; --surface:#111C19; --surface-2:#16231F; --surface-3:#1D2C27;
  --ink:#E6EEEB; --ink-2:#B3C2BD; --ink-3:#93A49E;
  --line:#22312C; --line-2:#2C3D37; --line-strong:#5E726B;
  --brand:#46C2AA; --brand-hover:#6AD3BF; --brand-soft:#12302A; --brand-ink:#7CDCC8; --on-brand:#04211C;
  --star:#F0A73A;
  --open:#57CF85; --open-soft:#10301E;
  --closing:#F2B451; --closing-soft:#33270D;
  --closed:#F2837A; --closed-soft:#3A1715;
  --hero:#0C2420; --hero-2:#103029; --footer:#07120F;
  --ring:#6AD3BF;
  --scrim:rgba(0,0,0,.7);
  --header-bg:rgba(17,28,25,.86);
  --sh-1:0 1px 2px rgba(0,0,0,.4);
  --sh-2:0 10px 24px -12px rgba(0,0,0,.7),0 2px 4px rgba(0,0,0,.3);
  --sh-3:0 24px 52px -18px rgba(0,0,0,.8);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#0B1311; --surface:#111C19; --surface-2:#16231F; --surface-3:#1D2C27;
    --ink:#E6EEEB; --ink-2:#B3C2BD; --ink-3:#93A49E;
    --line:#22312C; --line-2:#2C3D37; --line-strong:#5E726B;
    --brand:#46C2AA; --brand-hover:#6AD3BF; --brand-soft:#12302A; --brand-ink:#7CDCC8; --on-brand:#04211C;
    --star:#F0A73A;
    --open:#57CF85; --open-soft:#10301E;
    --closing:#F2B451; --closing-soft:#33270D;
    --closed:#F2837A; --closed-soft:#3A1715;
    --hero:#0C2420; --hero-2:#103029; --footer:#07120F;
    --ring:#6AD3BF;
    --scrim:rgba(0,0,0,.7);
    --header-bg:rgba(17,28,25,.86);
    --sh-1:0 1px 2px rgba(0,0,0,.4);
    --sh-2:0 10px 24px -12px rgba(0,0,0,.7),0 2px 4px rgba(0,0,0,.3);
    --sh-3:0 24px 52px -18px rgba(0,0,0,.8);
  }
}

@media (min-width:640px){ :root{ --gutter:24px; } }
@media (min-width:1100px){ :root{ --gutter:32px; --header-h:68px; } }

/* --------------------------------------------------------------------------
   ۲. پایه
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}
body{
  margin:0;min-height:100dvh;display:flex;flex-direction:column;
  font-family:var(--font);font-size:var(--t-base);line-height:1.8;font-weight:400;
  color:var(--ink);background:var(--bg);
  text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;
  overflow-x:clip;
}
main{flex:1 0 auto;display:block}
main:focus{outline:none}
h1,h2,h3,h4,p,ul,ol,figure,blockquote,dl,dd{margin:0}
h1,h2,h3,h4{line-height:1.35;font-weight:800;color:var(--ink);text-wrap:balance}
ul,ol{padding:0;list-style:none}
img,svg,video{display:block;max-inline-size:100%}
img{block-size:auto;border:0}
a{color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0;-webkit-tap-highlight-color:transparent}
[hidden]{display:none !important}
::selection{background:var(--brand-soft);color:var(--brand-ink)}
:focus-visible{outline:3px solid var(--ring);outline-offset:2px;border-radius:6px}
.icon{flex:none;vertical-align:middle}
.icon--fill{fill:currentColor}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
.ltr{direction:ltr;unicode-bidi:isolate}

.visually-hidden{position:absolute !important;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:absolute;inset-block-start:-100px;inset-inline-start:var(--gutter);z-index:1000;background:var(--brand);color:var(--on-brand);padding:10px 16px;border-radius:var(--r-sm);font-weight:700}
.skip-link:focus{inset-block-start:12px}
.live-region{position:fixed;inset-block-end:calc(16px + env(safe-area-inset-bottom));inset-inline:0;display:flex;justify-content:center;pointer-events:none;z-index:200}
.live-region__msg:not(:empty){background:var(--ink);color:var(--bg);padding:8px 16px;border-radius:var(--r-pill);font-size:var(--t-sm);font-weight:600;box-shadow:var(--sh-3)}

.container{inline-size:100%;max-inline-size:var(--container);margin-inline:auto;padding-inline:var(--gutter)}
.prose-w{max-inline-size:68ch}

/* --------------------------------------------------------------------------
   ۳. دکمه‌ها، برچسب‌ها، ستاره، وضعیت
   -------------------------------------------------------------------------- */
.btn{
  --h:46px;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  min-block-size:var(--h);padding:0 18px;border-radius:var(--r-sm);
  font-size:15px;font-weight:700;line-height:1.2;white-space:nowrap;
  border:1px solid transparent;cursor:pointer;
  transition:background-color var(--d-1) var(--ease),border-color var(--d-1) var(--ease),color var(--d-1) var(--ease),transform var(--d-1) var(--ease),box-shadow var(--d-2) var(--ease);
  touch-action:manipulation;user-select:none;
}
.btn:active{transform:scale(.98)}
.btn--sm{--h:38px;padding:0 14px;font-size:14px;border-radius:9px}
.btn--lg{--h:54px;padding:0 24px;font-size:16px;border-radius:var(--r-md)}
.btn--block{display:flex;inline-size:100%}
.btn--primary{background:var(--brand);color:var(--on-brand)}
.btn--primary:hover{background:var(--brand-hover)}
.btn--secondary{background:var(--surface);color:var(--ink);border-color:var(--line-2)}
.btn--secondary:hover{border-color:var(--line-strong);background:var(--surface-2)}
.btn--soft{background:var(--brand-soft);color:var(--brand-ink)}
.btn--soft:hover{background:color-mix(in oklab,var(--brand-soft) 80%,var(--brand) 20%)}
.btn--ghost{background:transparent;color:var(--ink-2)}
.btn--ghost:hover{background:var(--surface-2);color:var(--ink)}
.btn .icon{inline-size:18px;block-size:18px;max-inline-size:none}

.icon-btn{
  display:inline-grid;place-items:center;inline-size:44px;block-size:44px;border-radius:12px;
  color:var(--ink-2);transition:background-color var(--d-1) var(--ease),color var(--d-1) var(--ease);
}
.icon-btn:hover{background:var(--surface-2);color:var(--ink)}
.icon-btn:active{transform:scale(.96)}

.tag{
  display:inline-flex;align-items:center;gap:5px;
  padding:3px 10px;border-radius:var(--r-pill);
  background:var(--surface-2);color:var(--ink-2);
  font-size:var(--t-xs);font-weight:600;line-height:1.6;white-space:nowrap;
}
.tag .icon{inline-size:14px;block-size:14px}
.tag--brand{background:var(--brand-soft);color:var(--brand-ink)}
.tags{display:flex;flex-wrap:wrap;gap:6px}

/* ستاره: یک ستارهٔ پر + عدد، یا ردیف پنج‌تایی در جاهای بزرگ */
.rating{display:inline-flex;align-items:center;gap:5px;font-size:var(--t-sm);line-height:1;white-space:nowrap}
.rating__star{color:var(--star)}
.rating__value{font-weight:800;color:var(--ink)}
.rating__count{color:var(--ink-3);font-weight:500}
.rating--few .rating__value{color:var(--ink-2);font-weight:700}
.rating--none{color:var(--ink-3);font-size:var(--t-xs);font-weight:500}
.stars{display:inline-flex;gap:2px;color:var(--star)}
.stars .icon--off{color:var(--line-2)}
.stars .icon:not(.icon--off){fill:currentColor}

.status{
  display:inline-flex;align-items:center;gap:0;
  font-size:var(--t-sm);font-weight:700;line-height:1.5;white-space:nowrap;
}
.status::before{content:"";inline-size:8px;block-size:8px;border-radius:50%;background:currentColor;flex:none;margin-inline-end:8px;box-shadow:0 0 0 3px color-mix(in oklab,currentColor 22%,transparent)}
.status__detail{font-weight:500;color:var(--ink-3)}
.status--open,.status--24h{color:var(--open)}
.status--closing{color:var(--closing)}
.status--closed{color:var(--closed)}
.status--pill{padding:5px 12px 5px 14px;border-radius:var(--r-pill)}
.status--pill.status--open,.status--pill.status--24h{background:var(--open-soft)}
.status--pill.status--closing{background:var(--closing-soft)}
.status--pill.status--closed{background:var(--closed-soft)}

/* --------------------------------------------------------------------------
   ۴. سربرگ
   -------------------------------------------------------------------------- */
.site-header{
  position:sticky;inset-block-start:0;z-index:var(--z-header);
  background:var(--header-bg);
  -webkit-backdrop-filter:saturate(1.6) blur(14px);backdrop-filter:saturate(1.6) blur(14px);
  border-block-end:1px solid var(--line);
}
.site-header__bar{display:flex;align-items:center;gap:var(--s-3);block-size:var(--header-h)}
.brand{display:inline-flex;align-items:center;gap:10px;flex:none;border-radius:12px}
.brand__mark{inline-size:34px;block-size:34px;flex:none}
.brand__name{font-size:18px;font-weight:800;line-height:1;color:var(--ink);white-space:nowrap}
.brand__sub{display:none}
.site-nav{display:none}
.site-header__tools{display:flex;align-items:center;gap:2px;margin-inline-start:auto}
.hdr-search{display:none}

/* ردیف جست‌وجوی موبایل (با دکمهٔ ذره‌بین باز می‌شود) */
.search-drawer{padding-block:0 12px}
.no-js .search-drawer{display:block !important}

@media (min-width:1100px){
  .site-nav{display:flex;align-items:center;gap:2px;margin-inline-start:var(--s-6)}
  .site-header__tools{gap:6px}
  .hdr-search{display:block;inline-size:300px}
  .hdr-search-btn,.menu-btn,.search-drawer{display:none !important}
  .brand__sub{display:block;font-size:12px;font-weight:500;color:var(--ink-3);line-height:1;margin-block-start:5px}
}

/* منوهای کشویی دسکتاپ با <details> — بدون جاوااسکریپت هم باز می‌شوند */
.nav-dd{position:relative}
.nav-dd > summary,.nav-link{
  display:inline-flex;align-items:center;gap:6px;block-size:40px;padding:0 12px;border-radius:10px;
  font-size:15px;font-weight:600;color:var(--ink-2);white-space:nowrap;
  transition:background-color var(--d-1) var(--ease),color var(--d-1) var(--ease);
}
.nav-dd > summary:hover,.nav-link:hover,.nav-dd[open] > summary{background:var(--surface-2);color:var(--ink)}
.nav-dd > summary .icon{transition:transform var(--d-2) var(--ease)}
.nav-dd[open] > summary .icon{transform:rotate(180deg)}
.nav-dd__panel{
  position:absolute;inset-block-start:calc(100% + 8px);inset-inline-start:0;z-index:10;
  min-inline-size:420px;padding:12px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;
  animation:pop var(--d-2) var(--ease);
}
.nav-dd__panel a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:15px;font-weight:600;color:var(--ink)}
.nav-dd__panel a:hover{background:var(--surface-2)}
.nav-dd__panel .icon{color:var(--brand)}
.nav-dd__panel small{font-size:var(--t-xs);color:var(--ink-3);font-weight:500}
.nav-dd__panel span{display:inline-flex;align-items:center;gap:10px;min-inline-size:0}
@keyframes pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* --------------------------------------------------------------------------
   ۵. نوار جست‌وجو و پیشنهادها
   -------------------------------------------------------------------------- */
.searchbar{position:relative;display:flex;align-items:center;gap:8px}
.searchbar__field{
  position:relative;flex:1 1 auto;min-inline-size:0;display:flex;align-items:center;gap:10px;
  block-size:46px;padding-inline:14px 6px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line-2);
  transition:border-color var(--d-1) var(--ease),box-shadow var(--d-1) var(--ease);
}
.searchbar__field:focus-within{border-color:var(--brand);box-shadow:0 0 0 4px color-mix(in oklab,var(--brand) 18%,transparent)}
.searchbar__field > .icon{color:var(--ink-3)}
.searchbar__input{
  flex:1;min-inline-size:0;block-size:100%;border:0;background:transparent;outline:none;
  font-size:16px;color:var(--ink);
}
.searchbar__input::placeholder{color:var(--ink-3);opacity:1}
.searchbar__input::-webkit-search-cancel-button{display:none}
.searchbar__btn{flex:none}
.searchbar__field .searchbar__btn{--h:36px;padding:0 14px;border-radius:10px;font-size:14px}
.searchbar--compact .searchbar__field{block-size:42px;border-radius:12px;background:var(--surface-2);border-color:transparent}
.searchbar--compact .searchbar__field:focus-within{background:var(--surface)}
.searchbar--compact .searchbar__btn{display:none}
.searchbar--hero .searchbar__field{block-size:60px;border-radius:var(--r-lg);padding-inline:20px 8px;border:0;box-shadow:var(--sh-3)}
.searchbar--hero .searchbar__input{font-size:17px}
.searchbar--hero .searchbar__field .searchbar__btn{--h:46px;border-radius:14px;padding:0 22px;font-size:15px}
@media (max-width:639px){
  .searchbar--hero .searchbar__field{block-size:56px;padding-inline:16px 6px}
  /* هم‌وزن با قاعدهٔ دسکتاپ (.searchbar--hero .searchbar__field .searchbar__btn) تا
     پدینگ ۲۲ پیکسلی آن، جعبهٔ ۴۶ پیکسلی را به ۲ پیکسل و آیکون را به صفر نرساند */
  .searchbar--hero .searchbar__field .searchbar__btn{padding:0;inline-size:46px}
  .searchbar--hero .searchbar__btn span{display:none}
}
.searchbar__suggest{
  position:absolute;inset-block-start:calc(100% + 6px);inset-inline:0;z-index:20;
  max-block-size:min(60vh,420px);overflow:auto;padding:6px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line);box-shadow:var(--sh-3);
}
.suggest__item a{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:10px}
.suggest__item.is-active a,.suggest__item a:hover{background:var(--surface-2)}
.suggest__title{font-weight:700;font-size:15px;line-height:1.5;color:var(--ink)}
.suggest__meta{font-size:var(--t-xs);color:var(--ink-3);line-height:1.5}
.suggest__empty{padding:12px;color:var(--ink-3);font-size:var(--t-sm)}

/* --------------------------------------------------------------------------
   ۶. منوی موبایل (<dialog>)
   -------------------------------------------------------------------------- */
.sheet{
  inline-size:min(100vw,420px);max-inline-size:100vw;block-size:100dvh;max-block-size:100dvh;
  margin:0;margin-inline-start:auto;padding:0;border:0;
  background:var(--surface);color:var(--ink);box-shadow:var(--sh-3);
}
.sheet::backdrop{background:var(--scrim)}
.sheet[open]{animation:sheet-in var(--d-3) var(--ease)}
@keyframes sheet-in{from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1}}
.sheet__head{position:sticky;inset-block-start:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 16px;background:var(--surface);border-block-end:1px solid var(--line)}
.sheet__body{padding:16px 16px calc(32px + env(safe-area-inset-bottom));display:grid;gap:24px}
.sheet__title{font-size:13px;font-weight:700;color:var(--ink-3);margin-block-end:8px}
.sheet__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.sheet__link{display:flex;align-items:center;gap:10px;min-block-size:48px;padding:8px 12px;border-radius:12px;background:var(--surface-2);font-weight:600;font-size:15px;line-height:1.4}
.sheet__link .icon{color:var(--brand)}
.sheet__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-radius:12px;background:var(--surface-2);font-weight:600}

/* --------------------------------------------------------------------------
   ۷. مسیر صفحه
   -------------------------------------------------------------------------- */
.breadcrumb{
  display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;
  padding-block:14px 6px;font-size:13.5px;color:var(--ink-3);white-space:nowrap;
  -webkit-mask-image:linear-gradient(to left,#000 calc(100% - 24px),transparent);
          mask-image:linear-gradient(to left,#000 calc(100% - 24px),transparent);
}
.breadcrumb::-webkit-scrollbar{display:none}
.breadcrumb a{color:var(--ink-2);font-weight:500;border-radius:4px}
.breadcrumb a:hover{color:var(--brand)}
.breadcrumb__sep{display:inline-flex;color:var(--line-strong)}
.breadcrumb__item[aria-current] span{color:var(--ink-3)}

/* --------------------------------------------------------------------------
   ۸. بخش‌ها
   -------------------------------------------------------------------------- */
.section{padding-block:var(--s-8)}
.section--tight{padding-block:var(--s-6)}
.section--alt{background:var(--surface);border-block:1px solid var(--line)}
@media (min-width:900px){ .section{padding-block:var(--s-9)} }
.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-block-end:var(--s-5)}
.section-head > div{min-inline-size:0}
.eyebrow{display:block;font-size:13px;font-weight:700;color:var(--brand);margin-block-end:4px}
.section-title{font-size:var(--t-h2);font-weight:800}
.section-sub{margin-block-start:6px;color:var(--ink-3);font-size:15px;line-height:1.7}
.more-link{display:inline-flex;align-items:center;gap:4px;flex:none;font-size:14.5px;font-weight:700;color:var(--brand);padding:6px 2px;border-radius:6px}
.more-link:hover{text-decoration:underline;text-underline-offset:5px}

/* --------------------------------------------------------------------------
   ۹. صفحهٔ اصلی — قهرمان
   -------------------------------------------------------------------------- */
.hero{
  position:relative;isolation:isolate;overflow:hidden;
  background:var(--hero);color:var(--hero-ink);
  padding-block:var(--s-9) var(--s-8);
}
/* نقش گره (ستارهٔ هشت‌پر) با شفافیت کم — اشاره‌ای به کاشی ایرانی، نه تزئین پررنگ */
.hero::before{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.07;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='72' viewBox='0 0 72 72'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Cpath d='M36 8l8 20 20 8-20 8-8 20-8-20-20-8 20-8z'/%3E%3Cpath d='M16 16l20 6 20-6-6 20 6 20-20-6-20 6 6-20z'/%3E%3C/g%3E%3C/svg%3E");
  background-size:72px 72px;
}
.hero::after{
  content:"";position:absolute;z-index:-1;inline-size:900px;block-size:900px;border-radius:50%;
  inset-block-start:-520px;inset-inline-end:-260px;
  background:radial-gradient(closest-side,color-mix(in oklab,#46C2AA 34%,transparent),transparent);
  opacity:.55;
}
.hero__grid{display:grid;gap:var(--s-8);align-items:center}
.hero__inner{display:grid;gap:var(--s-6);max-inline-size:760px;min-inline-size:0}
.hero__art{display:none;position:relative;block-size:440px}
@media (min-width:1100px){
  .hero__grid{grid-template-columns:minmax(0,1fr) 420px}
  .hero__art{display:block}
}
.hero-card{position:absolute;inline-size:270px;border-radius:20px;overflow:hidden;background:var(--surface);color:var(--ink);box-shadow:0 32px 64px -24px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.06)}
.hero-card img{inline-size:100%;aspect-ratio:4/3;object-fit:cover;background:var(--surface-2)}
.hero-card__body{display:grid;gap:6px;padding:12px 14px 14px}
.hero-card__name{font-weight:800;font-size:15px;line-height:1.45;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.hero-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12.5px;color:var(--ink-3)}
.hero-card--a{inset-block-start:0;inset-inline-start:10px;transform:rotate(3deg)}
.hero-card--b{inset-block-end:0;inset-inline-end:0;transform:rotate(-3.5deg)}
.hero-badge{position:absolute;inset-block-start:46%;inset-inline-end:-6px;display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;background:var(--brand);color:var(--on-brand);font-size:13px;font-weight:700;box-shadow:var(--sh-3);z-index:2}
.hero__eyebrow{
  display:inline-flex;align-items:center;gap:8px;align-self:start;justify-self:start;
  padding:6px 12px;border-radius:var(--r-pill);border:1px solid var(--hero-line);
  font-size:13px;font-weight:600;color:var(--hero-ink-2);background:rgba(255,255,255,.04);
}
.hero__eyebrow .icon{color:#7CDCC8}
.hero__title{font-size:var(--t-display);font-weight:900;line-height:1.22;color:var(--hero-ink)}
.hero__title em{font-style:normal;color:#7CDCC8}
.hero__sub{font-size:clamp(16px,.6vw + 14px,19px);line-height:1.85;color:var(--hero-ink-2);max-inline-size:60ch}
.hero .searchbar__field{background:#fff;color:#10201C}
.hero .searchbar__input{color:#10201C}
.hero .searchbar__input::placeholder{color:#5B6B66}
.hero .searchbar__field > .icon{color:#5B6B66}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px}
.hero-chip{
  display:inline-flex;align-items:center;gap:8px;min-block-size:40px;padding:0 14px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.07);border:1px solid var(--hero-line);color:var(--hero-ink);
  font-size:14px;font-weight:600;transition:background-color var(--d-1) var(--ease),border-color var(--d-1) var(--ease);
}
.hero-chip .icon{color:#7CDCC8}
.hero-chip:hover{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.3)}
.hero-stats{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-7);padding-block-start:var(--s-5);border-block-start:1px solid var(--hero-line);margin-block-start:var(--s-2)}
.hero-stat{display:flex;flex-direction:column;gap:2px}
.hero-stat b{font-size:clamp(20px,1.4vw + 14px,28px);font-weight:800;line-height:1.2;color:var(--hero-ink)}
.hero-stat span{font-size:13px;color:var(--hero-ink-2)}

/* --------------------------------------------------------------------------
   ۱۰. کاشی تخصص و شهر
   -------------------------------------------------------------------------- */
.tile-grid{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media (min-width:640px){ .tile-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px} }
@media (min-width:1000px){ .tile-grid--5{grid-template-columns:repeat(5,minmax(0,1fr))} .tile-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))} }

.cat-tile{
  position:relative;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line);min-inline-size:0;
  transition:border-color var(--d-2) var(--ease),box-shadow var(--d-2) var(--ease),transform var(--d-2) var(--ease);
}
.cat-tile__icon{display:grid;place-items:center;inline-size:46px;block-size:46px;border-radius:14px;background:var(--brand-soft);color:var(--brand)}
.cat-tile__text{display:flex;flex-direction:column;gap:2px;min-inline-size:0}
.cat-tile__name{font-size:16px;font-weight:800;line-height:1.4}
.cat-tile__count{font-size:13px;color:var(--ink-3);font-weight:500}
.cat-tile:active{transform:scale(.985)}
@media (hover:hover){
  .cat-tile:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--line));box-shadow:var(--sh-2);transform:translateY(-2px)}
}

.city-tile{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-block-size:72px;padding:14px 16px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line);min-inline-size:0;
  transition:border-color var(--d-2) var(--ease),box-shadow var(--d-2) var(--ease),transform var(--d-2) var(--ease);
}
.city-tile > span{min-inline-size:0;display:flex;flex-direction:column}
.city-tile__name{font-size:16.5px;font-weight:800;line-height:1.4}
.city-tile__prov{font-size:12.5px;color:var(--ink-3);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.city-tile__count{flex:none;font-size:13px;font-weight:700;color:var(--brand-ink);background:var(--brand-soft);padding:3px 10px;border-radius:var(--r-pill)}
.city-tile:active{transform:scale(.985)}
@media (hover:hover){
  .city-tile:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--line));box-shadow:var(--sh-2);transform:translateY(-2px)}
}

/* دو بنر ویژه: شبانه‌روزی و دسترس‌پذیر */
.feature-grid{display:grid;gap:12px}
@media (min-width:760px){ .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
.feature{
  position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;padding:20px;border-radius:var(--r-lg);
  background:var(--surface);border:1px solid var(--line);min-inline-size:0;
  transition:border-color var(--d-2) var(--ease),box-shadow var(--d-2) var(--ease);
}
.feature__icon{display:grid;place-items:center;flex:none;inline-size:56px;block-size:56px;border-radius:16px;background:var(--brand);color:var(--on-brand)}
.feature__body{display:flex;flex-direction:column;flex:1;min-inline-size:0}
.feature__title{font-size:17px;font-weight:800;line-height:1.4}
.feature__text{display:block;font-size:14px;color:var(--ink-3);line-height:1.7;margin-block-start:2px}
.feature__go{margin-inline-start:auto;color:var(--brand);flex:none}
@media (hover:hover){ .feature:hover{border-color:color-mix(in oklab,var(--brand) 45%,var(--line));box-shadow:var(--sh-2)} }

/* --------------------------------------------------------------------------
   ۱۱. کارت کلینیک
   -------------------------------------------------------------------------- */
.ccard{
  position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);
  min-inline-size:0;
  transition:border-color var(--d-2) var(--ease),box-shadow var(--d-2) var(--ease),transform var(--d-2) var(--ease);
}
.ccard:active{transform:scale(.993)}
@media (hover:hover){ .ccard:hover{border-color:color-mix(in oklab,var(--brand) 35%,var(--line));box-shadow:var(--sh-2)} }
.ccard.is-active{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in oklab,var(--brand) 20%,transparent)}
/* کل کارت پیوند است؛ دکمهٔ تماس روی آن می‌نشیند */
.ccard__link::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:1}
.ccard__link:focus-visible{outline:none}
.ccard__link:focus-visible::after{outline:3px solid var(--ring);outline-offset:2px}
.ccard__media{position:relative;overflow:hidden;background:var(--surface-2);flex:none}
.ccard__media img{inline-size:100%;block-size:100%;object-fit:cover}
.ccard__ph{display:grid;place-items:center;inline-size:100%;block-size:100%;color:var(--line-strong)}
.ccard__title{font-size:16px;font-weight:800;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.ccard__meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 12px;font-size:var(--t-sm)}
.ccard__addr{display:flex;align-items:flex-start;gap:5px;font-size:13.5px;line-height:1.6;color:var(--ink-3);min-inline-size:0}
.ccard__addr .icon{margin-block-start:3px;color:var(--line-strong)}
.ccard__addr span{overflow:hidden;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}
.ccard__call{position:relative;z-index:2}
.ccard .status{font-size:13px;white-space:normal;flex-wrap:wrap;align-items:baseline;min-inline-size:0}
.ccard .status::before{align-self:center}

/* ردیفی: فهرست شهر × دسته، جست‌وجو */
.ccard--row{display:grid;grid-template-columns:96px minmax(0,1fr);gap:14px;padding:12px;align-items:start;
  content-visibility:auto;contain-intrinsic-size:auto 128px}
.ccard--row .ccard__media{inline-size:96px;block-size:96px;border-radius:12px}
.ccard--row .ccard__body{display:flex;flex-direction:column;gap:6px;min-inline-size:0}
.ccard--row .ccard__foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 10px;margin-block-start:2px;min-inline-size:0}
.ccard--row .ccard__foot .tags{flex:1 1 auto;min-inline-size:0}
.ccard--row .ccard__call{flex:none;margin-inline-start:auto}
/* روی گوشی ۳۲۰ پیکسلی متن کارت فقط ~۱۵۰ پیکسل جا دارد؛ دکمهٔ تماس آیکونی می‌شود.
   بدون پشتیبانیِ container query هم flex-wrap جلوی بیرون‌زدن را می‌گیرد. */
.ccard--row{container:card / inline-size}
@container card (max-width: 330px){
  .ccard__call{inline-size:38px;padding:0}
  .ccard__call span{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
}
.ccard--row .ccard__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media (min-width:640px){
  .ccard--row{grid-template-columns:132px minmax(0,1fr);padding:14px;gap:16px;contain-intrinsic-size:auto 150px}
  .ccard--row .ccard__media{inline-size:132px;block-size:120px}
}

/* کاشی: نوار افقی «برترین‌ها» و «مشابه» */
.ccard--tile{display:flex;flex-direction:column;overflow:hidden}
.ccard--tile .ccard__media{aspect-ratio:4/3}
.ccard--tile .ccard__body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px}
.ccard--tile .ccard__sub{font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden}
.ccard--tile .ccard__title{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-block-size:3em}
.ccard__count{position:absolute;inset-block-end:8px;inset-inline-start:8px;z-index:2;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:var(--r-pill);background:rgba(8,20,17,.72);color:#fff;font-size:12px;font-weight:600}

/* نوار افقی با scroll-snap */
.rail{
  display:grid;grid-auto-flow:column;grid-auto-columns:min(78%,260px);gap:12px;
  overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;
  margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);padding-block:4px 10px;
  scroll-padding-inline:var(--gutter);
}
.rail::-webkit-scrollbar{display:none}
.rail > *{scroll-snap-align:start}
@media (min-width:900px){
  .rail{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}
}

/* --------------------------------------------------------------------------
   ۱۲. صفحه‌های فهرست
   -------------------------------------------------------------------------- */
.page-head{padding-block:4px var(--s-5)}
.page-title{font-size:var(--t-h1);font-weight:900;line-height:1.3}
.page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;margin-block-start:10px;font-size:14.5px;color:var(--ink-3)}
.page-meta b{color:var(--ink);font-weight:800}
/* جداکنندهٔ خطی، نه نقطه: نقطه کنار رقم فارسی با «۰» اشتباه گرفته می‌شود */
.page-meta > span + span{padding-inline-start:14px;border-inline-start:1px solid var(--line-2)}
.page-intro{margin-block-start:12px;max-inline-size:72ch;color:var(--ink-2);font-size:15.5px;line-height:1.9}

/* نوار فیلتر: یک ردیف افقی، چسبان زیر سربرگ */
.filterbar{
  position:sticky;inset-block-start:var(--header-h);z-index:var(--z-sticky);
  margin-inline:calc(var(--gutter) * -1);padding:10px var(--gutter);
  background:color-mix(in oklab,var(--bg) 92%,transparent);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-block-end:1px solid var(--line);
}
.filterbar__row{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;padding-block:2px}
.filterbar__row::-webkit-scrollbar{display:none}
.fchip{
  position:relative;display:inline-flex;align-items:center;gap:7px;flex:none;
  min-block-size:40px;padding:0 14px;border-radius:var(--r-pill);
  background:var(--surface);border:1px solid var(--line-2);color:var(--ink);
  font-size:14px;font-weight:600;white-space:nowrap;cursor:pointer;
  transition:background-color var(--d-1) var(--ease),border-color var(--d-1) var(--ease),color var(--d-1) var(--ease);
}
.fchip:hover{border-color:var(--line-strong)}
.fchip input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.fchip:has(input:focus-visible){outline:3px solid var(--ring);outline-offset:2px}
.fchip .icon{color:var(--ink-3)}
.fchip__n{font-size:12px;font-weight:700;color:var(--ink-3)}
.fchip.is-on{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}
.fchip.is-on .icon,.fchip.is-on .fchip__n{color:var(--brand-ink)}
.fchip--select{padding-inline:12px 10px}
.fchip--select select{
  appearance:none;-webkit-appearance:none;border:0;background:transparent;outline:none;
  font-weight:700;font-size:14px;color:inherit;padding-inline-end:4px;cursor:pointer;
}
.fchip--select:has(select:focus-visible){outline:3px solid var(--ring);outline-offset:2px}
.fchip__label{color:var(--ink-3);font-weight:500}
.fchip-sep{flex:none;inline-size:1px;block-size:24px;background:var(--line-2)}
.fchip--clear{background:transparent;border-color:transparent;color:var(--closed)}

.results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:16px 12px}
.results-count{font-size:14.5px;color:var(--ink-3)}
.results-count b{color:var(--ink);font-weight:800}
.results{display:grid;gap:10px}
@media (min-width:760px){ .results--grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} }

/* فهرست + نقشهٔ چسبان در دسکتاپ */
.listing-layout{display:grid;gap:16px;min-inline-size:0}
.listing-layout > *{min-inline-size:0}
.listing-map{margin-block-end:12px}
.listing-map--side{display:none;margin:0}
.listing-map__canvas{block-size:340px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
@media (min-width:1100px){
  .listing-layout{grid-template-columns:minmax(0,1fr) minmax(360px,40%);gap:24px;align-items:start}
  #listing-map,.map-toggle{display:none !important}
  .listing-map--side{display:block;position:sticky;inset-block-start:calc(var(--header-h) + 76px)}
  .listing-map--side .listing-map__canvas{block-size:calc(100dvh - var(--header-h) - 100px);min-block-size:420px}
}
.after-results{margin-block-start:16px}
/* نشانهٔ نقشه: سنجاق با امتیاز */
.mk{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:var(--r-pill);background:var(--surface);color:var(--ink);border:1.5px solid var(--brand);font:800 12.5px/1 var(--font);box-shadow:var(--sh-2);white-space:nowrap;transform:translate(-50%,-50%)}
.mk--on{background:var(--brand);color:var(--on-brand);z-index:1000 !important}
.mk-wrap{background:none;border:0}
.leaflet-popup-content{font-family:var(--font);margin:12px 14px}
.leaflet-popup-content a{color:var(--brand);font-weight:700}

.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;padding-block:24px 8px}
.pager a,.pager span{display:inline-grid;place-items:center;min-inline-size:44px;block-size:44px;padding:0 10px;border-radius:12px;font-weight:700;font-size:15px}
.pager a{background:var(--surface);border:1px solid var(--line-2);color:var(--ink)}
.pager a:hover{border-color:var(--line-strong)}
.pager a[aria-current]{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.pager span{color:var(--ink-3)}

.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{display:inline-flex;align-items:center;gap:8px;min-block-size:40px;padding:0 14px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line-2);font-size:14px;font-weight:600;color:var(--ink);transition:border-color var(--d-1) var(--ease),background-color var(--d-1) var(--ease)}
.chip:hover{border-color:var(--line-strong)}
.chip__count{font-size:12px;font-weight:700;color:var(--ink-3)}
.chip--active{background:var(--brand-soft);border-color:var(--brand);color:var(--brand-ink)}

/* --------------------------------------------------------------------------
   ۱۳. صفحهٔ کلینیک
   -------------------------------------------------------------------------- */
.clinic{padding-block-end:var(--s-8)}

/* گالری: موبایل = نوار لغزان تمام‌عرض؛ دسکتاپ = موزاییک */
.gallery{position:relative;margin-block-end:4px}
.gallery__track{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;
  margin-inline:calc(var(--gutter) * -1);
}
.gallery__track::-webkit-scrollbar{display:none}
.gallery__item{position:relative;flex:0 0 100%;scroll-snap-align:center;aspect-ratio:4/3;max-block-size:62vh;background:var(--surface-2);overflow:hidden;border:0;padding:0;cursor:zoom-in}
.gallery__item img{inline-size:100%;block-size:100%;object-fit:cover;transition:transform var(--d-3) var(--ease)}
.gallery__count{
  position:absolute;inset-block-end:12px;inset-inline-start:12px;z-index:2;
  display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--r-pill);
  background:rgba(8,20,17,.72);color:#fff;font-size:12.5px;font-weight:700;pointer-events:none;
}
.gallery__all{display:none}
@media (min-width:760px){
  .gallery{margin-block-start:8px}
  .gallery__track{
    display:grid;overflow:visible;margin-inline:0;gap:8px;border-radius:var(--r-lg);overflow:hidden;
    grid-template-columns:2fr 1fr 1fr;grid-template-rows:repeat(2,minmax(0,1fr));
    block-size:clamp(300px,34vw,440px);
  }
  .gallery__item{aspect-ratio:auto;max-block-size:none;block-size:100%}
  .gallery__item:first-child{grid-row:1 / span 2}
  .gallery__item:nth-child(n+6){display:none}
  .gallery__track[data-n="1"]{grid-template-columns:1fr;grid-template-rows:1fr}
  .gallery__track[data-n="2"]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}
  .gallery__track[data-n="2"] .gallery__item:first-child{grid-row:auto}
  .gallery__track[data-n="3"]{grid-template-columns:2fr 1fr}
  .gallery__track[data-n="4"]{grid-template-columns:2fr 1fr 1fr}
  .gallery__track[data-n="4"] .gallery__item:nth-child(4){grid-column:2 / span 2}
  .gallery__count{display:none}
  .gallery__all{
    display:inline-flex;position:absolute;inset-block-end:14px;inset-inline-end:14px;z-index:2;
    background:var(--surface);color:var(--ink);box-shadow:var(--sh-2);
  }
  .gallery__item:hover img{transform:scale(1.03)}
}

.cl-head{display:grid;gap:14px;padding-block:18px 4px}
.cl-head__kicker{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;font-size:14px;color:var(--ink-3);font-weight:500}
.cl-head__kicker a{color:var(--ink-2);font-weight:600}
.cl-head__kicker a:hover{color:var(--brand)}
.cl-head__kicker .dotsep{inline-size:3px;block-size:3px;border-radius:50%;background:currentColor;opacity:.6}
.cl-title{font-size:var(--t-h1);font-weight:900;line-height:1.32;overflow-wrap:anywhere}
.cl-head__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.cl-rating{display:inline-flex;align-items:center;gap:8px;font-size:15px}
.cl-rating b{font-size:18px;font-weight:900}
.cl-rating a{color:var(--ink-3);font-weight:500;text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:5px}
.cl-rating a:hover{color:var(--brand);text-decoration-color:currentColor}
.cl-head__alias{font-size:14px;color:var(--ink-3)}

/* ردیف کنش‌ها: تماس، مسیر، وب، اشتراک */
.actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding-block:14px 6px}
.actions[data-n="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.actions[data-n="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}
.action{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  min-block-size:68px;padding:8px 4px;border-radius:var(--r-md);
  background:var(--surface);border:1px solid var(--line);color:var(--ink);
  font-size:13px;font-weight:700;line-height:1.3;text-align:center;
  transition:background-color var(--d-1) var(--ease),border-color var(--d-1) var(--ease),transform var(--d-1) var(--ease);
}
.action .icon{color:var(--brand);inline-size:22px;block-size:22px}
.action:hover{border-color:var(--line-strong)}
.action:active{transform:scale(.97)}
.action--primary{background:var(--brand);border-color:var(--brand);color:var(--on-brand)}
.action--primary .icon{color:var(--on-brand)}
.action--primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.action[aria-disabled="true"]{opacity:.5;pointer-events:none}

/* بدنهٔ دوستونه در دسکتاپ */
.cl-body{display:grid;gap:12px;min-inline-size:0;margin-block-start:12px}
.cl-main{display:grid;gap:12px;min-inline-size:0}
.cl-aside{display:none;min-inline-size:0}
@media (min-width:1100px){
  .cl-body{grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start;margin-block-start:24px}
  .cl-aside{display:block;position:sticky;inset-block-start:calc(var(--header-h) + 20px)}
  .actions{display:none}
  .cl-main{gap:16px}
}

.block{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px;min-inline-size:0}
@media (min-width:640px){ .block{padding:24px} }
.block__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-end:14px}
.block__title{font-size:18px;font-weight:800;display:flex;align-items:center;gap:10px}
.block__title .icon{color:var(--brand)}
.block__note{font-size:13px;color:var(--ink-3)}

/* سطرهای اطلاعات (تلفن، نشانی، وب‌سایت…) */
.facts{display:grid}
.fact{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:12px;border-block-start:1px solid var(--line)}
/* کل سطر لمس‌پذیر است؛ دکمهٔ کپی روی آن می‌نشیند */
.fact a.fact__value::after{content:"";position:absolute;inset:0}
.fact a.fact__value:focus-visible{outline:none}
.fact a.fact__value:focus-visible::after{outline:3px solid var(--ring);outline-offset:2px;border-radius:12px}
.fact__ext{color:var(--ink-3)}
.fact:first-child{border-block-start:0;padding-block-start:2px}
.fact__icon{display:grid;place-items:center;inline-size:40px;block-size:40px;border-radius:12px;background:var(--surface-2);color:var(--brand)}
.fact__body{min-inline-size:0;display:flex;flex-direction:column;gap:1px}
.fact__label{font-size:12.5px;color:var(--ink-3);font-weight:500;line-height:1.5}
.fact__value{font-size:15.5px;font-weight:700;line-height:1.6;overflow-wrap:anywhere;color:var(--ink)}
a.fact__value:hover,.fact__value a:hover{color:var(--brand)}
.fact__sub{font-size:13px;color:var(--ink-3);line-height:1.6}
.fact .status{white-space:normal;align-items:baseline;flex-wrap:wrap}
.fact .status::before{align-self:center}
.fact__act{position:relative;z-index:1;display:flex;gap:2px}

/* متن معرفی */
.prose{color:var(--ink-2);font-size:16px;line-height:2;max-inline-size:68ch}
.prose p + p{margin-block-start:14px}
@media (min-width:900px){ .prose{font-size:16.5px} }
.more{margin-block-start:10px}
.more > summary{display:inline-flex;align-items:center;gap:6px;font-weight:700;color:var(--brand);font-size:15px;padding:6px 0;border-radius:6px}
.more > summary .icon{transition:transform var(--d-2) var(--ease)}
.more[open] > summary .icon{transform:rotate(180deg)}
.more[open] > summary .more__open{display:none}
.more:not([open]) > summary .more__close{display:none}
.more[open] > .prose{margin-block-start:14px}
.svc{margin-block-start:18px;padding-block-start:16px;border-block-start:1px dashed var(--line-2)}
.svc__title{font-size:14px;font-weight:700;color:var(--ink-3);margin-block-end:10px}
/* خدمات: عبارت‌ها گاهی بلندند، پس برخلاف .tag می‌شکنند */
.tag--svc{white-space:normal;background:var(--brand-soft);color:var(--brand-ink);font-size:14px;padding:4px 12px}
.notes{display:grid;gap:8px}
.notes li{display:flex;align-items:flex-start;gap:8px;font-size:15px;line-height:1.8;color:var(--ink-2)}
.notes .icon{flex:none;margin-block-start:5px;color:var(--brand)}

/* ساعت کاری */
.hours{display:grid;gap:2px}
.hours__row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;font-size:15px}
.hours__row:nth-child(odd){background:var(--surface-2)}
.hours__day{font-weight:600;color:var(--ink-2)}
.hours__time{font-weight:700;color:var(--ink);direction:rtl}
.hours__time--closed{color:var(--closed)}
.hours__row.is-today{background:var(--brand-soft);color:var(--brand-ink)}
.hours__row.is-today .hours__day,.hours__row.is-today .hours__time{color:var(--brand-ink);font-weight:800}
.hours__today-tag{font-size:12px;font-weight:700;margin-inline-start:6px;padding:1px 8px;border-radius:var(--r-pill);background:var(--brand);color:var(--on-brand)}

/* نظرها */
.rv-summary{display:flex;align-items:center;gap:16px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);margin-block-end:16px}
.rv-summary__num{font-size:40px;font-weight:900;line-height:1;color:var(--ink)}
.rv-summary__meta{display:flex;flex-direction:column;gap:6px;font-size:14px;color:var(--ink-3)}
.rv-group + .rv-group{margin-block-start:20px}
.rv-group__title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:800;margin-block-end:10px}
.rv-group__title--good{color:var(--open)}
.rv-group__title--bad{color:var(--closed)}
.rv-list{display:grid;gap:10px}
@media (min-width:900px){ .rv-list{grid-template-columns:repeat(2,minmax(0,1fr))} }
.review{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);min-inline-size:0}
.review__head{display:flex;align-items:center;gap:10px;min-inline-size:0}
.review__avatar{display:grid;place-items:center;flex:none;inline-size:36px;block-size:36px;border-radius:50%;font-weight:800;font-size:15px}
.review--good .review__avatar{background:var(--open-soft);color:var(--open)}
.review--bad .review__avatar{background:var(--closed-soft);color:var(--closed)}
.review__who{min-inline-size:0;display:flex;flex-direction:column;gap:2px}
.review__author{font-weight:700;font-size:14.5px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.review__sub{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3)}
.review__text{unicode-bidi:plaintext;text-align:start;font-size:15px;line-height:1.95;color:var(--ink-2);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:6;-webkit-box-orient:vertical;overflow:hidden}
[data-clamp].is-open{-webkit-line-clamp:unset !important;display:block !important}
.review__more{align-self:flex-start;font-size:14px;font-weight:700;color:var(--brand);padding:2px 0;border-radius:4px}
.rv-foot{margin-block-start:14px;font-size:13px;color:var(--ink-3)}
/* خلاصهٔ نظرها: دو ستون «پسندیده‌اند / گلایه داشته‌اند» بالای نظرهای کامل */
.rv-digest{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin-block-end:18px}
.rv-digest__col{padding:12px 14px;border-radius:var(--r-md);min-inline-size:0}
.rv-digest__col--good{background:var(--open-soft)}
.rv-digest__col--bad{background:var(--closed-soft)}
.rv-digest__label{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;margin-block-end:6px}
.rv-digest__col--good .rv-digest__label{color:var(--open)}
.rv-digest__col--bad .rv-digest__label{color:var(--closed)}
.rv-digest ul{display:grid;gap:4px;padding-inline-start:18px;list-style:disc;font-size:14.5px;line-height:1.8;color:var(--ink)}
.rv-digest__n{font-size:13px;color:var(--ink-3);white-space:nowrap}

/* پرسش‌های رایج: آکاردئون بومی؛ بی‌جاوااسکریپت هم کار می‌کند */
.faq{display:grid;gap:8px}
.faq__item{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:12px;min-block-size:48px;padding:10px 14px;
  font-size:15px;font-weight:700;cursor:pointer;list-style:none;border-radius:var(--r-md)}
.faq__q::-webkit-details-marker{display:none}
.faq__q .icon{flex:none;color:var(--ink-3);transition:transform var(--d-2) var(--ease)}
.faq__item[open] > .faq__q .icon{transform:rotate(180deg)}
.faq__a{padding:0 14px 14px;font-size:15px;line-height:1.9;color:var(--ink-2)}
.faq__a a{color:var(--brand);font-weight:700}

/* صفحه‌های متنی (درباره) */
.doc h2{font-size:20px;font-weight:800;color:var(--ink);margin-block:30px 10px;line-height:1.6}
.doc .btn{margin-block-start:6px}

/* پیام وضعیت فرم */
.notice{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:var(--r-md);margin-block:16px;max-inline-size:68ch;line-height:1.9}
.notice .icon{flex:none;margin-block-start:3px}
.notice--ok{background:var(--open-soft);color:var(--ink)}
.notice--ok .icon{color:var(--open)}
.notice--error{background:var(--closed-soft);color:var(--ink)}
.notice--error .icon{color:var(--closed)}
.notice__title{font-weight:800}

/* فرم تماس */
.form{display:grid;gap:18px;max-inline-size:68ch;margin-block:20px 8px}
.form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:18px}
.form__hp{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.field{display:grid;gap:6px;min-inline-size:0}
.field__label{font-size:15px;font-weight:700}
.field__req,.field__opt{font-weight:400;font-size:13px;color:var(--ink-3)}
.field__input{inline-size:100%;min-block-size:48px;padding:10px 14px;border:1px solid var(--line-strong);border-radius:var(--r-md);
  background:var(--surface);font-size:16px;line-height:1.8}
textarea.field__input{resize:vertical;min-block-size:150px}
.field__input:focus-visible{outline:3px solid var(--ring);outline-offset:1px;border-color:var(--brand)}
.field__help{font-size:13.5px;color:var(--ink-3);line-height:1.8}
.field__help a{color:var(--brand)}

/* «در یک نگاه» صفحهٔ فهرست */
.glance{margin-block-start:14px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);
  max-inline-size:80ch;font-size:15px;line-height:2;color:var(--ink-2)}
.glance a{color:var(--brand);font-weight:700}
.glance p + p{margin-block-start:6px}

/* نقشه */
.map{position:relative;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}
.map__canvas{block-size:260px;inline-size:100%}
@media (min-width:640px){ .map__canvas{block-size:320px} }
.map__fallback{padding:16px;font-size:14px;color:var(--ink-2)}
.map--ready .map__fallback{display:none}
.no-js .map__canvas,.map:not(.map--ready) .map__canvas:empty{display:none}
.place{display:flex;align-items:flex-start;gap:10px;margin-block-start:14px;font-size:15px;line-height:1.8}
.place .icon{margin-block-start:5px;color:var(--brand)}
.place__text{flex:1;min-inline-size:0;font-weight:600}
.map-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-block-start:14px}

/* اینستاگرام */
.ig__head{display:flex;align-items:center;gap:14px;min-inline-size:0}
.ig__avatar{
  flex:none;inline-size:60px;block-size:60px;border-radius:50%;padding:2.5px;
  background:conic-gradient(from 210deg,#F58529,#DD2A7B,#8134AF,#515BD4,#F58529);
}
.ig__avatar img,.ig__avatar span{inline-size:100%;block-size:100%;border-radius:50%;object-fit:cover;border:2.5px solid var(--surface);background:var(--surface-2);display:grid;place-items:center;color:var(--ink-3)}
.ig__who{min-inline-size:0;display:flex;flex-direction:column;gap:2px}
.ig__name{font-weight:800;font-size:16px;line-height:1.45;overflow-wrap:anywhere}
.ig__handle{font-size:14px;color:var(--brand);font-weight:600}
.ig__stat{font-size:13px;color:var(--ink-3)}
.ig__bio{margin-block-start:14px;white-space:pre-line;unicode-bidi:plaintext;text-align:start;font-size:15px;line-height:1.9;color:var(--ink-2);overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.ig__posts{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,44%);gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-block:16px 14px;margin-inline:-18px;padding-inline:18px}
.ig__posts::-webkit-scrollbar{display:none}
@media (min-width:640px){ .ig__posts{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0} }
.ig-post{scroll-snap-align:start;min-inline-size:0}
.ig-post__frame{position:relative;display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.ig-post__frame img{inline-size:100%;block-size:100%;object-fit:cover}
.ig-post__badge{position:absolute;inset-block-start:6px;inset-inline-start:6px;display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:var(--r-pill);background:rgba(8,20,17,.72);color:#fff;font-size:11.5px;font-weight:700}
.ig-post__cap{unicode-bidi:plaintext;text-align:start;margin-block-start:8px;font-size:13px;line-height:1.75;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}

/* ستون کناری (دسکتاپ) */
.aside-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--sh-1);display:grid;gap:14px}
.aside-card__status{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:var(--r-md);background:var(--surface-2)}
.aside-card__status .status__detail{font-size:13.5px}
.aside-card__phone{font-size:20px;font-weight:900;direction:ltr;unicode-bidi:isolate}
.aside-card__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.aside-nav{margin-block-start:14px;padding:14px 16px;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface)}
.aside-nav__title{font-size:12.5px;font-weight:700;color:var(--ink-3);margin-block-end:6px}
.aside-nav a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 6px;border-radius:8px;font-size:14.5px;font-weight:600;color:var(--ink-2)}
.aside-nav a:hover{background:var(--surface-2);color:var(--ink)}
.aside-nav .icon{color:var(--ink-3)}

.verified-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:var(--r-md);background:var(--surface-2);font-size:13.5px;line-height:1.8;color:var(--ink-3)}
.verified-note .icon{flex:none;margin-block-start:3px;color:var(--brand)}
.verified-note b{color:var(--ink-2)}
.verified-note a{display:inline-block;margin-block-start:2px;color:var(--brand);font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* نوار کنش چسبان پایین (موبایل) */
.action-bar{
  position:fixed;inset-inline:0;inset-block-end:0;z-index:var(--z-bar);
  display:flex;gap:8px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));
  background:var(--surface);border-block-start:1px solid var(--line);box-shadow:0 -10px 30px -18px rgba(16,32,28,.4);
  transform:translateY(110%);transition:transform var(--d-3) var(--ease);
}
.action-bar.is-shown,.no-js .action-bar{transform:none}
.action-bar .btn{flex:1;min-inline-size:0}
.action-bar .btn--primary{flex:2}
.has-action-bar{padding-block-end:calc(72px + env(safe-area-inset-bottom))}
@media (min-width:1100px){ .action-bar{display:none} .has-action-bar{padding-block-end:0} }

/* نمایشگر تمام‌صفحهٔ عکس */
.lightbox{
  inline-size:100vw;block-size:100dvh;max-inline-size:100vw;max-block-size:100dvh;
  margin:0;padding:0;border:0;background:#050B0A;color:#fff;overflow:hidden;
}
.lightbox::backdrop{background:#050B0A}
.lightbox[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto;animation:fade var(--d-2) var(--ease)}
@keyframes fade{from{opacity:0}to{opacity:1}}
.lightbox__top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px calc(10px);padding-block-start:calc(10px + env(safe-area-inset-top))}
.lightbox__count{font-size:14px;font-weight:700;color:rgba(255,255,255,.8)}
.lightbox__stage{position:relative;display:grid;place-items:center;min-block-size:0;padding:0 8px}
.lightbox__stage img{max-inline-size:100%;max-block-size:100%;object-fit:contain;border-radius:6px}
.lightbox .icon-btn{color:#fff;background:rgba(255,255,255,.08)}
.lightbox .icon-btn:hover{background:rgba(255,255,255,.18)}
.lightbox__nav{display:flex;justify-content:center;gap:12px;padding:12px 12px calc(16px + env(safe-area-inset-bottom))}
.lightbox__nav .icon-btn{inline-size:52px;block-size:52px;border-radius:50%}

/* --------------------------------------------------------------------------
   ۱۴. مقایسه، حالت خالی، صفحه‌بندی جست‌وجو
   -------------------------------------------------------------------------- */
.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:48px 20px;border-radius:var(--r-lg);border:1px dashed var(--line-2);background:var(--surface)}
.empty-state .icon{color:var(--line-strong)}
.empty-state__title{font-size:18px;font-weight:800}
.empty-state--page{margin-block:var(--s-7)}
h1.empty-state__title{font-size:var(--t-h2)}
.empty-state__text{color:var(--ink-3);max-inline-size:52ch}

.compare-scroll{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--line);background:var(--surface)}
.compare-table{inline-size:100%;border-collapse:collapse;min-inline-size:640px;font-size:15px}
.compare-table th,.compare-table td{padding:12px 14px;text-align:start;vertical-align:top;border-block-end:1px solid var(--line)}
.compare-table thead th{background:var(--surface-2);font-weight:800}
.compare-table__corner,.compare-table tbody th{color:var(--ink-3);font-weight:600;font-size:14px;white-space:nowrap}
.compare-table__media img{inline-size:100%;max-inline-size:220px;aspect-ratio:3/2;object-fit:cover;border-radius:10px}
.compare-table__ph{display:grid;place-items:center;inline-size:100%;max-inline-size:220px;aspect-ratio:3/2;border-radius:10px;background:var(--surface-2);color:var(--line-strong)}
.compare-table__name{font-weight:800;font-size:16px}
.compare-table__name a:hover{color:var(--brand)}
.compare-table__sub,.compare-table__unit,.compare-table__addr,.compare-table__handle{font-size:13.5px;color:var(--ink-3)}
.compare-table__best{display:inline-flex;margin-inline-start:6px;padding:1px 8px;border-radius:var(--r-pill);background:var(--open-soft);color:var(--open);font-size:12px;font-weight:700}
.compare-table__none{color:var(--ink-3)}
.compare-table__tel{font-weight:700;color:var(--brand)}
.compare-note{margin-block-start:12px;font-size:13.5px;color:var(--ink-3)}
.compare-back{margin-block-start:16px}
.is-best{background:color-mix(in oklab,var(--open-soft) 60%,transparent)}

/* سازگاری با چند کلاس قدیمی که در صفحه‌های کمتر دیده‌شده مانده‌اند */
.clinic-hero{padding-block:4px var(--s-5)}
.clinic-hero__title{font-size:var(--t-h1);font-weight:900;line-height:1.3}
.clinic-hero__sub{margin-block-start:10px;color:var(--ink-2);max-inline-size:72ch;line-height:1.9}
.section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-block-end:16px}
.section__title{font-size:var(--t-h2);font-weight:800}
.grid--cards{display:grid;gap:10px}
@media (min-width:760px){ .grid--cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px} }
.chips{display:flex;flex-wrap:wrap;gap:8px}
.listing-count{color:var(--ink-3);font-size:14.5px;padding-block:10px}
.listing-count strong{color:var(--ink);font-weight:800}
.reviews__source{font-size:13.5px;color:var(--ink-3);margin-block-start:14px}

/* --------------------------------------------------------------------------
   ۱۵. پاورقی
   -------------------------------------------------------------------------- */
.footer{background:var(--footer);color:var(--hero-ink-2);margin-block-start:var(--s-9);padding-block:var(--s-9) var(--s-6)}
.footer a{color:var(--hero-ink-2);transition:color var(--d-1) var(--ease)}
.footer a:hover{color:#fff}
.footer__top{display:grid;gap:32px}
@media (min-width:900px){ .footer__top{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px} }
.footer__brand{display:grid;gap:14px;align-content:start}
.footer__brand .brand__name{color:#fff}
.footer__about{font-size:14px;line-height:1.95;max-inline-size:44ch}
.footer__links{display:flex;flex-wrap:wrap;gap:4px 16px;margin-block-start:12px;font-size:14.5px}
.footer__links a{display:inline-block;padding-block:6px;text-decoration:underline;text-underline-offset:4px}
.footer__title{font-size:14px;font-weight:800;color:#fff;margin-block-end:12px}
.footer__list{display:grid;gap:4px;font-size:14.5px}
.footer__list--2{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
.footer__list a{display:block;padding-block:6px}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-block-start:var(--s-8);padding-block-start:var(--s-5);border-block-start:1px solid var(--hero-line);font-size:13px}
.more--list > summary{min-block-size:44px}
.more--list[open] > .seo-links{margin-block-start:14px}
.seo-links{columns:2;column-gap:20px;font-size:13.5px;line-height:1.6}
.seo-links li{break-inside:avoid;padding-block:4px}
.seo-links a{color:var(--ink-2)}
.seo-links a:hover{color:var(--brand)}
@media (min-width:760px){ .seo-links{columns:3} }
@media (min-width:1100px){ .seo-links{columns:4} }

/* --------------------------------------------------------------------------
   ۱۶. حرکت کمتر، چاپ
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}
}
@media print{
  .site-header,.footer,.action-bar,.filterbar,.gallery,.map,.actions,.cl-aside,.rail{display:none !important}
  body{background:#fff;color:#000}
  .block{border:0;padding:0}
}
