/* ==========================================================================
   جمعشید — Home
   ساختار: ۱) توکن‌ها  ۲) پایه  ۳) هدر  ۴) هیرو  ۵) بخش‌ها  ۶) فوتر
            ۷) موشن  ۸) ریسپانسیو
   رنگ‌ها و فاصله‌ها همگی از متغیرهای :root می‌آیند؛ برای تغییر تم فقط
   همان بلوک را ویرایش کنید.
   ========================================================================== */

@font-face{font-family:'Yekan Bakh';src:url('../fonts/YekanBakh-Light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:'Yekan Bakh';src:url('../fonts/YekanBakh-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Yekan Bakh';src:url('../fonts/YekanBakh-Medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}

:root{
  /* --- جوهرهای چاپ (از لوگو) --- */
  --coral:#FE6856;
  --indigo:#3C2E79;
  --cedar:#2A7F6F;
  --sun:#F0AC36;
  --night:#171038;

  --art-paper:#F7EFE4;      /* کاغذ تصویرها؛ ثابت در هر دو تم */
  --bg:#FBF8F4;
  --surface:#FFFFFF;
  --ink:#241B52;
  --ink-soft:#6A618C;
  --line:rgba(60,46,121,.12);
  --line-strong:rgba(60,46,121,.26);

  --r-lg:30px; --r-md:20px; --r-sm:13px;
  --maxw:1296px;
  --gut:clamp(20px,4.2vw,52px);

  --t-display:clamp(2rem,3.4vw,3rem);
  --t-h2:clamp(1.8rem,3.4vw,2.85rem);
  --t-h3:clamp(1.15rem,1.6vw,1.45rem);
  --t-body:1.0625rem;
  --t-sm:.9375rem;
  --t-xs:.8125rem;

  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --bg:#130F2E; --surface:#1B1543; --ink:#F3EBE1; --ink-soft:#AAA1CA;
    --line:rgba(243,235,225,.15); --line-strong:rgba(243,235,225,.3);
  }
}
:root[data-theme="dark"]{
  --bg:#130F2E; --surface:#1B1543; --ink:#F3EBE1; --ink-soft:#AAA1CA;
  --line:rgba(243,235,225,.15); --line-strong:rgba(243,235,225,.3);
}
html{scroll-behavior:smooth;scroll-padding-top:calc(86px + env(safe-area-inset-top,0px));overflow-x:clip}
*,*::before,*::after{box-sizing:border-box}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:'Yekan Bakh',Tahoma,'Segoe UI',system-ui,sans-serif;
  font-weight:400;font-size:var(--t-body);line-height:1.95;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
h1,h2,h3,h4,p{margin:0}
ul,ol{margin:0;padding:0;list-style:none}
:focus-visible{outline:3px solid var(--coral);outline-offset:3px;border-radius:6px}

/* دانه چاپ روی کل صفحه */
.grain{position:fixed;inset:0;z-index:9000;pointer-events:none;
  background-image:url('../img/noise.png');background-size:160px;
  mix-blend-mode:multiply;opacity:.06}
:root[data-theme="dark"] .grain{mix-blend-mode:overlay;opacity:.13}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .grain{mix-blend-mode:overlay;opacity:.13}}

.wrap{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.defs{position:absolute;width:0;height:0;overflow:hidden}

/* قاب تصویر چاپی */
.frame{display:block;position:relative;overflow:hidden;background:var(--art-paper);border-radius:var(--r-md);isolation:isolate}
.frame>svg{position:absolute;inset:0;width:100%;height:100%;display:block}
.frame::after{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:url('../img/noise.png');background-size:160px;
  mix-blend-mode:multiply;opacity:.15}
.ov{mix-blend-mode:multiply}

/* تیتر بخش‌ها */
.head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:clamp(26px,3.4vw,44px)}
.head h2{font-size:var(--t-h2);font-weight:500;line-height:1.35;letter-spacing:-.005em}
.head p{color:var(--ink-soft);font-weight:300;max-width:46ch;margin-top:10px;line-height:1.85}
.head .more{flex:none;font-size:var(--t-sm);color:var(--ink-soft);border-bottom:1px solid var(--line-strong);padding-bottom:3px;transition:color .25s,border-color .25s}
.head .more:hover{color:var(--coral);border-color:var(--coral)}
@media (max-width:720px){.head .more{display:none}}

section{padding-block:clamp(56px,7vw,104px)}
.band-pad{padding-block:clamp(10px,2vw,24px)}

/* دکمه‌ها */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;white-space:nowrap;
  padding:0 30px;height:58px;border:0;border-radius:999px;cursor:pointer;
  font-weight:500;font-size:1.0625rem;background:var(--coral);color:#fff;
  transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .22s;
  box-shadow:0 10px 0 -4px rgba(254,104,86,.32)}
.btn:hover{background:#F2543F;transform:translateY(-2px);box-shadow:0 16px 0 -5px rgba(254,104,86,.3)}
.btn:active{transform:translateY(0)}
.btn-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-strong)}
.btn-ghost:hover{background:transparent;color:var(--coral);box-shadow:inset 0 0 0 1.5px var(--coral)}

