/* ============================================================
   Karen Regal — Programa Reta Final SEDES-DF
   Design tokens (mirrors the SD Karen Regal design system)
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;1,400;1,500&family=Raleway:wght@300;400;500;600;700;800&display=swap');

:root{
  /* Brand palette */
  --kr-terracotta:#B85C3A;
  --kr-navy:#2B3A4E;
  --kr-navy-alt:#2B3A43; /* deeper, quieter navy */
  --kr-ochre:#C99144;
  --kr-sage:#6B7A5A;
  --kr-sand:#DDD5C2;

  /* Neutrals */
  --kr-ink:#1E1B17;
  --kr-ink-soft:#4A4038;
  --kr-cream:#EAE4D6;
  --kr-sand-deep:#CFC5AE;
  --kr-white:#F6F2E9;

  /* Semantic aliases */
  --bg-page:var(--kr-sand);
  --bg-page-dark:var(--kr-navy);
  --surface-card:var(--kr-cream);
  --text-heading:var(--kr-ink);
  --text-body:var(--kr-ink-soft);
  --text-on-dark:var(--kr-sand);
  --accent:var(--kr-terracotta);
  --accent-warm:var(--kr-ochre);
  --accent-cool:var(--kr-sage);
  --border-soft:var(--kr-sand-deep);

  /* Type */
  --font-display:'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body:'Raleway', system-ui, -apple-system, sans-serif;
  --lh-display:1.08;
  --lh-body:1.5;
  --ls-label:0.18em;
  --ls-display:-0.01em;

  /* Spacing / radii / shadows */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:24px;
  --sp-6:32px; --sp-7:48px; --sp-8:64px; --sp-9:96px;
  --radius-sm:4px; --radius-md:10px; --radius-lg:20px; --radius-xl:40px;
  --radius-pill:999px;
  --shadow-sm:0 1px 3px rgba(30,27,23,.08);
  --shadow-md:0 8px 24px rgba(30,27,23,.10);
  --border-hair:1px solid var(--border-soft);

  /* Paper grain (reused ground texture) */
  --grain-bg: url('data:image/svg+xml;utf8,<svg xmlns=%22http://www.w3.org/2000/svg%22 width=%22200%22 height=%22200%22><filter id=%22n%22><feTurbulence type=%22fractalNoise%22 baseFrequency=%220.85%22 numOctaves=%222%22 stitchTiles=%22stitch%22/><feColorMatrix type=%22matrix%22 values=%220 0 0 0 0.11  0 0 0 0 0.10  0 0 0 0 0.09  0 0 0 0.05 0%22/></filter><rect width=%22200%22 height=%22200%22 filter=%22url(%23n)%22/></svg>');
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;overflow-x:hidden;background:var(--kr-cream);font-family:var(--font-body)}
img{max-width:100%}
button{font-family:inherit}
a{color:inherit}

.grain{background-color:var(--kr-sand);background-image:var(--grain-bg)}

/* ---------------- CTA buttons ---------------- */
.btn-cta{
  border:none;cursor:pointer;border-radius:var(--radius-md);
  background:var(--kr-terracotta);color:var(--kr-cream);
  font-family:var(--font-body);font-weight:700;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-cta:hover{background:#a34f30;transform:translateY(-1px)}
.btn-cta:active{transform:translateY(0)}
.btn-cta:disabled{opacity:.45;cursor:not-allowed;transform:none}
.btn-cta:disabled:hover{background:var(--kr-terracotta)}

/* ---------------- Checkout form fields ---------------- */
#checkout-nome::placeholder,
#checkout-whatsapp::placeholder{color:var(--kr-sand);opacity:.5}
#checkout-nome:focus,
#checkout-whatsapp:focus{outline:none;border-color:var(--kr-terracotta)}

/* ---------------- Carousels (auto-scroll) ---------------- */
.carousel-viewport{overflow:hidden;width:100%}
.carousel-track{display:flex;gap:28px;width:max-content;will-change:transform}
.carousel-track figure{flex:none;margin:0;display:flex;flex-direction:column;gap:14px}
.carousel-track img{display:block;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border-soft)}
.carousel-track figcaption{font-family:var(--font-body);font-size:14px;color:var(--kr-ink-soft);text-align:center}

/* ---------------- FAQ ---------------- */
.faq-item{border-bottom:var(--border-hair)}
.faq-question{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:26px 4px;cursor:pointer;background:none;border:none;width:100%;text-align:left}
.faq-question-text{font-family:var(--font-body);font-weight:600;font-size:clamp(15px,2.2vw,17px);color:var(--kr-ink);flex:1;min-width:0}
.faq-icon{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--kr-ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:16px;color:var(--kr-ink);transition:transform .2s ease}
.faq-answer{padding:0 4px 28px;font-family:var(--font-body);font-size:15px;line-height:var(--lh-body);color:var(--text-body);max-width:640px;overflow:hidden;max-height:0;transition:max-height .3s ease}
.faq-item.open .faq-answer{max-height:400px}

/* ---------------- Countdown ---------------- */
.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(70px,1fr));gap:clamp(10px,2.5vw,20px);max-width:640px;margin:0 auto}
.countdown-box{background:#1F2A38;border:1px solid rgba(246,242,233,.12);border-radius:var(--radius-md);padding:clamp(16px,3vw,24px) clamp(10px,2vw,28px);min-width:0}
.countdown-num{font-family:var(--font-display);font-weight:600;font-size:clamp(26px,7vw,44px);color:var(--kr-terracotta);line-height:1}
.countdown-label{font-family:var(--font-body);font-size:clamp(10px,2vw,12px);letter-spacing:.1em;text-transform:uppercase;color:var(--kr-sand);opacity:.65;margin-top:10px}

@media (prefers-reduced-motion: reduce){
  .carousel-track{transition:none !important}
}

/* ---------------- Status pages (sucesso / pendente / erro) ---------------- */
.status-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}
.status-card{max-width:560px;width:100%;background:var(--kr-cream);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(36px,6vw,56px) clamp(24px,5vw,48px);text-align:center}
.status-logo{height:30px;width:auto;display:block;margin:0 auto clamp(28px,4vw,36px)}
.status-icon{font-size:clamp(40px,8vw,56px);line-height:1;margin-bottom:20px}
.status-title{font-family:var(--font-display);font-weight:500;font-size:clamp(24px,4vw,34px);line-height:1.25;color:var(--kr-ink);margin:0 0 16px}
.status-body{font-family:var(--font-body);font-size:clamp(15px,2vw,17px);line-height:var(--lh-body);color:var(--text-body);margin:0 0 clamp(28px,4vw,36px)}
.status-cta{display:inline-block;text-decoration:none;padding:16px 32px}
