/* Archivo — fonte variável, servida localmente (sem Google Fonts) */
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;
  src:url("fonts/archivo-latin.woff2") format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;
  src:url("fonts/archivo-latin-ext.woff2") format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'Archivo';font-style:normal;font-weight:100 900;font-stretch:100%;font-display:swap;
  src:url("fonts/archivo-vietnamese.woff2") format('woff2');
  unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:#0e090c;}
body{font-family:'Archivo',sans-serif;-webkit-font-smoothing:antialiased;}
a{color:#f48fb4;} a:hover{color:#fbc0d6;}
img{max-width:100%}

@keyframes pulseGlow{0%,100%{opacity:.55}50%{opacity:.9}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

@media (max-width:640px){
  .cta-final-img{display:none}
  .site-footer{flex-direction:column; text-align:center; justify-content:center;}
}
/* o botão do topo não cabe em telas estreitas — encolhe em vez de vazar */
@media (max-width:460px){
  .topo-logo{height:34px !important}
  .topo-cta{font-size:11px !important; padding:10px 14px !important; letter-spacing:.04em !important}
}
@media (max-width:360px){
  .topo-cta{font-size:10px !important; padding:9px 11px !important}
}
@media (prefers-reduced-motion: reduce){
  *{animation:none !important; transition:none !important}
}

/* hover — substitui o atributo style-hover do bundle original */
.hov{transition:box-shadow .3s, transform .3s, border-color .3s, background .3s}
.hov-glow:hover{box-shadow:0 14px 44px rgba(221,74,128,.65) !important}
.hov-glow-sm:hover{box-shadow:0 8px 30px rgba(221,74,128,.55) !important}
.hov-card:hover{transform:translateY(-4px); border-color:rgba(255,157,148,.4) !important}
.hov-step:hover{transform:translateY(-6px); border-color:rgba(244,143,180,.5) !important; box-shadow:0 20px 50px rgba(224,72,127,.18) !important}
.hov-ghost:hover{background:rgba(224,72,127,.12) !important}
.hov-wa:hover{background:rgba(37,211,102,.12) !important}
.hov-wa-fab:hover{box-shadow:0 16px 44px rgba(37,211,102,.65) !important}
.hov-print:hover{transform:rotate(0deg) scale(1.02) !important}
.hov-preview:hover{transform:translateY(-4px)}

/* card de combo (estados controlados pelo app.js) */
.combo-card{background:#170e14;border:1px solid rgba(244,143,180,.15);border-radius:20px;padding:28px 26px;
  cursor:pointer;user-select:none;transition:all .3s;text-align:left;width:100%;font:inherit;color:inherit;display:block}
.combo-card[aria-pressed="true"]{background:#1f1119;border-color:rgba(244,143,180,.8);
  transform:translateY(-4px);box-shadow:0 14px 40px rgba(224,72,127,.2)}
.combo-card.dim{opacity:.55}
.combo-check{width:28px;height:28px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:15px;font-weight:900;color:transparent;background:transparent;border:1px solid rgba(244,143,180,.4);transition:all .25s}
.combo-card[aria-pressed="true"] .combo-check{color:#12090f;background:#f48fb4;border-color:#f48fb4}
.combo-cta{display:inline-flex;align-items:center;gap:8px;background:rgba(224,72,127,.25);color:#fff;font-size:14px;
  font-weight:800;letter-spacing:.04em;text-transform:uppercase;padding:14px 28px;border-radius:999px;
  text-decoration:none;opacity:.5;pointer-events:none;transition:all .3s}
.combo-cta.ativo{background:linear-gradient(135deg,#f06292,#e0487f);opacity:1;pointer-events:auto;
  box-shadow:0 12px 34px rgba(224,72,127,.4)}

/* FAQ */
.faq-resposta{display:none}
.faq-item.aberto .faq-resposta{display:block}
.faq-botao{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px;background:none;border:none;
  color:#f6eef3;font-family:'Archivo',sans-serif;font-size:16px;font-weight:700;text-align:left;padding:18px 22px;cursor:pointer}

/* foco visível para teclado */
:focus-visible{outline:2px solid #f48fb4;outline-offset:3px;border-radius:6px}
