/* ============================================================
   FARTUH — minimalist mono commerce theme
   ============================================================ */

/* Self-hosted Space Grotesk (variable 400–700) — no render-blocking Google Fonts request.
   Paths are SITE-ROOT-relative (/wp-content/...), not relative to this CSS file's own
   location (../fonts/...): the theme inlines everything above CRITICAL-END directly into
   each page's <head> as a <style> block (see functions.php), and a relative url() inside
   inlined CSS resolves against the PAGE's URL, not the stylesheet's — so on the homepage
   "../fonts/x.woff2" was requested as "/fonts/x.woff2" (404) instead of the real
   /wp-content/themes/fartuh/assets/fonts/x.woff2. Root-relative paths resolve correctly
   in both the inlined and the external-stylesheet context. */
@font-face{
  font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/wp-content/themes/fartuh/assets/fonts/space-grotesk-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:'Space Grotesk';font-style:normal;font-weight:400 700;font-display:swap;
  src:url('/wp-content/themes/fartuh/assets/fonts/space-grotesk-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  --ground:#FAF9F6;
  --ink:#141312;
  --ink-soft:#5b564e;
  --ink-mute:#a49d90;
  --tile:#EDEAE4;
  --tile-2:#E5E0D7;
  --line:#E4E0D9;
  --line-2:#d7d2c8;
  --bar:#0E0D0C;
  --dark:#171512;
  --paper:#F3F1EC;
  --white:#ffffff;

  --mono:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --sans:"Space Grotesk",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --wrap:1360px;
  --pad:40px;
  --ease:cubic-bezier(.22,.61,.36,1);
  --header-h:76px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:hidden}
body{
  margin:0;background:var(--ground);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
.mono{font-family:var(--mono)}
.container{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

/* buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:11px 22px;border:1px solid var(--ink);background:transparent;color:var(--ink);
  border-radius:2px;transition:background .35s var(--ease),color .35s var(--ease);
}
.btn:hover{background:var(--ink);color:var(--ground)}
.btn--light{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.btn--light:hover{background:var(--white);border-color:var(--white)}
.btn--solid{background:var(--ink);color:var(--ground)}
.btn--solid:hover{background:var(--ink-soft);border-color:var(--ink-soft)}
.btn--block{display:flex;width:100%}

/* =================== HEADER =================== */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(250,249,246,.9);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease);
}
.site-header.is-hidden{transform:translateY(-100%)}
.site-header.is-stuck{box-shadow:0 1px 0 var(--line)}
.header-inner{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;
  max-width:var(--wrap);margin:0 auto;padding:16px var(--pad);
}
.header-left{display:flex;align-items:center;gap:26px;min-width:0}
.header-right{display:flex;align-items:center;justify-content:flex-end;gap:20px}

.header-lang{display:flex;gap:10px;list-style:none;margin:0;padding:0;
  font-family:var(--mono);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.header-lang li{margin:0}
.header-lang a{color:var(--ink-soft);text-decoration:none}
.header-lang a:hover,.header-lang .current-lang a{color:var(--ink)}
.header-lang .current-lang a{text-decoration:underline;text-underline-offset:3px}

.catalog-toggle{
  display:flex;align-items:center;gap:11px;
  font-family:var(--mono);font-size:13.5px;letter-spacing:.1em;text-transform:uppercase;
  background:none;border:0;padding:0;color:var(--ink);
}
.catalog-toggle .chev{transition:transform .35s var(--ease)}
.catalog-toggle[aria-expanded="true"] .chev{transform:rotate(180deg)}
.grid-ic{display:grid;grid-template-columns:repeat(2,5px);grid-template-rows:repeat(2,5px);gap:3px}
.grid-ic i{width:5px;height:5px;background:currentColor;display:block}

.header-search{width:240px;color:var(--ink-soft)}
/* fallback plain form (no FiboSearch) */
.header-search>form{display:flex;align-items:center;gap:9px;border-bottom:1px solid var(--ink);padding:6px 2px}
.header-search>form svg{flex:none}
.header-search>form input{border:0;background:transparent;outline:0;width:100%;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;color:var(--ink)}
.header-search>form input::placeholder{color:var(--ink-mute);text-transform:lowercase}
/* FiboSearch — flatten "pirx" pill to the theme's minimalist underline */
.header-search .dgwt-wcas-search-wrapp{max-width:100%!important;width:100%!important;min-width:0!important}
.header-search .dgwt-wcas-sf-wrapp{background:transparent!important;border:0!important;border-bottom:1px solid var(--ink)!important;
  border-radius:0!important;box-shadow:none!important;height:auto!important;padding:0!important}
.header-search .dgwt-wcas-search-input{background:transparent!important;border:0!important;box-shadow:none!important;
  height:34px!important;line-height:34px!important;padding:0 4px 0 26px!important;
  font-family:var(--mono)!important;font-size:12.5px!important;letter-spacing:.05em!important;color:var(--ink)!important}
.header-search .dgwt-wcas-search-input::placeholder{color:var(--ink-mute)!important;text-transform:lowercase;opacity:1}
.header-search .dgwt-wcas-search-submit{background:transparent!important;border:0!important;box-shadow:none!important;
  left:0!important;right:auto!important;top:0!important;bottom:0!important;width:22px!important;height:auto!important;padding:0!important;margin:0!important;
  display:flex!important;align-items:center!important;justify-content:flex-start!important}
.header-search .dgwt-wcas-ico-magnifier{fill:var(--ink-soft)!important;width:15px!important;height:15px!important;margin:0!important}
.header-search .dgwt-wcas-voice-search{display:none!important}
.header-search .dgwt-wcas-preloader{background:transparent!important}

.brand{
  justify-self:center;display:inline-flex;align-items:center;
  font-family:var(--mono);font-weight:700;
  font-size:23px;letter-spacing:.01em;white-space:nowrap;line-height:1;
}
.brand sup{font-size:.42em;font-style:normal;letter-spacing:0;vertical-align:super}
.site-header .brand .brand-logo{height:42px;width:auto;max-width:210px;object-fit:contain;display:block}
@media (max-width:820px){.site-header .brand .brand-logo{height:34px}}

.header-icons{display:flex;align-items:center;gap:20px}
.icon-btn{
  position:relative;background:none;border:0;padding:0;color:var(--ink);
  display:inline-flex;transition:opacity .25s var(--ease);
}
.icon-btn:hover{opacity:.55}
.icon-btn svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;fill:none}
.cart-count{
  position:absolute;top:-8px;right:-9px;min-width:16px;height:16px;padding:0 3px;
  background:var(--ink);color:var(--ground);border-radius:9px;
  font-family:var(--mono);font-size:10px;line-height:16px;text-align:center;
}
.cart-count[data-count="0"]{display:none}

/* =================== MEGA MENU =================== */
.mega{
  position:fixed;left:0;right:0;top:var(--header-h);z-index:55;
  background:var(--ground);border-bottom:1px solid var(--line);
  transform:translateY(-8px);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .3s var(--ease),transform .3s var(--ease),visibility .3s;
}
.mega.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.mega-inner{max-width:var(--wrap);margin:0 auto;padding:44px var(--pad) 52px;
  display:grid;grid-template-columns:1.2fr 3fr;gap:56px}
.mega-featured{display:flex;flex-direction:column;gap:14px}
.mega-featured a{font-family:var(--mono);font-size:15px;letter-spacing:.06em;text-transform:uppercase;
  display:flex;align-items:center;gap:12px;transition:padding-left .3s var(--ease)}
.mega-featured a:hover{padding-left:8px}
.mega-cols{columns:3;column-gap:40px}
.mega-cols a{
  display:block;break-inside:avoid;font-family:var(--mono);font-size:13px;letter-spacing:.05em;
  text-transform:uppercase;color:var(--ink-soft);padding:9px 0;transition:color .25s var(--ease)}
.mega-cols a:hover{color:var(--ink)}
.mega-info{display:flex;flex-direction:column;gap:12px;margin-top:28px;padding-top:22px;border-top:1px solid var(--line)}
.mega-info a{font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink-soft);transition:padding-left .3s var(--ease),color .25s var(--ease)}
.mega-info a:hover{color:var(--ink);padding-left:6px}
.mega-social{display:flex;gap:14px;margin-top:26px}
.mega-social a{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;
  display:flex;align-items:center;justify-content:center;transition:background .25s var(--ease),transform .25s var(--ease)}
