/* Carnaval · máscara, bandeirinhas e confetti */
.cv-t-carnaval{--cv-bg:#2a0f5c;--cv-ink:#ffffff;--cv-mute:#e0cdfc;--cv-accent:#ffd23f;--cv-accent2:#ff3d8b;--cv-card:rgba(255,255,255,.12);--cv-linha:rgba(255,255,255,.28);--cv-fh:'Lilita One',Georgia,serif;--cv-fb:'Nunito',system-ui,sans-serif;--cv-rad:24px;--cv-btn-ink:#2a0f5c;
  background:radial-gradient(60% 40% at 15% 10%,#7a3cff 0,transparent 70%),radial-gradient(60% 40% at 90% 40%,#ff3d8b 0,transparent 70%),linear-gradient(#2a0f5c,#3d1280 60%,#1e0b46) fixed}
.cv-t-carnaval .cv-h2{font-weight:400;font-size:clamp(1.8rem,7vw,2.6rem);color:#ffd23f;text-shadow:0 3px 0 rgba(255,61,139,.7)}
.cv-t-carnaval .cv-msg{font-family:'Nunito',sans-serif;font-style:normal;font-weight:700;font-size:clamp(1.15rem,4.4vw,1.5rem)}
.cv-t-carnaval .cv-cartao,.cv-t-carnaval .cv-cd,.cv-t-carnaval .cv-form{backdrop-filter:blur(6px);box-shadow:0 14px 34px rgba(10,0,40,.4)}
.cv-t-carnaval .cv-cd b,.cv-t-carnaval .cv-cartao strong{font-family:'Lilita One',serif;font-weight:400}
.cv-t-carnaval .cv-btn,.cv-t-carnaval .cv-escolha input:checked+span{background:linear-gradient(135deg,#ffd23f,#ff3d8b);color:#2a0f5c}
.cv-t-carnaval .cv-btn{box-shadow:0 12px 28px rgba(255,61,139,.45)}
.cv-t-carnaval .cv-campo input,.cv-t-carnaval .cv-campo select,.cv-t-carnaval .cv-campo textarea,.cv-t-carnaval .cv-linha-p input{color:#fff}
.cv-t-carnaval .cv-campo input:focus,.cv-t-carnaval .cv-campo textarea:focus,.cv-t-carnaval .cv-linha-p input:focus{box-shadow:0 0 0 3px rgba(255,210,63,.35)}
/* bandeirinhas */
.ca-bandeiras{position:absolute;left:0;right:0;top:0;height:26px;z-index:3;pointer-events:none;background:repeating-linear-gradient(90deg,#ff3d8b 0 44px,#ffd23f 44px 88px,#2ec4b6 88px 132px,#7a3cff 132px 176px);-webkit-mask:conic-gradient(from 135deg at 50% 0,#000 90deg,#0000 0) 0 0/44px 22px repeat-x;mask:conic-gradient(from 135deg at 50% 0,#000 90deg,#0000 0) 0 0/44px 22px repeat-x}
.ca-bandeiras::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:#fff;opacity:.85}
/* introdução: máscara */
.ca-intro{background:radial-gradient(90% 70% at 50% 40%,#5a1aa8,#2a0f5c);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;overflow:hidden}
.ca-conv{margin:0;position:relative;z-index:2;font:400 clamp(2.6rem,12vw,4.2rem)/1 'Lilita One',serif;color:#ffd23f;text-shadow:0 5px 0 #ff3d8b;text-align:center;padding:0 18px;transition:opacity .4s;transform:rotate(-3deg)}
.ca-btn{position:relative;width:min(78vw,300px);border:0;background:none;cursor:pointer;z-index:2;filter:drop-shadow(0 12px 22px rgba(0,0,0,.35));animation:cabalanca 3s ease-in-out infinite;transition:transform .7s ease,opacity .7s;-webkit-tap-highlight-color:transparent}
.ca-btn:focus-visible{outline:3px solid #ffd23f;outline-offset:8px;border-radius:20px}
.ca-btn svg{display:block;width:100%;height:auto}
@keyframes cabalanca{0%,100%{transform:rotate(-5deg)}50%{transform:rotate(5deg) translateY(-6px)}}
.cv-a-abrir .ca-btn{animation:none;transform:scale(3) rotate(10deg);opacity:0}.cv-a-abrir .ca-conv,.cv-a-abrir .ca-dica{opacity:0}
.ca-dica{margin:0;font:800 .85rem 'Nunito',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e0cdfc;animation:cafade 2.2s ease-in-out infinite;transition:opacity .4s}@keyframes cafade{50%{opacity:.45}}
/* capa */
.ca-hero{position:relative;min-height:100vh;min-height:100svh;display:grid;place-items:center;text-align:center;padding:90px 22px 100px}
.ca-hero-in{max-width:640px}
.ca-tipo{display:inline-block;margin:0;padding:7px 20px;border-radius:99px;background:#2ec4b6;color:#2a0f5c;font:900 .85rem 'Nunito',sans-serif;letter-spacing:.22em;text-transform:uppercase;transform:rotate(-3deg);box-shadow:0 5px 0 rgba(0,0,0,.3)}
.ca-titulo{margin:16px 0 10px;font:400 clamp(2.6rem,12vw,4.8rem)/1.05 'Lilita One',serif;background:linear-gradient(100deg,#ffd23f,#ff3d8b 35%,#2ec4b6 65%,#ffd23f);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:cabrilho 6s linear infinite;padding:.06em .08em;filter:drop-shadow(0 4px 0 rgba(0,0,0,.28))}
@keyframes cabrilho{to{background-position:-220% 0}}
.ca-idade{display:inline-block;margin:0 0 8px;padding:5px 18px;border-radius:99px;background:#ff3d8b;color:#fff;font:900 1rem 'Nunito',sans-serif;transform:rotate(2deg)}
.ca-data{margin:8px 0 0;font:800 clamp(1.1rem,4.4vw,1.4rem) 'Nunito',sans-serif;color:#fff}
.ca-descer{position:absolute;bottom:30px;left:50%;margin-left:-22px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#ffd23f;color:#2a0f5c;font-weight:900;text-decoration:none;box-shadow:0 5px 0 rgba(0,0,0,.3);animation:casalta 1.8s ease-in-out infinite}@keyframes casalta{50%{transform:translateY(8px)}}
.ca-balao{max-width:600px;margin:0 auto;padding:30px 22px;border-radius:34px;background:rgba(255,255,255,.14);border:3px dashed #ffd23f}
.ca-assina{margin:12px 0 0;font:800 1rem 'Nunito',sans-serif;color:var(--cv-mute)}.ca-assina b{display:block;font:400 1.7rem 'Lilita One',serif;color:#ffd23f}
