:root { --red:#e50914; --red-dark:#9f0000; --panel:#151515; --line:rgba(255,255,255,.11); }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; color:#fff; background:radial-gradient(circle at 15% 0,rgba(229,9,20,.2),transparent 30%),#080808; font-family:"Poppins",sans-serif; }
.checkout-header { height:84px; display:flex; align-items:center; justify-content:space-between; padding:0 clamp(20px,5vw,80px); border-bottom:1px solid var(--line); background:rgba(8,8,8,.86); backdrop-filter:blur(14px); }
.checkout-header img { width:112px; max-height:56px; object-fit:contain; }
.checkout-header span { color:rgba(255,255,255,.65); font-size:.85rem; }
.checkout-shell { width:min(1240px,calc(100% - 32px)); margin:42px auto; display:grid; grid-template-columns:minmax(0,1.4fr) minmax(340px,.7fr); gap:28px; align-items:start; }
.checkout-main,.checkout-resumo { padding:clamp(22px,3vw,42px); border:1px solid var(--line); border-radius:24px; background:linear-gradient(180deg,rgba(25,25,25,.96),rgba(12,12,12,.98)); box-shadow:0 26px 70px rgba(0,0,0,.34); }
.checkout-eyebrow { margin:0 0 5px!important; color:#ff5961!important; font-size:.78rem; font-weight:800; letter-spacing:.14em; }
h1 { margin:0 0 12px; font:400 clamp(2.7rem,6vw,5.4rem)/.92 "Bebas Neue",sans-serif; }
h2 { margin:0 0 18px; font-size:1.18rem; }
p { color:rgba(255,255,255,.68); line-height:1.65; }
.checkout-form { display:grid; gap:18px; margin-top:26px; }
.checkout-progress{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:28px 0 8px;padding:0;list-style:none}.checkout-progress li{position:relative;display:grid;justify-items:center;gap:7px;color:rgba(255,255,255,.42);font-size:.7rem;font-weight:700}.checkout-progress li:not(:last-child)::after{content:"";position:absolute;top:15px;left:calc(50% + 22px);right:calc(-50% + 22px);height:1px;background:rgba(255,255,255,.14)}.checkout-progress b{display:grid;place-items:center;width:31px;height:31px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:#111;color:#aaa}.checkout-progress .is-active{color:#fff}.checkout-progress .is-active b{border-color:var(--red);background:var(--red);color:#fff}
.checkout-step-card{margin:0;padding:22px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.018)}.checkout-step-head{display:flex;align-items:center;gap:12px;margin-bottom:18px}.checkout-step-head>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:rgba(229,9,20,.14);color:#ff5961;font-weight:900}.checkout-step-head small{display:block;color:#ff5961;font-size:.62rem;font-weight:800;letter-spacing:.12em}.checkout-step-head h2{margin:2px 0 0;font-size:1rem}.checkout-address-divider{display:flex;align-items:center;gap:12px;margin:22px 0 15px;color:#8e8e8e;font-size:.72rem;font-weight:700}.checkout-address-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.checkout-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label { display:grid; gap:7px; color:rgba(255,255,255,.8); font-size:.83rem; font-weight:700; }
input,select { width:100%; min-height:52px; padding:12px 14px; border:1px solid rgba(255,255,255,.14); border-radius:12px; outline:0; color:#fff; background:rgba(255,255,255,.06); font:500 16px "Poppins",sans-serif; }
input:focus,select:focus { border-color:var(--red); box-shadow:0 0 0 4px rgba(229,9,20,.14); }
.checkout-field-status{min-height:16px;color:#888;font-size:.65rem;font-weight:500}.checkout-field-status.is-ok{color:#70e099}.checkout-field-status.is-error{color:#ff747b}
select option { color:#fff; background:#171717; }
.checkout-grid-endereco { grid-template-columns:minmax(130px,.45fr) 1fr; }
.checkout-terms-step{border-color:rgba(229,9,20,.3);background:linear-gradient(135deg,rgba(229,9,20,.07),rgba(255,255,255,.015))}.checkout-termos{display:grid;grid-template-columns:38px 1fr 22px;align-items:start;gap:13px;padding:15px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#0d0d0d}.checkout-term-status{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:rgba(229,9,20,.15);color:#ff5961;font-weight:900}.checkout-termos strong{display:block;font-size:.83rem}.checkout-termos p{margin:4px 0 10px;color:#777;font-size:.72rem}.checkout-termos a{color:#ff737a;font-size:.78rem;font-weight:800}.checkout-termos input{width:19px;min-height:19px;accent-color:var(--red)}.checkout-termos.is-accepted .checkout-term-status{background:rgba(52,211,153,.13);color:#70e099}
.checkout-btn { display:inline-flex; width:100%; min-height:54px; align-items:center; justify-content:center; padding:0 20px; border:0; border-radius:12px; color:#fff; background:linear-gradient(135deg,var(--red),var(--red-dark)); font-weight:800; text-decoration:none; cursor:pointer; }
.checkout-btn:disabled { opacity:.42; cursor:not-allowed; }
.checkout-btn.secundario { margin-top:10px; border:1px solid rgba(229,9,20,.5); background:rgba(229,9,20,.12); }
.checkout-aviso { margin:24px 0; padding:18px; border:1px solid rgba(255,198,40,.35); border-radius:14px; background:rgba(255,198,40,.08); }
.checkout-aviso p { margin:5px 0; }
.checkout-status { min-height:24px; margin:12px 0 0; font-weight:600; }
.checkout-pagamento { display:grid; gap:10px; }
.checkout-pagamento legend { position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0); }
.checkout-pagamento > label { display:grid; grid-template-columns:16px 1fr; align-items:start; gap:10px; padding:11px 12px; border:1px solid rgba(255,255,255,.09); border-radius:11px; background:rgba(255,255,255,.025); cursor:pointer; transition:border-color .2s ease,background .2s ease,box-shadow .2s ease; }
.checkout-pagamento > label:hover { border-color:rgba(229,9,20,.32); background:rgba(229,9,20,.035); }
.checkout-pagamento > label:has(input:checked) { border-color:rgba(229,9,20,.58); background:linear-gradient(135deg,rgba(229,9,20,.105),rgba(159,0,0,.045)); box-shadow:inset 3px 0 0 var(--red); }
.checkout-pagamento input[type="radio"] { appearance:none; width:14px; height:14px; min-height:14px; margin:3px 0 0; padding:0; border:1.5px solid rgba(255,255,255,.48); border-radius:50%; background:transparent; box-shadow:none; cursor:pointer; }
.checkout-pagamento input[type="radio"]:checked { border:4px solid var(--red); background:#fff; box-shadow:0 0 0 2px rgba(229,9,20,.13); }
.checkout-pagamento input[type="radio"]:focus-visible { outline:2px solid rgba(255,255,255,.7); outline-offset:3px; }
.checkout-pagamento strong,.checkout-pagamento small { display:block; }
.checkout-pagamento small { margin-top:3px; color:rgba(255,255,255,.52); font-weight:500; }
.checkout-pagamento > label:has(input:disabled) { opacity:.45; cursor:not-allowed; }
.checkout-pagamento.is-free>label,.checkout-pagamento.is-free>.checkout-cartao,.checkout-pagamento.is-free>.checkout-security-note{display:none!important}.checkout-pagamento.is-free .checkout-gateway-placeholder{border-color:rgba(52,211,153,.28);background:rgba(52,211,153,.08);color:#9ce8c5}
.checkout-cartao { margin-top:4px; padding:16px; border:1px solid rgba(229,9,20,.28); border-radius:13px; background:rgba(0,0,0,.25); }
.checkout-cartao[hidden] { display:none; }
.checkout-grid-cartao { grid-template-columns:1fr 1fr; }
.checkout-cartao label { display:grid; grid-template-columns:1fr; gap:7px; padding:0; border:0; border-radius:0; background:transparent; cursor:default; }
.checkout-cartao .campo-largo { grid-column:1/-1; }
.checkout-cartao > p { margin:13px 0 0; color:rgba(255,255,255,.55); font-size:.74rem; line-height:1.55; }
.checkout-gateway-placeholder { padding:13px; border-radius:11px; color:rgba(255,255,255,.55); background:rgba(229,9,20,.07); font-size:.78rem; line-height:1.55; }
.checkout-gateway-placeholder::before{content:"";display:inline-block;width:18px;height:18px;margin-right:7px;vertical-align:-4px;background:var(--red);border-radius:50%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m6 12 4 4 8-9' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-size:13px 13px;background-position:center;background-repeat:no-repeat}
.checkout-security-note { display:grid; gap:5px; padding:14px; border:1px solid rgba(52,211,153,.24); border-radius:11px; color:#9ce8c5; background:rgba(52,211,153,.07); font-size:.78rem; line-height:1.55; }
.checkout-security-note span { color:rgba(255,255,255,.62); }
.checkout-pagamento-resultado { display:grid; gap:12px; margin-top:18px; padding:18px; border:1px solid rgba(52,211,153,.26); border-radius:15px; background:rgba(52,211,153,.06); }
.checkout-pagamento-resultado[hidden] { display:none; }
.checkout-pagamento-resultado img { width:min(240px,100%); margin:auto; padding:10px; border-radius:12px; background:#fff; }
.reality-payment-loading { position:relative; display:grid; justify-items:center; gap:8px; overflow:hidden; padding:24px 16px; border-radius:14px; text-align:center; background:radial-gradient(circle at 50% 120%,rgba(229,9,20,.32),transparent 55%),#0b0b0b; }
.reality-payment-loading[hidden] { display:none; }
.reality-payment-loading strong { position:relative; z-index:2; font-size:1.05rem; }
.reality-payment-loading > span { position:relative; z-index:2; min-height:22px; color:rgba(255,255,255,.62); font-size:.82rem; }
.reality-stage { position:relative; width:190px; height:100px; }
.reality-spotlight { position:absolute; top:-55px; width:70px; height:170px; opacity:.36; background:linear-gradient(180deg,rgba(255,255,255,.72),transparent); clip-path:polygon(40% 0,60% 0,100% 100%,0 100%); transform-origin:50% 0; animation:spotlight 2.2s ease-in-out infinite alternate; }
.reality-spotlight.one { left:25px; transform:rotate(-24deg); }
.reality-spotlight.two { right:25px; transform:rotate(24deg); animation-delay:-1.1s; }
.reality-dna-loader { position:absolute; left:50%; top:50%; width:112px; height:64px; transform:translate(-50%,-40%); }
.reality-dna-loader i { position:absolute; left:calc(var(--i,0) * 18px); top:50%; width:11px; height:11px; border-radius:50%; background:#ff3340; box-shadow:0 0 18px rgba(229,9,20,.75); animation:dnaWave 1.25s ease-in-out infinite; }
.reality-dna-loader i:nth-child(1){--i:0;animation-delay:0s}.reality-dna-loader i:nth-child(2){--i:1;animation-delay:-.12s}.reality-dna-loader i:nth-child(3){--i:2;animation-delay:-.24s}.reality-dna-loader i:nth-child(4){--i:3;animation-delay:-.36s}.reality-dna-loader i:nth-child(5){--i:4;animation-delay:-.48s}.reality-dna-loader i:nth-child(6){--i:5;animation-delay:-.6s}
.reality-dna-loader i::after { content:""; position:absolute; left:0; top:25px; width:11px; height:11px; border-radius:50%; background:#fff; box-shadow:0 0 15px rgba(255,255,255,.55); animation:dnaWaveInverse 1.25s ease-in-out infinite; animation-delay:inherit; }
.reality-loading-dots { display:flex; gap:6px; margin-top:4px; }
.reality-loading-dots b { width:7px; height:7px; border-radius:50%; background:#ff3340; animation:loadingDot .9s ease-in-out infinite alternate; }.reality-loading-dots b:nth-child(2){animation-delay:.18s}.reality-loading-dots b:nth-child(3){animation-delay:.36s}
@keyframes spotlight{to{transform:rotate(22deg)}}
@keyframes dnaWave{0%,100%{transform:translateY(-22px) scale(.8)}50%{transform:translateY(12px) scale(1.18)}}
@keyframes dnaWaveInverse{0%,100%{transform:translateY(22px) scale(1.18)}50%{transform:translateY(-12px) scale(.8)}}
@keyframes loadingDot{to{transform:translateY(-6px);opacity:.35}}
@media(prefers-reduced-motion:reduce){.reality-payment-loading *{animation-duration:.001ms!important;animation-iteration-count:1!important}}
.checkout-resumo { position:sticky; top:24px; }
.checkout-produto { display:grid; grid-template-columns:88px 1fr; gap:14px; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--line); }
.checkout-produto img { width:88px; height:88px; border-radius:13px; object-fit:cover; }
.checkout-produto strong,.checkout-produto span { display:block; }
.checkout-produto span { margin-top:5px; color:rgba(255,255,255,.5); font-size:.8rem; }
.checkout-linha,.checkout-total { display:flex; justify-content:space-between; gap:18px; padding:15px 0; border-bottom:1px solid var(--line); }
.checkout-linha span { color:rgba(255,255,255,.6); }
.checkout-total { align-items:end; border-bottom:0; }
.checkout-total strong { font-size:1.65rem; }
.checkout-garantias { display:grid; gap:10px; margin-top:18px; padding:16px; border-radius:14px; color:rgba(255,255,255,.66); background:rgba(255,255,255,.04); font-size:.8rem; }
.checkout-garantias>span{display:flex;align-items:flex-start;gap:8px}.checkout-garantias .svg-inline-icon{display:block!important;flex:0 0 17px!important;width:17px!important;height:17px!important;min-width:17px!important;max-width:17px!important;min-height:17px!important;max-height:17px!important;margin:1px 0 0!important;fill:none!important;stroke:#70e099!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important}
@media(max-width:850px){.checkout-shell{grid-template-columns:1fr}.checkout-resumo{position:static;grid-row:1}.checkout-main{grid-row:2}}
@media(max-width:560px){.checkout-header{height:70px}.checkout-shell{width:min(100% - 20px,1240px);margin:18px auto;gap:12px}.checkout-main,.checkout-resumo{padding:20px 16px;border-radius:18px}.checkout-step-card{padding:16px 13px}.checkout-progress span{font-size:.6rem}.checkout-grid,.checkout-grid-endereco,.checkout-grid-cartao{grid-template-columns:1fr}.checkout-cartao .campo-largo{grid-column:auto}.checkout-produto{grid-template-columns:72px 1fr}.checkout-produto img{width:72px;height:72px}.checkout-termos{grid-template-columns:34px 1fr}.checkout-term-status{width:34px;height:34px}.checkout-termos input{grid-column:1/-1}}

.checkout-auth-modal{position:fixed;inset:0;z-index:100000;display:none;place-items:center;padding:18px;background:rgba(0,0,0,.82);backdrop-filter:blur(10px)}.checkout-auth-modal.open{display:grid}.checkout-auth-card{position:relative;width:min(440px,100%);max-height:min(92vh,760px);overflow:auto;padding:28px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#101010;box-shadow:0 28px 90px rgba(0,0,0,.65)}.checkout-auth-card>img{display:block;width:82px;max-height:54px;object-fit:contain;margin:0 auto 13px}.checkout-auth-card h2{text-align:center;margin:0 0 6px;font-size:1.45rem}.checkout-auth-card h2+p{text-align:center;margin:0 0 19px;color:#888;font-size:.78rem}.checkout-auth-card label{display:grid;gap:6px;margin:11px 0;color:#bbb;font-size:.72rem;font-weight:700}.checkout-auth-card input{width:100%;min-height:47px;padding:0 13px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:#080808;color:#fff;font:inherit}.checkout-auth-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:0;border-radius:50%;background:#222;color:#fff;font-size:21px;cursor:pointer}.checkout-auth-password{position:relative}.checkout-auth-password input{padding-right:48px}.checkout-auth-password button{position:absolute;right:5px;top:5px;width:38px;height:38px;border:0;background:transparent;color:#bbb;cursor:pointer}.checkout-auth-password button.is-visible{color:#fff}.checkout-auth-google{width:100%;min-height:47px;margin-top:10px;border:1px solid rgba(255,255,255,.15);border-radius:11px;background:#1a1a1a;color:#fff;font-weight:800;cursor:pointer}.checkout-auth-link{display:block;margin:12px auto 0;border:0;background:transparent;color:#aaa;text-decoration:underline;cursor:pointer}.checkout-auth-link.primary{color:#fff;font-weight:800;text-decoration:none}.checkout-auth-status{min-height:18px;margin:10px 0 0;text-align:center;color:#ff858b;font-size:.73rem}#cadastroForcaSenha{display:block;margin:-4px 0 8px;color:#777;font-size:.67rem}
