/*
 * teba-woo.css
 * WooCommerce overrides: product page, cart, checkout, thank you.
 * All class names match the templates above.
 */

/* ============================================================
   SINGLE PRODUCT PAGE — single-product.php
   ============================================================ */
.ts-main--single-product { background: #F2EFE6; }

.ts-pdp {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 40px 64px;
}

/* Breadcrumb */
.ts-pdp__breadcrumb {
  padding: 16px 0;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: #777268;
}
.ts-pdp__breadcrumb a { color: inherit; text-decoration: none; }
.ts-pdp__breadcrumb a:hover { color: #0B0B0C; }
/* WC breadcrumb outputs a span — style it */
.woocommerce-breadcrumb { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #777268; }
.woocommerce-breadcrumb a { color: inherit; text-decoration: none; }

/* Layout: gallery left, info right */
.ts-pdp__layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
}

/* Gallery */
.ts-pdp__gallery { display: flex; gap: 12px; }

.ts-pdp__thumbs {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 64px;
  flex-shrink: 0;
}
.ts-pdp__thumb {
  width: 64px; height: 64px;
  border: 2px solid transparent;
  border-radius: 4px;
  background: #EAE6D9;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  transition: border-color .15s;
}
.ts-pdp__thumb.ts-active { border-color: #0B0B0C; }
.ts-pdp__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ts-pdp__main-image {
  flex: 1;
  position: relative;
  border-radius: 4px;
  overflow: hidden;
  background: #EAE6D9;
  aspect-ratio: 1;
}
.ts-pdp__slide { display: none; width: 100%; height: 100%; }
.ts-pdp__slide.ts-active { display: block; }
.ts-pdp__img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.ts-pdp__cat-watermark {
  position: absolute; bottom: 14px; left: 14px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.6); z-index: 2;
}
.ts-pdp__sale-badge {
  position: absolute; top: 12px; left: 12px;
  background: #D62246; color: #fff;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px; font-weight: 800; letter-spacing: .1em;
  padding: 4px 8px; border-radius: 3px;
}

/* Product info */
.ts-pdp__info { padding-top: 8px; }

.ts-pdp__cat {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: #777268; margin-bottom: 10px; display: flex; align-items: center; gap: 6px;
}
.ts-pdp__cat::before { content: ''; display: inline-block; width: 16px; height: 2px; background: #D62246; }

.ts-pdp__title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: clamp(22px, 3.5vw, 36px) !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: -.02em !important;
  line-height: 1.05 !important;
  color: #0B0B0C !important;
  margin: 0 0 16px !important;
}

.ts-pdp__price {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 28px; font-weight: 900; color: #0B0B0C;
  margin-bottom: 20px;
}
.ts-pdp__price del { font-size: 18px; color: #777268; font-weight: 400; font-family: 'Inter', sans-serif; margin-right: 8px; }
.ts-pdp__price ins { text-decoration: none; color: #D62246; }

.ts-pdp__short-desc {
  font-size: 14px; line-height: 1.65; color: #555;
  margin-bottom: 28px; max-width: 480px;
}

/* Size selector */
.ts-pdp__sizes { margin-bottom: 28px; }
.ts-pdp__size-header {
  display: flex; align-items: center; justify-content: space-between;
  margin-bottom: 12px;
}
.ts-pdp__size-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: #0B0B0C;
}
.ts-pdp__size-guide {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: #777268; text-decoration: underline;
}
.ts-pdp__size-grid {
  display: flex; flex-wrap: wrap; gap: 8px;
}
.ts-pdp__size-btn {
  width: 52px; height: 52px;
  border: 1.5px solid rgba(11,11,12,.2);
  background: #fff;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  color: #0B0B0C; cursor: pointer; border-radius: 4px;
  transition: background .15s, border-color .15s, color .15s;
}
.ts-pdp__size-btn:hover { border-color: #0B0B0C; }
.ts-pdp__size-btn.ts-active {
  background: #0B0B0C; color: #fff; border-color: #0B0B0C;
}
.ts-pdp__size-btn.ts-out {
  opacity: .35; cursor: not-allowed; text-decoration: line-through;
}

/* Actions: Add to Bag + Wishlist */
.ts-pdp__actions { display: flex; gap: 10px; margin-bottom: 24px; }

.ts-pdp__add-btn {
  flex: 1;
  background: #2D2557; color: #fff;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
  border: none; padding: 16px 24px; border-radius: 4px;
  cursor: pointer; transition: background .2s;
}
.ts-pdp__add-btn:hover { background: #3d3480; }
.ts-pdp__add-btn--oos { background: #ccc; cursor: not-allowed; }

/* WC default button inside PDP */
.ts-main--single-product .single_add_to_cart_button {
  flex: 1;
  background: #2D2557 !important; color: #fff !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  border: none !important; padding: 16px 24px !important; border-radius: 4px !important;
  cursor: pointer !important;
}

.ts-pdp__wishlist-btn {
  width: 52px; height: 52px;
  border: 1.5px solid rgba(11,11,12,.2);
  background: #fff; border-radius: 4px;
  font-size: 20px; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  transition: border-color .15s, color .15s;
  flex-shrink: 0;
}
.ts-pdp__wishlist-btn:hover { border-color: #D62246; color: #D62246; }

/* Trust list */
.ts-pdp__trust {
  list-style: none; margin: 0; padding: 0;
  display: flex; flex-direction: column; gap: 6px;
}
.ts-pdp__trust li {
  font-family: 'Inter', sans-serif; font-size: 12.5px; color: #555;
}

/* Description */
.ts-pdp__description { margin-top: 48px; border-top: 1px solid rgba(11,11,12,.1); padding-top: 32px; }
.ts-pdp__desc-title {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 18px; font-weight: 900; text-transform: uppercase; margin-bottom: 16px;
}
.ts-pdp__desc-body { font-size: 14px; line-height: 1.7; color: #555; max-width: 720px; }

/* Related / Complete the Look */
.ts-pdp__related {
  background: #F2EFE6; padding: 56px 40px;
  max-width: none; margin: 0; box-sizing: border-box;
}
.ts-pdp__related-header { margin-bottom: 28px; }

/* ============================================================
   CART PAGE — cart/cart.php
   ============================================================ */
.ts-main--cart { background: #F2EFE6; }
.ts-container { max-width: 1200px; margin: 0 auto; padding: 48px 40px; }
.ts-page-title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: -.02em !important; color: #0B0B0C !important; margin: 0 0 32px !important;
}
.ts-cart-layout { display: grid; grid-template-columns: 1fr 400px; gap: 40px; align-items: start; }
.ts-cart-items {}
.ts-cart-table {
  width: 100%; border-collapse: collapse;
  font-size: 13px;
}
.ts-cart-table thead th {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #777268; padding: 0 0 12px; border-bottom: 1px solid rgba(11,11,12,.1);
  text-align: left;
}
.ts-cart-row { border-bottom: 1px solid rgba(11,11,12,.06); }
.ts-cart-table__img { width: 80px; padding: 16px 12px 16px 0; }
.ts-cart-table__img img { width: 72px; height: 72px; object-fit: cover; border-radius: 4px; }
.ts-cart-table__name { padding: 16px 12px; }
.ts-cart-table__product-link {
  font-family: 'Archivo Black', sans-serif; font-size: 13px; font-weight: 900;
  text-transform: uppercase; color: #0B0B0C; text-decoration: none;
}
.ts-cart-table__price  { padding: 16px 12px; font-family: 'Archivo Black', sans-serif; font-weight: 900; white-space: nowrap; }
.ts-cart-table__qty    { padding: 16px 12px; }
.ts-cart-table__total  { padding: 16px 12px; font-family: 'Archivo Black', sans-serif; font-weight: 900; white-space: nowrap; }
.ts-cart-table__remove { padding: 16px 0; text-align: right; }
.ts-cart-remove {
  color: #777268; text-decoration: none; font-size: 18px; line-height: 1;
  transition: color .15s;
}
.ts-cart-remove:hover { color: #D62246; }
.ts-cart-backorder { font-size: 11px; color: #777268; margin-top: 4px; }
.ts-cart-actions { display: flex; justify-content: space-between; align-items: center; margin-top: 24px; flex-wrap: wrap; gap: 12px; }

/* WC qty input */
.ts-cart-table .quantity { display: flex; align-items: center; gap: 6px; }
.ts-cart-table .qty {
  width: 52px; height: 38px; text-align: center;
  border: 1.5px solid rgba(11,11,12,.2); border-radius: 4px;
  font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; font-weight: 700;
}
/* Cart collaterals (totals) */
.ts-cart-totals-col { position: sticky; top: 80px; }
.cart_totals, .woocommerce-cart-form { width: 100%; }
.cart_totals h2 {
  font-family: 'Archivo Black', sans-serif !important; font-size: 16px !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: -.01em !important; margin-bottom: 16px !important;
}
.cart_totals table { width: 100%; border-collapse: collapse; }
.cart_totals table th, .cart_totals table td {
  padding: 12px 0; border-bottom: 1px solid rgba(11,11,12,.06);
  font-size: 13px;
}
.cart_totals table th { font-weight: 600; color: #777268; }
.cart_totals table .order-total th,
.cart_totals table .order-total td {
  font-family: 'Archivo Black', sans-serif; font-size: 18px; font-weight: 900;
  border-top: 2px solid #0B0B0C; padding-top: 16px;
}
.wc-proceed-to-checkout .checkout-button,
.checkout-button {
  display: block !important; width: 100% !important; text-align: center !important;
  background: #2D2557 !important; color: #fff !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .16em !important; text-transform: uppercase !important;
  padding: 16px 24px !important; border-radius: 4px !important;
  text-decoration: none !important; transition: background .2s !important;
  margin-top: 16px !important; border: none !important;
}
.checkout-button:hover { background: #3d3480 !important; }

/* ============================================================
   CHECKOUT — form-checkout.php
   ============================================================ */
.ts-main--checkout { background: #F2EFE6; padding-bottom: 64px; }

/* Step progress bar */
.ts-checkout-steps {
  display: flex; align-items: flex-start; justify-content: center;
  gap: 0; padding: 24px 40px; background: #fff;
  border-bottom: 1px solid rgba(11,11,12,.08);
}
.ts-checkout-step {
  display: flex; flex-direction: column; align-items: center; position: relative;
  flex: 1; max-width: 160px;
}
.ts-checkout-step__dot {
  width: 32px; height: 32px; border-radius: 50%;
  border: 2px solid rgba(11,11,12,.2);
  background: #fff; display: flex; align-items: center; justify-content: center;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px; font-weight: 700; color: #777268;
  position: relative; z-index: 2;
}
.ts-checkout-step.ts-current .ts-checkout-step__dot {
  background: #2D2557; border-color: #2D2557; color: #fff;
}
.ts-checkout-step.ts-done .ts-checkout-step__dot {
  background: #1F8A5B; border-color: #1F8A5B; color: #fff;
}
.ts-checkout-step__connector {
  position: absolute; top: 16px; left: calc(50% + 16px);
  right: calc(-50% + 16px);
  height: 2px; background: rgba(11,11,12,.12); z-index: 1;
}
.ts-checkout-step.ts-done .ts-checkout-step__connector { background: #1F8A5B; }
.ts-checkout-step:last-child .ts-checkout-step__connector { display: none; }
.ts-checkout-step__label {
  margin-top: 6px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #777268;
}
.ts-checkout-step.ts-current .ts-checkout-step__label { color: #2D2557; }
.ts-checkout-step.ts-done .ts-checkout-step__label { color: #1F8A5B; }

/* Checkout layout */
.ts-checkout-layout {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 40px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 40px 40px;
  align-items: start;
}

/* Form sections */
.ts-checkout-section { margin-bottom: 32px; }
.ts-checkout-section__title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: 14px !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .06em !important;
  color: #0B0B0C !important; margin: 0 0 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid rgba(11,11,12,.08) !important;
}
.ts-checkout-fields--2col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* WC field overrides */
.ts-checkout-form .form-row { margin-bottom: 12px !important; }
.ts-checkout-form label {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 9.5px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  color: #777268 !important; margin-bottom: 5px !important; display: block !important;
}
.ts-checkout-form input[type="text"],
.ts-checkout-form input[type="email"],
.ts-checkout-form input[type="tel"],
.ts-checkout-form input[type="number"],
.ts-checkout-form select,
.ts-checkout-form textarea {
  width: 100% !important; height: 48px !important;
  border: 1.5px solid rgba(11,11,12,.18) !important;
  border-radius: 4px !important; padding: 0 14px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important; color: #0B0B0C !important;
  background: #fff !important;
  transition: border-color .15s !important;
  box-sizing: border-box !important;
}
.ts-checkout-form input:focus,
.ts-checkout-form select:focus {
  outline: none !important;
  border-color: #2D2557 !important;
  box-shadow: 0 0 0 3px rgba(45,37,87,.12) !important;
}
.ts-checkout-form textarea { height: 80px !important; padding: 12px 14px !important; }

/* WC payment section */
#payment { margin-top: 0 !important; }
#payment .wc_payment_methods { list-style: none !important; margin: 0 !important; padding: 0 !important; }
#payment .wc_payment_method { padding: 0 !important; margin-bottom: 12px !important; }
#payment .wc_payment_method label {
  display: flex !important; align-items: center !important; gap: 10px !important;
  padding: 14px 16px !important;
  border: 1.5px solid rgba(11,11,12,.15) !important;
  border-radius: 6px !important; cursor: pointer !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  color: #0B0B0C !important; background: #fff !important;
  transition: border-color .15s !important;
}
#payment .wc_payment_method input[type="radio"]:checked + label,
#payment .wc_payment_method.payment_method_cod label {
  border-color: #2D2557 !important; background: #2D2557 !important; color: #fff !important;
}
.payment_box { padding: 16px !important; background: #fff !important; border: 1px solid rgba(11,11,12,.08) !important; border-radius: 4px !important; margin-top: 8px !important; }

/* Place order button */
#place_order {
  width: 100% !important; background: #2D2557 !important; color: #fff !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  border: none !important; padding: 18px 24px !important; border-radius: 4px !important;
  cursor: pointer !important; transition: background .2s !important; margin-top: 16px !important;
}
#place_order:hover { background: #3d3480 !important; }

/* Checkout order summary sidebar */
.ts-checkout-summary {
  background: #fff; border: 1px solid rgba(11,11,12,.08);
  border-radius: 8px; padding: 24px; position: sticky; top: 80px;
}
.ts-checkout-summary__title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: 14px !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .04em !important;
  margin: 0 0 20px !important; color: #0B0B0C !important;
}
.ts-checkout-summary__items { display: flex; flex-direction: column; gap: 16px; margin-bottom: 20px; }
.ts-checkout-item {
  display: flex; align-items: flex-start; gap: 12px;
}
.ts-checkout-item__img { width: 56px; height: 56px; flex-shrink: 0; }
.ts-checkout-item__img img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; display: block; }
.ts-checkout-item__info { flex: 1; }
.ts-checkout-item__cat {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: #777268; display: block; margin-bottom: 3px;
}
.ts-checkout-item__name {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 12px; font-weight: 900; text-transform: uppercase;
  color: #0B0B0C; display: block; margin-bottom: 2px; line-height: 1.2;
}
.ts-checkout-item__meta {
  font-size: 11px; color: #777268; display: block;
}
.ts-checkout-item__price {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 14px; font-weight: 900; color: #0B0B0C; flex-shrink: 0;
}
.ts-checkout-summary__divider {
  border: none; border-top: 1px solid rgba(11,11,12,.08); margin: 16px 0;
}
.ts-checkout-summary__row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: #555; margin-bottom: 8px;
}
.ts-checkout-summary__total {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 18px; font-weight: 900; color: #0B0B0C;
  margin-top: 8px; margin-bottom: 0;
}
.ts-checkout-free { color: #1F8A5B; font-weight: 700; }
.ts-checkout-summary__trust {
  margin-top: 20px; display: flex; flex-direction: column; gap: 6px;
  font-size: 11.5px; color: #777268;
}

/* ============================================================
   THANK YOU — checkout/thankyou.php
   ============================================================ */
.ts-main--thankyou { background: #F2EFE6; display: flex; align-items: center; min-height: 80vh; }
.ts-thankyou {
  max-width: 640px; margin: 0 auto;
  padding: 64px 24px;
  text-align: center; width: 100%;
}
.ts-thankyou__check { margin-bottom: 16px; display: flex; justify-content: center; }
.ts-thankyou__eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: #1F8A5B; margin-bottom: 12px;
}
.ts-thankyou__title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: clamp(32px, 6vw, 52px) !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: -.03em !important;
  color: #0B0B0C !important; margin: 0 0 12px !important; line-height: .9 !important;
}
.ts-thankyou__sub {
  font-size: 15px; color: #555; margin-bottom: 32px; line-height: 1.5;
}

/* Order details card */
.ts-thankyou__card {
  background: #fff; border: 1px solid rgba(11,11,12,.08);
  border-radius: 8px; padding: 24px; margin-bottom: 32px; text-align: left;
}
.ts-thankyou__card-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 20px;
}
.ts-thankyou__card-cell { display: flex; flex-direction: column; gap: 5px; }
.ts-thankyou__card-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #777268;
}
.ts-thankyou__card-value {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 15px; font-weight: 900; color: #0B0B0C;
}

/* Progress rail */
.ts-thankyou__progress {
  display: flex; align-items: flex-start; justify-content: center;
  gap: 0; margin-bottom: 40px;
}
.ts-thankyou__rail-item {
  display: flex; flex-direction: column; align-items: center;
  position: relative; flex: 1; max-width: 120px;
}
.ts-thankyou__rail-dot {
  width: 24px; height: 24px; border-radius: 50%;
  background: #EAE6D9;
  display: flex; align-items: center; justify-content: center;
  position: relative; z-index: 2; flex-shrink: 0;
}
.ts-thankyou__rail-item.ts-done .ts-thankyou__rail-dot { background: transparent; }
.ts-thankyou__rail-connector {
  position: absolute; top: 12px; left: calc(50% + 12px);
  right: calc(-50% + 12px); height: 2px;
  background: rgba(11,11,12,.12); z-index: 1;
}
.ts-thankyou__rail-item.ts-done .ts-thankyou__rail-connector { background: #1F8A5B; }
.ts-thankyou__rail-label {
  margin-top: 6px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #777268; text-align: center;
}
.ts-thankyou__rail-item.ts-done .ts-thankyou__rail-label { color: #1F8A5B; }

/* CTAs */
.ts-thankyou__actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ============================================================
   GENERAL WC OVERRIDES
   ============================================================ */

/* Notices */
.woocommerce-error,
.woocommerce-message,
.woocommerce-info {
  list-style: none !important; margin: 0 0 20px !important;
  padding: 14px 20px !important; border-radius: 4px !important;
  font-size: 13.5px !important;
}
.woocommerce-error   { background: #fef2f2 !important; border: 1px solid #fca5a5 !important; color: #991b1b !important; }
.woocommerce-message { background: #f0fdf4 !important; border: 1px solid #86efac !important; color: #166534 !important; }
.woocommerce-info    { background: #eff6ff !important; border: 1px solid #93c5fd !important; color: #1e40af !important; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 1024px) {
  .ts-pdp { padding: 0 24px 48px; }
  .ts-pdp__layout { grid-template-columns: 1fr; gap: 32px; }
  .ts-pdp__gallery { flex-direction: column-reverse; }
  .ts-pdp__thumbs { flex-direction: row; width: auto; }
  .ts-pdp__thumb { width: 56px; height: 56px; }
  .ts-pdp__related { padding: 48px 24px; }
  .ts-cart-layout { grid-template-columns: 1fr; }
  .ts-checkout-layout { grid-template-columns: 1fr; padding: 32px 24px; }
  .ts-checkout-summary { position: static; }
  .ts-checkout-summary-col { order: -1; }
}
@media (max-width: 640px) {
  .ts-pdp { padding: 0 16px 40px; }
  .ts-pdp__size-btn { width: 44px; height: 44px; font-size: 10px; }
  .ts-pdp__related { padding: 40px 16px; }
  .ts-pdp__related .ts-products-grid.ts-grid-cols-4 { grid-template-columns: repeat(2,1fr) !important; }
  .ts-container { padding: 32px 16px; }
  .ts-cart-layout { grid-template-columns: 1fr; }
  .ts-cart-table th.ts-cart-table__col-price,
  .ts-cart-table td.ts-cart-table__price { display: none; }
  .ts-checkout-layout { padding: 24px 16px; }
  .ts-checkout-steps { padding: 16px 20px; }
  .ts-checkout-step__label { display: none; }
  .ts-checkout-fields--2col { grid-template-columns: 1fr; }
  .ts-thankyou__card-grid { grid-template-columns: 1fr; }
  .ts-thankyou { padding: 48px 16px; }
}

/* ── Hide WC default variation UI (replaced by our size buttons) ── */
.ts-main--single-product .variations,
.ts-main--single-product .variations_form .variations,
.ts-main--single-product table.variations { display: none !important; }

/* WC variable form wrapper — hide until JS moves the button */
.ts-main--single-product .ts-pdp__add-form {
  display: block;
  position: absolute;
  visibility: hidden;
  pointer-events: none;
  width: 1px; height: 1px; overflow: hidden;
}

/* WC's own add-to-cart button when moved by JS into .ts-pdp__actions */
.ts-pdp__actions .single_add_to_cart_button,
.ts-pdp__actions .ts-pdp__add-btn {
  flex: 1;
  background: #2D2557 !important; color: #fff !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 11px !important; font-weight: 800 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  border: none !important; padding: 16px 24px !important; border-radius: 4px !important;
  cursor: pointer !important; transition: background .2s !important;
  min-height: 52px !important;
}
.ts-pdp__actions .single_add_to_cart_button:hover,
.ts-pdp__actions .ts-pdp__add-btn:hover { background: #3d3480 !important; }

/* Hide Stripe / payment request button on PDP — not appropriate on product page */
.ts-main--single-product .wc-block-components-payment-method-label,
.ts-main--single-product .wc-block-components-express-payment,
.ts-main--single-product #wc-stripe-payment-request-wrapper,
.ts-main--single-product .wp-block-woocommerce-product-button ~ .wc-stripe-product-checkout-button,
.ts-main--single-product .stripe-source-errors,
.ts-main--single-product #wc-stripe-product-checkout-btn,
.ts-main--single-product .prc-product-button-container { display: none !important; }

/* Stock status */
.ts-main--single-product .stock {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #1F8A5B; margin-bottom: 12px;
}
.ts-main--single-product .out-of-stock { color: #D62246; }

/* ── Variable product: attribute selects (non-size, e.g. colour) ── */
.ts-pdp__attr-select-wrap { margin-bottom: 20px; }
.ts-pdp__attr-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: #0B0B0C; display: block; margin-bottom: 10px;
}
.ts-pdp__attr-select {
  width: 100%; height: 48px;
  border: 1.5px solid rgba(11,11,12,.2); border-radius: 4px;
  padding: 0 14px;
  font-family: 'Inter', system-ui, sans-serif; font-size: 14px; color: #0B0B0C;
  background: #fff; cursor: pointer;
  appearance: none; -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%230B0B0C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 14px center;
  transition: border-color .15s;
}
.ts-pdp__attr-select:focus { outline: none; border-color: #2D2557; }

/* ── Disabled Add to Bag state ── */
.ts-pdp__add-btn--disabled {
  background: rgba(11,11,12,.2) !important;
  color: #777268 !important;
  cursor: not-allowed !important;
}
.ts-pdp__add-btn--disabled:hover { background: rgba(11,11,12,.2) !important; }

/* ── Variable form — must be visible (not hidden) ── */
.ts-pdp__var-form { display: block !important; visibility: visible !important; position: static !important; width: auto !important; height: auto !important; overflow: visible !important; }

/* ── Remove any leftover WC variable UI if it somehow appears ── */
.ts-pdp__var-form table.variations,
.ts-pdp__var-form .woocommerce-variation-price,
.ts-pdp__var-form .woocommerce-variation-availability { display: none !important; }

/* ============================================================
   CHECKOUT TEMPLATE PAGES
   Covers: header, steps, layout, cart, shipping, payment, confirmation
   ============================================================ */

/* ── Checkout page body ── */
.ts-checkout-page { background: #F2EFE6; margin: 0; padding: 0; }
.ts-checkout-page #wpadminbar { position: fixed; }

/* ── Minimal checkout header ── */
.ts-co-header {
  background: #0B0B0C;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 40px; height: 64px; width: 100%; box-sizing: border-box;
}
.ts-co-header__brand {
  display: flex; align-items: center; gap: 12px;
  text-decoration: none; color: #fff;
}
.ts-co-header__logo { width: 40px; height: 40px; object-fit: contain; border-radius: 50%; }
.ts-co-header__name {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 15px; font-weight: 900; text-transform: uppercase;
  letter-spacing: -.01em; color: #fff; display: block; line-height: 1;
}
.ts-co-header__sub {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: rgba(255,255,255,.45); display: block; margin-top: 2px;
}
.ts-co-header__ssl {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
  color: rgba(255,255,255,.5);
}

/* ── Steps progress bar ── */
.ts-co-steps {
  display: flex; align-items: flex-start; justify-content: center;
  padding: 20px 40px 0; background: #fff;
  border-bottom: 1px solid rgba(11,11,12,.08);
}
.ts-co-step {
  display: flex; flex-direction: column; align-items: center;
  position: relative; flex: 1; max-width: 180px;
  padding-bottom: 20px;
}
.ts-co-step__dot {
  width: 32px; height: 32px; border-radius: 50%; flex-shrink: 0;
  border: 2px solid rgba(11,11,12,.2); background: #fff;
  display: flex; align-items: center; justify-content: center;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 12px; font-weight: 700; color: #777268;
  position: relative; z-index: 2;
}
.ts-co-step.ts-current .ts-co-step__dot { background: #2D2557; border-color: #2D2557; color: #fff; }
.ts-co-step.ts-done    .ts-co-step__dot { background: #1F8A5B; border-color: #1F8A5B; color: #fff; font-size: 14px; }
.ts-co-step__line {
  position: absolute; top: 16px;
  left: calc(50% + 16px); right: calc(-50% + 16px);
  height: 2px; background: rgba(11,11,12,.12); z-index: 1;
}
.ts-co-step.ts-done .ts-co-step__line { background: #1F8A5B; }
.ts-co-step__label {
  margin-top: 8px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #777268; text-align: center;
}
.ts-co-step.ts-current .ts-co-step__label { color: #2D2557; }
.ts-co-step.ts-done    .ts-co-step__label { color: #1F8A5B; }

/* ── Main layout: form col + summary col ── */
.ts-co-layout {
  display: grid; grid-template-columns: 1fr 380px;
  gap: 40px; max-width: 1100px; margin: 0 auto;
  padding: 40px 40px 80px; align-items: start;
}

/* ── Page titles ── */
.ts-co-title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: clamp(24px, 3.5vw, 36px) !important;
  font-weight: 900 !important; text-transform: uppercase !important;
  letter-spacing: -.02em !important; color: #0B0B0C !important;
  margin: 0 0 28px !important;
}

/* ── Sections ── */
.ts-co-section { margin-bottom: 28px; }
.ts-co-section__title {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 9.5px !important; font-weight: 700 !important;
  letter-spacing: .18em !important; text-transform: uppercase !important;
  color: #777268 !important; margin: 0 0 14px !important; display: block !important;
}
.ts-co-section-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase;
  color: #777268; display: block; margin-bottom: 12px;
}

/* ── Form fields ── */
.ts-co-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ts-co-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 14px; }
.ts-co-field label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: #777268;
}
.ts-co-field label span { color: #D62246; }
.ts-co-field input[type="text"],
.ts-co-field input[type="email"],
.ts-co-field input[type="tel"],
.ts-co-field input[type="number"],
.ts-co-field select {
  height: 48px; width: 100%; box-sizing: border-box;
  border: 1.5px solid rgba(11,11,12,.18); border-radius: 4px;
  padding: 0 14px; background: #fff;
  font-family: 'Inter', system-ui, sans-serif; font-size: 14px; color: #0B0B0C;
  transition: border-color .15s;
}
.ts-co-field input:focus,
.ts-co-field select:focus {
  outline: none; border-color: #2D2557;
  box-shadow: 0 0 0 3px rgba(45,37,87,.1);
}
.ts-co-field input[readonly] { background: #f5f5f5; color: #777; }

/* ── Cart items ── */
.ts-co-cart-item {
  display: flex; gap: 14px; align-items: flex-start;
  padding: 20px 0; border-bottom: 1px solid rgba(11,11,12,.07);
}
.ts-co-cart-item:first-child { border-top: 1px solid rgba(11,11,12,.07); }
.ts-co-cart-item__img { flex-shrink: 0; }
.ts-co-cart-item__img img,
.ts-co-cart-item__img a img {
  width: 72px; height: 72px; object-fit: cover; border-radius: 4px; display: block;
}
.ts-co-cart-item__body { flex: 1; }
.ts-co-cart-item__meta-row {
  display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 4px;
}
.ts-co-cart-item__cat,
.ts-co-cart-item__meta {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #777268;
}
.ts-co-cart-item__name {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 13px; font-weight: 900; text-transform: uppercase;
  color: #0B0B0C; text-decoration: none; display: block; margin-bottom: 12px;
}
.ts-co-cart-item__bottom-row {
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}
.ts-co-cart-item__price {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 15px; font-weight: 900; color: #0B0B0C; margin-left: auto;
}
.ts-co-cart-item__remove {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #777268; text-decoration: none; transition: color .15s;
}
.ts-co-cart-item__remove:hover { color: #D62246; }

/* ── Qty stepper ── */
.ts-co-qty {
  display: flex; align-items: center;
  border: 1.5px solid rgba(11,11,12,.18); border-radius: 4px;
  overflow: hidden; height: 36px;
}
.ts-co-qty__btn {
  width: 36px; height: 36px; flex-shrink: 0;
  background: #fff; border: none; cursor: pointer;
  font-size: 18px; color: #0B0B0C; line-height: 1;
  transition: background .15s;
}
.ts-co-qty__btn:hover { background: #F2EFE6; }
.ts-co-qty__input {
  width: 44px; height: 36px; border: none;
  border-left: 1.5px solid rgba(11,11,12,.12);
  border-right: 1.5px solid rgba(11,11,12,.12);
  text-align: center; font-family: 'JetBrains Mono', monospace;
  font-size: 13px; font-weight: 700; color: #0B0B0C;
  -moz-appearance: textfield;
}
.ts-co-qty__input::-webkit-inner-spin-button,
.ts-co-qty__input::-webkit-outer-spin-button { -webkit-appearance: none; }
.ts-co-qty__input:focus { outline: none; }

/* ── Delivery method ── */
.ts-co-delivery { margin: 28px 0; }
.ts-co-delivery__options { display: flex; flex-direction: column; gap: 10px; }
.ts-co-delivery__option {
  display: flex; align-items: center; gap: 12px;
  border: 1.5px solid rgba(11,11,12,.15); border-radius: 6px; padding: 14px 16px;
  cursor: pointer; transition: border-color .15s;
}
.ts-co-delivery__option input[type="radio"] { display: none; }
.ts-co-delivery__option:has(input:checked) {
  border-color: #2D2557; background: rgba(45,37,87,.04);
}
/* Fallback for browsers without :has() */
.ts-co-delivery__option.ts-active { border-color: #2D2557; background: rgba(45,37,87,.04); }
.ts-co-delivery__option::before {
  content: ''; width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid rgba(11,11,12,.2); flex-shrink: 0; transition: all .15s;
}
.ts-co-delivery__option:has(input:checked)::before,
.ts-co-delivery__option.ts-active::before {
  border-color: #2D2557; background: #2D2557;
  box-shadow: inset 0 0 0 4px #fff;
}
.ts-co-delivery__option-body {
  flex: 1; display: flex; align-items: center; justify-content: space-between;
}
.ts-co-delivery__option-body strong {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 13px; font-weight: 900; text-transform: uppercase; display: block;
}
.ts-co-delivery__option-body span {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; color: #777268;
}
.ts-co-free {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; font-weight: 800; letter-spacing: .1em;
  color: #1F8A5B !important; text-transform: uppercase;
}

/* ── Promo code ── */
.ts-co-promo { margin: 28px 0; }
.ts-co-promo__row { display: flex; gap: 0; }
.ts-co-promo__input {
  flex: 1; height: 48px; border: 1.5px solid rgba(11,11,12,.18);
  border-right: none; border-radius: 4px 0 0 4px;
  padding: 0 14px; font-size: 14px; color: #0B0B0C; background: #fff;
}
.ts-co-promo__input:focus { outline: none; border-color: #2D2557; }
.ts-co-promo__btn {
  height: 48px; padding: 0 20px;
  background: #0B0B0C; color: #fff;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  border: none; border-radius: 0 4px 4px 0; cursor: pointer; transition: background .15s;
}
.ts-co-promo__btn:hover { background: #2D2557; }
.ts-co-coupon-applied {
  display: flex; align-items: center; justify-content: space-between;
  background: #f0fdf4; border: 1px solid #86efac; border-radius: 4px;
  padding: 10px 14px; margin-top: 8px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: .1em; color: #166534;
}
.ts-co-coupon-remove { color: #D62246; text-decoration: none; font-size: 12px; }

/* ── Buttons ── */
.ts-co-continue-btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: #2D2557; color: #fff;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase;
  border: none; padding: 16px 28px; border-radius: 4px;
  text-decoration: none; cursor: pointer; transition: background .2s;
  width: 100%; margin-top: 24px;
}
.ts-co-continue-btn:hover { background: #3d3480; color: #fff; }

.ts-co-back-btn {
  display: inline-flex; align-items: center; justify-content: center;
  background: #fff; color: #0B0B0C;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  border: 1.5px solid rgba(11,11,12,.2); padding: 15px 20px; border-radius: 4px;
  text-decoration: none; cursor: pointer; transition: border-color .2s;
  white-space: nowrap;
}
.ts-co-back-btn:hover { border-color: #0B0B0C; }
.ts-co-back-btn--outline { border-color: rgba(11,11,12,.2); }

.ts-co-btn-row {
  display: flex; gap: 12px; align-items: center; margin-top: 28px; flex-wrap: wrap;
}
.ts-co-btn-row .ts-co-continue-btn { flex: 1; margin-top: 0; }

.ts-co-place-order-btn { margin-top: 0 !important; }

/* ── Empty cart ── */
.ts-co-empty {
  font-size: 15px; color: #555; padding: 32px 0;
  display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
}

/* ── Checkbox ── */
.ts-co-checkbox-label {
  display: flex; align-items: center; gap: 10px; cursor: pointer;
  font-family: 'Inter', system-ui, sans-serif; font-size: 14px; color: #0B0B0C;
}
.ts-co-checkbox-label input { display: none; }
.ts-co-checkbox-box {
  width: 20px; height: 20px; flex-shrink: 0;
  border: 1.5px solid rgba(11,11,12,.25); border-radius: 3px;
  background: #fff; transition: all .15s; position: relative;
}
.ts-co-checkbox-label input:checked + .ts-co-checkbox-box {
  background: #2D2557; border-color: #2D2557;
}
.ts-co-checkbox-label input:checked + .ts-co-checkbox-box::after {
  content: '✓'; color: #fff; font-size: 12px; font-weight: 700;
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
}

/* ── Payment form WC overrides ── */
.ts-co-payment-methods #payment { background: transparent !important; border: none !important; }
.ts-co-payment-methods .wc_payment_methods { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ts-co-payment-methods .wc_payment_method { margin-bottom: 10px !important; }
.ts-co-payment-methods .wc_payment_method > label {
  display: flex !important; align-items: center !important; gap: 10px !important;
  padding: 14px 16px !important;
  border: 1.5px solid rgba(11,11,12,.15) !important; border-radius: 6px !important;
  cursor: pointer !important; background: #fff !important;
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  font-size: 10px !important; font-weight: 700 !important;
  letter-spacing: .12em !important; text-transform: uppercase !important;
  transition: border-color .15s !important;
}
.ts-co-payment-methods .wc_payment_method.payment_method_stripe > label,
.ts-co-payment-methods .wc_payment_method input:checked + label {
  border-color: #2D2557 !important; background: rgba(45,37,87,.04) !important;
}
.ts-co-payment-methods .payment_box {
  padding: 16px !important; background: #fff !important;
  border: 1px solid rgba(11,11,12,.08) !important; border-radius: 4px !important;
  margin: 8px 0 !important;
}

/* ── Order summary sidebar ── */
.ts-co-summary {
  background: #fff; border: 1px solid rgba(11,11,12,.08);
  border-radius: 8px; padding: 24px; position: sticky; top: 24px;
}
.ts-co-summary__title-row {
  display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px;
}
.ts-co-summary__title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: 13px !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: .04em !important;
  margin: 0 !important; color: #0B0B0C !important;
}
.ts-co-summary__edit {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #777268; text-decoration: underline;
}
.ts-co-summary__items { display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.ts-co-item { display: flex; align-items: flex-start; gap: 10px; }
.ts-co-item__img { width: 56px; height: 56px; flex-shrink: 0; }
.ts-co-item__img img { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; display: block; }
.ts-co-item__info { flex: 1; min-width: 0; }
.ts-co-item__name {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 11px; font-weight: 900; text-transform: uppercase; color: #0B0B0C;
  display: block; margin-bottom: 3px; line-height: 1.2; word-break: break-word;
}
.ts-co-item__meta {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px; font-weight: 700; letter-spacing: .08em; color: #777268; display: block;
}
.ts-co-item__price {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 13px; font-weight: 900; color: #0B0B0C; flex-shrink: 0;
}
.ts-co-summary__divider { border: none; border-top: 1px solid rgba(11,11,12,.08); margin: 14px 0; }
.ts-co-summary__row {
  display: flex; justify-content: space-between; align-items: center;
  font-size: 13px; color: #555; margin-bottom: 8px;
}
.ts-co-summary__total {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: 18px !important; font-weight: 900 !important;
  color: #0B0B0C !important; margin-top: 8px !important; margin-bottom: 0 !important;
}
.ts-co-summary__trust {
  margin-top: 18px; display: flex; flex-direction: column; gap: 5px;
  font-size: 11px; color: #777268;
}
.ts-co-summary__trust p { margin: 0; }

/* ── Checkout footer ── */
.ts-co-footer {
  background: #0B0B0C; color: rgba(255,255,255,.4);
  padding: 20px 40px; display: flex; align-items: center;
  justify-content: space-between; flex-wrap: wrap; gap: 12px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.ts-co-footer__payments { display: flex; gap: 6px; flex-wrap: wrap; }
.ts-payment-chip {
  background: rgba(255,255,255,.1); border-radius: 3px;
  padding: 3px 7px; font-size: 8px; letter-spacing: .06em;
}

/* ── Confirmation page ── */
.ts-main--checkout-confirm { min-height: 90vh; display: flex; align-items: flex-start; }
.ts-co-confirm {
  max-width: 620px; margin: 0 auto; padding: 60px 24px 80px;
  text-align: center; width: 100%;
}
.ts-co-confirm__check { margin-bottom: 20px; display: flex; justify-content: center; }
.ts-co-confirm__eyebrow {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 10px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase;
  color: #1F8A5B; margin-bottom: 12px;
}
.ts-co-confirm__title {
  font-family: 'Archivo Black', system-ui, sans-serif !important;
  font-size: clamp(28px, 5vw, 48px) !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: -.03em !important;
  color: #0B0B0C !important; margin: 0 0 12px !important; line-height: .92 !important;
}
.ts-co-confirm__sub { font-size: 15px; color: #555; margin-bottom: 32px; line-height: 1.55; }
.ts-co-confirm__card {
  background: #fff; border: 1px solid rgba(11,11,12,.08);
  border-radius: 8px; padding: 24px; margin-bottom: 36px; text-align: left;
}
.ts-co-confirm__card-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.ts-co-confirm__cell { display: flex; flex-direction: column; gap: 5px; }
.ts-co-confirm__cell-label {
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #777268;
}
.ts-co-confirm__cell-value {
  font-family: 'Archivo Black', system-ui, sans-serif;
  font-size: 15px; font-weight: 900; color: #0B0B0C;
}

/* Progress rail */
.ts-co-confirm__rail {
  display: flex; align-items: flex-start; justify-content: center;
  gap: 0; margin-bottom: 40px; flex-wrap: nowrap;
}
.ts-co-confirm__rail-step {
  display: flex; flex-direction: column; align-items: center;
  position: relative; flex: 1; max-width: 120px;
}
.ts-co-confirm__rail-dot {
  width: 24px; height: 24px; border-radius: 50%;
  background: #D9D6CF; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  position: relative; z-index: 2;
}
.ts-co-confirm__rail-step.ts-done .ts-co-confirm__rail-dot { background: transparent; }
.ts-co-confirm__rail-line {
  position: absolute; top: 12px;
  left: calc(50% + 12px); right: calc(-50% + 12px);
  height: 2px; background: rgba(11,11,12,.12); z-index: 1;
}
.ts-co-confirm__rail-step.ts-done .ts-co-confirm__rail-line { background: #1F8A5B; }
.ts-co-confirm__rail-label {
  margin-top: 8px;
  font-family: 'JetBrains Mono', ui-monospace, monospace;
  font-size: 8px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: #777268; text-align: center;
}
.ts-co-confirm__rail-step.ts-done .ts-co-confirm__rail-label { color: #1F8A5B; }

/* Confirm CTAs */
.ts-co-confirm__actions {
  display: flex; gap: 12px; justify-content: center; flex-wrap: wrap;
}
.ts-co-confirm__actions .ts-co-continue-btn { width: auto; flex: none; margin-top: 0; }
.ts-co-confirm__actions .ts-co-back-btn { border-color: rgba(11,11,12,.2); }

/* ── Responsive ── */
@media (max-width: 1024px) {
  .ts-co-layout { grid-template-columns: 1fr; padding: 32px 24px 60px; gap: 32px; }
  .ts-co-summary { position: static; order: -1; }
  .ts-co-header { padding: 0 24px; }
  .ts-co-steps { padding: 20px 24px 0; }
}
@media (max-width: 640px) {
  .ts-co-header { padding: 0 16px; height: 56px; }
  .ts-co-header__ssl { display: none; }
  .ts-co-steps { padding: 16px 16px 0; gap: 0; }
  .ts-co-step__label { font-size: 7px; }
  .ts-co-step__dot { width: 26px; height: 26px; font-size: 10px; }
  .ts-co-layout { padding: 24px 16px 48px; }
  .ts-co-grid-2 { grid-template-columns: 1fr; }
  .ts-co-cart-item { flex-direction: column; }
  .ts-co-cart-item__img img { width: 100%; height: 180px; border-radius: 6px; }
  .ts-co-cart-item__bottom-row { flex-wrap: wrap; gap: 10px; }
  .ts-co-cart-item__price { margin-left: 0; }
  .ts-co-btn-row { flex-direction: column-reverse; }
  .ts-co-btn-row .ts-co-continue-btn,
  .ts-co-btn-row .ts-co-back-btn { width: 100%; text-align: center; }
  .ts-co-confirm { padding: 40px 16px 60px; }
  .ts-co-confirm__card-grid { grid-template-columns: 1fr; }
  .ts-co-confirm__actions { flex-direction: column; }
  .ts-co-confirm__actions a { width: 100%; text-align: center; }
  .ts-co-footer { padding: 16px; }
}
