/* ============================================================================
   CERTMIF — Checkout (/comprar)
   Usa os tokens do design system (certmif.css / estrutura-v2.css)
   ==========================================================================*/
.ck-body{background:var(--surface)}
.ck-nav{position:sticky}
.ck-secure{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;color:var(--muted)}
.ck-secure svg{width:15px;height:15px;color:var(--success)}

.ck-main{padding:112px 0 70px}
.ck-head{max-width:720px;margin:0 0 30px}
.ck-head h1{margin:16px 0 0;font-size:clamp(28px,4vw,40px);font-weight:500;letter-spacing:-.03em;
  line-height:1.1;color:var(--heading)}
.ck-head h1 .hl{color:var(--primary)}
.ck-head p{margin:12px 0 0;font-size:15.5px;line-height:1.6;color:var(--text)}

.ck-grid{display:grid;grid-template-columns:1fr 356px;gap:26px;align-items:start}
.ck-col{display:grid;gap:16px;min-width:0}

/* ── Cartões de etapa ──────────────────────────────────────────────────── */
.ck-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.ck-card.is-open{border-color:var(--line-strong);box-shadow:var(--shadow-sm)}
.ck-card.is-locked{background:var(--surface-2);border-style:dashed}
.ck-card.is-locked .ck-card-body{display:none}
.ck-card.is-done .ck-num{background:var(--success);color:#fff}

.ck-card-head{display:flex;align-items:center;gap:14px;padding:20px 24px}
.ck-num{width:32px;height:32px;flex:none;border-radius:50%;display:grid;place-items:center;
  background:var(--brand-deep);color:#fff;font-size:14px;font-weight:600}
.ck-card.is-locked .ck-num{background:var(--line-strong);color:var(--muted)}
.ck-card-head h2{margin:0;font-size:17px;font-weight:500;letter-spacing:-.02em;color:var(--heading)}
.ck-card-head p{margin:3px 0 0;font-size:13px;color:var(--muted);line-height:1.4}
.ck-card.is-locked .ck-card-head h2{color:var(--neutral-600)}
.ck-lock{margin-left:auto;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);
  font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  background:#fff;border:1px solid var(--line);border-radius:var(--pill);padding:6px 11px;white-space:nowrap}
.ck-lock svg{width:13px;height:13px}
.ck-card:not(.is-locked) .ck-lock{display:none}
.ck-card-body{padding:4px 24px 24px}

/* ── Campos ────────────────────────────────────────────────────────────── */
.ck-label{display:block;font-size:13.5px;font-weight:500;color:var(--heading);margin:0 0 7px}
.ck-label .opt{font-weight:400;color:var(--muted)}
.ck-field{margin-bottom:14px;min-width:0}
.ck-field input{width:100%;background:#fff;border:1px solid var(--line-strong);border-radius:12px;
  padding:14px 15px;font-family:inherit;font-size:14.5px;color:var(--heading);outline:none;transition:.2s}
.ck-field input::placeholder{color:var(--neutral-500)}
.ck-field input:focus{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-050)}
.ck-field.is-bad input{border-color:var(--danger);box-shadow:0 0 0 4px rgba(240,68,56,.08)}
.ck-field.is-ok input{border-color:var(--success)}
.ck-row{display:grid;gap:0 14px}
.ck-row.cols-2{grid-template-columns:1fr 1fr}
.ck-row.cols-cep{grid-template-columns:150px 110px 1fr}
.ck-row.cols-log{grid-template-columns:1fr 110px 220px}

.ck-err{margin:0 0 12px;font-size:12.5px;color:var(--danger);display:flex;align-items:center;gap:6px}
.ck-field .ck-err{margin:6px 0 0}
.ck-help{margin:6px 0 16px;font-size:12.5px;color:var(--muted);line-height:1.5}

.ck-strength{height:5px;border-radius:5px;background:var(--line);overflow:hidden;margin-top:2px}
.ck-strength span{display:block;height:100%;width:0;border-radius:5px;background:var(--danger);
  transition:width .3s var(--ease),background .3s}

/* ── Campo com botão colado ────────────────────────────────────────────── */
.ck-join{display:flex;border:1px solid var(--line-strong);border-radius:12px;overflow:hidden;background:#fff;
  transition:.2s}
.ck-join:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-050)}
.ck-join input{flex:1;min-width:0;border:0;padding:15px;font-family:var(--font-mono);font-size:13.5px;
  letter-spacing:.02em;color:var(--heading);outline:none;text-transform:uppercase}
