/* ==========================================================================
   VAVACI — Daniel Wellington style system
   Black / white / light grey. Single sans stack. Square buttons. Full bleed.
   ========================================================================== */

:root{
  --ink:#0a0a0a;
  --ink-2:#3d3d3d;
  --mute:#767676;
  --line:#e3e3e3;
  --bg:#ffffff;
  --grey:#f4f4f4;
  --grey-2:#ededed;
  --sale:#c8102e;
  --wrap:1400px;
  --pad:40px;
  --font:"Inter","Helvetica Neue",Helvetica,Arial,sans-serif;
}

*,*::before,*::after{box-sizing:border-box}

html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--font);
  font-size:15px;
  line-height:1.6;
  color:var(--ink);
  background:var(--bg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.admin-bar .dw-topbar{margin-top:0}

img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit}
h1,h2,h3,h4{margin:0;font-weight:800;letter-spacing:-.02em;line-height:1.06}

.dw-main{display:block}
.dw-wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}

/* kill Astra chrome that we are not using */
.site-header,.ast-above-header,.ast-main-header-wrap,.site-primary-header-wrap,
.ast-mobile-header-wrap,.ast-below-header,.site-footer,.ast-small-footer{display:none!important}

/* ---------- buttons ---------- */
.dw-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:15px 26px;
  background:var(--ink);color:#fff;
  font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
  border:1px solid var(--ink);border-radius:0;
  transition:background .18s ease,color .18s ease;
}
.dw-btn:hover{background:#fff;color:var(--ink)}
.dw-btn i{font-style:normal;font-size:15px;line-height:1;margin-top:-1px}
.dw-btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.dw-btn-ghost:hover{background:var(--ink);color:#fff}
.dw-btn-line{background:transparent;color:var(--ink);border-color:var(--ink)}
.dw-btn-line:hover{background:var(--ink);color:#fff}

/* ==========================================================================
   TOP BARS
   ========================================================================== */
.dw-topbar{background:var(--ink);color:#fff}
.dw-topbar-in{
  max-width:var(--wrap);margin:0 auto;padding:9px var(--pad);
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  font-size:11.5px;letter-spacing:.055em;text-transform:uppercase;
}
.dw-topbar-in b{font-weight:700}
.dw-topbar-r{opacity:.78}

.dw-svcbar{border-bottom:1px solid var(--line);background:#fff}
.dw-svcbar-in{
  max-width:var(--wrap);margin:0 auto;padding:11px var(--pad);
  display:flex;align-items:center;gap:38px;
  font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);
}
.dw-svc{display:inline-flex;align-items:center;gap:8px}
.dw-svc svg{
  width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.3;
  stroke-linecap:round;stroke-linejoin:round;flex:none;
}

/* ==========================================================================
   HEADER
   ========================================================================== */
.dw-head{background:#fff;border-bottom:1px solid var(--line)}
.dw-head-in{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  height:78px;
}
.dw-head-l{display:flex;align-items:center;gap:18px}
.dw-head-r{display:flex;align-items:center;justify-content:flex-end;gap:20px}

.dw-burger{
  background:none;border:0;padding:4px;cursor:pointer;display:inline-flex;color:var(--ink);
}
.dw-burger svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round}
.dw-globe svg{
  width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.2;color:var(--ink-2);
}
.dw-logo{
  font-size:21px;font-weight:800;letter-spacing:.26em;text-indent:.26em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap;
}
.dw-ico{position:relative;display:inline-flex;color:var(--ink)}
.dw-ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.dw-ico:hover{opacity:.55}
.dw-bag-n{
  position:absolute;top:-6px;right:-9px;min-width:16px;height:16px;padding:0 4px;
  background:var(--ink);color:#fff;border-radius:999px;
  font-size:10px;font-style:normal;font-weight:700;line-height:16px;text-align:center;
}

/* nav row */
.dw-nav{background:#fff;border-bottom:1px solid var(--line)}
.dw-nav-list{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  display:flex;align-items:center;justify-content:center;gap:34px;
  list-style:none;height:46px;
}
.dw-nav-list li{margin:0}
.dw-nav-list a{
  display:inline-block;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);padding:4px 0;border-bottom:1px solid transparent;
}
.dw-nav-list a:hover{border-bottom-color:var(--ink)}
.dw-nav-list li.current-menu-item > a{border-bottom-color:var(--ink)}

/* drawer */
.dw-drawer{
  position:fixed;top:0;left:0;bottom:0;width:340px;max-width:86vw;
  background:#fff;z-index:9998;transform:translateX(-100%);
  transition:transform .26s ease;display:flex;flex-direction:column;
  box-shadow:0 0 40px rgba(0,0,0,.12);
}
.dw-drawer.is-open{transform:none}
.dw-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 24px;border-bottom:1px solid var(--line);
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
}
.dw-drawer-x{background:none;border:0;font-size:26px;line-height:1;cursor:pointer;color:var(--ink)}
.dw-drawer-body{padding:8px 0 24px;overflow-y:auto}
.dw-drawer-list{list-style:none;margin:0;padding:0}
.dw-drawer-list a{
  display:block;padding:14px 24px;
  font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border-bottom:1px solid var(--line);
}
.dw-drawer-foot{padding:22px 24px 0;display:flex;flex-direction:column;gap:14px}
.dw-drawer-foot a{font-size:13px;text-decoration:underline;text-underline-offset:3px}
.dw-scrim{
  position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:9997;
  opacity:0;visibility:hidden;transition:opacity .26s ease;
}
.dw-scrim.is-open{opacity:1;visibility:visible}
body.dw-lock{overflow:hidden}

/* ==========================================================================
   HERO
   ========================================================================== */
.dw-hero{
  position:relative;
  background:#141414 url(hero.webp?v=20261101) center right/cover no-repeat;
  display:flex;align-items:center;
  min-height:min(84vh,740px);
  overflow:hidden;
}
.dw-hero::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(100deg,rgba(10,10,12,.86) 0%,rgba(10,10,12,.62) 32%,rgba(10,10,12,.18) 56%,rgba(10,10,12,0) 70%);
}
.dw-hero-copy{
  position:relative;z-index:2;
  padding:84px var(--pad) 84px max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)));
  max-width:760px;color:#fff;
}
.dw-eyebrow{
  margin:0 0 20px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.72);
}
.dw-hero-copy h1{
  font-size:clamp(34px,4.2vw,62px);line-height:1.02;letter-spacing:-.03em;
  text-transform:uppercase;color:#fff;
}
.dw-hero-sub{margin:24px 0 0;font-size:16px;line-height:1.55;color:rgba(255,255,255,.8);max-width:440px}
.dw-hero-note{margin:12px 0 0;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.dw-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.dw-hero .dw-btn{background:#fff;color:#111;border-color:#fff}
.dw-hero .dw-btn:hover{background:#e9e9e6;border-color:#e9e9e6;color:#111}
.dw-hero .dw-btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.dw-hero .dw-btn-ghost:hover{background:#fff;color:#111;border-color:#fff}

/* ==========================================================================
   CATEGORY CARDS
   ========================================================================== */
.dw-cards{padding:26px 0 8px}
.dw-cards-in{
  max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
}
.dw-card{display:block}
.dw-card-media{
  background:#f2f1ee;aspect-ratio:4/5;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.dw-card-media img{width:100%;height:100%;object-fit:contain;padding:10% 16%;transition:transform .5s ease}
.dw-card:hover .dw-card-media img{transform:scale(1.03)}
.dw-card-label{
  display:flex;align-items:center;gap:6px;
  padding:13px 2px 0;
  font-size:11.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.dw-card-label i{font-style:normal;font-size:14px}

/* ==========================================================================
   MARQUEE
   ========================================================================== */
.dw-marquee{
  background:var(--ink);color:#fff;overflow:hidden;
  margin:34px 0 0;padding:15px 0;
}
.dw-marquee-track{
  display:flex;align-items:center;gap:0;white-space:nowrap;
  animation:dwScroll 34s linear infinite;
  will-change:transform;
}
.dw-marquee-track span{
  font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  padding:0 26px;
}
.dw-mq-sep{opacity:.55}
.dw-mq-sep::before{content:"—";margin-right:26px;opacity:.6}
@keyframes dwScroll{
  from{transform:translateX(0)}
  to{transform:translateX(-50%)}
}
@media (prefers-reduced-motion:reduce){.dw-marquee-track{animation:none}}

/* ==========================================================================
   SPLIT (image left / copy right)
   ========================================================================== */
.dw-split{
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  margin:0;
}
.dw-split-media{background:#f2f1ee;overflow:hidden;height:560px;display:flex;align-items:center;justify-content:center}
.dw-split-media img{width:100%;height:100%;object-fit:contain;padding:34px 25%}
.dw-split-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px clamp(40px,6vw,110px);background:#fff;
}
.dw-split-copy h2{font-size:clamp(28px,3vw,44px);text-transform:uppercase;max-width:420px}
.dw-split-copy p{margin:20px 0 0;color:var(--ink-2);max-width:400px;font-size:15px}
.dw-links{display:flex;gap:26px;margin-top:28px;flex-wrap:wrap}
.dw-links a{
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-bottom:1px solid var(--ink);padding-bottom:3px;
}
.dw-links a i{font-style:normal;margin-left:4px}

/* ==========================================================================
   FULL BLEED PROMO
   ========================================================================== */
.dw-promo{
  position:relative;background:var(--grey-2);
  min-height:520px;display:flex;align-items:flex-end;overflow:hidden;
}
.dw-promo-media{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.dw-promo-media img{width:100%;height:100%;object-fit:contain;padding:7% 0;mix-blend-mode:multiply}
.dw-promo-copy{
  position:relative;z-index:2;
  padding:70px var(--pad) 70px max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)));
}
.dw-promo-copy h2{
  font-size:clamp(30px,3.4vw,52px);text-transform:uppercase;line-height:1.02;
}
.dw-promo-copy p{margin:18px 0 0;color:var(--ink-2);max-width:420px}
.dw-promo-copy a{
  display:inline-block;margin-top:26px;
  font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  border-bottom:1px solid var(--ink);padding-bottom:3px;
}
.dw-promo-copy a i{font-style:normal;margin-left:4px}

/* ==========================================================================
   TWO UP
   ========================================================================== */
.dw-two{display:grid;grid-template-columns:1fr 1fr;gap:0}
.dw-two-item{position:relative;display:block;overflow:hidden;background:#151515}
.dw-two-item img{width:100%;height:600px;object-fit:contain;padding:5% 24%;transition:transform .6s ease}
.dw-two-item:hover img{transform:scale(1.02)}
.dw-two-item h3{
  position:absolute;left:36px;bottom:32px;z-index:2;
  color:#fff;font-size:clamp(22px,2.2vw,32px);text-transform:uppercase;
  text-shadow:0 1px 20px rgba(0,0,0,.35);
}

/* ==========================================================================
   SECTION / PRODUCT GRID
   ========================================================================== */
.dw-section{max-width:var(--wrap);margin:0 auto;padding:78px var(--pad) 0}
.dw-section-head{margin-bottom:34px}
.dw-section-head h2{font-size:clamp(26px,2.8vw,38px);text-transform:uppercase}
.dw-section-head p{margin:12px 0 0;color:var(--ink-2);max-width:520px}
.dw-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.dw-pcard{display:block}
.dw-pcard-media{
  background:#f2f1ee;aspect-ratio:4/5;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.dw-pcard-media img{width:100%;height:100%;object-fit:contain;padding:6% 9%;mix-blend-mode:multiply;transition:transform .5s ease}
.dw-pcard:hover .dw-pcard-media img{transform:scale(1.03)}
.dw-pcard-body{display:flex;flex-direction:column;align-items:flex-start;gap:5px;padding:15px 2px 0}
.dw-pcard-name{font-size:13px;font-weight:600;letter-spacing:.01em}
.dw-pcard-price{font-size:13px;color:var(--ink)}
.dw-pcard-price del{opacity:.5;margin-right:6px}
.dw-pcard-price ins{text-decoration:none;font-weight:600;color:var(--ink)}
.dw-section-more{display:flex;justify-content:center;margin-top:44px}
.dw-empty{color:var(--mute);font-size:14px}

/* ==========================================================================
   STORY
   ========================================================================== */
.dw-story{
  display:grid;grid-template-columns:1fr 1fr;align-items:stretch;
  margin:88px 0 0;background:var(--grey);
}
.dw-story-media{overflow:hidden;height:600px;background:#f2f1ee;display:flex;align-items:center;justify-content:center}
.dw-story-media img{width:100%;height:100%;object-fit:contain;padding:34px 24%}
.dw-story-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px clamp(40px,6vw,100px);
}
.dw-story-copy h2{font-size:clamp(26px,3vw,42px);text-transform:uppercase;max-width:380px}
.dw-story-copy p{margin:20px 0 0;color:var(--ink-2);max-width:430px}
.dw-tags{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:30px}
.dw-tags a{
  font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  border-bottom:1px solid var(--ink-2);padding-bottom:2px;
}

/* ==========================================================================
   SIGNUP
   ========================================================================== */
.dw-signup{background:#fff;padding:74px 0 66px;border-top:1px solid var(--line);margin-top:0}
.dw-signup-in{max-width:640px;margin:0 auto;padding:0 var(--pad);text-align:left}
.dw-signup h2{font-size:clamp(20px,2vw,26px);text-transform:uppercase;letter-spacing:-.01em}
.dw-signup-form{
  display:flex;align-items:center;margin-top:22px;
  border:1px solid var(--ink);background:#fff;
}
.dw-signup-form input{
  flex:1;border:0;outline:none;background:transparent;
  padding:15px 16px;font-family:inherit;font-size:14px;color:var(--ink);
}
.dw-signup-form input::placeholder{color:var(--mute)}
.dw-signup-form button{
  border:0;background:transparent;cursor:pointer;
  padding:0 20px;font-size:22px;line-height:1;color:var(--ink);
}
.dw-signup-note{margin:14px 0 0;font-size:11.5px;line-height:1.65;color:var(--mute);max-width:560px}
.dw-signup-note a{text-decoration:underline;text-underline-offset:2px}
.dw-signup-ok{display:none;margin:14px 0 0;font-size:12.5px;color:var(--ink);font-weight:600}
.dw-signup-form.is-sent + .dw-signup-note + .dw-signup-ok{display:block}

/* ==========================================================================
   FOOTER
   ========================================================================== */
.dw-foot{background:#fff;border-top:1px solid var(--line);padding:56px 0 40px}
.dw-foot-in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.dw-foot-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:34px}
.dw-foot-col h4{
  margin:0 0 16px;font-size:12px;font-weight:800;letter-spacing:.06em;
  text-transform:none;color:var(--ink);
}
.dw-foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.dw-foot-col a{font-size:13px;color:var(--ink-2)}
.dw-foot-col a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}

.dw-foot-bottom{
  display:flex;justify-content:space-between;align-items:center;gap:24px;
  margin-top:52px;padding-top:26px;border-top:1px solid var(--line);flex-wrap:wrap;
}
.dw-pay{display:flex;gap:8px;flex-wrap:wrap}
.dw-pay span{
  display:inline-flex;align-items:center;justify-content:center;
  height:26px;padding:0 10px;border:1px solid var(--line);
  font-size:9.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-2);
}
.dw-copy{margin:0;font-size:12px;color:var(--mute)}

.dw-totop{
  position:fixed;right:22px;bottom:22px;z-index:9000;
  width:42px;height:42px;background:var(--ink);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:15px;opacity:0;visibility:hidden;transition:opacity .25s ease;
}
.dw-totop.is-on{opacity:1;visibility:visible}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  :root{--pad:28px}
  .dw-cards-in{grid-template-columns:repeat(2,1fr)}
  .dw-two-item img{height:460px}
  .dw-hero{min-height:540px}
}
@media (max-width:860px){
  :root{--pad:20px}
  .dw-topbar-in{justify-content:center;font-size:10.5px;padding:8px var(--pad)}
  .dw-topbar-r{display:none}
  .dw-svcbar-in{gap:18px;font-size:10.5px;overflow-x:auto;scrollbar-width:none}
  .dw-svcbar-in::-webkit-scrollbar{display:none}
  .dw-svc-hide{display:none}
  .dw-head-in{height:60px;grid-template-columns:auto 1fr auto}
  .dw-globe{display:none}
  .dw-head-r{gap:16px}
  .dw-ico:nth-child(2){display:none}
  .dw-logo{font-size:16px;letter-spacing:.2em;text-indent:.2em;justify-self:center}
  .dw-nav{overflow-x:auto;scrollbar-width:none}
  .dw-nav::-webkit-scrollbar{display:none}
  .dw-nav-list{gap:22px;height:42px;justify-content:flex-start;white-space:nowrap}
  .dw-nav-list a{font-size:11px}

  /* mobile: hero copy sits ON the photo - darken the scrim so text stays readable */
  .dw-hero{grid-template-columns:1fr;min-height:0;background-position:70% 50%;padding:52px 0}
  .dw-hero::after{background:linear-gradient(180deg,rgba(10,10,12,.86) 0%,rgba(10,10,12,.58) 38%,rgba(10,10,12,.92) 100%)}
  .dw-hero-copy{padding:0 var(--pad)}
  /* mobile: the horizontal nav strip gets cut off - drawer (burger) covers the same links */
  .dw-nav{display:none}
  .dw-hero-media{position:relative;inset:auto;height:56vw;min-height:280px}
  .dw-hero-media img{object-fit:cover}
  .dw-hero-copy{padding:34px var(--pad) 44px;max-width:none}
  .dw-hero-copy h1{font-size:32px}
  .dw-hero-sub{font-size:14.5px}
  .dw-hero-actions{gap:10px}
  .dw-btn{padding:13px 20px;font-size:11px}

  .dw-split,.dw-story{grid-template-columns:1fr}
  .dw-split-media{min-height:0;height:auto;aspect-ratio:4/5}
  .dw-split-copy{padding:44px var(--pad)}
  .dw-story-media{min-height:0;height:auto;aspect-ratio:4/5;order:2}
  .dw-story-copy{padding:44px var(--pad);order:1}

  .dw-promo{min-height:0;padding-top:66vw}
  .dw-promo-copy{padding:34px var(--pad) 44px}
  .dw-promo-media{position:absolute;inset:0}

  .dw-two{grid-template-columns:1fr}
  .dw-two-item img{height:82vw}
  .dw-two-item h3{left:22px;bottom:20px}

  .dw-grid3{grid-template-columns:repeat(2,1fr);gap:12px}
  .dw-pcard-name{font-size:11px}
  .dw-section{padding:52px var(--pad) 0}

  .dw-foot-cols{grid-template-columns:repeat(2,1fr);gap:28px}
  .dw-foot{padding:44px 0 34px}
  .dw-foot-bottom{margin-top:36px}
}
@media (max-width:520px){
  .dw-cards-in{gap:10px}
  .dw-grid3{gap:10px}
  .dw-hero-copy h1{font-size:28px}
}

/* ==========================================================================
   ASTRA / WOOCOMMERCE OVERRIDES
   ========================================================================== */
.dw-body .site,
.dw-body #page{background:#fff}
.dw-body .ast-container,
.dw-body .site-content .ast-container{
  max-width:var(--wrap)!important;
  padding-left:var(--pad)!important;
  padding-right:var(--pad)!important;
}
.dw-body #primary,
.dw-body #content,
.dw-body .site-content{padding:0!important;margin:0!important}
.dw-body .ast-article-post,
.dw-body .ast-article-single{box-shadow:none!important;border:0!important;background:transparent!important}
.dw-body .entry-title,
.dw-body .page-title{font-family:var(--font);font-weight:800;letter-spacing:-.02em}

/* page title band */
.dw-body .ast-archive-description,
.dw-body .woocommerce-products-header{margin:0 0 28px}
.dw-body .woocommerce-products-header .page-title,
.dw-body .woocommerce-products-header h1{
  font-size:clamp(26px,3vw,40px);text-transform:uppercase;font-weight:800;
  letter-spacing:-.02em;color:#0a0a0a!important;margin:44px 0 0;
}
.dw-body .woocommerce-products-header{padding-bottom:0!important}
.dw-body .woocommerce-products-header .page-title{margin:32px 0 0}
.dw-body .dw-page-h1,
.dw-body h1.page-title,
.dw-body .entry-title{color:#0a0a0a!important}
.dw-body .term-description{margin:12px 0 0;color:var(--ink-2);max-width:640px}
.dw-body .term-description p{margin:0}

/* breadcrumb */
.dw-body .woocommerce-breadcrumb{
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);
  margin:26px 0 0!important;padding:0;
}
.dw-body .woocommerce-breadcrumb a{color:var(--mute)}
.dw-body .woocommerce-breadcrumb a:hover{color:var(--ink)}

/* result count + ordering */
.dw-body .woocommerce-result-count{
  font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute);
  margin:22px 0 18px;
}
.dw-body .woocommerce-ordering{margin:18px 0 18px}
.dw-body .woocommerce-ordering select{
  font-family:inherit;font-size:11.5px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--ink);border-radius:0;background:#fff;color:var(--ink);
  padding:9px 30px 9px 12px;appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230a0a0a' stroke-width='1.3'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;background-size:10px;
}

/* product grid */
.dw-body ul.products{
  display:grid!important;grid-template-columns:repeat(3,1fr);
  gap:16px 16px;margin:0 0 60px!important;padding:0;list-style:none;
}
.dw-body ul.products::before,.dw-body ul.products::after{display:none!important}
.dw-body ul.products li.product{
  width:100%!important;margin:0!important;float:none!important;
  padding:0!important;text-align:left;position:relative;
}
.dw-body ul.products li.product .woocommerce-loop-product__link{display:block}
.dw-body ul.products li.product img{
  width:100%!important;height:auto;aspect-ratio:1/1;object-fit:cover;
  background:var(--grey);margin:0 0 12px!important;
}
.dw-body ul.products li.product .woocommerce-loop-product__title{
  font-family:var(--font);font-size:12px!important;font-weight:700!important;
  letter-spacing:.08em;text-transform:uppercase;padding:0!important;margin:0 0 4px!important;
  color:var(--ink);
}
.dw-body ul.products li.product .price{
  font-size:13px!important;color:var(--ink-2)!important;margin:0 0 8px!important;
  display:block;
}
.dw-body ul.products li.product .price del{opacity:.45;margin-right:6px}
.dw-body ul.products li.product .price ins{text-decoration:none;font-weight:600;color:var(--ink)}
.dw-body ul.products li.product .button,
.dw-body ul.products li.product .added_to_cart{
  display:inline-flex!important;align-items:center;justify-content:center;
  margin:6px 0 0!important;
  padding:11px 18px!important;
  background:var(--ink)!important;color:#fff!important;
  border:1px solid var(--ink)!important;border-radius:0!important;
  font-family:var(--font)!important;font-size:10.5px!important;font-weight:700!important;
  letter-spacing:.1em;text-transform:uppercase;line-height:1!important;
  transition:background .18s ease,color .18s ease;
}
.dw-body ul.products li.product .button:hover,
.dw-body ul.products li.product .added_to_cart:hover{
  background:#fff!important;color:var(--ink)!important;
}
.dw-body ul.products li.product .onsale,
.dw-body.single-product span.onsale{
  position:absolute;top:12px;left:12px;right:auto;z-index:3;
  min-height:0;min-width:0;line-height:1;
  padding:6px 10px;border-radius:0;
  background:var(--sale)!important;color:#fff!important;
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  margin:0!important;
}

/* pagination */
.dw-body .woocommerce-pagination ul{
  border:0!important;display:flex;gap:8px;justify-content:center;margin:0 0 70px!important;
}
.dw-body .woocommerce-pagination ul li{border:0!important;margin:0!important}
.dw-body .woocommerce-pagination ul li a,
.dw-body .woocommerce-pagination ul li span{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:40px;height:40px;padding:0 12px;
  border:1px solid var(--line);background:#fff;color:var(--ink);
  font-size:12px;font-weight:600;
}
.dw-body .woocommerce-pagination ul li span.current,
.dw-body .woocommerce-pagination ul li a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* ---------- woo page shell ---------- */
.dw-body .content-area.primary > .site-main{
  max-width:calc(var(--wrap) + var(--pad) * 2);
  margin:0 auto;padding:0 var(--pad);box-sizing:border-box;
}

/* ---------- single product ---------- */
.dw-body.single-product div.product{
  display:block;margin:0;padding:34px 0 0;
}
.dw-body.single-product div.product .woocommerce-product-gallery{
  width:calc(58% - 30px)!important;float:left;margin:0 30px 40px 0!important;
}
.dw-body.single-product div.product .summary{
  width:42%!important;float:right;margin:0 0 40px!important;
  padding-top:6px;
}
.dw-body.single-product div.product::after{content:"";display:table;clear:both}
.dw-body .woocommerce-product-gallery__image img{background:var(--grey)}
.dw-body .flex-control-thumbs{display:flex;gap:8px;margin:8px 0 0!important;padding:0;list-style:none}
.dw-body .flex-control-thumbs li{width:calc(25% - 6px)!important;float:none!important;margin:0!important}
.dw-body .flex-control-thumbs img{aspect-ratio:1/1;object-fit:cover;background:var(--grey);cursor:pointer}

.dw-body.single-product .product_title{
  font-family:var(--font)!important;font-size:clamp(24px,2.4vw,34px)!important;
  font-weight:800!important;letter-spacing:-.02em;text-transform:uppercase;
  line-height:1.1;margin:0 0 14px!important;
}
.dw-body.single-product .price{
  font-size:19px!important;font-weight:600;color:var(--ink)!important;
  margin:0 0 18px!important;display:block;
}
.dw-body.single-product .price del{opacity:.45;font-weight:400;margin-right:8px}
.dw-body.single-product .price ins{text-decoration:none}
.dw-body.single-product .woocommerce-product-details__short-description{
  font-size:13.5px;color:var(--ink-2);line-height:1.7;margin:0 0 22px;
  padding:0 0 20px;border-bottom:1px solid var(--line);
}

/* qty + cart */
.dw-body.single-product form.cart{display:flex;align-items:stretch;gap:10px;margin:0 0 18px!important}
.dw-body.single-product .quantity{display:flex}
.dw-body.single-product .quantity .qty{
  width:64px;height:48px;border:1px solid var(--ink);border-radius:0;
  font-family:inherit;font-size:14px;text-align:center;color:var(--ink);
  -moz-appearance:textfield;
}
html body.dw-body.woocommerce-page.single-product .single_add_to_cart_button,
html body.dw-body.woocommerce-page.single-product button.button.alt.single_add_to_cart_button{
  flex:1;height:48px!important;min-height:48px!important;display:inline-flex!important;
  align-items:center!important;justify-content:center!important;
  background-color:#0a0a0a!important;background:#0a0a0a!important;color:#fff!important;
  border:1px solid #0a0a0a!important;border-radius:0!important;
  font-family:var(--font)!important;font-size:12px!important;font-weight:700!important;
  letter-spacing:.1em!important;text-transform:uppercase!important;line-height:1!important;
  padding:0 24px!important;box-shadow:none!important;text-shadow:none!important;
}
html body.dw-body.woocommerce-page.single-product .single_add_to_cart_button:hover{
  background-color:#fff!important;background:#fff!important;color:#0a0a0a!important;
}

.dw-body .dw-trustline{
  font-size:11.5px;line-height:1.75;color:var(--mute);letter-spacing:.02em;
  margin:0 0 20px;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
}
.dw-body .dw-trustline b{color:var(--ink)}

.dw-body .product_meta{
  font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--mute);
  padding-top:4px;
}
.dw-body .product_meta a{color:var(--mute);text-decoration:underline;text-underline-offset:2px}

/* tabs */
.dw-body .woocommerce-tabs{margin:20px 0 60px!important;clear:both}
.dw-body .woocommerce-tabs ul.tabs{
  padding:0!important;margin:0 0 26px!important;border:0!important;
  border-bottom:1px solid var(--line)!important;display:flex;gap:30px;
}
.dw-body .woocommerce-tabs ul.tabs::before,.dw-body .woocommerce-tabs ul.tabs::after{display:none!important}
.dw-body .woocommerce-tabs ul.tabs li{
  background:transparent!important;border:0!important;border-radius:0!important;
  margin:0!important;padding:0 0 12px!important;
}
.dw-body .woocommerce-tabs ul.tabs li::before,
.dw-body .woocommerce-tabs ul.tabs li::after{display:none!important}
.dw-body .woocommerce-tabs ul.tabs li a{
  font-family:var(--font)!important;font-size:11.5px!important;font-weight:700!important;
  letter-spacing:.1em;text-transform:uppercase;color:var(--mute)!important;
  padding:0!important;border-bottom:1px solid transparent;
}
.dw-body .woocommerce-tabs ul.tabs li.active a{color:var(--ink)!important;border-bottom-color:var(--ink)}
.dw-body .woocommerce-tabs .panel{font-size:14px;color:var(--ink-2);line-height:1.75}
.dw-body .woocommerce-tabs .panel h2{
  font-family:var(--font);font-size:16px;font-weight:800;text-transform:uppercase;
  letter-spacing:.02em;color:var(--ink);margin:0 0 14px;
}
.dw-body .vc-specs{list-style:none;margin:22px 0 0;padding:0;border-top:1px solid var(--line)}
.dw-body .vc-specs li{
  display:flex;justify-content:space-between;gap:20px;
  padding:11px 0;border-bottom:1px solid var(--line);
  font-size:12.5px;letter-spacing:.02em;
}
.dw-body .vc-specs li strong{font-weight:600;color:var(--ink)}
.dw-body .vc-lead{font-size:15.5px;color:var(--ink);line-height:1.7;margin:0 0 16px}
.dw-body .dw-spec{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line)}
.dw-body .dw-spec li{
  display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:baseline;
  padding:11px 0;border-bottom:1px solid var(--line);
  font-size:12.5px;letter-spacing:.02em;color:var(--ink);
}
.dw-body .dw-spec li strong{
  font-weight:600;color:var(--ink);text-transform:uppercase;
  font-size:10.5px;letter-spacing:.1em;flex:0 0 auto;
}
.dw-body .woocommerce-product-details__short-description p{margin:0 0 14px}
.dw-body .vc-h3{
  font-family:var(--font);font-size:13px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;margin:30px 0 12px;color:var(--ink);
}