.mega-social a:hover{background:var(--paper);transform:translateY(-2px)}
.mega-social svg{width:18px;height:18px;stroke:var(--ink);stroke-width:1.5;fill:none}
.mega-overlay{
  position:fixed;inset:0;top:var(--header-h);background:rgba(20,19,18,.28);z-index:54;
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
.mega-overlay.is-open{opacity:1;visibility:visible}

/* =================== HERO =================== */
.hero{
  position:relative;min-height:min(88vh,760px);background:var(--dark);overflow:hidden;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
}
.hero__media{position:absolute;inset:0;z-index:0}
.hero__media img,.hero__media svg{width:100%;height:100%;object-fit:cover}
.hero__vig{position:absolute;inset:0;z-index:1;
  background:radial-gradient(120% 92% at 50% 44%,rgba(0,0,0,0) 26%,rgba(0,0,0,.6) 100%)}
.hero__inner{position:relative;z-index:2;padding:0 20px}
.hero__title{
  font-family:var(--mono);font-weight:700;color:#f6f3ec;
  font-size:clamp(54px,11vw,148px);line-height:.88;letter-spacing:-.01em;
  margin:0;
}
.hero__title sup{font-size:.2em;font-style:normal;vertical-align:super}
.hero__tag{
  margin-top:22px;font-family:var(--mono);color:#d6d0c4;
  font-size:clamp(14px,2.4vw,24px);letter-spacing:.42em;text-transform:lowercase;
}
.hero__cta{margin-top:38px}

/* floating social rail */
.social-rail{position:fixed;right:22px;bottom:26px;z-index:40;display:flex;flex-direction:column;gap:12px}
.social-rail a{
  width:46px;height:46px;border:1px solid var(--line);border-radius:50%;background:var(--ground);
  display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease),background .3s var(--ease)}
.social-rail a:hover{transform:translateY(-3px);background:var(--paper)}
.social-rail svg{width:19px;height:19px;stroke:var(--ink);stroke-width:1.5;fill:none}

/* Minimal closed-state positioning for the cart drawer + its backdrop, duplicated here
   (full rules are below CRITICAL-END, loaded async). Without this, the drawer has NO
   positioning at all until the full stylesheet loads, so it briefly renders inline in
   normal document flow (visible on the page) before snapping off-canvas — looks like
   the drawer flashes open then closed on every page load/navigation. */
.drawer-overlay{position:fixed;inset:0;z-index:80;opacity:0;visibility:hidden}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(430px,100%);transform:translateX(100%)}

/* CRITICAL-END */
/* =================== SECTION HEADER =================== */
.section{padding:70px 0 10px}
.section-head{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:34px}
.section-head h2{
  font-family:var(--mono);font-weight:500;font-size:15px;letter-spacing:.2em;text-transform:uppercase;margin:0}
.section-head .more{
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);
  display:inline-flex;align-items:center;gap:8px;transition:gap .3s var(--ease)}
.section-head .more:hover{gap:14px}

/* =================== PRODUCT GRID =================== */
ul.products,.product-grid{
  list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:2px 2px;
}
/* WooCommerce clearfix pseudo-elements become stray grid items — remove them */
ul.products::before,ul.products::after,
.woocommerce ul.products::before,.woocommerce ul.products::after{content:none!important;display:none!important}
.woocommerce ul.products li.product,ul.products li.product,.product-card{
  position:relative;margin:0!important;float:none!important;clear:none!important;width:auto!important}
.woocommerce ul.products li.product::before,.woocommerce ul.products li.product::after{content:none!important;display:none!important}
.product-card a.woocommerce-LoopProduct-link,.pc-link{display:block;color:inherit}
.pc-thumb{
  position:relative;background:var(--tile);aspect-ratio:4/5;overflow:hidden;
  display:flex;align-items:center;justify-content:center;transition:background .4s var(--ease)}
.pc-thumb__link{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center}
.product-card:hover .pc-thumb,li.product:hover .pc-thumb{background:var(--tile-2)}
.woocommerce ul.products li.product .pc-thumb img,.pc-thumb img{
  position:absolute!important;inset:0!important;width:100%!important;height:100%!important;
  max-width:none!important;object-fit:cover;
  transition:opacity .5s var(--ease),transform .7s var(--ease)}
.pc-thumb img.pc-img-2{opacity:0}
.product-card:hover .pc-thumb img.pc-img-1{opacity:0}
.product-card:hover .pc-thumb img.pc-img-2{opacity:1}
.pc-thumb .pc-illustration{width:56%;height:56%;transition:transform .6s var(--ease)}
.product-card:hover .pc-thumb .pc-illustration{transform:scale(1.05)}

.badge{position:absolute;top:15px;left:15px;z-index:3;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;
  background:var(--ink);color:var(--ground);padding:5px 9px}
.badge--sale{background:#8a2b1c}
.pc-fav{position:absolute;top:12px;right:14px;z-index:3;background:none;border:0;padding:4px;color:var(--ink);opacity:.55;transition:opacity .25s}
.pc-fav:hover{opacity:1}
.pc-fav svg{width:19px;height:19px;stroke:currentColor;stroke-width:1.4;fill:none}

/* meta: title + price slide/swap to the action link on hover */
.pc-meta{position:relative;padding:16px 4px 6px;min-height:60px}
.pc-meta__info{transition:opacity .3s var(--ease),transform .35s var(--ease)}
.pc-add{
  position:absolute;left:4px;right:4px;top:16px;z-index:2;
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink);background:none;border:0;padding:0;text-align:left;cursor:pointer;
  opacity:0;transform:translateY(10px);pointer-events:none;
  transition:opacity .3s var(--ease),transform .35s var(--ease)}
