
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'plf02 Unica','plf07',sans-serif;background:#F6F1EF;color:#353935;min-height:100vh;display:flex;flex-direction:column;-webkit-font-smoothing:antialiased;letter-spacing:-0.01em}
.ck-offer-banner {
  background: linear-gradient(135deg, #7A4950 0%, #5C3238 100%);
  color: #FFF;
  padding: 10px 24px;
  text-align: center;
  font-size: 14.5px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  position: relative;
  z-index: 99;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
  overflow: hidden;
  /* F2 CLS v5 (30/07): reserva a altura no 1o paint (padding fixo acima) e anima so opacity/visibility (composited, SEM layout shift). Antes: max-height 0->120px animada empurrava o <main class=ck-main> pra baixo = CLS desktop. Banner e sempre exibido no load (ck-show nunca e removido). */
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.2s, opacity 0.2s ease;
}

/* Glin preview: only layout hooks not present in production. Visual primitives
   come from the productive mpa-* and ck-summary-* rules in this stylesheet. */
.ck-glin-productive-card{margin-top:12px;padding:20px;border:0;border-radius:16px;background:#F5F1ED!important;font-family:'plf02 Unica','plf07',sans-serif;color:#353935}
/* #0-CY (15/09): Passo 2 inteiro (parte externa + Dados do pagador) precisa ficar com a
   MESMA cor, num tom mais fraco que o anterior. Escopado via :has() (mesma tecnica ja usada
   nas regras de .selected mais abaixo) pra atingir SÓ o card do Passo 2, sem mudar o card
   branco do Passo 1 (ambos usam a classe generica .ck-form-card). */
/* #0-DD (15/09): caixas .ck-tabs, .ck-glin-productive-card e inline #stripe-card-form = #F5F1ED (L x 1,01 do #F3EEE9 do #0-DC; fundo geral e bump do #0-DC inalterados). */ /* #0-DC (15/09) ajuste fino: body/.ck-header #F3ECE8 (valor dado pelo Luciano = L x 0,97 de #F8F4F2); .ck-tabs, .ck-glin-productive-card e inline #stripe-card-form #F3EEE9 (L x 0,97 do #F8F5F2); bump texto #2D302D, borda #C3C8CF, linha desmarcada #E3EDFF (L x 0,97 dos originais). Comentario #0-DB abaixo descreve a rodada anterior. */ /* #0-DB (15/09) DEFINITIVO: .ck-form-card branco puro (Passo 1 + Comprando hoje + Passo 2); .ck-tabs e .ck-glin-productive-card (+inline #stripe-card-form) = #F8F5F2 = ponto medio entre #F1EAE5 e branco; body/.ck-header #E5D7D0 = L x 0,95 de #EDE3DE; bump: texto #2C2F2C, borda #BCC2CA, linha desmarcada #D5E4FF (cada um L x 0,95 do original) */ .ck-form-card{background:#FFF!important}
.ck-glin-productive-card .mpa-card-title{font-family:'plf06',Georgia,serif!important;font-style:normal!important;font-size:16px!important;font-weight:500!important;color:#1A1A1A!important;letter-spacing:.01em!important;text-transform:none!important;white-space:normal!important}
.ck-glin-productive-card .mpa-label{font-family:'plf08','plf08 Fallback: Arial','plf08 Fallback: Roboto','plf08 Fallback: -apple-system','plf07',sans-serif!important;color:#555!important}
.ck-glin-productive-card .mpa-input{font-family:'plf08','plf08 Fallback: Arial','plf08 Fallback: Roboto','plf08 Fallback: -apple-system','plf07',sans-serif!important;color:#1A1A1A!important}
.ck-glin-commerce-summary{margin-top:10px;font-family:'plf07','plf07 Fallback: Arial','plf07 Fallback: Roboto','plf07 Fallback: -apple-system',sans-serif;color:#555A57}
.ck-glin-summary-toggle{border:0;background:transparent;padding:3px 0 7px;color:#617A6B;font:600 9.5px/1 'plf07',sans-serif;text-decoration:underline;cursor:pointer}
.ck-glin-summary-detail{padding:2px 0 7px;font-size:10.5px;font-weight:400}
.ck-glin-preview-note{margin-top:6px;text-align:center;font-size:9px;font-weight:400;color:#A19892}
.ck-glin-payer-section{margin:0 0 12px;border:0}
.ck-glin-payer-section.ck-glin-payer-card{margin-top:28px}
.ck-glin-payer-section .ck-summary-row{display:block;margin:6px 0 0;color:#8C8C8C;font:400 11px/1.45 'plf07',sans-serif}
.ck-glin-payer-section .ck-step-title{margin:0 0 4px!important;color:#353935!important}
.ck-glin-payer-section .ck-summary-divider{margin:12px 0 16px}
.ck-glin-payer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}
.ck-pix-payer-card{margin:0 0 18px}
.ck-pix-payer-card .ck-glin-payer-grid{grid-template-columns:1fr}
.ck-pix-cpf-wrap{position:relative}
.ck-pix-cpf-wrap .mpa-input{padding-right:34px}
.ck-glin-card-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(112px,1.1fr) minmax(96px,1fr);gap:12px}
.ck-glin-number-label{display:flex;align-items:center;justify-content:flex-start;gap:8px}
.ck-glin-no-number{display:flex;align-items:center;gap:4px;font:500 9.5px/1 'plf07',sans-serif;color:#8C8C8C}
.ck-glin-address-found{grid-column:1/-1;margin-bottom:14px;font-size:11px;color:#715D52}
@media(max-width:720px){.ck-glin-card-grid{grid-template-columns:1fr 1fr}.ck-glin-card-grid>.mpa-field:first-child{grid-column:1/-1}}
@media(max-width:640px){.ck-glin-payer-grid{grid-template-columns:1fr}}
.ck-glin-productive-card .mpa-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px}
@media(max-width:540px){.ck-glin-productive-card .mpa-card-header{align-items:flex-start;flex-direction:column}.ck-glin-productive-card .mpa-logos-row{justify-content:flex-start!important;width:100%}}
.ck-glin-productive-card .mpa-logo-badge.mpa-logo-amex{background:#26A6D1!important;border:0!important;padding:0!important;overflow:hidden!important;border-radius:5px!important;display:flex!important;align-items:center!important;justify-content:center!important}
.ck-glin-productive-card .mpa-logo-badge.mpa-logo-amex .mpa-logo-img{height:90%!important;width:auto!important;max-width:94%!important;object-fit:contain!important}

/* Protected visual comparison only. The class is never enabled outside an
   allowlisted preview host, and affects presentation—not cart or payment data. */
html.ck-visual-variant-b #ckProductCarousel,
html.ck-visual-variant-b #ckProductImg,
html.ck-visual-variant-b #ckSummaryCarouselText,
html.ck-visual-variant-b #ckProductCategory,
html.ck-visual-variant-b #ckProductDescription,
html.ck-visual-variant-b #ckProductDesc,
html.ck-visual-variant-b #ckSumIncludesRow,
html.ck-visual-variant-b #ckSumOriginalRow,
html.ck-visual-variant-b #ckSumOfferRow,
html.ck-visual-variant-b #ckSumCouponRow{display:none!important}
html.ck-visual-variant-b #ckProductName{display:none!important}
html.ck-visual-variant-b .ck-summary-card{padding-top:28px}
html.ck-visual-variant-b #ckPriceSummaryBox>.ck-summary-divider{display:none!important}
html.ck-visual-variant-b #ckSumCardDetails{border-top:0!important}
html.ck-visual-variant-b #ckSumDiscountBadge,html.ck-visual-variant-b #ckSumSavings[hidden]{display:none!important}
.ck-glin-summary-b{margin:0 0 12px}
.ck-glin-item-list{display:flex;flex-direction:column;gap:0;height:auto;max-height:none;overflow:visible;scrollbar-width:none}
.ck-glin-item-row{display:grid;grid-template-columns:60px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;border:0;min-height:76px}
.ck-glin-item-thumb{width:60px;height:60px;object-fit:contain;border-radius:6px;background:#fff}
.ck-glin-item-placeholder{display:block;background:#f2ece8}
.ck-glin-item-copy{display:flex;flex-direction:column;min-width:0;gap:2px;color:#353935}
.ck-glin-item-copy strong{font:500 11px/1.35 'plf07',sans-serif;overflow-wrap:anywhere}
.ck-glin-item-copy small{font:400 9.5px/1.35 'plf07',sans-serif;color:#8c837e}
.ck-glin-item-prices{display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap;text-align:right}
.ck-glin-item-original,.ck-glin-total-original{color:#9E9E9E;font:500 12px/1.2 'plf07',sans-serif;text-decoration:line-through}
.ck-glin-item-price{font:500 13px/1.2 'plf07',sans-serif;color:#353935;white-space:nowrap;text-align:right}
.ck-glin-summary-totals{padding-top:10px}
.ck-glin-summary-totals>.ck-summary-row{font-family:'plf07','plf07 Fallback: Arial','plf07 Fallback: Roboto','plf07 Fallback: -apple-system',sans-serif;font-size:11px;font-weight:500;line-height:11px;letter-spacing:-.192px;color:#555A57;align-items:center;justify-content:space-between;margin:0 0 6px}
.ck-glin-summary-totals>.ck-summary-row:first-child{margin-bottom:10px}
.ck-glin-summary-b .ck-glin-summary-totals>.ck-summary-row.original{font-size:11px;color:#555A57}
.ck-glin-summary-b+.ck-summary-total-row{margin-top:8px;padding-top:12px;border-top:0!important}
html.ck-visual-variant-b .ck-glin-summary-b,html.ck-visual-variant-b .ck-glin-summary-b *,html.ck-visual-variant-b .ck-glin-summary-b+.ck-summary-total-row,html.ck-visual-variant-b #ckSumSavings,html.ck-visual-variant-b #ckSumCardDetails{border-top:0!important;border-bottom:0!important}
@media(max-width:767px){.ck-glin-summary-b{width:100%}.ck-glin-item-list{max-height:none;overflow:visible}.ck-glin-item-row{grid-template-columns:56px minmax(0,1fr) auto}.ck-glin-item-thumb{width:56px;height:56px}.ck-glin-item-prices{align-items:flex-end;flex-direction:column;gap:1px}.ck-glin-item-original{font-size:10.5px}.ck-glin-item-price{font-size:11px}}
.ck-offer-banner.ck-show {
  visibility: visible;
  opacity: 1;
}
/* (17/08) Removido da tela 1 (Passo 1 Dados + Passo 2 Pagamento) a pedido do dono.
   #ckOfferBanner e um UNICO elemento persistente no DOM (nao existe instancia separada
   por tela) -- fica fixo no topo do <body>, antes do <header>. Verificado que ele NAO
   aparece na tela do QR Code PIX: o overlay do PIX (.ckpxov-overlay, z-index:10000,
   fundo opaco, position:fixed inset:0) cobre totalmente o banner (z-index:99) e o header
   (z-index:100) por baixo -- o elemento continua no DOM mas fica 100% oculto visualmente.
   A barra vinho que aparece no topo da tela do PIX e OUTRO elemento (.ckpxov-timer, o aviso
   de expiracao do PIX) -- reaproveita a MESMA cor/gradiente do banner por design, mas nao e
   .ck-offer-banner; nao foi tocado aqui. Por isso display:none incondicional e seguro: nao
   existe nenhum estado real do checkout hoje em que #ckOfferBanner fique visivel fora da
   tela 1. display:none (em vez de reforcar visibility/opacity) tambem elimina o flash de
   ~250ms do banner por baixo do overlay do PIX durante a transicao de fade-in dele.*/
.ck-offer-banner {
  display: none !important;
}
@keyframes ckSlideDown {
  from { transform: translateY(-100%); }
  to { transform: translateY(0); }
}
.ck-offer-banner-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  max-width: 1100px;
  margin: 0 auto;
  width: 100%;
}
.ck-offer-banner strong {
  background: #FAF6F3;
  color: #5C3238;
  padding: 3px 8px;
  border-radius: 6px;
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 600;
  font-size: 14px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  letter-spacing: -0.01em;
}
.ck-discount-alert {
  display: flex;
  background: #FAFAFA;
  border: 1px solid #E0D8D5;
  border-radius: 12px;
  padding: 0 16px;
  margin-bottom: 0;
  font-size: 13.5px;
  color: #353935;
  align-items: center;
  gap: 8px;
  max-height: 0;
  overflow: hidden;
  visibility: hidden;
  border-width: 0;
  transition: max-height 0.3s ease, padding 0.3s, margin 0.3s, visibility 0.3s, border-width 0.3s;
}
.ck-discount-alert.ck-show {
  max-height: 80px;
  padding: 12px 16px;
  margin-bottom: 20px;
  visibility: visible;
  border-width: 1px;
}
.ck-discount-alert svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  color: #2E7D32;
}
a{color:inherit;text-decoration:none}
.ck-header {
  background: #FFFFFF;
  padding: 24px 0;
  border-bottom: 1px solid rgba(193, 144, 150, 0.25);
  position: sticky;
  top: 0;
  z-index: 100;
}
.ck-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #7A4950 0%, #C19096 100%);
}
.ck-header-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ck-logo {
  display: flex;
  align-items: center;
}
.ck-logo-img {
  height: 52px;
  width: auto;
  transition: opacity 0.2s;
}
.ck-logo:hover .ck-logo-img {
  opacity: 0.85;
}
.ck-logo svg {
  width: 24px;
  height: 24px;
  color: #C19096;
}
.ck-secure {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11.5px;
  font-weight: 500;
  color: #617A6B;
  background: rgba(97, 122, 107, 0.08);
  border: 1px solid rgba(97, 122, 107, 0.15);
  padding: 6px 12px;
  border-radius: 20px;
  letter-spacing: 0.3px;
  transition: all 0.2s ease;
}
.ck-secure svg {
  width: 13px;
  height: 13px;
  fill: currentColor;
}
.ck-main{max-width:1100px;margin:30px auto;padding:0 24px;display:flex;gap:24px;flex:1;width:100%}
.ck-summary{flex:0 0 380px;position:sticky;top:90px;align-self:flex-start}
.ck-summary-card{background:#FFF;border-radius:20px;padding:36px;box-shadow:0 2px 20px rgba(0,0,0,.04)}
/* Protected comparison only. These classes are applied exclusively by the
   preview-host guard in checkout-glin-headless.v1.js. */
html.ck-summary-tone-a .ck-summary-card,
html.ck-summary-tone-b .ck-summary-card,
html.ck-summary-tone-c .ck-summary-card{
  border:1px solid rgba(123,91,76,.08)!important;
  box-shadow:0 2px 12px rgba(123,91,76,.035)!important;
}
html.ck-summary-tone-a .ck-summary-card{background:#F8F5F3!important}
html.ck-summary-tone-b .ck-summary-card{background:#F4EFEC!important}
html.ck-summary-tone-c .ck-summary-card{background:#F0E8E4!important}
html.ck-banner-test .ck-main{flex-wrap:wrap}
.ck-preview-responsive-banner{display:block;flex:0 0 100%;width:100%;line-height:0;overflow:hidden}
.ck-preview-responsive-banner picture,.ck-preview-responsive-banner img{display:block;width:100%}
.ck-preview-responsive-banner img{height:auto;aspect-ratio:2160/480;object-fit:contain}
@media(max-width:767px){.ck-preview-responsive-banner img{aspect-ratio:800/360}}
html.ck-visual-variant-b .ck-glin-item-list{gap:10px}
html.ck-visual-variant-b .ck-glin-item-row{width:100%;max-width:100%;box-sizing:border-box;background:#FCFBFA;border:1px solid rgba(141,109,92,.06)!important;border-radius:10px;padding:10px 12px}
html.ck-visual-variant-b .ck-glin-summary-b{margin-bottom:0}
html.ck-visual-variant-b .ck-glin-summary-totals{padding-top:32px}
html.ck-visual-variant-b .ck-glin-summary-totals>.ck-summary-row:first-child{margin-bottom:8px}
html.ck-visual-variant-b .ck-glin-summary-totals>.ck-summary-row:last-child{margin-bottom:0}
html.ck-visual-variant-b .ck-glin-summary-b+.ck-summary-total-row{margin-top:7px;padding-top:0}
html.ck-visual-variant-b .ck-glin-item-thumb{background:transparent}
html.ck-visual-variant-b #ckSummaryCard .ck-divider{display:none!important}
html.ck-visual-variant-b #ckSummaryCard .ck-summary-divider{display:none!important}
html.ck-visual-variant-b .ck-summary-savings-row{color:#6B6B6B!important;font-weight:400!important}
html.ck-visual-variant-b .ck-summary-card-details{color:#6B6B6B!important;font-size:10.5px!important;font-weight:400!important;border-top:0!important;padding-top:0!important;margin-top:5px!important;margin-bottom:4px!important}
html.ck-visual-variant-b .ck-benefits{margin-top:20px;padding:18px 18px 16px;background:#FCFBFA;border:1px solid rgba(141,109,92,.06);border-bottom:0;border-radius:12px 12px 0 0}
html.ck-visual-variant-b .ck-guarantee{margin-top:0;padding:16px 18px 18px;background:#FCFBFA;border-color:rgba(141,109,92,.06);border-top:0;border-radius:0 0 12px 12px}
/* Protected surface experiment. Kept separate from visualVariant=B so the
   approved summary structure and all commercial behavior remain unchanged. */
html.ck-surface-theme-current .ck-glin-item-row,
html.ck-surface-theme-current .ck-benefits,
html.ck-surface-theme-current .ck-guarantee{background:#FAF6F4!important;border-color:rgba(123,91,76,.10)!important;box-shadow:none!important}
html.ck-surface-theme-current-soft .ck-glin-item-row,
html.ck-surface-theme-current-soft .ck-benefits,
html.ck-surface-theme-current-soft .ck-guarantee{background:#FCFBFA!important;border-color:rgba(141,109,92,.06)!important;box-shadow:none!important}
html.ck-visual-variant-b:not(.ck-surface-theme-c) .ck-header{background:#F6F1EF!important}
html.ck-surface-theme-c body{background:#FFF!important}
html.ck-surface-theme-c .ck-summary-card{background:#FAF7F5!important;box-shadow:none!important}
html.ck-surface-theme-c .ck-form-card{background:#FAF7F5!important;box-shadow:none!important}
html.ck-surface-theme-c .ck-tabs,
html.ck-surface-theme-c #mp-card-form,
html.ck-surface-theme-c .ck-glin-productive-card{background:#F0E8E4!important;box-shadow:none!important}
html.ck-surface-theme-c .ck-summary-mobile-toggle,
html.ck-surface-theme-c .ck-summary-content{background:#FAF7F5!important}
html.ck-surface-theme-c .ck-glin-item-row,
html.ck-surface-theme-c .ck-benefits,
html.ck-surface-theme-c .ck-guarantee{background:#FCFBFA!important;border-color:rgba(141,109,92,.06)!important;box-shadow:none!important}
html.ck-surface-theme-c .ck-field input,
html.ck-surface-theme-c .ck-field select,
html.ck-surface-theme-c .mpa-wrap,
html.ck-surface-theme-c .mpa-input{background:#FFF!important}
.ck-summary-mobile-toggle { display: none !important; }
.ck-summary-content { display: block !important; }
.ck-skel{min-height:160px}.ck-skel-text{display:inline-block;min-width:1px;min-height:1.1em;color:transparent!important}.ck-product-img{width:60%;margin:0 auto 18px;display:block;border-radius:12px;height:160px;object-fit:contain}
.ck-product-name{font-size:15.5px;font-weight:600;text-align:center;margin-bottom:3px;line-height:1.4;min-height:2.8em}
.ck-product-desc{font-size:11px;color:#8C8C8C;text-align:center;margin-bottom:12px}
.ck-price-row{display:flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:3px}
.ck-price-main{font-size:28px;font-weight:700;color:#353935;font-family:'plf07', 'plf07 Fallback: Arial', 'plf07 Fallback: Roboto', 'plf07 Fallback: -apple-system', sans-serif}
.ck-price-period{font-size:11.5px;color:#8C8C8C}
.ck-price-cash{font-size:11px;color:#8C8C8C;text-align:center;margin-bottom:14px}
.ck-divider{height:1px;background:#C190964D;margin:12px 0}
.ck-benefits{list-style:none;display:flex;flex-direction:column;gap:7px}
.ck-benefits li{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:400;color:#6B6B6B}
.ck-benefits li svg{width:14px;height:14px;flex-shrink:0;color:#8D6D5C}
.ck-guarantee{display:flex;align-items:center;gap:9px;margin-top:12px;padding:11px 12px;background:#FCF9FB;border-radius:12px;border:1px solid #C190961A}
.ck-guarantee svg{width:20px;height:20px;flex-shrink:0;color:#4CAF50}
.ck-guarantee div{font-size:10.5px;color:#6B6B6B;line-height:1.5}
.ck-guarantee strong{color:#353935;font-size:11.5px;font-weight:500;display:block;margin-bottom:2px}
.ck-form-area{flex:1;min-width:0}
.ck-form-card{background:#FFF;border-radius:20px;padding:36px;box-shadow:0 2px 20px rgba(0,0,0,.04)}
.ck-form-title{font-size:20px;font-weight:600;margin-bottom:24px;display:flex;align-items:center;gap:8px}
.ck-form-title svg{width:22px;height:22px;color:#8D6D5C}
.ck-field{margin-bottom:16px}
.ck-field label{display:block;font-size:12px;font-weight:600;color:#6B6B6B;margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}
.ck-input-wrapper{position:relative;width:100%}
.ck-field input{width:100%;padding:13px 16px;padding-right:42px !important;border:1.5px solid #E0D8D5;border-radius:12px;font-size:15px;font-family:inherit;transition:all .2s;background:#FAFAFA;color:#353935}
.ck-field input:focus{outline:none;border-color:#8D6D5C;background:#FFF;box-shadow:0 0 0 3px rgba(204,168,154,.12)}
.ck-field input::placeholder{color:#B0A8A5}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 30px #FAFAFA inset !important;
  -webkit-text-fill-color: #353935 !important;
  transition: background-color 5000s ease-in-out 0s;
}
.ck-field-check {
  position: absolute; right: 14px; top: 50%; transform: translateY(-50%);
  width: 20px; height: 20px; border-radius: 50%;
  background: #EAF2ED; border: 1px solid #C5D9CC; color: #3E5C4A;
  display: none; align-items: center; justify-content: center;
  pointer-events: none; transition: all 0.2s ease;
  box-shadow: 0 2px 6px rgba(62, 92, 74, 0.12);
}
.ck-field-check svg {
  width: 11px; height: 11px; stroke: currentColor; stroke-width: 4.5; display: block;
}
@keyframes ckCheckPop {
  0% { transform: translateY(-50%) scale(0.6); opacity: 0; }
  50% { transform: translateY(-50%) scale(1.15); opacity: 0.8; }
  100% { transform: translateY(-50%) scale(1); opacity: 1; }
}
.ck-field-check.active-pop {
  display: flex !important;
  animation: ckCheckPop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}
.ck-tabs{display:flex;gap:0;background:#F5F1ED;border-radius:14px;padding:4px;margin-bottom:24px}
.ck-tab{flex:1;padding:12px 8px;border:none;background:none;cursor:pointer;border-radius:11px;font-family:inherit;font-size:13px;font-weight:500;color:#8C8C8C;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:6px}
.ck-tab.active{background:#FFF;color:#353935;box-shadow:0 1px 6px rgba(0,0,0,.06);font-weight:600}
.ck-tab svg{width:18px;height:18px}
.ck-tab:hover:not(.active){color:#6B6B6B}
.ck-tab.ck-tab-wallet-unavailable{opacity:.38;cursor:default}
.ck-tab.ck-tab-wallet-unavailable:hover{color:#8C8C8C}
.ck-tab-discount-badge {
  background: #EAF2ED;
  color: #2E7D32;
  font-size: 9px;
  padding: 1.5px 5px;
  border-radius: 6px;
  font-weight: 500;
  margin-left: 2px;
  border: 1px solid #C8E6C9;
  letter-spacing: 0.04em;
  line-height: 1;
}
.ck-tab-content{display:none}
.ck-tab-content.active{display:block;animation:ckFadeIn .3s ease}
@keyframes ckFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
#mp-card-form{min-height:200px}
#mp-card-form .mp-checkout__container,
#mp-card-form [class*='mp-checkout'] {
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif !important;
}
#mp-card-form {
  --mp-primary-color: #8D6D5C !important;
  --mp-primary-text-color: #4A3728 !important;
  --mp-secondary-color: #F7F3F0 !important;
  --mp-accent-color: #8D6D5C !important;
  --mp-font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif !important;
  --mp-border-radius: 12px !important;
  --mp-input-border-color: #E0D8D3 !important;
  --mp-input-focus-border-color: #8D6D5C !important;
  --mp-error-color: #A05252 !important;
  --mp-error-font-color: #7D4040 !important;
  --mp-error-background-color: #FAF5F5 !important;
}
#mp-card-form label,
#mp-card-form [class*='label'],
#mp-card-form [class*='Label'] {
  font-size: 12px !important;
  font-weight: 500 !important;
  color: #8B7B6B !important;
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
}
#mp-card-form input,
#mp-card-form select {
  border-radius: 10px !important;
  border-color: #E0D8D3 !important;
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif !important;
  font-size: 14px !important;
  color: #4A3728 !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  transition: border-color .2s !important;
}
#mp-card-form [class*='input'],
#mp-card-form [class*='Input'] {
  border-radius: 10px !important;
  border-color: #E0D8D3 !important;
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif !important;
  font-size: 14px !important;
  color: #4A3728 !important;
  transition: border-color .2s !important;
}
#mp-card-form [class*="split-"] {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}
#mp-card-form [class*="identification"],
#mp-card-form [class*="Identification"],
#mp-card-form [class*="docType"],
#mp-card-form [class*="DocType"] {
  flex-shrink: 0 !important;
  flex-direction: row !important;
  display: inline-flex !important;
  align-items: center !important;
}
#mp-card-form div:has(> iframe),
#mp-card-form div:has(> input:not([type="hidden"])) {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}
#mp-card-form div:has(> iframe)[class*="error"],
#mp-card-form div:has(> iframe)[class*="invalid"],
#mp-card-form div:has(> input:not([type="hidden"]))[class*="error"],
#mp-card-form div:has(> input:not([type="hidden"]))[class*="invalid"] {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}
#mp-card-form input:focus,
#mp-card-form select:focus {
  border-color: #8D6D5C !important;
  box-shadow: 0 0 0 3px rgba(141,109,92,0.12) !important;
  outline: none !important;
}
#mp-card-form input[class*='error'],
#mp-card-form input[class*='invalid'],
#mp-card-form input[aria-invalid],
#mp-card-form [class*='inputContainer'][class*='error'],
#mp-card-form [class*='fieldContainer'][class*='error'],
#mp-card-form [class*='field'][class*='error'] {
  background: #FFFFFF !important;
  border-color: #D8D0CA !important;
}
#mp-card-form [role="alert"],
#mp-card-form p[class],
#mp-card-form [class*='helper'],
#mp-card-form [class*='Helper'],
#mp-card-form [class*='support'],
#mp-card-form [class*='Support'],
#mp-card-form [class*='hint'],
#mp-card-form [class*='message']:not(button):not(label):not(input),
#mp-card-form [class*='Message']:not(button):not(label):not(input) {
  color: #A05252 !important;
  font-size: 11px !important;
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif !important;
  font-weight: 500 !important;
  background: transparent !important;
  border: none !important;
  position: static !important;
  display: block !important;
  margin-top: 3px !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  white-space: normal !important;
  opacity: 0.85 !important;
  line-height: 1.3 !important;
}
#mp-card-form [role="alert"] svg,
#mp-card-form [class*='helper'] svg,
#mp-card-form [class*='message'] svg {
  width: 10px !important;
  height: 10px !important;
  vertical-align: middle !important;
}
#mp-card-form [class*='error']:not(input):not(select):not(div[class*='field']):not(div[class*='container']):not(label):not(form) {
  font-size: 11px !important;
  color: #A05252 !important;
  position: static !important;
  display: block !important;
  background: transparent !important;
  border: none !important;
  opacity: 0.85 !important;
  font-weight: 500 !important;
  margin-top: 3px !important;
  padding: 0 !important;
}
#mp-card-form [class*='error'] svg,
#mp-card-form [class*='Error'] svg {
  color: #A05252 !important;
  width: 12px !important;
  height: 12px !important;
}
#mp-card-form [class*='title'],
#mp-card-form [class*='Title'],
#mp-card-form h2,
#mp-card-form h3 {
  display: none !important;
}
#mp-card-form [class*='submit'],
#mp-card-form [type='submit'] {
  display: none !important;
}
#mp-card-form [class*='paymentMethods'],
#mp-card-form [class*='cardBrands'] {
  margin-bottom: 8px !important;
}
:root {
  --ck-form-background: #F7F3F0;
  --ck-input-background: #FFFFFF;
  --ck-text-primary: #353935;
  --ck-text-secondary: #6B6360;
  --ck-text-placeholder: #B0A8A5;
  --ck-input-border-color: #D8D0CA;
  --ck-input-border-radius: 10px;
  --ck-error-color: #C07070;
}
#mp-card-form label[class*="error"],
#mp-card-form [class*="errorLabel"],
#mp-card-form [class*="error-label"],
#mp-card-form [class*="labelError"] {
  color: #C07070 !important;
}
#mp-card-form select {
}
#mp-card-form select ~ input,
#mp-card-form select + input {
  border-left: none !important;
}
#mp-card-form [class*="split"],
#mp-card-form [class*="document"],
#mp-card-form [class*="Document"] {
  min-height: unset !important;
}
#mp-card-form [class*="docType"],
#mp-card-form [class*="doc-type"],
#mp-card-form [class*="documentType"] {
  position: relative !important;
  flex-shrink: 0 !important;
}
#mp-card-form [data-testid="icon"] {
  background: #FFFFFF !important;
  border-radius: 6px !important;
  padding: 2px 5px !important;
  overflow: visible !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.06) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
#mp-card-form [data-testid="icon"] svg {
  height: 20px !important;
  width: auto !important;
  max-width: none !important;
  overflow: visible !important;
  flex-shrink: 0 !important;
}
#mp-card-form [data-testid="icon"][alt*="amex"],
#mp-card-form [data-testid="icon"][alt*="american"],
#mp-card-form [data-testid="icon"][alt*="AMEX"],
#mp-card-form [data-testid="icon"][alt*="American"] {
  min-width: 36px !important;
  padding: 2px 4px !important;
}
#mp-card-form [data-testid="icon"][alt*="amex"] svg,
#mp-card-form [data-testid="icon"][alt*="american"] svg,
#mp-card-form [data-testid="icon"][alt*="AMEX"] svg,
#mp-card-form [data-testid="icon"][alt*="American"] svg {
  height: 18px !important;
  width: 36px !important;
  overflow: visible !important;
}
#mp-card-form button:not([type="submit"]):empty,
#mp-card-form [class*="hint"],
#mp-card-form [class*="Hint"],
#mp-card-form [class*="cvvHint"],
#mp-card-form [class*="tooltip"] {
  display: none !important;
}
#mp-card-form [data-testid="cvv-hint-icon"],
#mp-card-form [data-testid="security-code-hint"],
#mp-card-form [data-testid*="hint"],
#mp-card-form [data-testid*="cvv"] {
  display: none !important;
}
#mp-card-form select ~ svg,
#mp-card-form select ~ span,
#mp-card-form select ~ div:not([class*='input']):not([class*='Input']),
#mp-card-form [class*='selectArrow'],
#mp-card-form [class*='SelectArrow'],
#mp-card-form [class*='chevron'],
#mp-card-form [class*='Chevron'],
#mp-card-form [class*='caret'],
#mp-card-form [class*='Caret'],
#mp-card-form [class*='dropdownArrow'],
#mp-card-form [class*='documentSeparator'],
#mp-card-form [class*='separator'] {
  display: none !important;
}
#mp-card-form select ~ input,
#mp-card-form select + input {
  border-left: none !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
#mp-card-form select {
  background: transparent !important;
  background-color: transparent !important;
}
#mp-card-form select ~ svg,
#mp-card-form select ~ span,
#mp-card-form select ~ div:not([class*='input']):not([class*='Input']),
#mp-card-form [class*='selectArrow'],
#mp-card-form [class*='SelectArrow'],
#mp-card-form [class*='chevron'],
#mp-card-form [class*='Chevron'],
#mp-card-form [class*='caret'],
#mp-card-form [class*='Caret'],
#mp-card-form [class*='dropdownArrow'],
#mp-card-form [class*='documentSeparator'],
#mp-card-form [class*='separator'] {
  display: none !important;
}
#mp-card-form select ~ input,
#mp-card-form select + input {
  border-left: none !important;
  border-top-left-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}
#mp-card-form select {
  background: transparent !important;
  background-color: transparent !important;
}
#mp-card-form {
  background: #F7F3F0 !important;
  border-radius: 16px !important;
}
#mp-card-form > div,
#mp-card-form [class*='field'],
#mp-card-form [class*='Field'],
#mp-card-form [class*='group'],
#mp-card-form [class*='Group'],
#mp-card-form [class*='container'],
#mp-card-form [class*='Container'],
#mp-card-form [class*='row'],
#mp-card-form [class*='Row'],
#mp-card-form [class*='wrap'],
#mp-card-form [class*='Wrap'],
#mp-card-form [class*='section'],
#mp-card-form [class*='Section'] {
  background: #F7F3F0 !important;
  background-color: #F7F3F0 !important;
  position: relative !important;
}
#mp-card-form input,
#mp-card-form select,
#mp-card-form textarea {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}
#mp-card-form [class*='skeleton'],
#mp-card-form [class*='Skeleton'],
#mp-card-form [class*='shimmer'],
#mp-card-form [class*='Shimmer'],
#mp-card-form [class*='loading']:not([class*='icon']):not([class*='Icon']),
#mp-card-form [class*='placeholder']:not(input) {
  display: none !important;
}
#mp-card-form [class*='paymentMethods'],
#mp-card-form [class*='cardBrands'],
#mp-card-form [class*='CardBrands'],
#mp-card-form [class*='brandList'] {
  overflow: visible !important;
  flex-shrink: 0 !important;
}
#mp-card-form [class*='paymentIcon'],
#mp-card-form [class*='PaymentIcon'],
#mp-card-form [class*='brand'],
#mp-card-form [class*='Brand'] {
  overflow: visible !important;
  flex-shrink: 0 !important;
  background: #FFFFFF !important;
  border-radius: 6px !important;
  padding: 3px 5px !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
}
#mp-card-form [class*='paymentMethods'] img,
#mp-card-form [class*='cardBrands'] img,
#mp-card-form [class*='brand'] img,
#mp-card-form [class*='Brand'] img,
#mp-card-form [class*='paymentIcon'] img {
  overflow: visible !important;
  max-width: none !important;
  width: auto !important;
  height: 22px !important;
  display: block !important;
}
#mp-card-form [class*='cvvHint'],
#mp-card-form [class*='cvcHint'],
#mp-card-form [class*='securityCode'] [class*='icon'],
#mp-card-form [class*='securityCode'] [class*='hint'],
#mp-card-form [class*='cvv'] [class*='icon'],
#mp-card-form [class*='cvv'] [class*='btn'],
#mp-card-form [class*='helpIcon'],
#mp-card-form [class*='help-icon'] {
  overflow: hidden !important;
  position: relative !important;
}
#mp-brick-error {
  background: #FAF5F5 !important;
  border: 1px solid #E8D8D5 !important;
  color: #7D5854 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 13px !important;
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif !important;
}
.ck-toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9999;
  background: #FDFBF9;
  border: 1px solid #E8D8D5;
  border-left: 3px solid #A05252;
  border-radius: 12px;
  padding: 14px 18px;
  max-width: 320px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.10);
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif;
  font-size: 13px;
  color: #4A3728;
  line-height: 1.5;
  transform: translateX(110%);
  opacity: 0;
  transition: transform .35s cubic-bezier(.16,1,.3,1), opacity .35s ease;
  pointer-events: none;
}
.ck-toast.show {
  transform: translateX(0);
  opacity: 1;
  pointer-events: auto;
}
.ck-toast-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  margin-top: 1px;
  color: #A05252;
}
.ck-toast-title {
  font-weight: 600;
  font-size: 12px;
  color: #A05252;
  margin-bottom: 2px;
}
.ck-toast-msg {
  color: #7D5854;
  font-size: 12.5px;
}
#mp-card-form [class*='cardPaymentBrick__header'],
#mp-card-form [class*='header'],
#mp-card-form h1, #mp-card-form h2, #mp-card-form h3 {
  font-weight: 500 !important;
  font-size: 15px !important;
  color: #6B5B52 !important;
  letter-spacing: -0.01em !important;
}
#mp-card-form [class*='label'],
#mp-card-form label {
  color: #7A6E68 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-transform: uppercase !important;
}
.ck-pix-result{text-align:center;padding:20px 0}
.ck-pix-qr{width:200px;height:200px;margin:0 auto 16px;border-radius:12px;border:2px solid #E0D8D5}
.ck-pix-code{background:#F5F0EE;border-radius:12px;padding:14px;font-size:12px;font-family:'plf07', 'plf07 Fallback: Arial', 'plf07 Fallback: Roboto', 'plf07 Fallback: -apple-system', monospace;word-break:break-all;margin:0 auto 16px;max-width:400px;color:#6B6B6B;cursor:pointer;transition:all .2s;position:relative}
.ck-pix-code:hover{background:#EDE6E3}
.ck-pix-code::after{content:'Clique para copiar';position:absolute;top:-8px;right:8px;font-size:9px;background:#8D6D5C;color:#FFF;padding:2px 8px;border-radius:6px;font-family:'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', sans-serif}
.ck-pix-timer{font-size:14px;color:#8C8C8C;margin-bottom:12px}
.ck-pix-timer strong{color:#353935;font-size:18px;font-family:'plf07', 'plf07 Fallback: Arial', 'plf07 Fallback: Roboto', 'plf07 Fallback: -apple-system', sans-serif}
.ck-wallet-buttons{display:flex;flex-direction:column;gap:12px;padding:20px 0}
#stripe-payment-request-btn{min-height:48px}
.ck-wallet-note{font-size:12px;color:#8C8C8C;text-align:center;margin-top:8px}
.ck-cta{width:100%;padding:16px;background:linear-gradient(45deg,#05811A,#07B632);color:#FFF;border:none;border-radius:14px;font-size:17px;font-weight:600;cursor:pointer;font-family:inherit;transition:all .3s;margin-top:8px;position:relative;overflow:hidden}
.ck-cta:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(141,109,92,.35)}
.ck-cta:active{transform:translateY(0)}
.ck-cta:disabled{opacity:.6;cursor:not-allowed;transform:none}#ckPayApplePay,#ckPayGPay{background-color:#000!important;background-image:none!important}#ckPayApplePay:hover,#ckPayGPay:hover{box-shadow:0 4px 20px rgba(0,0,0,.3)}
.ck-cta .spinner{display:none;width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#FFF;border-radius:50%;animation:spin .6s linear infinite;margin:0 auto}
.ck-cta.loading .spinner{display:block}
.ck-cta.loading .btn-text{display:none}
#ckPayPix.loading{opacity:.85;display:inline-flex;align-items:center;justify-content:center;gap:8px}
#ckPayPix.loading .btn-text{display:inline-block}
#ckPayPix.loading .spinner{order:-1;margin:0}
@keyframes spin{to{transform:rotate(360deg)}}

.ck-trust{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:20px;flex-wrap:wrap}
.ck-trust-item{display:flex;align-items:center;gap:5px;font-size:11px;color:#8C8C8C}
.ck-trust-item svg{width:14px;height:14px}
.ck-success{display:none;background:#FBF4F8;z-index:1000;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:40px;min-height:100vh}
.ck-success.show{display:flex}
.ck-success-icon{width:80px;height:80px;background:radial-gradient(circle at 50% 40%,#EAF2ED,#DCEBE2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:24px;animation:ckBounce .5s ease}
.ck-success-icon svg{width:40px;height:40px;color:#5A7363}
@keyframes ckBounce{0%{transform:scale(0)}50%{transform:scale(1.15)}100%{transform:scale(1)}}
.ck-success h2{font-size:24px;font-weight:600;margin-bottom:8px}
.ck-success p{font-size:15px;color:#6B6B6B;max-width:400px;line-height:1.6;margin-bottom:24px}
.ck-success a{display:inline-block;padding:14px 40px;background:linear-gradient(220deg,#8D6D5C,#8D6D5C);color:#FFF;border-radius:12px;font-weight:600;font-size:15px}
.ck-error{display:none;background:#FAF5F5;border:1px solid #E8D8D5;border-radius:12px;padding:12px 16px;margin-bottom:16px;font-size:13px;color:#7D5854;align-items:center;gap:8px}
.ck-error.show{display:flex}
.ck-error svg{width:18px;height:18px;flex-shrink:0;color:#8D6D5C}
.ck-footer{text-align:center;padding:20px;font-size:11px;color:#B0A8A5}
.ck-footer a{color:#8D6D5C;font-weight:500}
.ck-order-bump {
  margin-bottom: 24px;
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  display: none;
  position: relative;
  overflow: hidden;
  cursor: pointer;
  user-select: none;
}
.ck-order-bump.active {
  display: block;
  animation: ckFadeIn 0.5s ease;
}
.ck-order-bump.style-classic {
  background: #FCF9FB;
  border: 1.5px dashed #C1909680;
  border-radius: 16px;
  padding: 18px 20px;
}
.ck-order-bump.style-classic:hover {
  border-color: #8D6D5C;
  background: #FFF9FA;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(193, 144, 150, 0.08);
}
.ck-order-bump.style-classic .ck-order-bump-img {
  display: none !important;
}
.ck-order-bump.style-classic .ck-order-bump-checkbox.checked {
  background: #8D6D5C;
  border-color: #8D6D5C;
  box-shadow: 0 2px 8px rgba(204, 168, 154, 0.4);
}
.ck-order-bump.style-classic .ck-order-bump-badge {
  position: absolute;
  top: 0;
  right: 0;
  background: linear-gradient(135deg, #EAD5D7 0%, #D4B2B6 100%);
  color: #7A4950;
  font-size: 9px;
  font-weight: 700;
  padding: 5px 12px;
  border-bottom-left-radius: 14px;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}
.ck-order-bump.style-premium {
  background: #FFFFFF;
  border: 1.2px solid #C3C8CF;
  border-radius: 16px;
  padding: 14px 16px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.01);
  overflow: hidden !important;
  margin-top: 10px;
  margin-bottom: 20px;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.ck-order-bump.style-premium:hover {
  border-color: #CCCCCC;
  background: #FFFFFF;
  transform: translateY(-1px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04);
}
.ck-order-bump.style-premium.selected,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) {
  border-color: #789081 !important;
  background: linear-gradient(135deg, rgba(242, 248, 244, 0.95) 0%, rgba(235, 245, 239, 0.98) 100%) !important;
  box-shadow: 0 10px 25px rgba(120, 144, 129, 0.12) !important;
}
.ck-order-bump.style-premium .ck-order-bump-badge {
  position: absolute;
  top: -1px;
  right: -1px;
  background: #FAF6F4;
  color: #8D6D5C;
  border-left: 1px solid #E6DCD8;
  border-bottom: 1px solid #E6DCD8;
  font-size: 7.5px;
  font-weight: 750;
  padding: 3.5px 12px;
  border-bottom-left-radius: 12px;
  border-top-right-radius: 14px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  z-index: 10;
}
.ck-order-bump.style-premium.selected .ck-order-bump-badge,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-order-bump-badge {
  background: #EAF2ED !important;
  color: #5A7363 !important;
  border-left: 1px solid #D8E6DE !important;
  border-bottom: 1px solid #D8E6DE !important;
  box-shadow: none !important;
}
.ck-order-bump.style-premium .ck-order-bump-header {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  position: relative;
}
/* Redesign do card de bump (07/08, aprovado em preview/checkout-bump-final-planner20262027):
   topo (imagem+info) e botao inferior full-bleed (.ck-bump-final-ctarow) agora sao os 2 unicos
   filhos diretos do header (flex-column acima). .ck-bump-final-top agrupa imagem+info como
   antes era feito direto no header (flex row). */
.ck-order-bump.style-premium .ck-bump-final-top {
  display: flex;
  align-items: center;
  gap: 20px;
}
@media (min-width: 768px) {
  .ck-order-bump.style-premium .ck-bump-final-top { gap: 28px; }
}
/* FIX (07/08, achado Luciano): linha divisoria "andando" so' no card Acesso Anual --
   e' o UNICO bump com o carrossel de #ckBumpCarouselText (nome do produto incluido
   girando a cada 2.5s, 15 nomes/idioma, tamanhos diferentes). Na faixa 768-1024px o
   texto do carrossel quebra linha dentro de 80px (regra abaixo), entao o nome mais
   longo por idioma (ex.: "Caderno de Resumos Essencial"/"Essential Summaries
   Notebook"/"Cuaderno de Resúmenes Esencial", indice 3) vira 2 linhas enquanto os
   outros 14 ficam em 1 -- o bloco .ck-bump-final-top varia de altura a cada troca do
   carrossel (medido ao vivo: 104.28px em 1 linha vs 109.14px em 2 linhas @820px) e
   empurra a linha/botao inferior (.ck-bump-final-ctarow) alguns px pra cima e pra
   baixo em loop. Nos outros bumps o texto e' 100% estatico (1 produto so', mesmo
   tamanho sempre) -- nunca tiveram esse problema, por isso o fix e' escopado so' ao
   Acesso Anual (:has(#checkbox-acesso-anual)), nao tocar nos demais. min-height fixo
   cobre o pior caso medido (2 linhas, 109.14px) + folga; e' so' um PISO -- mobile e
   estados com badge-wrap (que ja' naturalmente passam de 110px) ficam intactos, so'
   os estados de 1 linha (que hoje ficam em ~104px) sao elevados ao mesmo patamar do
   estado de 2 linhas, entao a linha divisoria para de "andar" independente de qual
   produto o carrossel esta mostrando no momento. */
.ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-final-top {
  min-height: 114px;
}
.ck-order-bump.style-premium .ck-order-bump-img {
  display: block;
  order: 0;
  width: 95px;
  height: 95px;
  object-fit: contain;
  border-radius: 0;
  padding: 0;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
  margin-left: 0;
  margin-right: auto;
  transition: all 0.3s ease;
  flex-shrink: 0;
  z-index: 5;
}
/* FIX (07/08, achado Luciano AO VIVO pos-deploy anterior): coluna de texto
   (titulo/preco/descricao) do bump Acesso Anual MUDA de posicao X conforme o
   carrossel de 15 produtos gira -- diferente do drift ESTATICO de 10px ja corrigido
   (margin-left fixo, mobile). Este e' DINAMICO: medido ao vivo via
   getBoundingClientRect ao longo de 2+ ciclos completos das 15 rotacoes, PT/EN/ES,
   mobile/tablet/desktop. Mobile (<=767px) e tablet (768-1024px) ja tinham
   .ck-order-bump-carousel-container travado em width+max-width:80px+flex-shrink:0
   (fix anterior da linha divisoria/tablet overflow) -- drift=0 medido nesses dois.
   DESKTOP (>1024px) nunca teve essa contencao: o container so' tinha
   flex-shrink:0 inline, sem width/max-width propria, e o #ckBumpCarouselText
   mantinha white-space:nowrap inline (herdado do HTML) sem override -- o container
   (flex-direction:column) faz shrink-to-fit no filho mais largo, entao a largura
   do container = largura do texto NAO quebrado do produto atual, que varia por
   nome/idioma. Medido: baseline (nomes curtos, ex. "Planner Digital 2026") = 95px
   (so' a imagem), nomes longos (ex. ES "Cuaderno de Resumenes Esencial") chegam a
   ~141px -- headlineLeft (coluna de texto) driftava 36.36px (PT) / 38.25px (EN) /
   45.97px (ES) dependendo de QUAL das 15 rotacoes estava ativa no momento. Fix:
   mesma receita do mobile/tablet (width+max-width+flex-shrink:0 no container +
   white-space:normal+max-width no texto), mas como regra BASE (sem media query,
   sem !important -- essas ja existiam sem !important pro .ck-order-bump-img
   acima) trava em 95px pra bater com a imagem/desktop atual (nao usa o 80px do
   mobile/tablet, que tem seu proprio !important e continua vencendo por cascata
   dentro das faixas 0-1024px). Cobre >1024px (unico breakpoint sem contencao) sem
   alterar mobile/tablet/vertical (min-height do .ck-bump-final-top intocado). */
.ck-order-bump.style-premium .ck-order-bump-carousel-container {
  width: 95px;
  max-width: 95px;
  flex-shrink: 0;
}
.ck-order-bump.style-premium #ckBumpCarouselText {
  white-space: normal;
  max-width: 95px;
  word-break: break-word;
  text-align: center;
  line-height: 1.15;
}
.ck-order-bump.style-premium:hover .ck-order-bump-img {
  transform: scale(1.05) !important;
}
.ck-order-bump.style-premium.selected .ck-order-bump-img,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-order-bump-img {
  border: none !important;
  box-shadow: none !important;
}
.ck-order-bump.style-premium .ck-order-bump-info {
  order: 2;
  flex: 1;
  padding-right: 10px;
  /* FIX (07/08, achado Luciano): min-width:0 aqui no seletor base (nao so' escopado
     ao card com carrossel/tablet como estava) -- sem isso um item flex tem
     min-width:auto por padrao (cede so' ate' a palavra mais longa da descricao, nao a
     frase toda), o que pode forcar o subtitulo pra 1 linha so' invadindo o espaco
     reservado em vez de quebrar normalmente, em tablet E desktop. Cobre os 2
     breakpoints de uma vez; mobile ja tinha seu proprio tratamento equivalente. */
  min-width: 0;
}
.ck-order-bump.style-premium .ck-order-bump-headline {
  font-size: 14.5px;
  font-weight: 750;
  color: #353935;
  line-height: 1.4;
  margin-bottom: 4px;
  transition: color 0.2s;
}
.bump-mobile-break { display: none; }
@media (max-width: 640px) {
  .bump-mobile-break { display: inline; }
  .bump-sep { display: none; }
}
.ck-order-bump.style-premium .ck-order-bump-subtitle {
  font-size: 11.5px;
  color: #6B6B6B;
  line-height: 1.5;
  /* explicito (nao so' herdado) -- ver comentario grande junto do min-width:0 em
     .ck-order-bump-info acima. Cinto-e-suspensorio pra descricao sempre quebrar
     linha normalmente, nunca ficar forcada em 1 linha so'. */
  white-space: normal;
  word-wrap: break-word;
}
.ck-order-bump.style-premium .ck-order-bump-bullets {
  list-style: none;
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.ck-order-bump.style-premium .ck-order-bump-bullets li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  font-size: 11px;
  color: #7A7A7A;
  line-height: 1.35;
}
.ck-order-bump.style-premium .ck-order-bump-bullets li svg {
  width: 12px;
  height: 12px;
  color: #8D6D5C;
  flex-shrink: 0;
  margin-top: 2px;
  display: block;
}
.ck-order-bump.style-classic .ck-order-bump-bullets {
  display: none !important;
}
.ck-order-bump.style-premium .ck-order-bump-checkbox {
  order: 0;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  border: 2px solid #D5D5D5;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  flex-shrink: 0;
  background: #FFF;
}
.ck-order-bump.style-premium .ck-order-bump-checkbox.checked {
  background: #8D6D5C;
  border-color: #8D6D5C;
  box-shadow: 0 4px 12px rgba(204, 168, 154, 0.5);
  transform: scale(1.08);
}
/* Botao inferior full-bleed (rente as bordas do card, raio so' embaixo, acompanhando o
   raio real do card em cada breakpoint) — mesmos valores validados ao vivo no preview
   aprovado (checkout-bump-final-planner20262027): negativo = -(padding correspondente do
   card + 2px de folga de seguranca), clipada pelo overflow:hidden do card acima. */
.ck-order-bump.style-premium .ck-bump-final-ctarow {
  display: flex;
  align-items: center;
  gap: 10px;
  border-radius: 0 0 16px 16px;
  padding: 14px 16px;
  margin: 12px -18px -16px -18px;
  background: #E3EDFF;
  transition: background 0.2s ease;
}
@media (max-width: 767px) {
  .ck-order-bump.style-premium .ck-bump-final-ctarow {
    border-radius: 0 0 14px 14px;
    margin: 12px -14px -14px -12px;
  }
}
.ck-order-bump.style-premium.selected .ck-bump-final-ctarow,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-bump-final-ctarow {
  background: #DCEBE2 !important;
}
/* checkbox um pouco mais afastado da borda do botao inferior (respiro sutil, nao mexe no
   gap checkbox<->texto que fica por conta do gap:10px do row acima). !important pq o
   checkbox mobile ja tem "margin-left:0 !important" (regra generica) — aqui, escopado ao
   novo ctarow com 1 classe a mais de especificidade, garante o respiro nos 2 lados. */
.ck-order-bump.style-premium .ck-bump-final-ctarow .ck-order-bump-checkbox {
  margin: 3px 0 3px 3px !important;
}
.ck-order-bump.style-premium .ck-bump-final-cta {
  order: 1;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.3;
  color: #2D302D;
  display: flex;
  align-items: center;
  gap: 6px;
}
@media (min-width: 640px) {
  .ck-order-bump.style-premium .ck-bump-final-cta { font-size: 15px; }
}
.ck-order-bump-header {
  display: flex;
  align-items: center;
  gap: 16px;
}
.ck-order-bump-checkbox {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  border: 2px solid #C1909680;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
  background: #FFF;
}
.ck-order-bump-checkbox svg {
  width: 13px;
  height: 13px;
  color: #FFF;
  display: none;
  stroke-width: 3.5;
}
.ck-order-bump-checkbox.checked svg {
  display: block;
}
.ck-discount-badge-anim {
  display: inline-block !important;
  animation: ckBadgePulse 2.2s infinite ease-in-out;
  will-change: transform;
  backface-visibility: hidden;
  transform-origin: center;
}
@keyframes ckBadgePulse {
  0% { transform: translateY(-1px) scale(0.93); }
  50% { transform: translateY(-1px) scale(1); }
  100% { transform: translateY(-1px) scale(0.93); }
}
.ck-order-bump-info {
  flex: 1;
  padding-right: 75px;
}
.ck-order-bump-headline {
  font-size: 14.5px;
  font-weight: 600;
  color: #353935;
  line-height: 1.4;
  margin-bottom: 3px;
}
.ck-order-bump-subtitle {
  font-size: 12px;
  color: #7D807D;
  line-height: 1.5;
}
@media(max-width:860px){
.ck-main{flex-direction:column;gap:16px}
.ck-summary{flex:none;position:static}
.ck-summary-card{padding:30px}
.ck-product-img{width:45%}
.ck-form-card{padding:28px}
}
@media(max-width:767px){
.ck-main{padding:0 12px}
.ck-summary-card,.ck-form-card{padding:22px;border-radius:16px}
.ck-product-img{width:50%}
.ck-tabs{flex-wrap:wrap}
.ck-tab{font-size:12px;padding:10px 6px}
.ck-price-main{font-size:25px}
.ck-order-bump {
  padding: 16px;
}
.ck-order-bump-info {
  padding-right: 50px;
}
.ck-order-bump-headline {
  font-size: 13px;
}
.ck-order-bump-subtitle {
  font-size: 11.5px;
}
.ck-header {
  padding: 20px 0 !important;
}
.ck-header-inner {
  padding: 0 20px !important;
}
.ck-logo-img {
  height: 28px !important;
  width: 28px !important;
}
.ck-logo span {
  font-size: 16px !important;
}
.ck-secure {
  font-size: 9.5px !important;
  padding: 4px 10px !important;
}
.ck-secure svg {
  width: 10px !important;
  height: 10px !important;
}
.ck-offer-banner {
  padding: 6px 12px !important;
  font-size: 11.5px !important;
}
.ck-offer-banner-inner {
  gap: 6px !important;
  flex-wrap: nowrap !important;
}
.ck-offer-banner strong {
  font-size: 12.5px !important;
  padding: 1px 6px !important;
}
}
.ck-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #FAFAFA;
  border: 1px solid #E5E5E5;
  border-radius: 16px;
  padding: 12px 18px;
  margin-bottom: 24px;
}
.ck-step-item {
  display: flex;
  align-items: center;
  gap: 8px;
  opacity: 0.5;
  transition: all 0.3s ease;
  cursor: pointer;
}
.ck-step-item.active {
  opacity: 1;
}
.ck-step-item.completed {
  opacity: 0.9;
}
.ck-step-num {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #E0D8D5;
  color: #6B6B6B;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11.5px;
  font-weight: 600;
  font-family: 'plf07', 'plf07 Fallback: Arial', 'plf07 Fallback: Roboto', 'plf07 Fallback: -apple-system', sans-serif;
  transition: all 0.3s;
}
.ck-step-item.active .ck-step-num {
  background: #C19096;
  color: #FFF;
  box-shadow: 0 3px 8px rgba(193, 144, 150, 0.3);
}
.ck-step-item.completed .ck-step-num {
  background: #4CAF50;
  color: #FFF;
  font-size: 10px;
}
.ck-step-label {
  font-size: 12.5px;
  font-weight: 500;
  color: #6B6B6B;
  transition: all 0.3s;
}
.ck-step-item.active .ck-step-label {
  color: #353935;
  font-weight: 500;
}
.ck-step-divider {
  flex: 1;
  height: 1px;
  background: #EAEAEA;
  margin: 0 10px;
}
.ck-step-lead-summary {
  background: #FAFAFA;
  border: 1px solid #E5E5E5;
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  animation: ckFadeIn 0.35s ease;
}
.ck-summary-lead-info {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.ck-summary-lead-info .check-icon {
  width: 18px;
  height: 18px;
  color: #4CAF50;
  flex-shrink: 0;
}
.ck-summary-lead-info > div {
  min-width: 0;
  overflow: hidden;
}
.ck-summary-lead-info strong {
  font-size: 13.5px;
  color: #353935;
  display: block;
  font-weight: 600;
}
.ck-summary-lead-info span {
  font-size: 11.5px;
  color: #8C8C8C;
  display: block;
  margin-top: 1px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ck-btn-edit-lead {
  border: 1.5px solid #E0E0E0;
  background: none;
  border-radius: 10px;
  padding: 6px 12px;
  font-size: 11.5px;
  font-weight: 500;
  color: #757575;
  cursor: pointer;
  transition: all 0.2s;
  font-family: inherit;
  flex-shrink: 0;
}
.ck-btn-edit-lead:hover {
  background: rgba(0, 0, 0, 0.04);
  border-color: #BDBDBD;
  color: #424242;
}
.ck-step-container {
  animation: ckFadeIn 0.35s ease;
}
.ck-step-title {
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 6px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #353935;
}
.ck-step-title svg {
  width: 18px;
  height: 18px;
  color: #353935;
}
.ck-order-bump.style-premium.selected .ck-order-bump-checkbox,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-order-bump-checkbox.checked {
  background: #789081 !important;
  border-color: #789081 !important;
  box-shadow: 0 3px 10px rgba(120, 144, 129, 0.3) !important;
  transform: scale(1.08);
}
.ck-order-bump.style-premium.selected .ck-order-bump-bullets li svg,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-order-bump-bullets li svg {
  color: #789081 !important;
}
/* TABLET — conter a imagem dos order bumps dentro do card (vão entre o fix de
   mobile ≤767px e o desktop largo). Na faixa 768–1024px o card do formulário fica
   estreito (lado-a-lado: ck-main−summary380−gaps−paddings) e a imagem flex-shrink:0
   de 95px + o info com preço white-space:nowrap (sem min-width:0) vazavam pra fora.
   Espelha EXATAMENTE a contenção de imagem do mobile: carrossel/imagem→80px,
   container flex-shrink:0, info do carrossel min-width:0. Sem tocar fontes/padding
   (tipografia do tablet inalterada). Mobile (≤767) e desktop (>1024) intactos.
   FIX (07/08, achado Luciano): o min-width:0 abaixo estava escopado so' ao card com
   carrossel (:has(.ck-order-bump-carousel-container), so' o Acesso Anual) -- os
   OUTROS bumps (imagem <img> simples, sem carrossel) nunca recebiam essa contencao.
   Generalizado pra TODOS os bumps: sem min-width:0, um item flex (.ck-order-bump-info)
   tem min-width:auto por padrao, que so' cede ate' a palavra mais longa do subtitulo
   (nao a frase toda) -- em copy mais longa isso pode empurrar o item flex a nao
   encolher o suficiente e forcar a descricao pra 1 linha so', invadindo o espaco
   reservado (mesmo padrao de bug ja fechado no headline mobile, aqui pro subtitulo
   em tablet/desktop). white-space:normal explicito no subtitle e' cinto-e-suspensorio
   -- ja' era o valor padrao (nenhuma regra de producao fazia nowrap nele), mas fica
   explicito pra nunca mais depender de heranca implicita. min-width:0 e
   white-space:normal do subtitulo foram pro seletor BASE (nao mais so' aqui dentro
   do @media), cobrindo tablet 768-1024 E desktop >1024 num lugar so' -- ver
   .ck-order-bump.style-premium .ck-order-bump-info / -subtitle acima, perto da
   declaracao original de cada um. */
@media (min-width: 768px) and (max-width: 1024px) {
  .ck-order-bump.style-premium .ck-order-bump-carousel-container {
    max-width: 80px !important;
    width: 80px !important;
    flex-shrink: 0 !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-carousel {
    width: 80px !important;
    height: 80px !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-img {
    width: 80px !important;
    height: 80px !important;
  }
  /* (a) Legenda do carrossel (#ckBumpCarouselText) contida na largura da imagem:
     quebra linha (vence o white-space:nowrap inline) e não ultrapassa 80px. Mesmo
     tratamento do mobile (≤767px). */
  .ck-order-bump.style-premium #ckBumpCarouselText {
    white-space: normal !important;
    max-width: 80px !important;
    word-break: break-word !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }
  /* (b) Badges (R$ … OFF + +20 PRODUTOS) descem p/ a linha de baixo do preço em vez
     de espremer na mesma linha (o span do preço é white-space:nowrap inline). Mesmo
     tratamento do mobile: o grupo .ck-bump-badges vira block + permite quebrar. */
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-badges {
    display: block !important;
    margin-top: 4px !important;
    white-space: normal !important;
  }
}
@media(max-width:767px){
  .ck-main{padding:0 12px}
  .ck-summary {
    width: 100% !important;
    align-self: stretch !important;
  }
  .ck-summary-card {
    width: 100% !important;
    align-self: stretch !important;
    border: 1.2px solid #EAEAEA !important;
    border-radius: 16px !important;
    padding: 0 !important;
    overflow: hidden !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.01) !important;
    margin-bottom: 14px !important;
  }
  .ck-summary-mobile-toggle {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    padding: 22px 28px !important;
    cursor: pointer;
    background: inherit !important;
    user-select: none;
    border-bottom: none;
    transition: background 0.2s;
    width: 100% !important;
  }
  .ck-summary-mobile-toggle:hover {
    filter: brightness(.99);
  }
  .ck-summary-card.expanded .ck-summary-mobile-toggle {
    border-bottom: 1px solid #EAEAEA !important;
  }
  .ck-summary-mobile-total {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700;
    font-size: 13.5px;
    color: #8D6D5C;
  }
  .ck-summary-content {
    display: none !important;
    padding: 18px 32px 32px !important;
  }
  .ck-summary-card.expanded .ck-summary-content {
    display: block !important;
  }
  .ck-form-card{padding:28px 28px;border-radius:16px}
  .ck-product-img{width:50%;margin-bottom:14px}
  .ck-tabs {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    background: #F5F1ED !important;
    padding: 6px !important;
    border-radius: 14px !important;
  }
  .ck-tab {
    padding: 10px 8px !important;
    font-size: 11.5px !important;
    border-radius: 10px !important;
  }
  .ck-price-main{font-size:25px}
  .ck-discount-alert {
    padding: 10px 12px !important;
    font-size: 11px !important;
    gap: 6px !important;
  }
  .ck-discount-alert svg {
    width: 15px !important;
    height: 15px !important;
  }
  .ck-stepper {
    padding: 10px 12px;
    margin-bottom: 18px;
  }
  .ck-step-label {
    display: block !important;
    font-size: 11px !important;
  }
  .ck-step-item {
    gap: 6px !important;
  }
  .ck-order-bump.style-premium {
    padding: 12px 12px 12px 10px !important;
    border-radius: 14px !important;
    margin-top: 8px !important;
    margin-bottom: 20px !important;
    /* Redesign 07/08 (aprovado em preview): overflow precisa ser hidden (nao mais
       visible) pro botao full-bleed (.ck-bump-final-ctarow) clipar certinho nos
       cantos arredondados do card tambem no mobile. */
    overflow: hidden !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-header {
    /* Redesign 07/08: gap fica 0 aqui (header agora e' flex-column com 2 filhos:
       .ck-bump-final-top + .ck-bump-final-ctarow) -- o respiro imagem<->texto que
       antes vivia aqui (era 20px) foi pro gap do .ck-bump-final-top (16px mobile,
       mantido); o respiro antes do botao inferior vem do margin-top:12px do
       proprio .ck-bump-final-ctarow. */
    gap: 0 !important;
  }
  .ck-order-bump.style-premium .ck-bump-final-top {
    gap: 20px !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-img {
    width: 80px !important;
    height: 80px !important;
    border-radius: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    transform: none !important;
  }
  .ck-order-bump.style-premium:hover .ck-order-bump-img {
    transform: scale(1.05) !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-info {
    padding-right: 0 !important;
    min-width: 0 !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-headline {
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    margin-bottom: 3px !important;
    /* FIX (07/08, achado Luciano): a regra "EXPERIMENTO preview (nao mexer no
       checkout real)" que forcava 1a linha reta (white-space:nowrap), mesmo
       sobrepondo a imagem, vazou pro CSS de producao (v16.css) por engano --
       nunca deveria ter saido do preview. Revertido pro comportamento padrao
       (quebra de linha normal), que ja e' o mesmo usado em tablet/desktop
       (nenhuma media query sobrescreve white-space la, entao herdam o normal
       da regra base .ck-order-bump-headline). Nome do produto agora quebra
       linha igual em todos os breakpoints, sem sobrepor a imagem. */
  }
  /* EXPERIMENTO: bump "Acesso Anual" tem um <br class="bump-mobile-break"> escrito
     no proprio HTML do titulo, separando "Melhor Escolha:" do nome do produto so
     no mobile -- isso ignora o white-space:nowrap (br sempre quebra). Neutralizado
     aqui pra esse bump tambem virar 1 linha so, igual aos outros 4. */
  .ck-order-bump.style-premium .bump-mobile-break { display: none !important; }
  .ck-order-bump.style-premium .bump-sep { display: inline !important; }
  /* REVERTIDO a pedido do Luciano (02/08): a imagem-carrossel do Acesso Anual
     volta a centralizar do jeito original (sem transform), como era antes de
     qualquer ajuste de posicao vertical. O balanceamento de gap acima/abaixo
     que motivou o transform original nao era prioridade -- so o titulo em 1
     linha (nowrap, acima) e mantido. */
  .ck-order-bump.style-premium .ck-order-bump-subtitle {
    font-size: 10.5px !important;
    line-height: 1.35 !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-bullets {
    margin-top: 6px !important;
    gap: 4px !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-bullets li {
    font-size: 9.5px !important;
    line-height: 1.3 !important;
    gap: 4px !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-bullets li svg {
    width: 10px !important;
    height: 10px !important;
    margin-top: 1px !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-checkbox {
    width: 20px !important;
    height: 20px !important;
    border-width: 1.5px !important;
    margin-left: 0 !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-checkbox svg {
    width: 10px !important;
    height: 10px !important;
    stroke-width: 4 !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-badge {
    font-size: 7px !important;
    padding: 3px 10px !important;
    border-bottom-left-radius: 10px !important;
    border-top-right-radius: 12px !important;
    letter-spacing: 0.8px !important;
  }
  .ck-order-bump.style-premium:has(.ck-order-bump-carousel-container) .ck-order-bump-info {
    min-width: 0 !important;
  }
  /* FIX (07/08, achado Luciano): margin-left:10px aqui (desde o redesign original,
     9c2cb02) empurrava SO' o container do carrossel (Acesso Anual) 10px pra direita
     dentro do .ck-bump-final-top (flex row) -- os outros 2 bumps (imagem <img>
     simples) ficam com margin:0 (regra .ck-order-bump-img duas linhas abaixo do
     media query mobile). Como margin-left de um item flex desloca tambem todos os
     itens seguintes na mesma linha, isso empurrava .ck-order-bump-info (titulo/
     preco/descricao) 10px pra direita SO' no card Acesso Anual -- medido ao vivo
     (getBoundingClientRect) 390px: headlineLeft 147px (Aesthetics/Caderno) vs 157px
     (Acesso Anual), drift exato de 10px, 100% reprodutivel em PT/EN/ES. Tablet
     (768-1024px) e desktop nunca tiveram esse problema (nenhum media query aplica
     margin-left ao container fora do mobile) -- confirmado por medicao real, drift=0
     nesses breakpoints antes e depois. Zerado aqui pra alinhar com os outros bumps;
     nao havia comentario/justificativa pro valor original, entao nao ha efeito
     colateral conhecido de remove-lo. */
  .ck-order-bump.style-premium .ck-order-bump-carousel-container {
    max-width: 80px !important;
    width: 80px !important;
    flex-shrink: 0 !important;
    margin-left: 0 !important;
  }
  .ck-order-bump.style-premium .ck-order-bump-carousel {
    width: 80px !important;
    height: 80px !important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-order-bump-headline {
    font-size: 10.5px !important;
  }
  /* Gold blue-green: the Annual Access card follows the same image and text
     proportions as every other premium bump. The title has an intentional,
     stable two-line break throughout mobile instead of shrinking its font or
     image to force a single line. Scoped to the annual card only. */
  @media (max-width: 430px) {
    .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-order-bump-headline {
      white-space: normal !important;
    }
    .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-annual-title-line {
      font-family:'plf06',Georgia,serif!important;
      font-style:italic!important;
      white-space:nowrap!important;
    }
    .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .bump-mobile-break {
      display:block!important;
    }
  }
  .ck-order-bump.style-premium #ckBumpCarouselText {
    font-size: 6.5px !important;
    white-space: normal !important;
    max-width: 80px !important;
    line-height: 1.15 !important;
    text-align: center !important;
    display: block !important;
    word-break: break-word !important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-badges {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 4px !important;
    margin-top: 4px !important;
  }
  /* EXPERIMENTO: 1o badge tinha margin-left:4px inline (sobrava de quando ficava
     do LADO do preco, na mesma linha) -- agora que os badges quebram pra linha
     propria (display:block acima), esse 4px virou um recuo indevido em relacao
     ao titulo/preco/descricao, que comecam todos flush-left. Zerado so o 1o. */
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-badges .ck-discount-badge-anim:first-child {
    margin-left: 0 !important;
  }
  /* Redesign 07/08 (aprovado em preview): wrapper vira flex-row (gap:4px acima
     substitui os margin-left individuais) -- evita a ambiguidade de quebra de
     texto que fazia o badge "OFF" quebrar em 2 linhas em ES ("+10 PRODUCTOS",
     mais largo que PT "+20 PRODUTOS"/EN "+10 PRODUCTS"). flex-shrink:0 +
     white-space:nowrap em AMBOS os badges garante que nenhum dos 2 quebra texto
     internamente, mesmo se precisar extravasar alguns px (card com overflow
     visivel o bastante, testado nos 3 idiomas). */
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-badges .ck-discount-badge-anim {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
  }
  .ck-order-bump.style-premium .ck-bump-extra-badge {
    display: inline-block !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    width: auto !important;
  }
  .ck-step-title {
    font-size: 13.5px !important;
  }
  .ck-step-title svg {
    width: 16px !important;
    height: 16px !important;
  }
  html, body {
    overflow-x: hidden !important;
    max-width: 100% !important;
  }
}
.ck-price-summary-box {
  margin-bottom: 20px;
  width: 100%;
  padding: 6px 0;
  background-color: transparent;
  border: none;
  border-radius: 0;
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: 10px;
  box-sizing: border-box;
  box-shadow: none;
  font-family: 'plf07', 'plf07 Fallback: Arial', 'plf07 Fallback: Roboto', 'plf07 Fallback: -apple-system', sans-serif;
}
.ck-summary-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 11px;
  line-height: 1;
}
.ck-summary-row.original {
  color: #B0A8A5;
  font-size: 10.5px;
}
.ck-summary-row.offer {
  color: #555A57;
  font-weight: 500;
}
.ck-summary-row.coupon {
  color: #555A57;
  font-weight: 500;
  display: none;
}
.ck-summary-row.pix-discount {
  color: #8C8C8C;
  font-weight: 500;
  transition: all 0.3s ease;
}
.ck-summary-row.pix-discount.active {
  color: #617A6B;
  font-weight: 600;
}
.ck-summary-row.includes {
  color: #8C8C8C;
  font-size: 10.5px;
  align-items: flex-start;
  gap: 12px;
}
.ck-summary-row.includes #ckSumIncludesLabel {
  white-space: nowrap;
  flex-shrink: 0;
}
.ck-summary-row.includes #ckSumIncludes {
  text-align: right;
  line-height: 1.35;
  font-weight: 500;
  color: #6E6864;
}
.ck-summary-divider {
  border-top: 1px solid #EAE3DE;
  margin: 5px 0 2px 0;
}
.ck-summary-total-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
.ck-summary-total-label {
  font-size: 11.5px;
  font-weight: 600;
  color: #353935;
}
.ck-summary-total-wrapper {
  text-align: right;
  display: flex;
  align-items: center;
  gap: 6px;
}
.ck-summary-total-price {
  font-size: 17px;
  font-weight: 400;
  color: #222222;
}
.ck-summary-pix-badge {
  font-size: 8.5px;
  font-weight: 600;
  color: #617A6B;
  background: rgba(97, 122, 107, 0.08);
  border: 1px solid rgba(97, 122, 107, 0.2);
  padding: 2px 5px;
  border-radius: 5px;
  text-transform: uppercase;
  display: none;
}
.ck-summary-discount-badge {
  font-size: 9.5px;
  font-weight: 500;
  color: #5A7363;
  background: #EAF2ED;
  border: 1px solid #D8E6DE;
  padding: 2px 5px;
  border-radius: 4px;
  letter-spacing: 0.05em;
  display: inline-block;
}
.ck-summary-savings-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  font-size: 9.5px;
  color: #617A6B;
  font-weight: 600;
  margin-top: 2px;
  line-height: 1;
}
.ck-summary-card-details {
  text-align: right;
  font-size: 9.5px;
  color: #B0A8A5;
  border-top: 1px dashed #EAE3DE;
  padding-top: 7px;
  margin-top: 4px;
}
body, input, select, textarea, button,
.ck-step-title,
.ck-summary-header h3,
.ck-order-bump-title,
.ck-order-bump-headline,
.ck-step-lead-summary h4,
.ck-field label,
.ck-tab,
.ck-order-bump-badge,
.ck-badge,
.ck-step-lead-summary .summary-label,
.timer-label,
.timer-clock,
.ck-offer-banner strong {
  font-family: 'plf02 Unica', 'plf07', sans-serif !important;
  letter-spacing: -0.012em !important;
}
.ck-step-title {
  font-weight: 500 !important;
  color: #353935 !important;
}
.ck-step-title strong {
  font-weight: 500 !important;
}
.ck-step-lead-summary strong {
  font-weight: 500 !important;
}
.ck-summary-header h3,
.ck-step-lead-summary h4,
.ck-product-name {
  font-weight: 500 !important;
  color: #353935 !important;
}
.ck-order-bump-headline {
  font-weight: 500 !important;
}
.ck-field label {
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 0.03em !important;
  text-transform: uppercase !important;
  color: #6B6B6B !important;
}
.ck-tab {
  font-weight: 500 !important;
}
.ck-order-bump-badge,
.ck-badge {
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.ck-logo span {
  font-family: 'Georgia', serif !important;
  font-weight: 500 !important;
  font-style: normal !important;
  color: #8D6D5C !important;
  letter-spacing: 0.04em !important;
}
.ck-price-main,
.ck-price-cents,
.price-val,
.ck-order-bump-price,
.ck-summary-row .price-val {
  font-family: 'JetBrains Mono', monospace !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em !important;
}
#mp-api-form {
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif;
}
.mpa-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: none;
}
.mpa-title {
  font-size: 15px;
  font-weight: 700;
  color: #4A3728;
}
.mpa-brands {
  display: flex;
  gap: 6px;
  align-items: center;
}
.mpa-brand {
  background: #FFFFFF;
  border-radius: 5px;
  padding: 2px 5px;
  box-shadow: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  min-width: 28px;
}
.mpa-brand svg {
  height: 18px;
  width: auto;
  display: block;
}
.mpa-brand-amex {
  background: #1A84D4;
  overflow: hidden;
}
.mpa-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #8D6D5C;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.mpa-field {
  margin-bottom: 14px;
}
.mpa-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.mpa-wrap {
  background: #FFFFFF;
  border: 1.5px solid #E0D8D3;
  border-radius: 10px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  min-height: 46px;
  transition: border-color .2s, box-shadow .2s;
}
.mpa-wrap:focus-within {
  border-color: #8D6D5C;
  box-shadow: 0 0 0 3px rgba(141,109,92,0.10);
}
.mpa-wrap.has-error {
  border-color: #C07070;
}
.mpa-wrap.has-error:focus-within {
  box-shadow: 0 0 0 3px rgba(192,112,112,0.12);
}
.mpa-input {
  border: none;
  outline: none;
  background: transparent;
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif;
  font-size: 14px;
  color: #4A3728;
  width: 100%;
  padding: 12px 0;
  line-height: 1.4;
}
.mpa-input::placeholder { color: #B8A89E; }
.mpa-select {
  appearance: none;
  cursor: pointer;
  flex: 1;
}
.mpa-select-arrow {
  color: #8D6D5C;
  font-size: 12px;
  pointer-events: none;
  flex-shrink: 0;
  margin-left: 4px;
}
.mpa-doc-type {
  font-size: 13px;
  color: #8D6D5C;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
  letter-spacing: 0.03em;
}
.mpa-doc-sep {
  color: #D0C8C3;
  margin: 0 10px;
  flex-shrink: 0;
  font-size: 16px;
}
.mpa-doc-input { flex: 1; }
.mpa-err {
  display: none;
  font-size: 11px;
  font-weight: 500;
  color: #A05252;
  margin-top: 4px;
  padding-left: 2px;
}
.mpa-err.show { display: block; }
  .imageye-selected {
    outline: 2px solid black !important;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
  }
#mp-api-form { font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif !important; }
#stripe-card-form { font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif !important; }
#stripe-card-form .mpa-label { color: #555555 !important; }
#mp-card-form { min-height: 0 !important; }
#mp-api-form .mpa-header {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  margin-bottom: 18px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #EDE7E2 !important;
}
#mp-api-form .mpa-brands {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}
#mp-api-form .mpa-header,
#mp-api-form .mpa-brands {
  background: transparent !important;
  background-color: transparent !important;
}
#mp-api-form .mpa-header {
  border-bottom: none !important;
}
#mp-api-form .mpa-brand {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border-radius: 5px !important;
  padding: 2px 5px !important;
  box-shadow: none !important;
  height: 22px !important;
  min-width: 28px !important;
  overflow: hidden !important;
}
#mp-api-form .mpa-brand-amex {
  background: #1A84D4 !important;
  background-color: #1A84D4 !important;
  padding: 1px 4px !important;
}
#mp-api-form .mpa-brand svg {
  display: block !important;
  height: 14px !important;
  width: auto !important;
}
#mp-api-form .mpa-label {
  display: block !important;
  visibility: visible !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  color: #8D6D5C !important;
  text-transform: uppercase !important;
  margin-bottom: 6px !important;
  background: transparent !important;
}
#mp-api-form .mpa-field {
  margin-bottom: 14px !important;
  background: transparent !important;
}
#mp-api-form .mpa-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 12px !important;
}
#mp-api-form .mpa-wrap {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
  border: 1.5px solid #E0D8D3 !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  min-height: 46px !important;
  box-shadow: none !important;
  transition: border-color .2s !important;
}
#mp-api-form .mpa-wrap:focus-within {
  border-color: #8D6D5C !important;
  box-shadow: none !important;
}
#mp-api-form .mpa-wrap.mpa-invalid {
  border-color: #C07070 !important;
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}
#mp-api-form .mpa-wrap,
#mp-api-form .mpa-wrap:focus-within,
#mp-api-form .mpa-wrap.mpa-invalid,
#mp-api-form .mpa-wrap.mpa-invalid:focus-within {
  background: #FFFFFF !important;
  background-color: #FFFFFF !important;
}
#mp-api-form .mpa-input {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif !important;
  font-size: 14px !important;
  color: #4A3728 !important;
  width: 100% !important;
  padding: 12px 0 !important;
  -webkit-appearance: none !important;
  appearance: none !important;
}
#mp-api-form .mpa-input:focus {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
#mp-api-form .mpa-input::placeholder { color: #B8A89E !important; }
#mp-api-form .mpa-select {
  -webkit-appearance: none !important;
  appearance: none !important;
  cursor: pointer !important;
  flex: 1 !important;
}
#mp-api-form .mpa-select-arrow {
  color: #8D6D5C !important;
  font-size: 12px !important;
  pointer-events: none !important;
  flex-shrink: 0 !important;
}
#mp-api-form .mpa-doc-type {
  font-size: 13px !important;
  color: #8D6D5C !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}
#mp-api-form .mpa-doc-sep {
  color: #D0C8C3 !important;
  margin: 0 10px !important;
  flex-shrink: 0 !important;
  font-size: 16px !important;
}
#mp-api-form .mpa-doc-input { flex: 1 !important; }
#mp-api-form .mpa-err {
  display: none !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #A05252 !important;
  margin-top: 4px !important;
  padding-left: 2px !important;
  background: transparent !important;
}
#mp-api-form .mpa-err.show {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
#mp-api-form #mpa-submit,
#mp-card-form #mpa-submit {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  margin-top: 16px !important;
  position: static !important;
  pointer-events: auto !important;
}
#mp-api-form .mpa-input:-webkit-autofill,
#mp-api-form .mpa-input:-webkit-autofill:hover,
#mp-api-form .mpa-input:-webkit-autofill:focus,
#mp-api-form .mpa-input:-webkit-autofill:active {
  -webkit-box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  box-shadow: 0 0 0 1000px #FFFFFF inset !important;
  -webkit-text-fill-color: #4A3728 !important;
  caret-color: #4A3728 !important;
  transition: background-color 9999s ease 0s !important;
}
#mp-api-form .mpa-wrap:focus-within {
  border-color: #8D6D5C !important;
  background: #FFFFFF !important;
  box-shadow: none !important;
  outline: none !important;
}
#mp-api-form .mpa-input:focus,
#mp-api-form .mpa-input:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}
.mpa-chk {
  flex-shrink: 0;
  margin-left: 8px;
  display: none;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  min-width: 20px;
  border-radius: 50%;
  background: #EAF2ED;
  border: 1px solid #C5D9CC;
  color: #3E5C4A;
  box-shadow: 0 2px 6px rgba(62,92,74,0.12);
  pointer-events: none;
  transition: all 0.2s ease;
}
.mpa-chk.show {
  display: flex !important;
}
.mpa-chk svg {
  width: 11px !important;
  height: 11px !important;
  stroke: currentColor !important;
  stroke-width: 4.5 !important;
  display: block !important;
  fill: none !important;
}
.mpa-cs-wrap {
  cursor: pointer;
  position: relative;
  user-select: none;
}
.mpa-cs-display {
  flex: 1;
  font-size: 14px;
  color: #4A3728;
  cursor: pointer;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 12px 0;
}
.mpa-cs-arrow-icon {
  flex-shrink: 0;
  margin-left: 8px;
  color: #8D6D5C;
  transition: transform 0.2s;
}
.mpa-cs-arrow-icon.open { transform: rotate(180deg); }
.mpa-cs-dropdown {
  position: absolute;
  bottom: calc(100% + 4px);
  top: auto;
  left: -12px;
  right: -12px;
  background: #FFFFFF;
  border: 1.5px solid #E0D8D3;
  border-radius: 12px;
  box-shadow: 0 8px 32px rgba(141,109,92,0.18);
  z-index: 200;
  max-height: 220px;
  overflow-y: auto;
  display: none;
  padding: 6px 0;
}
.mpa-cs-dropdown.open { display: block; }
.mpa-cs-option {
  padding: 11px 16px;
  font-size: 13px;
  color: #4A3728;
  cursor: pointer;
  font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif;
  border-bottom: 1px solid #F2EDE9;
  transition: background 0.15s;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.mpa-cs-option:last-child { border-bottom: none; }
.mpa-cs-option:hover { background: #F7F3F0; }
.mpa-cs-option.selected {
  color: #8D6D5C;
  font-weight: 700;
  background: #FBF8F6;
}
.mpa-cs-option .mpa-cs-check {
  display: none;
  color: #8D6D5C;
}
.mpa-cs-option.selected .mpa-cs-check { display: block; }
.mpa-cs-dropdown::-webkit-scrollbar { width: 4px; }
.mpa-cs-dropdown::-webkit-scrollbar-track { background: transparent; }
.mpa-cs-dropdown::-webkit-scrollbar-thumb { background: #D5CBC4; border-radius: 4px; }
#mp-api-form .mpa-label { color: #555555 !important; }
#mp-api-form .mpa-input { color: #1A1A1A !important; }
#mp-api-form .mpa-input::placeholder { color: #BBBBBB !important; }
#mp-api-form .mpa-doc-type { color: #555555 !important; }
#mp-api-form .mpa-doc-sep { color: #CCCCCC !important; }
#mp-api-form .mpa-cs-display { color: #1A1A1A !important; }
#mp-api-form .mpa-label {
  color: #555555 !important;
  font-size: 10px !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}
#mp-api-form #mpa-submit { font-weight: 500 !important; }
#mp-card-form #mpa-submit { font-weight: 500 !important; }
#mp-api-form,
#mp-api-form .mpa-header,
#mp-api-form .mpa-brands {
  background: #F7F3F0 !important;
  background-color: #F7F3F0 !important;
}
@keyframes mpaCheckPop {
  0%   { transform: scale(0.6); opacity: 0; }
  50%  { transform: scale(1.15); opacity: 0.8; }
  100% { transform: scale(1); opacity: 1; }
}
.mpa-chk.show {
  display: flex !important;
  animation: mpaCheckPop 0.3s cubic-bezier(0.175,0.885,0.32,1.275) forwards !important;
}
.mpa-chk {
  position: static !important;
  transform: none !important;
}
.ck-pay-error-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  background: rgba(30, 20, 15, 0.55);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  opacity: 0;
  transition: opacity .3s ease;
  pointer-events: none;
}
.ck-pay-error-overlay.show {
  opacity: 1;
  pointer-events: auto;
}
.ck-pay-error-modal {
  background: #FDFBF9;
  border-radius: 20px;
  padding: 32px 28px 28px;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 24px 80px rgba(0,0,0,0.18);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  transform: scale(0.88) translateY(16px);
  transition: transform .35s cubic-bezier(.16,1,.3,1);
  position: relative;
  font-family: 'plf08', 'plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07', sans-serif;
}
.ck-pay-error-overlay.show .ck-pay-error-modal {
  transform: scale(1) translateY(0);
}
.ck-pay-error-icon-wrap {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #FAF0EF;
  border: 2px solid #F0D8D5;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
  animation: ckErrPulse 2.5s ease-in-out infinite;
}
@keyframes ckErrPulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(160,82,82,0.2); }
  50%       { box-shadow: 0 0 0 10px rgba(160,82,82,0); }
}
.ck-pay-error-icon-wrap svg {
  width: 28px;
  height: 28px;
  color: #A05252;
}
.ck-pay-error-title {
  font-size: 17px;
  font-weight: 700;
  color: #2C1F1A;
  text-align: center;
  margin-bottom: 8px;
  line-height: 1.3;
}
.ck-pay-error-msg {
  font-size: 14px;
  color: #6B5B52;
  text-align: center;
  line-height: 1.6;
  margin-bottom: 6px;
}
.ck-pay-error-hint {
  font-size: 12px;
  color: #9E8E85;
  text-align: center;
  line-height: 1.5;
  margin-bottom: 24px;
  padding: 10px 14px;
  background: #F7F3F0;
  border-radius: 10px;
  width: 100%;
  margin-top: 10px;
}
.ck-pay-error-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
}
.ck-pay-error-btn-try {
  width: 100%;
  padding: 13px 20px;
  background: linear-gradient(135deg, #8D6D5C 0%, #A07868 100%);
  color: #FFF;
  border: none;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 600;
  font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif;
  cursor: pointer;
  transition: opacity .2s, transform .15s;
}
.ck-pay-error-btn-try:hover { opacity: 0.9; transform: translateY(-1px); }
.ck-pay-error-btn-pix {
  width: 100%;
  padding: 11px 20px;
  background: transparent;
  color: #8D6D5C;
  border: 1.5px solid #D5C5BE;
  border-radius: 12px;
  font-size: 13px;
  font-weight: 600;
  font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif;
  cursor: pointer;
  transition: background .2s, border-color .2s;
}
.ck-pay-error-btn-pix:hover { background: #F7F3F0; border-color: #C0AEA6; }
.ck-pay-error-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  cursor: pointer;
  color: #B0A09A;
  padding: 4px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .2s, background .2s;
}
.ck-pay-error-close:hover { color: #7D5854; background: #F0EAE7; }
.ck-pay-error-close svg { width: 18px; height: 18px; }
.mpa-logos-row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #EDE7E2;
  background: transparent;
}
.mpa-logo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border-radius: 5px;
  border: 1px solid #E8E0DB;
  padding: 4px 8px;
  height: 30px;
  box-shadow: none;
}
.mpa-logo-badge svg {
  height: 18px;
  width: auto;
  max-width: 52px;
  display: block;
}
.mpa-logo-amex {
  background: #1A84D4;
  border-color: #1A84D4;
}
.mpa-logo-amex svg {
  height: 16px;
}
.mpa-logo-elo {
  background: #FFD100 !important;
  border-color: #E8C800 !important;
  padding: 2px 5px !important;
}
.mpa-logo-elo svg { height: 20px !important; width: auto !important; max-width: 56px !important; }
.mpa-logo-amex svg { height: 20px !important; width: auto !important; max-width: 66px !important; }
.mpa-logo-badge svg { height: 18px !important; width: auto !important; max-width: 56px !important; }
.mpa-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid #EDE7E2;
}
.mpa-card-title {
  font-family: 'plf08','plf08 Fallback: Arial', 'plf08 Fallback: Roboto', 'plf08 Fallback: -apple-system', 'plf07',sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: #8D6D5C;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}
.mpa-card-header .mpa-logos-row {
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.mpa-logo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  border-radius: 5px;
  border: 1px solid #E8E0DB;
  padding: 3px 7px;
  height: 28px;
  box-shadow: none;
}
.mpa-logo-badge svg {
  height: 16px !important;
  width: auto !important;
  max-width: 54px !important;
  display: block;
}
.mpa-logo-elo {
  background: #FFD100 !important;
  border-color: #E8C800 !important;
  padding: 3px 6px !important;
}
.mpa-logo-elo svg { height: 18px !important; max-width: 58px !important; }
.mpa-logo-amex {
  background: #26A6D1 !important;
  border-color: #26A6D1 !important;
}
.mpa-logo-amex svg { height: 18px !important; max-width: 62px !important; }
.mpa-logo-img {
  display: block;
  height: 18px !important;
  width: auto !important;
  max-width: 54px !important;
  object-fit: contain;
}
.mpa-logo-elo {
  background: transparent !important;
  border-color: #E8E0DB !important;
  padding: 3px 6px !important;
}
.mpa-logo-elo .mpa-logo-img { height: 22px !important; max-width: 60px !important; }
.mpa-logo-amex {
  background: transparent !important;
  border-color: #E8E0DB !important;
  padding: 3px 6px !important;
}
.mpa-logo-amex .mpa-logo-img { height: 22px !important; max-width: 62px !important; }
.mpa-logos-row {
  justify-content: flex-end !important;
  gap: 8px !important;
}
.mpa-card-header {
  justify-content: space-between !important;
  align-items: center !important;
}
.mpa-logo-badge {
  height: 38px !important;
  padding: 5px 10px !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.mpa-logo-img {
  display: block !important;
  height: 26px !important;
  width: auto !important;
  max-width: 72px !important;
  object-fit: contain !important;
}
.mpa-logo-elo {
  background: #FFFFFF !important;
  border-color: #E0D8D3 !important;
  padding: 5px 10px !important;
}
.mpa-logo-elo .mpa-logo-img {
  height: 26px !important;
  max-width: 68px !important;
}
.mpa-logo-amex {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  height: auto !important;
}
.mpa-logo-amex .mpa-logo-img {
  height: 38px !important;
  max-width: 80px !important;
  border-radius: 5px;
}
.mpa-logo-badge {
  height: 38px !important;
  padding: 0 !important;
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
  border-radius: 6px !important;
}
.mpa-logo-img {
  height: 38px !important;
  width: auto !important;
  max-width: 80px !important;
  object-fit: contain !important;
  border-radius: 6px;
  display: block !important;
}
.mpa-logo-badge:not(.mpa-logo-elo):not(.mpa-logo-amex) {
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  padding: 5px 9px !important;
}
.mpa-logo-badge:not(.mpa-logo-elo):not(.mpa-logo-amex) .mpa-logo-img {
  height: 24px !important;
}
.mpa-logo-elo {
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  padding: 5px 9px !important;
}
.mpa-logo-elo .mpa-logo-img {
  height: 24px !important;
}
.mpa-logo-amex {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
}
.mpa-logo-amex .mpa-logo-img {
  height: 38px !important;
  border-radius: 6px;
}
.mpa-logos-row {
  margin-left: auto !important;
  justify-content: flex-end !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.mpa-logo-badge {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 32px !important;
  padding: 5px 9px !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
.mpa-logo-img {
  display: block !important;
  height: 20px !important;
  width: auto !important;
  max-width: 64px !important;
  object-fit: contain !important;
}
.mpa-logo-elo {
  background: #FFFFFF !important;
  border-color: #E0D8D3 !important;
}
.mpa-logo-amex {
  background: transparent !important;
  border-color: transparent !important;
  padding: 0 !important;
  height: 32px !important;
}
.mpa-logo-amex .mpa-logo-img {
  height: 32px !important;
  max-width: 80px !important;
  border-radius: 5px;
}
#mp-api-form .mpa-logos-row {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
#mp-api-form .mpa-logo-badge {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 36px !important;
  min-width: 0 !important;
  padding: 5px 10px !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}
#mp-api-form .mpa-logo-badge .mpa-logo-img {
  display: block !important;
  height: 24px !important;
  width: auto !important;
  max-width: 70px !important;
  object-fit: contain !important;
}
#mp-api-form .mpa-logo-elo {
  padding: 0 !important;
  background: transparent !important;
  border-color: transparent !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}
#mp-api-form .mpa-logo-elo .mpa-logo-img {
  height: 36px !important;
  max-width: 80px !important;
  border-radius: 6px !important;
}
#mp-api-form .mpa-logo-amex {
  background: transparent !important;
  border-color: transparent !important;
  padding: 0 !important;
  height: 36px !important;
}
#mp-api-form .mpa-logo-amex .mpa-logo-img {
  height: 36px !important;
  max-width: 90px !important;
  border-radius: 6px !important;
}
#mp-api-form .mpa-logos-row {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: auto !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#mp-api-form .mpa-logo-badge {
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 10px !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  box-sizing: content-box !important;
}
#mp-api-form .mpa-logo-badge .mpa-logo-img {
  display: block !important;
  height: 22px !important;
  width: auto !important;
  max-width: 68px !important;
  object-fit: contain !important;
}
#mp-api-form .mpa-logo-elo {
  padding: 0 !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  overflow: hidden !important;
  border-radius: 6px !important;
}
#mp-api-form .mpa-logo-elo .mpa-logo-img {
  height: 32px !important;
  width: auto !important;
  max-width: 80px !important;
  display: block !important;
}
#mp-api-form .mpa-logo-amex {
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
#mp-api-form .mpa-logo-amex .mpa-logo-img {
  height: 34px !important;
  width: auto !important;
  max-width: 90px !important;
  border-radius: 6px !important;
  display: block !important;
}
#mp-api-form .mpa-logo-elo {
  padding: 5px 10px !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  height: auto !important;
  overflow: visible !important;
}
#mp-api-form .mpa-logo-elo .mpa-logo-img {
  height: 22px !important;
  width: auto !important;
  max-width: 68px !important;
  object-fit: contain !important;
  display: block !important;
}
#mp-api-form .mpa-logos-row {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  gap: 7px !important;
  margin-left: auto !important;
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}
#mp-api-form .mpa-logo-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 32px !important;
  box-sizing: border-box !important;
  padding: 5px 8px !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
#mp-api-form .mpa-logo-badge .mpa-logo-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  max-width: none !important;
  max-height: none !important;
}
#mp-api-form .mpa-logo-elo {
  background: #FFFFFF !important;
  border-color: #E0D8D3 !important;
  padding: 5px 8px !important;
  width: 52px !important;
  height: 32px !important;
}
#mp-api-form .mpa-logo-amex {
  width: auto !important;
  height: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  box-sizing: content-box !important;
  overflow: visible !important;
}
#mp-api-form .mpa-logo-amex .mpa-logo-img {
  height: 32px !important;
  width: auto !important;
  max-width: 80px !important;
  object-fit: contain !important;
  border-radius: 5px !important;
  display: block !important;
}
#mp-api-form .mpa-logo-amex {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 32px !important;
  box-sizing: border-box !important;
  padding: 5px 8px !important;
  background: #26A6D1 !important;
  border: 1px solid #26A6D1 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
