/* ===== Diekastautofill — cart, checkout, order, track (Phase 3) =====
   Additive only. /styles.css owns the shell, buttons and type; /css/store.css
   owns the catalogue UI. Everything here is commerce UI in the same language:
   bone + cobalt + lime, 2.5–3px ink borders, hard offset shadows, Space Mono
   for labels. Breakpoints match v2 exactly: 880px and 520px.

   MOBILE FIRST — most Indian traffic is mobile, and this is the one flow where
   a cramped layout costs an order. Single column by default; the two-column
   cart/checkout grid only appears from 880px up. Every tap target is ≥44px and
   every numeric input opens the numeric keypad (inputmode is set in the HTML).
*/

.ck{max-width:var(--maxw);margin:0 auto;padding:32px 18px 72px}
.ck__title{font-size:clamp(38px,10vw,76px);margin:6px 0 22px}
.ck-muted{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;opacity:.7}

/* ── layout ────────────────────────────────────────────────────────── */
.ck-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:start}
.ck-main{min-width:0}
.ck-side{min-width:0;border:3px solid var(--ink);background:var(--card);
  box-shadow:6px 6px 0 var(--ink);padding:20px}
.ck-side__title{font-family:var(--mono);font-size:12.5px;text-transform:uppercase;
  letter-spacing:.12em;margin:0 0 14px;padding-bottom:10px;border-bottom:2.5px solid var(--ink)}
.ck-main .ck-side__title{margin-top:32px}
.ck-main .ck-side__title:first-child{margin-top:0}

/* ── banners ───────────────────────────────────────────────────────── */
.ck-banner{border:3px solid var(--ink);padding:14px 16px;margin-bottom:22px;
  font-size:15px;box-shadow:5px 5px 0 var(--ink)}
.ck-banner--err{background:#ffe9e4}
.ck-banner--ok{background:var(--lime)}
.ck-notice{border:2.5px dashed var(--ink);padding:12px 14px;margin-top:18px;
  font-family:var(--mono);font-size:12.5px;line-height:1.6}

/* ── line items ────────────────────────────────────────────────────── */
.ck-lines{list-style:none;margin:0;padding:0}
.ck-line{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:start;
  padding:16px 0;border-bottom:2px solid rgba(22,21,15,.18)}
.ck-line:first-child{padding-top:0}
.ck-line.is-out{opacity:.62}
.ck-line__img{grid-row:span 2;width:64px;height:64px;object-fit:cover;
  border:2.5px solid var(--ink);background:var(--card)}
.ck-line__body{display:flex;flex-direction:column;gap:4px;min-width:0}
.ck-line__name{font-family:var(--disp);font-weight:700;font-size:17px;line-height:1.2;
  border-bottom:2px solid transparent}
.ck-line__name:hover{color:var(--blue);border-color:var(--blue)}
.ck-line__variant{font-family:var(--mono);font-size:12px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--blue)}
.ck-line__meta{font-family:var(--mono);font-size:11.5px;letter-spacing:.04em;opacity:.72}
.ck-line__price{font-family:var(--disp);font-weight:800;font-size:19px;white-space:nowrap}
.ck-line__flag{font-family:var(--mono);font-size:11px;text-transform:uppercase;
  letter-spacing:.06em;padding:3px 7px;border:2px solid var(--ink);background:#ffe9e4;
  align-self:flex-start}
.ck-line__flag--info{background:var(--lime)}
.ck-line__remove{align-self:flex-start;margin-top:4px;background:none;border:0;padding:6px 0;
  font-family:var(--mono);font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;
  opacity:.7;cursor:pointer;border-bottom:2px solid transparent;min-height:32px}
.ck-line__remove:hover{opacity:1;color:var(--blue);border-color:var(--blue)}
.qty--sm{margin-top:8px}
.qty--sm .qty__btn{min-width:38px;min-height:38px}

.ck-empty{padding:36px 0}
.ck-empty .btn{margin-top:18px}

/* ── totals ────────────────────────────────────────────────────────── */
.ck-total{margin:6px 0 0;padding-top:14px;border-top:2.5px solid var(--ink)}
.ck-total__row{display:flex;justify-content:space-between;gap:16px;
  font-family:var(--mono);font-size:13.5px;padding:7px 0}
