/* ============================================================
   FLOW — CORRIDA DETALHE (layout novo: hero + card de inscrição sticky)
   Tema claro/escuro via tokens do flow.css
   ============================================================ */

:root {
  --bg-base:#FFFFFF; --bg-surface:#F5F6F8; --bg-elevated:#EEF0F3;
  --fire:#FFD200; --fire-mid:#E0AE00;
  --text-primary:#16181D; --text-secondary:#565C68; --ink-3:#8A909C;
  --border-subtle:#E7E9ED; --border-mid:#D7DAE0;
  --shadow-sm:0 1px 2px rgba(16,18,22,.06),0 2px 6px rgba(16,18,22,.04);
  --shadow:0 8px 28px rgba(16,18,22,.09);
  --shadow-lg:0 20px 55px rgba(16,18,22,.15);
  --r:12px; --r-lg:16px; --r-pill:999px;
}

* { box-sizing:border-box; }
html,body { overflow-x:hidden; }
body { margin:0; font-family:'DM Sans',system-ui,sans-serif; background:var(--bg-base); color:var(--text-primary); padding-top:64px; -webkit-font-smoothing:antialiased; }
img { max-width:100%; }
.cd .container { max-width:1180px; }

/* ── HERO ── */
.cd-hero { position:relative; background:#0B0C10; padding:4.5rem 0 3rem; overflow:hidden; isolation:isolate; }
.cd-hero-bg { position:absolute; inset:0; z-index:-2; }
.cd-hero-bg img { width:100%; height:100%; object-fit:cover; object-position:center; filter:grayscale(35%) brightness(.5) contrast(1.05); }
.cd-hero-overlay { position:absolute; inset:0; z-index:-1; background:linear-gradient(105deg,rgba(8,9,12,.95) 0%,rgba(8,9,12,.8) 45%,rgba(8,9,12,.55) 100%),linear-gradient(to top,rgba(8,9,12,.9),transparent 55%); }
.cd-hero::before { content:''; position:absolute; left:0; top:0; bottom:0; width:6px; background:var(--fire); z-index:1; }
.cd-hero-inner { position:relative; z-index:2; padding-left:1.1rem; }
@media (max-width:576px) { .cd-hero-inner { padding-left:1.3rem; } }

.cd-crumb { font-size:.82rem; color:rgba(255,255,255,.6); margin-bottom:1rem; display:flex; flex-wrap:wrap; gap:.4rem; align-items:center; }
.cd-crumb a { color:rgba(255,255,255,.75); text-decoration:none; }
.cd-crumb a:hover { color:var(--fire); }
.cd-crumb .cur { color:#fff; font-weight:600; }

.cd-status { display:inline-block; font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:.72rem; text-transform:uppercase; letter-spacing:1.4px; padding:.32rem .8rem; border-radius:var(--r-pill); margin-bottom:.9rem; }
.cd-status--aberto { background:#17B85A; color:#04240F; }
.cd-status--breve  { background:var(--fire); color:#0E0F12; }
.cd-status--enc    { background:#E23C3C; color:#fff; }

.cd-title { font-family:'Barlow Condensed',sans-serif; font-weight:900; text-transform:uppercase; font-size:clamp(2.2rem,5.5vw,4rem); line-height:.98; color:#fff; margin:0 0 .6rem; max-width:16ch; }
.cd-sub { color:rgba(255,255,255,.82); font-size:1.05rem; max-width:60ch; margin:0 0 1.4rem; }

.cd-facts { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.6rem 1.4rem; }
.cd-facts li { display:inline-flex; align-items:center; gap:.5rem; color:rgba(255,255,255,.9); font-size:.92rem; }
.cd-facts li i { color:var(--fire); }

/* faixa racing */
.cd-stripe { height:10px; background:repeating-linear-gradient(-55deg,var(--fire) 0 20px,#0B0C10 20px 40px); }

/* ── GRID conteúdo + sidebar ── */
.cd-grid { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:2.5rem; padding:3rem 1.1rem 4rem; align-items:start; }

.cd-block { margin-bottom:2.4rem; }
.cd-block:last-child { margin-bottom:0; }
.cd-h2 { font-family:'Barlow Condensed',sans-serif; font-weight:800; text-transform:uppercase; font-size:1.5rem; color:var(--text-primary); margin:0 0 1rem; position:relative; padding-left:.9rem; }
.cd-h2::before { content:''; position:absolute; left:0; top:.1em; height:.85em; width:4px; background:var(--fire); border-radius:3px; }
.cd-h2-ic { color:var(--fire-mid); margin-right:.15rem; }
[data-theme="dark"] .cd-h2-ic { color:var(--fire); }
.cd-desc { color:var(--text-secondary); font-size:1rem; line-height:1.8; }
.cd-muted { color:var(--ink-3); font-size:.92rem; }

/* chips de distância */
.cd-chips { display:flex; flex-wrap:wrap; gap:.6rem; }
.cd-chip { display:inline-flex; align-items:center; gap:.5rem; background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:var(--r-pill); padding:.5rem 1.1rem; font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--text-primary); }
.cd-chip i { color:var(--fire-mid); }

/* botões de link (pdf/percurso) */
.cd-link-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1.4rem; background:var(--bg-surface); border:1px solid var(--border-mid); border-radius:var(--r-pill); color:var(--text-primary); font-weight:600; font-size:.9rem; text-decoration:none; transition:all .25s; }
.cd-link-btn:hover { border-color:var(--fire); background:var(--fire); color:#0E0F12; }
.cd-link-btn i { color:var(--fire-mid); } .cd-link-btn:hover i { color:#0E0F12; }

.cd-percurso-img { width:100%; max-width:640px; border-radius:var(--r); border:1px solid var(--border-subtle); }
.cd-video { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; max-width:640px; border-radius:var(--r); background:#000; }
.cd-video iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }

/* kit */
.cd-kit { display:grid; grid-template-columns:repeat(auto-fill,minmax(120px,1fr)); gap:1rem; }
.cd-kit-item { text-align:center; }
.cd-kit-item img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:var(--r); border:1px solid var(--border-subtle); background:var(--bg-surface); }
.cd-kit-item.noimg { }
.cd-kit-ph { aspect-ratio:1; display:flex; align-items:center; justify-content:center; background:var(--bg-elevated); border:1px solid var(--border-subtle); border-radius:var(--r); color:var(--ink-3); font-size:1.6rem; }
.cd-kit-item span { display:block; margin-top:.5rem; font-size:.82rem; font-weight:600; color:var(--text-secondary); }

/* perks */
.cd-perks { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; }
.cd-perk { display:flex; gap:.9rem; padding:1.2rem; background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:var(--r); }
.cd-perk i { color:var(--fire-mid); font-size:1.3rem; flex-shrink:0; margin-top:.2rem; }
[data-theme="dark"] .cd-perk i { color:var(--fire); }
.cd-perk strong { display:block; font-family:'Barlow Condensed',sans-serif; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--text-primary); margin-bottom:.2rem; }
.cd-perk span { font-size:.86rem; color:var(--text-secondary); line-height:1.45; }

/* ── CARD DE INSCRIÇÃO (sticky) ── */
.cd-side { position:relative; }
.cd-reg { position:sticky; top:84px; background:var(--bg-surface); border:1px solid var(--border-subtle); border-radius:var(--r-lg); box-shadow:var(--shadow); overflow:hidden; }
.cd-reg-price { padding:1.4rem 1.5rem 1.1rem; border-bottom:1px solid var(--border-subtle); display:flex; flex-direction:column; gap:.1rem; }
.cd-reg-from { font-size:.78rem; color:var(--ink-3); text-transform:uppercase; letter-spacing:1px; }
.cd-reg-val { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:2.2rem; line-height:1; color:var(--text-primary); }
.cd-reg-val--sm { font-size:1.5rem; }
.cd-reg-free { font-family:'Barlow Condensed',sans-serif; font-weight:900; font-size:1.9rem; color:#17B85A; text-transform:uppercase; }

.cd-reg-facts { list-style:none; margin:0; padding:1rem 1.5rem; display:flex; flex-direction:column; gap:.85rem; }
.cd-reg-facts li { display:flex; gap:.7rem; align-items:flex-start; }
.cd-reg-facts li i { color:var(--fire-mid); width:18px; text-align:center; margin-top:.15rem; flex-shrink:0; }
[data-theme="dark"] .cd-reg-facts li i { color:var(--fire); }
.cd-reg-facts span { display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.5px; color:var(--ink-3); }
.cd-reg-facts strong { display:block; font-size:.92rem; color:var(--text-primary); font-weight:600; line-height:1.35; }

.cd-reg-btn { display:flex; align-items:center; justify-content:center; gap:.55rem; width:calc(100% - 3rem); margin:.3rem 1.5rem; padding:.95rem 1rem; background:var(--fire); color:#0E0F12; border:none; border-radius:var(--r-pill); font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:1.05rem; text-transform:uppercase; letter-spacing:1px; cursor:pointer; transition:all .25s; }
.cd-reg-btn:hover:not(:disabled) { background:#0E0F12; color:var(--fire); transform:translateY(-2px); box-shadow:var(--shadow-lg); }
.cd-reg-btn.is-off { background:var(--bg-elevated); color:var(--ink-3); cursor:not-allowed; }
.cd-reg-note { text-align:center; font-size:.76rem; color:var(--ink-3); margin:.7rem 1.5rem 1.3rem; }
.cd-reg-note i { color:var(--fire-mid); }

/* ── OUTRAS CORRIDAS ── */
.cd-related { background:var(--bg-surface); border-top:1px solid var(--border-subtle); padding:3rem 0 3.5rem; }
.cd-related-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:1rem; }
.cd-rel-card { text-decoration:none; display:block; border-radius:var(--r); overflow:hidden; background:var(--bg-base); border:1px solid var(--border-subtle); transition:transform .25s,box-shadow .25s,border-color .25s; }
.cd-rel-card:hover { transform:translateY(-4px); border-color:var(--fire); box-shadow:var(--shadow); }
.cd-rel-img { aspect-ratio:1; overflow:hidden; background:var(--bg-elevated); }
.cd-rel-img img { width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.cd-rel-card:hover .cd-rel-img img { transform:scale(1.06); }
.cd-rel-name { display:block; padding:.6rem .7rem; font-size:.8rem; font-weight:600; color:var(--text-primary); line-height:1.3; }

/* ── BARRA MOBILE ── */
.cd-mobilebar { position:fixed; bottom:0; left:0; right:0; z-index:1050; background:var(--bg-base); border-top:1px solid var(--border-subtle); box-shadow:0 -6px 24px rgba(16,18,22,.12); padding:.7rem 1rem; transform:translateY(100%); transition:transform .3s ease; }
.cd-mobilebar .cd-reg-btn { width:100%; margin:0; }

/* ── TOAST ── */
.go-toast { position:fixed; bottom:24px; right:24px; padding:.9rem 1.4rem; border-radius:10px; font-size:.88rem; font-weight:600; color:#fff; z-index:9999; box-shadow:var(--shadow-lg); max-width:320px; animation:cdToast .25s ease; }
.go-toast.sucesso { background:#16b455; } .go-toast.erro { background:#e23c3c; }
@keyframes cdToast { from{opacity:0;transform:translateY(12px);} to{opacity:1;transform:translateY(0);} }

/* ── RESPONSIVO ── */
@media (max-width:900px) {
  .cd-grid { grid-template-columns:1fr; gap:2rem; }
  .cd-reg { position:static; }
}
@media (max-width:576px) {
  body { padding-top:60px; }
  .cd-hero { padding:3.5rem 0 2.4rem; }
  .cd-facts { gap:.5rem 1rem; }
  .cd-facts li { font-size:.84rem; }
  .cd-grid { padding:2rem 1.3rem 5rem; }
  .cd-kit { grid-template-columns:repeat(3,1fr); }
}
@media (prefers-reduced-motion:reduce) { * { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
