/* Smart Ride — checkout
   Usa as cores, fontes e componentes de site.css (botões, bandeiras, depoimentos). */

.pg-checkout { --laranja-texto: #c2410c; --ok-fundo: #ebf6ef; background: var(--off); }
html:has(.pg-checkout) { scroll-padding-top: 72px; }

/* ---------- Barra do cronômetro (fixa no topo) ---------- */
.ck-timer {
  position: sticky; top: 0; z-index: 25;
  background: var(--laranja); color: var(--grafite);
  font-size: 14px; font-weight: 700; line-height: 1.3;
  box-shadow: 0 2px 12px rgba(0, 0, 0, .14);
}
.ck-timer p {
  max-width: var(--wrap); margin: 0 auto; padding: 8px var(--gutter);
  display: flex; align-items: center; justify-content: center; gap: 8px; flex-wrap: wrap; text-align: center;
}
.ck-timer svg { width: 18px; height: 18px; flex: none; }
.ck-timer__tempo {
  font-size: 17px; font-weight: 800; font-variant-numeric: tabular-nums;
  background: var(--grafite); color: var(--off); padding: 2px 10px; border-radius: 6px; min-width: 66px;
}
.ck-timer__extra { font-weight: 600; }
.ck-timer__extra::before { content: "·"; margin: 0 8px 0 2px; }
.ck-timer__extra b { font-weight: 800; }
.oferta-acabando .ck-timer { background: #e23d12; color: #fff; }
@media (max-width: 520px) {
  .ck-timer { font-size: 13px; }
  .ck-timer__extra { display: none; }
}

/* ---------- Cabeçalho ---------- */
.ck-topo { background: var(--grafite); color: var(--texto-claro); }
.ck-topo .wrap { display: flex; align-items: center; justify-content: space-between; height: 60px; }
.ck-topo img { height: 40px; width: auto; }
.ck-seguro { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; }
.ck-seguro svg { width: 17px; height: 17px; color: var(--laranja); }

.ck { padding: 16px 0 56px; }
@media (min-width: 960px) { .ck { padding-top: 28px; } }

/* ---------- Banner do produto ---------- */
.ck-banner {
  display: grid; grid-template-columns: 92px minmax(0, 1fr); gap: 14px 16px; align-items: center;
  color: var(--texto-claro); border-radius: var(--raio-midia); padding: 14px; overflow: hidden;
  background:
    radial-gradient(90% 120% at 100% 0%, rgba(255, 106, 26, .30) 0%, rgba(255, 106, 26, 0) 60%),
    var(--grafite);
}
.ck-banner__foto { width: 92px; height: 122px; border-radius: 10px; overflow: hidden; background: #0c0c0c; }
.ck-banner__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.ck-banner__tag {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--laranja);
}
.ck-banner__tag svg { width: 14px; height: 14px; }
.ck-banner h1 { font-size: 18px; line-height: 1.2; font-weight: 800; margin-top: 4px; letter-spacing: -.01em; }
.ck-banner__sub { display: none; font-size: 15px; color: var(--texto-claro-2); margin-top: 6px; }
.ck-banner__preco { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; margin-top: 8px; }
.ck-banner__de { width: 100%; font-size: 13px; color: var(--texto-claro-2); }
.ck-banner__de s { text-decoration-thickness: 1.5px; }
.ck-banner__preco strong { font-size: 26px; line-height: 1; font-weight: 800; letter-spacing: -.02em; }
.ck-banner__pix { font-size: 14px; font-weight: 700; color: var(--laranja); }
.ck-banner__cartao { font-size: 13px; color: var(--texto-claro-2); margin-top: 4px; }
.ck-banner__cartao b { color: var(--texto-claro); }
.ck-banner__chips {
  grid-column: 1 / -1; list-style: none; margin: 0; padding: 12px 0 0; border-top: 1px solid var(--grafite-3);
  display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 13px; font-weight: 700;
}
.ck-banner__chips li { display: flex; align-items: center; gap: 7px; }
.ck-banner__chips svg { width: 16px; height: 16px; color: var(--laranja); flex: none; }
@media (max-width: 420px) { .ck-banner__chips li:nth-child(2) { display: none; } }
@media (min-width: 760px) {
  .ck-banner { grid-template-columns: 140px minmax(0, 1fr); padding: 20px; gap: 18px 28px; }
  .ck-banner__foto { width: 140px; height: 176px; }
  .ck-banner h1 { font-size: 28px; }
  .ck-banner__sub { display: block; }
  .ck-banner__de { width: auto; font-size: 15px; }
  .ck-banner__preco strong { font-size: 38px; }
  .ck-banner__pix { font-size: 16px; }
  .ck-banner__cartao { font-size: 14px; }
}
@media (min-width: 1100px) {
  .ck-banner { grid-template-columns: 150px minmax(0, 1fr) auto; }
  .ck-banner__foto { width: 150px; height: 190px; }
  .ck-banner__chips {
    grid-column: 3; flex-direction: column; gap: 14px; font-size: 14px;
    border-top: 0; border-left: 1px solid var(--grafite-3); padding: 4px 8px 4px 28px;
  }
}

/* ---------- Grade: formulário + lateral ---------- */
.ck__grid { display: grid; gap: 16px; margin-top: 16px; }
.ck__form { display: grid; gap: 16px; }
.ck-lado { display: grid; gap: 16px; }
@media (max-width: 959px) {
  /* No celular: resumo antes do formulário; vídeo e vantagens depois */
  .ck-lado { display: contents; }
  .ck-resumo { order: 1; }
  .ck__form { order: 2; }
  .ck-extras { order: 3; }
}
@media (min-width: 960px) {
  .ck__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4.4fr); gap: 28px; align-items: start; margin-top: 24px; }
}