/* ---------------- Header ---------------- */
.site-head{position:sticky;top:0;z-index:600;transition:background .3s,box-shadow .3s,backdrop-filter .3s}
.site-head.stuck{background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--line)}
.head-in{display:flex;align-items:center;gap:clamp(16px,3vw,46px);height:86px}
.brand{flex:none;display:flex;align-items:center}
.brand img{height:34px;width:auto}
.brand img.alt{display:none}
.nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,32px);font-size:var(--t-sm)}
.nav a{position:relative;padding-block:8px;color:var(--ink);opacity:.82;transition:opacity .22s}
.nav a::after{content:"";position:absolute;inset-inline:0;bottom:2px;height:2px;background:var(--coral);
  transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.nav a:hover{opacity:1}
.nav a:hover::after{transform:scaleX(1)}
.head-end{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.icon-btn{width:46px;height:46px;border-radius:999px;border:1px solid var(--line);background:transparent;
  display:grid;place-items:center;cursor:pointer;transition:border-color .25s,color .25s,background .25s}
.icon-btn:hover{border-color:var(--coral);color:var(--coral)}
.icon-btn svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.login{height:46px;display:inline-flex;align-items:center;padding:0 22px;border-radius:999px;
  background:var(--indigo);color:#fff;font-size:var(--t-sm);font-weight:500;transition:background .25s}
.login:hover{background:#2E2263}
.burger{display:none}

/* سبد منوی موبایل */
.sheet{position:fixed;inset:0;z-index:800;background:var(--bg);
  transform:translateY(-100%);transition:transform .42s cubic-bezier(.4,0,.1,1);
  padding:calc(24px + env(safe-area-inset-top,0px)) var(--gut) 40px;display:flex;flex-direction:column}
.sheet[data-open="true"]{transform:translateY(0)}
.sheet-top{display:flex;align-items:center;justify-content:space-between;height:62px}
.sheet nav{margin-top:32px;display:flex;flex-direction:column;gap:4px}
.sheet nav a{font-size:1.6rem;font-weight:500;padding-block:12px;border-bottom:1px solid var(--line)}
.sheet .foot{margin-top:auto;display:flex;gap:12px}
.sheet .foot .btn{flex:1}

/* ---------------- Hero ---------------- */
.hero{padding-top:clamp(8px,1.4vw,18px);padding-bottom:clamp(26px,3vw,44px)}
.hero-grid{display:grid;grid-template-columns:1fr .94fr;gap:clamp(24px,3vw,48px);align-items:center}
.hero-copy{max-width:50ch;min-width:0}
.kicker{display:inline-flex;align-items:center;gap:9px;font-size:var(--t-xs);color:var(--ink-soft);margin-bottom:14px}
.kicker b{display:inline-block;width:8px;height:8px;border-radius:999px;background:var(--coral)}
.hero h1{font-size:var(--t-display);font-weight:500;line-height:1.32;letter-spacing:-.016em;text-wrap:balance;max-width:20ch}
.hero h1 .l2{display:block;color:var(--coral)}
.hero .lede{margin-top:16px;font-weight:300;font-size:clamp(1rem,1.05vw,1.12rem);color:var(--ink-soft);line-height:1.85;max-width:42ch}

/* نوار جستجو */
.finder{margin-top:24px;position:relative;z-index:30}
.finder-label{font-size:var(--t-sm);font-weight:500;margin-bottom:10px}
.finder-bar{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--line);
  border-radius:999px;padding:8px 8px 8px 8px;transition:border-color .25s,box-shadow .25s}
.finder-bar:focus-within{border-color:var(--coral);box-shadow:0 0 0 5px rgba(254,104,86,.13)}
.finder-bar>svg{width:21px;height:21px;margin-inline-start:18px;flex:none;stroke:var(--ink-soft);fill:none;stroke-width:1.7;stroke-linecap:round}
.finder-bar input{flex:1 1 auto;min-width:140px;border:0;background:transparent;outline:none;padding:13px 12px;font-size:1.0625rem}
.finder-bar input::placeholder{color:var(--ink-soft);opacity:.75;font-weight:300}
.finder-bar .btn{height:48px;flex:none;padding:0 24px;box-shadow:none}
.finder-bar .btn:hover{transform:none}
.chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.chip{border:1px solid var(--line);background:transparent;border-radius:999px;padding:7px 15px;
  font-size:var(--t-xs);color:var(--ink-soft);cursor:pointer;transition:all .22s}
.chip:hover{border-color:var(--coral);color:var(--coral)}
.sugg{position:absolute;inset-inline:0;top:calc(100% - 46px);background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-md);box-shadow:0 26px 60px -30px rgba(23,16,56,.5);padding:8px;display:none;z-index:40;
  max-height:330px;overflow:auto}
.sugg[data-open="true"]{display:block}
.sugg li button{width:100%;display:flex;align-items:center;gap:14px;background:transparent;border:0;cursor:pointer;
  padding:11px 14px;border-radius:14px;text-align:start;transition:background .18s}
.sugg li button:hover{background:color-mix(in srgb,var(--coral) 10%,transparent)}
.sugg .tag{margin-inline-start:auto;font-size:var(--t-xs);color:var(--ink-soft)}
.sugg .dot{width:9px;height:9px;border-radius:3px;flex:none}
.sugg .empty{padding:18px 16px;color:var(--ink-soft);font-size:var(--t-sm)}

/* پوستر هیرو */
.hero-art{position:relative;min-width:0}
.hero-art .frame{border-radius:var(--r-lg);aspect-ratio:1/.78}
.seal{position:absolute;inset-block-start:-22px;inset-inline-start:-16px;width:102px;height:102px;z-index:20}
.seal svg{width:100%;height:100%}
.seal .ring{animation:spin 34s linear infinite}
@keyframes spin{to{transform:rotate(-360deg)}}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:18px;font-size:var(--t-xs);color:var(--ink-soft)}
.hero-meta span{display:inline-flex;align-items:center;gap:9px}
.hero-meta i{width:6px;height:6px;border-radius:999px;background:var(--cedar);display:inline-block}

/* ---------------- چی دلت می‌خواد؟ ---------------- */
.moods{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.4vw,18px)}
.mood{position:relative;display:block;cursor:pointer;border:0;background:transparent;padding:0;text-align:start}
.mood .frame{aspect-ratio:1/1;border-radius:var(--r-md)}
.mood.tall .frame{aspect-ratio:1/1.34}
.mood svg.art{transition:transform .7s cubic-bezier(.2,.8,.3,1)}
.mood:hover svg.art{transform:scale(1.055)}
.mood .label{position:absolute;inset-inline-start:14px;bottom:14px;display:inline-flex;align-items:center;
  gap:12px;max-width:calc(100% - 28px);background:var(--surface);border-radius:999px;padding:9px 8px 9px 18px;font-size:var(--t-sm);font-weight:500;
  box-shadow:0 10px 26px -18px rgba(23,16,56,.6);transition:background .25s,color .25s}
.mood .label em{flex:none;width:30px;height:30px;border-radius:999px;background:color-mix(in srgb,var(--coral) 16%,transparent);
  display:grid;place-items:center;font-style:normal;transition:background .25s,transform .25s}