/* related */
.dw-body .related.products,
.dw-body .upsells.products{margin:0 0 60px!important;clear:both}
.dw-body .related.products > h2,
.dw-body .upsells.products > h2{
  font-family:var(--font)!important;font-size:22px!important;font-weight:800!important;
  letter-spacing:-.01em;text-transform:uppercase;margin:0 0 22px!important;
}

/* ---------- cart / checkout ---------- */
.dw-body .woocommerce table.shop_table{
  border:1px solid var(--line)!important;border-radius:0!important;
  border-collapse:collapse!important;font-size:13.5px;
}
.dw-body .woocommerce table.shop_table th{
  background:#fff;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink);border-bottom:1px solid var(--line)!important;padding:14px 12px!important;
}
.dw-body .woocommerce table.shop_table td{
  border-bottom:1px solid var(--line)!important;padding:14px 12px!important;
}
.dw-body .woocommerce .cart_totals h2,
.dw-body .woocommerce #order_review_heading{
  font-family:var(--font);font-size:16px;font-weight:800;text-transform:uppercase;margin:0 0 16px;
}
.dw-body .woocommerce .button,
.dw-body .woocommerce #respond input#submit,
.dw-body .woocommerce a.button.alt,
.dw-body .woocommerce button.button.alt,
.dw-body .woocommerce input.button.alt,
.dw-body .woocommerce .checkout-button{
  background:var(--ink)!important;color:#fff!important;border:1px solid var(--ink)!important;
  border-radius:0!important;font-family:var(--font)!important;
  font-size:12px!important;font-weight:700!important;letter-spacing:.1em;
  text-transform:uppercase;padding:15px 26px!important;line-height:1!important;
}
.dw-body .woocommerce .button:hover,
.dw-body .woocommerce a.button.alt:hover,
.dw-body .woocommerce button.button.alt:hover,
.dw-body .woocommerce #respond input#submit:hover{
  background:#fff!important;color:var(--ink)!important;
}
.dw-body .woocommerce form .form-row input.input-text,
.dw-body .woocommerce form .form-row textarea,
.dw-body .woocommerce form .form-row select{
  border:1px solid var(--line)!important;border-radius:0!important;
  padding:13px 14px!important;font-family:inherit!important;font-size:14px!important;
  background:#fff;color:var(--ink);
}
.dw-body .woocommerce form .form-row input.input-text:focus,
.dw-body .woocommerce form .form-row textarea:focus{border-color:var(--ink)!important;outline:none}
.dw-body .woocommerce form .form-row label{
  font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-2);
}
.dw-body .woocommerce-message,
.dw-body .woocommerce-info,
.dw-body .woocommerce-error{
  border:1px solid var(--line)!important;border-top:2px solid var(--ink)!important;
  background:#fff!important;border-radius:0!important;font-size:13px;
  padding:16px 18px!important;color:var(--ink);
}
.dw-body .woocommerce-message::before,
.dw-body .woocommerce-info::before{color:var(--ink)!important}

