/* ============================================================
   Stepace — Store (WooCommerce) design
   Layers on top of styles.css / site.css. Black / white / orange,
   Futura Cyrillic (inherited). Maps the sa-/pdp-/co- design onto
   WooCommerce markup while keeping native cart/checkout behavior.
   ============================================================ */
:root{ --sp-ink:#0B0B0B; --sp-orange:#E7511F; }

/* Woo sometimes injects a page title / breadcrumb we render ourselves */
.woocommerce-products-header{ display:none; }

/* -----------------------------------------------------------------
   SHOP ALL — archive
   ----------------------------------------------------------------- */
.sa-root{ background:#fff; color:#0B0B0B; }
.sa-root a{ color:inherit; text-decoration:none; }

.sa-banner{ position:relative; min-height:clamp(260px,38vw,460px); display:flex; align-items:flex-end; overflow:hidden; background:#0B0B0B; }
.sa-banner-img{ position:absolute; inset:0; background-size:cover; background-position:center; }
.sa-banner-ov{ position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,11,11,.15),rgba(11,11,11,.7)); }
.sa-banner-txt{ position:relative; z-index:2; padding:0 5vw 40px; color:#fff; }
.sa-banner h1{ margin:0; font-weight:900; font-style:italic; letter-spacing:-.02em; line-height:.9; font-size:clamp(48px,9vw,132px); }
.sa-banner-tag{ margin:10px 0 0; font-weight:600; letter-spacing:.06em; font-size:clamp(11px,1.1vw,14px); color:rgba(255,255,255,.8); }

.sa-term-desc{ padding:24px 5vw 0; max-width:70ch; color:rgba(11,11,11,.7); }

.sa-bar{ display:flex; align-items:center; justify-content:space-between; gap:16px; padding:28px 5vw 8px; flex-wrap:wrap; }
.sa-count{ margin:0; font-weight:900; font-style:italic; letter-spacing:-.01em; font-size:clamp(20px,2.4vw,32px); }
.sa-count span{ color:rgba(11,11,11,.4); font-style:normal; }
.sa-bar-actions{ display:flex; align-items:center; gap:14px; }
.sa-hide-filters{ background:none; border:none; cursor:pointer; font-family:inherit; font-weight:700; font-size:12px; letter-spacing:.08em; color:rgba(11,11,11,.6); text-transform:uppercase; }
.sa-hide-filters:hover{ color:#E7511F; }
.sa-sort .woocommerce-ordering{ margin:0; }
.sa-sort select, .sa-sort .orderby{ font-family:inherit; font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding:9px 30px 9px 14px; border:1px solid rgba(11,11,11,.25); border-radius:100px; background:#fff; cursor:pointer; -webkit-appearance:none; appearance:none; background-image:linear-gradient(45deg,transparent 50%,#0B0B0B 50%),linear-gradient(135deg,#0B0B0B 50%,transparent 50%); background-position:calc(100% - 16px) 55%,calc(100% - 11px) 55%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }

.sa-layout{ display:grid; grid-template-columns:250px 1fr; gap:44px; padding:20px 5vw 13vh; align-items:start; }
.sa-layout.filters-hidden{ grid-template-columns:1fr; }
.sa-layout.filters-hidden .sa-sidebar{ display:none; }

.sa-sidebar{ position:sticky; top:90px; }
.sa-pickup{ display:flex; align-items:center; justify-content:space-between; padding:0 0 16px; font-weight:700; font-size:13px; letter-spacing:.04em; }
.sa-toggle{ width:46px; height:24px; border-radius:100px; background:rgba(11,11,11,.22); position:relative; cursor:pointer; flex:0 0 auto; transition:background .2s; }
.sa-toggle::after{ content:''; position:absolute; top:2px; left:2px; width:20px; height:20px; border-radius:50%; background:#fff; transition:left .2s; box-shadow:0 1px 3px rgba(0,0,0,.3); }
.sa-toggle.on{ background:#E7511F; }
.sa-toggle.on::after{ left:24px; }
.sa-side-cat{ display:block; padding:14px 0; font-weight:700; font-size:15px; border-top:1px solid rgba(11,11,11,.14); color:#0B0B0B; }
.sa-side-cat:hover, .sa-side-cat.is-active{ color:#E7511F; }
.sa-filter{ border-top:1px solid rgba(11,11,11,.14); }
.sa-filter>summary{ display:flex; align-items:center; justify-content:space-between; padding:18px 0; font-weight:700; font-size:15px; cursor:pointer; list-style:none; }
.sa-filter>summary::-webkit-details-marker{ display:none; }
.sa-filter .sa-chev{ transition:transform .25s; font-size:12px; }
.sa-filter[open] .sa-chev{ transform:rotate(180deg); }
.sa-opt{ display:flex; align-items:center; gap:10px; padding:7px 0 7px 2px; font-size:14px; font-weight:600; color:rgba(11,11,11,.75); cursor:pointer; }
.sa-opt input{ accent-color:#E7511F; width:16px; height:16px; }
.sa-sw{ width:20px; height:20px; border-radius:50%; box-shadow:0 0 0 1px rgba(11,11,11,.25); flex:0 0 auto; }
.sa-apply{ margin-top:18px; width:100%; background:#0B0B0B; color:#fff; border:none; border-radius:100px; padding:13px; font-family:inherit; font-weight:800; font-size:12px; letter-spacing:.08em; cursor:pointer; }
.sa-apply:hover{ background:#E7511F; color:#0B0B0B; }

.sa-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px 24px; }
.sa-card{ display:flex; flex-direction:column; }
.sa-img{ aspect-ratio:1/1; background:#f0f0f0; overflow:hidden; transition:opacity .2s; }
.sa-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.2,.7,.25,1); }
.sa-card:hover .sa-img img{ transform:scale(1.04); }
.sa-badge{ margin:12px 0 4px; color:#E7511F; font-weight:700; font-size:12px; letter-spacing:.06em; min-height:15px; }
.sa-badge-spacer{ color:transparent; }
.sa-title{ font-weight:800; font-size:15px; }
.sa-cat{ margin-top:3px; font-family:monospace; font-size:12px; color:rgba(11,11,11,.5); letter-spacing:.02em; }
.sa-price{ margin-top:6px; font-weight:700; }
.sa-price .woocommerce-Price-amount{ color:#0B0B0B; }
.sa-price del{ opacity:.4; margin-right:6px; }
.sa-price ins{ text-decoration:none; color:#E7511F; }
.sa-pagination{ margin-top:48px; }
.sa-pagination .page-numbers{ display:inline-flex; gap:6px; list-style:none; padding:0; }
.sa-pagination .page-numbers li a, .sa-pagination .page-numbers li span{ display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; border:1px solid rgba(11,11,11,.2); font-weight:700; }
.sa-pagination .page-numbers li .current{ background:#0B0B0B; color:#fff; }
.sa-empty{ padding:40px 0; font-weight:700; letter-spacing:.04em; }
.sa-empty a{ color:#E7511F; }

@media (max-width:860px){
  .sa-layout{ grid-template-columns:1fr; gap:0; }
  .sa-sidebar{ position:static; display:flex; gap:10px; overflow-x:auto; padding-bottom:16px; margin-bottom:20px; border-bottom:1px solid rgba(11,11,11,.14); scrollbar-width:none; }
  .sa-sidebar::-webkit-scrollbar{ display:none; }
  .sa-pickup, .sa-apply{ display:none; }
  /* mobile filter row: smaller, tidier, easier-to-tap pills */
  .sa-sidebar{ gap:8px !important; }
  .sa-sidebar > .sa-side-label{ display:none; }                 /* drop the "SHOP BY" label pill */
  .sa-sidebar>*{ flex:0 0 auto; border:1px solid rgba(11,11,11,.22); border-radius:100px; padding:7px 14px !important; font-size:12.5px; line-height:1.1; white-space:nowrap; }
  .sa-sidebar>.sa-side-cat{ font-size:12.5px; font-weight:700; }
  .sa-side-cat.is-active{ background:#0B0B0B; color:#fff; border-color:#0B0B0B; }   /* clear selected state */
  .sa-filter>summary{ padding:0 !important; font-size:12.5px; }
  .sa-filter-form .sa-side-label{ margin-top:0; padding-top:0; border-top:none; }
  .sa-filter[open]>div{ position:absolute; z-index:5; margin-top:10px; background:#fff; border:1px solid rgba(11,11,11,.15); border-radius:14px; padding:10px 14px; box-shadow:0 14px 34px -14px rgba(11,11,11,.35); }
  .sa-opt{ padding:10px 2px; font-size:13.5px; }                 /* bigger tap targets */
  .sa-opt input{ width:18px; height:18px; }
  .sa-grid{ grid-template-columns:1fr 1fr; gap:4px 12px; }
}

/* -----------------------------------------------------------------
   PDP — single product
   ----------------------------------------------------------------- */
.pdp-root{ --ink:#0B0B0B; --orange:#E7511F; color:var(--ink); background:#e7e7e5; }
.pdp-root a{ color:inherit; text-decoration:none; }
.pdp-stage{ position:relative; min-height:calc(100vh - 108px); padding-bottom:10vh; }
.pdp-hero-img{ position:absolute; inset:0; overflow:hidden; background:#111; }
.pdp-hero-img img{ width:100%; height:100%; object-fit:cover; display:block; }
.pdp-card{ position:relative; z-index:30; margin-left:auto; margin-right:5vw; top:0; width:min(460px,92vw); background:#fff; box-shadow:0 24px 60px -18px rgba(11,11,11,.4); padding:34px 32px 40px; transform:translateY(5vh); }
.pdp-badge{ display:inline-block; border:1px solid rgba(11,11,11,.4); border-radius:100px; padding:5px 12px; font-weight:700; font-size:11px; letter-spacing:.08em; margin-bottom:16px; }
.pdp-title{ margin:0 0 8px; font-weight:800; font-style:italic; letter-spacing:-.01em; line-height:1.05; font-size:clamp(22px,2.6vw,30px); }
.pdp-ship{ font-weight:700; font-size:12px; letter-spacing:.06em; color:rgba(11,11,11,.55); margin-bottom:16px; }
.pdp-desc{ font-size:14px; line-height:1.55; color:rgba(11,11,11,.8); }
.pdp-desc p{ margin:0 0 10px; text-transform:none; }
.pdp-desc-clip{ max-height:4.6em; overflow:hidden; transition:max-height .3s ease; }
.pdp-desc-clip.open{ max-height:600px; }
.pdp-read-btn{ color:#E7511F; font-weight:700; font-size:13px; }
.pdp-buy{ margin-top:22px; padding-top:22px; border-top:1px solid rgba(11,11,11,.14); }
.pdp-price{ font-weight:800; font-size:22px; margin-bottom:14px; }
.pdp-price .woocommerce-Price-amount{ color:#0B0B0B; }
.pdp-price del{ opacity:.4; font-size:.7em; margin-right:8px; }
.pdp-price ins{ text-decoration:none; color:#E7511F; }

/* WooCommerce variation form + qty + button, restyled */
.pdp-card .variations{ width:100%; border-collapse:collapse; margin-bottom:14px; }
.pdp-card .variations th,.pdp-card .variations td{ padding:6px 0; text-align:left; vertical-align:middle; }
.pdp-card .variations th.label{ font-weight:700; font-size:12px; letter-spacing:.06em; text-transform:uppercase; padding-right:14px; width:1%; white-space:nowrap; }
.pdp-card .variations select{ width:100%; font-family:inherit; font-weight:700; font-size:14px; padding:12px 14px; border:1px solid rgba(11,11,11,.25); background:#fff; -webkit-appearance:none; appearance:none; border-radius:0; }
.pdp-card .reset_variations{ font-size:12px; color:#E7511F; }
.pdp-card .woocommerce-variation-price{ font-weight:800; font-size:20px; margin:10px 0; }
.pdp-card .quantity{ display:inline-flex; align-items:center; border:1px solid rgba(11,11,11,.25); margin-right:10px; margin-bottom:10px; }
.pdp-card .quantity input.qty{ width:52px; height:52px; border:none; text-align:center; font-family:inherit; font-weight:700; font-size:16px; -moz-appearance:textfield; }
.pdp-card .single_add_to_cart_button,
.pdp-card button.single_add_to_cart_button{ display:inline-flex; align-items:center; justify-content:center; gap:10px; width:100%; margin-top:6px; background:#E7511F; color:#0B0B0B; border:none; border-radius:100px; padding:18px 20px; font-family:inherit; font-weight:800; font-size:14px; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; transition:filter .2s; }
.pdp-card .single_add_to_cart_button:hover{ filter:brightness(1.05); }
.pdp-card .single_add_to_cart_button.disabled{ opacity:.45; cursor:not-allowed; }

/* Variation swatches (JS builds these from the native <select>; select stays
   in the DOM for add-to-cart and is hidden once swatches render) */
.pdp-card select.sp-swatched{ position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.pdp-swatches{ display:flex; flex-wrap:wrap; gap:10px; margin:2px 0 6px; }
.pdp-swatches-size{ gap:0; }
.pdp-sw{ width:28px; height:28px; border-radius:50%; cursor:pointer; border:none; padding:0; box-shadow:0 0 0 1px rgba(11,11,11,.25); transition:box-shadow .15s; }
.pdp-sw:hover{ box-shadow:0 0 0 2px rgba(11,11,11,.45); }
.pdp-sw.sel{ box-shadow:0 0 0 2px var(--ink,#0B0B0B); }
.pdp-sw[data-hex="#FFFFFF"]{ box-shadow:0 0 0 1px rgba(11,11,11,.35); }
.pdp-size{ min-width:56px; height:56px; padding:0 16px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(11,11,11,.25); background:#fff; font-family:inherit; font-weight:700; font-size:16px; cursor:pointer; transition:background .15s,color .15s; }
.pdp-size + .pdp-size{ border-left:none; }
.pdp-size:hover{ border-color:var(--ink,#0B0B0B); }
.pdp-size.sel{ background:var(--ink,#0B0B0B); color:#fff; }
.pdp-size.sp-oos{ opacity:.35; text-decoration:line-through; cursor:not-allowed; }

/* WEAR IT WITH — upsell / related grid */
.pdp-wear{ background:#fff; padding:64px 5vw 88px; }
.pdp-wear-h{ margin:0 0 28px; font-weight:900; font-style:italic; font-size:clamp(24px,3vw,40px); letter-spacing:-.01em; }
.pdp-wear .products{ display:grid; grid-template-columns:repeat(3,1fr); gap:6px 24px; list-style:none; margin:0; padding:0; }
.pdp-wear .products li.product{ margin:0; width:auto; }
.pdp-wear .products li.product a img{ width:100%; aspect-ratio:1/1; object-fit:cover; display:block; background:#f0f0f0; }
.pdp-wear .products li.product .woocommerce-loop-product__title{ font-weight:800; font-size:14px; padding:12px 0 4px; }
.pdp-wear .products li.product .price{ font-weight:700; }
.pdp-wear .products li.product .price ins{ text-decoration:none; color:#E7511F; }
.pdp-wear .products li.product .button{ display:inline-block; margin-top:6px; background:#0B0B0B; color:#fff; border-radius:100px; padding:9px 16px; font-weight:700; font-size:12px; letter-spacing:.06em; }
.pdp-wear .products li.product .added_to_cart{ display:inline-block; margin-top:6px; margin-left:8px; font-weight:700; font-size:12px; color:#E7511F; }

@media (max-width:820px){
  .pdp-stage{ min-height:auto; }
  .pdp-hero-img{ position:relative; height:88vw; }
  .pdp-card{ position:relative; margin:0; width:auto; box-shadow:none; transform:none; padding:28px 5vw 40px; }
  .pdp-wear .products{ grid-template-columns:1fr 1fr; }
}

/* -----------------------------------------------------------------
   CART DRAWER (site-wide)
   ----------------------------------------------------------------- */
.pdp-scrim{ position:fixed; inset:0; background:rgba(11,11,11,.5); z-index:79; opacity:0; visibility:hidden; transition:opacity .4s; }
.pdp-scrim.open{ opacity:1; visibility:visible; }
.pdp-cart{ position:fixed; top:0; right:0; height:100%; width:min(460px,100%); background:#fff; color:#0B0B0B; z-index:80; transform:translateX(100%); transition:transform .4s cubic-bezier(.7,0,.2,1); display:flex; flex-direction:column; box-shadow:-20px 0 60px rgba(0,0,0,.25); }
.pdp-cart.open{ transform:none; }
.pdp-cart-head{ display:flex; align-items:center; justify-content:space-between; padding:22px 24px; border-bottom:1px solid rgba(11,11,11,.12); }
.pdp-cart-title{ font-weight:900; font-style:italic; font-size:22px; }
.pdp-cart-x{ background:none; border:none; font-family:inherit; font-weight:700; font-size:12px; letter-spacing:.08em; cursor:pointer; color:rgba(11,11,11,.6); }
.pdp-cart-x:hover{ color:#E7511F; }
.pdp-ship-bar{ padding:12px 24px; background:#0B0B0B; color:#fff; font-weight:600; font-size:12px; letter-spacing:.04em; }
.pdp-ship-bar strong{ color:#E7511F; }
.pdp-cart-body{ flex:1; overflow-y:auto; padding:8px 24px; }
.pdp-cart-body .woocommerce-mini-cart{ list-style:none; margin:0; padding:0; }
.pdp-cart-body .woocommerce-mini-cart-item{ display:flex; align-items:flex-start; gap:14px; padding:18px 0; border-bottom:1px solid rgba(11,11,11,.1); position:relative; }
.pdp-cart-body .woocommerce-mini-cart-item img{ order:-1; width:72px; height:88px; object-fit:cover; margin:0; background:#f0f0f0; }
.pdp-cart-body .woocommerce-mini-cart-item a:not(.remove){ font-weight:800; font-size:14px; display:block; }
.pdp-cart-body .woocommerce-mini-cart-item .quantity{ font-size:12px; color:rgba(11,11,11,.6); }
.pdp-cart-body .woocommerce-mini-cart-item a.remove{ position:absolute; top:18px; right:0; color:rgba(11,11,11,.4) !important; font-size:18px; }
.pdp-cart-body .woocommerce-mini-cart__empty-message{ padding:40px 0; text-align:center; color:rgba(11,11,11,.5); font-weight:700; }
.pdp-cart-body .woocommerce-mini-cart__total{ display:flex; justify-content:space-between; padding:16px 0; font-weight:800; font-size:16px; border-top:2px solid #0B0B0B; margin-top:6px; }
.pdp-cart-body .woocommerce-mini-cart__buttons{ display:none; } /* we provide our own checkout button */
.pdp-cart-foot{ padding:18px 24px 24px; border-top:1px solid rgba(11,11,11,.12); }
.pdp-cart-checkout{ display:block; text-align:center; background:#E7511F; color:#0B0B0B; border-radius:100px; padding:18px; font-weight:800; font-size:14px; letter-spacing:.06em; }
.pdp-cart-note{ text-align:center; margin-top:12px; font-size:12px; color:rgba(11,11,11,.5); }

/* -----------------------------------------------------------------
   CHECKOUT — two-column
   ----------------------------------------------------------------- */
.co-root{ display:grid; grid-template-columns:1fr 1fr; min-height:100vh; align-items:start; }
.co-left{ background:#fff; color:#0B0B0B; padding:40px clamp(24px,5vw,80px) 80px; }
.co-right{ background:#0B0B0B; color:#fff; padding:40px clamp(24px,4vw,64px) 80px; position:sticky; top:0; }
.co-logo{ display:inline-block; margin-bottom:26px; }
.co-h1{ margin:0 0 6px; font-weight:900; font-style:italic; font-size:clamp(26px,3vw,38px); letter-spacing:-.02em; }
.co-sub{ margin:0 0 26px; color:rgba(11,11,11,.6); font-size:14px; text-transform:none; }
.co-customer h3{ font-weight:900; font-style:italic; font-size:18px; margin:22px 0 14px; }
.co-return{ display:inline-block; margin-top:26px; font-weight:700; font-size:13px; letter-spacing:.06em; color:rgba(11,11,11,.6); }
.co-return:hover{ color:#E7511F; }
.co-legal{ margin-top:22px; font-size:12px; color:rgba(255,255,255,.5); text-transform:none; }
.co-summary-h{ margin:0 0 18px; font-weight:900; font-style:italic; font-size:22px; }

/* form fields */
.co-root .form-row{ margin:0 0 14px; padding:0; }
.co-root label{ font-weight:700; font-size:12px; letter-spacing:.04em; text-transform:uppercase; display:block; margin-bottom:6px; }
.co-root .input-text,
.co-root select,
.co-root textarea{ width:100%; background:#fff; border:1px solid rgba(11,11,11,.25); border-radius:6px; padding:14px; font-family:inherit; font-size:15px; color:#0B0B0B; outline:none; }
.co-root .input-text:focus,.co-root select:focus,.co-root textarea:focus{ border-color:#E7511F; }
.co-root .select2-container--default .select2-selection--single{ border:1px solid rgba(11,11,11,.25); border-radius:6px; height:50px; }
.co-root .select2-container--default .select2-selection--single .select2-selection__rendered{ line-height:50px; padding-left:14px; }

/* order review (dark panel) */
.co-right .woocommerce-checkout-review-order-table{ width:100%; border-collapse:collapse; color:#fff; }
.co-right .woocommerce-checkout-review-order-table th,
.co-right .woocommerce-checkout-review-order-table td{ padding:14px 0; border-bottom:1px solid rgba(255,255,255,.14); text-align:left; }
.co-right .woocommerce-checkout-review-order-table td:last-child,
.co-right .woocommerce-checkout-review-order-table th:last-child{ text-align:right; }
.co-right .cart_item .product-name{ font-weight:700; font-size:14px; }
.co-right .order-total .woocommerce-Price-amount{ color:#E7511F; font-weight:800; font-size:20px; }
.co-right .woocommerce-Price-amount{ color:#fff; }
.co-right a{ color:#E7511F; }

/* coupon */
.co-root .checkout_coupon{ margin-bottom:20px; border:none; padding:0; }
.co-root .checkout_coupon .input-text{ background:none; color:#fff; border-color:rgba(255,255,255,.25); }
.co-root .checkout_coupon .button{ background:rgba(255,255,255,.14); color:#fff; border:none; border-radius:6px; padding:0 22px; font-weight:800; letter-spacing:.06em; }

/* payment + place order */
.co-right #payment{ background:none; border-radius:0; margin-top:18px; }
.co-right #payment .wc_payment_methods{ padding:0; border:none; }
.co-right #payment .wc_payment_method label{ text-transform:none; font-weight:700; }
.co-right #payment .payment_box{ background:rgba(255,255,255,.06); color:rgba(255,255,255,.85); }
.co-right #payment div.form-row.place-order{ padding:0; }
.co-right #place_order,
.co-root #place_order{ width:100%; margin-top:20px; background:#E7511F; color:#0B0B0B; border:none; border-radius:100px; padding:20px; font-family:inherit; font-weight:800; font-size:16px; letter-spacing:.06em; cursor:pointer; text-transform:uppercase; }
.co-right #place_order:hover{ filter:brightness(1.05); }

@media (max-width:900px){
  .co-root{ grid-template-columns:1fr; }
  .co-right{ order:-1; position:static; }
}
@media (max-width:620px){
  .co-customer{ display:block; }
}

/* ============================================================
   CART PAGE — brand styling over default WooCommerce cart
   ============================================================ */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce{ max-width:1200px; margin:0 auto; padding:6vh 5vw 12vh; }
.woocommerce-cart .entry-title, .woocommerce-cart h1{ font-weight:900; font-style:italic; letter-spacing:-0.02em; font-size:clamp(34px,5vw,64px); margin:0 0 28px; }
.woocommerce-cart table.shop_table{ width:100%; border-collapse:collapse; border:none; margin-bottom:28px; }
.woocommerce-cart table.cart thead th{ text-transform:uppercase; font-weight:800; font-size:12px; letter-spacing:0.06em; padding:14px 10px; border-bottom:2px solid #0B0B0B; text-align:left; }
.woocommerce-cart table.cart td{ padding:18px 10px; border-bottom:1px solid rgba(11,11,11,.12); vertical-align:middle; }
.woocommerce-cart td.product-thumbnail img{ width:72px; height:88px; object-fit:cover; background:#f0f0f0; }
.woocommerce-cart td.product-name a{ font-weight:800; color:#0B0B0B; text-decoration:none; }
.woocommerce-cart td.product-name a:hover{ color:#E7511F; }
.woocommerce-cart a.remove{ color:#E7511F !important; border:none; font-weight:700; }
.woocommerce-cart a.remove:hover{ background:#E7511F !important; color:#fff !important; }
.woocommerce-cart .quantity input.qty{ width:64px; height:46px; text-align:center; border:1px solid rgba(11,11,11,.25); font-family:inherit; font-weight:700; text-transform:none; }
.woocommerce-cart .coupon input.input-text{ height:46px; border:1px solid rgba(11,11,11,.25); border-radius:6px; padding:0 14px; font-family:inherit; text-transform:none; }
.woocommerce-cart .actions .button, .woocommerce-cart button[name="update_cart"]{ background:#0B0B0B; color:#fff; border:none; border-radius:100px; padding:13px 22px; font-family:inherit; font-weight:800; font-size:12px; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; }
.woocommerce-cart .coupon .button{ background:#0B0B0B; color:#fff; border-radius:100px; }
.woocommerce-cart .actions .button:hover, .woocommerce-cart .coupon .button:hover{ background:#E7511F; color:#0B0B0B; }
.woocommerce-cart .cart_totals{ border:1px solid rgba(11,11,11,.16); border-radius:10px; padding:26px 24px; max-width:440px; margin-left:auto; }
.woocommerce-cart .cart_totals h2{ font-weight:900; font-style:italic; font-size:22px; margin:0 0 16px; }
.woocommerce-cart .cart_totals table{ width:100%; }
.woocommerce-cart .cart_totals th, .woocommerce-cart .cart_totals td{ padding:12px 0; border-bottom:1px solid rgba(11,11,11,.1); text-align:left; }
.woocommerce-cart .cart_totals td{ text-align:right; }
.woocommerce-cart .cart_totals .order-total .amount{ color:#E7511F; font-weight:800; font-size:20px; }
.woocommerce-cart .wc-proceed-to-checkout{ padding-top:18px; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{ display:block; text-align:center; background:#E7511F; color:#0B0B0B !important; border-radius:100px; padding:18px; font-weight:800; font-size:14px; letter-spacing:0.06em; text-transform:uppercase; }
.woocommerce-cart .cart-empty{ font-weight:800; font-style:italic; font-size:clamp(20px,3vw,32px); }
.woocommerce-cart .return-to-shop a.button{ display:inline-block; margin-top:16px; background:#E7511F; color:#0B0B0B; border-radius:100px; padding:14px 26px; font-weight:800; letter-spacing:0.06em; }

/* ============================================================
   MY ACCOUNT — brand styling over default WooCommerce account
   ============================================================ */
.woocommerce-account .woocommerce{ max-width:1100px; margin:0 auto; padding:6vh 5vw 12vh; }
.woocommerce-account .entry-title, .woocommerce-account h1{ font-weight:900; font-style:italic; letter-spacing:-0.02em; font-size:clamp(34px,5vw,64px); margin:0 0 28px; }
/* login / register */
.woocommerce-account #customer_login.u-columns{ display:grid; grid-template-columns:1fr 1fr; gap:32px; }
.woocommerce-account #customer_login .col-1, .woocommerce-account #customer_login .col-2{ width:auto; float:none; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register{ border:1px solid rgba(11,11,11,.16); border-radius:10px; padding:28px; }
.woocommerce-account h2{ font-weight:900; font-style:italic; font-size:22px; margin:0 0 18px; }
.woocommerce-account label{ font-weight:700; font-size:12px; letter-spacing:0.04em; text-transform:uppercase; display:block; margin-bottom:6px; }
.woocommerce-account .woocommerce-Input, .woocommerce-account input.input-text, .woocommerce-account input[type=text], .woocommerce-account input[type=email], .woocommerce-account input[type=password], .woocommerce-account input[type=tel]{ width:100%; height:50px; border:1px solid rgba(11,11,11,.25); border-radius:6px; padding:0 14px; font-family:inherit; font-size:15px; text-transform:none; outline:none; }
.woocommerce-account input:focus{ border-color:#E7511F; }
.woocommerce-account button.woocommerce-button, .woocommerce-account button.woocommerce-Button, .woocommerce-account button[type=submit], .woocommerce-account .button{ background:#E7511F !important; color:#0B0B0B !important; border:none; border-radius:100px; padding:15px 28px; font-family:inherit; font-weight:800; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; }
.woocommerce-account button:hover, .woocommerce-account .button:hover{ filter:brightness(1.05); }
.woocommerce-account .lost_password a, .woocommerce-account a{ color:#E7511F; }
/* dashboard */
.woocommerce-account .woocommerce-MyAccount-navigation{ width:26%; float:left; }
.woocommerce-account .woocommerce-MyAccount-content{ width:70%; float:right; }
.woocommerce-account .woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; border-top:1px solid rgba(11,11,11,.14); }
.woocommerce-account .woocommerce-MyAccount-navigation li{ border-bottom:1px solid rgba(11,11,11,.14); }
.woocommerce-account .woocommerce-MyAccount-navigation li a{ display:block; padding:15px 4px; font-weight:800; font-size:13px; letter-spacing:0.06em; text-transform:uppercase; color:#0B0B0B; text-decoration:none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover{ color:#E7511F; }
.woocommerce-account .woocommerce-MyAccount-content{ text-transform:none; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table th{ text-transform:uppercase; font-weight:800; font-size:12px; letter-spacing:0.06em; border-bottom:2px solid #0B0B0B; padding:12px 8px; text-align:left; }
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{ padding:14px 8px; border-bottom:1px solid rgba(11,11,11,.12); }
@media (max-width:820px){
  .woocommerce-account #customer_login.u-columns{ grid-template-columns:1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content{ width:100%; float:none; }
  .woocommerce-account .woocommerce-MyAccount-navigation{ margin-bottom:28px; }
}

/* ============================================================
   Generic branded form (partner application, etc.)
   ============================================================ */
.sp-form{ display:block; }
.sp-form-row{ margin-bottom:18px; }
.sp-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.sp-form label{ display:block; font-weight:700; font-size:12px; letter-spacing:0.05em; text-transform:uppercase; margin-bottom:7px; color:#0B0B0B; }
.sp-form-input{ width:100%; border:1px solid rgba(11,11,11,.25); border-radius:6px; padding:14px; font-family:inherit; font-size:15px; color:#0B0B0B; background:#fff; outline:none; text-transform:none; box-sizing:border-box; }
.sp-form-input:focus{ border-color:#E7511F; }
select.sp-form-input{ -webkit-appearance:none; appearance:none; cursor:pointer; background-image:linear-gradient(45deg,transparent 50%,#0B0B0B 50%),linear-gradient(135deg,#0B0B0B 50%,transparent 50%); background-position:calc(100% - 18px) 55%,calc(100% - 13px) 55%; background-size:5px 5px,5px 5px; background-repeat:no-repeat; }
.sp-form-submit{ margin-top:8px; width:100%; background:#E7511F; color:#0B0B0B; border:none; border-radius:100px; padding:18px; font-family:inherit; font-weight:800; font-size:15px; letter-spacing:0.06em; text-transform:uppercase; cursor:pointer; }
.sp-form-submit:hover{ filter:brightness(1.05); }
@media (max-width:600px){ .sp-form-grid{ grid-template-columns:1fr; } }
@media (max-width:820px){ .sp-root form.sp-form, .sp-root aside{ } .woocommerce-page .sp-form-grid{ } }

/* Reorganized shop sidebar headings */
.sa-side-label{ font-family:monospace; font-size:11px; font-weight:700; letter-spacing:0.16em; color:rgba(11,11,11,0.45); margin:0 0 6px; text-transform:uppercase; }
.sa-sidebar .sa-side-label + .sa-side-cat{ border-top:none; }
.sa-filter-form .sa-side-label{ margin-top:28px; padding-top:20px; border-top:1px solid rgba(11,11,11,0.14); }

/* WEAR IT WITH — clean custom grid (replaces WooCommerce's staggered float layout) */
.pdp-wear-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px 18px; }
.pdp-wear-item{ display:flex; flex-direction:column; color:#0B0B0B; text-decoration:none; }
.pdp-wear-img{ aspect-ratio:1/1; background:#f0f0f0; overflow:hidden; }
.pdp-wear-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s cubic-bezier(.2,.7,.25,1); }
.pdp-wear-item:hover .pdp-wear-img img{ transform:scale(1.04); }
.pdp-wear-t{ font-weight:800; font-size:13px; margin-top:10px; }
.pdp-wear-c{ font-family:monospace; font-size:11px; color:rgba(11,11,11,.5); margin-top:3px; letter-spacing:.06em; }
.pdp-wear-p{ font-weight:700; font-size:13px; margin-top:4px; color:#0B0B0B; }
.pdp-wear-p .woocommerce-Price-amount{ color:#0B0B0B; }
.pdp-wear-p ins{ text-decoration:none; color:#E7511F; }
.pdp-wear-p del{ opacity:.4; margin-right:6px; }
@media (max-width:1024px){ .pdp-wear-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:680px){ .pdp-wear-grid{ grid-template-columns:1fr 1fr; } }

/* WEAR IT WITH — dark smoke section (matches homepage shop) */
.pdp-wear{ position:relative; overflow:hidden; background:#0B0B0B !important; color:#FFFFFF; }
.pdp-wear-h{ color:#FFFFFF; }
.pdp-wear-item{ color:#FFFFFF; }
.pdp-wear-t{ color:#FFFFFF; }
.pdp-wear-c{ color:rgba(255,255,255,0.5); }
.pdp-wear-p, .pdp-wear-p .woocommerce-Price-amount{ color:#FFFFFF; }
.pdp-wear-img{ background:rgba(255,255,255,0.06); }

/* Fix: WooCommerce default purple .alt buttons -> brand orange */
.woocommerce .button.alt, .woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce input.button.alt, .woocommerce #respond input#submit.alt, .pdp-card .single_add_to_cart_button{ background:#E7511F !important; color:#0B0B0B !important; border:none !important; }
.woocommerce .button.alt:hover, .pdp-card .single_add_to_cart_button:hover{ filter:brightness(1.05); }

/* -----------------------------------------------------------------
   Shop card hover swap — first GALLERY image shown by default,
   featured (main) image revealed on hover. (added 2026-07-08)
   ----------------------------------------------------------------- */
.sa-img-swap{ display:grid; }
.sa-img-swap > img{ grid-area:1 / 1; }
.sa-img-swap .sa-img-hover{ opacity:0; transition:opacity .45s ease; }
.sa-card:hover .sa-img-swap .sa-img-hover{ opacity:1; }
@media (hover:none){ .sa-img-swap .sa-img-hover{ display:none; } }

/* PDP gallery — main image is the full-bleed hero above; the remaining
   gallery images render here, below it, at full size (not cropped). */
.pdp-gallery{ position:relative; z-index:6; background:#e7e7e5; padding:6vh 5vw 8vh; display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pdp-gallery-img{ width:100%; height:auto; display:block; background:#f0f0f0; }
@media (max-width:820px){ .pdp-gallery{ grid-template-columns:1fr; padding:4vh 5vw 6vh; } }

/* Swap overlay — reliable absolute stacking (overrides the grid approach above) */
.sa-img-swap{ display:block; position:relative; }
.sa-img-swap > img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
