/* ==========================================================
   CHECKOUT — single column, cart at top, form, place order
   ========================================================== */

.woocommerce-checkout .woo-wrap {
  display: block !important;            /* override the 2-col grid */
  grid-template-columns: 1fr !important;
  max-width: 720px;
  margin: 0 auto;
}

.woocommerce-checkout #order_review_heading,
.woocommerce-checkout > h1,
.woocommerce-checkout .entry-title {
  display: none;
}

/* Stack of panels */
.ck-stack {
  display: flex;
  flex-direction: column;
  gap: var(--sp-5);
}

/* Card base */
.ck-card {
  background: var(--c-bg);
  border: 1px solid var(--c-line);
  border-radius: var(--radius-lg);
  padding: var(--sp-6) var(--sp-6);
  box-shadow: var(--shadow-sm);
}
@media (max-width: 640px) {
  .ck-card { padding: var(--sp-5) var(--sp-4); border-radius: var(--radius); }
}

.ck-title {
  display: flex; align-items: center; gap: var(--sp-2);
  margin: 0 0 var(--sp-5);
  font-size: var(--fs-xl);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-tight);
}
.ck-title svg { width: 22px; height: 22px; flex: 0 0 22px; }

/* ==================== CART PANEL ==================== */
.ck-cart-panel { position: relative; transition: opacity var(--t-fast); }
.ck-cart-panel.is-busy { opacity: 0.6; pointer-events: none; }

.ck-cart-head {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: var(--sp-4);
}
.ck-cart-head .ck-title { margin: 0; }
.ck-cart-count {
  font-size: var(--fs-xs);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--c-muted);
  font-weight: var(--fw-medium);
}

.ck-cart-empty { padding: var(--sp-4) 0; }
.ck-cart-empty a { text-decoration: underline; text-underline-offset: 3px; }

.ck-cart-list {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
  gap: var(--sp-3);
}

.ck-cart-item {
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: var(--sp-4);
  padding: var(--sp-4) 0;
  border-bottom: 1px solid var(--c-line-soft);
  align-items: center;
}
.ck-cart-item:last-child { border-bottom: 0; padding-bottom: 0; }

.ck-cart-thumb {
  display: block;
  width: 72px; height: 90px;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--c-bg-cream);
}
.ck-cart-thumb img {
  width: 100%; height: 100%; object-fit: cover; object-position: center;
  display: block;
}

.ck-cart-info { min-width: 0; }
.ck-cart-name {
  margin: 0 0 4px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  letter-spacing: 0;
  line-height: 1.35;
}
.ck-cart-name a { color: inherit; }
.ck-cart-meta { font-size: var(--fs-xs); color: var(--c-muted); margin-bottom: var(--sp-2); }
.ck-cart-meta strong { color: var(--c-ink); font-weight: var(--fw-medium); }