/* ---------- Blocos do formulário ---------- */
.ck-bloco { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio-midia); padding: 20px 18px; }
@media (min-width: 600px) { .ck-bloco { padding: 24px; } }
.ck-bloco h2 { font-size: 18px; line-height: 1.25; font-weight: 800; display: flex; align-items: center; gap: 12px; }
.ck-bloco h2 .n {
  width: 28px; height: 28px; border-radius: 50%; background: var(--grafite); color: var(--off);
  display: grid; place-items: center; font-size: 14px; flex: none; transition: background-color .15s ease;
}
.ck-bloco:focus-within h2 .n { background: var(--laranja); color: var(--grafite); }
.ck-bloco__ajuda { font-size: 14px; color: var(--texto-2); margin-top: 6px; }

/* Campos */
.campos { display: grid; gap: 14px; margin-top: 16px; grid-template-columns: repeat(6, minmax(0, 1fr)); }
.campo { grid-column: span 6; display: grid; gap: 6px; align-content: start; }
.ck-cep-ajuda { grid-column: span 6; align-self: end; font-size: 14px; }
.ck-cep-ajuda a { color: var(--texto-2); font-weight: 700; }
@media (min-width: 600px) {
  .campo--1 { grid-column: span 1; }
  .campo--2 { grid-column: span 2; }
  .campo--3 { grid-column: span 3; }
  .campo--4 { grid-column: span 4; }
  .ck-cep-ajuda { padding-bottom: 14px; }
}
@media (max-width: 599px) {
  .campo--m2 { grid-column: span 2; }
  .campo--m4 { grid-column: span 4; }
}
.campo label { font-size: 14px; font-weight: 700; }
.campo .opcional { font-weight: 500; color: var(--texto-2); }
.campo input, .campo select {
  height: 50px; padding: 0 14px; border-radius: 10px; border: 1.5px solid var(--linha); background: #fff;
  font-size: 16px; font-weight: 600; width: 100%; transition: border-color .15s ease, box-shadow .15s ease;
}
.campo input::placeholder { color: #a8a29e; font-weight: 500; }
.campo input:focus, .campo select:focus { outline: none; border-color: var(--laranja); box-shadow: 0 0 0 3px rgba(255, 106, 26, .22); }
.campo input[aria-invalid="true"] { border-color: var(--erro); background: #fff5f4; }
.campo input[disabled], .campo select[disabled] { background: var(--off); opacity: .8; }
.campo__erro { font-size: 13px; color: var(--erro); font-weight: 600; }
.campo__erro:empty { display: none; }
.campo__ajuda { font-size: 13px; color: var(--texto-2); }

.ck-prazo { margin-top: 12px; font-size: 14px; color: var(--texto-2); }
.ck-prazo:empty { display: none; }
.ck-prazo--ok { padding: 10px 12px; border-radius: 10px; background: var(--ok-fundo); color: #1f5135; font-weight: 600; }
.ck-prazo--ok b { color: #14532d; }

/* ---------- Escolhas: entrega ou retirada ---------- */
.ck-escolhas { display: grid; gap: 10px; margin-top: 16px; }
@media (min-width: 600px) { .ck-escolhas { grid-template-columns: 1fr 1fr; } }
.ck-escolha {
  display: grid; grid-template-columns: auto 26px minmax(0, 1fr) auto; align-items: center; gap: 12px;
  padding: 14px; border: 1.5px solid var(--linha); border-radius: 12px; background: #fff; cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}
.ck-escolha input { width: 20px; height: 20px; margin: 0; accent-color: var(--laranja); }
.ck-escolha__icone { width: 26px; height: 26px; color: var(--texto-2); }
.ck-escolha b { display: block; font-size: 15px; line-height: 1.3; }
.ck-escolha small { display: block; font-size: 13px; color: var(--texto-2); line-height: 1.4; }
.ck-escolha__valor { font-size: 12px; font-weight: 800; color: #1f5135; background: var(--ok-fundo); padding: 3px 8px; border-radius: 999px; }
.ck-escolha:has(input:checked) { border-color: var(--laranja); background: rgba(255, 106, 26, .06); box-shadow: inset 0 0 0 1px var(--laranja); }
.ck-escolha:has(input:checked) .ck-escolha__icone { color: var(--laranja-texto); }

/* Retirada */
.ck-retirada {
  display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; margin-top: 14px;
  padding: 16px; border-radius: 12px; background: var(--off); border: 1px dashed var(--linha);
}
.ck-retirada > svg { width: 24px; height: 24px; color: var(--laranja-texto); }
.ck-retirada b { display: block; font-size: 15px; }
.ck-retirada p { font-size: 14px; color: var(--texto-2); margin-top: 2px; }
.ck-retirada .ck-retirada__info { margin-top: 8px; }
.ck-retirada a { display: inline-block; margin-top: 8px; font-size: 14px; font-weight: 800; color: var(--texto); }

/* ---------- Formas de pagamento ---------- */
.ck-formas { display: grid; gap: 14px; margin-top: 18px; }
@media (min-width: 600px) { .ck-formas { grid-template-columns: 1fr 1fr; gap: 10px; } }
.ck-forma {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; row-gap: 2px;
  padding: 16px; border: 1.5px solid var(--linha); border-radius: 12px; background: #fff; cursor: pointer;
  transition: border-color .15s ease, background-color .15s ease;
}
.ck-forma input { grid-row: 1; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--laranja); }
.ck-forma > span { grid-column: 2; }
.ck-forma__nome { display: flex; align-items: center; gap: 8px; font-weight: 800; font-size: 15px; }
.ck-forma__nome img, .ck-forma__nome svg { width: 18px; height: 18px; flex: none; }
.ck-forma__valor { font-size: 22px; font-weight: 800; letter-spacing: -.01em; margin-top: 4px; }
.ck-forma__det { font-size: 13px; color: var(--texto-2); }
.ck-forma__tag {
  position: absolute; top: -11px; right: 12px;
  font-size: 12px; font-weight: 800; background: var(--ok); color: #fff; padding: 3px 9px; border-radius: 6px;
}
.ck-forma:has(input:checked) { border-color: var(--laranja); background: rgba(255, 106, 26, .06); box-shadow: inset 0 0 0 1px var(--laranja); }

.ck-pix-info {
  list-style: none; margin: 12px 0 0; padding: 12px 14px; border-radius: 10px;
  background: var(--ok-fundo); color: #1f5135; font-size: 14px; display: grid; gap: 6px;
}
.ck-pix-info li { display: flex; gap: 8px; }
.ck-pix-info svg { width: 16px; height: 16px; color: var(--ok); flex: none; margin-top: 3px; }

.ck-cartao { margin-top: 14px; border: 1.5px dashed var(--linha); border-radius: 12px; padding: 16px; }
.ck-cartao p { font-size: 13px; color: var(--texto-2); }
.ck-cartao .campos { margin-top: 12px; }

/* ---------- Botão de pagar e selos ---------- */
.ck-pagar { margin-top: 20px; }
.ck-pagar__botao { min-height: 60px; font-size: 18px; box-shadow: 0 10px 24px rgba(255, 106, 26, .35); }
.ck-pagar__botao svg { width: 20px; height: 20px; flex: none; }
@media (prefers-reduced-motion: no-preference) {
  .ck-pagar__botao { animation: chamar 3s ease-in-out 4s infinite; }
  .ck-pagar__botao:hover, .ck-pagar__botao:focus-visible { animation: none; }
}
@keyframes chamar { 0%, 84%, 100% { transform: none; } 90% { transform: scale(1.02); } }
.ck-pagar__tempo { display: flex; align-items: center; justify-content: center; gap: 6px; margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--texto-2); }
.ck-pagar__tempo svg { width: 16px; height: 16px; color: var(--laranja-texto); }
.ck-pagar__tempo b { color: var(--laranja-texto); font-variant-numeric: tabular-nums; }
.ck-demo {
  display: flex; gap: 8px; align-items: flex-start; margin-top: 12px; padding: 10px 12px; border-radius: 8px;
  background: var(--pedra); font-size: 13px; line-height: 1.45; color: var(--texto-2);
}
.ck-demo svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--texto); }
.ck-selos { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: 16px; }
.ck-selo {
  display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; color: var(--texto-2);
  border: 1px solid var(--linha); border-radius: 999px; padding: 6px 11px; background: #fff;
}
.ck-selo svg { width: 15px; height: 15px; color: var(--ok); }
.ck-selo img { width: 16px; height: 16px; }
.ck-bandeiras { justify-content: center; }
.ck-bandeiras .bandeira img, .ck-bandeiras .bandeira--pix { box-shadow: 0 0 0 1px var(--linha); }
.ck-pagar__nota { font-size: 12px; color: var(--texto-2); text-align: center; margin-top: 12px; }
.ck-pagar__nota a { color: var(--texto); font-weight: 700; }

/* ---------- Resumo do pedido ---------- */
.ck-resumo { background: #fff; border: 1px solid var(--linha); border-radius: var(--raio-midia); padding: 18px; }
@media (min-width: 960px) { .ck-resumo { padding: 22px; } }
.ck-resumo h2 { font-size: 16px; font-weight: 800; }
.ck-resumo__abrir {
  display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 12px;
  background: none; border: 0; padding: 0; margin: 0; font: inherit; color: inherit; text-align: left; cursor: pointer;
}
.ck-resumo__mini { display: inline-flex; align-items: center; gap: 8px; font-size: 17px; }
.ck-resumo__mini svg { width: 20px; height: 20px; color: var(--texto-2); transition: transform .2s ease; }
.ck-resumo__abrir[aria-expanded="true"] .ck-resumo__mini svg { transform: rotate(180deg); }
.ck-resumo__abrir[aria-expanded="true"] .ck-resumo__mini b { display: none; }
@media (min-width: 960px) {
  .ck-resumo__abrir { cursor: default; pointer-events: none; }
  .ck-resumo__mini { display: none; }
}
.ck-resumo__item {
  display: grid; grid-template-columns: 56px minmax(0, 1fr) auto; gap: 12px; align-items: center;
  margin-top: 14px; padding-bottom: 14px; border-bottom: 1px solid var(--linha);
}
.ck-resumo__item img { width: 56px; height: 56px; border-radius: 8px; object-fit: cover; }
.ck-resumo__item b { display: block; font-size: 14px; line-height: 1.3; }
.ck-resumo__item small { font-size: 12px; color: var(--texto-2); }
@media (max-width: 959px) {
  .ck-resumo__item { grid-template-columns: minmax(0, 1fr) auto; }
  .ck-resumo__item img { display: none; }
}
.ck-resumo .passo { border-color: var(--linha); }
.ck-resumo .passo button { width: 36px; height: 36px; font-size: 18px; }
.ck-resumo .passo button:hover { background: var(--off); }
.ck-resumo .passo output { min-width: 28px; }
.ck-resumo dl { margin: 12px 0 0; display: grid; grid-template-columns: 1fr auto; gap: 6px 12px; font-size: 14px; }
.ck-resumo dt { color: var(--texto-2); }
.ck-resumo dd { margin: 0; text-align: right; font-weight: 700; }
.ck-resumo dd.desconto, .ck-resumo dd.gratis { color: var(--ok); }
.ck-resumo__total {
  margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--linha);
  display: flex; justify-content: space-between; align-items: baseline;
}
.ck-resumo__total > span { font-weight: 800; }
.ck-resumo__total strong { font-size: 26px; font-weight: 800; letter-spacing: -.01em; }
.ck-resumo__total small { display: block; text-align: right; font-size: 12px; color: var(--texto-2); }
.ck-resumo__economia {
  margin-top: 12px; padding: 8px 12px; border-radius: 8px; text-align: center;
  background: var(--ok-fundo); color: #1f5135; font-size: 13px; font-weight: 700;
}
.ck-resumo .estoque { color: var(--erro); text-align: center; }

/* ---------- Lateral: vídeo, vantagens e depoimentos ---------- */
.ck-extras { display: grid; gap: 16px; }
.ck-video { margin: 0; position: relative; border-radius: var(--raio-midia); overflow: hidden; background: #0c0c0c; aspect-ratio: 1 / 1; }
.ck-video img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.ck-video figcaption {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 48px 16px 14px;
  background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .85)); color: #fff; font-size: 13px; line-height: 1.45;
}
.ck-video figcaption b { display: block; font-size: 15px; }
.ck-vantagens {
  list-style: none; margin: 0; padding: 18px; background: #fff; border: 1px solid var(--linha);
  border-radius: var(--raio-midia); display: grid; gap: 14px;
}
.ck-vantagens li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; font-size: 13px; color: var(--texto-2); line-height: 1.45; }
.ck-vantagens svg { width: 22px; height: 22px; color: var(--laranja); }
.ck-vantagens b { display: block; color: var(--texto); font-size: 14px; }
.ck-depo h2 { font-size: 16px; font-weight: 800; }
.ck-depo__lista { display: grid; gap: 12px; margin-top: 12px; }
.ck-depo .depoimento__foto { aspect-ratio: 16 / 9; }

