/* ═══ ATLAS v7 — guide detail pages (PDP) ═══
   Loads after style.css. Per-book tint via body class. */
body.b-vault{--tint:var(--tint-vault)}
body.b-income{--tint:var(--tint-income)}
body.b-trading{--tint:var(--tint-trading)}

/* ── breadcrumb ── */
.crumb{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;color:var(--ink-soft);
  display:flex;align-items:center;gap:10px;margin-bottom:26px}
.crumb a{text-decoration:none;color:var(--ink-soft);transition:color var(--dur-micro)}
.crumb a:hover{color:var(--accent)}
.crumb .sep{color:var(--line)}

/* ── PDP hero ── */
.g-hero{padding:clamp(40px,7vh,84px) 0 clamp(48px,8vh,96px)}
.g-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,6vw,84px);align-items:center}
.g-copy h1{font-size:clamp(2.3rem,4.6vw,3.7rem);line-height:1.04;letter-spacing:-.02em;margin:14px 0 18px}
.g-copy h1 .tinted{color:var(--tint)}
.g-kicker{font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;color:var(--ink-soft)}
.g-kicker b{color:var(--tint);font-weight:500}
.g-promise{font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.65;color:var(--ink-soft);max-width:52ch}
.g-specrow{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 30px}
.g-chip{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--ink);
  border:1px solid var(--line);border-radius:999px;padding:7px 14px;background:var(--surface)}
.g-buy{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.g-price{font-family:var(--mono);font-size:2rem;font-variant-numeric:tabular-nums}
.g-vat{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;color:var(--ink-soft);display:block;margin-top:2px}
.g-nudge{margin-top:18px;font-size:14px;color:var(--ink-soft)}
.g-nudge a{color:var(--accent)}

/* cover: entrance rise + shadow, pointer tilt (JS), gentle idle float */
.g-cover{position:relative;display:flex;justify-content:center;perspective:1100px}
.g-cover img{width:min(360px,78%);height:auto;border-radius:14px;border:1px solid var(--line);
  box-shadow:0 34px 70px -30px rgba(22,24,29,.38);will-change:transform}
[data-theme="dark"] .g-cover img{box-shadow:0 34px 70px -26px rgba(0,0,0,.7)}
.g-cover.enter img{animation:coverin 1s var(--ease-spring) both}
@keyframes coverin{from{opacity:0;transform:translateY(38px) rotate(2.2deg) scale(.96)}}
.g-cover.idle img{animation:coverfloat 9s ease-in-out infinite}
@keyframes coverfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media (prefers-reduced-motion:reduce){.g-cover.enter img,.g-cover.idle img{animation:none}}

/* ── signature motion band ── */
.g-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  background:var(--surface);overflow:hidden}
.g-band .wrap{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,5vw,64px);
  align-items:center;padding-top:clamp(40px,7vh,72px);padding-bottom:clamp(40px,7vh,72px)}
.g-band h2{font-size:clamp(1.5rem,2.6vw,2.1rem)}
.g-band p{color:var(--ink-soft);line-height:1.7;margin-top:12px;max-width:46ch}
.g-scene{position:relative;border:1px solid var(--line);border-radius:16px;background:var(--bg);
  aspect-ratio:16/10;overflow:hidden}
.g-scene canvas{position:absolute;inset:0;width:100%;height:100%}
.g-scene .scene-cap{position:absolute;left:14px;bottom:12px;font-family:var(--mono);
  font-size:10px;letter-spacing:.12em;color:var(--ink-soft)}

/* ── chapter map ── */
.g-map{padding:clamp(56px,9vh,110px) 0}
.g-part{margin-top:34px}
.g-part-h{display:flex;align-items:baseline;gap:14px;padding-bottom:12px;position:relative}
.g-part-h::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:var(--line);transform:scaleX(0);transform-origin:left;
  transition:transform 1s var(--ease-out) .15s}