/* Quantity controls */
.ck-qty {
  display: inline-flex;
  align-items: center;
  gap: var(--sp-1);
  margin-top: 2px;
}
.ck-qty__btn {
  width: 30px; height: 30px;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid var(--c-line);
  border-radius: 8px;
  background: var(--c-bg);
  font-size: 18px; line-height: 1;
  color: var(--c-ink);
  font-weight: 500;
  cursor: pointer;
  transition: background var(--t-fast), border-color var(--t-fast);
  user-select: none;
}
.ck-qty__btn:hover { background: var(--c-bg-cream); border-color: var(--c-ink); }
.ck-qty__btn:active { transform: scale(0.95); }
.ck-qty__num {
  min-width: 28px;
  text-align: center;
  font-variant-numeric: tabular-nums;
  font-weight: var(--fw-semibold);
  font-size: var(--fs-base);
}
.ck-cart-remove {
  margin-left: var(--sp-3);
  background: none; border: 0; padding: 0;
  font-size: var(--fs-xs);
  color: var(--c-danger);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ck-cart-remove:hover { color: #8a1f15; }

/* Prices column */
.ck-cart-prices {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  white-space: nowrap;
}
.ck-cart-was {
  color: var(--c-muted);
  font-size: var(--fs-xs);
  text-decoration: line-through;
}
.ck-cart-now {
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  color: var(--c-ink);
}
.ck-cart-was .woocommerce-Price-amount,
.ck-cart-now .woocommerce-Price-amount { font-variant-numeric: tabular-nums; }

/* Subtotal row inside cart panel */
.ck-cart-total {
  display: flex; justify-content: space-between; align-items: center;
  margin-top: var(--sp-5);
  padding-top: var(--sp-4);
  border-top: 2px solid var(--c-ink);
}
.ck-cart-total__label {
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
}
.ck-cart-total__value {
  background: var(--c-ink);
  color: var(--c-bg);
  padding: 10px 18px;
  border-radius: 10px;
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  font-variant-numeric: tabular-nums;
}
.ck-cart-total__value .woocommerce-Price-amount { color: inherit; }

@media (max-width: 480px) {
  .ck-cart-item { grid-template-columns: 60px 1fr; gap: var(--sp-3); }
  .ck-cart-thumb { width: 60px; height: 80px; }
  .ck-cart-prices { grid-column: 1 / -1; flex-direction: row; justify-content: flex-end; align-items: baseline; gap: var(--sp-2); }
}

/* ==================== FORM PANEL ==================== */
.ck-form-panel .form-row {
  margin: 0 0 var(--sp-3) !important;
  padding: 0 !important;
  width: 100% !important;
  float: none !important;
}
.ck-form-panel .form-row label {
  display: block;
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: var(--ls-wide);
  text-transform: uppercase;
  color: var(--c-muted);
  margin-bottom: 6px;
}
.ck-form-panel .form-row label .required,
.ck-form-panel .form-row label abbr { color: var(--c-danger); margin-left: 2px; text-decoration: none; }

.ck-form-panel .form-row .input-text,
.ck-form-panel .form-row textarea,
.ck-form-panel .form-row select {
  width: 100% !important;
  padding: 14px 16px !important;
  height: auto !important;
  min-height: 52px;
  border: 1.5px solid var(--c-line) !important;
  border-radius: var(--radius) !important;
  background: var(--c-bg);
  font-family: inherit !important;
  /* 16px is the iOS-Safari threshold below which the OS auto-zooms on focus. */
  font-size: 16px !important;
  line-height: 1.4 !important;
  color: var(--c-ink);
  transition: border-color var(--t-fast), box-shadow var(--t-fast);
}
.ck-form-panel .form-row .input-text:focus,
.ck-form-panel .form-row textarea:focus,
.ck-form-panel .form-row select:focus {
  outline: 0;
  border-color: var(--c-ink);
  box-shadow: 0 0 0 3px rgba(10,10,10,0.08);
}

.ck-form-panel .woocommerce-billing-fields h3,
.ck-form-panel .woocommerce-additional-fields h3 { display: none; }

/* Force one-column form regardless of WC's "first/last" classes */
.ck-form-panel .form-row-first,
.ck-form-panel .form-row-last,
.ck-form-panel .form-row-wide { width: 100% !important; }

/* select2 fixes */
.ck-form-panel .select2-container--default .select2-selection--single {
  height: 52px;
  border: 1.5px solid var(--c-line);
  border-radius: var(--radius);
  padding: 14px 16px;
  background: var(--c-bg);
}
.ck-form-panel .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 1.4 !important;
  padding: 0 !important;
  color: var(--c-ink);
}
.ck-form-panel .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 100%; right: 12px;
}

/* Hidden auto-fill fields */
.ck-form-panel #billing_email_field,
.ck-form-panel #billing_postcode_field,
.ck-form-panel #billing_country_field,
.ck-form-panel #billing_state_field { display: none !important; }

/* Trust perks below form */
.ck-perks {
  list-style: none;
  padding: var(--sp-4) var(--sp-5);
  margin: var(--sp-5) 0 0;
  background: var(--c-bg-cream);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
}
.ck-perks li { display: flex; align-items: center; gap: var(--sp-2); }

