:root{
  --background:#f6f4eb;
  --foreground:#091123;
  --card:#ffffff;
  --primary:#2e46ff;
  --primary-glow:#4870ff;
  --primary-foreground:#ffffff;
  --secondary:#eeebe0;
  --muted:#eae8df;
  --muted-foreground:#4d5566;
  --accent:#f6f2e3;
  --destructive:#ee0f1f;
  --success:#23a136;
  --success-foreground:#ffffff;
  --border:rgba(211,216,226,.7);
  --input:#dadee6;
  --radius:.75rem;
  --header-bg:#eeebe0;
  --gradient-hero:linear-gradient(135deg,#2e46ff 0%,#4870ff 100%);
  --gradient-cream:linear-gradient(180deg,#f7f5ec 0%,#ebe8db 100%);
  --shadow-elegant:0 20px 50px -20px rgba(46,70,255,.35);
  --shadow-card:0 4px 24px -8px rgba(9,17,35,.12);
  --font-display:"Space Grotesk",system-ui,sans-serif;
  --font-sans:"Inter",system-ui,sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0;border-color:var(--border);border-radius:0!important}
html,body{
  background:var(--gradient-cream);
  color:var(--foreground);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  min-height:100%;
}
h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.ic{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block}
.ic.sm{width:.9rem;height:.9rem}
.container{max-width:72rem;margin:0 auto;padding:0 1rem}
.page{display:flex;flex-direction:column;min-height:100vh}

/* Header */
.site-header{background:var(--header-bg);border-bottom:1px solid var(--border)}
.header-inner{height:4rem;display:flex;align-items:center;justify-content:space-between}
.logo{font-family:var(--font-display);font-weight:800;font-size:1.875rem;letter-spacing:-.02em;text-transform:lowercase;color:var(--primary)}
.logo-light{color:#fff}
.social{display:flex;gap:.75rem;color:var(--primary)}
.social a{transition:opacity .2s}
.social a:hover{opacity:.7}
.social-light{color:#fff}

/* Hero */
.hero{padding:2.5rem 1rem 3rem}
.hero-inner{max-width:48rem;margin:0 auto;text-align:center}
.hero h1{font-size:clamp(2.25rem,5vw,3rem);font-weight:800;line-height:1.1}
.hero h1 .accent{color:var(--primary)}
.hero p{margin:1rem auto 0;max-width:36rem;color:var(--muted-foreground)}

/* Main */
.main{flex:1;padding:0 1rem 4rem}
.wrap{max-width:48rem;margin:0 auto}

/* Stepper */
.stepper{list-style:none;display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding:0 .25rem}
.stepper li{display:flex;align-items:center;flex:1}
.stepper li:last-child{flex:none}
.stepper .dot{height:2rem;width:2rem;border-radius:9999px;display:grid;place-items:center;font-size:.75rem;font-weight:700;background:var(--muted);color:var(--muted-foreground);transition:.3s;flex:none}
.stepper .lbl{margin-left:.5rem;font-size:.75rem;font-weight:500;color:var(--muted-foreground)}
.stepper .bar{height:1px;flex:1;margin:0 .75rem;background:var(--border)}
.stepper li.active .dot{background:var(--primary);color:var(--primary-foreground)}
.stepper li.active .lbl{color:var(--foreground)}
.stepper li.done .dot{background:var(--success);color:var(--success-foreground)}
.stepper li.done .bar{background:var(--success)}
@media(max-width:640px){.stepper .lbl{display:none}}

/* Card */
.card{border-radius:1.5rem;background:var(--card);padding:2.5rem;box-shadow:var(--shadow-card);border:1px solid var(--border)}
@media(max-width:640px){.card{padding:1.5rem}}
.step{display:flex;flex-direction:column;gap:1.5rem}
.sec-title h2{font-size:1.25rem;font-weight:700}
.sec-title p{font-size:.875rem;color:var(--muted-foreground);margin-top:.25rem}

/* Grid */
.grid{display:grid;gap:1rem}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-6{grid-template-columns:repeat(6,1fr)}
@media(max-width:640px){.grid-2,.grid-6{grid-template-columns:1fr}}
.col-1{grid-column:span 1}.col-2{grid-column:span 2}.col-3{grid-column:span 3}.col-4{grid-column:span 4}
@media(max-width:640px){.col-1,.col-2,.col-3,.col-4{grid-column:span 1}}

/* Fields */
.field{display:flex;flex-direction:column;gap:.375rem}
.field label{font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}
.field input{height:2.5rem;border:1px solid var(--input);border-radius:.5rem;padding:0 .75rem;font-size:.9rem;background:var(--card);color:var(--foreground);transition:border-color .15s,box-shadow .15s;width:100%}
.field input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(46,70,255,.15)}
.field input.invalid{border-color:var(--destructive)}
.err{font-size:.72rem;color:var(--destructive);min-height:.9rem}

/* Prize */
.prize-block{display:flex;flex-direction:column;gap:.75rem}
.prize-title{font-size:.875rem;font-weight:500}
.prize{text-align:left;padding:1rem;border-radius:1rem;border:2px solid var(--border);background:var(--card);transition:.2s;display:flex;flex-direction:column;gap:.125rem}
.prize:hover{border-color:rgba(46,70,255,.4)}
.prize.selected{border-color:var(--primary);background:rgba(46,70,255,.05);box-shadow:var(--shadow-elegant)}
.prize-ic{display:inline-flex;height:2.5rem;width:2.5rem;align-items:center;justify-content:center;border-radius:.75rem;margin-bottom:.5rem;background:var(--muted);color:var(--foreground)}
.prize-ic .ic{width:1.5rem;height:1.5rem}
.prize.selected .prize-ic{background:var(--primary);color:var(--primary-foreground)}
.prize-name{font-weight:600}
.prize-desc{font-size:.75rem;color:var(--muted-foreground)}

/* Buttons */
.btn{display:inline-flex;align-items:center;gap:.4rem;border:none;border-radius:.5rem;font-weight:600;font-size:.9rem;transition:.2s}
.btn-hero{background:var(--gradient-hero);color:var(--primary-foreground);padding:0 1.5rem;height:2.75rem;box-shadow:var(--shadow-elegant)}
.btn-hero:hover{filter:brightness(1.05)}
.btn-ghost{background:transparent;color:var(--foreground);padding:0 1rem;height:2.5rem}
.btn-ghost:hover{background:var(--muted)}
.actions{display:flex;padding-top:.5rem}
.actions.end{justify-content:flex-end}
.actions.between{justify-content:space-between}

/* Center steps */
.center-step{text-align:center;padding:3.5rem 0;align-items:center}
.center-step h2{font-size:1.5rem;font-weight:700}
.center-step .muted{color:var(--muted-foreground);max-width:28rem;margin:0 auto}
.center-step .small{font-size:.75rem}
.spin-wrap,.done-wrap{height:4rem;width:4rem;border-radius:9999px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.spin-wrap{background:rgba(46,70,255,.1);color:var(--primary)}
.done-wrap{background:rgba(35,161,54,.1);color:var(--success)}
.spin-wrap .ic,.done-wrap .ic{width:2rem;height:2rem}
.spin{animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}

/* Approved badge */
.approved{display:flex;align-items:center;gap:.5rem;color:var(--success);font-size:.875rem;font-weight:500}

/* LGPD */
.lgpd{margin-top:1.5rem;display:flex;align-items:flex-start;gap:.5rem;font-size:.75rem;color:var(--muted-foreground);padding:0 .5rem}
.lgpd .ic{color:var(--primary);margin-top:.1rem;flex:none}

/* Footer */
.site-footer{margin-top:auto}
.footer-top{background:var(--primary);color:var(--primary-foreground)}
.footer-top-inner{padding:2rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.footer-bottom{background:var(--card)}
.footer-bottom-inner{padding:1.25rem 1rem;display:flex;flex-direction:column;gap:.75rem;font-size:.75rem;color:var(--muted-foreground)}
.footer-nav{display:flex;flex-wrap:wrap;gap:1rem}
.footer-nav a{text-decoration:underline}
.footer-nav a:hover{color:var(--foreground)}
@media(min-width:640px){.footer-bottom-inner{flex-direction:row;align-items:center;justify-content:space-between}}

/* Toast */
.toast-wrap{position:fixed;top:1rem;left:50%;transform:translateX(-50%);z-index:50;display:flex;flex-direction:column;gap:.5rem;width:min(92vw,24rem)}
.toast{padding:.75rem 1rem;border-radius:.625rem;font-size:.875rem;font-weight:500;box-shadow:var(--shadow-card);animation:slidein .25s ease}
.toast.error{background:#fde8e8;color:#9b1c1c;border:1px solid #f5b5b5}
.toast.success{background:#e6f6e9;color:#176b27;border:1px solid #a8e0b3}
@keyframes slidein{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
[hidden]{display:none!important}

/* PIX / Taxa de adesão */
.pix-box{border:1px solid var(--border);background:rgba(234,232,223,.5);border-radius:1rem;padding:1.25rem;text-align:left;display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}
.pix-head{display:flex;align-items:center;gap:.5rem;font-size:.9rem;font-weight:700}
.pix-head .ic{color:var(--primary)}
.pix-amount{font-size:1.875rem;font-weight:800;color:var(--foreground)}
.pix-grid{display:flex;flex-direction:column;gap:1.25rem;align-items:center}
@media(min-width:640px){.pix-grid{flex-direction:row;align-items:flex-start}}
.pix-qr{background:#fff;padding:.75rem;border:1px solid var(--border);border-radius:.5rem;width:13rem;height:13rem;display:flex;align-items:center;justify-content:center}
.pix-qr img,.pix-qr canvas,.pix-qr table{width:11.5rem;height:11.5rem;object-fit:contain}
.pix-info{flex:1;display:flex;flex-direction:column;gap:.75rem;width:100%;font-size:.875rem}
.pix-info>div{display:flex;flex-direction:column;gap:.1rem}
.pix-lbl{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted-foreground)}
.btn-outline{background:var(--card);border:1px solid var(--input);color:var(--foreground);height:2.5rem;padding:0 1rem}
.btn-outline:hover{background:var(--muted)}
.wa-link{display:inline-block;width:100%}
@media(min-width:640px){.wa-link{width:auto}}

/* Delivery path (step 5) */
.delivery-path{list-style:none;display:flex;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:1rem;background:rgba(234,232,223,.4);margin:0}
.delivery-path li{display:flex;align-items:center;gap:.75rem;font-size:.9rem;font-weight:500}
.delivery-path .dp-mark{height:1.75rem;width:1.75rem;border-radius:9999px;display:grid;place-items:center;flex:none;background:var(--muted);color:var(--muted-foreground)}
.delivery-path .dp-mark .ic{width:1rem;height:1rem}
.delivery-path .dp-done .dp-mark{background:var(--success);color:var(--success-foreground)}
.delivery-path .dp-done .dp-lbl{color:var(--foreground)}
.delivery-path .dp-current .dp-mark{background:#f5c518;color:#1a1300}
.delivery-path .dp-current .dp-lbl{color:var(--foreground);font-weight:700}
.delivery-path .dp-pending .dp-lbl{color:var(--muted-foreground)}

/* Doc type toggle (CPF/CNPJ) */
.doc-toggle{display:inline-flex;border:1px solid var(--input);overflow:hidden;margin-bottom:.375rem}
.doc-toggle button{background:var(--card);color:var(--muted-foreground);border:none;padding:.4rem 1rem;font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;transition:.15s}
.doc-toggle button + button{border-left:1px solid var(--input)}
.doc-toggle button.active{background:var(--primary);color:var(--primary-foreground)}
