/* CP Checkout 2.6.0 — experiência de matrícula */
.cp-checkout{
    --cp-c-bg:var(--cp-app-bg,#f4f5f7);
    --cp-c-surface:var(--cp-app-surface,#fff);
    --cp-c-text:var(--cp-app-text,#18181b);
    --cp-c-muted:var(--cp-app-muted,#71717a);
    --cp-c-border:var(--cp-app-border,#e2e4e8);
    --cp-c-primary:var(--cp-app-gold,#d7aa2f);
    --cp-c-primary-hover:var(--cp-app-gold-dark,#9b7210);
    --cp-c-dark:var(--cp-app-black,#101010);
    --cp-c-dark2:var(--cp-app-black-2,#191919);
    --cp-c-button:var(--cp-app-button-primary,var(--cp-c-primary));
    --cp-c-button-text:var(--cp-app-button-primary-text,var(--cp-app-on-primary,#171717));
    --cp-c-button-hover:var(--cp-app-button-primary-hover,var(--cp-c-primary-hover));
    --cp-c-secondary:var(--cp-app-button-secondary,var(--cp-c-surface));
    --cp-c-secondary-text:var(--cp-app-button-secondary-text,var(--cp-c-text));
    --cp-c-button-border:var(--cp-app-button-border,var(--cp-c-border));
    width:100%;
    max-width:1180px;
    margin:28px auto;
    overflow:hidden;
    border:1px solid var(--cp-c-border);
    border-radius:22px;
    background:var(--cp-c-bg);
    color:var(--cp-c-text);
    font-family:inherit;
    box-shadow:0 24px 60px rgba(0,0,0,.07);
}
.cp-checkout *{box-sizing:border-box}

.cp-checkout__header{
    position:relative;
    padding:34px 38px;
    background:
        radial-gradient(circle at 88% 10%,color-mix(in srgb,var(--cp-c-primary) 18%,transparent),transparent 30%),
        linear-gradient(135deg,var(--cp-c-dark2),var(--cp-c-dark));
    color:#fff;
}
.cp-checkout__header::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:var(--cp-c-primary)}
.cp-checkout__back{display:inline-flex;margin-bottom:18px;color:color-mix(in srgb,var(--cp-c-primary) 80%,#fff)!important;font-size:12px;font-weight:800;text-decoration:none!important}
.cp-checkout__back:hover{text-decoration:underline!important}
.cp-checkout__eyebrow{margin:0 0 8px;color:var(--cp-c-primary);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.cp-checkout__header h1{max-width:850px;margin:0 0 10px;color:#fff;font-size:clamp(30px,4.4vw,48px);line-height:1.05;font-weight:850}
.cp-checkout__header>p:last-child{max-width:770px;margin:0;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6}

.cp-checkout__layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;padding:28px}
.cp-checkout__main{min-width:0}
.cp-checkout__sidebar{min-width:0}
.cp-checkout__form{display:block}
.cp-checkout__intro{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:0 0 14px}
.cp-checkout__intro--compact{margin-bottom:16px}
.cp-checkout__step-label{display:block;margin-bottom:4px;color:var(--cp-c-primary-hover);font-size:10px;font-weight:900;letter-spacing:.08em}
.cp-checkout__intro h2{margin:0 0 4px;color:var(--cp-c-text);font-size:25px;line-height:1.15}
.cp-checkout__intro p{margin:0;color:var(--cp-c-muted);font-size:13px;line-height:1.5}
.cp-checkout__required-note{padding-top:9px;color:var(--cp-c-muted);font-size:11px;white-space:nowrap}

.cp-checkout__section,.cp-checkout__payment-choice{
    margin-bottom:16px;
    padding:22px;
    border:1px solid var(--cp-c-border);
    border-radius:14px;
    background:var(--cp-c-surface);
}
.cp-checkout__section--inside{margin:0;border:0;border-top:1px solid var(--cp-c-border);border-radius:0;background:transparent}
.cp-checkout__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.cp-checkout__wide{grid-column:1/-1}
.cp-checkout label:not(.cp-checkout__card-brick *){display:flex;flex-direction:column;gap:7px;color:var(--cp-c-text);font-size:12px;font-weight:750}
.cp-checkout input:not(.cp-checkout__card-brick *),
.cp-checkout select:not(.cp-checkout__card-brick *),
.cp-checkout textarea:not(.cp-checkout__card-brick *){
    width:100%;
    min-height:46px;
    padding:10px 12px;
    border:1px solid var(--cp-c-border);
    border-radius:8px;
    background:var(--cp-c-surface);
    color:var(--cp-c-text);
    font:inherit;
    font-size:15px;
    transition:border-color .15s ease,box-shadow .15s ease;
}
.cp-checkout textarea:not(.cp-checkout__card-brick *){min-height:90px;resize:vertical}
.cp-checkout input:not(.cp-checkout__card-brick *):focus,
.cp-checkout select:not(.cp-checkout__card-brick *):focus,
.cp-checkout textarea:not(.cp-checkout__card-brick *):focus{outline:none;border-color:var(--cp-c-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--cp-c-primary) 17%,transparent)}
.cp-checkout input:not(.cp-checkout__card-brick *)::placeholder{color:color-mix(in srgb,var(--cp-c-muted) 70%,transparent)}

.cp-checkout__optional{margin:0 0 14px;border:1px solid var(--cp-c-border);border-radius:12px;background:var(--cp-c-surface);overflow:hidden}
.cp-checkout__optional>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;cursor:pointer;list-style:none}
.cp-checkout__optional>summary::-webkit-details-marker{display:none}
.cp-checkout__optional>summary>span{display:flex;flex-direction:column;gap:2px}
.cp-checkout__optional>summary strong{font-size:13px}
.cp-checkout__optional>summary small{color:var(--cp-c-muted);font-size:11px;font-weight:400}
.cp-checkout__optional>summary>b{color:var(--cp-c-primary-hover);font-size:11px}
.cp-checkout__optional[open]>summary>b{font-size:0}
.cp-checkout__optional[open]>summary>b::after{content:"Fechar";font-size:11px}

.cp-checkout__pix-choice{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid color-mix(in srgb,var(--cp-c-primary) 45%,var(--cp-c-border));border-radius:11px;background:color-mix(in srgb,var(--cp-c-primary) 6%,var(--cp-c-surface))}
.cp-checkout__pix-icon{display:grid;width:48px;height:38px;place-items:center;border-radius:9px;background:var(--cp-c-dark);color:#fff;font-size:11px;font-weight:900}
.cp-checkout__pix-choice>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}
.cp-checkout__pix-choice strong{font-size:13px}
.cp-checkout__pix-choice small{color:var(--cp-c-muted);font-size:11px;line-height:1.45}
.cp-checkout__selected{color:var(--cp-c-primary-hover);font-size:11px;font-weight:900}

.cp-checkout__privacy{display:flex;align-items:flex-start;gap:9px;margin:16px 2px;color:var(--cp-c-muted);font-size:11px;line-height:1.5}
.cp-checkout__privacy p{margin:0}

.cp-checkout__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.cp-checkout__button{
    min-height:52px;
    padding:12px 22px;
    border:1px solid var(--cp-c-button);
    border-radius:11px;
    background:var(--cp-c-button);
    color:var(--cp-c-button-text)!important;
    font-size:14px;
    font-weight:900;
    cursor:pointer;
    transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.cp-checkout__button:hover,.cp-checkout__button:focus{transform:translateY(-1px);border-color:var(--cp-c-button-hover);background:var(--cp-c-button-hover);color:var(--cp-c-button-text)!important}
.cp-checkout__button:disabled{opacity:.65;cursor:progress;transform:none}
.cp-checkout__message{flex:1;min-width:220px;color:var(--cp-c-muted);font-size:12px;font-weight:700}
.cp-checkout__message.is-success{color:#18794e}.cp-checkout__message.is-error{color:#b42318}

.cp-checkout__order-card{
    position:sticky;
    top:20px;
    overflow:hidden;
    padding:20px;
    border:1px solid var(--cp-c-border);
    border-radius:16px;
    background:var(--cp-c-surface);
    box-shadow:0 16px 36px rgba(0,0,0,.07);
}
.cp-checkout__cover{margin:-20px -20px 18px;aspect-ratio:16/9;overflow:hidden;background:var(--cp-c-dark)}
.cp-checkout__cover img{width:100%;height:100%;object-fit:cover}
.cp-checkout__order-label{display:block;margin-bottom:6px;color:var(--cp-c-primary-hover);font-size:10px;font-weight:900;letter-spacing:.07em}
.cp-checkout__order-card h2{margin:0 0 17px;color:var(--cp-c-text);font-size:21px;line-height:1.2}
.cp-checkout__price{display:flex;flex-direction:column;gap:3px;padding:15px 0;border-top:1px solid var(--cp-c-border);border-bottom:1px solid var(--cp-c-border)}
.cp-checkout__price small{color:var(--cp-c-muted);font-size:10px;font-weight:800;text-transform:uppercase}
.cp-checkout__price strong{font-size:30px;line-height:1.1}
.cp-checkout__price span{color:var(--cp-c-muted);font-size:12px;font-weight:700}
.cp-checkout__offer{margin:15px 0;color:var(--cp-c-muted);font-size:12px;line-height:1.55}
.cp-checkout__facts{display:grid;gap:0;margin:8px 0 14px}
.cp-checkout__facts div{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--cp-c-border)}
.cp-checkout__facts span{color:var(--cp-c-muted);font-size:11px}.cp-checkout__facts strong{text-align:right;font-size:11px}
.cp-checkout__safe-note{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:9px;background:color-mix(in srgb,var(--cp-c-primary) 6%,var(--cp-c-surface))}
.cp-checkout__safe-note strong{font-size:11px}.cp-checkout__safe-note span{color:var(--cp-c-muted);font-size:10px;line-height:1.45}

.cp-checkout-loading,.cp-checkout-erro{margin:0 28px 28px;padding:18px;border-radius:12px;text-align:center}
.cp-checkout-loading{display:flex;align-items:center;justify-content:center;gap:10px;background:var(--cp-c-surface);border:1px solid var(--cp-c-border)}
.cp-checkout-loading small{color:var(--cp-c-muted)}
.cp-checkout-spinner{width:20px;height:20px;border:2px solid var(--cp-c-border);border-top-color:var(--cp-c-primary);border-radius:50%;animation:cpCheckoutSpin .75s linear infinite}
@keyframes cpCheckoutSpin{to{transform:rotate(360deg)}}
.cp-checkout-erro{background:#fff1f0;border:1px solid #f3b7b2;color:#a61b12;font-weight:750}

.cp-checkout-resultado{margin:28px;padding:26px;border:1px solid var(--cp-c-border);border-radius:18px;background:var(--cp-c-surface);color:var(--cp-c-text)}
.cp-checkout-resultado__header{display:flex;align-items:center;gap:14px;margin-bottom:22px}
.cp-checkout-success-icon{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:#e9f8ef;color:#18864b;font-size:22px;font-weight:900}
.cp-checkout-resultado__header small{color:#18864b;font-size:10px;font-weight:900;letter-spacing:.07em}
.cp-checkout-resultado__header h2{margin:2px 0 2px;font-size:27px}
.cp-checkout-resultado__header p{margin:0;color:var(--cp-c-muted);font-size:13px}
.cp-checkout-resultado__grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:22px}
.cp-checkout-resultado__payment{padding:20px;border:1px solid var(--cp-c-border);border-radius:14px;background:var(--cp-c-bg)}
#cpCheckoutQrCode{display:block;width:min(100%,300px);height:auto;margin:0 auto 18px;padding:10px;border-radius:12px;background:#fff}
.cp-checkout-resultado label{display:block;margin:0 0 7px;font-size:12px;font-weight:800}
#cpCheckoutPix{width:100%;min-height:105px;padding:11px;border:1px solid var(--cp-c-border);border-radius:9px;background:#fff;color:#111;font:12px/1.45 monospace;word-break:break-all}
#cpCheckoutCopiarPix,#cpCheckoutBoletoLink,#cpCheckoutSecretaria{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin-top:11px;padding:10px 16px;border:1px solid var(--cp-c-button);border-radius:9px;background:var(--cp-c-button);color:var(--cp-c-button-text)!important;font-weight:900;text-decoration:none!important;cursor:pointer}
#cpCheckoutBoletoLink,#cpCheckoutSecretaria{background:var(--cp-c-secondary);border-color:var(--cp-c-button-border);color:var(--cp-c-secondary-text)!important}
.cp-checkout-resumo{padding:19px;border:1px solid var(--cp-c-border);border-radius:14px;background:var(--cp-c-surface)}
.cp-checkout-resumo h3{margin:0 0 12px;font-size:18px}
.cp-checkout-resumo p{display:grid;grid-template-columns:100px 1fr;gap:10px;margin:0;padding:9px 0;border-bottom:1px solid var(--cp-c-border)}
.cp-checkout-resumo p:last-child{border-bottom:0}
.cp-checkout-resumo strong{color:var(--cp-c-muted);font-size:11px}.cp-checkout-resumo span{text-align:right;font-size:11px;font-weight:800}
.cp-checkout-timer-box{margin-top:18px;padding:14px;border:1px solid color-mix(in srgb,var(--cp-c-primary) 45%,var(--cp-c-border));border-radius:11px;background:color-mix(in srgb,var(--cp-c-primary) 7%,var(--cp-c-surface));text-align:center}
.cp-checkout-timer-box p,.cp-checkout-timer-box small{margin:0;color:var(--cp-c-muted)}
.cp-checkout-timer-number{display:block;margin:5px 0;color:var(--cp-c-primary-hover);font-size:30px}
.cp-checkout-timer-expired{margin-top:9px;padding:10px;border-radius:8px;background:#fff1f0;color:#a61b12;font-size:12px}
.cp-checkout-resultado__footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.cp-checkout-aviso{margin:0;color:var(--cp-c-muted);font-size:11px;line-height:1.5}

@media(max-width:900px){
    .cp-checkout__layout{grid-template-columns:1fr}
    .cp-checkout__sidebar{order:-1}
    .cp-checkout__order-card{position:static}
    .cp-checkout__cover{aspect-ratio:3/1}
    .cp-checkout__order-card h2{font-size:18px}
    .cp-checkout__facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}
}
@media(max-width:680px){
    .cp-checkout{margin:14px auto;border-radius:14px}
    .cp-checkout__header{padding:26px 20px}
    .cp-checkout__layout{padding:16px;gap:16px}
    .cp-checkout__grid{grid-template-columns:1fr}
    .cp-checkout__wide{grid-column:auto}
    .cp-checkout__section,.cp-checkout__payment-choice{padding:17px}
    .cp-checkout__intro{flex-direction:column;gap:4px}
    .cp-checkout__required-note{padding:0}
    .cp-checkout__pix-choice{align-items:flex-start;flex-wrap:wrap}
    .cp-checkout__selected{width:100%;padding-left:61px}
    .cp-checkout__actions{align-items:stretch;flex-direction:column}
    .cp-checkout__button{width:100%}
    .cp-checkout__message{min-width:0}
    .cp-checkout__cover{aspect-ratio:16/9}
    .cp-checkout-resultado{margin:16px;padding:18px}
    .cp-checkout-resultado__grid{grid-template-columns:1fr}
    .cp-checkout-resultado__header{align-items:flex-start}
    .cp-checkout-resultado__footer{align-items:stretch;flex-direction:column}
    #cpCheckoutCopiarPix,#cpCheckoutBoletoLink,#cpCheckoutSecretaria{width:100%}
    .cp-checkout-resumo p{grid-template-columns:85px 1fr}
}


/* 2.8.0 — Pix + Boleto Mercado Pago */
.cp-checkout__payment-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.cp-checkout__method-card{position:relative;display:flex;align-items:center;gap:14px;min-height:92px;padding:16px;border:1px solid var(--cp-c-border);border-radius:14px;background:var(--cp-c-surface);cursor:pointer;transition:.16s ease}
.cp-checkout__method-card:hover{border-color:var(--cp-c-primary)}
.cp-checkout__method-card.is-selected{border-color:var(--cp-c-primary);background:color-mix(in srgb,var(--cp-c-primary) 5%,var(--cp-c-surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--cp-c-primary) 35%,transparent)}
.cp-checkout__method-card input{position:absolute;opacity:0;pointer-events:none}
.cp-checkout__method-card>span:nth-of-type(2){display:flex;flex:1;flex-direction:column;gap:3px}
.cp-checkout__method-card strong{color:var(--cp-c-text);font-size:14px}
.cp-checkout__method-card small{color:var(--cp-c-muted);font-size:11px;line-height:1.4}
.cp-checkout__method-card b{color:var(--cp-c-primary-hover);font-size:11px;white-space:nowrap}
.cp-checkout__method-icon{display:grid;width:60px;height:48px;place-items:center;border-radius:10px;background:var(--cp-c-dark);color:#fff;font-size:12px;font-weight:900}
.cp-checkout__boleto-address{margin-top:14px;padding:18px;border:1px solid var(--cp-c-border);border-radius:14px;background:var(--cp-c-surface)}
.cp-checkout__boleto-address[hidden]{display:none!important}
.cp-checkout__boleto-address-head{display:flex;flex-direction:column;gap:3px;margin-bottom:14px}
.cp-checkout__boleto-address-head strong{color:var(--cp-c-text);font-size:14px}
.cp-checkout__boleto-address-head small{color:var(--cp-c-muted);font-size:11px}
#cpCheckoutBoletoBox{margin-top:16px}
#cpCheckoutBoletoLink{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border-radius:10px;background:var(--cp-c-button);color:var(--cp-c-button-text)!important;text-decoration:none!important;font-weight:900}
#cpCheckoutBoletoLink:hover{background:var(--cp-c-button-hover)}
@media(max-width:680px){.cp-checkout__payment-methods{grid-template-columns:1fr}.cp-checkout__method-card{min-height:82px}.cp-checkout__method-card b{display:none}}

/* 2.9.0 — Cartão Mercado Pago */
.cp-checkout__card-area{margin-top:16px;padding:18px;border:1px solid var(--cp-c-border);border-radius:14px;background:var(--cp-c-surface)}
.cp-checkout__card-area[hidden]{display:none!important}
.cp-checkout__card-area-head{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.cp-checkout__card-area-head strong{font-size:14px;color:var(--cp-c-text)}
.cp-checkout__card-area-head small{font-size:11px;line-height:1.5;color:var(--cp-c-muted)}
.cp-checkout__card-brick{min-height:120px}
.cp-checkout__card-loading{padding:16px;text-align:center;color:var(--cp-c-muted);font-size:12px}
.cp-checkout__card-error{margin-top:10px;padding:10px 12px;border-radius:8px;background:#fff0f0;color:#9f1c1c;font-size:12px}
.cp-checkout__card-result{flex-direction:column;gap:6px;margin-top:16px;padding:18px;border:1px solid var(--cp-c-border);border-radius:12px;background:var(--cp-c-surface)}
.cp-checkout__card-result strong{font-size:17px;color:var(--cp-c-text)}
.cp-checkout__card-result span{font-size:12px;color:var(--cp-c-muted)}
@media(max-width:680px){.cp-checkout__card-area{padding:12px}}


/* 3.0.7 — isolamento visual do Card Payment Brick + orientação pós-pagamento */
.cp-checkout__card-brick{
    width:100%;
    min-width:0;
}
/*
 * Não estilizamos labels/inputs internos do Brick com as regras genéricas do checkout.
 * O Mercado Pago é responsável pela composição e posicionamento dos campos seguros.
 */
.cp-checkout-access-next-steps{
    display:none;
    margin-top:18px;
    padding:18px 20px;
    border:1px solid color-mix(in srgb,#159447 28%,var(--cp-c-border));
    border-radius:12px;
    background:color-mix(in srgb,#159447 6%,var(--cp-c-surface));
}
.cp-checkout-access-next-steps.is-visible{display:block}
.cp-checkout-access-next-steps h3{margin:0 0 8px;color:var(--cp-c-text);font-size:18px}
.cp-checkout-access-next-steps p{margin:0;color:var(--cp-c-muted);font-size:13px;line-height:1.65}
.cp-checkout-access-next-steps ul{margin:12px 0 0;padding-left:20px;color:var(--cp-c-text);font-size:13px;line-height:1.6}
.cp-checkout-access-next-steps li+li{margin-top:5px}
.cp-checkout-access-next-steps__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cp-checkout-access-next-steps__actions a{
    display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;
    border-radius:9px;text-decoration:none!important;font-weight:850
}
.cp-checkout-access-next-steps__portal{background:var(--cp-c-button);color:var(--cp-c-button-text)!important}
.cp-checkout-access-next-steps__portal:hover{background:var(--cp-c-button-hover)}
.cp-checkout-test-note{
    display:none;
    margin-top:12px;
    padding:11px 13px;
    border-radius:9px;
    background:color-mix(in srgb,var(--cp-c-primary) 7%,var(--cp-c-surface));
    color:var(--cp-c-muted);
    font-size:11px;
    line-height:1.55;
}
.cp-checkout-test-note.is-visible{display:block}
@media(max-width:680px){
    .cp-checkout-access-next-steps__actions{flex-direction:column}
    .cp-checkout-access-next-steps__actions a{width:100%}
}


/* 3.0.9 — orientação específica para boleto */
.cp-checkout-boleto-guidance{
    margin-top:12px;
    padding:12px 14px;
    border:1px solid var(--cp-c-border);
    border-radius:9px;
    background:var(--cp-c-surface);
    color:var(--cp-c-muted);
    font-size:12px;
    line-height:1.55;
}


/* =========================================================
   CP Checkout 3.1.0 — revisão de experiência e confiança
   ========================================================= */

/* Segurança global */
.cp-checkout-security-mini{
    display:flex;align-items:center;gap:11px;margin-bottom:12px;padding:11px 13px;
    border:1px solid color-mix(in srgb,#159447 24%,var(--cp-c-border));
    border-radius:12px;background:color-mix(in srgb,#159447 5%,var(--cp-c-surface));
}
.cp-checkout-security-mini__icon{
    display:grid;width:34px;height:34px;place-items:center;border-radius:10px;
    background:#eaf8ef;font-size:18px;flex:0 0 auto
}
.cp-checkout-security-mini>span:last-child{display:flex;flex-direction:column;gap:1px}
.cp-checkout-security-mini strong{font-size:11px;color:var(--cp-c-text)}
.cp-checkout-security-mini small{font-size:9px;color:var(--cp-c-muted)}

.cp-checkout-security-seal{display:flex;justify-content:center;padding:18px 8px 4px}
.cp-checkout-security-seal__circle{
    display:flex;width:220px;min-height:220px;flex-direction:column;align-items:center;justify-content:center;
    padding:24px;text-align:center;border:2px solid color-mix(in srgb,#159447 30%,var(--cp-c-border));
    border-radius:50%;background:radial-gradient(circle at 50% 35%,#fff 0,#f4fbf6 70%,#eef8f1 100%);
    box-shadow:0 14px 34px rgba(0,0,0,.06)
}
.cp-checkout-security-seal__shield{font-size:42px;margin-bottom:7px}
.cp-checkout-security-seal strong{font-size:17px;color:var(--cp-c-text)}
.cp-checkout-security-seal small{max-width:155px;margin-top:5px;color:var(--cp-c-muted);font-size:10px;line-height:1.45}
.cp-checkout-security-seal b{margin-top:12px;padding:7px 10px;border-radius:999px;background:#eaf8ef;color:#18794e;font-size:9px}

/* Faixa de segurança */
.cp-checkout__secure-banner{
    display:flex;align-items:center;gap:11px;margin-bottom:14px;padding:12px 14px;
    border:1px solid color-mix(in srgb,#159447 26%,var(--cp-c-border));
    border-radius:10px;background:#f4fbf6
}
.cp-checkout__secure-banner-icon{font-size:21px}
.cp-checkout__secure-banner>span:last-child{display:flex;flex-direction:column;gap:2px}
.cp-checkout__secure-banner strong{font-size:12px;color:#155c35}
.cp-checkout__secure-banner small{font-size:10px;color:#4f6b5a;line-height:1.4}

/* Cartão reconstruído ao redor do Brick oficial */
.cp-checkout__card-area{
    width:100%;min-width:0;margin-top:14px;padding:18px;border:1px solid var(--cp-c-border);
    border-radius:14px;background:var(--cp-c-surface)
}
.cp-checkout__card-area[hidden]{display:none!important}
.cp-checkout__card-area-head{
    display:flex;align-items:flex-start;gap:11px;margin-bottom:14px
}
.cp-checkout__card-area-icon{
    display:grid;width:42px;height:42px;place-items:center;border-radius:10px;
    background:color-mix(in srgb,var(--cp-c-primary) 8%,#fff);font-size:21px;flex:0 0 auto
}
.cp-checkout__card-area-head>span:last-child{display:flex;flex-direction:column;gap:3px}
.cp-checkout__card-area-head strong{font-size:15px;color:var(--cp-c-text)}
.cp-checkout__card-area-head small{font-size:10px;color:var(--cp-c-muted);line-height:1.45}

.cp-checkout__card-form-shell{
    position:relative;padding:18px;border:1px solid var(--cp-c-border);border-radius:12px;background:#fff
}
.cp-checkout__card-brands{
    display:flex;justify-content:flex-end;flex-wrap:wrap;gap:6px;margin-bottom:10px
}
.cp-checkout__card-brand{
    display:inline-flex;width:58px;height:36px;align-items:center;justify-content:center;
    padding:0;border:1px solid #e4e7ec;border-radius:7px;background:#fff;overflow:hidden;
    transition:opacity .15s ease,transform .15s ease,border-color .15s ease,box-shadow .15s ease
}
.cp-checkout__card-brand img{display:block;width:100%;height:100%;object-fit:cover}
.cp-checkout__card-brand.is-muted{opacity:.32}
.cp-checkout__card-brand.is-detected{
    opacity:1;transform:translateY(-1px);border-color:var(--cp-c-primary);
    box-shadow:0 0 0 2px color-mix(in srgb,var(--cp-c-primary) 14%,transparent)
}
#cpCheckoutCardBrick{width:100%;min-width:0;margin:0;padding:0}
.cp-checkout__card-loading{padding:10px 0;color:var(--cp-c-muted);font-size:11px}
.cp-checkout__card-error{margin-top:10px;padding:10px 12px;border:1px solid #f4b3ad;border-radius:8px;background:#fff3f1;color:#b42318;font-size:11px}
.cp-checkout__card-pay-button{
    display:flex;width:100%;min-height:50px;align-items:center;justify-content:center;gap:8px;margin-top:16px;
    border:1px solid var(--cp-c-button);border-radius:9px;background:var(--cp-c-button);color:var(--cp-c-button-text);
    font:inherit;font-size:14px;font-weight:900;cursor:pointer
}
.cp-checkout__card-pay-button:hover{background:var(--cp-c-button-hover)}
.cp-checkout__card-pay-button:disabled{opacity:.65;cursor:wait}
.cp-checkout__card-security-foot{
    display:flex;align-items:center;gap:9px;margin-top:13px;padding-top:12px;border-top:1px solid #eef0f3
}
.cp-checkout__card-security-foot>span:first-child{font-size:20px}
.cp-checkout__card-security-foot>span:last-child{display:flex;flex-direction:column;gap:1px}
.cp-checkout__card-security-foot strong{font-size:10px;color:#155c35}
.cp-checkout__card-security-foot small{font-size:9px;color:var(--cp-c-muted);line-height:1.35}

/* Boleto */
.cp-checkout-boleto-guidance{
    display:flex;flex-direction:column;gap:3px;margin-top:12px;padding:12px 14px;
    border:1px solid var(--cp-c-border);border-radius:9px;background:var(--cp-c-surface);
    color:var(--cp-c-muted);font-size:11px;line-height:1.5
}
.cp-checkout-boleto-guidance strong{color:var(--cp-c-text);font-size:11px}

/* Sucesso — ocupa a área cinza em vez de deixá-la vazia */
.cp-checkout-success-hero{
    min-height:330px;align-items:center;justify-content:center;gap:24px;padding:34px;
    border:1px solid color-mix(in srgb,#159447 28%,var(--cp-c-border));
    border-radius:14px;background:linear-gradient(145deg,#f7fcf8 0%,#edf8f1 100%);
    text-align:left
}
.cp-checkout-success-hero__seal{
    display:grid;width:112px;height:112px;place-items:center;flex:0 0 auto;
    border-radius:50%;background:#fff;box-shadow:0 14px 30px rgba(21,148,71,.14);
    font-size:58px
}
.cp-checkout-success-hero__content{max-width:490px}
.cp-checkout-success-hero__eyebrow{display:block;margin-bottom:7px;color:#138a43;font-size:9px;font-weight:950;letter-spacing:.1em}
.cp-checkout-success-hero h3{margin:0 0 8px;color:var(--cp-c-text);font-size:27px;line-height:1.1}
.cp-checkout-success-hero p{margin:0;color:var(--cp-c-muted);font-size:13px;line-height:1.55}
.cp-checkout-success-hero__steps{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.cp-checkout-success-hero__steps span{
    padding:7px 10px;border-radius:999px;background:#fff;color:#18794e;font-size:9px;font-weight:800;
    border:1px solid #d9eee0
}
.cp-checkout-success-hero__actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:18px}
.cp-checkout-success-hero__actions a{
    display:inline-flex;min-height:42px;align-items:center;justify-content:center;padding:10px 15px;
    border-radius:9px;text-decoration:none!important;font-size:11px;font-weight:900
}
#cpCheckoutSuccessPortalButton{background:var(--cp-c-button);color:var(--cp-c-button-text)!important}
#cpCheckoutSuccessSecretaryButton{border:1px solid var(--cp-c-border);background:#fff;color:var(--cp-c-text)!important}

/* Bloco antigo de próximos passos só fica como fallback; o sucesso principal agora ocupa o painel. */
.cp-checkout-resultado:has(.cp-checkout-success-hero[style*="display: flex"]) .cp-checkout-access-next-steps{display:none!important}

/* Segurança e responsividade */
@media(max-width:980px){
    .cp-checkout-security-seal__circle{width:190px;min-height:190px}
}
@media(max-width:680px){
    .cp-checkout__card-area{padding:12px}
    .cp-checkout__card-form-shell{padding:12px}
    .cp-checkout-success-hero{min-height:0;flex-direction:column;padding:24px;text-align:center}
    .cp-checkout-success-hero__seal{width:92px;height:92px;font-size:48px}
    .cp-checkout-success-hero__steps,.cp-checkout-success-hero__actions{justify-content:center}
    .cp-checkout-success-hero h3{font-size:23px}
    .cp-checkout-security-seal__circle{width:180px;min-height:180px}
}


/* 3.1.1 — CardForm: a própria caixa visual contém o Secure Field real */
.cp-checkout__card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}
.cp-checkout__card-field{display:flex!important;min-width:0;flex-direction:column;gap:7px;color:var(--cp-c-text);font-size:12px;font-weight:750}
.cp-checkout__card-field--wide{grid-column:1/-1}
.cp-checkout__card-field>span:first-child{display:block;min-height:17px;line-height:17px}

.cp-checkout__secure-card-input{
    position:relative;display:block;width:100%;height:50px;min-height:50px;padding:0;
    border:1px solid var(--cp-c-border);border-radius:8px;background:#fff;overflow:hidden;box-shadow:none
}

/*
 * O iframe é o elemento que recebe Número/Validade/CVV.
 * A borda não é mais uma caixa separada do conteúdo: ela pertence ao mesmo
 * contêiner em que o Mercado Pago monta o iframe.
 */
.cp-checkout__secure-card-input iframe{
    position:absolute!important;left:0!important;top:0!important;right:0!important;bottom:0!important;
    display:block!important;width:100%!important;height:50px!important;min-height:50px!important;
    margin:0!important;padding:0!important;border:0!important;max-width:none!important;max-height:none!important;
    vertical-align:top!important
}

.cp-checkout__card-field input,
.cp-checkout__card-field select{
    width:100%;height:50px;min-height:50px;padding:10px 12px;border:1px solid var(--cp-c-border);
    border-radius:8px;background:#fff;color:var(--cp-c-text);font:inherit;font-size:15px;line-height:1.35
}
.cp-checkout__card-field input:focus,
.cp-checkout__card-field select:focus,
.cp-checkout__secure-card-input:focus-within{
    outline:none;border-color:var(--cp-c-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--cp-c-primary) 17%,transparent)
}
.cp-checkout__card-document-row{display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px}
.cp-checkout__card-progress{display:block;width:100%;height:3px;margin:12px 0 0;border:0;opacity:.75}
.cp-checkout__card-progress[value="0"]{visibility:hidden}

/* Ajustes individuais conforme o comportamento visto nos testes */
[data-cp-secure-field="number"]{margin-top:0}
[data-cp-secure-field="expiration"],
[data-cp-secure-field="cvv"]{margin-top:0}

@media(max-width:680px){
    .cp-checkout__card-grid{grid-template-columns:1fr}
    .cp-checkout__card-field--wide{grid-column:1}
    .cp-checkout__card-document-row{grid-template-columns:105px minmax(0,1fr)}
}


/* 3.1.2 — separação visual entre matrícula e titular do cartão */
.cp-checkout__card-holder-separator{
    display:flex;flex-direction:column;gap:3px;margin-top:3px;padding:12px 14px;
    border:1px solid color-mix(in srgb,var(--cp-c-primary) 18%,var(--cp-c-border));
    border-radius:9px;background:color-mix(in srgb,var(--cp-c-primary) 4%,#fff)
}
.cp-checkout__card-holder-separator strong{font-size:12px;color:var(--cp-c-text)}
.cp-checkout__card-holder-separator small{font-size:10px;line-height:1.45;color:var(--cp-c-muted)}


/* 3.1.3 — Mercado Pago Orders Core Methods / Secure Fields */
.cp-checkout__secure-card-input.is-focused{
    border-color:var(--cp-c-primary)!important;
    box-shadow:0 0 0 3px color-mix(in srgb,var(--cp-c-primary) 17%,transparent)!important
}
.cp-checkout__secure-card-input.is-invalid{
    border-color:#e25858!important;
    box-shadow:0 0 0 3px rgba(226,88,88,.10)!important
}
.cp-checkout__secure-card-input iframe{
    position:absolute!important;inset:0!important;width:100%!important;height:50px!important;
    min-height:50px!important;margin:0!important;padding:0!important;border:0!important
}
@media(max-width:680px){
    .cp-checkout__card-brands{justify-content:flex-start}
    .cp-checkout__card-brand{width:52px;height:33px}
}


/* 3.1.5 — cartão somente crédito */
.cp-checkout__credit-only-notice{
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:10px;
    margin:0 0 14px;
    padding:12px 14px;
    border:1px solid #f0c36a;
    border-radius:10px;
    background:#fff8e8;
}
.cp-checkout__credit-only-notice>span{font-size:18px}
.cp-checkout__credit-only-notice div{display:flex;flex-direction:column;gap:2px}
.cp-checkout__credit-only-notice strong{font-size:12px;color:#5f4700}
.cp-checkout__credit-only-notice small{font-size:10px;line-height:1.45;color:#775b08}
.cp-checkout__credit-only-notice button{
    appearance:none;border:1px solid #d7ad43;border-radius:8px;background:#fff;
    padding:8px 11px;font-size:11px;font-weight:800;cursor:pointer;color:#5f4700
}
.cp-checkout__credit-only-notice button:hover{background:#fff3cd}
@media(max-width:680px){
    .cp-checkout__credit-only-notice{grid-template-columns:auto 1fr}
    .cp-checkout__credit-only-notice button{grid-column:1/-1;width:100%}
}


/* 3.1.6 — selo de pagamento seguro no Pix */
.cp-checkout-pix-trust-seal{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-top:14px;
    padding:14px;
    border:1px solid color-mix(in srgb,var(--cp-c-primary) 26%,var(--cp-c-border));
    border-radius:12px;
    background:linear-gradient(180deg,#ffffff 0%, color-mix(in srgb,var(--cp-c-primary) 5%,#ffffff) 100%);
}
.cp-checkout-pix-trust-seal__icon{
    display:grid;place-items:center;
    width:46px;height:46px;flex:0 0 46px;
    border-radius:50%;
    background:#e9f8ef;
    color:#18864b;
    font-size:22px;
    box-shadow:inset 0 0 0 1px rgba(24,134,75,.12);
}
.cp-checkout-pix-trust-seal__content{display:flex;flex-direction:column;gap:5px}
.cp-checkout-pix-trust-seal__content strong{font-size:14px;color:var(--cp-c-text)}
.cp-checkout-pix-trust-seal__content small{font-size:11px;line-height:1.55;color:var(--cp-c-muted)}
.cp-checkout-pix-trust-seal__chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:4px}
.cp-checkout-pix-trust-seal__chips span{
    display:inline-flex;align-items:center;gap:6px;
    min-height:28px;padding:5px 10px;
    border:1px solid var(--cp-c-border);
    border-radius:999px;
    background:#fff;
    color:var(--cp-c-text);
    font-size:10px;font-weight:800;
}
.cp-checkout-pix-trust-seal__chips span::before{content:"✓";color:#18864b;font-weight:900}
@media(max-width:680px){
    .cp-checkout-pix-trust-seal{padding:12px;gap:10px}
    .cp-checkout-pix-trust-seal__icon{width:40px;height:40px;flex-basis:40px;font-size:19px}
}


/* 3.1.7 — selos globais de segurança e garantia */
.cp-checkout-guarantee-seal{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:14px;
    padding:14px 15px;
    border:1px solid #e0c06a;
    border-radius:14px;
    background:linear-gradient(180deg,#fffdf7 0%,#fff8e7 100%);
    box-shadow:0 8px 20px rgba(96,72,10,.05);
}
.cp-checkout-guarantee-seal__icon{
    display:grid;
    place-items:center;
    width:50px;
    height:50px;
    flex:0 0 50px;
    border-radius:50%;
    background:#fff;
    border:1px solid #ead28e;
    font-size:25px;
}
.cp-checkout-guarantee-seal__content{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
}
.cp-checkout-guarantee-seal__content span{
    color:#96720e;
    font-size:9px;
    font-weight:950;
    letter-spacing:.09em;
}
.cp-checkout-guarantee-seal__content strong{
    color:#4d3a05;
    font-size:15px;
    line-height:1.2;
}
.cp-checkout-guarantee-seal__content small{
    color:#755d1a;
    font-size:10px;
    line-height:1.45;
}

.cp-checkout-result-trust-stack{
    display:flex;
    flex-direction:column;
    gap:11px;
}
.cp-checkout-result-security,
.cp-checkout-result-guarantee{
    display:flex;
    align-items:center;
    gap:10px;
    padding:12px 13px;
    border-radius:12px;
}
.cp-checkout-result-security{
    border:1px solid #b9dfc8;
    background:linear-gradient(180deg,#fbfffc 0%,#eef9f2 100%);
}
.cp-checkout-result-security__icon,
.cp-checkout-result-guarantee__icon{
    display:grid;
    place-items:center;
    width:39px;
    height:39px;
    flex:0 0 39px;
    border-radius:50%;
    background:#fff;
    font-size:18px;
}
.cp-checkout-result-security__icon{
    border:1px solid #cce7d6;
}
.cp-checkout-result-security>div:last-child,
.cp-checkout-result-guarantee>div:last-child{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:2px;
}
.cp-checkout-result-security strong{
    color:#155c35;
    font-size:12px;
}
.cp-checkout-result-security small{
    color:#4f6b5a;
    font-size:10px;
    line-height:1.4;
}

.cp-checkout-result-guarantee{
    border:1px solid #e0c06a;
    background:linear-gradient(180deg,#fffdf7 0%,#fff8e7 100%);
}
.cp-checkout-result-guarantee__icon{
    border:1px solid #ead28e;
}
.cp-checkout-result-guarantee span{
    color:#96720e;
    font-size:8px;
    font-weight:950;
    letter-spacing:.08em;
}
.cp-checkout-result-guarantee strong{
    color:#4d3a05;
    font-size:13px;
}
.cp-checkout-result-guarantee small{
    color:#755d1a;
    font-size:9.5px;
    line-height:1.4;
}

@media(max-width:680px){
    .cp-checkout-guarantee-seal{
        padding:12px;
    }
    .cp-checkout-guarantee-seal__icon{
        width:44px;
        height:44px;
        flex-basis:44px;
        font-size:22px;
    }
    .cp-checkout-result-security,
    .cp-checkout-result-guarantee{
        padding:11px 12px;
    }
}

/* 3.3.3 — plano recorrente no mesmo checkout moderno de Pix/Boleto/Cartão */
.cp-checkout__recurring-plan-row{align-items:end;margin-bottom:14px}
.cp-checkout__plan-note{min-height:48px;border:1px solid rgba(15,23,42,.10);border-radius:12px;padding:10px 12px;background:#f8fafc;display:flex;flex-direction:column;justify-content:center;gap:2px}
.cp-checkout__plan-note strong{font-size:13px;color:#0f172a}
.cp-checkout__plan-note small{font-size:12px;line-height:1.4;color:#64748b}