.ck-total__row--cod span:first-child::before{content:"+ "}
.ck-total__row--save{color:var(--blue)}
.ck-total__row--grand{margin-top:8px;padding-top:12px;border-top:2.5px solid var(--ink);
  font-family:var(--disp);font-weight:800;font-size:24px;text-transform:uppercase}
.ck-free{background:var(--lime);padding:0 .3em;font-family:var(--mono);font-size:11px;
  text-transform:uppercase;letter-spacing:.08em}
.ck-ship-note{font-family:var(--mono);font-size:12px;line-height:1.6;margin:10px 0 0;opacity:.8}
.ck-ship-note.is-good{background:var(--lime);opacity:1;padding:6px 8px;display:inline-block}
.ck-rules{list-style:none;margin:16px 0 0;padding:14px 0 0;border-top:2px solid rgba(22,21,15,.18);
  font-size:13px;line-height:1.6}
.ck-rules li+li{margin-top:10px}

.ck-cta{width:100%;text-align:center;margin-top:18px}
.ck-cta.is-disabled{pointer-events:none;opacity:.45;box-shadow:none}
button.ck-cta{cursor:pointer}
button.ck-cta:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:5px 5px 0 var(--ink)}
.ck-back{display:inline-block;margin-top:16px;font-family:var(--mono);font-size:12.5px;
  letter-spacing:.04em;border-bottom:2px solid transparent}
.ck-back:hover{color:var(--blue);border-color:var(--blue)}

/* ── form sections ─────────────────────────────────────────────────── */
.ck-sec{border:3px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 var(--ink);
  padding:20px 18px;margin:0 0 26px}
.ck-sec__legend{font-family:var(--disp);font-weight:800;font-size:19px;text-transform:uppercase;
  letter-spacing:-.01em;padding:0 8px;background:var(--lime);border:2.5px solid var(--ink);
  display:flex;align-items:center;gap:8px}
.ck-sec__n{font-family:var(--mono);font-size:13px;background:var(--ink);color:var(--bg);
  width:22px;height:22px;display:inline-grid;place-items:center}

.ck-field{margin-bottom:16px}
.ck-row{display:grid;grid-template-columns:1fr;gap:0}
.ck-label{display:flex;align-items:baseline;gap:8px;font-family:var(--mono);font-size:11.5px;
  text-transform:uppercase;letter-spacing:.1em;margin-bottom:6px}
.ck-req{color:var(--blue)}
.ck-opt{font-size:10.5px;opacity:.55;letter-spacing:.06em;text-transform:none}
.ck-input-wrap{display:flex;align-items:stretch}
.ck-prefix{display:grid;place-items:center;padding:0 12px;font-family:var(--mono);font-size:14px;
  background:var(--ink);color:var(--bg);border:2.5px solid var(--ink);border-right:0}
.ck-input{width:100%;min-height:48px;padding:11px 12px;font-family:var(--body);font-size:16px;
  color:var(--ink);background:#fff;border:2.5px solid var(--ink);border-radius:0;
  -webkit-appearance:none;appearance:none}
