:root{--pink:#ff5e93;--purple:#7b3fd5;--orange:#ff8a00;--orange-2:#ff6d00;--yellow:#ffc83d;--green:#22c55e;--blue:#178de2;--teal:#17b8b8;--ink:#173153;--muted:#64748b;--paper:#fff;--soft:#fff7fb;--soft-2:#eef9ff;--line:rgba(23,49,83,.13);--shadow:0 18px 45px rgba(23,49,83,.14);--shadow-soft:0 10px 24px rgba(123,63,213,.13);--radius:24px;--gap:22px;--page-space:clamp(36px,5vw,76px)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400;color:var(--ink);background:radial-gradient(circle at 8% 0%,rgba(255,94,147,.20),transparent 25%),radial-gradient(circle at 92% 6%,rgba(255,200,61,.23),transparent 24%),radial-gradient(circle at 78% 80%,rgba(23,184,184,.12),transparent 28%),linear-gradient(180deg,#eaf9ff 0,#fff8fd 48%,#f6fbff 100%);overflow-x:hidden}body::before{content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.25;background-image:radial-gradient(circle at 1px 1px,rgba(123,63,213,.18) 1px,transparent 0);background-size:26px 26px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.container{width:min(1160px,calc(100% - 42px));margin-inline:auto}.page-main{padding:var(--page-space) 0 clamp(56px,7vw,96px)}.page-section{display:grid;gap:var(--gap)}.glass{background:rgba(255,255,255,.86);border:1px solid var(--line);box-shadow:var(--shadow-soft);backdrop-filter:blur(18px);border-radius:var(--radius)}.btn{border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:43px;padding:11px 17px;border-radius:999px;font-weight:500;font-size:.95rem;color:var(--ink);background:#fff;box-shadow:0 8px 18px rgba(23,49,83,.10);transition:transform .2s ease,box-shadow .2s ease,background .2s ease,opacity .2s ease}.btn:hover{transform:translateY(-2px);box-shadow:0 13px 26px rgba(23,49,83,.14)}.btn.primary{background:linear-gradient(135deg,var(--purple),var(--pink));color:#fff}.btn.green{background:linear-gradient(135deg,#16a34a,var(--green));color:#fff}.btn.shopee,.btn.orange{background:var(--orange);color:#fff}.btn.shopee:hover,.btn.orange:hover{background:var(--orange-2);color:#fff}.btn.ghost{background:rgba(255,255,255,.76);border:1px solid var(--line)}.btn.danger{background:#fff0f3;color:#c0263f;border:1px solid rgba(192,38,63,.18)}h1,h2,h3{margin:0;color:var(--ink);letter-spacing:-.03em;font-weight:700}h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:.98}h2{font-size:clamp(1.65rem,3vw,2.8rem);line-height:1.05}h3{font-size:1.18rem;line-height:1.2}p{font-weight:400;line-height:1.75;color:var(--muted);margin:0}.lead{font-size:1.08rem;max-width:720px}.grad{background:linear-gradient(135deg,var(--purple),var(--pink),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}.badge{width:max-content;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;font-weight:500;color:var(--purple);background:rgba(255,255,255,.82);border:1px solid rgba(123,63,213,.16)}.head{display:flex;align-items:end;justify-content:space-between;gap:24px}.head p{max-width:780px;margin-top:10px}.hero-actions{display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:22px}.field{width:100%;min-height:45px;border:1px solid var(--line);border-radius:15px;background:#fff;padding:11px 13px;color:var(--ink);outline:none;font-weight:400}.field:focus{border-color:rgba(123,63,213,.55);box-shadow:0 0 0 4px rgba(123,63,213,.10)}textarea.field{min-height:110px;resize:vertical}.invalid{border-color:#e11d48!important;box-shadow:0 0 0 4px rgba(225,29,72,.10)!important}.alert{padding:14px 16px;border-radius:18px;border:1px solid var(--line);background:#fff}.alert.error{color:#be123c;background:#fff0f3}.alert.success{color:#166534;background:#ecfdf3}.page-loader{position:fixed;inset:0;z-index:200;background:rgba(255,255,255,.88);backdrop-filter:blur(16px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.18s ease}.page-loader.show{opacity:1;visibility:visible}.spinner-card{display:grid;place-items:center;gap:14px;padding:26px;border-radius:24px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);color:var(--purple);font-weight:500}.spinner{width:46px;height:46px;border-radius:50%;border:4px solid rgba(123,63,213,.16);border-top-color:var(--purple);animation:spin .75s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[data-animate]{opacity:0;transform:translateY(18px);transition:.55s ease}[data-animate].in{opacity:1;transform:none}@media(max-width:780px){.container{width:min(100% - 28px,1160px)}.head{align-items:start;flex-direction:column}.btn{width:100%}.hero-actions .btn{width:auto}}


/* Rolagem progressiva e microinterações */
.product-card,.benefit,.step,.admin-card,.checkout-card,.summary-card,.auth-card,.stat,.spot-card{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s ease,filter .55s ease;filter:saturate(.92)}
.product-card.in,.benefit.in,.step.in,.admin-card.in,.checkout-card.in,.summary-card.in,.auth-card.in,.stat.in,.spot-card.in{opacity:1;transform:none;filter:saturate(1)}
.confetti{position:fixed;top:-18px;z-index:300;width:10px;height:16px;border-radius:4px;pointer-events:none;animation:confettiFall 1.35s cubic-bezier(.18,.82,.38,.98) forwards}
@keyframes confettiFall{0%{transform:translateY(-20px) rotate(0deg);opacity:1}100%{transform:translateY(105vh) rotate(660deg);opacity:0}}
.guest-modal{position:fixed;inset:0;z-index:140;display:none;place-items:center;padding:22px;background:rgba(23,49,83,.48);backdrop-filter:blur(12px)}
.guest-modal.show{display:grid}
.guest-modal-card{width:min(520px,100%);padding:24px;display:grid;gap:14px;background:#fff}
.guest-modal-card .hero-actions{justify-content:center;margin-top:10px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.field.is-loading{background-image:linear-gradient(90deg,rgba(123,63,213,.05),rgba(255,94,147,.10),rgba(123,63,213,.05));background-size:200% 100%;animation:fieldLoading 1s linear infinite}@keyframes fieldLoading{to{background-position:-200% 0}}
