/* ═══════════════════════════════════════════════════════
   SPRINT DRIVES — COMMERCE PAGES (v10.7)
   Shop archive, cart, side cart, checkout and account.

   Styling only. No template markup was changed, so nothing
   in the cart drawer, the checkout flow or the account
   dashboard can break: this layer sits on the classes that
   are already there.

   No shadows. 24px minimum mobile horizontal padding.
   44px minimum tap targets.
═════════════════════════════════════════════════════════ */

:root{
  --sd-c-indigo:#2a2c7b;
  --sd-c-indigo-dk:#1c1d55;
  --sd-c-indigo-xdk:#14152e;
  --sd-c-green:#cedc49;
  --sd-c-green-dk:#b9c53f;
  --sd-c-amber:#e08a1e;
  --sd-c-red:#c0392b;
  --sd-c-ink:#0e0f1a;
  --sd-c-mut:#5c5c6b;
  --sd-c-line:#d9d9d4;
  --sd-c-soft:#f5f5f3;
}

/* ═══════════════════════════════════════════════════════
   1. SHOP ARCHIVE
═════════════════════════════════════════════════════════ */

.woocommerce-products-header,
.sd-shop-head{
  border-left:6px solid var(--sd-c-green);
  padding-left:14px;
  margin-bottom:20px;
}
.woocommerce-products-header__title,
.woocommerce-products-header h1{
  font-size:clamp(22px,2.6vw,30px);
  font-weight:800;
  letter-spacing:-.022em;
  margin:0;
}
.term-description,
.woocommerce-products-header p{
  margin:6px 0 0;
  font-size:13.5px;
  color:var(--sd-c-mut);
  max-width:70ch;
}

.woocommerce-result-count{
  font-size:12.5px;
  color:var(--sd-c-mut);
  margin:0;
}
.woocommerce-ordering select{
  min-height:44px;
  padding:0 12px;
  border:1.5px solid var(--sd-c-line);
  background:#fff;
  font-family:inherit;
  font-size:13px;
  font-weight:600;
}

/* ── Product cards ────────────────────────────────────
   Equal heights, price and button pinned to the bottom so
   a long product name never pushes the row out of line. */
.sd-product-card,
ul.products li.product{
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--sd-c-line);
  overflow:hidden;
}
.sd-product-img-wrap{
  position:relative;
  aspect-ratio:1;
  background:var(--sd-c-soft);
  overflow:hidden;
}
.sd-product-img,
.sd-product-img-hover{
  width:100%;
  height:100%;
  object-fit:contain;
}
.sd-product-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:12px 14px 14px;
}
.sd-product-brand{
  font-size:10px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--sd-c-mut);
  margin-bottom:5px;
}
.sd-product-title{
  font-size:13.5px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:0;
  margin:0 0 8px;
  text-transform:none;
}
.sd-product-title a{ color:var(--sd-c-ink); }
.sd-product-price{
  margin-top:auto;
  font-size:19px;
  font-weight:800;
  letter-spacing:-.02em;
  color:var(--sd-c-indigo);
}
.sd-product-price del{
  font-size:12.5px;
  font-weight:500;
  color:var(--sd-c-mut);
  margin-right:6px;
}
.sd-product-price ins{ text-decoration:none; }
.sd-product-foot{ margin-top:10px; }