/* ==================== PLACE ORDER PANEL ==================== */
.ck-place-panel { padding-top: var(--sp-5); padding-bottom: var(--sp-5); }
.ck-place-panel .woocommerce-checkout-payment {
  background: transparent !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

/* Totals summary */
.ck-totals {
  display: flex; flex-direction: column; gap: 0;
  border: 1px solid var(--c-line);
  border-radius: var(--radius);
  padding: var(--sp-4);
  margin-bottom: var(--sp-5);
  background: var(--c-bg-warm);
}
.ck-totals__row {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 8px 0;
  font-size: var(--fs-sm);
  border-bottom: 1px dashed var(--c-line-soft);
}
.ck-totals__row:last-child { border-bottom: 0; }
.ck-totals__row strong { font-weight: var(--fw-semibold); }
.ck-totals__row--saved strong { color: var(--c-danger); }
.ck-totals__row--total {
  margin-top: var(--sp-2);
  padding-top: var(--sp-3);
  border-top: 2px solid var(--c-ink) !important;
  border-bottom: 0 !important;
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
}
.ck-totals__row--total strong { font-size: var(--fs-lg); font-variant-numeric: tabular-nums; }
.ck-free { color: var(--c-success); font-weight: var(--fw-semibold); }

/* Payment methods (COD-only is hidden if just one) */
.ck-place-panel ul.payment_methods {
  list-style: none; padding: 0; margin: 0 0 var(--sp-5); border: 0;
}
.ck-place-panel ul.payment_methods li {
  background: var(--c-bg);
  border: 1.5px solid var(--c-line);
  border-radius: var(--radius);
  padding: var(--sp-4) var(--sp-5);
  margin-bottom: var(--sp-2);
}
.ck-place-panel ul.payment_methods li label {
  font-weight: var(--fw-medium);
  display: inline-flex;
  align-items: center;
  gap: var(--sp-2);
}
.ck-place-panel ul.payment_methods li .payment_box {
  background: var(--c-bg-warm);
  padding: var(--sp-3);
  border-radius: var(--radius-sm);
  margin-top: var(--sp-3);
  font-size: var(--fs-sm);
}
.ck-place-panel ul.payment_methods li .payment_box::before { display: none; }

/* Hide single payment method radio (COD only) but keep label readable */
.ck-place-panel.single-payment ul.payment_methods li input[type="radio"] { display: none; }

/* The main CTA — full-width, premium feel with subtle gradient + glow */
.ck-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sp-3);
  width: 100%;
  padding: 22px 28px;
  border: 0;
  border-radius: var(--radius);
  background: linear-gradient(180deg, #1a1a1a 0%, #0A0A0A 100%);
  color: var(--c-bg);
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background var(--t-fast), transform var(--t-fast), box-shadow var(--t-fast);
  box-shadow: 0 6px 20px rgba(10,10,10,0.18), inset 0 1px 0 rgba(255,255,255,0.08);
  font-family: inherit;
  margin-top: var(--sp-3);
  position: relative;
  overflow: hidden;
}
.ck-cta::before {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(120% 60% at 50% 0%, rgba(200,169,126,0.18), transparent 60%);
  opacity: 0;
  transition: opacity var(--t);
  pointer-events: none;
}
.ck-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(10,10,10,0.24), inset 0 1px 0 rgba(255,255,255,0.10);
}
.ck-cta:hover::before { opacity: 1; }
.ck-cta:active { transform: translateY(0); }
.ck-cta:disabled { opacity: 0.5; cursor: not-allowed; }
.ck-cta__lock { font-size: 0.85em; }
.ck-cta__label { font-weight: var(--fw-bold); }
.ck-cta__price { font-weight: var(--fw-bold); font-variant-numeric: tabular-nums; color: var(--c-accent); margin-left: 4px; }
.ck-cta__price .woocommerce-Price-amount { color: inherit; }
@media (max-width: 480px) {
  .ck-cta { padding: 18px 20px; font-size: var(--fs-sm); }
}

#order_review.is-busy { opacity: 0.6; pointer-events: none; transition: opacity var(--t-fast); }

/* Notices inside checkout */
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info {
  margin-bottom: var(--sp-4);
}

/* Hide the default order review heading and totals table (we render our own) */
.woocommerce-checkout-review-order-table { display: none; }