/* ---------- responsive woocommerce ---------- */
@media (max-width:1024px){
  .dw-body ul.products{grid-template-columns:repeat(2,1fr)}
  .dw-body.single-product div.product .woocommerce-product-gallery{width:100%!important;float:none;margin:0 0 30px!important}
  .dw-body.single-product div.product .summary{width:100%!important;float:none}
}
@media (max-width:640px){
  .dw-body ul.products{grid-template-columns:repeat(2,1fr);gap:12px}
  .dw-body .woocommerce-products-header .page-title{font-size:24px;margin-top:30px}
  .dw-body .woocommerce-tabs ul.tabs{gap:18px;overflow-x:auto;white-space:nowrap}
  .dw-body.single-product .product_title{font-size:22px!important}
  .dw-body.single-product .single_add_to_cart_button{font-size:11px!important;padding:0 16px!important}
  .dw-body .woocommerce table.shop_table{font-size:12px}
}

/* related / loop add-to-cart: quiet until hover */
.dw-body ul.products li.product .button{
  background-color:#0a0a0a!important;color:#fff!important;border:1px solid #0a0a0a!important;
  border-radius:0!important;font-family:var(--font)!important;font-size:10.5px!important;
  font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;
  padding:10px 16px!important;height:auto!important;line-height:1!important;
  opacity:0;transition:opacity .18s ease;
}
.dw-body ul.products li.product:hover .button{opacity:1}
.dw-body ul.products li.product .button:hover{background-color:#fff!important;color:#0a0a0a!important}
@media (max-width:900px){
  .dw-body ul.products li.product .button{opacity:1}
}

/* category page: hide repeated cat label on loop cards */
.dw-body ul.products li.product .ast-woo-product-category,
.dw-body ul.products li.product .woocommerce-loop-product__categories{
  display:none!important;
}
.dw-body ul.products li.product .woocommerce-loop-product__title{
  margin:14px 0 6px!important;
}
.dw-body ul.products li.product .dw-pcard-media,
.dw-body ul.products li.product a img{
  aspect-ratio:1/1;object-fit:contain;background:var(--grey);
}

/* single: clean up */
.dw-body.single-product .summary .ast-woo-product-category,
.dw-body.single-product .summary .posted_in{display:none!important}
.dw-body.single-product .woocommerce-product-gallery__trigger{
  display:none!important;
}
.dw-body.single-product .woocommerce-breadcrumb{
  margin:0 0 18px!important;font-size:10.5px!important;letter-spacing:.08em;
  text-transform:uppercase;color:var(--mute)!important;
}
.dw-body.single-product .woocommerce-breadcrumb a{color:var(--mute)!important}
.dw-body.single-product .product_meta{
  margin-top:6px;padding-top:14px;border-top:1px solid var(--line);
}

/* ---------- reviews ---------- */
.dw-body .dw-rating{
  display:flex;align-items:center;gap:10px;margin:0 0 16px;
  font-size:12px;letter-spacing:.04em;color:var(--ink-2);
}
.dw-body .dw-rating .dw-stars{color:#c8a24a;font-size:14px;letter-spacing:2px}
.dw-body .dw-rating .dw-rating-num{font-weight:600;color:var(--ink)}
.dw-body .dw-rating .dw-rating-link{
  color:var(--mute);text-decoration:underline;text-underline-offset:2px;
  text-transform:uppercase;font-size:10.5px;letter-spacing:.1em;
}

/* tabs -> stacked sections */
.dw-body .woocommerce-tabs ul.tabs{display:none!important}
.dw-body .woocommerce-tabs .panel{display:block!important;margin:0 0 44px!important;padding:0!important}
.dw-body .woocommerce-tabs #tab-additional_information{display:none!important}
.dw-body .woocommerce-tabs #tab-description::before,
.dw-body .woocommerce-tabs #tab-reviews::before{
  display:block;font-family:var(--font);font-size:12px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);
  margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line);
}
.dw-body .woocommerce-tabs #tab-description::before{content:"Details"}
.dw-body .woocommerce-tabs #tab-reviews::before{content:"Reviews"}

