/* FamilyRound — pagina jocului (product page). Scoped under .fr-gamepage, loaded only on
   single product. Warm ivory + forest + warm gold palette, per brand brief. */

.fr-gamepage{
  /* Palette inherited from the theme/homepage tokens — kept consistent (cool mist +
     forest + amber), NOT a warm-ivory palette. --gold-ink is a darker shade of the
     same amber, used only where text needs AA contrast on light. */
  --green:var(--fr-green-deep); --green-2:var(--fr-green-light); --ink:var(--fr-ink);
  --ivory:var(--fr-cream); --ivory-2:var(--fr-white-warm); --sand:var(--fr-sage-bg); --neutral:var(--fr-cream-dark);
  --gold:var(--fr-amber); --gold-ink:#7a5a16;
  --muted:var(--fr-muted); --line:#d7ded3;
  --ease:var(--fr-ease-out); --mx:min(92vw,1240px);
  background:var(--ivory); color:var(--ink);
}
.fr-gamepage img{display:block;max-width:100%}
.fr-gamepage a{color:inherit;text-decoration:none}
.fr-gamepage h1,.fr-gamepage h2,.fr-gamepage h3{font-family:var(--fr-font-display),"Bricolage Grotesque",sans-serif;color:var(--green);line-height:1.02;letter-spacing:-0.03em;font-weight:700;text-wrap:balance}
.fr-gamepage .wrap{max-width:var(--mx);margin:0 auto;padding:0 clamp(20px,4vw,28px)}
.fr-gamepage .gp-sec{padding:clamp(72px,10vw,132px) 0}
.fr-gamepage .center{text-align:center}

.fr-gamepage .gp-eyebrow{font-size:13px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);margin:0 0 20px}
.fr-gamepage .gp-eyebrow--light{color:var(--gold)}

.fr-gamepage .gp-link{display:inline-flex;align-items:center;gap:6px;color:var(--gold-ink);font-weight:600;font-size:17px}
.fr-gamepage .gp-link .c{transition:transform .2s var(--ease)}
.fr-gamepage .gp-link:hover .c{transform:translateX(3px)}

.fr-gamepage .gp-pill{display:inline-flex;align-items:center;gap:9px;background:var(--green);color:var(--ivory);font-weight:600;font-size:16px;
  padding:15px 30px;border-radius:999px;transition:transform .2s var(--ease),background .2s var(--ease);cursor:pointer}