#mp-api-form .mpa-logo-amex .mpa-logo-img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  border-radius: 0 !important;
}
#mp-api-form .mpa-logo-badge[title="Visa"] {
  padding: 2px 5px !important;
}
#mp-api-form .mpa-logo-amex {
  padding: 2px 5px !important;
  background: #26A6D1 !important;
  border-color: #26A6D1 !important;
}
#mp-api-form .mpa-logo-badge {
  width: 42.2px !important;
  height: 28px !important;
  box-sizing: border-box !important;
  padding: 4px 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #FFFFFF !important;
  border: 1px solid #E0D8D3 !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
#mp-api-form .mpa-logo-badge .mpa-logo-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}
#mp-api-form .mpa-logo-elo {
  background: #FFFFFF !important;
  border-color: #E0D8D3 !important;
  padding: 4px 7px !important;
  width: 42.2px !important;
  height: 28px !important;
}
#mp-api-form .mpa-logo-amex {
  width: 42.2px !important;
  height: 28px !important;
  box-sizing: border-box !important;
  padding: 1px 3px !important;
  background: #26A6D1 !important;
  border: 1px solid #26A6D1 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
#mp-api-form .mpa-logo-amex .mpa-logo-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
  border-radius: 0 !important;
}
#mp-api-form .mpa-card-title, #stripe-card-form .mpa-card-title {
  font-family: 'plf06', Georgia, serif !important;
  font-style: normal !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  color: #1A1A1A !important;
  letter-spacing: 0.01em !important;
  text-transform: none !important;
  white-space: normal !important;
  display: inline !important;
  visibility: visible !important;
}
#mp-api-form .mpa-card-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin-bottom: 16px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #EDE7E2 !important;
}
#mp-api-form .mpa-card-header,
#stripe-card-form .mpa-card-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
#mp-api-form .mpa-logos-row {
  justify-content: flex-end !important;
  margin-left: auto !important;
}
.ck-cta,
.ck-cta .btn-text,
#ckBtnAdvanceStep,
#ckPayPix,
#mpa-submit {
  font-weight: 500 !important;
}
@media (max-width: 520px) {
  #mp-api-form .mpa-card-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }
  #mp-api-form .mpa-logos-row {
    justify-content: flex-start !important;
    align-self: flex-start !important;
    margin-left: 0 !important;
    width: 100% !important;
  }
}
.ck-cta,
.ck-cta .btn-text,
#ckBtnAdvanceStep,
#ckPayPix,
#mpa-submit {
  font-weight: 500 !important;
}
@media (max-width: 520px) {
  #mp-api-form .mpa-logo-badge {
    width: 40px !important;
    height: 24px !important;
    padding: 3px 5px !important;
  }
  #mp-api-form .mpa-logo-elo {
    width: 40px !important;
    height: 24px !important;
    padding: 3px 5px !important;
  }
  #mp-api-form .mpa-logo-amex {
    width: 40px !important;
    height: 24px !important;
    padding: 1px 3px !important;
  }
  #mp-api-form .mpa-logos-row {
    gap: 5px !important;
  }
}