/* review list */
.dw-body #reviews .commentlist{list-style:none;margin:0 0 30px;padding:0}
.dw-body #reviews .commentlist li{
  margin:0 0 2px;padding:22px 0;border-bottom:1px solid var(--line);
}
.dw-body #reviews .commentlist li:first-child{padding-top:0}
.dw-body #reviews .comment_container{display:block}
.dw-body #reviews .comment_container img.avatar{display:none!important}
.dw-body #reviews .comment-text{
  margin:0!important;padding:0!important;border:0!important;border-radius:0!important;
}
.dw-body #reviews .comment-text .star-rating{
  float:none!important;display:inline-block;margin:0 0 8px;
  color:#c8a24a;font-size:12px;
}
.dw-body #reviews .comment-text .meta{
  margin:0 0 8px!important;font-size:10.5px!important;letter-spacing:.1em;
  text-transform:uppercase;color:var(--mute)!important;
}
.dw-body #reviews .comment-text .meta strong{color:var(--ink);font-weight:700}
.dw-body #reviews .comment-text .description p,
.dw-body #reviews .comment-text p{
  margin:0!important;font-size:13.5px;line-height:1.7;color:var(--ink-2);
}
.dw-body #reviews #review_form_wrapper{margin-top:34px;padding-top:26px;border-top:1px solid var(--line)}
.dw-body #reviews .comment-reply-title,
.dw-body #reviews #reply-title{
  font-family:var(--font)!important;font-size:12px!important;font-weight:800!important;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink);display:block;margin:0 0 16px!important;
}
.dw-body #reviews .comment-form label{
  font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--mute);display:block;margin:0 0 6px;
}
.dw-body #reviews .comment-form input[type=text],
.dw-body #reviews .comment-form input[type=email],
.dw-body #reviews .comment-form textarea{
  border:1px solid var(--line)!important;border-radius:0!important;
  font-family:inherit;font-size:13px;padding:10px 12px;width:100%;
}
.dw-body #reviews .comment-form .form-submit input{
  background-color:#0a0a0a!important;color:#fff!important;border:1px solid #0a0a0a!important;
  border-radius:0!important;font-family:var(--font)!important;font-size:11px!important;
  font-weight:700!important;letter-spacing:.1em!important;text-transform:uppercase!important;
  padding:12px 26px!important;cursor:pointer;
}

