body{
background:#f4f5f8;
}
.checkout-topbar{
background:rgba(255,255,255,.96);
border-bottom:1px solid #ececf2;
padding:16px 0;
position:sticky;
top:0;
z-index:100;
backdrop-filter:blur(10px);
-webkit-backdrop-filter:blur(10px);
}
.checkout-topbar-inner{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
}
.checkout-logo img{
height:48px;
width:auto;
border-radius:10px;
display:block;
}
.checkout-security{
display:flex;
align-items:center;
gap:8px;
font-size:13px;
font-weight:900;
color:#0f8a4b;
background:#edf9f1;
border:1px solid #caecd6;
padding:10px 14px;
border-radius:999px;
white-space:nowrap;
}

:root{
--checkout-primary:#5b35d5;
--checkout-primary-dark:#2f1a58;
--checkout-accent:#f6a623;
--checkout-accent-dark:#df8f08;
--checkout-success:#0f8a4b;
--checkout-bg:#fbf9ff;
--checkout-text:#181b27;
--checkout-muted:#717789;
--checkout-border:#e8e2f5;
}

#banner-2.checkout-section{
min-height:calc(100vh - 81px);
display:flex;
align-items:center;
padding-top:42px !important;
padding-bottom:64px !important;
background:
radial-gradient(circle at 92% 8%, rgba(246,166,35,.22) 0, rgba(246,166,35,0) 28%),
linear-gradient(135deg,#21123f 0%,#33165d 52%,#512165 100%) !important;
position:relative;
overflow:hidden;
}
#banner-2.checkout-section:before{
content:"";
position:absolute;
right:-120px;
top:-120px;
width:360px;
height:360px;
background:rgba(255,255,255,.08);
border-radius:50%;
}
#banner-2.checkout-section:after{
content:"";
position:absolute;
left:-90px;
bottom:-130px;
width:280px;
height:280px;
background:rgba(255,138,61,.16);
border-radius:50%;
}
#banner-2.checkout-section .container{position:relative;z-index:2;}
.checkout-layout-row{row-gap:28px;}

.checkout-summary-card{
background:rgba(255,255,255,.09);
border:1px solid rgba(255,255,255,.18);
box-shadow:0 24px 70px rgba(0,0,0,.18);
border-radius:26px;
padding:28px;
backdrop-filter:blur(8px);
-webkit-backdrop-filter:blur(8px);
max-width:520px;
}
.checkout-kicker{
display:inline-flex;
align-items:center;
gap:8px;
padding:8px 12px;
border-radius:999px;
background:rgba(255,255,255,.14);
border:1px solid rgba(255,255,255,.18);
font-size:12px;
font-weight:800;
letter-spacing:.3px;
text-transform:uppercase;
color:#fff;
margin-bottom:16px;
}
.checkout-summary-card h3{
color:#fff;
font-size:clamp(30px,3.3vw,46px);
line-height:1.08;
letter-spacing:-.8px;
margin-bottom:14px;
}
.checkout-summary-card .checkout-subtitle{
color:rgba(255,255,255,.82);
font-size:15px;
margin-bottom:22px;
}
.price-panel{
background:#fff;
border-radius:22px;
padding:20px;
margin-top:18px;
box-shadow:0 18px 48px rgba(20,12,45,.18);
}
.price-label{
font-size:12px;
text-transform:uppercase;
letter-spacing:.5px;
font-weight:900;
color:var(--checkout-muted);
margin-bottom:4px;
}
.price-value{
font-size:40px;
line-height:1;
font-weight:900;
letter-spacing:-.7px;
color:var(--checkout-text);
margin-bottom:12px;
}
.price-meta{
display:flex;
flex-wrap:wrap;
gap:8px;
margin-top:12px;
}
.trust-pill{
display:inline-flex;
align-items:center;
gap:7px;
padding:8px 11px;
border-radius:999px;
background:#f7f4ff;
border:1px solid #eee7ff;
color:#49346f;
font-size:12px;
font-weight:800;
}
.checkout-discount{
display:flex;
align-items:center;
gap:8px;
padding:10px 12px;
border-radius:14px;
background:#fff6ef;
border:1px solid #ffe0c9;
color:#b35318;
font-weight:900;
margin-top:12px;
}
.pix-exclusive-badge{
display:inline-flex;
align-items:center;
gap:8px;
background:#eefaf3;
border:1px solid #c8efd7;
border-radius:999px;
padding:7px 11px;
margin-top:8px;
margin-bottom:6px;
}
.pix-exclusive-badge .txt{
font-weight:900;
color:#0b6b3a;
margin-bottom:0;
font-size:12px;
}