.mood .label em svg{width:14px;height:14px;stroke:var(--coral);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.mood:hover .label{background:var(--coral);color:#fff}
.mood:hover .label em{background:rgba(255,255,255,.22);transform:translateX(-3px)}
.mood:hover .label em svg{stroke:#fff}

/* ---------------- مقصدها ---------------- */
.dest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(12px,1.2vw,16px)}
.dest{position:relative;display:block;overflow:hidden}
.dest .frame{height:100%;border-radius:var(--r-md)}
.dest svg.art{transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.dest:hover svg.art{transform:scale(1.06)}
.dest .veil{position:absolute;inset:0;background:linear-gradient(to top,rgba(23,16,56,.84) 0%,rgba(23,16,56,.42) 24%,rgba(23,16,56,0) 56%);pointer-events:none}
.dest .info{position:absolute;inset-inline:14px;bottom:14px;color:#fff}
.dest h3{font-size:clamp(1.02rem,1.15vw,1.2rem);font-weight:500;line-height:1.45}
.dest p{font-size:.8125rem;font-weight:300;line-height:1.75;color:rgba(255,255,255,.86);margin-top:4px;max-width:34ch;
  opacity:0;max-height:0;overflow:hidden;transition:opacity .36s,max-height .36s}
.dest:hover p,.dest:focus-visible p{opacity:1;max-height:5.4em}
.dest .go-chip{position:absolute;inset-block-end:14px;inset-inline-end:14px;z-index:3;
  width:32px;height:32px;border-radius:999px;background:rgba(255,255,255,.92);display:grid;place-items:center;
  opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}
.dest:hover .go-chip,.dest:focus-visible .go-chip{opacity:1;transform:none}
.dest .go-chip svg{width:14px;height:14px;fill:none;stroke:var(--coral);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.dest .count{position:absolute;inset-block-start:12px;inset-inline-end:12px;
  background:rgba(247,239,228,.94);color:var(--indigo);border-radius:999px;padding:4px 11px;font-size:.75rem;font-weight:500}
.dest .frame{aspect-ratio:1.3/1}
.dest.wide{grid-column:span 3}
.dest.wide .frame{aspect-ratio:3.16/1}

/* ---------------- تجربه‌ها ---------------- */
.rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.8vw,26px)}
.exp{display:flex;flex-direction:column;gap:16px}
.exp .frame{aspect-ratio:1.28/1;border-radius:var(--r-md)}
.exp svg.art{transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.exp:hover svg.art{transform:scale(1.05)}
.exp .top{position:relative}
.exp .kind{position:absolute;inset-block-start:14px;inset-inline-start:14px;background:var(--surface);border-radius:999px;
  padding:6px 14px;font-size:var(--t-xs);font-weight:500;color:var(--indigo)}
.exp h3{font-size:var(--t-h3);font-weight:500;line-height:1.55}
.exp .facts{display:flex;align-items:center;gap:8px;color:var(--ink-soft);font-size:var(--t-sm);margin-top:2px;flex-wrap:wrap}
.exp .facts i{width:4px;height:4px;border-radius:999px;background:var(--line-strong);display:inline-block}
.exp .bottom{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:4px;
  padding-top:14px;border-top:1px solid var(--line)}
.exp .price{font-size:var(--t-sm)}
.exp .price b{font-weight:500;font-size:1.06rem}
.exp .price span{color:var(--ink-soft);font-size:var(--t-xs)}
.exp .see{display:inline-flex;align-items:center;gap:8px;font-size:var(--t-sm);font-weight:500;color:var(--coral)}
.exp .see em{width:32px;height:32px;border-radius:999px;display:grid;place-items:center;font-style:normal;
  background:color-mix(in srgb,var(--coral) 14%,transparent);transition:background .25s,transform .25s}
.exp .see em svg{width:14px;height:14px;stroke:var(--coral);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.exp:hover .see em{background:var(--coral);transform:translateX(-3px)}
.exp:hover .see em svg{stroke:#fff}

.exp .trip{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.75rem;color:var(--ink-soft);
  border:1px dashed var(--line-strong);border-radius:12px;padding:9px 12px;margin-top:4px}
.exp .trip b{font-weight:500;color:var(--ink)}
.exp .trip em{flex:1;min-width:16px;height:0;border-top:1px dashed var(--line-strong)}

/* ---------------- بخش تیره ---------------- */
.dark-band{background:var(--night);color:#F4ECE2;border-radius:clamp(26px,3vw,40px);
  padding:clamp(40px,5.4vw,80px) 0;margin-inline:var(--gut);position:relative;overflow:hidden}
.dark-band .wrap{padding-inline:clamp(20px,3.4vw,56px)}
.dark-band .head h2{color:#FFF6EC}
.dark-band .head p,.dark-band .head .more{color:rgba(244,236,226,.66)}
.dark-band .head .more{border-color:rgba(244,236,226,.28)}
.recs{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,22px)}
.rec{display:flex;flex-direction:column;background:rgba(255,255,255,.055);border:1px solid rgba(244,236,226,.12);
  border-radius:var(--r-md);padding:12px 12px 22px;transition:background .3s,transform .3s,border-color .3s}
.rec:hover{background:rgba(255,255,255,.1);border-color:rgba(254,104,86,.5);transform:translateY(-5px)}
.rec .frame{aspect-ratio:1.5/1;border-radius:14px;margin-bottom:20px}
.rec .for{font-size:var(--t-xs);color:var(--coral);padding-inline:6px}
.rec h3{font-size:1.18rem;font-weight:500;line-height:1.6;margin-top:6px;padding-inline:6px}
.rec .note{font-size:var(--t-sm);font-weight:300;color:rgba(244,236,226,.62);margin-top:8px;padding-inline:6px;line-height:1.8}
.rec .where{margin-top:18px;padding-inline:6px;display:flex;align-items:center;gap:8px;font-size:var(--t-sm);color:rgba(244,236,226,.8)}
.rec .where i{width:4px;height:4px;border-radius:999px;background:rgba(244,236,226,.4);display:inline-block}

/* ریتم ردیف‌های «چی دلت می‌خواد» */
@media (min-width:681px){
  .moods>.mood .frame{aspect-ratio:1.08/1}
}

/* لوگو در تم تیره */
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .brand img,
  :root:not([data-theme="light"]) .foot-brand img{display:none}
  :root:not([data-theme="light"]) .brand img.alt,
  :root:not([data-theme="light"]) .foot-brand img.alt{display:block}
}
:root[data-theme="dark"] .brand img,
:root[data-theme="dark"] .foot-brand img{display:none}
:root[data-theme="dark"] .brand img.alt,
:root[data-theme="dark"] .foot-brand img.alt{display:block}

.dark-band .exp h3{color:#FFF6EC}
.dark-band .exp .facts{color:rgba(244,236,226,.68)}
.dark-band .exp .facts i{background:rgba(244,236,226,.3)}
.dark-band .exp .trip{border-color:rgba(244,236,226,.24);color:rgba(244,236,226,.7)}
.dark-band .exp .trip b{color:#F4ECE2}
.dark-band .exp .trip em{border-top-color:rgba(244,236,226,.24)}
.dark-band .exp .bottom{border-top-color:rgba(244,236,226,.16)}
.dark-band .exp .price{color:#F4ECE2}
.dark-band .exp .price span{color:rgba(244,236,226,.6)}

/* ---------------- فهرست رویدادها (آخر هفته) ---------------- */
.events{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.2vw,16px)}
.event{display:flex;gap:16px;background:var(--surface);border:1px solid var(--line);
  border-radius:18px;padding:12px;transition:border-color .22s,transform .22s,box-shadow .22s}
.event:hover{border-color:var(--coral);transform:translateY(-2px);box-shadow:0 20px 44px -30px rgba(23,16,56,.5)}
.event .frame{flex:none;width:clamp(100px,10vw,128px);aspect-ratio:1/1;border-radius:13px}
.event svg.art{transition:transform .7s cubic-bezier(.2,.8,.3,1)}
.event:hover svg.art{transform:scale(1.06)}
.event .body{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;padding-block:2px}
.event .when{font-size:.75rem;font-weight:500;color:var(--coral);line-height:1.6}
.event h3{font-size:1.02rem;font-weight:500;line-height:1.5}
.event .back{font-size:.75rem;color:var(--ink-soft);line-height:1.6}
.event .who{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.75rem;color:var(--ink-soft);line-height:1.7}
.event .who svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.event .who i{width:3px;height:3px;border-radius:999px;background:var(--line-strong);display:inline-block}
.event .ec-seats{margin:8px 0 2px;max-width:320px}
.event .row{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:9px;border-top:1px solid var(--line)}
.event .price{font-size:.8125rem;color:var(--ink-soft)}
.event .price b{font-weight:500;font-size:.9375rem;color:var(--ink)}
.event .seats{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--cedar)}
.event .seats svg{width:14px;height:14px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* ---------------- مجله ---------------- */
.mag{display:grid;grid-template-columns:1.5fr 1fr;gap:clamp(22px,3vw,48px);align-items:start}
.mag-lead .frame{aspect-ratio:1.68/1;border-radius:var(--r-md)}
.mag-lead svg.art{transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.mag-lead:hover svg.art{transform:scale(1.05)}
.mag-lead h3{font-size:clamp(1.4rem,2.3vw,2.05rem);font-weight:500;line-height:1.52;margin-top:22px;max-width:22ch}
.mag-lead p{color:var(--ink-soft);font-weight:300;margin-top:10px;max-width:50ch}
.meta{display:flex;align-items:center;gap:10px;font-size:var(--t-xs);color:var(--ink-soft);margin-top:14px}
.meta i{width:4px;height:4px;border-radius:999px;background:var(--line-strong);display:inline-block}
.mag-list{display:flex;flex-direction:column}
.mag-item{display:flex;gap:18px;align-items:center;padding-block:20px;border-bottom:1px solid var(--line)}
.mag-item:first-child{padding-top:0}
.mag-item .frame{width:clamp(88px,9vw,116px);flex:none;aspect-ratio:1/1;border-radius:14px}
.mag-item h3{font-size:1.06rem;font-weight:500;line-height:1.65;transition:color .25s}
.mag-item:hover h3{color:var(--coral)}
.mag-item .meta{margin-top:6px}

/* ---------------- چرا جمعشید ---------------- */
.why{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(26px,4vw,72px);align-items:start}
.why h2{font-size:var(--t-h2);font-weight:500;line-height:1.38;letter-spacing:-.005em}
.why .sub{color:var(--ink-soft);font-weight:300;margin-top:16px;max-width:38ch}
.vals{display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.8vw,44px)}
.val{display:flex;gap:16px}
.val .ic{flex:none;width:46px;height:46px;border-radius:15px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--cedar) 13%,transparent)}
.val:nth-child(2) .ic{background:color-mix(in srgb,var(--coral) 15%,transparent)}
.val:nth-child(3) .ic{background:color-mix(in srgb,var(--sun) 22%,transparent)}
.val:nth-child(4) .ic{background:color-mix(in srgb,var(--indigo) 14%,transparent)}
.val .ic svg{width:22px;height:22px;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;stroke:var(--cedar)}
.val:nth-child(2) .ic svg{stroke:var(--coral)}
.val:nth-child(3) .ic svg{stroke:#C9861B}
.val:nth-child(4) .ic svg{stroke:var(--indigo)}
.val h3{font-size:1.08rem;font-weight:500;line-height:1.6}
.val p{color:var(--ink-soft);font-weight:300;font-size:var(--t-sm);margin-top:6px;line-height:1.85}

/* ---------------- CTA پایانی ---------------- */
.closing{position:relative;overflow:hidden;background:var(--coral);color:#fff;
  border-radius:clamp(26px,3vw,40px);margin-inline:var(--gut);padding:clamp(52px,7vw,104px) var(--gut);
  text-align:center;isolation:isolate}
.closing .bg{position:absolute;inset:0;z-index:-1;opacity:.9}
.closing .bg svg{width:100%;height:100%}
.closing::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:url('../img/noise.png');background-size:160px;mix-blend-mode:multiply;opacity:.12}
.closing h2{font-size:clamp(2rem,4.4vw,3.5rem);font-weight:500;line-height:1.34;letter-spacing:-.015em;max-width:18ch;margin-inline:auto;text-wrap:balance}
.closing p{margin-top:18px;font-weight:300;font-size:clamp(1.05rem,1.5vw,1.3rem);color:rgba(255,255,255,.9)}
.closing .btn{margin-top:36px;background:#fff;color:var(--coral);box-shadow:0 12px 0 -4px rgba(0,0,0,.14)}
.closing .btn:hover{background:#FFF4EF;color:#E8442E}

/* ---------------- Footer ---------------- */
.site-foot{padding-top:clamp(56px,7vw,96px);padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:clamp(26px,3vw,48px);
  padding-bottom:42px;border-bottom:1px solid var(--line)}
.foot-brand img{height:32px;width:auto}
.foot-brand img.alt{display:none}
.foot-brand p{color:var(--ink-soft);font-weight:300;font-size:var(--t-sm);margin-top:20px;max-width:34ch;line-height:1.95}
.socials{display:flex;gap:9px;margin-top:24px}
.socials a{width:42px;height:42px;border-radius:999px;border:1px solid var(--line);display:grid;place-items:center;
  transition:border-color .25s,color .25s}
.socials a:hover{border-color:var(--coral);color:var(--coral)}
.socials svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.foot-col h4{font-size:var(--t-sm);font-weight:500;margin-bottom:18px}
.foot-col li{margin-bottom:11px}
.foot-col a{color:var(--ink-soft);font-size:var(--t-sm);font-weight:300;transition:color .22s}
.foot-col a:hover{color:var(--coral)}
.foot-end{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;
  padding-top:26px;font-size:var(--t-xs);color:var(--ink-soft)}
.foot-end .addr{display:flex;gap:8px 22px;flex-wrap:wrap}

/* ---------------- ورود بخش‌ها ---------------- */
.reveal{opacity:0;transform:translateY(22px)}
.reveal.in{opacity:1;transform:none;transition:opacity .72s cubic-bezier(.2,.8,.3,1),transform .72s cubic-bezier(.2,.8,.3,1)}

/* ---------------- موقعیت و شعاع ---------------- */
.loc-wrap{position:relative;flex:none}
.loc{display:flex;align-items:center;gap:10px;height:46px;padding:0 13px;border-radius:999px;
  border:1px solid var(--line);background:transparent;cursor:pointer;color:inherit;
  transition:border-color .25s,background .25s}
.loc:hover{border-color:var(--coral)}
.loc .pin{width:19px;height:19px;flex:none;fill:none;stroke:var(--coral);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.loc .caret{width:16px;height:16px;flex:none;fill:none;stroke:var(--ink-soft);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.loc[aria-expanded="true"] .caret{transform:rotate(180deg)}
.loc-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.4;text-align:start}
.loc-text b{font-size:.9375rem;font-weight:500;white-space:nowrap}
.loc-text span{font-size:.75rem;color:var(--ink-soft);white-space:nowrap}

.loc-panel{position:absolute;inset-inline-start:0;top:calc(100% + 10px);width:330px;z-index:700;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px;
  box-shadow:0 30px 70px -34px rgba(23,16,56,.6)}
.loc-gps{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;height:46px;border-radius:14px;
  border:1px dashed var(--line-strong);background:transparent;cursor:pointer;color:inherit;
  font-size:var(--t-sm);font-weight:500;transition:border-color .22s,color .22s}
.loc-gps:hover{border-color:var(--coral);color:var(--coral)}
.loc-gps svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.loc-msg{font-size:var(--t-xs);color:var(--ink-soft);margin-top:10px;line-height:1.85}
.loc-msg:empty{display:none}
.loc-field{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:22px}
.loc-field label{font-size:var(--t-sm);font-weight:500}
.loc-field output{font-size:var(--t-sm);font-weight:500;color:var(--coral)}
#radius{width:100%;margin:12px 0 4px;accent-color:var(--coral)}
.loc-ends{display:flex;justify-content:space-between;font-size:var(--t-xs);color:var(--ink-soft)}
.loc-presets{display:flex;gap:6px;margin-top:12px}
.loc-presets button{flex:1;height:36px;border-radius:11px;border:1px solid var(--line);background:transparent;
  color:inherit;cursor:pointer;font-size:var(--t-xs);transition:all .2s}
.loc-presets button:hover{border-color:var(--coral);color:var(--coral)}
.loc-presets button[aria-pressed="true"]{background:var(--coral);border-color:var(--coral);color:#fff}
.loc-h{font-size:var(--t-xs);color:var(--ink-soft);font-weight:400;margin:22px 0 6px}
.loc-cities{max-height:188px;overflow:auto}
.loc-cities button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:0;border-radius:12px;
  background:transparent;color:inherit;cursor:pointer;text-align:start;font-size:var(--t-sm);transition:background .18s}
.loc-cities button:hover:not(:disabled){background:color-mix(in srgb,var(--coral) 10%,transparent)}
.loc-cities button:disabled{cursor:not-allowed;opacity:.5}
.loc-cities small{color:var(--ink-soft);font-size:var(--t-xs)}
.loc-cities em{margin-inline-start:auto;font-style:normal;font-size:var(--t-xs);color:var(--ink-soft);
  border:1px solid var(--line);border-radius:999px;padding:2px 10px}
.loc-cities button[aria-current="true"]{background:color-mix(in srgb,var(--coral) 15%,transparent);font-weight:500}

/* فاصله و منطقه روی کارت‌ها */
.exp .km{position:absolute;inset-block-start:14px;inset-inline-end:14px;background:var(--indigo);color:#fff;
  border-radius:999px;padding:6px 13px;font-size:var(--t-xs);font-weight:500}
.dest .area{display:block;font-size:.75rem;color:rgba(255,255,255,.78);margin-top:2px}
.empty-note{margin-top:30px;text-align:center;color:var(--ink-soft);font-size:var(--t-sm)}
.empty-note.on-dark{color:rgba(244,236,226,.68)}
[hidden]{display:none !important}

/* ==========================================================================
   چیدمان اپ: هدر جستجو + سایدبار + فید محتوا  (الگوی meetup)
   ========================================================================== */

/* ---- هدر ---- */
.head-in{height:76px;gap:clamp(12px,2vw,28px)}
.hsearch{flex:1 1 auto;max-width:520px;position:relative;z-index:30}
.hsearch .finder-bar{display:flex;align-items:center;gap:0;background:var(--surface);
  border:1.5px solid var(--line);border-radius:999px;padding:5px}
.hsearch .finder-bar:focus-within{border-color:var(--coral);box-shadow:0 0 0 4px rgba(254,104,86,.12)}
.fld{display:flex;align-items:center;gap:10px;flex:1 1 52%;min-width:0;padding-inline-start:15px}
.fld svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--ink-soft);stroke-width:1.7;stroke-linecap:round}
.fld input{flex:1;min-width:0;border:0;background:transparent;outline:none;padding:11px 0;font-size:.9375rem}
.fld input::placeholder{color:var(--ink-soft);opacity:.8;font-weight:300}
.fld-sep{width:1px;align-self:stretch;margin-block:9px;background:var(--line);flex:none}
.hsearch .loc-wrap{flex:0 1 auto;min-width:0}
.hsearch .loc{border:0;height:42px;padding:0 12px;border-radius:999px}
.hsearch .loc:hover{background:color-mix(in srgb,var(--coral) 9%,transparent)}
.go{flex:none;width:42px;height:42px;border-radius:999px;border:0;background:var(--coral);
  display:grid;place-items:center;cursor:pointer;transition:background .22s}
.go:hover{background:#F2543F}
.go svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.sugg{top:calc(100% + 10px)}

/* ---- شبکه صفحه ---- */
.page{display:grid;grid-template-columns:clamp(244px,21vw,296px) minmax(0,1fr);
  gap:clamp(18px,2.2vw,36px);align-items:start;padding-block:clamp(18px,2.4vw,30px)}
.feed{min-width:0;display:flex;flex-direction:column;gap:clamp(26px,3vw,44px)}
.sec{padding-block:0}
.sec .head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:16px}
.sec .head h2{font-size:clamp(1.22rem,1.6vw,1.55rem);font-weight:500;line-height:1.5}
.sec .head p{font-size:var(--t-sm);color:var(--ink-soft);font-weight:300;margin-top:2px;line-height:1.7}
.sec .head .more{display:inline-block}

/* ---- سایدبار ---- */
.sidebar{display:flex;flex-direction:column;gap:12px;min-width:0}
.scard{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px}
.scard.me{display:flex;align-items:center;gap:12px}
.avatar{flex:none;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--indigo) 12%,transparent)}
.avatar svg{width:22px;height:22px;fill:none;stroke:var(--indigo);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.me-text{display:flex;flex-direction:column;line-height:1.5;min-width:0}
.me-text b{font-size:.9375rem;font-weight:500}
.me-text small{font-size:.75rem;color:var(--ink-soft)}
.scard.me .btn{margin-inline-start:auto}
.btn.sm{height:38px;padding:0 16px;font-size:var(--t-sm);box-shadow:none}
.btn.sm:hover{transform:none;box-shadow:none}
.btn.block{display:flex;width:100%}
.stabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:14px}
.stabs button{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--t-sm);
  padding:0 0 10px;border-bottom:2px solid transparent;margin-bottom:-1px}
.stabs button[aria-selected="true"]{color:var(--ink);font-weight:500;border-bottom-color:var(--coral)}
.s-empty{font-size:var(--t-sm);color:var(--ink-soft);margin-bottom:14px}
.s-h{font-size:var(--t-sm);font-weight:500;margin-bottom:12px}
.s-cats li{margin-bottom:3px}
.s-cats a{display:flex;align-items:center;gap:10px;padding:6px;border-radius:12px;font-size:var(--t-sm);transition:background .18s}
.s-cats a:hover{background:color-mix(in srgb,var(--coral) 10%,transparent)}
.s-cats .frame{flex:none;width:38px;height:38px;border-radius:10px}
.s-more{display:inline-block;margin-top:10px;font-size:var(--t-xs);color:var(--ink-soft);
  border-bottom:1px solid var(--line-strong);padding-bottom:2px;transition:color .22s,border-color .22s}
.s-more:hover{color:var(--coral);border-color:var(--coral)}
.s-why li{display:flex;gap:11px;margin-bottom:15px}
.s-why li:last-child{margin-bottom:0}
.s-why li>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.s-why b{font-size:.875rem;font-weight:500}
.s-why small{font-size:.75rem;color:var(--ink-soft);line-height:1.8}
.s-why .ic{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--cedar) 13%,transparent)}
.s-why li:nth-child(2) .ic{background:color-mix(in srgb,var(--coral) 14%,transparent)}
.s-why li:nth-child(3) .ic{background:color-mix(in srgb,var(--sun) 22%,transparent)}
.s-why li:nth-child(4) .ic{background:color-mix(in srgb,var(--indigo) 13%,transparent)}
.s-why .ic svg{width:17px;height:17px;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;stroke:var(--cedar)}
.s-why li:nth-child(2) .ic svg{stroke:var(--coral)}
.s-why li:nth-child(3) .ic svg{stroke:#C9861B}
.s-why li:nth-child(4) .ic svg{stroke:var(--indigo)}

/* ---- کارت تفریح ---- */
.foryou{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:2px 2px 6px}
.foryou::-webkit-scrollbar{display:none}
.foryou .ecard{flex:0 0 clamp(214px,25%,258px);scroll-snap-align:start}

.ecard{position:relative;display:flex;flex-direction:column;min-width:0;
  background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:9px;
  transition:border-color .25s,transform .25s cubic-bezier(.2,.8,.3,1),box-shadow .25s}
.ecard:hover{border-color:color-mix(in srgb,var(--coral) 55%,transparent);transform:translateY(-4px);
  box-shadow:0 24px 46px -30px rgba(23,16,56,.5)}
.ecard:focus-within{border-color:var(--coral)}

.ec-media{position:relative;isolation:isolate}
.ec-media .frame{aspect-ratio:16/11;border-radius:13px}
.ec-media svg.art{transition:transform .8s cubic-bezier(.2,.8,.3,1)}
.ecard:hover svg.art{transform:scale(1.07)}
.ec-kind{position:absolute;inset-block-start:9px;inset-inline-start:9px;z-index:2;
  background:rgba(255,255,255,.94);color:var(--indigo);border-radius:999px;padding:4px 11px;
  font-size:.6875rem;font-weight:500}
.ec-km{position:absolute;inset-block-end:9px;inset-inline-start:9px;z-index:2;
  background:var(--indigo);color:#fff;border-radius:999px;padding:4px 11px;font-size:.6875rem;font-weight:500}
.ec-hot{position:absolute;inset-block-end:9px;inset-inline-end:9px;z-index:2;
  background:var(--coral);color:#fff;border-radius:999px;padding:4px 11px;font-size:.6875rem;font-weight:500}
.ec-save{position:absolute;inset-block-start:16px;inset-inline-end:16px;z-index:3;
  width:32px;height:32px;border-radius:999px;border:0;cursor:pointer;display:grid;place-items:center;
  background:rgba(255,255,255,.92);transition:background .2s,transform .2s}
.ec-save:hover{background:#fff;transform:scale(1.08)}
.ec-save svg{width:17px;height:17px;fill:none;stroke:var(--indigo);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.ec-save[aria-pressed="true"] svg{fill:var(--coral);stroke:var(--coral)}

.ec-body{display:flex;flex-direction:column;gap:5px;padding:12px 7px 4px;flex:1}
.ec-when{font-size:.75rem;font-weight:500;color:var(--coral);line-height:1.6}
.ec-title{font-size:.9375rem;font-weight:500;line-height:1.6;margin-bottom:1px}
.ec-link{color:inherit;transition:color .2s}
.ec-link::after{content:"";position:absolute;inset:0;z-index:1}
.ecard:hover .ec-link{color:var(--coral)}
.ec-meta{display:flex;align-items:center;gap:6px;font-size:.75rem;color:var(--ink-soft);line-height:1.7;min-width:0}
.ec-meta svg{width:13px;height:13px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ec-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ec-desc{font-size:.75rem;color:var(--ink-soft);line-height:1.85;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ec-seats{display:flex;align-items:center;gap:8px;font-size:.75rem;color:var(--cedar);margin-top:3px}
.ec-seats.hot{color:var(--coral)}
.ec-bar{flex:1;height:5px;border-radius:999px;background:color-mix(in srgb,var(--cedar) 16%,transparent);overflow:hidden}
.ec-seats.hot .ec-bar{background:color-mix(in srgb,var(--coral) 16%,transparent)}
.ec-bar i{display:block;height:100%;border-radius:999px;background:var(--cedar)}
.ec-seats.hot .ec-bar i{background:var(--coral)}
.ec-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:11px;margin-top:11px;border-top:1px solid var(--line)}
.ec-price{font-size:.75rem;color:var(--ink-soft)}
.ec-price b{font-weight:500;font-size:.9375rem;color:var(--ink)}
.ec-go{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;font-weight:500;color:var(--coral)}
.ec-go svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:transform .22s}
.ecard:hover .ec-go svg{transform:translateX(-3px)}

/* ---- تنظیم بخش‌ها داخل ستون محتوا ---- */
.feed .moods{grid-template-columns:repeat(4,1fr);gap:12px}
.feed .mood .label{font-size:var(--t-xs);padding:7px 7px 7px 13px;gap:9px}
.feed .mood .label em{width:24px;height:24px}
.feed .mood .label em svg{width:12px;height:12px}
.feed .dest-grid{grid-template-columns:repeat(3,1fr)}
.feed .events{grid-template-columns:1fr}
.feed .event .frame{width:clamp(120px,14vw,152px)}

/* ==========================================================================
   صفحه لیست (PLP)
   ========================================================================== */
.plp{padding-block:clamp(16px,2vw,26px) clamp(40px,5vw,72px)}
.plp-tabs{display:flex;gap:6px;margin-bottom:22px}
.plp-tabs button{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;
  font-size:var(--t-sm);padding:9px 18px;border-radius:999px;transition:background .2s,color .2s}
.plp-tabs button[aria-selected="true"]{background:color-mix(in srgb,var(--indigo) 10%,transparent);color:var(--ink);font-weight:500}
.plp-head{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:20px}
.plp-head h1{font-size:clamp(1.4rem,2.3vw,2rem);font-weight:500;line-height:1.5}
.plp-head h1 b{font-weight:500;color:var(--coral)}
.plp-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.f-reset{border:0;background:transparent;color:var(--indigo);cursor:pointer;font-size:var(--t-sm);
  padding:8px 10px;border-radius:999px}
.f-reset:hover{background:color-mix(in srgb,var(--indigo) 9%,transparent)}
.f-chip{display:inline-flex;align-items:center;gap:8px;height:42px;padding:0 16px;border-radius:999px;
  border:1px solid var(--line);background:var(--surface);color:inherit;cursor:pointer;font-size:var(--t-sm);
  transition:border-color .22s}
.f-chip:hover{border-color:var(--coral)}
.f-chip svg{width:16px;height:16px;flex:none;fill:none;stroke:var(--ink-soft);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.f-chip select{border:0;background:transparent;outline:none;cursor:pointer;font:inherit;color:inherit}
.f-chip b{font-weight:500}

.cat-strip-wrap{position:relative;border-bottom:1px solid var(--line);margin-bottom:22px}
.cat-strip{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;scroll-behavior:smooth;padding-bottom:2px}
.cat-strip::-webkit-scrollbar{display:none}
.cat-strip button{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;
  border:0;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--t-xs);
  padding:6px 14px 12px;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .2s,border-color .2s}
.cat-strip button:hover{color:var(--ink)}
.cat-strip button[aria-current="true"]{color:var(--ink);font-weight:500;border-bottom-color:var(--coral)}
.cat-strip .cs-art{width:40px;height:40px;border-radius:12px}
.cat-strip .cs-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--coral) 13%,transparent)}
.cat-strip .cs-ic svg{width:20px;height:20px;fill:none;stroke:var(--coral);stroke-width:1.7;stroke-linecap:round}
.rnav.strip{position:absolute;inset-inline-end:0;top:14px;background:var(--surface)}
.rnav.strip:disabled{opacity:0;pointer-events:none}

.plp-count{font-size:var(--t-sm);color:var(--ink-soft);margin-bottom:16px}
.plp-count b{font-weight:500;color:var(--ink)}
.plp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:clamp(14px,1.4vw,20px);align-items:stretch}
.plp-grid .dest .frame{aspect-ratio:1.25/1}

/* ---- فلش‌های ردیف افقی ---- */
.head-end-tools{display:flex;align-items:center;gap:8px}
.rnav{width:34px;height:34px;flex:none;border-radius:999px;border:1px solid var(--line);
  background:transparent;display:grid;place-items:center;cursor:pointer;color:var(--ink);
  transition:border-color .2s,color .2s,opacity .2s}
.rnav:hover{border-color:var(--coral);color:var(--coral)}
.rnav:disabled{opacity:.35;cursor:default;border-color:var(--line);color:var(--ink-soft)}
.rnav svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* ---- ناوبری هدر ---- */
.topnav{display:flex;align-items:center;gap:clamp(10px,1.2vw,20px);flex:none;font-size:var(--t-sm)}
.topnav a{position:relative;color:var(--ink);opacity:.82;padding-block:6px;white-space:nowrap;transition:opacity .2s,color .2s}
.topnav a:hover{opacity:1;color:var(--coral)}
.topnav a[aria-current="page"]{opacity:1;font-weight:500}
@media (max-width:1180px){.topnav{display:none}}

/* ---- تیتر صفحه خانه ---- */
.page-h1{font-size:clamp(1.3rem,1.9vw,1.7rem);font-weight:500;line-height:1.5;margin-bottom:4px}
.page-h1 b{font-weight:500;color:var(--coral)}

/* ---- مسیر راهنما ---- */
.crumbs{margin-bottom:14px}
.crumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:var(--t-xs);color:var(--ink-soft)}
.crumbs li+li::before{content:"‹";margin-inline-end:8px;color:var(--line-strong)}
.crumbs a{color:var(--ink-soft);transition:color .2s}
.crumbs a:hover{color:var(--coral)}
.crumbs [aria-current="page"]{color:var(--ink)}

/* ---- تب‌های PLP به‌صورت لینک ---- */
.plp-tabs a{display:inline-flex;align-items:center;color:var(--ink-soft);font-size:var(--t-sm);
  padding:9px 18px;border-radius:999px;transition:background .2s,color .2s}
.plp-tabs a:hover{background:color-mix(in srgb,var(--indigo) 7%,transparent);color:var(--ink)}
.plp-tabs a[aria-current="page"]{background:color-mix(in srgb,var(--indigo) 10%,transparent);color:var(--ink);font-weight:500}
.cat-strip a{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px;
  color:var(--ink-soft);font-size:var(--t-xs);padding:6px 14px 12px;border-bottom:2px solid transparent;
  margin-bottom:-1px;transition:color .2s,border-color .2s}
.cat-strip a:hover{color:var(--ink)}
.cat-strip a[aria-current="page"]{color:var(--ink);font-weight:500;border-bottom-color:var(--coral)}
a.f-reset{display:inline-flex;align-items:center;padding:8px 10px;border-radius:999px;color:var(--indigo);font-size:var(--t-sm)}
a.f-reset:hover{background:color-mix(in srgb,var(--indigo) 9%,transparent)}
.plp-grid .dest h2{font-size:clamp(1.02rem,1.15vw,1.2rem);font-weight:500;line-height:1.45}

/* ---- لینک‌های داخلی انتهای PLP ---- */
.plp-links{margin-top:clamp(36px,4vw,56px);padding-top:26px;border-top:1px solid var(--line)}
.plp-links h2{font-size:var(--t-sm);font-weight:500;margin-bottom:14px}
.plp-links ul{display:flex;flex-wrap:wrap;gap:8px}
.plp-links a{display:inline-block;font-size:var(--t-xs);color:var(--ink-soft);border:1px solid var(--line);
  border-radius:999px;padding:7px 14px;transition:border-color .2s,color .2s}
.plp-links a:hover{border-color:var(--coral);color:var(--coral)}

/* ==========================================================================
   مودال جزئیات (PDP)
   ========================================================================== */
.no-scroll{overflow:hidden}
.pdp{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;
  padding:clamp(0px,3vh,34px) clamp(0px,3vw,34px)}
.pdp-overlay{position:absolute;inset:0;background:rgba(19,13,46,.58);backdrop-filter:blur(4px);
  animation:pdpFade .22s ease both}
.pdp-panel{position:relative;z-index:1;width:min(980px,100%);max-height:94vh;display:flex;flex-direction:column;
  background:var(--surface);border-radius:26px;overflow:hidden;
  box-shadow:0 44px 100px -46px rgba(19,13,46,.75);animation:pdpIn .3s cubic-bezier(.2,.8,.3,1) both}
@keyframes pdpFade{from{opacity:0}to{opacity:1}}
@keyframes pdpIn{from{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:none}}

.pdp-top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;
  padding:13px 16px 13px 13px;border-bottom:1px solid var(--line)}