.ckpxov-overlay{position:fixed;inset:0;z-index:10000;background:#F8F4F2;display:flex;flex-direction:column;padding:0;overflow-y:auto;opacity:0;visibility:hidden;transition:opacity .25s ease}
.ckpxov-overlay.show{opacity:1;visibility:visible}
.ckpxov-dialog{width:100%;max-width:430px;margin:auto;padding:32px 16px 60px;display:flex;flex-direction:column;align-items:center;font-family:inherit;animation:ckPixIn .35s cubic-bezier(.16,1,.3,1)}
@keyframes ckPixIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.ckpxov-badge{display:inline-flex;align-items:center;gap:7px;background:#EEF7EE;border:1px solid #C8DFC8;border-radius:20px;padding:5px 15px;font-size:12px;font-weight:400;color:#4A6741;margin-bottom:16px;letter-spacing:.01em}
.ckpxov-badge-dot{width:6px;height:6px;border-radius:50%;background:#4A6741;flex-shrink:0;animation:ckPixPulse 2.5s ease-in-out infinite}
@keyframes ckPixPulse{0%,100%{box-shadow:0 0 0 3px rgba(74,103,65,.18)}50%{box-shadow:0 0 0 5px rgba(74,103,65,.06)}}
.ckpxov-title{font-size:22px;font-weight:500;color:#3D2E25;margin:0 0 4px;text-align:center}
.ckpxov-amount{font-size:15px;color:#7A6055;font-weight:600;margin:0 0 22px;text-align:center}
.ckpxov-card{background:#FFF;border-radius:20px;border:1px solid #E8E0DB;box-shadow:0 4px 28px rgba(141,109,92,.09),0 1px 4px rgba(0,0,0,.03);width:100%}
.ckpxov-timer{width:100%;flex-shrink:0;position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7A4950 0%,#5C3238 100%);padding:11px 20px;font-size:13px;font-weight:500;line-height:1.45;text-align:center;color:#FFF;box-shadow:0 2px 10px rgba(92,50,56,.18)}
.ckpxov-timer--urgent{animation:ckPixTimerPulse 1.2s ease-in-out infinite}
.ckpxov-timer-num{background:#FAF6F3;color:#5C3238;padding:2px 8px;border-radius:6px;font-variant-numeric:tabular-nums;font-weight:700;letter-spacing:-.02em;font-size:14px;box-shadow:0 1px 3px rgba(0,0,0,.06);display:inline-block;white-space:nowrap;margin:0 0 0 4px;vertical-align:baseline}@keyframes ckPixTimerPulse{0%,100%{box-shadow:0 2px 10px rgba(92,50,56,.18)}50%{box-shadow:0 2px 18px rgba(160,50,50,.55)}}
.ckpxov-qr-section{display:flex;flex-direction:column;align-items:center;padding:30px 24px 28px;gap:16px}
.ckpxov-qr-wrap{background:#FFF;border-radius:14px;padding:16px;border:1.5px solid #E8E0DB;box-shadow:0 2px 14px rgba(141,109,92,.07)}
.ckpxov-qr-img{width:188px;height:188px;display:block}
.ckpxov-qr-placeholder{width:188px;height:188px;background:#F5F0EC;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#9A8A80;font-size:13px}
.ckpxov-steps{width:100%;display:flex;flex-direction:column;gap:8px}
.ckpxov-step{display:flex;align-items:flex-start;gap:9px}
.ckpxov-step-num{flex-shrink:0;width:18px;height:18px;border-radius:50%;background:transparent;border:1.5px solid #C8B0A4;color:#B09080;font-size:9px;font-weight:600;display:flex;align-items:center;justify-content:center;margin-top:2px}
.ckpxov-step-text{font-size:12px;color:#A08878;line-height:1.5;font-weight:400}
.ckpxov-step-text strong{color:#7A6055;font-weight:600}
.ckpxov-divider{height:1px;background:#EDE5E0;margin:0 18px}
.ckpxov-copy-section{padding:16px 22px}
.ckpxov-copy-label{font-size:10px;font-weight:500;color:#C0B0A8;letter-spacing:.07em;text-transform:uppercase;margin:0 0 9px}
.ckpxov-copy-row{display:flex;gap:8px}
.ckpxov-copy-code{flex:1;background:#FAF7F5;border:1px solid #E8E0DB;border-radius:10px;padding:10px 13px;font-size:11px;color:#9A8A80;font-family:'Inter',monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center}
.ckpxov-copy-btn{display:flex;align-items:center;justify-content:center;gap:6px;background:#F5F0EE;color:#353935;border:none;border-radius:10px;padding:0 16px;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;flex-shrink:0;min-height:40px;transition:opacity .18s,transform .18s}
.ckpxov-copy-btn:hover{opacity:.88;transform:translateY(-1px)}
.ckpxov-copy-btn--done{background:#07B632;color:#FFF}
.ckpxov-status-row{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 22px 20px}
.ckpxov-pulse-dot{width:7px;height:7px;border-radius:50%;background:#C0A060;flex-shrink:0;animation:ckPixDot 2s ease-in-out infinite}
@keyframes ckPixDot{0%,100%{opacity:1}50%{opacity:.3}}
.ckpxov-status-text{font-size:12px;color:#9A8A80}
.ckpxov-back-btn{display:flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-size:12.5px;font-weight:400;color:#8D6D5C;margin-top:20px;padding:6px 10px;border-radius:8px;transition:color .18s,background .18s}
.ckpxov-back-btn:hover{color:#8D6D5C;background:rgba(141,109,92,.06)}
.ckpxov-trust{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:11px;color:#9A8A80;text-align:center}
/* Expirado */
.ckpxov-panel{background:#FFF;border-radius:22px;padding:40px 36px 32px;width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;box-shadow:0 24px 60px rgba(61,46,37,.18),0 4px 16px rgba(0,0,0,.06);text-align:center}
.ckpxov-panel-icon{width:60px;height:60px;border-radius:50%;background:#FDF6F2;border:1.5px solid #E8DDD7;display:flex;align-items:center;justify-content:center;margin-bottom:20px}
.ckpxov-panel-title{font-size:22px;font-weight:500;color:#3D2E25;margin:0 0 10px}
.ckpxov-panel-desc{font-size:13.5px;font-weight:400;color:#9A8A80;line-height:1.6;margin:0 0 26px}
.ckpxov-panel-btn{display:flex;align-items:center;justify-content:center;gap:8px;background:#8D6D5C;color:#FFF;border:none;border-radius:12px;padding:14px 28px;font-size:13.5px;font-weight:600;cursor:pointer;width:100%;margin-bottom:12px;transition:opacity .18s,transform .18s}
.ckpxov-panel-btn:hover{opacity:.88;transform:translateY(-1px)}
.ckpxov-panel-sub{font-size:11px;color:#C0B0A8;font-weight:400;margin:0}
/* Aprovado */
.ckpxov-ok-icon{width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#EAF2ED,#DCEBE2);display:flex;align-items:center;justify-content:center;margin-bottom:24px}
.ckpxov-ok-spin{display:inline-block;width:16px;height:16px;border:2px solid #5A7363;border-top-color:transparent;border-radius:50%;animation:ckPixSpin .8s linear infinite}
@keyframes ckPixSpin{to{transform:rotate(360deg)}}
@media(max-width:480px){.ckpxov-qr-img,.ckpxov-qr-placeholder{width:170px;height:170px}.ckpxov-timer{font-size:12px;padding:10px 14px;line-height:1.4}}


/* F2 CLS (30/07): reserva a altura do resumo p/ nao saltar quando reflui PT->intl (raiz do CLS desktop 0.456). PT=150 natural; EN/ES encolhem p/ 117 -> piso 150 evita o salto. */
.ck-price-summary-box{min-height:150px}

/* Título dos order bumps em itálico serifado (decisão Luciano 09/08, aplicada apenas ao
   título — preço/desconto/badge aninhados dentro do mesmo .ck-order-bump-headline NÃO
   herdam o itálico, revertidos pra fonte sans-serif normal do checkout). Precisa de
   !important pra vencer a regra agrupada de font-family em .ck-order-bump-headline
   (ver bloco 'body, input, select, ... .ck-order-bump-headline { font-family: ... !important }'
   acima); mesma família self-hosted já usada no título do form de cartão (.mpa-card-title). */
.ck-order-bump-headline {
  font-family: 'plf06', Georgia, serif !important;
  font-style: italic !important;
}
.ck-order-bump-headline span,
.ck-order-bump-headline del {
  font-family: 'plf02 Unica', 'plf07', sans-serif !important;
  font-style: normal !important;
}

/* Estilo dedicado caderno-digital (16/08, pedido Luciano): CTA rosa padrao SweetStudents
   + faixa de oferta rosa solida, sem gradiente (o gradiente criava uma "linha escura"
   percebida onde a cor mais escura do degrade encontrava o branco do header). Escopado
   via .ck-product-caderno-digital (tag adicionada no <html> por um script cedo no <head>,
   antes de qualquer render) para NAO afetar o botao/faixa dos outros produtos. */
.ck-product-caderno-digital .ck-cta{
  background-image:linear-gradient(45deg,#05811A,#07B632)!important;
  color:#FFFFFF!important;
  border-radius:18px!important;
  font-weight:700!important;
  box-shadow:0 5px 12px rgba(196,124,138,.22)!important;
}
.ck-product-caderno-digital .ck-offer-banner{
  background-image:linear-gradient(135deg,#7A4950 0%,#5C3238 100%)!important;
  color:#FFFFFF!important;
  box-shadow:none!important;
}

/* Checkouts PT/EN/ES (24/08): fonte do selo carregada sem troca visual
   e paleta de selecao #82B1FF aplicada no CSS inicial, nao por injecao tardia. */
.ck-annual-choice-label{
  font-family:'plf06',Georgia,serif!important;
  font-style:italic!important;
  font-weight:500!important;
  color:#353935!important;
}
.ck-order-bump.style-premium.selected,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked){
  border-color:rgba(111,165,255,.68)!important;
  background:linear-gradient(135deg,rgba(111,165,255,.055),rgba(111,165,255,.095))!important;
  box-shadow:0 8px 20px rgba(111,165,255,.10)!important;
}
.ck-order-bump.style-premium.selected .ck-order-bump-checkbox,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-order-bump-checkbox.checked{
  background:#6FA5FF!important;
  border-color:#6FA5FF!important;
  box-shadow:0 3px 9px rgba(111,165,255,.22)!important;
}
.ck-order-bump.style-premium.selected .ck-bump-final-ctarow,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-bump-final-ctarow{
  background:rgba(111,165,255,.14)!important;
}
.ck-order-bump.style-premium.selected .ck-order-bump-bullets li svg,
.ck-order-bump.style-premium:has(.ck-order-bump-checkbox.checked) .ck-order-bump-bullets li svg{
  color:#6FA5FF!important;
}

/* Mobile PT/EN/ES: all premium bump titles use the same approved size. Annual
   Access differentiates itself through content, not smaller typography. */
@media(max-width:767px){
  .ck-order-bump.style-premium .ck-order-bump-headline{
    font-size:14px!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-order-bump-headline{
    font-size:14px!important;
    white-space:normal!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-annual-title-line{
    font-family:'plf06',Georgia,serif!important;
    font-size:inherit!important;
    font-style:italic!important;
    white-space:nowrap!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .bump-mobile-break{
    display:block!important;
  }
  /* Annual Access uses exactly the same inner top padding as every other bump. */
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-final-top{
    padding-top:0!important;
  }
  /* The annual copy is taller than ordinary bump copy, so flex centering placed
     its headline optically closer to the upper border. Move only the copy down
     to match the title inset of the other cards without moving the image/CTA. */
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-order-bump-info{
    position:relative!important;
    top:6px!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-order-bump-carousel-container,
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-order-bump-carousel,
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-order-bump-img{
    width:80px!important;
    height:80px!important;
    max-width:80px!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) #ckBumpCarouselText{
    max-width:80px!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-badges{
    flex-wrap:wrap!important;
  }
}

/* Approved annual-title composition: on mobile the choice label occupies the
   first line and the complete localized product name plus emoji occupies the
   second. Desktop remains a single line. */
@media(max-width:767px){
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-bump-final-top{
    gap:20px!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .bump-mobile-break{
    display:block!important;
  }
}
@media(min-width:768px){
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .bump-mobile-break{
    display:none!important;
  }
  /* Desktop/tablet: the annual title is split into spans so its mobile line
     break can remain controlled. The generic nested-span rule above resets
     those spans to sans/normal, unlike every other bump headline. Restore the
     exact headline typography here without changing content or layout. */
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-annual-title-line,
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-annual-choice-label{
    font-family:'plf06',Georgia,serif!important;
    font-size:inherit!important;
    font-weight:inherit!important;
    font-style:italic!important;
    line-height:inherit!important;
    letter-spacing:inherit!important;
  }
  .ck-order-bump.style-premium:has(#checkbox-acesso-anual) .ck-annual-title-line-one::after{
    content:'\00a0';
  }
}
/* Surface-theme overrides intentionally live last so responsive productive
   rules cannot replace the protected comparison colors. */
html.ck-surface-theme-c #ckSummaryCard,
html.ck-surface-theme-c #ckSummaryCard .ck-summary-mobile-toggle,
html.ck-surface-theme-c #ckSummaryCard .ck-summary-content{background:#FAF7F5!important}
html.ck-surface-theme-current-soft .ck-field input,
html.ck-surface-theme-current-soft .ck-field select,
html.ck-surface-theme-current-soft .ck-field textarea{background:#FFF!important}
/* #0-DU (15/09) [REVERTIDO no #0-DW, abaixo]: fundo geral body/.ck-header #F3ECE8 -> #F1E9E5 (HSL 20/30/93,1961 -> L x 0,99 = 92,2641; H e S inalterados). Caixas (#0-DD) e bump (#0-DC) intactos. */
/* #0-DW (15/09): direcao corrigida -- fundo geral body/.ck-header sai do #F1E9E5 (#0-DU, revertido) e CLAREIA 1% a partir da base #F3ECE8: HSL(20,30,93,1961) -> L x 1,01 = 94,1281 -> #F5EFEC (H e S inalterados). Caixas (#0-DD) e bump (#0-DC) intactos. */
/* #0-DX (15/09): fundo geral body/.ck-header mais 1% claro sobre o #0-DW: HSL(20,30,94,1281) -> L x 1,01 = 95,0694 -> #F6F1EF (H e S inalterados). Caixas (#0-DD) e bump (#0-DC) intactos. */
