/*
Theme Name: Slthrs Child
Template: generatepress
Version: 2.0.0
Description: Slthrs Attire storefront.
*/

/* =========================================================
   TOKENS
   ========================================================= */
:root, body{
  --ink:#0A0A0A; --ink-2:#1A1A1A; --paper:#FFFFFF; --off:#F4F4F2; --off-2:#ECECE8;
  --mute:#6B6B6B; --line:#E2E2E2; --lime:#BAF120; --lime-2:#A9DE12; --red:#C2271B;
  --display:'Archivo', 'Arial Narrow', sans-serif; --body:'DM Sans', system-ui, sans-serif; --mono:'Space Mono', ui-monospace, monospace;
  --gut:16px; --sec:56px; --head:60px;
  --ease:cubic-bezier(.2,.7,.2,1); --ease-out:cubic-bezier(.32,.72,0,1);
  /* WooCommerce palette, so nothing falls back to purple or olive */
  --wc-primary:#0A0A0A; --wc-primary-text:#fff; --wc-secondary:#F4F4F2; --wc-secondary-text:#0A0A0A;
  --wc-highlight:#0A0A0A; --wc-highligh-text:#fff; --wc-content-bg:#fff; --wc-subtext:#6B6B6B; --wc-red:#C2271B; --wc-green:#1d7a3a;
  --wc-form-border-color:#E2E2E2; --wc-form-border-radius:2px; --wc-form-border-width:1px; --woocommerce:#0A0A0A;
}
@media (min-width:768px){ :root, body{ --gut:32px; --sec:80px; } }
@media (min-width:1024px){ :root, body{ --gut:40px; --sec:112px; --head:72px; } }

/* =========================================================
   BASE
   ========================================================= */