/* product rating (native) */
.dw-body.single-product .woocommerce-product-rating{
  display:flex!important;align-items:center;gap:10px;margin:0 0 14px!important;
}
.dw-body.single-product .woocommerce-product-rating .star-rating{
  float:none!important;margin:0!important;color:#c8a24a!important;font-size:13px!important;
}
.dw-body.single-product .woocommerce-product-rating .star-rating::before,
.dw-body.single-product .woocommerce-product-rating .star-rating span::before{
  color:#c8a24a!important;
}
.dw-body.single-product .woocommerce-product-rating .woocommerce-review-link{
  font-size:10.5px!important;letter-spacing:.1em;text-transform:uppercase;
  color:var(--mute)!important;text-decoration:underline;text-underline-offset:2px;
}
.dw-body.single-product .woocommerce-product-rating .woocommerce-review-link:hover{color:var(--ink)!important}

/* review form: no box */
.dw-body #reviews .comment-respond{
  background:transparent!important;border:0!important;padding:0!important;margin:0!important;
}
.dw-body #reviews #review_form_wrapper{border-top:1px solid var(--line)}

.dw-body.single-product .woocommerce-product-rating .star-rating{order:1}
.dw-body.single-product .woocommerce-product-rating .woocommerce-review-link{order:2;font-size:10px!important}