.ck-input:focus{outline:0;box-shadow:4px 4px 0 var(--blue);border-color:var(--blue)}
.ck-field.is-error .ck-input{border-color:#c62b12;background:#fff6f4}
.ck-err{font-family:var(--mono);font-size:12px;line-height:1.55;margin:6px 0 0;color:#a8240f}
.ck-hint{font-size:12.5px;line-height:1.55;margin:6px 0 0;opacity:.68}
.ck-pin-status{font-family:var(--mono);font-size:12px;line-height:1.6;margin:-8px 0 16px;min-height:1em}
.ck-pin-status.is-good{background:var(--lime);display:inline-block;padding:4px 8px}

/* ── payment options ───────────────────────────────────────────────── */
.ck-pay{display:flex;gap:12px;align-items:flex-start;padding:14px;margin-bottom:12px;
  border:2.5px solid var(--ink);background:#fff;cursor:pointer;min-height:56px}
.ck-pay input{margin-top:4px;width:20px;height:20px;accent-color:var(--blue);flex:0 0 auto}
.ck-pay.is-selected{background:var(--lime);box-shadow:5px 5px 0 var(--ink)}
.ck-pay.is-disabled{opacity:.55;cursor:not-allowed;background:rgba(22,21,15,.05)}
.ck-pay__body{display:flex;flex-direction:column;gap:5px}
.ck-pay__title{font-family:var(--disp);font-weight:700;font-size:16px;line-height:1.25}
.ck-pay__sub{font-size:13px;line-height:1.55;opacity:.82}

/* ── trust block — sits directly above the submit button (benchmark §15) ── */
.ck-trust{margin:20px 0 0;padding:14px 0 0;border-top:2.5px solid var(--ink)}
.ck-trust__row{font-size:13px;line-height:1.6;margin:0 0 9px}
.ck-trust__row a{color:var(--blue);border-bottom:2px solid var(--blue)}
.ck-trust__row--muted{font-family:var(--mono);font-size:11.5px;letter-spacing:.03em;opacity:.72}
.ck-fineprint{font-family:var(--mono);font-size:11px;line-height:1.6;margin:12px 0 0;opacity:.7}
.ck-fineprint a{border-bottom:2px solid currentColor}

/* ── order page ────────────────────────────────────────────────────── */
.ck-status{border:3px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 var(--ink);
  padding:18px;margin-bottom:28px}
.ck-status__pill{display:inline-block;font-family:var(--mono);font-weight:700;font-size:12px;
  text-transform:uppercase;letter-spacing:.08em;padding:7px 12px;border:2.5px solid var(--ink);
  background:var(--lime)}
.ck-status__pill--shipped,.ck-status__pill--delivered{background:var(--blue);color:#fff}
.ck-status__pill--rto,.ck-status__pill--cancelled{background:#ffd7cd}
.ck-status__pill--refunded{background:#fff}
.ck-status__note{font-size:14.5px;line-height:1.6;margin:12px 0 0}
.ck-steps{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;
  font-family:var(--mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em}
.ck-step{padding:5px 9px;border:2px solid rgba(22,21,15,.3);opacity:.5}
.ck-step.is-done{opacity:1;border-color:var(--ink);background:var(--lime)}
.ck-addr{font-style:normal;font-size:15px;line-height:1.7;border-left:4px solid var(--blue);
  padding-left:14px}
.ck-ship{font-size:15px;line-height:1.7}
.ck-ship a{color:var(--blue);border-bottom:2px solid var(--blue)}
.ck-paystate{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;margin:14px 0 4px;
  text-transform:capitalize}
.ck-paybox{border:3px solid var(--blue);background:#fff;box-shadow:6px 6px 0 var(--blue);
  padding:18px;margin-bottom:28px}
.ck-paybox p{margin:0 0 14px;font-size:15px}

/* ── track ─────────────────────────────────────────────────────────── */
.ck-track-form{border:3px solid var(--ink);background:var(--card);box-shadow:6px 6px 0 var(--ink);
  padding:20px;max-width:460px;margin:24px 0}
.ck-track-form .btn{width:100%;margin-top:6px}
.ck--track .ck-muted{max-width:460px;line-height:1.7}
.ck--track .ck-muted a{color:var(--blue);border-bottom:2px solid var(--blue)}

/* ── 520px+ ────────────────────────────────────────────────────────── */
@media (min-width:520px){
  .ck{padding:40px 28px 84px}
  .ck-row{grid-template-columns:1fr 1fr;gap:0 16px}
  .ck-line__img{width:72px;height:72px}
}

/* ── 880px+ : the two-column commerce layout ───────────────────────── */
@media (min-width:880px){
  .ck-grid{grid-template-columns:minmax(0,1fr) 380px;gap:40px}
  .ck-side{position:sticky;top:96px}
  .ck-sec{padding:24px}
}

/* Sticky summary must not fight a short viewport. */
@media (min-width:880px) and (max-height:760px){
  .ck-side{position:static}
}

@media (prefers-reduced-motion:reduce){
  .ck-line__name,.ck-back,.ck-input{transition:none}
}