.g-part.in .g-part-h::after{transform:scaleX(1)}
.g-part-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--tint);font-weight:500}
.g-part-title{font-size:1.15rem;font-weight:600}
.g-chapters{list-style:none;padding:0;margin:6px 0 0;columns:2;column-gap:clamp(24px,4vw,56px)}
.g-chapters li{display:flex;gap:12px;padding:9px 0;break-inside:avoid;
  font-size:14.5px;color:var(--ink-soft);line-height:1.5;
  opacity:0;transform:translateX(-12px);
  transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}
.g-part.in .g-chapters li{opacity:1;transform:none}
.g-chapters .n{font-family:var(--mono);font-size:11.5px;color:var(--tint);min-width:24px;
  padding-top:2px;font-variant-numeric:tabular-nums}
.g-extras{margin-top:38px;display:flex;flex-wrap:wrap;gap:10px}
.g-extras .x{font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  border:1px dashed var(--line);border-radius:10px;padding:9px 14px;color:var(--ink-soft)}
.g-extras .x b{color:var(--tint);font-weight:500;margin-right:6px}
@media (prefers-reduced-motion:reduce){
  .g-part-h::after{transform:none;transition:none}
  .g-chapters li{opacity:1;transform:none;transition:none}
}

/* ── spreads band (reuses .spreads/.spread from style.css) ── */
.g-pages{padding-bottom:clamp(56px,9vh,110px)}

/* ── who it's for ── */
.g-who{border-top:1px solid var(--line);background:var(--surface)}
.g-who .wrap{display:grid;grid-template-columns:minmax(0,640px);justify-content:center;gap:clamp(24px,4vw,56px);
  padding-top:clamp(48px,8vh,88px);padding-bottom:clamp(48px,8vh,88px)}
.g-who h3{font-size:1.05rem;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.g-who ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.g-who li{display:flex;gap:11px;font-size:14.5px;line-height:1.6;color:var(--ink-soft)}
.g-who .tick{color:var(--tint);flex:0 0 auto;padding-top:3px}
.g-who .cross{color:var(--ink-soft);opacity:.8;flex:0 0 auto;padding-top:3px}

/* ── PDP price block ── */
.g-cta{padding:clamp(56px,9vh,110px) 0}
.g-cta-card{max-width:560px;margin:0 auto;background:var(--bg);border:1px solid var(--line);
  border-radius:20px;padding:clamp(24px,4vw,36px);text-align:center;position:relative;overflow:hidden}
.g-cta-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--tint)}
.g-cta-card h2{font-size:clamp(1.4rem,2.4vw,1.8rem)}
.g-cta-price{font-family:var(--mono);font-size:2.4rem;margin:14px 0 4px;font-variant-numeric:tabular-nums}
.g-cta-card .offer{justify-content:center;margin:10px 0 20px}
.g-cta-card .btn-big{width:100%}
.g-cta-bundle{margin-top:22px;border-top:1px dashed var(--line);padding-top:20px;font-size:14px;
  color:var(--ink-soft);line-height:1.65}
.g-cta-bundle b{color:var(--ink)}
.g-cta-bundle a{color:var(--accent)}

/* ── product minibar (shows after hero, hides at cta) ── */
#gbar{position:fixed;left:50%;bottom:18px;transform:translate(-50%,90px);z-index:60;
  display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:10px 12px 10px 18px;box-shadow:0 18px 44px -18px rgba(22,24,29,.3);
  transition:transform .55s var(--ease-spring);max-width:calc(100vw - 32px)}
#gbar.on{transform:translate(-50%,0)}
#gbar .gb-name{font-weight:600;font-size:14px;white-space:nowrap}
#gbar .gb-price{font-family:var(--mono);font-size:13px;color:var(--ink-soft);white-space:nowrap}
@media (prefers-reduced-motion:reduce){#gbar{transition:none}}

/* ── responsive ── */
@media (max-width:880px){
  .g-grid{grid-template-columns:1fr;gap:34px}
  /* copy first on phones: title, promise, price + CTA in the first viewport */
  .g-cover{order:2}
  .g-cover img{width:min(230px,60%)}
  .g-band .wrap{grid-template-columns:1fr}
  .g-chapters{columns:1}
  .g-who .wrap{grid-template-columns:1fr}
  #gbar .gb-name{display:none}
}