.sd-product-badges{
  position:absolute;
  top:8px;
  left:8px;
  display:flex;
  flex-direction:column;
  gap:5px;
  z-index:2;
}
.sd-product-badge{
  font-size:9.5px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:4px 8px;
  background:var(--sd-c-green);
  color:var(--sd-c-indigo-dk);
}
.sd-badge-save{ background:var(--sd-c-amber); color:#fff; }
.sd-badge-clearance{ background:var(--sd-c-red); color:#fff; }
.sd-badge-oos{ background:#8c8f94; color:#fff; }

.sd-product-stock{ font-size:11.5px; font-weight:600; margin-bottom:8px; }
.sd-stock-ok{ color:#1a7f37; }
.sd-stock-low{ color:var(--sd-c-amber); }
.sd-stock-out{ color:var(--sd-c-mut); }

.sd-product-cart-btn,
ul.products li.product .button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:11px;
  background:var(--sd-c-indigo);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
  border:none;
  border-radius:0;
}
.sd-product-cart-btn:hover,
ul.products li.product .button:hover{ background:var(--sd-c-indigo-dk); color:#fff; }
.sd-product-cart-btn.added,
.sd-product-cart-btn.loading{ background:var(--sd-c-green); color:var(--sd-c-indigo-dk); }
.sd-cart-disabled{ background:var(--sd-c-soft); color:var(--sd-c-mut); pointer-events:none; }
ul.products li.product .added_to_cart{ display:none; }

.sd-product-qty{ display:flex; align-items:stretch; margin-bottom:8px; }
.sd-qty-btn{
  width:40px;
  min-height:40px;
  border:1.5px solid var(--sd-c-line);
  background:#fff;
  font-weight:800;
  color:var(--sd-c-indigo);
}
.sd-qty-input{
  flex:1;
  min-width:0;
  min-height:40px;
  text-align:center;
  border:1.5px solid var(--sd-c-line);
  border-left:none;
  border-right:none;
  font-family:inherit;
  font-weight:700;
  font-size:14px;
}

/* Filters */
.sd-filter-form,
.woocommerce-widget-layered-nav{
  background:#fff;
  border:1px solid var(--sd-c-line);
  padding:18px;
}
.sd-filter-form h3,
.sd-filter-title{
  font-size:12px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sd-c-mut);
  margin:0 0 10px;
}
.sd-filter-form label{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:40px;
  font-size:13.5px;
  cursor:pointer;
}
.sd-filter-form input[type=checkbox]{ width:18px; height:18px; accent-color:var(--sd-c-indigo); }

/* ═══════════════════════════════════════════════════════
   2. SIDE CART
═════════════════════════════════════════════════════════ */

.cart-panel,
#cart-drawer,
.sd-cart-drawer{ background:#fff; }

.cart-head{
  background:var(--sd-c-indigo-dk);
  padding:20px 24px;
}
.cart-head-title{
  font-size:19px;
  font-weight:800;
  letter-spacing:-.02em;
  text-transform:none;
  color:#fff;
}
.cart-head-count{ color:rgba(255,255,255,.62); letter-spacing:0; }

.cart-item{
  display:flex;
  gap:12px;
  padding:16px 24px;
  border-bottom:1px solid var(--sd-c-line);
}
.cart-item-img,
.cart-item img{
  width:72px;
  height:72px;
  object-fit:contain;
  background:var(--sd-c-soft);
  flex:0 0 auto;
}
.cart-item-title{
  font-size:13px;
  font-weight:600;
  line-height:1.35;
  color:var(--sd-c-ink);
  margin-bottom:4px;
}
.cart-item-price{ font-size:14px; font-weight:800; color:var(--sd-c-indigo); }
.cart-item-meta,
.cart-item-variation{ font-size:11.5px; color:var(--sd-c-mut); }

.qty-btn{
  width:36px;
  height:36px;
  border:1.5px solid var(--sd-c-line);
  background:#fff;
  font-weight:800;
  color:var(--sd-c-indigo);
}
.qty-n{ min-width:34px; font-weight:800; }

.cart-foot{
  padding:20px 24px calc(20px + env(safe-area-inset-bottom,0px));
  border-top:1px solid var(--sd-c-line);
  background:#fff;
}
.cart-foot-row{
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  font-size:14px;
  margin-bottom:8px;
}
.cart-foot-total{ font-size:21px; font-weight:800; color:var(--sd-c-indigo); letter-spacing:-.02em; }

.cart-checkout-btn,
.cart-foot .button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:52px;
  background:var(--sd-c-indigo);
  color:#fff;
  font-size:13px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.cart-checkout-btn:hover{ background:var(--sd-c-indigo-dk); color:#fff; }
.cart-view-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin-top:8px;
  border:1.5px solid var(--sd-c-line);
  color:var(--sd-c-ink);
  font-size:12.5px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.cart-empty-t{ text-transform:none; letter-spacing:-.02em; font-weight:800; }

/* Free delivery nudge, wherever it is rendered */
.sd-ship-nudge{
  background:var(--sd-c-green);
  color:var(--sd-c-indigo-dk);
  padding:12px 24px;
  font-size:12.5px;
  font-weight:700;
}
.sd-ship-nudge__track{
  display:block;
  height:6px;
  margin-top:8px;
  background:rgba(28,29,85,.2);
  border-radius:3px;
  overflow:hidden;
}
.sd-ship-nudge__fill{ display:block; height:100%; background:var(--sd-c-indigo); }

/* ═══════════════════════════════════════════════════════
   3. CART PAGE
═════════════════════════════════════════════════════════ */

.woocommerce-cart .woocommerce{ max-width:1280px; margin:0 auto; padding:0 24px; }

.woocommerce-cart table.shop_table{
  border:1px solid var(--sd-c-line);
  border-radius:0;
  border-collapse:collapse;
  background:#fff;
  width:100%;
}
.woocommerce-cart table.shop_table th{
  background:var(--sd-c-soft);
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--sd-c-mut);
  padding:14px 16px;
  border-bottom:1px solid var(--sd-c-line);
}
.woocommerce-cart table.shop_table td{
  padding:16px;
  border-top:1px solid var(--sd-c-line);
  vertical-align:middle;
}
.woocommerce-cart .product-thumbnail img{
  width:76px;
  height:76px;
  object-fit:contain;
  background:var(--sd-c-soft);
}
.woocommerce-cart .product-name a{ font-weight:600; color:var(--sd-c-ink); font-size:14px; }
.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal{ font-weight:800; color:var(--sd-c-indigo); }
.woocommerce-cart .variation,
.woocommerce-cart dl.variation{ font-size:11.5px; color:var(--sd-c-mut); margin:4px 0 0; }
.woocommerce-cart .variation dt{ font-weight:700; }

.woocommerce-cart .quantity input.qty{
  width:76px;
  min-height:44px;
  text-align:center;
  border:1.5px solid var(--sd-c-line);
  font-family:inherit;
  font-weight:700;
}
.woocommerce-cart a.remove{
  width:32px;
  height:32px;
  line-height:30px;
  color:var(--sd-c-mut) !important;
  border:1.5px solid var(--sd-c-line);
  border-radius:0;
  font-weight:400;
}
.woocommerce-cart a.remove:hover{
  background:var(--sd-c-red) !important;
  border-color:var(--sd-c-red);
  color:#fff !important;
}

.cart_totals{
  background:#fff;
  border:1px solid var(--sd-c-line);
  padding:22px 24px;
}
.cart_totals h2{
  font-size:19px;
  font-weight:800;
  letter-spacing:-.02em;
  text-transform:none;
  margin:0 0 14px;
}
.cart_totals .order-total .amount{ font-size:23px; font-weight:800; color:var(--sd-c-indigo); }

.woocommerce .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  background:var(--sd-c-indigo);
  color:#fff;
  border-radius:0;
  font-weight:800;
  font-size:12.5px;
  letter-spacing:.04em;
  text-transform:uppercase;
  min-height:48px;
  padding:14px 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.woocommerce .button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover{ background:var(--sd-c-indigo-dk); color:#fff; }

.woocommerce .button.alt,
.woocommerce button.button.alt,
.wc-proceed-to-checkout .checkout-button{
  background:var(--sd-c-green);
  color:var(--sd-c-indigo-dk);
  width:100%;
  min-height:54px;
  font-size:14px;
}
.wc-proceed-to-checkout .checkout-button:hover{ background:var(--sd-c-green-dk); color:var(--sd-c-indigo-dk); }

.coupon input[type=text]{
  min-height:48px;
  padding:0 14px;
  border:1.5px solid var(--sd-c-line);
  font-family:inherit;
  font-size:15px;
}

/* Cart table on a phone: rows become cards, no sideways scrolling */
@media (max-width:768px){
  .woocommerce-cart .woocommerce{ padding:0 24px; }
  .woocommerce-cart table.shop_table thead{ display:none; }
  .woocommerce-cart table.shop_table tr.cart_item{
    display:grid;
    grid-template-columns:88px 1fr;
    gap:4px 14px;
    padding:16px;
    border:1px solid var(--sd-c-line);
    margin-bottom:10px;
    background:#fff;
  }
  .woocommerce-cart table.shop_table tr.cart_item td{
    border:none;
    padding:0;
  }
  .woocommerce-cart table.shop_table td.product-remove{ grid-column:2; justify-self:end; }
  .woocommerce-cart table.shop_table td.product-thumbnail{ grid-row:1 / span 4; }
  .woocommerce-cart table.shop_table td::before{
    content:attr(data-title);
    display:block;
    font-size:10px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:var(--sd-c-mut);
    margin-bottom:2px;
  }
  .woocommerce-cart table.shop_table td.product-thumbnail::before,
  .woocommerce-cart table.shop_table td.product-remove::before,
  .woocommerce-cart table.shop_table td.product-name::before{ display:none; }
  .woocommerce-cart table.shop_table td.actions{ display:block; border:none; padding:0; }
  .coupon{ display:flex; gap:8px; flex-wrap:wrap; }
  .coupon input[type=text]{ flex:1 1 160px; }
}

/* ═══════════════════════════════════════════════════════
   4. CHECKOUT
═════════════════════════════════════════════════════════ */

.woocommerce-checkout .woocommerce{ max-width:1180px; margin:0 auto; padding:0 24px; }

.woocommerce-checkout h3,
#order_review_heading{
  font-size:19px;
  font-weight:800;
  letter-spacing:-.02em;
  text-transform:none;
  padding-bottom:10px;
  border-bottom:2px solid var(--sd-c-green);
  margin:0 0 18px;
}

.woocommerce-checkout .form-row{ margin:0 0 14px; padding:0; }
.woocommerce-checkout label{
  display:block;
  font-size:12.5px;
  font-weight:700;
  color:var(--sd-c-ink);
  margin:0 0 5px;
}
.woocommerce-checkout .required{ color:var(--sd-c-red); }

.woocommerce-checkout input[type=text],
.woocommerce-checkout input[type=email],
.woocommerce-checkout input[type=tel],
.woocommerce-checkout input[type=password],
.woocommerce-checkout textarea,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout select{
  width:100%;
  min-height:50px;
  padding:0 14px;
  border:1.5px solid var(--sd-c-line);
  border-radius:0;
  background:#fff;
  font-family:inherit;
  font-size:16px;   /* stops iOS zooming on focus */
  color:var(--sd-c-ink);
}
.woocommerce-checkout textarea{ padding:12px 14px; min-height:96px; }
.woocommerce-checkout input:focus,
.woocommerce-checkout textarea:focus,
.woocommerce-checkout select:focus{
  outline:none;
  border-color:var(--sd-c-indigo);
}
.woocommerce-checkout .select2-container .select2-selection--single{
  display:flex;
  align-items:center;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{ height:48px; }

#order_review{
  background:#fff;
  border:1px solid var(--sd-c-line);
  padding:22px 24px;
}
.woocommerce-checkout-review-order-table{ width:100%; border-collapse:collapse; }
.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td{
  padding:11px 0;
  border-bottom:1px solid var(--sd-c-line);
  font-size:13.5px;
  text-align:left;
}
.woocommerce-checkout-review-order-table td{ text-align:right; }
.woocommerce-checkout-review-order-table .order-total th,
.woocommerce-checkout-review-order-table .order-total td{
  border-bottom:none;
  padding-top:16px;
  font-size:20px;
  font-weight:800;
  color:var(--sd-c-indigo);
}
.woocommerce-checkout-review-order-table .product-name{ font-weight:600; }
.woocommerce-checkout-review-order-table .product-quantity{ color:var(--sd-c-mut); font-weight:600; }

.wc_payment_methods{ list-style:none; margin:0 0 18px; padding:0; }
.wc_payment_method{
  border:1.5px solid var(--sd-c-line);
  margin-bottom:8px;
  padding:14px 16px;
}
.wc_payment_method label{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
  font-size:14px;
  font-weight:700;
  min-height:26px;
  cursor:pointer;
}
.wc_payment_method input[type=radio]{ width:20px; height:20px; accent-color:var(--sd-c-indigo); }
.wc_payment_method .payment_box{
  background:var(--sd-c-soft);
  border:none;
  margin:12px 0 0;
  padding:14px;
  font-size:13px;
  color:var(--sd-c-mut);
}
.wc_payment_method .payment_box::before{ display:none; }

#place_order{
  width:100%;
  min-height:56px;
  background:var(--sd-c-green);
  color:var(--sd-c-indigo-dk);
  font-size:15px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
#place_order:hover{ background:var(--sd-c-green-dk); color:var(--sd-c-indigo-dk); }

.woocommerce-terms-and-conditions-wrapper{ font-size:12.5px; color:var(--sd-c-mut); }

/* Reassurance under the pay button */
.sd-checkout-reassure{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:16px;
  padding-top:16px;
  border-top:1px solid var(--sd-c-line);
  font-size:12px;
  color:var(--sd-c-mut);
}
.sd-checkout-reassure span{ display:flex; align-items:center; gap:6px; }
.sd-checkout-reassure svg{ width:15px; height:15px; stroke:var(--sd-c-indigo); fill:none; stroke-width:1.8; }

@media (max-width:768px){
  .woocommerce-checkout .woocommerce{ padding:0 24px; }
  #order_review{ padding:20px 18px; }
}

/* Account styling moved to sd-account.css in v10.8, so it loads
   after account.css and can win on equal specificity. */

/* ═══════════════════════════════════════════════════════
   6. NOTICES
═════════════════════════════════════════════════════════ */

.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border:none;
  border-left:5px solid var(--sd-c-indigo);
  background:#fff;
  padding:16px 20px;
  font-size:13.5px;
  border-radius:0;
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{ display:none; }
.woocommerce-message{ border-left-color:var(--sd-c-green-dk); }
.woocommerce-error{ border-left-color:var(--sd-c-red); color:var(--sd-c-red); }
.woocommerce-message .button{ min-height:40px; padding:8px 16px; }