.pdp-top strong{font-size:.9375rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pdp-body{flex:1;overflow-y:auto;overscroll-behavior:contain}

.pdp-hero{position:relative}
.pdp-hero .frame{aspect-ratio:16/6.4;border-radius:0}
.pdp-badges{position:absolute;inset-block-end:14px;inset-inline-start:16px;display:flex;gap:7px;flex-wrap:wrap}
.pdp-badge{background:rgba(255,255,255,.94);color:var(--indigo);border-radius:999px;padding:5px 13px;
  font-size:.75rem;font-weight:500}
.pdp-badge.alt{background:var(--indigo);color:#fff}

.pdp-in{padding:clamp(20px,3vw,30px) clamp(18px,3vw,32px) 8px}
.pdp-h{font-size:clamp(1.25rem,2vw,1.7rem);font-weight:500;line-height:1.5}
.pdp-sub{font-size:var(--t-sm);color:var(--coral);font-weight:500;margin-top:6px;line-height:1.8}
.pdp-about{margin-top:16px;font-weight:300;color:var(--ink-soft);line-height:2;max-width:68ch}

.pdp-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(104px,1fr));gap:10px;margin-top:22px}
.pdp-stats div{background:color-mix(in srgb,var(--indigo) 5%,transparent);border-radius:14px;
  padding:13px 14px;display:flex;flex-direction:column;gap:2px}