.fr-gamepage .gp-pill:hover{background:var(--green-2);transform:translateY(-2px)}
.fr-gamepage .gp-pill:active{transform:translateY(0) scale(.99)}
.fr-gamepage .gp-pill--gold{background:var(--gold);color:var(--green-dark,#0f261c)}
.fr-gamepage .gp-pill--gold:hover{background:var(--fr-gold-light)}

/* reveal */
.fr-gamepage .rev{opacity:0;transform:translateY(26px)}
.fr-gamepage .rev.in{opacity:1;transform:none;transition:opacity .7s var(--ease),transform .7s var(--ease)}
@media (prefers-reduced-motion:reduce){.fr-gamepage .rev{opacity:1;transform:none}}

/* 01 · hero split */
.fr-gamepage .gp-hero{padding-top:clamp(40px,5vw,72px);background:var(--ivory)}
.fr-gamepage .gp-hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(36px,5vw,76px);align-items:center}
.fr-gamepage .gp-hero-copy{max-width:540px}
.fr-gamepage .gp-hero h1{font-size:clamp(38px,5.2vw,74px);margin:0 0 20px}
.fr-gamepage .gp-lead{font-size:clamp(17px,1.4vw,19px);color:var(--muted);margin:0 0 28px;max-width:46ch}
.fr-gamepage .gp-hero-buy{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin:0 0 14px}
.fr-gamepage .gp-hero-price{font-family:var(--fr-font-display),sans-serif;font-size:24px;font-weight:700;color:var(--green)}
.fr-gamepage .gp-order-note{max-width:44ch;margin:0 0 18px;color:var(--muted);font-size:14px;line-height:1.55}
.fr-gamepage .gp-hero-meta{font-size:14.5px;color:var(--muted);margin:0 0 18px}
.fr-gamepage .gp-hero-media img{width:100%;filter:drop-shadow(0 46px 66px rgba(20,59,44,.28))}
@media(max-width:860px){
  .fr-gamepage .gp-hero-grid{grid-template-columns:1fr;gap:28px;text-align:center}
  .fr-gamepage .gp-hero-copy{max-width:none}
  .fr-gamepage .gp-hero-media{order:-1}
  .fr-gamepage .gp-lead{margin-left:auto;margin-right:auto}
  .fr-gamepage .gp-hero-buy{justify-content:center}
  .fr-gamepage .gp-order-note{margin-left:auto;margin-right:auto}
}

/* real WooCommerce add-to-cart inside hero/final */
.fr-gamepage form.cart{display:inline-flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0}
.fr-gamepage form.cart .quantity{margin:0}
.fr-gamepage form.cart .quantity .qty{width:64px}

/* prelaunch email capture (replaces the form above while FR_PRELAUNCH is on) */
.fr-gamepage .fr-prelaunch-form{display:inline-flex;gap:10px;flex-wrap:wrap}
.fr-gamepage .fr-prelaunch-form input{font:inherit;font-size:16px;padding:13px 16px;border-radius:999px;border:1px solid rgba(23,56,45,.3);background:var(--ivory);color:var(--ink);min-width:240px}
.fr-gamepage .fr-prelaunch-form input:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.fr-gamepage .fr-prelaunch-form button{font:inherit;font-weight:600;font-size:16px;padding:13px 24px;border-radius:999px;border:0;background:var(--green);color:var(--ivory);cursor:pointer;transition:background .2s var(--ease),transform .2s var(--ease)}
.fr-gamepage .fr-prelaunch-form button:hover{background:var(--green-2)}
.fr-gamepage .fr-prelaunch-form button:disabled{opacity:.6;pointer-events:none}
.fr-gamepage .fr-prelaunch-note{font-weight:600;color:var(--green)}

/* 02 · statement */
.fr-gamepage .gp-statement{background:var(--green);text-align:center}
.fr-gamepage .gp-statement .gp-eyebrow{color:var(--gold)}
.fr-gamepage .gp-statement h2{color:var(--ivory);font-size:clamp(32px,5.4vw,70px);max-width:18ch;margin:0 auto 26px}
.fr-gamepage .gp-statement em{font-style:normal;color:var(--gold)}
.fr-gamepage .gp-statement p{color:color-mix(in srgb,var(--ivory) 82%,transparent);max-width:52ch;margin:0 auto;font-size:clamp(17px,1.5vw,20px)}

/* two-up feature */
.fr-gamepage .gp-feature .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.fr-gamepage .gp-feature:nth-of-type(odd) .gp-media{order:2}
.fr-gamepage #contine{background:var(--ivory-2);scroll-margin-top:96px}
.fr-gamepage .gp-feature h2{font-size:clamp(30px,4.2vw,54px);margin:0 0 22px}
.fr-gamepage .gp-feature p{font-size:17.5px;color:var(--muted);max-width:44ch;margin:0 0 16px}
.fr-gamepage .gp-feature .gp-media img{width:100%;border-radius:18px;filter:drop-shadow(0 40px 60px rgba(20,59,44,.24))}
@media(max-width:860px){.fr-gamepage .gp-feature .wrap{grid-template-columns:1fr;gap:32px}.fr-gamepage .gp-feature:nth-of-type(odd) .gp-media{order:0}}

/* editorial "what's inside" list */
.fr-gamepage .gp-incl{list-style:none;margin:26px 0 0;padding:0}
.fr-gamepage .gp-incl li{display:flex;gap:18px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line)}
.fr-gamepage .gp-incl li:last-child{border-bottom:1px solid var(--line)}
.fr-gamepage .gp-incl .n{font-family:var(--fr-font-display),sans-serif;font-size:15px;font-weight:700;color:var(--gold-ink);letter-spacing:.04em;min-width:26px}
.fr-gamepage .gp-incl h3{font-size:18px;margin:0 0 3px;letter-spacing:-0.01em}
.fr-gamepage .gp-incl p{font-size:14.5px;color:var(--muted);margin:0;max-width:40ch}