/* ---------- Rodapé ---------- */
.ck-rodape { border-top: 1px solid var(--linha); padding: 22px 0 28px; font-size: 12px; color: var(--texto-2); text-align: center; line-height: 1.8; }
.ck-rodape a { color: var(--texto); font-weight: 700; }

/* ---------- Aviso de saída ---------- */
.ck-saida {
  border: 0; border-radius: 16px; padding: 28px 24px 18px; width: calc(100% - 32px); max-width: 420px;
  text-align: center; background: #fff; color: var(--texto); box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
}
.ck-saida::backdrop { background: rgba(21, 21, 21, .62); }
.ck-saida__tempo {
  display: inline-flex; align-items: center; gap: 8px; background: var(--grafite); color: var(--off);
  border-radius: 999px; padding: 6px 14px; font-weight: 800; font-size: 18px; font-variant-numeric: tabular-nums;
}
.ck-saida__tempo svg { width: 18px; height: 18px; color: var(--laranja); }
.ck-saida h2 { font-size: 22px; line-height: 1.2; font-weight: 800; margin-top: 14px; }
.ck-saida > p:not(.ck-saida__tempo) { margin-top: 8px; color: var(--texto-2); }
.ck-saida .btn { margin-top: 18px; }
.ck-saida__sair { margin-top: 8px; background: none; border: 0; color: var(--texto-2); font-weight: 600; cursor: pointer; padding: 8px; text-decoration: underline; }