/* Mobile tweaks */
@media (max-width: 640px) {
  .ck-cta { padding: 18px 18px; font-size: var(--fs-sm); }
  .ck-cart-total__value { padding: 8px 14px; }
}

/* ==========================================================
   ECONT CHECKOUT — modern minimal (v3)
   Clean, high-contrast, airy. Scoped to the checkout only.
   ========================================================== */
.woocommerce-checkout {
  --cko-ink:   #0B0B0C;
  --cko-ink-2: #303237;
  --cko-sub:   #6B7280;
  --cko-faint: #9AA0A8;
  --cko-line:  #E8E9EC;
  --cko-line-2:#D7D9DE;
  --cko-bg:    #FFFFFF;
  --cko-soft:  #F6F7F9;
  --cko-soft-2:#F1F2F4;
  --cko-ok:    #0E7A45;
  --cko-ok-bg: #E7F4EC;
  --cko-r:     16px;
  --cko-r-sm:  11px;
  --cko-ease:  180ms cubic-bezier(.4,0,.2,1);
}

/* Full-width content, hide the page H1 */
.woocommerce-checkout .page-content,
.woocommerce-checkout .page-body { max-width: 1140px !important; }
.woocommerce-checkout .woocommerce { width: 100%; }
.woocommerce-checkout .page-content > h1,
.woocommerce-checkout .entry-title { display: none !important; }

.cko-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 384px;
  gap: 28px;
  align-items: start;
}
.cko-main { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.cko-aside { position: sticky; top: 18px; }
@media (max-width: 980px) {
  .cko-grid { grid-template-columns: 1fr; gap: 18px; }
  .cko-aside { position: static; order: -1; }
}

/* ---------- Cards ---------- */
.cko-section, .cko-summary {
  background: var(--cko-bg);
  border: 1px solid var(--cko-line);
  border-radius: var(--cko-r);
  padding: 28px 30px;
  box-shadow: 0 1px 2px rgba(16,18,23,0.03);
}
@media (max-width: 560px) {
  .cko-section, .cko-summary { padding: 22px 18px; border-radius: var(--cko-r-sm); }
}

/* ---------- Section heading ---------- */
.cko-h {
  display: flex; align-items: center; gap: 12px;
  margin: 0 0 22px;
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -0.01em;
  color: var(--cko-ink);
}
.cko-step {
  flex: 0 0 26px;
  width: 26px; height: 26px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--cko-ink); color: #fff;
  border-radius: 50%;
  font-size: 12px; font-weight: 600;
  letter-spacing: 0;
}
.cko-h--sum { font-size: 15px; letter-spacing: 0.02em; text-transform: uppercase; color: var(--cko-sub); font-weight: 600; margin-bottom: 18px; }