.pdp-stats b{font-size:1.2rem;font-weight:500;line-height:1.4}
.pdp-stats small{font-size:.75rem;color:var(--ink-soft)}

.pdp-sec{font-size:1rem;font-weight:500;margin-top:28px;margin-bottom:12px}
.pdp-plan{position:relative;padding-inline-start:0}
.pdp-plan li{position:relative;padding-inline-start:26px;padding-block:7px;font-size:var(--t-sm);
  color:var(--ink-soft);line-height:1.9}
.pdp-plan li::before{content:"";position:absolute;inset-inline-start:5px;top:16px;width:9px;height:9px;
  border-radius:999px;background:var(--coral)}
.pdp-plan li::after{content:"";position:absolute;inset-inline-start:9px;top:25px;bottom:-7px;width:1px;
  background:var(--line-strong)}
.pdp-plan li:last-child::after{display:none}

.pdp-checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 18px}
.pdp-checks li{display:flex;align-items:flex-start;gap:9px;font-size:var(--t-sm);color:var(--ink-soft);line-height:1.9}
.pdp-checks svg{width:16px;height:16px;flex:none;margin-top:5px;fill:none;stroke:var(--cedar);
  stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

.pdp-line{display:flex;align-items:flex-start;gap:9px;font-size:var(--t-sm);color:var(--ink-soft);line-height:1.9}
.pdp-line svg{width:17px;height:17px;flex:none;margin-top:5px;fill:none;stroke:var(--coral);
  stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.pdp-host{display:flex;align-items:center;gap:12px;background:color-mix(in srgb,var(--cedar) 7%,transparent);
  border-radius:16px;padding:13px 15px}
.pdp-ava{flex:none;width:42px;height:42px;border-radius:999px;display:grid;place-items:center;
  background:color-mix(in srgb,var(--cedar) 16%,transparent)}
.pdp-ava svg{width:21px;height:21px;fill:none;stroke:var(--cedar);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.pdp-host span:last-child{display:flex;flex-direction:column;gap:2px}
.pdp-host b{font-size:.9375rem;font-weight:500}
.pdp-host small{font-size:.75rem;color:var(--ink-soft)}

.pdp-foot{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:14px;
  flex-wrap:wrap;margin-top:28px;padding:14px clamp(18px,3vw,32px) calc(14px + env(safe-area-inset-bottom,0px));
  background:var(--surface);border-top:1px solid var(--line)}
.pdp-price{font-size:var(--t-sm);color:var(--ink-soft)}
.pdp-price b{font-weight:500;font-size:1.0625rem;color:var(--ink)}
.pdp-actions{display:flex;align-items:center;gap:9px}

@media (max-width:760px){
  .pdp{padding:0}
  .pdp-panel{width:100%;height:100%;max-height:100%;border-radius:0}
  .pdp-top{padding-top:calc(13px + env(safe-area-inset-top,0px))}
  .pdp-hero .frame{aspect-ratio:16/9}
  .pdp-stats{grid-template-columns:1fr 1fr}
  .pdp-foot{flex-direction:column;align-items:stretch;gap:10px}
  .pdp-price{text-align:start}
  .pdp-actions{width:100%}
  .pdp-actions .btn{flex:1;padding:0 12px}
  .pdp-foot{padding-inline:16px}
}
@media (prefers-reduced-motion:reduce){
  .pdp-overlay,.pdp-panel{animation:none}
}

/* ==========================================================================
   صفحه ورود
   ========================================================================== */
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:clamp(20px,5vw,48px)}
.auth-card{width:min(430px,100%);background:var(--surface);border:1px solid var(--line);
  border-radius:26px;padding:clamp(26px,4vw,38px);box-shadow:0 36px 80px -52px rgba(19,13,46,.5)}
.auth-brand{display:block;margin-bottom:26px}
.auth-brand img{height:32px;width:auto}
.auth-brand img.alt{display:none}
.auth-card h1{font-size:1.45rem;font-weight:500;line-height:1.5}
.auth-sub{margin-top:8px;color:var(--ink-soft);font-weight:300;font-size:var(--t-sm);line-height:1.9}
.auth-sub b{font-weight:500;color:var(--ink)}
.auth-form{margin-top:26px;display:flex;flex-direction:column;gap:16px}
.auth-field{display:flex;flex-direction:column;gap:8px}
.auth-field span{font-size:var(--t-sm);font-weight:500}
.auth-field input{height:54px;border:1.5px solid var(--line);border-radius:16px;background:var(--bg);
  padding:0 16px;font-size:1.0625rem;outline:none;transition:border-color .2s,box-shadow .2s}
.auth-field input:focus{border-color:var(--coral);box-shadow:0 0 0 4px rgba(254,104,86,.13)}
.auth-code{text-align:center;letter-spacing:.7em;font-size:1.5rem;font-weight:500;padding-inline-start:.7em}
.auth-error{margin-top:18px;background:color-mix(in srgb,var(--coral) 12%,transparent);color:#C23A28;
  border-radius:14px;padding:11px 14px;font-size:var(--t-sm);line-height:1.8}
.auth-flash{margin-top:18px;background:color-mix(in srgb,var(--cedar) 12%,transparent);color:var(--cedar);
  border-radius:14px;padding:11px 14px;font-size:var(--t-sm);line-height:1.8}
.auth-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.auth-link{border:0;background:transparent;color:var(--ink-soft);cursor:pointer;font-size:var(--t-xs);
  padding:4px 0;border-bottom:1px solid var(--line-strong);transition:color .2s,border-color .2s}
.auth-link:hover{color:var(--coral);border-color:var(--coral)}
.auth-note{margin-top:26px;font-size:var(--t-xs);color:var(--ink-soft);line-height:1.9}
.auth-note a{color:var(--ink);border-bottom:1px solid var(--line-strong)}
.login.me{display:inline-flex;align-items:center;gap:8px;background:transparent;color:var(--ink);
  border:1px solid var(--line);padding:0 16px}
.login.me:hover{border-color:var(--coral);background:transparent}
.login.me svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .auth-brand img{display:none}
  :root:not([data-theme="light"]) .auth-brand img.alt{display:block}}
:root[data-theme="dark"] .auth-brand img{display:none}
:root[data-theme="dark"] .auth-brand img.alt{display:block}

/* صفحه حساب */
.profile{padding-block:clamp(18px,2.4vw,30px) clamp(40px,5vw,72px)}
.profile-grid{display:grid;grid-template-columns:minmax(0,1fr) clamp(240px,24vw,300px);
  gap:clamp(16px,2vw,26px);align-items:start;margin-top:18px}
.profile-form{display:flex;flex-direction:column;gap:16px;padding:clamp(20px,3vw,28px)}
.profile-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.profile-form .auth-field input:disabled{opacity:.6;cursor:not-allowed}
.profile-form select{height:54px;border:1.5px solid var(--line);border-radius:16px;background:var(--bg);
  padding:0 14px;font:inherit;color:inherit;outline:none}
.profile-form .btn{align-self:flex-start}
.profile-side .block{margin-top:14px}
@media (max-width:860px){.profile-grid{grid-template-columns:1fr}.profile-two{grid-template-columns:1fr}}

/* ---------------- ریسپانسیو ---------------- */
@media (max-width:1200px){
  .feed .moods{grid-template-columns:repeat(3,1fr)}
}
@media (max-width:1080px){
  .page{grid-template-columns:1fr}
  .feed{order:1}
  .sidebar{order:2;position:static;display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
  .feed .dest-grid{grid-template-columns:repeat(2,1fr)}
  .hero-grid{grid-template-columns:1fr;gap:34px}
  .hero-copy{max-width:none}
  .hero-art{order:-1}
  .hero-art .frame{aspect-ratio:1.35/1}
  .seal{width:96px;height:96px;inset-block-start:-18px}
  .moods{grid-template-columns:repeat(3,1fr)}
  .mood.tall .frame{aspect-ratio:1/1}
  .dest-grid{grid-template-columns:repeat(3,1fr)}
    .dest.big .frame{aspect-ratio:2.1/1}
  .dest.wide{grid-column:span 2}
  .recs{grid-template-columns:repeat(2,1fr)}
  .mag{grid-template-columns:1fr}
  .why{grid-template-columns:1fr}
  .events{grid-template-columns:1fr}
}
@media (max-width:860px){
  .head-in{flex-wrap:wrap;height:auto;padding-block:11px;row-gap:10px}
  .hsearch{order:3;flex-basis:100%;max-width:none}
  html{scroll-padding-top:150px}
  .site-head.stuck{box-shadow:0 1px 0 var(--line)}
  .nav,.head-end .login{display:none}
  .hsearch .loc{padding:0 10px;gap:7px}
  .loc-panel{position:fixed;inset-inline:12px;top:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:auto;
    max-height:78vh;overflow:auto}
  .burger{display:grid}
  .vals{grid-template-columns:1fr}
  .dest-grid{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
  .foot-brand{grid-column:span 2}
}
@media (max-width:680px){
  .plp-head{align-items:flex-start;flex-direction:column;gap:12px}
  .plp-filters{width:100%}
  .plp-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
  .rnav.strip{display:none}
  .moods{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding-inline:var(--gut);margin-inline:calc(var(--gut) * -1);scrollbar-width:none}
  .moods::-webkit-scrollbar{display:none}
  .mood{flex:0 0 46%;scroll-snap-align:start}
  .mood .frame,.mood.tall .frame{aspect-ratio:1/1}
  .dest-grid{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding-inline:var(--gut);margin-inline:calc(var(--gut) * -1);scrollbar-width:none}
  .dest-grid::-webkit-scrollbar{display:none}
  .dest{flex:0 0 66%;scroll-snap-align:start}
  .dest .frame{aspect-ratio:1/1.02;min-height:0}
  .dest p{opacity:1;max-height:5.4em}
  .rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding-inline:var(--gut);margin-inline:calc(var(--gut) * -1);scrollbar-width:none}
  .rail::-webkit-scrollbar{display:none}
  .exp{flex:0 0 80%;scroll-snap-align:start}
  .recs{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding-inline:clamp(20px,3.4vw,56px);margin-inline:calc(clamp(20px,3.4vw,56px) * -1);scrollbar-width:none}
  .recs::-webkit-scrollbar{display:none}
  .rec{flex:0 0 76%;scroll-snap-align:start}
  .seal{inset-inline-start:8px;inset-block-start:-12px;width:78px;height:78px}
  .dest .veil{background:linear-gradient(to top,rgba(23,16,56,.9) 0%,rgba(23,16,56,.52) 32%,rgba(23,16,56,0) 64%)}
  .hsearch .finder-bar{flex-wrap:nowrap;border-radius:999px;padding:5px}
  .event{gap:12px;padding:10px}
  .event .frame,.feed .event .frame{width:92px}
  .event h3{font-size:.95rem}
  .fld{flex:1 1 auto;padding-inline-start:12px}
  .fld input{font-size:.875rem}
  .hsearch .loc{padding:0 8px}
  .loc-text span{font-size:.6875rem}
  .sugg{top:calc(100% + 8px)}
  .sidebar{grid-template-columns:1fr}
  .feed .moods{display:flex}
  .feed .dest-grid{display:flex}
  .foot-grid{grid-template-columns:1fr}
  .foot-brand{grid-column:span 1}
  .dark-band,.closing{margin-inline:12px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important}
  .reveal{opacity:1;transform:none}
}