/* 04 · fan */
.fr-gamepage .gp-fan-sec{text-align:center;overflow:hidden}
.fr-gamepage .gp-on-ivory{background:var(--sand)}
.fr-gamepage .gp-fan-head h2{font-size:clamp(30px,4.2vw,54px);margin:0 0 16px}
.fr-gamepage .gp-fan-head p{font-size:17.5px;color:var(--muted);max-width:50ch;margin:0 auto}
.fr-gamepage .gp-fan{display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;row-gap:40px;margin:48px auto 0;max-width:760px}
.fr-gamepage .gp-fan-card{position:relative;margin:0 0 0 -58px;width:150px;aspect-ratio:408/520;border-radius:12px;overflow:hidden;border:6px solid #fff;background:#fff;box-shadow:0 18px 32px -18px rgba(20,59,44,.35);transform:rotate(var(--r,0deg)) translateY(var(--ty,0px));transition:transform .3s var(--ease),box-shadow .3s var(--ease)}
.fr-gamepage .gp-fan-card:first-child{margin-left:0}
.fr-gamepage .gp-fan-card img{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
@media (hover:hover){.fr-gamepage .gp-fan-card:hover{transform:translateY(calc(var(--ty, 0px) - 10px));box-shadow:0 26px 40px -18px rgba(20,59,44,.45);z-index:5}}
.fr-gamepage .gp-fan-note{text-align:center;color:var(--muted);font-size:15px;margin-top:30px}
@media(max-width:600px){.fr-gamepage .gp-fan-card{width:100px;margin-left:-38px}}

/* 05 · poster before/after */
.fr-gamepage .gp-poster{background:var(--ivory);text-align:center}
.fr-gamepage .gp-poster-head{max-width:640px;margin:0 auto 52px}
.fr-gamepage .gp-poster-head h2{font-size:clamp(32px,4.6vw,58px);margin:0 0 16px}
.fr-gamepage .gp-poster-head p{font-size:17.5px;color:var(--muted)}
.fr-gamepage .gp-reveal{max-width:860px;margin:0 auto}
.fr-gamepage .gp-reveal-frame{position:relative;border-radius:18px;overflow:hidden;box-shadow:0 34px 56px -32px rgba(20,59,44,.38);aspect-ratio:4/3;background:var(--ivory-2)}
.fr-gamepage .gp-reveal-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.fr-gamepage .gp-reveal-after{clip-path:inset(0 calc(100% - var(--pct)) 0 0)}
.fr-gamepage .gp-reveal-line{position:absolute;top:0;bottom:0;left:var(--pct);width:3px;background:#fff;box-shadow:0 0 0 1px rgba(20,59,44,.18);pointer-events:none}
.fr-gamepage .gp-reveal-line::after{content:"↔";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;color:var(--green);display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 8px 20px rgba(20,59,44,.3)}
.fr-gamepage .gp-reveal-hint{text-align:center;color:var(--muted);font-size:14px;margin:18px 0 12px}
.fr-gamepage .gp-reveal-control{display:flex;align-items:center;gap:14px;max-width:460px;margin:0 auto}
.fr-gamepage .gp-reveal-label{flex:0 0 auto;font-family:var(--fr-font-display),sans-serif;font-weight:600;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-ink);white-space:nowrap}
.fr-gamepage .gp-reveal-range{flex:1 1 auto;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(to right,var(--green) 0%,var(--green) var(--pct),var(--line) var(--pct),var(--line) 100%);cursor:pointer}
.fr-gamepage .gp-reveal-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:#fff;border:3px solid var(--green);box-shadow:0 4px 10px rgba(20,59,44,.3);cursor:pointer}
.fr-gamepage .gp-reveal-range::-moz-range-track{background:var(--line);height:6px;border-radius:999px;border:0}
.fr-gamepage .gp-reveal-range::-moz-range-progress{background:var(--green);height:6px;border-radius:999px 0 0 999px}
.fr-gamepage .gp-reveal-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:3px solid var(--green);box-shadow:0 4px 10px rgba(20,59,44,.3);cursor:pointer}
.fr-gamepage .gp-poster-end{font-family:var(--fr-font-display),sans-serif;font-size:clamp(22px,2.6vw,32px);color:var(--green);max-width:24ch;margin:clamp(44px,6vw,64px) auto 0;line-height:1.1}
@media(max-width:720px){.fr-gamepage .gp-reveal-frame{aspect-ratio:3/4}}

/* 07 · gift */
.fr-gamepage .gp-gift{background:var(--sand)}
.fr-gamepage .gp-gift .wrap{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,6vw,90px);align-items:center}
.fr-gamepage .gp-gift .gp-media img{width:100%;border-radius:18px;filter:drop-shadow(0 40px 60px rgba(20,59,44,.24))}
.fr-gamepage .gp-gift h2{font-size:clamp(28px,3.8vw,50px);margin:0 0 20px}
.fr-gamepage .gp-gift p{font-size:17.5px;color:var(--muted);max-width:42ch;margin:0 0 26px}
@media(max-width:860px){.fr-gamepage .gp-gift .wrap{grid-template-columns:1fr;gap:30px}.fr-gamepage .gp-gift .gp-media{order:-1}}