.checkout-card{
background:#fff;
border-radius:28px;
padding:30px;
box-shadow:0 30px 85px rgba(21,14,47,.22);
border:1px solid rgba(255,255,255,.68);
max-width:760px;
margin-left:auto;
}
.checkout-form-head{
display:flex;
align-items:flex-start;
justify-content:space-between;
gap:12px;
margin-bottom:14px;
}
.checkout-form-title{
font-size:22px;
font-weight:900;
color:var(--checkout-text);
line-height:1.15;
margin:0;
}
.checkout-form-subtitle{
font-size:13px;
color:var(--checkout-muted);
margin-top:4px;
}
.checkout-secure{
display:inline-flex;
align-items:center;
gap:7px;
font-size:12px;
font-weight:900;
color:#136f3c;
background:#ecfbf2;
border:1px solid #c9f1d8;
border-radius:999px;
padding:7px 10px;
white-space:nowrap;
}
.checkout-steps{
display:grid;
grid-template-columns:1fr 1fr 1fr;
gap:8px;
background:#f7f4ff;
padding:8px;
border-radius:18px;
border:1px solid var(--checkout-border);
margin-bottom:22px;
}
.step-item{
display:flex;
align-items:center;
justify-content:center;
gap:8px;
opacity:.62;
transition:all .2s ease;
color:#615a72;
white-space:nowrap;
border-radius:14px;
padding:9px 8px;
}
.step-item.active{
opacity:1;
font-weight:900;
color:#fff;
background:linear-gradient(135deg,var(--checkout-primary),#7f4cf0);
box-shadow:0 10px 24px rgba(91,53,213,.22);
}
.step-bullet{
width:28px;
height:28px;
border-radius:50%;
display:inline-flex;
align-items:center;
justify-content:center;
border:1px solid #ded7ee;
background:#fff;
font-size:12px;
font-weight:900;
color:#615a72;
}
.step-item.active .step-bullet{
border-color:rgba(255,255,255,.6);
background:rgba(255,255,255,.18);
color:#fff;
}
.step-label{font-size:12px;font-weight:900;}
.step-line{display:none;}


.step-2,
.step-3{display:none;}

.register-form .form-control{
border:1px solid #ded8ee;
height:48px;
border-radius:14px;
box-shadow:none;
transition:all .18s ease;
background:#fff;
color:#202331;
}
.register-form .form-control:focus{
border-color:var(--checkout-primary);
box-shadow:0 0 0 4px rgba(123,63,242,.10);
}
.register-form p{
margin-bottom:7px;
font-weight:800;
font-size:13px;
color:#2b2b2b;
}
.register-form [class*="col-"]{margin-bottom:10px;}
.checkout-note{
background:#fbfaff;
border:1px solid var(--checkout-border);
border-radius:16px;
padding:13px 14px;
margin-bottom:10px;
color:#222;
}
.cep-btn{
border:1px solid #ded8ee;
padding:0;
border-radius:14px;
text-align:center;
width:100%;
height:46px;
line-height:46px;
background:#fbfaff;
cursor:pointer;
transition:all .18s ease;
}
.cep-btn:hover{border-color:var(--checkout-primary);background:#f5f0ff;}
.cep-btn a{display:block;width:100%;height:100%;color:var(--checkout-primary-dark);}
.form-messege{
display:inline-block;
padding:11px 14px;
border-radius:14px;
background:#fff0f0;
border:1px solid #ffd2d2;
color:#b10000;
font-weight:900;
}
.btn.disabled{opacity:.72;cursor:not-allowed !important;}
.checkout-card .btn-rose{
border-radius:16px !important;
min-height:52px;
font-weight:900;
letter-spacing:.2px;
background:linear-gradient(135deg,var(--checkout-accent),var(--checkout-accent-dark)) !important;
border:none !important;
box-shadow:0 16px 28px rgba(246,166,35,.24);
}
.checkout-card .btn-rose:hover{
transform:translateY(-1px);
box-shadow:0 18px 34px rgba(246,166,35,.30);
}
.checkout-card .form-btn{margin-top:6px;}
.checkout-terms{
font-size:12px;
line-height:1.45;
color:var(--checkout-muted);
text-align:center;
margin:2px 0 0 0;
}
.checkout-mini-trust{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:8px;
margin-top:14px;
}
.checkout-mini-trust span{
font-size:11px;
font-weight:800;
color:#685f7a;
background:#faf9ff;
border:1px solid #eee8fb;
border-radius:999px;
padding:6px 9px;
}
#confirm-form{
display:none;
background:#fff;
padding:24px;
border-radius:24px;
word-break:break-word;
box-shadow:0 22px 70px rgba(21,14,47,.20);
border:1px solid var(--checkout-border);
}
#confirm-form textarea{
font-family:Arial,sans-serif;
}