.pc-add svg{flex:none;transition:transform .3s var(--ease)}
.product-card:hover .pc-meta__info,li.product:hover .pc-meta__info{opacity:0;transform:translateY(-8px)}
.product-card:hover .pc-add,li.product:hover .pc-add{opacity:1;transform:translateY(0);pointer-events:auto}
.pc-add:hover svg{transform:translateX(4px)}
.pc-title,.woocommerce-loop-product__title{
  font-family:var(--mono)!important;font-size:13px!important;font-weight:400!important;
  letter-spacing:.05em;text-transform:uppercase;padding:0!important;margin:0}
.pc-price,li.product .price{
  font-family:var(--mono)!important;font-size:13px!important;color:var(--ink-soft)!important;
  margin-top:8px!important;display:block}
li.product .price del{opacity:.5;margin-right:8px}
li.product .price ins{text-decoration:none}

/* hide default woo add-to-cart button in loop (we use pc-add) */
ul.products li.product a.add_to_cart_button,
ul.products li.product a.added_to_cart{display:none}

/* =================== EDITORIAL SPLIT =================== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:70px}
.split__cell{position:relative;aspect-ratio:16/11;overflow:hidden;background:var(--dark);
  display:flex;align-items:flex-end;padding:34px}
.split__cell.is-light{background:var(--paper)}
.split__cell .lbl{position:relative;z-index:2;font-family:var(--mono);font-size:13px;letter-spacing:.16em;
  text-transform:uppercase;color:#f4f1ea}
.split__cell.is-light .lbl{color:var(--ink)}
.split__cell .lbl small{display:block;font-size:11px;letter-spacing:.1em;margin-top:8px;color:#b7b0a3}
.split__cell.is-light .lbl small{color:var(--ink-soft)}
.split__cell .bg{position:absolute;inset:0;z-index:0;transition:transform .8s var(--ease)}
.split__cell .bg img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}
.split__cell::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(14,13,12,.72) 0%,rgba(14,13,12,.12) 46%,rgba(14,13,12,.05) 100%)}
.split__cell .lbl{position:relative;z-index:2;color:#f6f3ec}
.split__cell:hover .bg{transform:scale(1.05)}

/* =================== FOOTER =================== */
.site-footer{margin-top:84px;border-top:1px solid var(--line);background:var(--paper)}
.footer-top{max-width:var(--wrap);margin:0 auto;padding:56px var(--pad) 34px;
  display:grid;grid-template-columns:1.5fr 1fr 1fr 1.1fr;gap:40px}
.footer-col h4{font-family:var(--mono);font-size:12px;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px}
.footer-col a,.footer-col p{display:block;font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;
  color:var(--ink-soft);line-height:2.05;margin:0}
.footer-col a{transition:color .25s var(--ease)}
.footer-col a:hover{color:var(--ink)}
.footer-brand{font-family:var(--mono);font-weight:700;font-size:22px;margin:0 0 14px}
.footer-plata{display:inline-block;font-family:var(--mono);font-size:12px;letter-spacing:.05em;
  background:var(--ink);color:var(--ground);padding:7px 12px;border-radius:3px;margin-top:10px}
.footer-bottom{border-top:1px solid var(--line)}
.footer-bottom .container{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:18px;padding-bottom:18px;
  font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}
  /* was --ink-mute (#a49d90 on #F3F1EC paper) — ~2.4:1 contrast, fails WCAG AA (needs 4.5:1
     for this 11px text). --ink-soft (#5b564e) gives ~6.4:1, comfortably passes. */
.footer-lang{display:flex;gap:14px;list-style:none;margin:0;padding:0}
.footer-lang li{margin:0}
.footer-lang a{color:var(--ink-soft);text-decoration:none}
.footer-lang a:hover,.footer-lang .current-lang a{color:var(--ink)}
.footer-lang .current-lang a{text-decoration:underline;text-underline-offset:3px}

/* back to top */
.to-top{position:fixed;right:22px;bottom:26px;z-index:40;width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);background:var(--ground);display:flex;align-items:center;justify-content:center;
  opacity:0;visibility:hidden;transform:translateY(8px);transition:all .3s var(--ease)}
.to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.to-top svg{width:18px;height:18px;stroke:var(--ink);stroke-width:1.6;fill:none}

/* =================== CART DRAWER =================== */
.drawer-overlay{position:fixed;inset:0;z-index:80;background:rgba(20,19,18,.34);
  opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s}
.drawer-overlay.is-open{opacity:1;visibility:visible}
.cart-drawer{
  position:fixed;top:0;right:0;bottom:0;z-index:81;width:min(430px,100%);
  background:var(--ground);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .4s var(--ease);
  box-shadow:-1px 0 0 var(--line)}
.cart-drawer.is-open{transform:translateX(0)}
.cart-drawer__head{display:flex;align-items:center;justify-content:space-between;
  padding:22px var(--pad);border-bottom:1px solid var(--line)}
.cart-drawer__head h3{margin:0;font-family:var(--mono);font-size:14px;letter-spacing:.16em;text-transform:uppercase;font-weight:500}
.cart-drawer__close{background:none;border:0;padding:4px}
.cart-drawer__close svg{width:20px;height:20px;stroke:var(--ink);stroke-width:1.6;fill:none}
/* Target .widget_shopping_cart_content (WooCommerce's own class), not .cart-drawer__body:
   WC's AJAX fragment refresh (wc-ajax=get_refreshed_fragments, fired after every
   add-to-cart) replaces this div wholesale with `<div class="widget_shopping_cart_content">`
   ONLY — see WC core class-wc-ajax.php — silently dropping our extra theme class and
   with it this rule's flex/overflow/padding, the moment the drawer's contents update. */
.cart-drawer .widget_shopping_cart_content{flex:1;overflow-y:auto;padding:10px var(--pad)}
.cart-drawer__foot{border-top:1px solid var(--line);padding:22px var(--pad);display:flex;flex-direction:column;gap:14px}
.cart-drawer__total{display:flex;justify-content:space-between;font-family:var(--mono);
  font-size:13px;letter-spacing:.06em;text-transform:uppercase}
.cart-empty{font-family:var(--mono);font-size:13px;letter-spacing:.05em;color:var(--ink-soft);text-align:center;padding:60px 0}
/* mini-cart inside drawer */
.cart-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
/* WooCommerce nests the thumbnail + title together inside ONE <a>, and the variation
   list / quantity as separate siblings after it — grid-row/grid-column only affect
   DIRECT children of the grid container, so each of these 3 real children spans the
   full width (cols 1-2) on its own row, with the remove (×) button in column 3. */