/* ---------- Confirmação ---------- */
.ok-tela { max-width: 640px; margin: 0 auto; }
.ok-tela:focus { outline: none; }
.ok-tela__selo { width: 56px; height: 56px; border-radius: 50%; background: var(--ok); color: #fff; display: grid; place-items: center; }
.ok-tela__selo svg { width: 30px; height: 30px; }
.ok-tela h1 { font-size: 28px; line-height: 1.15; font-weight: 800; margin-top: 16px; letter-spacing: -.01em; }
.ok-tela .ck-bloco { margin-top: 20px; }
.ok-tela [data-copiar] { margin-top: 14px; }
.pix-qr {
  width: 220px; height: 220px; margin: 18px auto 0; border-radius: 12px; border: 1.5px dashed var(--linha);
  display: grid; place-items: center; text-align: center; font-size: 13px; color: var(--texto-2); padding: 20px; background: var(--off);
}
.pix-relogio { text-align: center; margin-top: 14px; font-size: 14px; color: var(--texto-2); }
.pix-relogio strong { font-size: 22px; color: var(--grafite); display: block; font-variant-numeric: tabular-nums; }
.proximos { list-style: none; padding: 0; margin: 14px 0 0; counter-reset: p; display: grid; gap: 12px; }
.proximos li { counter-increment: p; display: grid; grid-template-columns: 28px 1fr; gap: 12px; font-size: 15px; }
.proximos li::before {
  content: counter(p); width: 28px; height: 28px; border-radius: 50%; background: var(--pedra);
  display: grid; place-items: center; font-weight: 800; font-size: 13px;
}
.ok-tela__acoes { display: grid; gap: 12px; margin-top: 20px; justify-items: center; }
.btn--contorno { background: #fff; color: var(--texto); border: 1.5px solid var(--grafite); }
.btn--contorno svg { width: 20px; height: 20px; }
.ok-tela__voltar { color: var(--texto-2); font-weight: 700; font-size: 14px; }

/* ---------- Pagamento real: campos seguros do Mercado Pago, Pix e erros ---------- */
.campo__rotulo { font-size: 14px; font-weight: 700; }
.campo__mp {
  height: 50px; padding: 0 14px; border-radius: 10px; border: 1.5px solid var(--linha); background: #fff;
  display: flex; align-items: center; transition: border-color .15s ease, box-shadow .15s ease;
}
.campo__mp:has(.campo__mp-vazio) { background: var(--off); }
.campo__mp iframe { width: 100%; height: 46px; border: 0; display: block; }
.campo__mp-vazio { color: #a8a29e; font-weight: 500; }
.campo__mp.foco { border-color: var(--laranja); box-shadow: 0 0 0 3px rgba(255, 106, 26, .22); }
.campo__mp.invalido { border-color: var(--erro); background: #fff5f4; }
@media (max-width: 599px) { .campo--m3 { grid-column: span 3; } }
.ck-erro {
  margin-bottom: 12px; padding: 12px 14px; border-radius: 10px;
  background: #fff1f0; border: 1px solid #f3c0bb; color: var(--erro); font-size: 14px; font-weight: 600; line-height: 1.45;
}
.ck-pagar__botao[disabled] { opacity: .75; cursor: progress; animation: none; }
.pix-qr.com-qr { border: 0; padding: 0; background: #fff; }
.pix-qr img { width: 100%; height: 100%; object-fit: contain; image-rendering: pixelated; }
.pix-copia { margin-top: 16px; display: grid; gap: 6px; }
.pix-copia label { font-size: 13px; font-weight: 700; }
.pix-copia textarea {
  width: 100%; padding: 10px 12px; border: 1.5px solid var(--linha); border-radius: 10px; background: var(--off);
  font: 13px/1.45 ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--texto); resize: none; word-break: break-all;
}
.pix-espera { display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 14px; font-size: 14px; color: var(--texto-2); text-align: center; }
.pix-espera span { width: 10px; height: 10px; border-radius: 50%; background: var(--laranja); flex: none; }
@media (prefers-reduced-motion: no-preference) { .pix-espera span { animation: pulso 1.2s ease-in-out infinite; } }
@keyframes pulso { 0%, 100% { opacity: .3; transform: scale(.8); } 50% { opacity: 1; transform: scale(1); } }
.ok-tela__selo--espera { background: var(--laranja); color: var(--grafite); }

/* cupom de desconto */
.ck-resumo dd.desconto { color: var(--verde, #2e9e5b); font-weight: 700; }
.ck-cupom { margin: 4px 0 14px; }
.ck-cupom__abrir { background: none; border: 0; padding: 4px 0; color: inherit; font: inherit; font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.ck-cupom__form { display: flex; gap: 8px; margin-top: 8px; }
.ck-cupom__form input { flex: 1; min-width: 0; height: 46px; padding: 0 12px; border-radius: 10px; border: 1px solid var(--linha, #d9d6cf); font: inherit; font-size: 16px; text-transform: uppercase; letter-spacing: .04em; background: #fff; color: #151515; }
.ck-cupom__form .btn { height: 46px; padding: 0 16px; }
.ck-cupom__ok { margin: 8px 0 0; font-size: 14px; font-weight: 700; color: var(--verde, #2e9e5b); }
.ck-cupom__tirar { background: none; border: 0; padding: 0 0 0 6px; font: inherit; font-size: 13px; color: inherit; opacity: .75; text-decoration: underline; cursor: pointer; }
.ck-cupom__erro { margin: 8px 0 0; font-size: 14px; color: #c0392b; }


/* opções de frete (Melhor Envio) */
.ck-fretes { display: grid; gap: 8px; margin: 10px 0 14px; }
.ck-fretes .ck-escolha { padding: 12px 14px; }
.ck-fretes .ck-escolha__texto small { white-space: normal; }
.ck-fretes__aviso { margin: 0; font-size: 14px; color: #57534e; }
.ck-fretes__erro { margin: 0; font-size: 14px; color: #c0392b; font-weight: 600; }
.ck-fretes .ck-escolha__valor { background: transparent; color: var(--texto, #151515); font-size: 15px; padding: 0; }