.ck-join input::placeholder{font-family:var(--font);text-transform:none;letter-spacing:0;color:var(--neutral-500)}
.ck-join-btn{flex:none;border:0;border-left:1px solid var(--line-strong);background:var(--surface-2);
  padding:0 20px;font-family:inherit;font-size:14px;font-weight:500;color:var(--heading);cursor:pointer;transition:.22s}
.ck-join-btn:hover{background:var(--brand-deep);color:#fff}
.ck-join-btn:disabled{color:var(--muted);cursor:progress}

/* ── Lista de CARs ─────────────────────────────────────────────────────── */
.ck-carlist{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:10px}
.ck-empty{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;
  font-size:14.5px;font-weight:500;color:var(--heading)}
.ck-caritem{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:14px 16px}
.ck-caritem .ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:rgba(18,183,106,.12);color:var(--success)}
.ck-caritem .ic svg{width:17px;height:17px}
.ck-caritem.is-pin .ic{background:var(--primary-050);color:var(--primary)}
.ck-caritem .txt{min-width:0;flex:1}
.ck-caritem b{display:block;font-family:var(--font-mono);font-size:12.5px;color:var(--heading);
  word-break:break-all;line-height:1.35;font-weight:500}
.ck-caritem span{display:block;margin-top:3px;font-size:12.5px;color:var(--muted)}
.ck-caritem .mf{flex:none;text-align:right}
.ck-caritem .mf b{font-family:var(--font);font-size:16px;font-weight:600}
.ck-caritem .mf span{font-size:11px}
.ck-del{flex:none;width:32px;height:32px;border-radius:9px;border:1px solid var(--line);background:#fff;
  color:var(--muted);cursor:pointer;display:grid;place-items:center;transition:.2s}
.ck-del:hover{border-color:var(--danger);color:var(--danger)}
.ck-del svg{width:15px;height:15px}
.ck-sim{display:inline-flex;align-items:center;gap:5px;margin-top:5px;font-family:var(--font-mono);
  font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--warning);
  background:rgba(247,144,9,.1);border-radius:var(--pill);padding:3px 8px}

.ck-note{margin:12px 0 0;font-size:12.5px;color:var(--muted)}
.ck-note.is-ok{color:var(--success)}
.ck-mapbtn{margin-top:16px}

/* ── Plano liberado ────────────────────────────────────────────────────── */
.ck-plano{background:var(--brand-deep-2);border-radius:var(--radius-sm);padding:22px;color:var(--neutral-400);
  position:relative;overflow:hidden}
.ck-plano::after{content:"";position:absolute;width:260px;height:260px;right:-110px;top:-130px;border-radius:50%;
  background:radial-gradient(circle,rgba(252,75,8,.28),transparent 68%);pointer-events:none}