.cart-drawer .woocommerce-mini-cart-item{display:grid;grid-template-columns:56px 1fr auto;grid-auto-rows:auto;gap:6px 14px;align-items:start;
  padding:16px 0;border-bottom:1px solid var(--line)}
.cart-drawer .woocommerce-mini-cart-item a:not(.remove){grid-column:1/3;grid-row:1;display:flex;align-items:flex-start;gap:14px;
  font-family:var(--mono);font-size:12px;letter-spacing:.03em;
  text-transform:uppercase;color:var(--ink);line-height:1.45}
.cart-drawer .woocommerce-mini-cart-item img{width:56px;height:70px;flex:none;object-fit:cover;background:var(--tile);margin:0!important;float:none!important}
.cart-drawer .woocommerce-mini-cart-item .quantity{grid-column:1/3;grid-row:3;font-family:var(--mono);font-size:12px;color:var(--ink-soft);letter-spacing:.03em}
.cart-drawer .woocommerce-mini-cart-item .variation{grid-column:1/3;grid-row:2;font-size:11px;color:var(--ink-soft);text-transform:none;margin:0}
.cart-drawer .woocommerce-mini-cart-item .variation dt,.cart-drawer .woocommerce-mini-cart-item .variation dd{display:inline;margin:0;padding:0}
.cart-drawer .woocommerce-mini-cart-item .variation dd p{display:inline;margin:0}
.cart-drawer .woocommerce-mini-cart-item .variation dt::after{content:" "}
.cart-drawer .woocommerce-mini-cart-item .variation dd::after{content:"\A";white-space:pre}
.cart-drawer a.remove{grid-column:3;grid-row:1;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;
  color:var(--ink-mute)!important;font-size:16px;line-height:1;text-decoration:none}
.cart-drawer a.remove:hover{background:var(--ink)!important;color:var(--ground)!important}
.cart-drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;align-items:baseline;
  font-family:var(--mono);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:20px 0 4px;border-bottom:0}
.cart-drawer .woocommerce-mini-cart__total strong{font-weight:500}
.cart-drawer .woocommerce-mini-cart__total .amount{font-size:16px}
.cart-drawer .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:10px;margin:18px 0 6px;padding:0}
.cart-drawer .woocommerce-mini-cart__buttons a{display:flex;align-items:center;justify-content:center;height:50px;margin:0;
  font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;border-radius:2px;
  border:1px solid var(--ink);background:transparent;color:var(--ink);transition:background .3s var(--ease),color .3s var(--ease)}
.cart-drawer .woocommerce-mini-cart__buttons a:hover{background:var(--ink);color:var(--ground)}
.cart-drawer .woocommerce-mini-cart__buttons a.checkout{background:var(--ink);color:var(--ground)}
.cart-drawer .woocommerce-mini-cart__buttons a.checkout:hover{background:var(--ink-soft);border-color:var(--ink-soft)}
.cart-drawer p.woocommerce-mini-cart__empty-message{font-family:var(--mono);font-size:13px;color:var(--ink-soft);text-align:center;padding:40px 0}

/* =================== CATALOG =================== */
.wc-catalog{padding:44px 0 20px}
/* breadcrumbs */
.fartuh-crumbs{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-mute);display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 22px}
.single-product .fartuh-crumbs{margin-bottom:26px}
.fartuh-crumbs a{color:var(--ink-soft);transition:color .2s var(--ease)}
.fartuh-crumbs a:hover{color:var(--ink)}
.fartuh-crumbs .crumb-sep{color:var(--line-2)}
/* subcategories row on category pages */
.shop-subcats{grid-template-columns:repeat(4,1fr)!important;gap:2px;margin:0 0 34px!important}
.shop-subcats .cat-card__media{padding-top:76%}
.shop-subcats .cat-card__label{padding:16px;font-size:12px;letter-spacing:.08em}
.shop-subcats .cat-card__label small{font-size:10px;margin-top:5px}
@media (max-width:820px){.shop-subcats{grid-template-columns:1fr 1fr!important}}
.catalog-head{margin-bottom:26px}
.catalog-head__title{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.catalog-head__title h1{
  font-family:var(--mono);font-weight:500;font-size:clamp(22px,3vw,30px);
  letter-spacing:.06em;text-transform:uppercase;margin:0}
.catalog-count{font-size:12px;letter-spacing:.1em;color:var(--ink-mute)}
.catalog-head__desc{margin-top:14px;max-width:640px;color:var(--ink-soft);font-size:14px;line-height:1.7}

.catalog-bar{
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
  border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:16px 0;margin-bottom:30px}
.catalog-cats{display:flex;flex-wrap:wrap;gap:8px}
.catalog-cats a{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-soft);border:1px solid var(--line-2);padding:9px 15px;border-radius:40px;
  transition:border-color .25s var(--ease),color .25s var(--ease),background .25s var(--ease)}
.catalog-cats a:hover{border-color:var(--ink);color:var(--ink)}
.catalog-cats a.is-active{background:var(--ink);border-color:var(--ink);color:var(--ground)}