/* 08 · details + faq */
.fr-gamepage .gp-faq{background:var(--neutral)}
.fr-gamepage .gp-faq-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:clamp(40px,6vw,80px);align-items:start}
.fr-gamepage .gp-faq h2{font-size:clamp(26px,3vw,38px);margin:0 0 24px}
.fr-gamepage .gp-faq-details ul{list-style:none;margin:0;padding:0}
.fr-gamepage .gp-faq-details li{display:flex;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line);font-size:15.5px}
.fr-gamepage .gp-faq-details li:last-child{border-bottom:1px solid var(--line)}
.fr-gamepage .gp-faq-details span{color:var(--muted)}
.fr-gamepage .gp-faq-details strong{color:var(--green);font-weight:600;text-align:right}
.fr-gamepage .gp-acc details{border-top:1px solid var(--line)}
.fr-gamepage .gp-acc details:last-child{border-bottom:1px solid var(--line)}
.fr-gamepage .gp-acc summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;position:relative;font-weight:600;font-size:17px;color:var(--green)}
.fr-gamepage .gp-acc summary::-webkit-details-marker{display:none}
.fr-gamepage .gp-acc summary::after{content:"";position:absolute;right:4px;top:50%;width:11px;height:11px;margin-top:-6px;
  border-right:2px solid var(--gold-ink);border-bottom:2px solid var(--gold-ink);transform:rotate(45deg);transition:transform .3s var(--ease)}
.fr-gamepage .gp-acc details[open] summary::after{transform:rotate(-135deg)}
.fr-gamepage .gp-acc p{margin:0 0 18px;color:var(--muted);font-size:16px;max-width:60ch}
@media(max-width:820px){.fr-gamepage .gp-faq-grid{grid-template-columns:1fr;gap:40px}}

/* 09 · final cta */
.fr-gamepage .gp-final{background:var(--green);text-align:center}
.fr-gamepage .gp-final-shot{width:min(320px,70vw);margin:0 auto 30px;filter:drop-shadow(0 40px 60px rgba(0,0,0,.4))}
.fr-gamepage .gp-final h2{color:var(--ivory);font-size:clamp(30px,4.4vw,58px);max-width:20ch;margin:0 auto 18px}
.fr-gamepage .gp-final p{color:color-mix(in srgb,var(--ivory) 82%,transparent);max-width:46ch;margin:0 auto 30px;font-size:17.5px}
.fr-gamepage .gp-final-cta{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap}
.fr-gamepage .gp-final-price{color:var(--gold);font-weight:700;font-size:20px}

/* sticky mobile buy bar */
.fr-gp-sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;align-items:center;justify-content:space-between;gap:14px;
  padding:12px clamp(16px,5vw,22px);background:color-mix(in srgb,var(--fr-white-warm) 86%,transparent);backdrop-filter:saturate(1.4) blur(14px);
  border-top:1px solid var(--fr-cream-dark);box-shadow:0 -12px 30px -22px rgba(15,38,28,.5)}
.fr-gp-sticky-price{font-family:var(--fr-font-display),sans-serif;font-weight:700;font-size:18px;color:var(--fr-green-deep)}
.fr-gp-sticky-btn{background:var(--fr-green-deep);color:var(--fr-white-warm);font-weight:600;padding:12px 26px;border-radius:999px;font-size:15px}
@media(max-width:860px){.fr-gp-sticky.is-on{display:flex}}
@media (prefers-reduced-motion:no-preference){.fr-gp-sticky{transform:translateY(100%);transition:transform .35s var(--ease)}.fr-gp-sticky.is-on{transform:none}}