.checkout-price-caption{
margin-top:8px;
font-size:13px;
color:#6b7280;
font-weight:700;
}
.pix-benefits{
margin-top:16px;
display:flex;
flex-direction:column;
gap:10px;
}
.pix-benefits div{
display:flex;
align-items:center;
gap:10px;
font-size:14px;
font-weight:800;
color:#1f2937;
}
.pix-benefits i{
color:#10b981;
}
.pix-fixed-info{
background:#eefaf3;
border:1px solid #c8efd7;
border-radius:16px;
padding:14px 15px;
margin-bottom:10px;
color:#0b6b3a;
font-weight:900;
display:flex;
align-items:center;
gap:10px;
}


.serie-discount-simulator{
margin-top:16px;
padding:16px;
border-radius:18px;
background:linear-gradient(135deg,#f7f3ff 0%,#fffaf1 100%);
border:1px solid #eadfff;
}
.serie-discount-title{
display:flex;
align-items:center;
gap:8px;
font-size:14px;
font-weight:900;
color:#2f1a58;
margin-bottom:6px;
}
.serie-discount-text{
font-size:12px;
line-height:1.45;
color:#6b6478;
font-weight:700;
margin-bottom:12px;
}
.serie-discount-control{
display:grid;
grid-template-columns:1fr 110px;
gap:10px;
align-items:center;
margin-bottom:12px;
}
.serie-discount-control label{
margin:0;
font-size:12px;
color:#2b2b2b;
font-weight:900;
}
.serie-discount-control select{
height:42px;
border-radius:12px;
border:1px solid #ded8ee;
background:#fff;
color:#202331;
font-weight:900;
padding:0 10px;
outline:none;
}
.serie-discount-result{
display:grid;
grid-template-columns:1fr 1fr;
gap:10px;
}
.serie-result-box{
background:#fff;
border:1px solid #eee7ff;
border-radius:14px;
padding:11px 12px;
}
.serie-result-label{
font-size:10px;
text-transform:uppercase;
letter-spacing:.04em;
color:#777086;
font-weight:900;
margin-bottom:3px;
}
.serie-result-value{
font-size:18px;
color:#181b27;
font-weight:900;
line-height:1.1;
}
.serie-discount-note{
margin-top:10px;
font-size:11px;
line-height:1.4;
color:#7a708c;
font-weight:700;
}

.serie-discount-confirmed{
display:none;
margin-top:10px;
padding:11px 12px;
border-radius:12px;
background:#f3fbf5;
border:1px solid #cfe9d5;
color:#136f3c;
font-weight:800;
line-height:1.35;
font-size:13px;
}
.serie-email-status{
width:100%;
}
.serie-discount-confirmed.loading{
display:block;
background:#fbfaff;
border-color:#eadfff;
color:#49346f;
}
.serie-discount-confirmed.empty{
display:block;
background:#fffaf0;
border-color:#ffe2a8;
color:#9a5a00;
}
.serie-discount-confirmed.error{
display:block;
background:#fff0f0;
border-color:#ffd2d2;
color:#b10000;
}
.serie-discount-confirmed .small-line{
display:block;
margin-top:4px;
font-size:12px;
font-weight:700;
color:inherit;
opacity:.9;
}
.serie-discount-confirmed .serie-price-line{
display:flex;
flex-wrap:wrap;
gap:8px;
align-items:center;
margin-top:8px;
}
.serie-old-price{
text-decoration:line-through;
opacity:.62;
font-size:13px;
}
.serie-new-price{
font-size:16px;
font-weight:900;
}


.payment-method-title{font-size:13px;font-weight:900;color:#2b2b2b;margin-bottom:8px}.payment-methods{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.payment-method-option{position:relative;cursor:pointer}.payment-method-option input{position:absolute;opacity:0;pointer-events:none}.payment-method-box{display:flex;align-items:center;gap:10px;min-height:64px;padding:12px 14px;border:1px solid #ded8ee;border-radius:15px;background:#fff;transition:all .18s ease}.payment-method-option input:checked+.payment-method-box{border-color:var(--checkout-primary);background:#f7f3ff;box-shadow:0 0 0 3px rgba(91,53,213,.09)}.method-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:#eefaf3;color:#0b6b3a;flex:0 0 38px}.payment-method-option.card .method-icon{background:#f2efff;color:var(--checkout-primary)}.payment-method-box strong{display:block;font-size:13px;font-weight:900;color:#202331}.payment-method-box small{display:block;margin-top:2px;font-size:11px;color:#777}.card-payment-panel{display:none;margin:12px 0 10px;padding:16px;border:1px solid var(--checkout-border);border-radius:18px;background:#fbfaff}.card-payment-panel-title{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:900;color:#2f1a58;margin-bottom:12px}.card-payment-panel .form-control,.card-payment-panel select{height:46px;border:1px solid #ded8ee;border-radius:13px;box-shadow:none;background:#fff;color:#202331}.card-payment-panel label{display:block;font-size:12px;font-weight:900;color:#2b2b2b;margin-bottom:6px}.card-payment-security{display:flex;align-items:center;gap:7px;margin-top:10px;font-size:11px;font-weight:800;color:#136f3c}@media(max-width:575px){.payment-methods{grid-template-columns:1fr}.card-payment-panel{padding:13px}}

@media (max-width: 991px){
#banner-2.checkout-section{padding-top:34px !important;padding-bottom:42px !important;}
.checkout-summary-card{margin-bottom:22px;padding:22px;}
.checkout-card{padding:20px;border-radius:22px;}
.price-value{font-size:30px;}
}
@media (max-width: 575px){
.checkout-topbar{padding:12px 0;}
.checkout-logo img{height:40px;}
.checkout-security{font-size:11px;padding:8px 10px;}
.checkout-form-head{display:block;}
.checkout-secure{margin-top:10px;}
.checkout-card{padding:16px;margin-left:-5px;margin-right:-5px;}
.checkout-summary-card{padding:18px;}
.checkout-form-title{font-size:20px;}
.step-item{padding:8px 5px;gap:5px;}
.step-label{font-size:10px;}
.step-bullet{width:24px;height:24px;font-size:11px;}
.form-btn{
position:sticky;
bottom:8px;
z-index:20;
}
}
@media (max-width: 767px){
.checkout-steps{padding:7px;gap:6px;border-radius:16px;}
}
@media (max-width: 420px){
.step-item:not(.active) .step-label{display:none;}
}


.checkout-trust-strip{
background: rgba(255,255,255,.08);
border: 1px solid rgba(255,255,255,.12);
border-radius: 18px;
padding: 16px 20px;
display:flex;
flex-wrap:wrap;
gap:18px;
align-items:center;
margin-bottom:26px;
backdrop-filter: blur(8px);
}

.trust-item{
display:flex;
align-items:center;
gap:8px;
color:#fff;
font-size:14px;
font-weight:600;
}

.trust-item i{
color:#67e8a5;
}

.summary-badges{
display:flex;
gap:12px;
flex-wrap:wrap;
margin-top:20px;
}

.summary-badge{
background:#111827;
color:#fff;
border-radius:14px;
padding:12px 16px;
font-size:13px;
font-weight:700;
display:flex;
align-items:center;
gap:8px;
border:1px solid rgba(255,255,255,.08);
box-shadow: 0 10px 25px rgba(0,0,0,.18);
}

.summary-badge i{
color:#8b5cf6;
}

@media(max-width:768px){

.checkout-trust-strip{
gap:12px;
padding:14px;
}

.trust-item{
width:100%;
font-size:13px;
}

.summary-badges{
gap:10px;
}

.summary-badge{
width:100%;
justify-content:center;
}
}