/* category tiles */
li.product.cat-card{position:relative;margin:0}
.cat-card__link{display:block}
.cat-card__media{position:relative;width:100%;padding-top:125%;overflow:hidden;background:var(--tile)}
.cat-card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .7s var(--ease)}
.cat-card:hover .cat-card__media img{transform:scale(1.05)}
.cat-card__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.cat-card__ph svg{width:46%;height:46%}
/* "Всі товари" tile */
.cat-card--all .cat-card__media{background:var(--ink)}
.cat-card__ph--all{color:#efe9dd}
.cat-card__ph--all svg{width:30%;height:30%;stroke-width:1.3}
.cat-card--all:hover .cat-card__ph--all{transform:scale(1.05);transition:transform .5s var(--ease)}
/* shop displaying categories -> 2×2 feature grid */
.shop-cats ul.products{grid-template-columns:1fr 1fr!important}
.shop-cats .cat-card__media{padding-top:70%}
@media (max-width:820px){
  .shop-cats ul.products{grid-template-columns:1fr!important}
  .shop-cats .cat-card__media{padding-top:62%}
  .shop-cats .cat-card__label{padding:18px}
}
.cat-card__overlay{position:absolute;inset:0;z-index:1;
  background:linear-gradient(to top,rgba(14,13,12,.85) 0%,rgba(14,13,12,.55) 22%,rgba(14,13,12,0) 62%)}
.cat-card__label{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:22px;color:#f4f1ea;
  font-size:14px;letter-spacing:.12em;text-transform:uppercase;line-height:1.3}
.cat-card__label small{display:block;font-size:11px;letter-spacing:.1em;margin-top:7px;color:#cec7ba}

.catalog-sort{position:relative}
.woocommerce-ordering select,.catalog-sort select{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--ink);background:transparent;border:1px solid var(--line-2);border-radius:40px;
  padding:9px 34px 9px 15px;cursor:pointer;-webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23141312' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center}
.woocommerce-ordering select:hover{border-color:var(--ink)}

.catalog-pagination{padding:56px 0 20px;display:flex;justify-content:center}
.woocommerce-pagination ul{display:flex;gap:6px;list-style:none;margin:0;padding:0}
.woocommerce-pagination ul li{margin:0}
.woocommerce-pagination a,.woocommerce-pagination span{
  display:flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 12px;
  font-family:var(--mono);font-size:13px;border:1px solid var(--line-2);border-radius:2px;
  color:var(--ink-soft);transition:border-color .25s var(--ease),color .25s var(--ease)}
.woocommerce-pagination a:hover{border-color:var(--ink);color:var(--ink)}
.woocommerce-pagination span.current{background:var(--ink);border-color:var(--ink);color:var(--ground)}

@media (max-width:820px){
  .catalog-bar{flex-direction:column;align-items:stretch}
  .catalog-bar>*{min-width:0;max-width:100%}
  .catalog-cats{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch;padding-bottom:4px;
    min-width:0;max-width:100%;scrollbar-width:none}
  .catalog-cats::-webkit-scrollbar{display:none}
  .catalog-cats a{white-space:nowrap;flex:none}
  .catalog-sort{width:100%}
  .woocommerce-ordering,.woocommerce-ordering form,.catalog-sort form{width:100%}
  .woocommerce-ordering select,.catalog-sort select{width:100%;max-width:100%}
}

/* =================== SINGLE PRODUCT =================== */
.single-product .wc-main .container{padding-top:36px;padding-bottom:20px}
.single-product div.product{
  display:grid;grid-template-columns:1.12fr .88fr;gap:60px;align-items:start;position:relative}
.single-product div.product::before,.single-product div.product::after{content:none;display:none}

/* gallery — horizontal swipe slider (cupage-style) */
.single-product .woocommerce-product-gallery{width:auto!important;float:none!important;margin:0!important;opacity:1!important}
.fartuh-gallery-wrap{position:relative}
.fartuh-gallery-viewport{position:relative;border-radius:2px;overflow:hidden}
.fartuh-gallery{
  display:flex;flex-direction:row;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;border-radius:2px;background:var(--tile)}
.fartuh-gallery::-webkit-scrollbar{display:none}
.fartuh-gallery__item{flex:0 0 100%;scroll-snap-align:center;display:block;background:var(--tile)}
.fartuh-gallery__img{width:100%;height:auto;display:block;aspect-ratio:4/5;object-fit:cover}
.fartuh-gallery__ph{flex:0 0 100%;aspect-ratio:4/5;background:var(--tile);display:flex;align-items:center;justify-content:center}
.fartuh-gallery__ph svg{width:50%;height:50%}
/* index badge + dots */
.fartuh-gallery__count{
  position:absolute;right:12px;bottom:12px;z-index:2;font-family:var(--mono);
  font-size:11px;letter-spacing:.06em;background:rgba(20,19,18,.6);color:#f4f1ea;
  padding:4px 9px;border-radius:20px;pointer-events:none;opacity:0;transition:opacity .25s var(--ease)}
.fartuh-gallery-wrap[data-count="1"] .fartuh-gallery__count{display:none}
.fartuh-dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.fartuh-gallery-wrap[data-count="1"] .fartuh-dots{display:none}
.fartuh-dots button{
  width:7px;height:7px;padding:0;border:0;border-radius:50%;background:var(--line-2);
  cursor:pointer;transition:background .25s var(--ease),transform .25s var(--ease)}
.fartuh-dots button.is-active{background:var(--ink);transform:scale(1.2)}

/* summary */
.single-product .summary.entry-summary{
  position:sticky;top:100px;width:auto!important;float:none!important;margin:0!important;
  display:flex;flex-direction:column}
.single-product .product_title{
  font-family:var(--mono);font-weight:500;font-size:clamp(22px,2.4vw,30px);line-height:1.15;
  letter-spacing:.02em;text-transform:uppercase;margin:0 0 18px;color:var(--ink)}
.single-product .summary .price{
  font-family:var(--mono)!important;font-size:19px!important;color:var(--ink)!important;
  margin:0 0 28px!important;letter-spacing:.03em}
.single-product .summary .price del{opacity:.45;margin-right:12px;font-weight:400}
.single-product .summary .price ins{text-decoration:none;font-weight:500}
.single-product .woocommerce-product-details__short-description{
  color:var(--ink-soft);font-size:14px;line-height:1.7;margin:0 0 26px;
  border-top:1px solid var(--line);padding-top:22px}

/* variation labels */
.single-product .variations{width:100%;border:0;margin:0 0 8px}
.single-product .variations tr{display:block;margin-bottom:20px}
.single-product .variations th,.single-product .variations td{display:block;padding:0;text-align:left}
.single-product .variations th.label label{
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:12px;font-weight:400}

/* variation swatches (woo-variation-swatches) */
.single-product ul.variable-items-wrapper{display:flex!important;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.single-product .variable-items-wrapper li.variable-item{
  margin:0!important;box-shadow:none!important;border:1px solid var(--line-2)!important;border-radius:2px!important;
  min-width:42px;height:38px;display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;line-height:1.2;
  background:var(--ground);color:var(--ink);transition:border-color .2s var(--ease),background .2s var(--ease);padding:0 12px}
.single-product .variable-items-wrapper li.variable-item:hover{border-color:var(--ink)!important}
.single-product .variable-items-wrapper li.variable-item.selected,
.single-product .variable-items-wrapper li.variable-item[aria-checked="true"]{
  background:var(--ink)!important;border-color:var(--ink)!important;color:var(--ground)!important}
.single-product .variable-items-wrapper li.variable-item .variable-item-span{padding:0!important;line-height:1.2}
/* long-text attributes (e.g. "логотип") — equal-size buttons in a tidy grid */
.single-product .variable-items-wrapper[data-attribute_name*="logo"]{
  display:grid!important;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.single-product .variable-items-wrapper[data-attribute_name*="logo"] li.variable-item{
  width:100%;min-width:0;height:auto;min-height:44px;padding:9px 12px;
  text-align:center;white-space:normal;line-height:1.25}
.single-product .variable-items-wrapper[data-attribute_name*="logo"] li.variable-item .variable-item-span{white-space:normal}
@media (max-width:400px){
  .single-product .variable-items-wrapper[data-attribute_name*="logo"]{grid-template-columns:1fr}
}

/* fallback select dropdowns for attributes */
.single-product .variations select{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.05em;width:100%;
  border:1px solid var(--line-2);border-radius:2px;padding:13px 15px;background:var(--ground);color:var(--ink)}
.single-product .reset_variations{font-family:var(--mono);font-size:11px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-mute);margin-top:6px;display:inline-block}

/* addon fields (checkout files upload / product addons boxes) */
.single-product .wc-pao-addon,.single-product .wcpa_form_outer{margin:0 0 20px}
/* product inquiry checkboxes */
.fartuh-checks{display:flex;flex-direction:column;gap:11px;margin:2px 0 22px}
.fartuh-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.02em;color:var(--ink-soft);line-height:1.45}
.fartuh-check input{margin:1px 0 0;width:16px;height:16px;accent-color:var(--ink);flex:none;cursor:pointer}
.fartuh-check:hover{color:var(--ink)}

/* qty + add to cart */
.single-product form.cart{display:flex;align-items:stretch;gap:12px;margin:8px 0 26px!important;flex-wrap:wrap}
/* Scoped to form.cart specifically — ".single-product .quantity" alone also matched the
   cart-drawer's mini-cart <span class="quantity"> (the drawer opens ON TOP of a single
   product page, so .single-product is still on <body>), giving the plain "1 × price"
   text an unwanted input-stepper border+flex box. */
.single-product form.cart .quantity{display:flex;align-items:center;border:1px solid var(--line-2);border-radius:2px}
.single-product form.cart .quantity input.qty{
  width:52px;height:46px;border:0;background:transparent;text-align:center;
  font-family:var(--mono);font-size:14px;color:var(--ink);-moz-appearance:textfield}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.woocommerce .single-product button.button.single_add_to_cart_button,
.single-product button.button.single_add_to_cart_button{
  flex:1;min-width:180px;height:46px;border:1px solid var(--ink);
  background:var(--ink)!important;color:var(--ground)!important;
  font-family:var(--mono);font-size:12.5px;font-weight:400;letter-spacing:.16em;text-transform:uppercase;border-radius:2px;
  transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease)}
.woocommerce .single-product button.button.single_add_to_cart_button:hover,
.single-product button.button.single_add_to_cart_button:hover{
  background:var(--ground)!important;color:var(--ink)!important}
.single-product button.single_add_to_cart_button.disabled,
.single-product button.single_add_to_cart_button:disabled{
  background:var(--tile-2)!important;color:var(--ink-mute)!important;border-color:var(--line-2);cursor:not-allowed;opacity:1}
.single-product .woocommerce-variation-add-to-cart{display:flex;align-items:stretch;gap:12px;flex-wrap:wrap}
.single-product .woocommerce-variation-price{font-family:var(--mono);font-size:18px;margin:0 0 18px;width:100%}

/* meta */
.single-product .product_meta{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.05em;color:var(--ink-mute);
  border-top:1px solid var(--line);padding-top:20px;margin-top:8px;line-height:2}
.single-product .product_meta a{color:var(--ink-soft)}
.single-product .product_meta>span{display:block}

/* trust row */
.single-product .summary .fartuh-usp{display:flex;flex-direction:column;gap:10px;margin-top:22px;
  font-family:var(--mono);font-size:12px;letter-spacing:.04em;color:var(--ink-soft)}
.single-product .fartuh-usp span{display:flex;align-items:center;gap:10px}
.single-product .fartuh-usp svg{width:16px;height:16px;stroke:var(--ink);stroke-width:1.5;fill:none;flex:none}

/* tabs */
.woocommerce-tabs{grid-column:1 / -1;margin-top:70px;border-top:1px solid var(--line);padding-top:0}
.woocommerce-tabs ul.tabs{display:flex;gap:0;list-style:none;margin:0;padding:0;border-bottom:1px solid var(--line)}
.woocommerce-tabs ul.tabs li{margin:0}
.woocommerce-tabs ul.tabs li a{
  display:block;font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-mute);padding:22px 26px;border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:color .25s var(--ease),border-color .25s var(--ease)}