html{ -webkit-text-size-adjust:100%; scroll-padding-top:calc(var(--head) + 16px); }
body{ background:var(--paper)!important; color:var(--ink); font-family:var(--body)!important; font-size:15px; line-height:1.55; font-weight:400; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:clip; text-rendering:optimizeLegibility; }
*, *::before, *::after{ box-sizing:border-box; }
img{ max-width:100%; height:auto; display:block; }
a, a:hover, a:focus, a:visited, ins, abbr, abbr[title], u, button, .button, summary{ text-decoration:none!important; }
abbr[title]{ border:0; }
a{ color:inherit; transition:color .2s var(--ease), opacity .2s var(--ease); }
a:hover{ color:inherit; }
del{ text-decoration:line-through; }
::selection{ background:var(--lime); color:var(--ink); }
:focus-visible{ outline:2px solid var(--ink); outline-offset:3px; }
h1,h2,h3,h4,h5,h6{ font-family:var(--display); font-stretch:75%; font-weight:800; text-transform:uppercase; letter-spacing:-.005em; line-height:.98; color:var(--ink); margin:0 0 .5em; }
p{ margin:0 0 1em; }
button{ font-family:inherit; }
.sl-wrap{ width:100%; max-width:1520px; margin-inline:auto; padding-inline:var(--gut); }
.sl-mono{ font-family:var(--mono); font-size:11px; line-height:1.4; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); margin:0 0 10px; }
.sl-hidden-select{ position:absolute!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
.screen-reader-text{ clip:rect(1px,1px,1px,1px); position:absolute!important; height:1px; width:1px; overflow:hidden; }
@media (prefers-reduced-motion:reduce){ *, *::before, *::after{ animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; scroll-behavior:auto!important; } }

/* GeneratePress shell: get out of the way */
.site.grid-container, .container.grid-container, .site-content, .content-area, .site-main, .inside-article, .separate-containers .inside-article, .one-container .container, .separate-containers .site-main{ max-width:none!important; width:100%!important; margin:0!important; padding:0!important; background:transparent!important; float:none!important; }
.site-content{ display:block!important; }
#site-navigation, .main-navigation, .site-header:not(.sl-header), .mobile-menu-control-wrapper, .site-footer > .site-info, .footer-widgets, .generate-back-to-top, .widget-area, .sidebar{ display:none!important; }
.site-footer{ background:none!important; padding:0!important; }
.entry-meta, .comments-area, .post-navigation{ display:none; }

/* =========================================================
   BUTTONS & SMALL PARTS
   ========================================================= */
.sl-btn,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce-page .button,
.wp-element-button{
  display:inline-flex!important; align-items:center; justify-content:center; gap:10px;
  min-height:52px; padding:0 26px!important; border:1px solid var(--ink)!important; border-radius:0!important;
  background:var(--ink)!important; color:#fff!important;
  font-family:var(--display)!important; font-stretch:75%; font-weight:700!important; font-size:15px!important; letter-spacing:.06em; text-transform:uppercase; line-height:1!important;
  cursor:pointer; box-shadow:none!important; text-shadow:none!important; white-space:nowrap;
  transition:background-color .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease), transform .15s var(--ease)!important;
}
.sl-btn svg, .woocommerce .button svg{ width:18px; height:18px; flex:none; transition:transform .25s var(--ease); }
.sl-btn:hover svg{ transform:translateX(3px); }
.sl-btn:active, .woocommerce .button:active{ transform:scale(.98); }
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover, .sl-btn--ink:hover{ background:var(--ink-2)!important; }
.sl-btn--lime, .woocommerce button.button.alt, .woocommerce a.button.alt, .woocommerce input.button.alt, .woocommerce a.checkout-button, .woocommerce #place_order, .single_add_to_cart_button{
  background:var(--lime)!important; border-color:var(--lime)!important; color:var(--ink)!important;
}
.sl-btn--lime:hover, .woocommerce button.button.alt:hover, .woocommerce a.button.alt:hover, .woocommerce a.checkout-button:hover, .woocommerce #place_order:hover, .single_add_to_cart_button:hover{ background:var(--lime-2)!important; border-color:var(--lime-2)!important; color:var(--ink)!important; }
.sl-btn--ghost{ background:transparent!important; color:#fff!important; border-color:rgba(255,255,255,.7)!important; }
.sl-btn--ghost:hover{ background:#fff!important; color:var(--ink)!important; }
.sl-btn--block{ width:100%; }
.woocommerce .button:disabled, .woocommerce .button.disabled, .woocommerce button.button.alt.disabled{ opacity:1!important; }

.sl-ibtn{ display:inline-grid; place-items:center; width:44px; height:44px; padding:0; border:0; background:transparent; color:var(--ink); cursor:pointer; position:relative; border-radius:0; transition:opacity .2s var(--ease), background-color .2s var(--ease); }
.sl-ibtn:hover{ opacity:.6; background:transparent; color:var(--ink); }
.sl-ibtn--line{ border:1px solid var(--line); width:44px; height:44px; }
.sl-ibtn--line:hover{ border-color:var(--ink); opacity:1; }
.sl-ibtn svg{ width:22px; height:22px; }

.sl-chip{ display:inline-flex; align-items:center; height:38px; padding:0 16px; border:1px solid var(--line); background:#fff; font-size:13px; font-weight:500; white-space:nowrap; transition:border-color .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease); }
.sl-chip:hover{ border-color:var(--ink); }
.sl-chip.is-on{ background:var(--ink); border-color:var(--ink); color:#fff; }

.sl-badge{ display:inline-flex; align-items:center; height:22px; padding:0 7px; background:#fff; color:var(--ink); font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; line-height:1; }
.sl-badge--lime{ background:var(--lime); }
.sl-badge--ink{ background:var(--ink); color:#fff; }

.sl-more{ display:inline-flex; align-items:center; gap:8px; font-family:var(--display); font-stretch:75%; font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; white-space:nowrap; }
.sl-more svg{ width:18px; height:18px; transition:transform .25s var(--ease); }
.sl-more:hover svg, a:hover .sl-more svg{ transform:translateX(4px); }
.sl-link{ font-weight:600; color:var(--ink); }
.sl-link:hover{ opacity:.6; }

/* =========================================================
   ANNOUNCEMENT + HEADER
   ========================================================= */
.sl-announce{ background:var(--ink); color:#fff; height:34px; overflow:hidden; position:relative; z-index:41; }
.sl-announce__track{ position:relative; height:100%; }
.sl-announce span{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; opacity:0; transform:translateY(100%); animation:sl-ann 12s var(--ease-out) infinite; padding:0 12px; text-align:center; }
.sl-announce span:nth-child(2){ animation-delay:4s; }
.sl-announce span:nth-child(3){ animation-delay:8s; }
@keyframes sl-ann{ 0%{opacity:0;transform:translateY(100%)} 4%,30%{opacity:1;transform:none} 34%,100%{opacity:0;transform:translateY(-100%)} }
@media (min-width:1024px){
  .sl-announce__track{ display:flex; justify-content:space-between; max-width:1520px; margin:0 auto; padding:0 var(--gut); }
  .sl-announce span{ position:static; opacity:1; transform:none; animation:none; padding:0; }
  .sl-announce span:nth-child(2)::before, .sl-announce span:nth-child(3)::before{ content:""; }
}

.sl-header{ position:sticky; top:0; z-index:40; background:rgba(255,255,255,.92); -webkit-backdrop-filter:saturate(1.6) blur(14px); backdrop-filter:saturate(1.6) blur(14px); border-bottom:1px solid transparent; transition:transform .45s var(--ease-out), border-color .3s var(--ease), background-color .3s var(--ease); }
.admin-bar .sl-header{ top:32px; }
@media (max-width:782px){ .admin-bar .sl-header{ top:0; } }
.sl-header.is-scrolled{ border-bottom-color:var(--line); }
.sl-header.is-hidden{ transform:translateY(-100%); }
.sl-header__in{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:var(--head); max-width:1520px; margin:0 auto; padding:0 calc(var(--gut) - 10px); }
.sl-header__left{ display:flex; align-items:center; gap:0; justify-self:start; }
.sl-header__right{ display:flex; align-items:center; justify-self:end; }
.sl-logo{ display:block; justify-self:center; }
.sl-logo img{ height:30px; width:auto; }
@media (min-width:1024px){ .sl-logo img{ height:36px; } }
.sl-nav{ display:none; }
.sl-only-d{ display:none; }
.sl-burger span{ position:absolute; left:11px; width:22px; height:1.5px; background:var(--ink); transition:transform .4s var(--ease-out), top .4s var(--ease-out); }
.sl-burger span:first-child{ top:17px; } .sl-burger span:last-child{ top:25px; }
.sl-open-sl-menu .sl-burger span:first-child{ top:21px; transform:rotate(45deg); }
.sl-open-sl-menu .sl-burger span:last-child{ top:21px; transform:rotate(-45deg); }
.sl-bag-count{ position:absolute; top:7px; right:4px; min-width:17px; height:17px; padding:0 4px; border-radius:9px; background:var(--lime); color:var(--ink); font-family:var(--mono); font-size:10px; font-weight:700; line-height:17px; text-align:center; transition:transform .3s var(--ease-out); }
.sl-bag-count.is-zero{ transform:scale(0); }
@media (min-width:1024px){
  .sl-burger, .sl-only-m{ display:none; }
  .sl-only-d{ display:inline-grid; }
  .sl-nav{ display:flex; gap:26px; padding-left:10px; }
  .sl-nav a{ position:relative; font-family:var(--display); font-stretch:75%; font-weight:700; font-size:15px; letter-spacing:.06em; text-transform:uppercase; padding:8px 0; white-space:nowrap; }
  .sl-nav a::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:2px; background:var(--lime); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease-out); }
  .sl-nav a:hover::after{ transform:scaleX(1); }
}
@media (min-width:1024px) and (max-width:1240px){ .sl-nav{ gap:18px; } .sl-nav a{ font-size:14px; } .sl-nav a:first-child{ display:none; } }

/* =========================================================
   DRAWERS / SEARCH
   ========================================================= */
.sl-lock{ overflow:hidden; }
.sl-scrim{ position:fixed; inset:0; z-index:60; background:rgba(10,10,10,.45); opacity:0; pointer-events:none; transition:opacity .4s var(--ease-out); }
.sl-lock .sl-scrim{ opacity:1; pointer-events:auto; }
.sl-drawer{ position:fixed; top:0; bottom:0; z-index:61; width:min(440px, 90vw); background:#fff; display:flex; flex-direction:column; visibility:hidden; transition:transform .5s var(--ease-out), visibility 0s .5s; }
.sl-drawer.is-open{ visibility:visible; transition:transform .5s var(--ease-out); }
.sl-drawer--left{ left:0; transform:translateX(-101%); }
.sl-drawer--right{ right:0; transform:translateX(101%); }
.sl-drawer.is-open{ transform:none; }
.sl-drawer__head{ display:flex; align-items:center; justify-content:space-between; height:var(--head); padding:0 6px 0 var(--gut); border-bottom:1px solid var(--line); flex:none; }
.sl-drawer__title{ margin:0; font-family:var(--display); font-stretch:75%; font-weight:800; font-size:22px; text-transform:uppercase; }
.sl-drawer__body{ flex:1; overflow-y:auto; overscroll-behavior:contain; display:flex; flex-direction:column; }
.sl-logo--sm img{ height:26px; }

.sl-menu__list{ list-style:none; margin:0; padding:12px var(--gut) 8px; }
.sl-menu__list li{ border-bottom:1px solid var(--line); opacity:0; transform:translateX(-14px); transition:opacity .45s var(--ease-out), transform .45s var(--ease-out); transition-delay:calc(var(--i) * 40ms + 120ms); }
.sl-menu.is-open .sl-menu__list li{ opacity:1; transform:none; }
.sl-menu__list a{ display:flex; align-items:center; justify-content:space-between; min-height:60px; font-family:var(--display); font-stretch:75%; font-weight:800; font-size:28px; letter-spacing:-.01em; text-transform:uppercase; }
.sl-menu__list a svg{ width:20px; height:20px; opacity:.35; transition:transform .3s var(--ease-out), opacity .3s; }
.sl-menu__list a:hover svg{ opacity:1; transform:translateX(4px); }
.sl-menu__tiles{ display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:16px var(--gut); }
.sl-menu__tile{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--off); }
.sl-menu__tile img{ width:100%; height:100%; object-fit:cover; }
.sl-menu__tile span{ position:absolute; left:10px; bottom:10px; background:#fff; padding:5px 8px; font-family:var(--mono); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.sl-menu__sub{ list-style:none; margin:0; padding:8px var(--gut) 8px; }
.sl-menu__sub a{ display:block; padding:9px 0; font-size:15px; color:var(--mute); }
.sl-menu__sub a:hover{ color:var(--ink); }
.sl-menu__social{ display:flex; gap:4px; padding:8px calc(var(--gut) - 10px) 28px; margin-top:auto; }
.sl-menu__social a{ display:grid; place-items:center; width:44px; height:44px; }

.sl-search{ position:fixed; left:0; right:0; top:0; z-index:61; background:#fff; padding:14px var(--gut) 22px; transform:translateY(-102%); visibility:hidden; transition:transform .5s var(--ease-out), visibility 0s .5s; }
.sl-search.is-open{ transform:none; visibility:visible; transition:transform .5s var(--ease-out); }
.sl-search__form{ display:flex; align-items:center; gap:10px; max-width:900px; margin:0 auto; border-bottom:2px solid var(--ink); }
.sl-search__form > svg{ width:22px; height:22px; flex:none; }
.sl-search input[type=search]{ flex:1; min-width:0; height:56px; border:0!important; background:transparent!important; padding:0!important; font-family:var(--display); font-stretch:75%; font-weight:700; font-size:24px; text-transform:uppercase; color:var(--ink); outline:0; box-shadow:none!important; }
.sl-search input::placeholder{ color:#b5b5b5; }
.sl-search input::-webkit-search-cancel-button{ display:none; }
.sl-search__chips{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; max-width:900px; margin:16px auto 0; }
.sl-search__chips .sl-mono{ margin:0 6px 0 0; }

/* =========================================================
   BAG (mini cart)
   ========================================================= */
.sl-bag .widget_shopping_cart_content{ display:flex; flex-direction:column; flex:1; min-height:100%; }
.sl-bag__loading, .woocommerce-mini-cart__empty-message{ padding:28px var(--gut); color:var(--mute); margin:0; }
.sl-bag .widget_shopping_cart_content > .sl-btn{ margin:0 var(--gut); width:auto; }
.sl-ship{ padding:16px var(--gut); background:var(--off); }
.sl-ship p{ margin:0 0 10px; font-size:14px; }
.sl-ship b{ font-weight:700; }
.sl-ship__bar{ display:block; height:4px; background:#fff; overflow:hidden; }
.sl-ship__bar i{ display:block; height:100%; background:var(--ink); transition:width .6s var(--ease-out); }
.sl-ship.is-done .sl-ship__bar i{ background:var(--lime); }
.woocommerce-mini-cart{ list-style:none; margin:0; padding:0 var(--gut); flex:1; }
.woocommerce-mini-cart-item{ position:relative; display:block; min-height:136px; padding:18px 0 18px 98px!important; border-bottom:1px solid var(--line); font-size:14px; transition:opacity .3s; }
.woocommerce-mini-cart-item.is-removing{ opacity:.35; pointer-events:none; }
.woocommerce-mini-cart-item > a:not(.remove){ display:block; font-weight:600; font-size:14px; line-height:1.35; padding-right:8px; }
.woocommerce-mini-cart-item img{ position:absolute; left:0; top:18px; width:82px!important; height:100px!important; object-fit:cover; margin:0!important; background:var(--off); }
.woocommerce-mini-cart-item dl.variation{ margin:4px 0 0; font-size:13px; color:var(--mute); display:flex; flex-wrap:wrap; gap:0 6px; border:0!important; padding:0!important; }
.woocommerce-mini-cart-item dl.variation dt, .woocommerce-mini-cart-item dl.variation dd{ margin:0!important; padding:0!important; float:none!important; font-weight:400!important; }
.woocommerce-mini-cart-item dl.variation dd p{ margin:0; }
.woocommerce-mini-cart-item .quantity{ display:block; margin-top:6px; font-weight:600; color:var(--ink); }
.woocommerce-mini-cart-item a.remove{ position:absolute!important; left:98px; bottom:16px; top:auto!important; width:auto!important; height:auto!important; font-size:12px!important; line-height:1!important; color:var(--mute)!important; background:none!important; border-radius:0!important; font-weight:400!important; text-transform:none; }
.woocommerce-mini-cart-item a.remove:hover{ color:var(--red)!important; }
.woocommerce-mini-cart__total{ display:flex; justify-content:space-between; align-items:baseline; margin:0; padding:18px var(--gut) 12px; border-top:1px solid var(--line); font-size:15px; }
.woocommerce-mini-cart__total strong{ font-weight:500; color:var(--mute); }
.woocommerce-mini-cart__total .amount{ font-family:var(--display); font-stretch:75%; font-weight:800; font-size:22px; }
.woocommerce-mini-cart__buttons{ display:grid; grid-template-columns:1fr 1.4fr; gap:8px; margin:0; padding:0 var(--gut) 20px; position:sticky; bottom:0; background:#fff; }
.woocommerce-mini-cart__buttons .button{ width:100%; margin:0!important; padding:0 12px!important; }
.woocommerce-mini-cart__buttons .button:not(.checkout){ background:#fff!important; color:var(--ink)!important; }
.woocommerce-mini-cart__buttons .button:not(.checkout):hover{ background:var(--off)!important; }
.woocommerce-mini-cart__buttons .checkout{ background:var(--lime)!important; border-color:var(--lime)!important; color:var(--ink)!important; }
.sl-bag .widget_shopping_cart_content .woocommerce-mini-cart__total{ margin-top:auto; }

/* =========================================================
   PRODUCT CARD + GRID
   ========================================================= */
.woocommerce ul.products, ul.products.sl-grid{ display:grid!important; grid-template-columns:repeat(2, minmax(0,1fr)); gap:28px 8px; margin:0!important; padding:0!important; list-style:none; }
.woocommerce ul.products::before, .woocommerce ul.products::after, ul.products::before, ul.products::after{ display:none!important; content:none!important; }
.woocommerce ul.products li.product, ul.products li.product{ width:auto!important; margin:0!important; padding:0!important; float:none!important; clear:none!important; text-align:left!important; list-style:none; }
@media (min-width:768px){ .woocommerce ul.products, ul.products.sl-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:40px 12px; } }
@media (min-width:1280px){ .woocommerce ul.products, ul.products.sl-grid{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:48px 14px; } }

.sl-card{ display:block; color:var(--ink); }
.sl-card__media{ position:relative; aspect-ratio:4/5; overflow:hidden; background:var(--off); }
.sl-card__media img{ position:absolute; inset:0; width:100%!important; height:100%!important; object-fit:cover; margin:0!important; transition:opacity .45s var(--ease), transform .9s var(--ease-out); }
.sl-card__media.is-land .sl-card__a{ object-fit:contain; }
.sl-card__b{ opacity:0; }
@media (hover:hover){
  .sl-card:hover .sl-card__b{ opacity:1; }
  .sl-card:hover .sl-card__media img{ transform:scale(1.035); }
}
.sl-card__badges{ position:absolute; left:8px; top:8px; display:flex; gap:4px; z-index:1; }
.sl-card__body{ padding:12px 2px 0; }
.sl-card__title{ margin:0 0 4px; font-family:var(--body)!important; font-stretch:100%; font-size:14px!important; font-weight:600!important; letter-spacing:0; line-height:1.35!important; text-transform:none; color:var(--ink); padding:0!important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.sl-card__price, .sl-card__price .price{ font-size:14px; color:var(--ink)!important; font-weight:500; display:flex; flex-wrap:wrap; gap:0 8px; align-items:baseline; }
.sl-card__price del{ color:var(--mute); opacity:1; font-weight:400; order:2; }
.sl-card__price ins{ order:1; font-weight:700; background:none; }
.sl-card__meta{ margin:4px 0 0; font-size:12px; color:var(--mute); }
@media (min-width:1024px){ .sl-card__title, .sl-card__price{ font-size:15px!important; } }

/* =========================================================
   SECTIONS (home)
   ========================================================= */
.sl-sec{ padding-block:var(--sec) 0; }
.sl-sec--tight{ padding-top:calc(var(--sec) * .8); }
.sl-sechead{ display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; }
@media (min-width:1024px){ .sl-sechead{ margin-bottom:36px; } }
.sl-sechead .sl-mono{ margin-bottom:8px; }
.sl-h2{ font-size:clamp(32px, 7.4vw, 64px); margin:0; line-height:.92; }
.sl-h2--xl{ font-size:clamp(40px, 9vw, 88px); }

/* HERO */
.sl-hero{ position:relative; background:var(--ink); color:#fff; overflow:hidden; }
.sl-hero__media{ position:relative; height:min(82svh, 760px); min-height:500px; display:grid; grid-template-columns:1fr; }
.sl-hero__media img{ width:100%; height:100%; object-fit:cover; }
.sl-hero__side{ display:none!important; }
.sl-hero__main{ animation:sl-zoom 2.2s var(--ease-out) both; }
@keyframes sl-zoom{ from{ transform:scale(1.08); } to{ transform:none; } }
.sl-hero::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(10,10,10,.15) 0%, rgba(10,10,10,0) 30%, rgba(10,10,10,.25) 55%, rgba(10,10,10,.88) 100%); pointer-events:none; }
.sl-hero__copy{ position:absolute; left:0; right:0; bottom:0; z-index:1; padding-bottom:28px; }
.sl-hero__kicker{ color:rgba(255,255,255,.75); }
.sl-hero__t{ color:#fff; font-size:clamp(56px, 16vw, 148px); line-height:.84; letter-spacing:-.015em; margin:0 0 16px; }
.sl-hero__s{ max-width:420px; color:rgba(255,255,255,.85); font-size:15px; margin:0 0 22px; }
.sl-hero__cta{ display:flex; gap:8px; flex-wrap:wrap; }
.sl-hero__cta .sl-btn--lime{ flex:1 1 auto; }
.sl-hero__copy > *{ animation:sl-up .9s var(--ease-out) both; }
.sl-hero__copy > *:nth-child(2){ animation-delay:.08s; } .sl-hero__copy > *:nth-child(3){ animation-delay:.16s; } .sl-hero__copy > *:nth-child(4){ animation-delay:.24s; }
@keyframes sl-up{ from{ opacity:0; transform:translateY(22px); } to{ opacity:1; transform:none; } }
@media (min-width:1024px){
  .sl-hero__media{ height:min(88vh, 880px); min-height:620px; grid-template-columns:1fr 1fr 1fr; gap:3px; }
  .sl-hero__side{ display:block!important; }
  .sl-hero__copy{ padding-bottom:56px; }
  .sl-hero::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, rgba(10,10,10,.6) 0%, rgba(10,10,10,.2) 45%, transparent 70%); pointer-events:none; }
  .sl-hero__copy{ z-index:2; }
  .sl-hero__s{ font-size:17px; max-width:460px; }
  .sl-hero__cta .sl-btn--lime{ flex:none; }
  .sl-hero__copy{ display:grid; grid-template-columns:1fr auto; grid-template-areas:"k k" "t t" "s c"; align-items:end; column-gap:40px; }
  .sl-hero__kicker{ grid-area:k; } .sl-hero__t{ grid-area:t; } .sl-hero__s{ grid-area:s; margin:0; } .sl-hero__cta{ grid-area:c; }
}

/* USP ticker */
.sl-usp{ border-bottom:1px solid var(--line); overflow:hidden; background:#fff; }
.sl-usp__track{ display:flex; width:max-content; animation:sl-marq 38s linear infinite; }
.sl-usp ul{ display:flex; list-style:none; margin:0; padding:0; }
.sl-usp li{ display:flex; align-items:center; gap:10px; height:56px; padding:0 28px; font-size:13px; font-weight:600; white-space:nowrap; border-right:1px solid var(--line); }
.sl-usp li svg{ width:20px; height:20px; }
@media (min-width:1024px){
  .sl-usp__track{ animation:none; width:100%; }
  .sl-usp ul{ width:100%; } .sl-usp ul[aria-hidden]{ display:none; }
  .sl-usp li{ flex:1; justify-content:center; height:64px; font-size:14px; }
  .sl-usp li:last-child{ border-right:0; }
}
@keyframes sl-marq{ to{ transform:translateX(-50%); } }

/* Categories */
.sl-cats{ display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.sl-cat{ position:relative; display:block; aspect-ratio:4/5; overflow:hidden; background:var(--off); color:#fff; }
.sl-cat:first-child{ grid-column:1 / -1; aspect-ratio:16/11; }
.sl-cat img{ width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease-out); }
.sl-cat:first-child img{ object-position:center 30%; }
.sl-cat::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 50%, rgba(10,10,10,.72)); }
.sl-cat__l{ position:absolute; left:14px; right:14px; bottom:14px; z-index:1; display:flex; flex-direction:column; gap:4px; }
.sl-cat__n{ font-family:var(--display); font-stretch:75%; font-weight:800; font-size:24px; line-height:.95; text-transform:uppercase; }
.sl-cat__c{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; opacity:.8; }
@media (hover:hover){ .sl-cat:hover img{ transform:scale(1.04); } }
@media (min-width:768px){ .sl-cats{ grid-template-columns:repeat(6, 1fr); } .sl-cat{ grid-column:span 2; } .sl-cat:first-child, .sl-cat:nth-child(2){ grid-column:span 3; aspect-ratio:4/3.4; } }
@media (min-width:1024px){ .sl-cats{ grid-template-columns:repeat(5, 1fr); gap:10px; } .sl-cat, .sl-cat:first-child, .sl-cat:nth-child(2){ grid-column:auto; aspect-ratio:3/4.3; } .sl-cat__n{ font-size:30px; } .sl-cat__l{ left:20px; bottom:20px; } }

/* Rails */
.sl-rail__nav{ display:none; gap:8px; }
@media (min-width:1024px){ .sl-rail__nav{ display:flex; } }
.sl-rail__track{ display:grid; grid-auto-flow:column; grid-auto-columns:68%; gap:8px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gut); padding:0 var(--gut) 8px; scrollbar-width:none; overscroll-behavior-x:contain; }
.sl-rail__track::-webkit-scrollbar{ display:none; }
.sl-rail__item{ scroll-snap-align:start; min-width:0; }
@media (min-width:768px){ .sl-rail__track{ grid-auto-columns:36%; gap:12px; } }
@media (min-width:1024px){ .sl-rail__track{ grid-auto-columns:calc((100% - var(--gut) * 2 - 42px) / 4); gap:14px; max-width:1520px; margin:0 auto; } }

/* Brand band */
.sl-band{ background:var(--ink); color:#fff; margin-top:var(--sec); padding-bottom:var(--sec); overflow:hidden; }
.sl-marquee{ border-bottom:1px solid #222; overflow:hidden; padding:18px 0; }
.sl-marquee__t{ display:flex; width:max-content; animation:sl-marq 26s linear infinite; }
.sl-marquee span{ display:inline-flex; align-items:center; font-family:var(--display); font-stretch:75%; font-weight:900; font-size:clamp(36px, 8vw, 84px); line-height:1; text-transform:uppercase; color:var(--lime); white-space:nowrap; padding-right:.5em; }
.sl-marquee span::after{ content:""; width:.28em; height:.28em; margin-left:.5em; background:#fff; transform:rotate(45deg); }
.sl-marquee span:nth-child(even){ color:transparent; -webkit-text-stroke:1.2px rgba(255,255,255,.75); }
.sl-split{ display:grid; gap:28px; padding-top:var(--sec); }
.sl-split__img{ aspect-ratio:4/5; overflow:hidden; background:#111; }
.sl-split__img img{ width:100%; height:100%; object-fit:cover; }
.sl-split__copy .sl-mono{ color:#9a9a9a; }
.sl-split__copy h2{ color:#fff; margin-bottom:20px; }
.sl-split__copy p{ color:#bdbdbd; font-size:16px; max-width:520px; margin-bottom:28px; }
@media (min-width:1024px){ .sl-split{ grid-template-columns:1fr 1fr; gap:80px; align-items:center; } .sl-split__img{ aspect-ratio:4/4.6; } .sl-split .sl-h2--xl{ font-size:clamp(48px, 4.9vw, 76px); } }

/* Bundles */
.sl-bundles{ display:grid; gap:12px; }
.sl-bundle{ display:grid; grid-template-columns:42% 1fr; background:var(--off); color:var(--ink); overflow:hidden; }
.sl-bundle__img{ position:relative; min-height:240px; overflow:hidden; }
.sl-bundle__img img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1s var(--ease-out); }
@media (min-width:1024px){ .sl-bundle__img{ min-height:380px; } }
.sl-bundle__copy{ padding:18px 16px; display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.sl-bundle__copy h3{ font-size:22px; margin:6px 0 0; line-height:1; }
.sl-bundle__price{ margin:0; font-size:15px; }
.sl-bundle__price b{ font-weight:700; } .sl-bundle__price del{ color:var(--mute); margin-left:6px; }
.sl-bundle__note{ margin:0; font-size:13px; color:var(--mute); }
.sl-bundle .sl-more{ margin-top:auto; font-size:14px; }
@media (hover:hover){ .sl-bundle:hover .sl-bundle__img img{ transform:scale(1.04); } }
@media (min-width:768px){ .sl-bundles{ grid-template-columns:1fr 1fr; } }
@media (min-width:1024px){ .sl-bundles{ gap:14px; } .sl-bundle__copy{ padding:32px; gap:10px; } .sl-bundle__copy h3{ font-size:34px; } .sl-bundle__price{ font-size:17px; } }

/* Instagram */
.sl-ig{ padding-top:var(--sec); }
.sl-ig__head{ display:flex; flex-direction:column; align-items:flex-start; gap:4px; margin-bottom:24px; }
.sl-ig__head .sl-btn{ margin-top:16px; }
@media (min-width:1024px){ .sl-ig__head{ flex-direction:row; flex-wrap:wrap; align-items:flex-end; } .sl-ig__head .sl-mono{ width:100%; } .sl-ig__head .sl-btn{ margin:0 0 0 auto; } }
.sl-ig__grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:2px; }
.sl-ig__grid a{ aspect-ratio:1; overflow:hidden; background:var(--off); }
.sl-ig__grid img{ width:100%; height:100%; object-fit:cover; transition:transform .9s var(--ease-out), opacity .3s; }
.sl-ig__grid a:hover img{ transform:scale(1.05); opacity:.85; }
@media (min-width:1024px){ .sl-ig__grid{ grid-template-columns:repeat(6, 1fr); } }

/* FAQ */
.sl-faq{ display:grid; gap:24px; padding-bottom:var(--sec); }
@media (min-width:1024px){ .sl-faq{ grid-template-columns:1fr 1.4fr; gap:80px; } }

/* Accordions */
.sl-acc{ border-top:1px solid var(--line); }
.sl-acc details{ border-bottom:1px solid var(--line); }
.sl-acc summary{ display:flex; align-items:center; justify-content:space-between; gap:16px; min-height:58px; padding:14px 0; cursor:pointer; list-style:none; font-family:var(--display); font-stretch:75%; font-weight:700; font-size:16px; letter-spacing:.05em; text-transform:uppercase; }
.sl-acc summary::-webkit-details-marker{ display:none; }
.sl-acc summary svg{ width:18px; height:18px; flex:none; transition:transform .35s var(--ease-out); }
.sl-acc details[open] summary svg{ transform:rotate(45deg); }
.sl-acc__c{ padding:0 0 20px; color:#3a3a3a; font-size:15px; }
.sl-acc__c p:last-child{ margin-bottom:0; }
.sl-acc__c ul{ margin:0 0 12px 18px; padding:0; }
.sl-acc__short{ margin-bottom:10px; }
.sl-acc--lg summary{ font-family:var(--body); font-stretch:100%; font-size:16px; font-weight:600; letter-spacing:0; text-transform:none; min-height:64px; }
@media (min-width:1024px){ .sl-acc--lg summary{ font-size:18px; } }

/* Reveal */
.js [data-reveal]{ opacity:0; transform:translateY(22px); transition:opacity .9s var(--ease-out), transform .9s var(--ease-out); transition-delay:var(--d, 0ms); }
.js [data-reveal].is-in{ opacity:1; transform:none; }

/* =========================================================
   FOOTER
   ========================================================= */
.sl-foot{ background:var(--ink); color:#fff; overflow:hidden; margin-top:var(--sec); }
.home .sl-foot, .single-product .sl-foot{ margin-top:0; }
.sl-foot__top{ display:grid; gap:40px; padding-top:56px; }
.sl-foot__kicker{ color:#8a8a8a; }
.sl-foot__big{ font-family:var(--display); font-stretch:75%; font-weight:900; font-size:clamp(40px, 10vw, 76px); line-height:.9; text-transform:uppercase; margin:0 0 24px; }
.sl-foot__cols{ display:grid; }
.sl-foot__col{ border-top:1px solid #262626; }
.sl-foot__col summary, .sl-foot__h{ display:flex; align-items:center; justify-content:space-between; min-height:56px; margin:0; cursor:pointer; list-style:none; font-family:var(--mono); font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:#fff; }
.sl-foot__col summary::-webkit-details-marker{ display:none; }
.sl-foot__col summary svg{ width:16px; height:16px; transition:transform .3s var(--ease-out); }
.sl-foot__col[open] summary svg{ transform:rotate(45deg); }
.sl-foot__col ul{ list-style:none; margin:0; padding:0 0 18px; }
.sl-foot__col li a{ display:block; padding:7px 0; color:#a8a8a8; font-size:15px; }
.sl-foot__col li a:hover, .sl-foot__mail:hover{ color:var(--lime); }
.sl-foot__contact{ padding-bottom:12px; }
.sl-foot__mail{ display:block; font-size:16px; font-weight:600; color:#fff; margin-bottom:14px; overflow-wrap:anywhere; }
.sl-foot__social{ display:flex; gap:8px; margin-bottom:16px; }
.sl-foot__social a{ display:grid; place-items:center; width:44px; height:44px; border:1px solid #333; color:#fff; transition:border-color .2s, color .2s, background-color .2s; }
.sl-foot__social a:hover{ border-color:var(--lime); background:var(--lime); color:var(--ink); }
.sl-foot__pay{ margin:0; } .sl-foot__pay .sl-mono{ display:inline-block; border:1px solid #333; padding:6px 10px; color:#cfcfcf; margin:0; }
.sl-foot__mark{ font-family:var(--display); font-stretch:75%; font-weight:900; font-size:30.5vw; line-height:.78; letter-spacing:-.02em; text-align:center; color:transparent; -webkit-text-stroke:1px #2a2a2a; margin:40px 0 -2vw; user-select:none; white-space:nowrap; }
.sl-foot__bar{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; padding-block:18px 24px; border-top:1px solid #262626; font-family:var(--mono); font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:#8a8a8a; position:relative; }
@media (min-width:1024px){
  .sl-foot__top{ grid-template-columns:1fr 1.5fr; gap:64px; padding-top:96px; }
  .sl-foot__big{ font-size:clamp(44px, 4.2vw, 64px); }
  .sl-foot__cols{ grid-template-columns:1fr 1.1fr 1fr 1.35fr; gap:28px; }
  .sl-foot__mail{ overflow-wrap:normal; white-space:nowrap; font-size:15px; }
  .sl-foot__col{ border-top:0; }
  .sl-foot__col summary{ pointer-events:none; min-height:0; margin-bottom:16px; }
  .sl-foot__col summary svg{ display:none; }
  .sl-foot__h{ min-height:0; margin-bottom:16px; }
  .sl-foot__mark{ font-size:31vw; margin-top:72px; }
}

/* =========================================================
   GENERIC PAGES (about, policies, contact, account)
   ========================================================= */
.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout) .site-main, .blog .site-main, .single-post .site-main, .search-no-results .site-main, .error404 .site-main{ max-width:820px!important; margin:0 auto!important; padding:40px var(--gut) var(--sec)!important; }
.entry-header, .page-header{ margin:0 0 28px!important; padding:0!important; }
.entry-title, .page-title, .page-header h1{ font-size:clamp(40px, 10vw, 76px)!important; line-height:.9!important; margin:0!important; }
.entry-content{ font-size:16px; line-height:1.7; color:#2b2b2b; margin:0!important; }
.entry-content h2{ font-size:30px; margin:1.6em 0 .5em; } .entry-content h3{ font-size:22px; margin:1.4em 0 .4em; } .entry-content h4{ font-size:18px; margin:1.2em 0 .4em; }
.entry-content a:not(.button):not(.sl-card):not(.sl-chip){ font-weight:600; color:var(--ink); }
.entry-content a:not(.button):not(.sl-card):not(.sl-chip):hover{ opacity:.6; }
.entry-content ul, .entry-content ol{ margin:0 0 1.2em 1.2em; }
.page .entry-content > p img, .page .entry-content > figure img, .single-post .entry-content img{ margin:1.2em 0; }
.sl-gal__slide img, .sl-cat img, .sl-split__img img, .sl-bundle__img img, .sl-ig__grid img, .sl-hero__media img, .sl-menu__tile img{ margin:0!important; }
.featured-image, .post-image{ display:none; }
/* old Elementor/demo content blocks never escape the column */
.entry-content .elementor, .entry-content [class*="elementor-"]{ max-width:100%; }
.entry-content table{ width:100%; border-collapse:collapse; margin:0 0 1.4em; font-size:15px; }
.entry-content th, .entry-content td{ padding:10px 12px; border:1px solid var(--line); text-align:left; }

/* Forms */
input[type=text], input[type=email], input[type=tel], input[type=password], input[type=number], input[type=search], input[type=url], textarea, select,
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .select2-container .select2-selection--single{
  width:100%; min-height:52px; padding:14px 14px!important; border:1px solid var(--line)!important; border-radius:2px!important; background:#fff!important; color:var(--ink)!important; font-family:var(--body)!important; font-size:16px!important; line-height:1.3!important; box-shadow:none!important; transition:border-color .2s var(--ease);
}
textarea{ min-height:110px; }
input:focus, textarea:focus, select:focus, .select2-container--open .select2-selection--single{ border-color:var(--ink)!important; outline:0; }
select{ appearance:none; -webkit-appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none' stroke='%230A0A0A' stroke-width='1.5'%3E%3Cpath d='M1 1l5 5 5-5'/%3E%3C/svg%3E")!important; background-repeat:no-repeat!important; background-position:right 14px center!important; padding-right:38px!important; }
.select2-container .select2-selection--single{ height:52px!important; display:flex!important; align-items:center; padding:0 14px!important; }
.select2-container--default .select2-selection--single .select2-selection__rendered{ padding:0!important; line-height:1.3!important; color:var(--ink)!important; }
.select2-container--default .select2-selection--single .select2-selection__arrow{ height:50px!important; right:8px!important; }
.select2-dropdown{ border-color:var(--ink)!important; border-radius:0!important; }
.select2-results__option--highlighted{ background:var(--ink)!important; }
label, .woocommerce form .form-row label{ display:block; font-size:13px; font-weight:600; color:var(--ink); margin:0 0 6px!important; line-height:1.3!important; }
.woocommerce form .form-row .required{ color:var(--mute); border:0; }
.woocommerce form .form-row{ padding:0!important; margin:0 0 16px!important; }
.woocommerce form .form-row-first, .woocommerce form .form-row-last{ width:calc(50% - 6px)!important; }
.woocommerce form .form-row-wide{ clear:both; }
.woocommerce-invalid input.input-text{ border-color:var(--red)!important; }
input[type=checkbox], input[type=radio]{ accent-color:var(--ink); width:18px; height:18px; min-height:0; vertical-align:middle; }

/* Notices */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .woocommerce-notices-wrapper > *{ position:relative; margin:0 0 20px!important; padding:16px 18px 16px 20px!important; border:0!important; border-left:3px solid var(--ink)!important; background:var(--off)!important; color:var(--ink)!important; font-size:14px; line-height:1.5; list-style:none; display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; border-radius:0!important; }
.woocommerce-message::before, .woocommerce-info::before, .woocommerce-error::before{ display:none!important; }
.woocommerce-error{ border-left-color:var(--red)!important; flex-direction:column; align-items:flex-start; }
.woocommerce-message .button, .woocommerce-info .button{ order:2; min-height:40px!important; padding:0 16px!important; font-size:13px!important; margin-left:auto!important; float:none!important; }
.woocommerce-info a:not(.button), .woocommerce-message a:not(.button){ font-weight:700; }

/* =========================================================
   SHOP / ARCHIVE
   ========================================================= */
.woocommerce.archive .site-main, .post-type-archive-product .site-main, .tax-product_cat .site-main, .search-results.woocommerce .site-main{ max-width:1520px!important; margin:0 auto!important; padding:28px var(--gut) 0!important; }
.sl-shophead{ margin-bottom:20px; }
.sl-shophead__t{ font-size:clamp(44px, 12vw, 104px); margin:0 0 20px; line-height:.86; }
.sl-shophead__t sup{ margin-left:8px; font-family:var(--mono); font-size:13px; font-weight:400; letter-spacing:0; vertical-align:top; position:relative; top:.4em; color:var(--mute); }
.sl-chips{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; margin:0 calc(var(--gut) * -1); padding:0 var(--gut); }
.sl-chips::-webkit-scrollbar{ display:none; }
.sl-toolbar{ position:sticky; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 calc(var(--gut) * -1) 20px; padding:10px var(--gut); background:rgba(255,255,255,.94); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border-block:1px solid var(--line); transition:top .45s var(--ease-out); }
.sl-toolbar{ top:var(--head); }
.sl-hdr-hidden .sl-toolbar{ top:0; }
.sl-toolbar .sl-mono{ margin:0; }
.woocommerce .woocommerce-ordering{ margin:0!important; float:none!important; }
.woocommerce-ordering select{ min-height:40px!important; height:40px; padding:0 34px 0 12px!important; border:1px solid var(--line)!important; font-size:13px!important; font-weight:600; width:auto; max-width:210px; background-color:#fff!important; cursor:pointer; }
.woocommerce nav.woocommerce-pagination{ margin:48px 0 0; }
.woocommerce nav.woocommerce-pagination ul{ border:0!important; display:flex!important; justify-content:center; gap:6px; }
.woocommerce nav.woocommerce-pagination ul li{ border:0!important; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span{ min-width:44px; height:44px; display:grid!important; place-items:center; border:1px solid var(--line); font-weight:600; padding:0!important; }
.woocommerce nav.woocommerce-pagination ul li span.current{ background:var(--ink)!important; color:#fff!important; border-color:var(--ink); }
.sl-seocopy{ max-width:760px; margin:var(--sec) 0 0; padding-top:32px; border-top:1px solid var(--line); color:#3a3a3a; font-size:15px; }
.sl-seocopy h2{ font-size:28px; } .sl-seocopy h3{ font-size:20px; }
.woocommerce-no-products-found .woocommerce-info{ margin-top:12px!important; }
@media (min-width:1024px){ .woocommerce.archive .site-main, .post-type-archive-product .site-main, .tax-product_cat .site-main{ padding-top:48px!important; } .sl-shophead{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:28px; } .sl-shophead__t{ margin:0; } .sl-chips{ margin:0; padding:0; flex-wrap:wrap; justify-content:flex-end; overflow:visible; } }

/* =========================================================
   PRODUCT PAGE
   ========================================================= */
.single-product .site-main{ max-width:1520px!important; margin:0 auto!important; padding:0!important; }
.woocommerce div.product{ display:grid; grid-template-columns:minmax(0,1fr); margin:0!important; position:relative; }
.woocommerce div.product > *{ min-width:0; }
.woocommerce div.product > .summary, .woocommerce div.product div.summary{ float:none!important; width:auto!important; margin:0!important; padding:20px var(--gut) 0; }
.woocommerce div.product > .related, .woocommerce div.product > .up-sells, .woocommerce div.product > section{ grid-column:1 / -1; }
.woocommerce-notices-wrapper:empty{ display:none; }
.single-product .woocommerce-notices-wrapper{ padding:0 var(--gut); }

/* gallery: swipe on phones, stacked grid on desktop */
.sl-gal{ position:relative; background:var(--off); }
.sl-gal__track{ display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; overscroll-behavior-x:contain; outline:0; }
.sl-gal__track::-webkit-scrollbar{ display:none; }
.sl-gal__slide{ flex:0 0 100%; margin:0; aspect-ratio:4/5; scroll-snap-align:start; scroll-snap-stop:always; background:var(--off); overflow:hidden; }
.sl-gal__slide img{ width:100%; height:100%; object-fit:cover; }
.sl-gal__slide.is-land img{ object-fit:contain; }
.sl-gal__meta{ position:absolute; left:var(--gut); right:var(--gut); bottom:14px; display:flex; align-items:center; gap:14px; pointer-events:none; }
.sl-gal__count{ font-family:var(--mono); font-size:11px; letter-spacing:.06em; background:#fff; padding:5px 8px; line-height:1; }
.sl-gal__count b{ font-weight:700; }
.sl-gal__bar{ flex:1; height:2px; background:rgba(255,255,255,.55); overflow:hidden; }
.sl-gal__bar i{ display:block; height:100%; background:var(--ink); transition:transform .35s var(--ease-out); }
.sl-gal__badge{ position:absolute; left:var(--gut); top:14px; }
@media (min-width:1024px){
  .woocommerce div.product{ grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); column-gap:clamp(40px, 4vw, 72px); padding:0 var(--gut); }
  .sl-gal{ background:none; padding-top:24px; }
  .sl-gal__track{ display:grid; grid-template-columns:1fr 1fr; gap:6px; overflow:visible; }
  .sl-gal.is-single .sl-gal__track{ grid-template-columns:1fr; max-width:720px; }
  .sl-gal.is-odd .sl-gal__slide:last-child{ grid-column:1 / -1; aspect-ratio:16/11; }
  .sl-gal.is-odd .sl-gal__slide:last-child img{ object-fit:contain; }
  .sl-gal__meta{ display:none; }
  .sl-gal__badge{ left:16px; top:40px; }
  .woocommerce div.product > .summary{ position:relative; align-self:start; padding:48px 0 0!important; }
  .woocommerce div.product > .summary.is-pinned{ position:sticky; top:calc(var(--head) + 24px); }
}
@media (min-width:1440px){ .woocommerce div.product > .summary{ padding-right:24px!important; } }

/* summary stack */
.sl-pdp__kicker{ margin-bottom:8px; }
.woocommerce div.product .product_title{ font-size:clamp(30px, 8vw, 46px)!important; line-height:.92!important; margin:0 0 12px!important; padding:0!important; }
.woocommerce div.product .summary > p.price, .woocommerce div.product .summary > span.price{ color:var(--ink)!important; font-size:20px!important; font-weight:600; margin:0 0 4px!important; display:flex; flex-wrap:wrap; align-items:baseline; gap:0 10px; }
.woocommerce div.product .summary .price del{ color:var(--mute); font-weight:400; font-size:16px; order:2; opacity:1; }
.woocommerce div.product .summary .price ins{ order:1; font-weight:700; }
.sl-save{ display:inline-block; margin:2px 0 6px!important; font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; background:var(--lime); padding:4px 7px; }
.woocommerce div.product form.cart{ margin:22px 0 0!important; display:block; }
.woocommerce div.product form.cart .variations{ margin:0!important; border:0!important; width:100%; }
.woocommerce div.product form.cart table.variations, .woocommerce div.product form.cart table.variations tbody, .woocommerce div.product form.cart table.variations tr, .woocommerce div.product form.cart table.variations th, .woocommerce div.product form.cart table.variations td{ display:block; padding:0!important; border:0!important; background:none!important; text-align:left; line-height:1.3; }
.woocommerce div.product form.cart table.variations tr{ margin:0 0 20px; }
.woocommerce div.product form.cart table.variations th{ display:flex!important; align-items:baseline; gap:8px; margin:0 0 10px; font-weight:400; }
.sl-opt__n{ font-family:var(--mono); font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.sl-opt__v{ font-size:14px; color:var(--mute); }
.sl-opt__g{ margin-left:auto; display:inline-flex; align-items:center; height:28px; padding:0 10px; border:1px solid var(--line); background:#fff; color:var(--ink); font-size:12px; font-weight:600; cursor:pointer; transition:border-color .2s var(--ease); }
.sl-opt__g:hover{ border-color:var(--ink); }
.sl-opt__g:hover{ background:none; color:var(--ink); }
.woocommerce div.product form.cart .reset_variations{ display:none!important; }
.sl-sw{ display:flex; flex-wrap:wrap; gap:8px; }
.sl-sw__b{ position:relative; min-width:58px; height:50px; padding:0 14px; border:1px solid var(--line); background:#fff; color:var(--ink); font-family:var(--body); font-size:15px; font-weight:600; cursor:pointer; border-radius:0; transition:border-color .2s var(--ease), background-color .2s var(--ease), color .2s var(--ease), transform .15s var(--ease); }
.sl-sw__b:hover{ border-color:var(--ink); background:#fff; color:var(--ink); }
.sl-sw__b:active{ transform:scale(.96); }
.sl-sw__b.is-on{ background:var(--ink); border-color:var(--ink); color:#fff; }
.sl-sw__b.is-off{ color:#b9b9b9; cursor:not-allowed; background:linear-gradient(to top right, transparent calc(50% - .5px), #d4d4d4 50%, transparent calc(50% + .5px)); }
.sl-sw--c .sl-sw__b{ min-width:0; width:46px; height:46px; padding:4px; }
.sl-sw--c .sl-sw__b i{ display:block; width:100%; height:100%; box-shadow:inset 0 0 0 1px rgba(0,0,0,.12); }
.sl-sw--c .sl-sw__b.is-on{ background:#fff; border:2px solid var(--ink); padding:3px; }
tr.is-need .sl-opt__n{ color:var(--red); }
tr.is-need .sl-opt__v::before{ content:"Please choose"; color:var(--red); font-weight:600; }
tr.is-need .sl-sw{ animation:sl-shake .4s var(--ease); }
@keyframes sl-shake{ 25%{ transform:translateX(-5px); } 75%{ transform:translateX(5px); } }
.woocommerce div.product form.cart .single_variation_wrap .woocommerce-variation-price{ display:none; }
.woocommerce-variation-availability{ display:none; }
.woocommerce-variation-description{ display:none!important; }
.woocommerce div.product form.cart .quantity{ display:none!important; }
.woocommerce div.product form.cart .woocommerce-variation-add-to-cart, .woocommerce div.product form.cart:not(.variations_form){ display:flex; }
.woocommerce div.product form.cart .single_add_to_cart_button{ flex:1; width:100%; min-height:56px!important; font-size:17px!important; float:none!important; margin:0!important; position:relative; }
.single_add_to_cart_button.disabled{ background:var(--lime)!important; opacity:1!important; cursor:pointer!important; }
.woocommerce div.product form.cart .single_add_to_cart_button.is-busy{ color:transparent!important; pointer-events:none; }
.single_add_to_cart_button.is-busy::after{ content:""; position:absolute; width:20px; height:20px; border:2px solid var(--ink); border-right-color:transparent; border-radius:50%; animation:sl-spin .7s linear infinite; }
.woocommerce div.product form.cart .single_add_to_cart_button.is-done{ background:var(--ink)!important; border-color:var(--ink)!important; color:#fff!important; }
@keyframes sl-spin{ to{ transform:rotate(360deg); } }
.sl-stock{ display:flex; align-items:center; gap:8px; min-height:20px; margin:12px 0 0!important; font-size:14px; font-weight:500; }
.sl-stock:empty{ display:none; }
.sl-stock i{ width:8px; height:8px; border-radius:50%; background:#22a052; box-shadow:0 0 0 4px rgba(34,160,82,.15); }
.sl-stock.is-low{ color:var(--red); } .sl-stock.is-low i{ background:var(--red); box-shadow:0 0 0 4px rgba(194,39,27,.14); animation:sl-pulse 1.6s var(--ease) infinite; }
@keyframes sl-pulse{ 50%{ box-shadow:0 0 0 7px rgba(194,39,27,0); } }
.sl-perks{ list-style:none; margin:22px 0 26px!important; padding:0; border:1px solid var(--line); }
.sl-perks li{ display:flex; align-items:flex-start; gap:12px; padding:13px 14px; font-size:14px; color:var(--mute); line-height:1.4; }
.sl-perks li + li{ border-top:1px solid var(--line); }
.sl-perks svg{ width:22px; height:22px; flex:none; color:var(--ink); }
.sl-perks b{ display:block; color:var(--ink); font-weight:600; }
.sl-sizes{ width:100%; border-collapse:collapse; font-size:14px; margin:0 0 10px; }
.sl-sizes th, .sl-sizes td{ padding:11px 8px; text-align:center; border-bottom:1px solid var(--line); }
.sl-sizes th{ font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; font-weight:700; color:var(--mute); }
.sl-sizes td:first-child{ font-weight:700; }
.sl-note{ font-size:13px; color:var(--mute); margin:0; }
.single-product .summary .sl-acc{ margin-bottom:8px; }

/* related */
.single-product section.related{ clear:both; padding:var(--sec) var(--gut)!important; margin:0!important; border-top:1px solid var(--line); }
.single-product section.related > h2{ font-size:clamp(32px, 7.4vw, 56px)!important; margin:0 0 24px!important; }
@media (max-width:1023px){
  .single-product section.related ul.products{ display:grid!important; grid-auto-flow:column; grid-template-columns:none; grid-auto-columns:68%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 calc(var(--gut) * -1)!important; padding:0 var(--gut)!important; scroll-padding-inline:var(--gut); }
  .single-product section.related ul.products li{ scroll-snap-align:start; }
  .single-product section.related ul.products::-webkit-scrollbar{ display:none; }
}
@media (min-width:1024px){ .single-product section.related{ margin-top:var(--sec)!important; } .single-product section.related ul.products{ grid-template-columns:repeat(4, minmax(0,1fr)); } }

/* sticky add-to-bag (phones) */
.sl-sticky{ position:fixed; left:0; right:0; bottom:0; z-index:30; display:flex; align-items:center; gap:10px; padding:8px 8px 8px 10px; padding-bottom:calc(8px + env(safe-area-inset-bottom)); background:var(--ink); color:#fff; transform:translateY(105%); transition:transform .45s var(--ease-out); }
.sl-sticky.is-show{ transform:none; }
.sl-sticky img{ width:40px; height:50px; object-fit:cover; flex:none; }
.sl-sticky__i{ flex:1; min-width:0; display:flex; flex-direction:column; line-height:1.25; }
.sl-sticky__i b{ font-size:13px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sl-sticky__m{ font-size:12px; color:#b5b5b5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sl-sticky__btn{ min-height:46px!important; padding:0 18px!important; font-size:14px!important; flex:none; }
@media (min-width:1024px){ .sl-sticky{ display:none; } }

/* size guide dialog */
.sl-dialog{ width:min(560px, 100vw); max-width:100vw; max-height:85vh; margin:auto auto 0; padding:0 var(--gut) 24px; border:0; border-radius:0; background:#fff; color:var(--ink); }
.sl-dialog[open]{ animation:sl-sheet .45s var(--ease-out); }
.sl-dialog::backdrop{ background:rgba(10,10,10,.5); }
.sl-dialog__head{ display:flex; align-items:center; justify-content:space-between; height:64px; margin:0 -6px 8px 0; border-bottom:1px solid var(--line); }
.sl-dialog__t{ margin:0; font-family:var(--display); font-stretch:75%; font-weight:800; font-size:22px; text-transform:uppercase; }
@keyframes sl-sheet{ from{ transform:translateY(40px); opacity:0; } to{ transform:none; opacity:1; } }
@media (min-width:768px){ .sl-dialog{ margin:auto; padding:0 32px 32px; } }

/* =========================================================
   CART PAGE
   ========================================================= */
.woocommerce-cart .site-main, .woocommerce-checkout .site-main{ max-width:1280px!important; margin:0 auto!important; padding:28px var(--gut) var(--sec)!important; }
.woocommerce-cart .entry-title, .woocommerce-checkout .entry-title{ font-size:clamp(44px, 12vw, 96px)!important; margin:0 0 24px!important; }
.woocommerce-cart .sl-ship{ margin:0 0 8px; }
.woocommerce-cart .woocommerce{ display:grid; gap:28px; }
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper, .woocommerce-cart .woocommerce > .sl-ship{ grid-column:1 / -1; margin:0; }
.woocommerce-cart-form{ min-width:0; }
.woocommerce table.shop_table{ border:0!important; border-radius:0!important; margin:0!important; border-collapse:collapse!important; width:100%; }
.woocommerce table.shop_table th{ font-family:var(--mono); font-size:11px; font-weight:700!important; letter-spacing:.08em; text-transform:uppercase; color:var(--mute); padding:12px 8px!important; border:0!important; }
.woocommerce table.shop_table td{ border:0!important; border-top:1px solid var(--line)!important; padding:16px 8px!important; vertical-align:middle; }
.woocommerce-cart table.cart img{ width:88px!important; height:110px; object-fit:cover; background:var(--off); }
.woocommerce-cart table.cart .product-name a{ font-weight:600; }
.woocommerce-cart table.cart .product-name dl.variation{ margin:4px 0 0; font-size:13px; color:var(--mute); }
.woocommerce-cart table.cart .product-name dl.variation dt, .woocommerce-cart table.cart .product-name dl.variation dd{ display:inline; margin:0; float:none; }
.woocommerce-cart table.cart .product-name dl.variation dd p{ display:inline; }
.woocommerce a.remove{ display:grid!important; place-items:center; width:32px!important; height:32px!important; border-radius:0!important; color:var(--mute)!important; font-size:22px!important; font-weight:300!important; }
.woocommerce a.remove:hover{ background:var(--off)!important; color:var(--red)!important; }
.woocommerce .quantity .qty{ width:72px!important; min-height:44px!important; height:44px; text-align:center; padding:0 6px!important; }
.woocommerce-cart table.cart td.actions{ padding:20px 0 0!important; }
.woocommerce-cart table.cart td.actions .coupon{ display:flex; gap:8px; float:none!important; margin-bottom:12px; }
.woocommerce-cart table.cart td.actions .coupon .input-text{ width:auto!important; flex:1; min-width:0; min-height:52px!important; margin:0!important; }
.woocommerce-cart table.cart td.actions .coupon .button{ flex:none; }
.woocommerce-cart table.cart td.actions > .button{ float:right; background:#fff!important; color:var(--ink)!important; }
.woocommerce-cart table.cart td.actions > .button:disabled{ opacity:.4!important; }
.cart-collaterals{ width:auto!important; }
.woocommerce .cart-collaterals .cart_totals, .woocommerce-page .cart-collaterals .cart_totals{ width:100%!important; float:none!important; background:var(--off); padding:22px 20px; }
.cart_totals h2{ font-size:28px!important; margin:0 0 12px!important; }
.cart_totals table.shop_table th{ padding-left:0!important; text-transform:none; font-family:var(--body); font-size:14px; letter-spacing:0; color:var(--ink); font-weight:500!important; vertical-align:top; width:40%; }
.cart_totals table.shop_table td{ padding-right:0!important; text-align:right; }
.cart_totals .order-total td, .cart_totals .order-total .amount{ font-family:var(--display); font-stretch:75%; font-weight:800; font-size:24px; }
.woocommerce ul#shipping_method{ margin:0; padding:0; list-style:none; text-align:right; }
.woocommerce ul#shipping_method li{ margin:0 0 6px; padding:0; display:flex; justify-content:flex-end; align-items:center; gap:8px; text-indent:0; }
.woocommerce ul#shipping_method li label{ display:inline; margin:0!important; font-weight:500; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator{ font-size:13px; color:var(--mute); margin:6px 0 0; }
.shipping-calculator-button{ font-weight:600; color:var(--ink); }
.wc-proceed-to-checkout{ padding:16px 0 0!important; }
.wc-proceed-to-checkout .checkout-button{ width:100%; min-height:58px!important; font-size:17px!important; margin:0!important; }
.woocommerce-cart .cart-empty{ font-size:18px; }
.woocommerce-cart .return-to-shop .button{ margin-top:8px; }
@media (max-width:767px){
  .woocommerce-cart table.cart thead{ display:none; }
  .woocommerce-cart table.cart tr.cart_item{ display:grid!important; grid-template-columns:88px 1fr auto; grid-template-areas:"img name rm" "img price price" "img qty sub"; column-gap:14px; row-gap:4px; padding:16px 0; border-top:1px solid var(--line); position:relative; }
  .woocommerce-cart table.cart tr.cart_item td{ display:block!important; border:0!important; padding:0!important; text-align:left!important; background:none!important; }
  .woocommerce-cart table.cart tr.cart_item td::before{ display:none!important; }
  .woocommerce-cart table.cart td.product-thumbnail{ grid-area:img; display:block!important; }
  .woocommerce-cart table.cart td.product-name{ grid-area:name; font-size:14px; }
  .woocommerce-cart table.cart td.product-remove{ grid-area:rm; }
  .woocommerce-cart table.cart td.product-price{ grid-area:price; font-size:13px; color:var(--mute); }
  .woocommerce-cart table.cart td.product-quantity{ grid-area:qty; align-self:end; }
  .woocommerce-cart table.cart td.product-subtotal{ grid-area:sub; align-self:end; font-weight:700; }
  .woocommerce-cart table.cart tr:not(.cart_item){ display:block; }
  .woocommerce-cart table.cart td.actions{ display:block; border-top:1px solid var(--line)!important; }
  .woocommerce-cart table.cart td.actions > .button{ width:100%; float:none; }
}
@media (min-width:1024px){
  .woocommerce-cart .woocommerce{ grid-template-columns:minmax(0,1fr) 400px; gap:56px; align-items:start; }
  .woocommerce-cart .cart-collaterals{ position:sticky; top:calc(var(--head) + 24px); }
  .woocommerce-cart .cart-collaterals .cart_totals{ padding:28px; }
}

/* =========================================================
   CHECKOUT
   ========================================================= */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{ margin-bottom:12px!important; }
.woocommerce-checkout form.checkout_coupon{ border:1px solid var(--line)!important; border-radius:0!important; padding:16px!important; margin:0 0 20px!important; display:flex; flex-wrap:wrap; gap:8px; }
.woocommerce-checkout form.checkout_coupon p:first-child{ width:100%; margin:0; font-size:14px; }
.woocommerce-checkout form.checkout_coupon .form-row{ width:auto!important; float:none!important; margin:0!important; }
.woocommerce-checkout form.checkout_coupon .form-row-first{ flex:1; }
.woocommerce-checkout form.checkout_coupon .clear{ display:none; }
form.woocommerce-checkout{ display:grid; gap:28px; }
form.woocommerce-checkout > *{ min-width:0; }
form.woocommerce-checkout > .woocommerce-NoticeGroup{ grid-column:1 / -1; }
.woocommerce-checkout #customer_details{ display:block; }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2{ width:100%!important; float:none!important; }
.woocommerce-checkout h3, #order_review_heading{ font-size:24px!important; margin:0 0 18px!important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper{ display:flex; flex-wrap:wrap; justify-content:space-between; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row{ width:100%!important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-first, .woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-last{ width:calc(50% - 6px)!important; }
.woocommerce-checkout #ship-to-different-address{ font-family:var(--body); font-stretch:100%; font-size:15px!important; text-transform:none; font-weight:600; }
.woocommerce-checkout #ship-to-different-address label{ display:flex; align-items:center; gap:10px; font-size:15px; }
.woocommerce-additional-fields h3{ display:none; }
.woocommerce-checkout .woocommerce-shipping-fields{ margin-bottom:8px; }
.woocommerce-checkout #order_review{ background:var(--off); padding:20px; }
.woocommerce-checkout-review-order-table thead th{ padding-top:0!important; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td{ font-size:14px; }
.woocommerce-checkout-review-order-table td.product-name{ font-weight:500; }
.woocommerce-checkout-review-order-table .product-total, .woocommerce-checkout-review-order-table tfoot td{ text-align:right!important; }
.woocommerce-checkout-review-order-table tfoot th{ font-family:var(--body)!important; font-size:14px!important; text-transform:none!important; letter-spacing:0!important; color:var(--ink)!important; font-weight:500!important; padding-left:8px!important; }
.woocommerce-checkout-review-order-table .order-total td, .woocommerce-checkout-review-order-table .order-total .amount{ font-family:var(--display); font-stretch:75%; font-weight:800; font-size:24px; }
.woocommerce-checkout #payment{ background:transparent!important; border-radius:0!important; margin-top:16px; }
.woocommerce-checkout #payment ul.payment_methods{ padding:0 0 16px!important; border:0!important; }
.woocommerce-checkout #payment ul.payment_methods li{ background:#fff; border:2px solid var(--ink); padding:14px 16px!important; list-style:none; line-height:1.4; }
.woocommerce-checkout #payment ul.payment_methods li label{ display:inline; font-size:15px; font-weight:700; margin:0 0 0 6px!important; }
.woocommerce-checkout #payment div.payment_box{ background:transparent!important; padding:6px 0 0!important; margin:0!important; font-size:13px; color:var(--mute); }
.woocommerce-checkout #payment div.payment_box::before{ display:none!important; }
.woocommerce-checkout #payment div.form-row{ padding:0!important; margin:0!important; }
.woocommerce-checkout .woocommerce-privacy-policy-text, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{ font-size:13px; color:var(--mute); margin-bottom:14px; }
.woocommerce-checkout .woocommerce-privacy-policy-text a, .woocommerce-terms-and-conditions-wrapper a{ color:var(--ink); font-weight:600; }
.woocommerce-checkout #place_order{ width:100%; min-height:60px!important; font-size:17px!important; float:none!important; }
.woocommerce form .woocommerce-form-login, .woocommerce form.login, .woocommerce form.register{ border:1px solid var(--line)!important; border-radius:0!important; padding:24px!important; }
@media (min-width:1024px){
  form.woocommerce-checkout{ grid-template-columns:minmax(0,1fr) 440px; grid-template-rows:auto 1fr; column-gap:64px; row-gap:0; align-items:start; }
  form.woocommerce-checkout #customer_details{ grid-column:1; grid-row:1 / span 3; }
  form.woocommerce-checkout #order_review_heading{ grid-column:2; grid-row:1; margin-bottom:0!important; padding:28px 28px 0; background:var(--off); }
  form.woocommerce-checkout #order_review{ grid-column:2; grid-row:2; padding:16px 28px 28px; position:sticky; top:calc(var(--head) + 24px); }
}

/* order received */
.woocommerce-order{ max-width:820px; }
.woocommerce-thankyou-order-received{ font-family:var(--display); font-stretch:75%; font-weight:800; font-size:clamp(30px, 8vw, 52px); text-transform:uppercase; line-height:.95; margin-bottom:24px!important; }
ul.woocommerce-order-overview{ display:grid; grid-template-columns:1fr 1fr; gap:0; margin:0 0 32px!important; padding:0!important; border:1px solid var(--line); }
ul.woocommerce-order-overview li{ margin:0!important; padding:14px 16px!important; border:0!important; border-bottom:1px solid var(--line)!important; font-family:var(--mono); font-size:10px!important; letter-spacing:.06em; text-transform:uppercase; color:var(--mute); float:none!important; }
ul.woocommerce-order-overview li strong{ display:block; font-family:var(--body); font-size:15px; letter-spacing:0; text-transform:none; color:var(--ink); margin-top:4px; }
.woocommerce-order-details, .woocommerce-customer-details{ margin-bottom:32px; }
.woocommerce .woocommerce-customer-details address{ border:1px solid var(--line)!important; border-radius:0!important; padding:16px!important; }

/* account */
.woocommerce-account .woocommerce{ display:grid; gap:28px; }
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content{ width:100%!important; float:none!important; }
.woocommerce-MyAccount-navigation ul{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.woocommerce-MyAccount-navigation li a{ display:inline-flex; height:40px; align-items:center; padding:0 14px; border:1px solid var(--line); font-size:14px; font-weight:500; }
.woocommerce-MyAccount-navigation li.is-active a{ background:var(--ink); color:#fff; border-color:var(--ink); }
.woocommerce-form-login__rememberme{ display:flex!important; align-items:center; gap:8px; font-weight:400!important; margin:12px 0!important; }
.woocommerce-LostPassword a{ font-size:14px; color:var(--mute); }
.woocommerce-account h2{ font-size:26px; margin-bottom:16px; }

/* empty states + 404 */
.error404 .page-content, .search-no-results .page-content{ font-size:16px; }
.error404 .search-form, .search-no-results .search-form{ display:flex; gap:8px; margin-top:16px; }
.search-form .search-submit{ min-height:52px; padding:0 20px; background:var(--ink); color:#fff; border:0; font-family:var(--display); font-stretch:75%; font-weight:700; text-transform:uppercase; letter-spacing:.06em; cursor:pointer; }

/* ---- bag drawer hardening (beats WooCommerce/GP button + list rules) ---- */
.sl-ibtn, .sl-ibtn:hover, .sl-ibtn:focus{ background:transparent!important; color:var(--ink)!important; border-radius:0!important; box-shadow:none!important; }
.sl-ibtn--line, .sl-ibtn--line:hover{ border:1px solid var(--line)!important; }
.sl-ibtn--line:hover{ border-color:var(--ink)!important; }
.sl-bag ul.woocommerce-mini-cart{ padding:0 var(--gut)!important; margin:0!important; }
.sl-bag .woocommerce-mini-cart-item a.remove{ display:inline!important; position:absolute!important; left:98px!important; bottom:16px!important; top:auto!important; width:auto!important; height:auto!important; font-size:12px!important; font-weight:500!important; line-height:1!important; color:var(--mute)!important; background:none!important; }
.sl-bag .woocommerce-mini-cart-item a.remove:hover{ color:var(--red)!important; background:none!important; }
.sl-bag .woocommerce-mini-cart__buttons a.button.checkout{ background:var(--lime)!important; border-color:var(--lime)!important; color:var(--ink)!important; }
.sl-bag .woocommerce-mini-cart__buttons a.button.checkout:hover{ background:var(--lime-2)!important; border-color:var(--lime-2)!important; }
.sl-sizes, table.sl-sizes{ border:0!important; }
.sl-sizes th, .sl-sizes td{ border:0!important; border-bottom:1px solid var(--line)!important; background:none!important; }
@media (max-width:1023px){ .single-product .sl-foot{ padding-bottom:72px; } }
/* cart: phones get stacked rows that never overflow */
@media (max-width:767px){
  .woocommerce-cart table.cart, .woocommerce-cart table.cart tbody{ display:block!important; width:100%!important; }
  .woocommerce-cart table.cart tr.cart_item{ width:100%; grid-template-columns:80px minmax(0,1fr) auto; }
  .woocommerce-cart table.cart img{ width:80px!important; height:100px!important; }
}
.woocommerce-cart table.cart td.product-remove a.remove{ width:auto!important; height:auto!important; display:inline!important; font-size:12px!important; font-weight:500!important; color:var(--mute)!important; background:none!important; padding:2px 0!important; }
.woocommerce-cart table.cart td.product-remove a.remove:hover{ color:var(--red)!important; }
.shipping-calculator-button::after{ display:none!important; content:none!important; }
.cart_totals table.shop_table tr, .cart_totals table.shop_table th, .cart_totals table.shop_table td{ background:none!important; }
#billing_country_field, #shipping_country_field{ display:none!important; }
.sl-terms{ font-size:13px; color:var(--mute); margin:0 0 12px; }
.sl-terms a{ color:var(--ink); font-weight:600; }
.sl-lead{ font-size:clamp(18px, 4.6vw, 22px)!important; line-height:1.45!important; color:var(--ink)!important; margin-bottom:28px!important; }
.sl-contact{ display:grid; gap:10px; margin:0 0 24px; }
.sl-contact__c{ display:flex!important; flex-direction:column; gap:4px; padding:22px 20px; border:1px solid var(--line); color:var(--ink)!important; font-weight:400!important; transition:border-color .2s var(--ease), background-color .2s var(--ease); }
.sl-contact__c:hover{ border-color:var(--ink); opacity:1!important; }
.sl-contact__c svg{ width:24px; height:24px; margin-bottom:10px; }
.sl-contact__c .sl-mono{ margin:0; }
.sl-contact__c b{ font-size:18px; font-weight:700; overflow-wrap:anywhere; }
.sl-contact__c span:last-child{ font-size:14px; color:var(--mute); }
@media (min-width:768px){ .sl-contact{ grid-template-columns:repeat(3, 1fr); } }
.sl-contact__more{ display:flex; flex-wrap:wrap; gap:8px; }
.sl-btn--line{ background:#fff!important; color:var(--ink)!important; }
.sl-btn--line:hover{ background:var(--off)!important; }
.entry-content .sl-btn{ color:#fff!important; font-weight:700!important; }
.entry-content .sl-btn--lime, .entry-content .sl-btn--line{ color:var(--ink)!important; }
.entry-content .sl-btn:hover{ opacity:1!important; }
.sl-about__img{ margin:0 0 32px; aspect-ratio:4/3; overflow:hidden; background:var(--off); }
.sl-about__img img{ width:100%; height:100%; object-fit:cover; margin:0!important; }
.entry-content ul li{ margin-bottom:6px; }
.sl-faq__all{ margin:20px 0 0; }
.woocommerce form.track_order{ border:1px solid var(--line); padding:20px; }
.woocommerce form.track_order p:first-child{ color:var(--mute); }

/* thank-you page */
ul.woocommerce-order-overview::before, ul.woocommerce-order-overview::after{ display:none!important; content:none!important; }
.woocommerce-order > p.woocommerce-thankyou-order-received{ font-family:var(--body); font-stretch:100%; font-weight:400; font-size:17px; line-height:1.5; text-transform:none; margin:0 0 24px!important; }
.woocommerce-order > p:not([class]){ display:none; }
.sl-paynote{ background:var(--off); border-left:4px solid var(--lime); padding:22px 22px 24px; margin:0 0 36px; }
.sl-paynote .sl-mono{ margin:0 0 6px; }
.sl-paynote__t{ font-family:var(--display); font-stretch:75%; font-weight:800; font-size:clamp(30px, 8vw, 44px); line-height:1; text-transform:uppercase; margin:0 0 8px; }
.sl-paynote__p{ color:#3a3a3a; margin:0 0 18px; }
.woocommerce-order-details h2, .woocommerce-customer-details h2, .woocommerce-column__title{ font-size:26px!important; margin:0 0 14px!important; }
.woocommerce-order-details table.shop_table tfoot th{ font-family:var(--body)!important; text-transform:none!important; letter-spacing:0!important; color:var(--ink)!important; font-size:14px!important; font-weight:500!important; }
.woocommerce-order-details table.shop_table tfoot tr:nth-last-child(2) th, .woocommerce-order-details table.shop_table tfoot tr:nth-last-child(2) td{ font-family:var(--display)!important; font-stretch:75%; font-weight:800!important; font-size:22px!important; text-transform:uppercase!important; }
.woocommerce-order-details table.shop_table td.product-total, .woocommerce-order-details table.shop_table th.product-total, .woocommerce-order-details table.shop_table tfoot td{ text-align:right; }
.woocommerce-customer-details .woocommerce-columns{ display:grid; gap:16px; }
.woocommerce-customer-details .woocommerce-column{ width:auto!important; float:none!important; }
@media (min-width:768px){ .woocommerce-customer-details .woocommerce-columns{ grid-template-columns:1fr 1fr; } }
.woocommerce-customer-details address{ word-break:normal!important; overflow-wrap:break-word; line-height:1.7; }
.woocommerce table.shop_table tfoot th{ border-top:1px solid var(--line)!important; padding:14px 8px!important; }
.woocommerce-order-details table.shop_table tfoot tr:last-child th, .woocommerce-order-details table.shop_table tfoot tr:last-child td{ font-family:var(--body)!important; font-stretch:100%; font-size:14px!important; font-weight:500!important; text-transform:none!important; }