.ck-plano > *{position:relative;z-index:1}
.ck-plano .kick{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--primary-bright)}
.ck-plano .top{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.ck-plano h3{margin:6px 0 0;font-size:21px;font-weight:500;color:#fff;letter-spacing:-.02em}
.ck-plano .faixa{display:block;margin-top:4px;font-size:13px;color:var(--neutral-500)}
.ck-plano .price{font-size:26px;font-weight:600;color:#fff;letter-spacing:-.02em;white-space:nowrap}
.ck-plano .price small{font-size:12.5px;font-weight:400;color:var(--neutral-500)}
.ck-plano ul{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:9px 18px}
.ck-plano li{display:flex;gap:8px;font-size:13px;color:var(--neutral-400);line-height:1.45}
.ck-plano li svg{width:15px;height:15px;color:var(--primary-bright);flex:none;margin-top:2px}
.ck-plano .why{margin:16px 0 0;font-size:12.5px;color:var(--neutral-500);display:flex;gap:8px;align-items:flex-start}
.ck-plano .why svg{width:15px;height:15px;color:var(--primary-bright);flex:none;margin-top:2px}

/* ── Pagamento ─────────────────────────────────────────────────────────── */
.ck-pays{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.ck-pay{display:flex;align-items:center;gap:11px;border:1px solid var(--line-strong);border-radius:14px;
  padding:14px;cursor:pointer;transition:.22s;background:#fff}
.ck-pay:hover{border-color:var(--neutral-500)}
.ck-pay input{position:absolute;opacity:0;pointer-events:none}
.ck-pay .ic{width:34px;height:34px;flex:none;border-radius:10px;display:grid;place-items:center;
  background:var(--surface-2);color:var(--neutral-600)}
.ck-pay .ic svg{width:17px;height:17px}
.ck-pay b{display:block;font-size:13.5px;font-weight:500;color:var(--heading)}
.ck-pay small{display:block;margin-top:2px;font-size:11.5px;color:var(--muted);line-height:1.3}
.ck-pay:has(input:checked){border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-050)}
.ck-pay:has(input:checked) .ic{background:var(--primary-tint);color:var(--primary)}

.ck-check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--text);line-height:1.5;
  margin-bottom:18px;cursor:pointer}
.ck-check input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--primary)}
.ck-check a{color:var(--primary);text-decoration:underline}
.ck-submit{width:100%;justify-content:center;padding:16px 24px;font-size:15.5px}

/* ── Resumo lateral ────────────────────────────────────────────────────── */
.ck-side{position:sticky;top:96px}
.ck-resumo{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px;
  box-shadow:var(--shadow-sm)}
.ck-resumo h3{margin:0 0 14px;font-size:16px;font-weight:500;color:var(--heading);letter-spacing:-.02em}
.ck-res-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;
  border-bottom:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.ck-res-row b{color:var(--heading);font-weight:500;text-align:right}
.ck-total{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:16px 0 4px;
  font-size:14px;color:var(--muted)}
.ck-total b{font-size:24px;font-weight:600;color:var(--heading);letter-spacing:-.02em}
.ck-trust{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--line);display:grid;gap:9px}
.ck-trust li{display:flex;gap:9px;font-size:12.5px;color:var(--muted);line-height:1.45}
.ck-trust li svg{width:15px;height:15px;color:var(--primary);flex:none;margin-top:2px}

/* ── Sucesso ───────────────────────────────────────────────────────────── */
.ck-ok{text-align:center;padding:26px 10px}
.ck-ok .ic{width:64px;height:64px;margin:0 auto;border-radius:50%;display:grid;place-items:center;
  background:rgba(18,183,106,.12);color:var(--success)}
.ck-ok .ic svg{width:30px;height:30px}
.ck-ok h3{margin:16px 0 0;font-size:20px;font-weight:500;color:var(--heading);letter-spacing:-.02em}
.ck-ok p{margin:8px auto 0;font-size:14px;color:var(--text);max-width:440px;line-height:1.6}
.ck-ok .cta{display:flex;gap:10px;justify-content:center;margin-top:20px;flex-wrap:wrap}

.ck-foot{margin-top:40px}
.ck-foot .foot-legal{border-top:0;margin:0;padding:26px 0}

/* ── Responsivo ────────────────────────────────────────────────────────── */
@media(max-width:1040px){
  .ck-grid{grid-template-columns:1fr}
  .ck-side{position:static}
}
@media(max-width:720px){
  .ck-main{padding:96px 0 50px}
  .ck-row.cols-2,.ck-row.cols-cep,.ck-row.cols-log{grid-template-columns:1fr}
  .ck-pays{grid-template-columns:1fr}
  .ck-card-head{padding:18px 18px;flex-wrap:wrap}
  .ck-lock{margin-left:0;order:3;width:100%;justify-content:center}
  .ck-card-body{padding:0 18px 20px}
  .ck-join{flex-direction:column}
  .ck-join-btn{border-left:0;border-top:1px solid var(--line-strong);padding:14px}
  .ck-plano ul{grid-template-columns:1fr}
  .ck-caritem{flex-wrap:wrap}
  .ck-caritem .mf{text-align:left}
}