.woocommerce-tabs ul.tabs li a:hover{color:var(--ink)}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--ink)}
.woocommerce-tabs .panel{padding:36px 0;max-width:820px;color:var(--ink-soft);font-size:14.5px;line-height:1.8}
.woocommerce-tabs .panel h2{font-family:var(--mono);font-size:15px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);font-weight:500;margin:0 0 18px}
.woocommerce-tabs .panel ul,.woocommerce-tabs .panel ol{padding-left:20px}
.woocommerce-tabs table.shop_attributes{width:100%;border-collapse:collapse;font-size:13.5px}
.woocommerce-tabs table.shop_attributes th,.woocommerce-tabs table.shop_attributes td{
  text-align:left;padding:12px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-weight:400}
.woocommerce-tabs table.shop_attributes th{color:var(--ink);letter-spacing:.05em;width:220px}
.woocommerce-tabs table.shop_attributes td{color:var(--ink-soft)}

/* related / upsells */
.related.products,.upsells.products{grid-column:1 / -1;margin-top:76px}
.related.products>h2,.upsells.products>h2{
  font-family:var(--mono);font-weight:500;font-size:15px;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:1px solid var(--line);padding-bottom:18px;margin:0 0 34px}
.related.products ul.products,.upsells.products ul.products{grid-template-columns:repeat(3,1fr)}

@media (max-width:960px){
  .single-product div.product{grid-template-columns:1fr;gap:30px}
  .single-product .summary.entry-summary{position:static;top:auto}
}
@media (max-width:600px){
  .related.products ul.products,.upsells.products ul.products{grid-template-columns:1fr 1fr}
  .woocommerce-tabs ul.tabs li a{padding:16px 16px}
}

/* =================== WOO NOTICES =================== */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
  font-family:var(--mono);font-size:13px;letter-spacing:.03em;line-height:1.6;
  border:1px solid var(--line-2);border-left:2px solid var(--ink);background:var(--paper);
  color:var(--ink);padding:16px 20px;border-radius:2px;margin:0 0 24px;list-style:none}
