/* مشترک بین همه‌ی صفحه‌های /vi — فونت، هدر، منو، فوتر، مودال‌ها و گالری افقی.
   فونت‌ها: فقط دو زیرمجموعه‌ی سبک. ArtDeco فقط برای حروف لاتین دانلود می‌شود
   (unicode-range)، فارسی با ایران‌یکان — به‌جای ده‌ها مگابایت فونت CJK سایت اصلی. */
@font-face{font-family:"ArtDeco";src:url(https://c926897.parspack.net/c926897/gta-farsi/vi-page/artdeco-medium.woff2) format("woff2");font-weight:400 600;font-display:swap;unicode-range:U+0020-007E,U+00A0,U+00D7,U+2013-2026}
@font-face{font-family:"ArtDeco";src:url(https://c926897.parspack.net/c926897/gta-farsi/vi-page/artdeco-bold.woff2) format("woff2");font-weight:700 1000;font-display:swap;unicode-range:U+0020-007E,U+00A0,U+00D7,U+2013-2026}
@font-face{font-family:"Yekan";src:url(https://c926897.parspack.net/c926897/gta-farsi/vi-page/yekan.woff2) format("woff2");font-weight:100 1000;font-display:swap}

:root{
  --navy:#0c0d1b; --ink:#070810; --cream:#fff9cb; --lav:#e5ddff; --lav2:#ccc2f5;
  --pink:#ffb2c6; --peach:#ffd4a8; --lime:#e6ffa3; --coral:#ffc5b8; --gold:#ffdf9e; --sky:#d9f3fe;
  --wrap:min(73vw,1400px);
  --r:clamp(6px,.46vw,10px);
  --f:"ArtDeco","Yekan",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{background:var(--navy);-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--navy);color:#fff;font-family:var(--f);font-feature-settings:"ss01";overflow-x:clip;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;top:12px;right:50%;transform:translate(50%,-200%);z-index:100;background:#fff;color:var(--ink);padding:10px 18px;border-radius:99px;font-size:13px;font-weight:600}
.skip:focus{transform:translate(50%,0)}
:focus-visible{outline:2px solid var(--pink);outline-offset:3px}
.wrap{width:var(--wrap);margin-inline:auto}
.no-scroll{overflow:hidden}

/* ── هدر ─────────────────────────────────────────────── */
.hdr{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:clamp(16px,2.5vw,43px) clamp(16px,2.5vw,43px) 0;pointer-events:none}
.hdr>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:clamp(10px,1vw,16px);color:#fff}
.logo{display:block;width:clamp(30px,3vw,51px);color:#fff}
.brand .here{display:flex;align-items:center;gap:clamp(10px,1vw,16px);font-weight:800;font-size:clamp(14px,1.05vw,18px);white-space:nowrap}
.brand .here::before{content:"";width:1.5px;height:1.4em;background:var(--pink);opacity:.8}
.hdr-end{display:flex;align-items:center;gap:clamp(10px,1.2vw,20px)}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:.5em;border-radius:1000px;background:var(--pink);color:var(--navy);font-weight:600;white-space:nowrap;transition:transform .25s ease,filter .25s}
.pill:hover{transform:scale(1.04);filter:brightness(1.06)}
.pill svg{width:1.15em;flex:none}
.hdr .pill{height:clamp(34px,2.5vw,43px);padding:0 clamp(14px,1.3vw,22px);font-size:clamp(12.5px,.9vw,15px);opacity:0;transform:translateY(-6px);transition:opacity .35s,transform .35s}
.hdr.show .pill,.hdr.always .pill{opacity:1;transform:none}
/* سمت چپ هدر: لوگوی GTA Farsi | GTA Farsi (قرینه‌ی برند سمت راست) */
.brand.home{flex-direction:row-reverse}
.home-logo{display:block;width:clamp(34px,2.9vw,50px);height:clamp(34px,2.9vw,50px);border-radius:50%;flex:none;transition:transform .25s,filter .25s;filter:drop-shadow(0 4px 14px rgba(0,0,0,.35))}
.brand.home .here{font-family:"ArtDeco",var(--f);letter-spacing:.01em}
/* لوگو و متنِ هر برند یک واحدند: یک ناحیه‌ی کلیکِ یکپارچه (بدون شکاف بین
   لوگو و متن) و درخششِ هم‌زمان هر دو هنگام hover یا فوکوس */
.brand{position:relative;padding:8px 12px;margin:-8px -12px}
.brand .logo,.brand .home-logo,.brand .here{transition:transform .25s,filter .25s,text-shadow .25s}
.brand .here::before{transition:opacity .25s,box-shadow .25s}
.brand:focus-visible{outline:none}
.brand:hover .here,.brand:focus-visible .here{text-shadow:0 0 12px rgba(255,178,198,.85),0 0 26px rgba(214,86,220,.55)}
.brand:hover .here::before,.brand:focus-visible .here::before{opacity:1;box-shadow:0 0 10px var(--pink)}
.brand:hover .logo,.brand:focus-visible .logo{filter:drop-shadow(0 0 10px rgba(255,178,198,.75))}
.brand:hover .home-logo,.brand:focus-visible .home-logo{transform:scale(1.06);filter:drop-shadow(0 0 12px rgba(214,86,220,.7))}


/* ── فوتر ───────────────────────────────────────────────── */
.foot{padding:clamp(40px,4vw,70px) 0 clamp(40px,4vw,60px);text-align:center;color:var(--lav2)}
.foot .vi{width:clamp(110px,9.5vw,162px);margin:0 auto clamp(18px,2vw,34px)}
.foot .ps-note{font-size:14px;margin:0 0 clamp(26px,3vw,50px)}
.foot .ps-note a{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* «پروپاگاندا»: کپسول با حاشیه‌ی نازک، مثل سایت اصلی */
.prop{display:flex;align-items:center;justify-content:center;gap:clamp(18px,2.4vw,40px);width:min(880px,100%);margin:0 auto;padding:clamp(18px,1.6vw,26px) clamp(24px,3vw,48px);border-radius:1000px;border:1.5px solid rgba(204,194,245,.35);text-align:right;transition:border-color .25s,background .25s}
.prop:hover{border-color:rgba(229,221,255,.7);background:rgba(255,255,255,.03)}
.prop b{display:flex;align-items:center;gap:12px;font-weight:950;font-size:clamp(16px,1.3vw,21px);color:#fff;white-space:nowrap}
.prop b svg{width:26px;height:26px;flex:none}
.prop span{font-size:clamp(13px,.95vw,16px);line-height:1.7;color:#fff;max-width:450px}
.soc{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;margin:clamp(26px,3vw,50px) 0 clamp(16px,1.4vw,24px)}
.soc a{width:51px;height:51px;display:grid;place-items:center;border-radius:50%;color:var(--lav2);transition:color .2s,background .2s}
.soc a:hover{color:#fff;background:#1a1b31}
.soc svg{width:20px;height:20px}
.legal{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 22px;font-size:13px;margin-bottom:22px}
.legal a:hover{color:#fff}
.rating{font-size:12.5px;line-height:1.8;opacity:.8}
.rating a{text-decoration:underline}
.fan{margin-top:14px;font-size:12px;opacity:.6}
.fan a{text-decoration:underline;text-underline-offset:3px}
.fan a:hover{color:#fff}
.fan.by{margin-top:6px}

/* ── مودال ویدیو (یوتیوب) ────────────────────────────────── */
.modal{position:fixed;inset:0;z-index:90;background:rgba(7,8,16,.96);display:none;align-items:center;justify-content:center;padding:clamp(12px,3vw,60px)}
.modal.on{display:flex}
.modal .box{width:min(1400px,100%,calc((100vh - 2 * clamp(12px,3vw,60px)) * 16 / 9));aspect-ratio:16/9;background:#000;border-radius:var(--r);overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.6)}
.modal .x{position:absolute;z-index:2;top:clamp(14px,2vw,34px);left:clamp(14px,2vw,34px);width:46px;height:46px;border-radius:50%;background:#1a1b31;font-size:26px;line-height:46px;color:#fff}
/* ── پخش‌کننده‌ی ویدیوی سایت ── */
.vp{position:relative;width:100%;height:100%;background:#000;color:#fff;font-family:var(--f);user-select:none}
.vp video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#000}
.vp-big{position:absolute;left:50%;top:50%;translate:-50% -50%;width:clamp(64px,7vw,96px);height:clamp(64px,7vw,96px);border-radius:50%;display:grid;place-items:center;background:var(--pink);color:var(--navy);box-shadow:0 10px 40px rgba(0,0,0,.4);transition:opacity .25s,transform .25s}
.vp-big svg{width:42%;margin-left:6%}
.vp-big:hover{transform:scale(1.06)}
.vp:not(.paused) .vp-big,.vp.wait .vp-big{opacity:0;pointer-events:none}
.vp-spin{position:absolute;left:50%;top:50%;width:52px;height:52px;margin:-26px 0 0 -26px;border-radius:50%;border:4px solid rgba(255,255,255,.2);border-top-color:var(--pink);animation:vpspin .9s linear infinite;opacity:0;pointer-events:none;transition:opacity .2s}
.vp.wait .vp-spin{opacity:1}
@keyframes vpspin{to{transform:rotate(360deg)}}
.vp-err{position:absolute;left:10%;right:10%;top:42%;margin:0;text-align:center;font-size:15px;color:#fff;background:rgba(12,13,27,.88);padding:14px 18px;border-radius:10px}
.vp-bar{position:absolute;left:0;right:0;bottom:0;padding:40px clamp(12px,1.6vw,22px) clamp(10px,1.2vw,16px);background:linear-gradient(0deg,rgba(0,0,0,.8),transparent);transition:opacity .3s}
.vp:not(.ui):not(.paused) .vp-bar{opacity:0}
.vp:not(.ui):not(.paused){cursor:none}
.vp-seek{position:relative;height:18px;cursor:pointer;touch-action:none}
.vp-seek::before,.vp-buf,.vp-cur{content:"";position:absolute;left:0;top:50%;height:4px;margin-top:-2px;border-radius:4px}
.vp-seek::before{right:0;background:rgba(255,255,255,.22)}
.vp-buf{background:rgba(255,255,255,.4);width:0}
.vp-cur{background:var(--pink);width:0}
.vp-knob{position:absolute;top:50%;left:0;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:#fff;transform:scale(0);transition:transform .15s}
.vp-seek:hover .vp-knob,.vp-seek:focus-visible .vp-knob{transform:scale(1)}
.vp-row{display:flex;align-items:center;gap:clamp(6px,1vw,14px);margin-top:4px}
.vp-row button{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;color:#fff;transition:background .2s}
.vp-row button:hover{background:rgba(255,255,255,.14)}
.vp-row svg{width:22px;height:22px}
.vp-vol{width:clamp(60px,7vw,100px);accent-color:var(--pink)}
.vp-time{font-size:14px;font-weight:600;white-space:nowrap;opacity:.9}
.vp-title{flex:1;text-align:right;font-weight:800;font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:767.98px){.vp-vol,.vp-title{display:none}.vp-time{flex:1}}

/* ── گالری افقی («بیشتر بدانید» / «کاوش») ─────────────────
   تمام‌صفحه، با چرخ موس به‌صورت افقی اسکرول می‌شود. هر «قاب» یک ستون
   تمام‌قد است: عکس بزرگ، متن، یا گروهی از عکس‌های قاب‌دار. */
.gm{position:fixed;inset:0;z-index:70;background:var(--gbg,#1c1430);color:var(--gfg,#fff);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}
.gm.on{opacity:1;visibility:visible}
.gm-bgimg{position:absolute;inset:0;background:var(--gbgi,none) center/cover;opacity:var(--gbgo,1);pointer-events:none}
.gm-view{position:absolute;inset:0;overflow:hidden}
/* صفحه‌ها کنار هم؛ جابه‌جایی فقط با transform (دقیق به اندازه‌ی یک صفحه) */
.gm-track{position:absolute;inset:0;display:flex;will-change:transform;touch-action:none}
.gm-bar{position:absolute;inset:0 0 auto;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:clamp(14px,2vw,34px) clamp(16px,2.5vw,43px);pointer-events:none}
.gm-bar>*{pointer-events:auto}
.gm-back{height:clamp(36px,2.4vw,44px);padding:0 clamp(14px,1.2vw,20px);font-size:clamp(13px,.95vw,16px);background:var(--gacc,var(--lav));color:var(--navy)}
.gm-back svg{width:1.1em}
.gm-cta{height:clamp(36px,2.4vw,44px);padding:0 clamp(14px,1.3vw,22px);font-size:clamp(13px,.95vw,16px);background:var(--gcta,var(--pink));color:var(--navy)}
.gm-prog{position:absolute;inset:auto 0 0;height:3px;z-index:3;background:rgba(255,255,255,.08)}
.gm-prog i{display:block;height:100%;width:100%;transform-origin:right;transform:scaleX(0);background:var(--gacc,var(--lav))}

/* ── یک صفحه = یک صفحه‌نمایش ── */
.gp{position:relative;flex:none;width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:clamp(20px,2.6vw,52px);padding:0 clamp(20px,3.4vw,64px);isolation:isolate;overflow:hidden;color:var(--gfg,inherit)}
.gp.dark{--geye:#9fe1f6}
.gf-bg{position:absolute;inset:0;z-index:-1;background:var(--fbg);opacity:var(--fbgo,1)}
.gf-glow{position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(42% 60% at 50% 55%,var(--glow) 0%,transparent 70%)}
/* عکس بزرگ: لبه‌به‌لبه، تمام‌قد، نصف صفحه (یا تمام صفحه اگر تنهاست) */
.gp.has-hero{padding-block:0}
.gp.has-hero.hero-first{padding-inline-start:0}
.gp.has-hero:not(.hero-first){padding-inline-end:0}
.gf-hero{position:relative;flex:0 0 46%;height:100%;overflow:hidden}
.gp.has-hero.has-cols .gf-hero{flex-basis:40%}
.gp.has-hero:not(.has-text) .gf-hero{flex-basis:100%}
.gp.has-hero:not(.has-text){padding:0}
.gf-hero img{width:100%;height:100%;object-fit:cover}
.gf-hero.fit{flex-basis:56%;height:92%}
.gf-hero.fit img{object-fit:contain}
.gf-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(270deg,transparent 55%,var(--gbg,#1c1430) 100%);opacity:var(--hfade,0)}
/* متن: حالا که صفحه باز است، ستون پهن‌تر و حروف درشت‌تر */
.gf-text{flex:0 0 auto;width:min(30vw,520px);min-width:0;padding-block:20px}
.gp.has-hero:not(.has-cols) .gf-text{flex:1 1 0;width:auto;max-width:min(40vw,640px)}
.gp.has-text:not(.has-hero):not(.has-cols) .gf-text{max-width:min(60vw,820px)}
.gf-text.center{text-align:center}
.gf-eye{display:block;font-weight:900;font-size:clamp(14px,1.05vw,18px);color:var(--geye,var(--peach));margin-bottom:.7em;text-transform:uppercase}
.gf-ttl{margin:0 0 .5em;font-weight:950;font-size:clamp(34px,3.8vw,72px);line-height:1.1;color:var(--gttl,var(--cream));letter-spacing:-.01em}
.gf-ttl.xl{font-size:clamp(42px,5vw,96px)}
.gf-body p{margin:0 0 1em;font-size:clamp(15px,1.25vw,21px);line-height:1.9;font-weight:500}
.gf-btn{margin-top:clamp(10px,1.4vw,22px);height:clamp(42px,3vw,52px);padding:0 clamp(18px,1.6vw,28px);font-size:clamp(14px,1vw,17px);background:var(--gcta,var(--peach));color:var(--navy);text-shadow:none}
.gf-btn svg{transform:scaleX(-1)}
.gm.overlay .gp.has-hero.has-text:not(.has-cols){justify-content:flex-start;padding:0 7vw}
.gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-hero{position:absolute;inset:0;width:100%;flex:none;z-index:-1}
.gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-hero::after{opacity:1;background:linear-gradient(270deg,color-mix(in srgb,var(--gbg) 94%,transparent) 0%,color-mix(in srgb,var(--gbg) 80%,transparent) 30%,transparent 62%)}
.gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-hero img{object-position:var(--hpos,30%) 50%}
.gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-text{flex:none;width:min(34vw,600px);max-width:none;text-shadow:0 2px 24px rgba(0,0,0,.35)}
/* کلاژ: ستون‌ها در ارتفاع صفحه جا می‌شوند */
.gf-cols{flex:0 0 auto;height:100%;display:flex;gap:2vw;align-items:stretch;padding-block:2.5vh}
.gf-col{display:flex;flex-direction:column;justify-content:center;gap:2.4vh;min-height:0}
.gf-col.top{justify-content:flex-start}
.gf-col.bottom{justify-content:flex-end}
.lb{position:relative;flex:none;height:calc(var(--s) * var(--k,1) * .92vh);aspect-ratio:var(--ar,1/1);max-height:95vh;overflow:hidden;border:clamp(3px,.28vw,5px) solid var(--gframe,var(--peach));background:rgba(0,0,0,.2);cursor:zoom-in;transform:rotate(var(--rot,0deg));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.lb.plain{border:0}
.lb:hover{transform:rotate(var(--rot,0deg)) scale(1.02)}
.lb img{width:100%;height:100%;object-fit:cover;object-position:var(--op,50%) 50%}
.lb .zoom{position:absolute;bottom:12px;left:12px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--gframe,var(--peach));color:var(--navy)}
.lb .zoom svg{width:15px}
/* «وایس سیتی» نئونی در گالری پک وینتیج */
.neon{display:inline-block;margin-top:.1em;font-size:1.15em;font-weight:950;color:#ffe3f0;text-shadow:0 0 6px #ff4fa3,0 0 18px #ff4fa3,0 0 36px #ff2d8f;transform:rotate(-6deg)}
/* «ایالت خوش‌گذرانی» در گالری کالکشن */
.gts{margin:0 0 .2em;font-weight:950;font-size:clamp(34px,3.6vw,64px);color:#ffb2c6;transform:rotate(-4deg);text-shadow:0 3px 0 #7a2c63,0 0 24px rgba(255,120,190,.35)}
/* تزئینات کالکشن: تصاویر کارتونی شناور */
.deco{position:absolute;z-index:1;pointer-events:none;animation:floaty 6s ease-in-out infinite;filter:drop-shadow(0 20px 30px rgba(0,0,0,.25))}
.deco.d2{animation-duration:7.5s;animation-delay:-2s}
.gp.flush .deco{position:relative;flex:0 1 auto;max-width:52%;object-fit:contain;object-position:50% 100%}
@keyframes floaty{50%{transform:translateY(-14px) rotate(-2deg)}}
.gm .rv{opacity:0;transform:translateY(24px);transition:opacity .7s ease .25s,transform .7s cubic-bezier(.2,.7,.2,1) .25s}
.gm .rv.in{opacity:1;transform:none}

/* نمایش تمام‌صفحه‌ی عکس */
.lbx{position:fixed;inset:0;z-index:95;background:rgba(7,8,16,.95);display:none;align-items:center;justify-content:center;padding:clamp(12px,4vw,70px)}
.lbx.on{display:flex}
.lbx img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.lbx .x{position:absolute;top:clamp(14px,2vw,34px);left:clamp(14px,2vw,34px);width:46px;height:46px;border-radius:50%;background:#1a1b31;font-size:26px;line-height:46px;color:#fff}
.lbx .cap{position:absolute;bottom:clamp(12px,2vw,26px);inset-inline:10%;text-align:center;font-size:14px;color:var(--lav2)}

/* ورود نرم عناصر */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}

@media (max-width:767.98px){
  :root{--wrap:calc(100vw - 32px)}
  .brand .here{display:none}
  .prop{flex-direction:column;align-items:center;gap:8px;border-radius:24px;text-align:center}
  .gp{flex-direction:column;justify-content:center;gap:18px;padding:80px 20px 40px}
  .gp.has-hero{padding:0 0 40px}
  .gp.has-hero .gf-hero{flex:0 0 52%;width:100%;height:auto}
  .gp.has-hero:not(.has-text) .gf-hero{flex-basis:100%}
  .gf-hero.fit{flex-basis:44%;height:auto}
  .gf-text,.gp.has-text:not(.has-hero):not(.has-cols) .gf-text{flex:0 1 auto;max-width:100%;padding:0 22px}
  .gp.has-text.has-cols .gf-text{padding:0}
  .gf-ttl{font-size:clamp(28px,8vw,40px)}
  .gf-body p{font-size:15px;line-height:1.85}
  .gf-cols{height:auto;max-height:62%;flex-wrap:wrap;justify-content:center;align-content:center}
  .gf-col{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center}
  .gf-cols{padding:0;gap:14px}
  .lb{height:auto;max-height:none;width:clamp(150px,calc(var(--sm,var(--s)) * 1.25vw),86vw)}
  /* کلاژهای سه‌ستونه روی موبایل از ارتفاع صفحه بیرون نزنند */
  .lb{max-height:58vh}
  .gp.has-text .lb{max-height:40vh}
  .gf-col:has(.lb ~ .lb) .lb{max-height:34vh}
  /* متن روی موبایل تمام‌عرض (قانون پهنای دسکتاپ اینجا نه) */
  .gf-text,.gp.has-hero:not(.has-cols) .gf-text,.gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-text{width:100%;max-width:100%;flex:0 1 auto}
  /* حالت «روی عکس»: عکس تمام‌صفحه، متن پایینِ عکس روی سایه */
  .gm.overlay .gp.has-hero.has-text:not(.has-cols){justify-content:flex-end;padding:0 0 48px}
  .gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-hero{height:100%}
  .gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-hero::after{background:linear-gradient(0deg,color-mix(in srgb,var(--gbg) 96%,transparent) 0%,color-mix(in srgb,var(--gbg) 85%,transparent) 38%,transparent 70%)}
  .gm.overlay .gp.has-hero.has-text:not(.has-cols) .gf-text{padding:0 22px}
  }
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv,.gm .rv{opacity:1;transform:none}
}