/* ---------- Fields ---------- */
.cko-field { margin-bottom: 16px; }
.cko-field:last-child { margin-bottom: 0; }
.cko-field > label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--cko-sub);
  margin-bottom: 7px;
}
.cko-req { color: #C0392B; font-weight: 700; }
.cko-hint { margin: 7px 0 0; font-size: 12px; color: var(--cko-faint); }

.cko-input {
  width: 100%;
  padding: 0 15px;
  height: 50px;
  border: 1.5px solid var(--cko-line-2);
  border-radius: var(--cko-r-sm);
  background: var(--cko-bg);
  font-family: inherit;
  font-size: 16px;            /* iOS no-zoom */
  line-height: 1.4;
  color: var(--cko-ink);
  transition: border-color var(--cko-ease), box-shadow var(--cko-ease), background var(--cko-ease);
  -webkit-appearance: none; appearance: none;
}
textarea.cko-input { height: auto; min-height: 88px; padding: 13px 15px; resize: vertical; }
.cko-input::placeholder { color: var(--cko-faint); }
.cko-input:hover { border-color: var(--cko-ink-2); }
.cko-input:focus {
  outline: 0;
  border-color: var(--cko-ink);
  box-shadow: 0 0 0 4px rgba(11,11,12,0.07);
}
.cko-input:disabled { background: var(--cko-soft); border-color: var(--cko-line); color: var(--cko-faint); cursor: not-allowed; }

.cko-row2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cko-row2--street { grid-template-columns: 1fr 96px; }
@media (max-width: 440px) { .cko-row2 { grid-template-columns: 1fr; } .cko-row2--street { grid-template-columns: 1fr 88px; } }

/* ---------- Delivery method toggle (segmented) ---------- */
.cko-toggle {
  display: grid; grid-template-columns: 1fr 1fr; gap: 0;
  border: 1.5px solid var(--cko-line-2);
  border-radius: var(--cko-r-sm);
  overflow: hidden;
  background: var(--cko-bg);
}
.cko-toggle__btn {
  display: flex; align-items: center; justify-content: center; gap: 9px;
  padding: 15px 12px;
  border: 0;
  background: transparent;
  font-family: inherit; font-size: 14px; font-weight: 550;
  color: var(--cko-sub); cursor: pointer;
  transition: color var(--cko-ease), background var(--cko-ease);
  position: relative;
}
.cko-toggle__btn + .cko-toggle__btn { border-left: 1.5px solid var(--cko-line-2); }
.cko-toggle__btn svg { width: 18px; height: 18px; stroke-width: 1.6; flex: 0 0 18px; }
.cko-toggle__btn:hover { color: var(--cko-ink); }
.cko-toggle__btn.is-active { background: var(--cko-ink); color: #fff; font-weight: 600; }
.cko-toggle__btn.is-active svg { stroke: #fff; }
.cko-toggle__check { display: none; margin-left: 2px; }
.cko-toggle__check svg { width: 13px !important; height: 13px !important; flex: 0 0 13px; }
.cko-toggle__btn.is-active .cko-toggle__check { display: inline-flex; align-items: center; }
@media (max-width: 380px) { .cko-toggle__btn { font-size: 13px; padding: 13px 8px; gap: 6px; } }

/* ---------- Autocomplete dropdown ---------- */
.cko-ac { position: relative; }
.cko-ac-list {
  list-style: none; margin: 6px 0 0; padding: 5px;
  position: absolute; z-index: 50; left: 0; right: 0; top: 100%;
  max-height: 320px; overflow-y: auto;
  background: var(--cko-bg);
  border: 1px solid var(--cko-line-2);
  border-radius: var(--cko-r-sm);
  box-shadow: 0 16px 40px rgba(16,18,23,0.16);
}
.cko-ac-item {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 11px;
  border-radius: 8px;
  cursor: pointer;
  font-size: 15px; color: var(--cko-ink);
  transition: background var(--cko-ease);
}
.cko-ac-item:hover, .cko-ac-item.is-active { background: var(--cko-soft); }
.cko-ac-item--office { flex-direction: column; align-items: flex-start; gap: 3px; }
.cko-ac-badge {
  flex: 0 0 auto;
  font-size: 11px; font-weight: 700; letter-spacing: 0.02em;
  padding: 2px 8px; border-radius: 6px; line-height: 1.5;
}
.cko-ac-badge.is-grad { background: var(--cko-ok-bg); color: var(--cko-ok); }
.cko-ac-badge.is-vil  { background: var(--cko-soft-2); color: var(--cko-sub); }
.cko-ac-main { flex: 1 1 auto; min-width: 0; font-weight: 500; }
.cko-ac-region { color: var(--cko-faint); font-weight: 400; }
.cko-ac-sub { font-size: 12px; color: var(--cko-faint); }
.cko-ac-post { flex: 0 0 auto; color: var(--cko-faint); font-variant-numeric: tabular-nums; font-size: 13px; }

/* ---------- Payment (COD) ---------- */
.cko-pay ul.payment_methods { list-style: none; padding: 0; margin: 0 0 16px; border: 0; }
.cko-pay ul.payment_methods li {
  background: var(--cko-soft);
  border: 1.5px solid var(--cko-line);
  border-radius: var(--cko-r-sm);
  padding: 16px 18px;
}
.cko-pay ul.payment_methods li label { font-weight: 600; color: var(--cko-ink); display: inline-flex; align-items: center; gap: 8px; }
.cko-pay ul.payment_methods li input[type="radio"] { display: none; }
.cko-pay ul.payment_methods li .payment_box {
  background: transparent; padding: 8px 0 0; margin: 8px 0 0;
  font-size: 13px; color: var(--cko-sub);
}
.cko-pay ul.payment_methods li .payment_box::before { display: none; }
.cko-pay .woocommerce-checkout-payment { background: transparent !important; padding: 0 !important; border: 0 !important; }
.cko-pay .form-row.place-order { padding: 0 !important; margin: 0 !important; }
.cko-pay .woocommerce-terms-and-conditions-wrapper { margin: 0 0 16px; font-size: 13px; color: var(--cko-sub); }

/* ---------- CTA (flat, modern) ---------- */
.cko-pay #place_order,
.cko-pay .ck-cta {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  width: 100%;
  padding: 17px 24px;
  border: 0; border-radius: var(--cko-r-sm);
  background: var(--cko-ink);
  color: #fff;
  font-family: inherit; font-size: 16px; font-weight: 650;
  letter-spacing: 0.01em; text-transform: none;
  cursor: pointer;
  box-shadow: none;
  transition: transform var(--cko-ease), background var(--cko-ease), box-shadow var(--cko-ease);
}
.cko-pay #place_order::before, .cko-pay .ck-cta::before { display: none; }
.cko-pay .ck-cta:hover { transform: none; background: #000; box-shadow: 0 8px 24px rgba(11,11,12,0.18); }
.cko-pay .ck-cta:active { transform: scale(0.995); }
.cko-pay .ck-cta__label { font-weight: 650; }
.cko-pay .ck-cta__price { font-weight: 700; color: #fff; opacity: 0.9; margin-left: 2px; }
.cko-pay .ck-cta__price .woocommerce-Price-amount { color: inherit; }

/* ---------- Right summary ---------- */
.cko-summary .ck-cart-head { display: none; }
.cko-summary .ck-cart-total { display: none; }
.cko-sum-items { margin-bottom: 4px; }
.cko-summary .ck-cart-list { gap: 0; }
.cko-summary .ck-cart-item {
  grid-template-columns: 54px 1fr auto; gap: 13px;
  padding: 14px 0; border-bottom: 1px solid var(--cko-line);
}
.cko-summary .ck-cart-item:first-child { padding-top: 0; }
.cko-summary .ck-cart-thumb { width: 54px; height: 66px; border-radius: 8px; background: var(--cko-soft); }
.cko-summary .ck-cart-name { font-size: 13px; font-weight: 600; color: var(--cko-ink); }
.cko-summary .ck-cart-meta { font-size: 12px; color: var(--cko-sub); }
.cko-summary .ck-qty__btn { width: 26px; height: 26px; border-radius: 7px; border-color: var(--cko-line-2); font-size: 15px; }
.cko-summary .ck-qty__num { font-size: 13px; min-width: 22px; }
.cko-summary .ck-cart-remove { font-size: 11px; color: var(--cko-faint); }
.cko-summary .ck-cart-remove:hover { color: #C0392B; }
.cko-summary .ck-cart-now { font-size: 15px; color: var(--cko-ink); }
.cko-summary .ck-cart-was { font-size: 12px; color: var(--cko-faint); }

.cko-summary .ck-totals {
  margin: 16px 0 0; border: 0; border-radius: 0; background: transparent; padding: 0;
}
.cko-summary .ck-totals__row {
  border-bottom: 0; padding: 7px 0; font-size: 14px; color: var(--cko-ink-2);
}
.cko-summary .ck-totals__row span { color: var(--cko-sub); }
.cko-summary .ck-totals__row strong { font-weight: 600; color: var(--cko-ink); }
.cko-summary .ck-shipping-note { color: var(--cko-faint) !important; font-weight: 500 !important; font-size: 13px !important; }
.cko-summary .ck-totals__row--total {
  margin-top: 8px; padding-top: 14px;
  border-top: 1.5px solid var(--cko-line-2) !important; border-bottom: 0 !important;
}
.cko-summary .ck-totals__row--total span { color: var(--cko-ink); font-size: 15px; font-weight: 600; }
.cko-summary .ck-totals__row--total strong { font-size: 21px; letter-spacing: -0.01em; font-variant-numeric: tabular-nums; }

/* COD info strip */
.cko-cod {
  display: flex; align-items: flex-start; gap: 12px;
  margin-top: 18px; padding: 14px 16px;
  background: var(--cko-soft); border: 1px solid var(--cko-line);
  border-radius: var(--cko-r-sm);
}
.cko-cod__ico { flex: 0 0 20px; color: var(--cko-ink); margin-top: 1px; }
.cko-cod__ico svg { width: 20px; height: 20px; stroke-width: 1.6; }
.cko-cod__txt strong { display: block; font-size: 13px; color: var(--cko-ink); font-weight: 600; }
.cko-cod__txt span { font-size: 12px; color: var(--cko-sub); line-height: 1.45; }

/* ---------- Trust badges ---------- */
.cko-trust {
  list-style: none; margin: 18px 0 0; padding: 16px 0 0;
  border-top: 1px solid var(--cko-line);
  display: grid; grid-template-columns: 1fr 1fr; gap: 13px 14px;
}
.cko-trust li { display: flex; align-items: center; gap: 9px; font-size: 12.5px; color: var(--cko-ink-2); line-height: 1.3; }
.cko-trust__ico {
  flex: 0 0 30px; width: 30px; height: 30px;
  display: inline-flex; align-items: center; justify-content: center;
  background: var(--cko-soft); border-radius: 9px; color: var(--cko-ink);
}
.cko-trust__ico svg { width: 16px; height: 16px; stroke-width: 1.7; }
.cko-trust__ico--ok { background: var(--cko-ok-bg); color: var(--cko-ok); }

/* CTA trust line under the place-order button */
.cko-securenote {
  display: flex; align-items: center; justify-content: center; gap: 7px;
  margin-top: 14px; font-size: 12px; color: var(--cko-faint);
}
.cko-securenote svg { width: 14px; height: 14px; stroke-width: 1.7; }

/* busy state on review/cart during AJAX */
#order_review.is-busy, .cko-sum-items.is-busy { opacity: 0.55; pointer-events: none; transition: opacity var(--cko-ease); }

/* Notices */
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout .woocommerce-info { margin-bottom: 16px; border-radius: var(--cko-r-sm); }
.woocommerce-checkout-review-order-table { display: none; }

/* ==========================================================
   THANK YOU / ORDER RECEIVED — modern minimal
   ========================================================== */
.cko-ty {
  max-width: 600px;
  margin: 0 auto;
  padding: 8px 0 24px;
}

/* Hero */
.cko-ty__hero { text-align: center; margin-bottom: 26px; }
.cko-ty__icon {
  display: inline-flex; width: 76px; height: 76px; margin-bottom: 16px;
  color: var(--cko-ok); 
  background: var(--cko-ok-bg); border-radius: 50%;
  align-items: center; justify-content: center;
  animation: cko-pop .5s cubic-bezier(.2,.8,.2,1) both;
}
.cko-ty__icon svg { width: 46px; height: 46px; }
.cko-ty__icon svg circle { opacity: .25; }
.cko-ty__icon svg path {
  stroke-dasharray: 36; stroke-dashoffset: 36;
  animation: cko-draw .45s .35s ease forwards;
}
.cko-ty__icon--fail { color: #C0392B; background: #FBEAE8; }
.cko-ty__icon--fail svg path { animation: none; stroke-dashoffset: 0; }
@keyframes cko-pop { 0% { transform: scale(.5); opacity: 0; } 60% { transform: scale(1.06); } 100% { transform: scale(1); opacity: 1; } }
@keyframes cko-draw { to { stroke-dashoffset: 0; } }

.cko-ty__title {
  margin: 0 0 8px; font-size: 27px; font-weight: 700;
  letter-spacing: -0.02em; color: var(--cko-ink);
}
.cko-ty__sub { margin: 0 auto; max-width: 440px; font-size: 15px; line-height: 1.55; color: var(--cko-sub); }

/* Card */
.cko-ty__card {
  background: var(--cko-bg); border: 1px solid var(--cko-line);
  border-radius: var(--cko-r); padding: 22px 24px;
  box-shadow: 0 1px 2px rgba(16,18,23,0.03);
}
.cko-ty__meta {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px 18px;
  padding-bottom: 18px; border-bottom: 1px solid var(--cko-line);
}
.cko-ty__meta-i { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.cko-ty__meta-i span { font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--cko-faint); }
.cko-ty__meta-i strong { font-size: 15px; font-weight: 650; color: var(--cko-ink); }

.cko-ty__deliv {
  display: flex; align-items: center; gap: 12px;
  padding: 16px 0; border-bottom: 1px solid var(--cko-line);
}
.cko-ty__deliv-ic {
  flex: 0 0 38px; width: 38px; height: 38px; border-radius: 10px;
  background: var(--cko-soft); color: var(--cko-ink);
  display: inline-flex; align-items: center; justify-content: center;
}
.cko-ty__deliv-ic svg { width: 20px; height: 20px; stroke-width: 1.6; }
.cko-ty__deliv-txt { min-width: 0; }
.cko-ty__deliv-txt span { display: block; font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--cko-faint); }
.cko-ty__deliv-txt strong { font-size: 14px; font-weight: 600; color: var(--cko-ink); }

.cko-ty__items { list-style: none; margin: 0; padding: 6px 0 0; }
.cko-ty__item { display: grid; grid-template-columns: 48px 1fr auto; gap: 13px; align-items: center; padding: 12px 0; border-bottom: 1px solid var(--cko-soft-2); }
.cko-ty__item:last-child { border-bottom: 0; padding-bottom: 0; }
.cko-ty__thumb { width: 48px; height: 58px; border-radius: 8px; overflow: hidden; background: var(--cko-soft); }
.cko-ty__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cko-ty__it-main { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.cko-ty__it-name { font-size: 14px; font-weight: 600; color: var(--cko-ink); line-height: 1.3; }
.cko-ty__it-meta { font-size: 12px; color: var(--cko-sub); }
.cko-ty__it-price { font-size: 14px; font-weight: 650; color: var(--cko-ink); white-space: nowrap; font-variant-numeric: tabular-nums; }

/* Steps */
.cko-ty__steps {
  list-style: none; margin: 22px 0; padding: 0;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; position: relative;
}
.cko-ty__step { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; position: relative; }
.cko-ty__step:not(:last-child)::after {
  content: ""; position: absolute; top: 15px; left: 50%; width: 100%; height: 1.5px;
  background: var(--cko-line-2); z-index: 0;
}
.cko-ty__step-n {
  position: relative; z-index: 1;
  width: 30px; height: 30px; border-radius: 50%;
  background: var(--cko-ink); color: #fff;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
}
.cko-ty__step-t { font-size: 12px; color: var(--cko-sub); line-height: 1.35; max-width: 120px; }

/* Actions */
.cko-ty__actions { text-align: center; }
.cko-ty__cta {
  display: inline-flex; align-items: center; justify-content: center;
  padding: 15px 32px; border-radius: var(--cko-r-sm);
  background: var(--cko-ink); color: #fff !important;
  font-size: 15px; font-weight: 650; text-decoration: none;
  transition: background var(--cko-ease), box-shadow var(--cko-ease);
}
.cko-ty__cta:hover { background: #000; box-shadow: 0 8px 24px rgba(11,11,12,0.18); }

@media (max-width: 480px) {
  .cko-ty__title { font-size: 23px; }
  .cko-ty__meta { grid-template-columns: 1fr 1fr; gap: 13px; }
  .cko-ty__step-t { font-size: 11px; }
}

/* Hide the default WC order-overview/notice if anything slips through */
.woocommerce-order-received .woocommerce-order > .woocommerce-notice,
.woocommerce-order-received .woocommerce-order-overview { display: none; }

/* Polish: un-underline the TY CTA + style the COD instructions note */
.cko-ty__cta { text-decoration: none !important; }
.woocommerce-order-received .woocommerce > p {
  max-width: 560px; margin: 18px auto 0; text-align: center;
  font-size: 13px; line-height: 1.55; color: var(--cko-faint);
}