/* WC core injects an absolutely-positioned icon (::before, WooCommerce icon font) sized
   for its own 3.5em left padding; our override above drops that reserved space, so the
   icon was overlapping the message text. Theme has no icon language elsewhere — drop it. */
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before,.woocommerce-noreviews::before{display:none}
.woocommerce-error{border-left-color:#8a2b1c}
.woocommerce-message a,.woocommerce-info a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.woocommerce .button.wc-forward{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  background:var(--ink);color:var(--ground);border:0;padding:9px 16px;border-radius:2px}

/* =================== CART PAGE =================== */
.wc-main .entry-content,.wc-main article.post,.wc-main article{max-width:none;width:100%;margin:0}
.woocommerce-cart .wc-main .container{padding-top:44px;padding-bottom:30px}
.woocommerce-cart h1.entry-title,.woocommerce-checkout h1.entry-title{
  font-family:var(--mono);font-weight:500;font-size:clamp(22px,3vw,30px);letter-spacing:.06em;
  text-transform:uppercase;margin:0 0 30px}
.woocommerce-cart .woocommerce{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.woocommerce-cart .woocommerce>form.woocommerce-cart-form{flex:1 1 0;min-width:0;order:1}
.woocommerce-cart .woocommerce>.cart-collaterals{flex:0 0 340px;max-width:100%;order:2}
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce>.cart-empty,
.woocommerce-cart .woocommerce>.return-to-shop,
.woocommerce-cart .woocommerce>.cross-sells{flex:0 0 100%;order:0}

.woocommerce-cart table.cart{width:100%;border-collapse:collapse;margin:0}
.woocommerce-cart table.cart .product-remove{width:32px}
.woocommerce-cart table.cart .product-thumbnail{width:84px}
.woocommerce-cart table.cart .product-price{width:92px}
.woocommerce-cart table.cart .product-quantity{width:112px}
.woocommerce-cart table.cart .product-subtotal{width:100px}
.woocommerce-cart table.cart thead th{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);
  text-align:left;padding:0 0 16px;border-bottom:1px solid var(--line);font-weight:400}
.woocommerce-cart table.cart thead th.product-remove{width:30px}
.woocommerce-cart table.cart td{padding:22px 12px 22px 0;border-bottom:1px solid var(--line);vertical-align:middle}
.woocommerce-cart table.cart td.product-thumbnail{width:92px}
.woocommerce-cart table.cart td.product-thumbnail img{width:80px;height:100px;object-fit:cover;background:var(--tile)}
.woocommerce-cart table.cart td.product-name{font-family:var(--mono);font-size:13px;letter-spacing:.04em;text-transform:uppercase;line-height:1.5;word-break:normal;overflow-wrap:break-word;padding-right:18px}
.woocommerce-cart table.cart td.product-name a{color:var(--ink)}
.woocommerce-cart table.cart td.product-name .variation{font-size:11px;color:var(--ink-soft);text-transform:none;margin-top:6px}
.woocommerce-cart table.cart td.product-price,.woocommerce-cart table.cart td.product-subtotal{
  font-family:var(--mono);font-size:13px;color:var(--ink-soft)}
.woocommerce-cart table.cart td.product-subtotal{color:var(--ink)}
.woocommerce-cart a.remove{
  display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;
  color:var(--ink-mute)!important;font-size:18px;line-height:1;border:1px solid transparent;text-decoration:none}
.woocommerce-cart a.remove:hover{background:var(--ink)!important;color:var(--ground)!important}
.woocommerce-cart .product-quantity .quantity{display:inline-flex;border:1px solid var(--line-2);border-radius:2px}
.woocommerce-cart .product-quantity input.qty{
  width:52px;height:42px;border:0;background:transparent;text-align:center;font-family:var(--mono);font-size:13px}

.woocommerce-cart td.actions{padding-top:26px!important;border-bottom:0!important}
.woocommerce-cart td.actions .coupon{display:flex;gap:10px;align-items:stretch}
.woocommerce-cart td.actions .coupon label{display:none}
.woocommerce-cart #coupon_code{
  font-family:var(--mono);font-size:12px;letter-spacing:.05em;border:1px solid var(--line-2);border-radius:2px;
  padding:0 15px;height:46px;width:220px;background:var(--ground)}
.woocommerce-cart td.actions button{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;height:46px;padding:0 22px;
  border:1px solid var(--ink);background:transparent;color:var(--ink);border-radius:2px;
  transition:background .3s var(--ease),color .3s var(--ease)}
.woocommerce-cart td.actions button:hover{background:var(--ink);color:var(--ground)}
.woocommerce-cart td.actions button[name="update_cart"]{background:transparent}

/* cart totals */
.woocommerce-cart .cart-collaterals{width:auto!important;float:none!important;position:sticky;top:100px}
.woocommerce-cart .cart-collaterals .cross-sells{display:none}
.woocommerce-cart .cart_totals{width:100%!important;float:none!important;background:var(--paper);padding:28px 26px;border-radius:2px}
.woocommerce-cart .cart_totals h2{
  font-family:var(--mono);font-size:13px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;margin:0 0 20px}
.woocommerce-cart .cart_totals table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:13px}
.woocommerce-cart .cart_totals table th{text-align:left;font-weight:400;color:var(--ink-soft);padding:14px 0;letter-spacing:.05em;
  text-transform:uppercase;font-size:11.5px;vertical-align:top}
.woocommerce-cart .cart_totals table td{text-align:right;padding:14px 0;color:var(--ink)}
.woocommerce-cart .cart_totals tr{border-bottom:1px solid var(--line-2)}
.woocommerce-cart .cart_totals tr.order-total{border-bottom:0}
.woocommerce-cart .cart_totals tr.order-total th,.woocommerce-cart .cart_totals tr.order-total td{
  font-size:15px;color:var(--ink);padding-top:20px}
.woocommerce-cart .wc-proceed-to-checkout{padding-top:22px}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  display:flex;align-items:center;justify-content:center;width:100%;height:54px;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  background:var(--ink)!important;color:var(--ground)!important;border-radius:2px;border:1px solid var(--ink)}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{background:var(--ground)!important;color:var(--ink)!important}

.woocommerce-cart .cart-empty{font-family:var(--mono);letter-spacing:.05em;color:var(--ink-soft);padding:40px 0}
.woocommerce-cart .return-to-shop a.button{background:var(--ink)!important;color:var(--ground)!important;
  font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;font-size:12px;padding:14px 26px;border-radius:2px;display:inline-block}

/* =================== CHECKOUT PAGE =================== */
.woocommerce-checkout .wc-main .container{padding-top:44px;padding-bottom:30px}
.woocommerce-checkout form.checkout{
  display:grid;grid-template-columns:minmax(0,1fr) 400px;grid-template-rows:auto 1fr;
  column-gap:56px;row-gap:0;align-items:start}
.woocommerce-checkout #customer_details{grid-column:1;grid-row:1 / span 2}
.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1}
.woocommerce-checkout #order_review{grid-column:2;grid-row:2}
.woocommerce-checkout .col2-set{width:auto!important;float:none!important}
.woocommerce-checkout #customer_details{width:auto}
.woocommerce-checkout h3,.woocommerce-checkout #order_review_heading{
  font-family:var(--mono);font-size:14px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  margin:0 0 22px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.woocommerce-checkout .form-row{margin:0 0 16px;padding:0}
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{width:auto!important;float:none!important}
.woocommerce-checkout label{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-soft);margin-bottom:8px;display:block}
.woocommerce-checkout .required{color:var(--ink);border:0}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-checkout .select2-selection{
  font-family:var(--mono)!important;font-size:13px;letter-spacing:.03em;
  border:1px solid var(--line-2)!important;border-radius:2px!important;background:var(--ground)!important;
  color:var(--ink)!important;padding:0 15px!important;height:50px!important;line-height:48px!important;width:100%;box-shadow:none!important}
.woocommerce-checkout textarea{height:auto!important;line-height:1.6!important;padding:14px 15px!important;min-height:96px}
.woocommerce-checkout .select2-selection__rendered{line-height:48px!important;padding:0!important;color:var(--ink)!important}
.woocommerce-checkout .select2-selection__arrow{height:48px!important}
.woocommerce-checkout input.input-text:focus,.woocommerce-checkout textarea:focus,.woocommerce-checkout select:focus{
  border-color:var(--ink)!important;outline:0}

/* order review */
.woocommerce-checkout #order_review{position:sticky;top:100px;background:var(--paper);padding:28px 26px;border-radius:2px}
.woocommerce-checkout #order_review_heading{margin-top:0}
.woocommerce-checkout .shop_table{width:100%;border-collapse:collapse;font-family:var(--mono);font-size:12.5px}
.woocommerce-checkout .shop_table th,.woocommerce-checkout .shop_table td{
  text-align:left;padding:13px 0;border-bottom:1px solid var(--line-2);font-weight:400}
.woocommerce-checkout .shop_table td{text-align:right;color:var(--ink)}
.woocommerce-checkout .shop_table .product-name{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-soft);text-align:left}
.woocommerce-checkout .shop_table tfoot th{text-transform:uppercase;letter-spacing:.06em;font-size:11.5px;color:var(--ink-soft)}
.woocommerce-checkout .shop_table tfoot .order-total th,.woocommerce-checkout .shop_table tfoot .order-total td{
  font-size:15px;color:var(--ink);padding-top:18px}

/* payment */
.woocommerce-checkout #payment{background:transparent;border-radius:0;margin-top:20px}
.woocommerce-checkout #payment ul.payment_methods{border:0;padding:0;margin:0 0 16px;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li{
  border:1px solid var(--line-2);border-radius:2px;padding:16px 18px;margin-bottom:10px;
  font-family:var(--mono);font-size:12.5px;letter-spacing:.03em}
.woocommerce-checkout #payment ul.payment_methods li label{display:inline;text-transform:none;font-size:12.5px;color:var(--ink);letter-spacing:.03em}
.woocommerce-checkout #payment div.payment_box{
  background:var(--ground);border:1px solid var(--line);font-size:12px;color:var(--ink-soft);margin-top:12px;border-radius:2px}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #place_order,
.woocommerce-checkout button#place_order{
  width:100%;height:56px;font-family:var(--mono);font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;
  background:var(--ink)!important;color:var(--ground)!important;border:1px solid var(--ink);border-radius:2px;margin-top:8px;
  transition:background .3s var(--ease),color .3s var(--ease)}
.woocommerce-checkout #place_order:hover{background:var(--ground)!important;color:var(--ink)!important}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{font-family:var(--mono);font-size:11.5px;color:var(--ink-soft);margin:14px 0}

@media (max-width:960px){
  .woocommerce-cart .woocommerce{grid-template-columns:1fr}
  .woocommerce-cart .cart-collaterals{position:static}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1;grid-row:auto}
  .woocommerce-checkout #order_review{position:static}
}
@media (max-width:600px){
  .woocommerce-cart table.cart thead{display:none}
  .woocommerce-cart table.cart td{display:block;padding:8px 0;border:0}
  .woocommerce-cart table.cart tr.woocommerce-cart-form__cart-item{display:grid;grid-template-columns:80px 1fr;gap:0 16px;
    border-bottom:1px solid var(--line);padding:18px 0}
  .woocommerce-cart table.cart td.product-thumbnail{grid-row:1 / span 4}
  .woocommerce-cart td.actions .coupon{flex-wrap:wrap}
  .woocommerce-cart #coupon_code{width:100%}
}

/* =================== REVEAL ANIMATION =================== */
/* Content is visible by default; only hidden once JS is ready to reveal it. */
.reveal-ready .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.reveal-ready .reveal.is-in{opacity:1;transform:none}
.reveal[data-delay="1"]{transition-delay:.08s}
.reveal[data-delay="2"]{transition-delay:.16s}
.reveal[data-delay="3"]{transition-delay:.24s}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important}
  .reveal{opacity:1;transform:none}
}

/* =================== RESPONSIVE =================== */
@media (max-width:1024px){
  :root{--pad:22px}
  .footer-top{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .header-inner{grid-template-columns:auto 1fr auto;gap:14px}
  .header-search{display:none}
  .header-left{gap:14px}
  ul.products,.product-grid{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  /* full-height slide-in catalog panel (cupage-style) */
  .mega{
    left:0;right:auto;width:min(400px,90%);height:calc(100dvh - var(--header-h));
    overflow-y:auto;-webkit-overflow-scrolling:touch;opacity:1;
    transform:translateX(-100%);
    transition:transform .38s var(--ease),visibility .38s;
    box-shadow:1px 0 30px rgba(20,19,18,.14)}
  .mega.is-open{transform:translateX(0)}
  .mega-inner{display:flex;flex-direction:column;min-height:100%;gap:0;padding:26px var(--pad) 30px}
  .mega-featured{display:contents}
  .mega-featured>a{order:1;padding:10px 0;font-size:16px}
  .mega-cols{order:2;columns:1;margin-top:22px;padding-top:22px;border-top:1px solid var(--line)}
  .mega-cols a{font-size:15px;padding:11px 0;color:var(--ink)}
  .mega-info{order:3;margin-top:22px;padding-top:22px}
  .mega-social{order:4;margin-top:auto;padding-top:30px}
  .social-rail{display:none}
}
@media (max-width:520px){
  .footer-top{grid-template-columns:1fr}
  .brand{font-size:19px}
  .header-inner{padding:12px 16px}
  .header-icons{gap:16px}
  .icon-btn svg{width:20px;height:20px}
  .section{padding:44px 0 6px}
  .section-head h2{font-size:13px;letter-spacing:.14em}
  .cat-card__label{padding:16px;font-size:12px;letter-spacing:.08em}
  .cat-card__label small{font-size:10px}
  .pc-meta{padding:14px 2px 4px}
  .pc-title,.woocommerce-loop-product__title{font-size:12px!important}
  .pc-price,li.product .price{font-size:12px!important}
  .split__cell{aspect-ratio:16/13;padding:24px}
  .single-product .fartuh-gallery{gap:0}
  .cart-drawer__head,.cart-drawer__foot{padding-top:16px;padding-bottom:16px}
  .cart-drawer .widget_shopping_cart_content{padding-top:6px;padding-bottom:6px}
  .cart-drawer .woocommerce-mini-cart-item{grid-template-columns:48px 1fr auto;gap:4px 10px}
  .cart-drawer .woocommerce-mini-cart-item img{width:48px;height:60px}
}
