/* ── DripHeat Child Theme — Main Styles (v1.3.21) ───── */

/* ── Hide WooCommerce a11y screen-reader-text (WC 8.8+ adds "Original price was: / Current price is:" spans) ── */
.screen-reader-text {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  clip-path: inset(50%) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
  word-wrap: normal !important;
}

/* Reset + base */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body.dripheat-page { background: #fff; color: #111; font-family: 'Outfit', sans-serif; overflow-x: hidden; }

/* ── Header spacer — static pre-JS height eliminates CLS ── */
/* Inner pages: ann(36px) + nav(64px) = 100px */
#dh-header-spacer { flex-shrink: 0; height: 100px; }
/* Front page / hero pages: nav overlays the hero — no spacer needed */
.home #dh-header-spacer { height: 0; }
/* Single product on mobile — smaller spacer */
@media (max-width: 767px) {
  .single-product #dh-header-spacer { height: 110px; }
}

/* Mobile overlay + drawer — full rules are in the Mobile Drawer section below */

/* Scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #f5f5f3; }
::-webkit-scrollbar-thumb { background: #ccc; border-radius: 2px; }

/* ── Announcement bar ───────────────────────────────── */
#dh-ann {
  background: #111;
  height: 36px;
  display: flex;
  align-items: center;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 400;
  transition: transform .3s ease;
}
#dh-ann.hidden { display: none; }
#dh-ann.scrolled-out { transform: translateY(-100%); }
.ann-track {
  display: inline-flex;
  white-space: nowrap;
  animation: ann-scroll 40s linear infinite;
  padding: 0 16px;
}
@keyframes ann-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.ann-item { font-size: 10.5px; font-weight: 600; letter-spacing: .13em; color: #fff; white-space: nowrap; margin-right: 4px; }
.ann-dot  { color: #444; margin: 0 12px; }
#dh-ann-close {
  background: none;
  border: none;
  color: #555;
  cursor: pointer;
  font-size: 11px;
  padding: 0 14px;
  flex-shrink: 0;
}

/* ── Nav ────────────────────────────────────────────── */
#dh-nav {
  position: fixed;
  left: 0;
  right: 0;
  z-index: 300;
  transition: background .3s, box-shadow .3s;
  background: rgba(255,255,255,.97);
}
#dh-nav.scrolled {
  backdrop-filter: blur(20px);
  box-shadow: 0 1px 0 rgba(0,0,0,.07);
}
.nav-inner {
  display: flex;
  align-items: center;
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 24px;
  height: 64px;
}
.nav-logo {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 26px;
  font-weight: 800;
  letter-spacing: .22em;
  color: #111;
  text-decoration: none;
  flex-shrink: 0;
  margin-right: 32px;
}
.nav-logo:hover { opacity: .7; }
/* Custom logo image (via Customize → Site Identity) */
.custom-logo-link {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-right: 32px;
  text-decoration: none;
  transition: opacity .2s ease;
}
.custom-logo-link:hover { opacity: .7; }
.custom-logo-link img,
.custom-logo { height: 36px; width: auto; display: block; max-width: 160px; }
.dln { display: flex; align-items: center; }
.dln :where(button, a) {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: .06em;
  color: #555;
  padding: 0 14px;
  height: 64px;
  cursor: pointer;
  font-family: 'Outfit', sans-serif;
  transition: color .2s;
  margin-bottom: -1px;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.dln :where(button, a):hover { color: #111; }
.dln :where(button, a).active { border-bottom-color: #111; color: #111; }
.dln :where(button, a).sale-btn { font-weight: 700; color: #d62828; }
.dln a[data-mega]::after {
  content: '';
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 3.5px solid transparent;
  border-right: 3.5px solid transparent;
  border-top: 4px solid currentColor;
  margin-left: 5px;
  opacity: .55;
  transition: transform .2s;
}
.dln a[data-mega].active::after { transform: rotate(180deg); opacity: 1; }
.nav-icons { display: flex; align-items: center; gap: 0; margin-left: auto; }
.nav-icon-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: #555;
  padding: 10px 9px;
  display: flex;
  align-items: center;
  transition: color .2s;
  position: relative;
}
.nav-icon-btn:hover { color: #111; }
/* Reset parent theme's .site-header__icon circle styles on the wishlist link */
a.site-header__icon--wishlist {
  width: auto !important;
  height: auto !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  background-image: none !important;
}
/* Remove the small heart injected by the parent theme via ::before */
a.site-header__icon--wishlist::before {
  display: none !important;
}
.bag-badge,
.site-header__cart-count,
.site-header__wishlist-count {
  position: absolute !important;
  top: 5px !important;
  right: 3px !important;
  background: #111 !important;
  color: #fff !important;
  border-radius: 50% !important;
  width: 14px !important;
  height: 14px !important;
  min-width: unset !important;
  padding: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 8px !important;
  font-weight: 800 !important;
}
/* Only show badge when it has content */
.site-header__wishlist-count:not(:empty) {
  display: flex !important;
}
.brg {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  padding: 10px 12px 10px 0;
  flex-shrink: 0;
}
.brg span {
  display: block;
  width: 20px;
  height: 1.5px;
  background: #111;
  transition: transform .3s;
}
.brg.open span:first-child { transform: rotate(45deg) translate(3.5px, 3.5px); }
.brg.open span:last-child  { transform: rotate(-45deg) translate(3.5px,-3.5px); }

/* ── Mega menu ──────────────────────────────────────── */
.mega-panel {
  border-top: 2px solid #111;
  background: #fff;
  box-shadow: 0 20px 48px rgba(0,0,0,.07);
  display: none;
}
.mega-panel.open { display: block; }
.mega-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 36px 40px 28px;
}
.mega-cols { display: flex; gap: 64px; margin-bottom: 24px; }
.mega-col { min-width: 160px; }
.mega-col-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .22em;
  color: #767676;
  margin-bottom: 14px;
  border-bottom: 1px solid #f0f0ee;
  padding-bottom: 10px;
}
.mega-col a {
  display: block;
  font-size: 14px;
  color: #111;
  text-decoration: none;
  padding: 6px 0;
  font-weight: 500;
  transition: padding .15s;
}
.mega-col a:hover { padding-left: 8px; }
.mega-foot {
  padding-top: 20px;
  border-top: 1px solid #f0f0ee;
}
.mega-foot a {
  display: inline-flex;
  background: #111;
  color: #fff;
  padding: 10px 20px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none;
}
/* Brands mega */
.brands-mega-inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 32px 40px 28px;
}
.brands-mega-label {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .22em;
  color: #767676;
  margin-bottom: 20px;
}
.brands-mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 200px);
  grid-template-rows: repeat(8, auto);
  grid-auto-flow: column;
  gap: 0;
}
.brands-mega-grid a {
  display: block;
  padding: 6px 10px;
  font-size: 13px;
  font-weight: 500;
  color: #555;
  text-decoration: none;
  transition: background .15s, color .15s;
  white-space: nowrap;
}
.brands-mega-grid a:hover { background: #f7f7f5; color: #111; }
.brands-mega-foot {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #f0f0ee;
}
.brands-mega-foot a {
  display: inline-flex;
  background: #111;
  color: #fff;
  padding: 10px 20px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none;
}

/* ── Mobile drawer ──────────────────────────────────── */
#dh-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.4);
  z-index: 390;
  display: none;
}
#dh-overlay.open { display: block; }
#dh-drawer {
  position: fixed;
  top: 0; left: 0; bottom: 0;
  width: 88vw;
  max-width: 340px;
  background: #fff;
  z-index: 400;
  transition: transform .36s cubic-bezier(.4,0,.2,1);
  box-shadow: 4px 0 40px rgba(0,0,0,.12);
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  transform: translateX(-100%);
}
#dh-drawer.open { transform: translateX(0); }

/* Drawer header */
.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #f0f0ee;
  flex-shrink: 0;
}
.drawer-logo {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: .22em;
  color: #111;
  text-decoration: none;
}
#dh-drawer-close {
  background: none;
  border: none;
  cursor: pointer;
  color: #555;
  padding: 4px;
  display: flex;
  align-items: center;
  line-height: 1;
}

/* Main nav links */
.drawer-nav {
  display: flex;
  flex-direction: column;
  padding: 8px 0;
  flex-shrink: 0;
}
/* Flat links (no children) */
.drawer-flat-link {
  display: flex;
  align-items: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #111;
  text-decoration: none;
  padding: 10px 24px;
  border-bottom: 1px solid #f5f5f3;
  transition: color .2s;
}
.drawer-flat-link:hover { color: #555; }
.drawer-flat-link.drawer-sale { color: #e02020; }

/* Accordion wrapper */
.drawer-item {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #f5f5f3;
}
.drawer-item-row {
  display: flex;
  align-items: stretch;
}
.drawer-item-link {
  flex: 1;
  display: flex;
  align-items: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: .06em;
  color: #111;
  text-decoration: none;
  padding: 10px 0 10px 24px;
  transition: color .2s;
}
.drawer-item-link:hover { color: #555; }
.drawer-item-toggle {
  width: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  flex-shrink: 0;
  color: #767676;
  -webkit-tap-highlight-color: transparent;
}
.drawer-chevron-icon {
  transition: transform .25s ease;
  display: block;
}
.drawer-item.open .drawer-chevron-icon {
  transform: rotate(180deg);
}

/* Accordion sub-menu */
.drawer-sub {
  overflow: hidden;
  max-height: 0;
  transition: max-height .3s ease;
  background: #fafaf9;
}
.drawer-item.open .drawer-sub { max-height: 800px; }
.drawer-sub a {
  display: flex;
  align-items: center;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  padding: 9px 20px 9px 28px;
  border-bottom: 1px solid #f0f0ee;
  transition: color .2s;
}
.drawer-sub a:last-child { border-bottom: none; }
.drawer-sub a:hover { color: #111; }
.drawer-sub .drawer-sub-viewall {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: #888;
  padding: 10px 20px 10px 28px;
  border-bottom: none;
}

/* Divider */
.drawer-divider { height: 1px; background: #f0f0ee; margin: 4px 0; flex-shrink: 0; }

/* Secondary links */
.drawer-secondary {
  display: flex;
  flex-direction: column;
  padding: 8px 0;
  flex-shrink: 0;
}
.drawer-secondary a {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 500;
  color: #333;
  text-decoration: none;
  padding: 10px 24px;
  transition: color .2s;
}
.drawer-secondary a:hover { color: #111; }
.dsi {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  background: #f5f5f3;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1;
  flex-shrink: 0;
}

/* Drawer footer */
.drawer-foot {
  margin-top: auto;
  padding: 20px 24px;
  border-top: 1px solid #f0f0ee;
  flex-shrink: 0;
}
.drawer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin-bottom: 12px;
}
.drawer-legal a {
  font-size: 11px;
  color: #767676;
  text-decoration: none;
  letter-spacing: .03em;
}
.drawer-legal a:hover { color: #555; }
.drawer-copy {
  font-size: 11px;
  color: #767676;
}

/* ── Hero ───────────────────────────────────────────── */
/* Pull the full-bleed hero back above the body padding so it
   fills the viewport from the very top (behind the fixed nav).
   The actual margin-top is set dynamically by JS updateSpacer(). */
#dh-hero {
  position: relative;
  height: 100vh;
  min-height: 600px;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
}
.hero-slide {
  position: absolute;
  inset: 0;
  z-index: 0;
  transition: opacity 1.4s ease;
  opacity: 0;
}
.hero-slide.active { opacity: 1; }
.hero-slide picture { display: block; width: 100%; height: 100%; }
.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}
.hero-slide .hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.18) 55%, transparent 100%);
}
.hero-body {
  position: relative;
  z-index: 2;
  padding: 0 56px 80px;
  max-width: 880px;
}
.hero-eyebrow {
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: .26em;
  color: rgba(255,255,255,.8);
  margin-bottom: 16px;
}
.hero-title {
  display: flex;
  flex-direction: column;
  margin-bottom: 20px;
}
.hero-title span {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(58px, 8.5vw, 114px);
  font-weight: 800;
  line-height: .9;
  color: #fff;
  display: block;
}
.hero-sub {
  font-size: 15px;
  color: rgba(255,255,255,.68);
  line-height: 1.65;
  max-width: 420px;
  margin-bottom: 32px;
}
.hero-ctas { display: flex; align-items: center; gap: 22px; }
.hero-cta-primary {
  background: #fff;
  color: #111;
  padding: 13px 30px;
  font-size: 11.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  display: inline-block;
}
.hero-cta-secondary {
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,.4);
  padding-bottom: 2px;
}
.hero-dots {
  position: absolute;
  right: 40px;
  bottom: 80px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.hero-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(255,255,255,.3);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all .3s;
}
.hero-dot.active {
  background: #fff;
  transform: scale(1.5);
}
.auth-chip {
  position: absolute;
  top: 96px;
  right: 36px;
  z-index: 2;
  background: rgba(0,0,0,.35);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(255,255,255,.15);
  padding: 12px 18px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.auth-chip-icon { font-size: 17px; color: #fff; }
.auth-chip-title { font-size: 11px; font-weight: 800; color: #fff; letter-spacing: .1em; }
.auth-chip-sub   { font-size: 10px; color: rgba(255,255,255,.8); margin-top: 2px; }

/* ── Category panels ────────────────────────────────── */
.cpan { position: relative; overflow: hidden; }
.cpan picture { display: block; width: 100%; height: 100%; }
.cpan img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .7s ease; }
.cpan:hover img { transform: scale(1.05); }
.cpan-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(to top, rgba(0,0,0,.68) 0%, rgba(0,0,0,.08) 55%, transparent 100%);
}
.cat-full { height: 460px; margin-top: 3px; }
.cat-full .cpan-overlay { padding: 32px 40px; }
.cat-half { height: 440px; }
.cat-half-overlay { padding: 28px 32px; }
.cr2 { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin-top: 3px; }
.cat-eyebrow { font-size: 9.5px; font-weight: 700; letter-spacing: .26em; color: rgba(255,255,255,.8); margin-bottom: 6px; }
.cat-title { font-family: 'Barlow Condensed', sans-serif; font-weight: 800; color: #fff; line-height: .9; margin-bottom: 12px; }
.cat-full .cat-title { font-size: 64px; }
.cat-half  .cat-title { font-size: 46px; margin-bottom: 8px; }
.cat-count { font-size: 12px; color: rgba(255,255,255,.75); letter-spacing: .06em; margin-bottom: 18px; }
.cat-desc  { font-size: 13px; color: rgba(255,255,255,.85); line-height: 1.5; margin-bottom: 18px; max-width: 380px; }
.cat-btn {
  display: inline-flex;
  background: #fff;
  color: #111;
  padding: 9px 22px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none;
  align-self: flex-start;
}

/* ── Shop by Brand ──────────────────────────────────── */
.brand-sec-inner { padding: 72px 40px 56px; max-width: 1440px; margin: 0 auto; }
.sec-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 32px; }
.sec-title { font-family: 'Barlow Condensed', sans-serif; font-size: 40px; font-weight: 800; letter-spacing: .06em; line-height: 1; color: #111; }
.sec-sub   { font-size: 12px; color: #696969; margin-top: 4px; }
.sec-link  { font-size: 12px; font-weight: 700; color: #111; text-decoration: none; border-bottom: 1.5px solid #111; padding-bottom: 2px; }
.bg { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.bc { cursor: pointer; display: block; text-decoration: none; color: inherit; }
.bc-img { aspect-ratio: 4/3; overflow: hidden; background: #fff; border: 1px solid #ebebeb; margin-bottom: 10px; display: flex; align-items: center; justify-content: center; }
.bc-img img, .bc-img picture { width: 100%; height: 100%; display: block; }
.bc-img img { object-fit: contain; padding: 14px; transition: transform .5s ease; box-sizing: border-box; }
.bc-img picture img { width: 100%; height: 100%; object-fit: contain; padding: 14px; box-sizing: border-box; }
.bc:hover .bc-img img { transform: scale(1.08); }
.bc-placeholder { width: 100%; height: 100%; background: #f7f7f5; display: flex; align-items: center; justify-content: center; }
.bc-initial { font-family: 'Barlow Condensed', sans-serif; font-size: 52px; font-weight: 800; color: #d0d0ce; letter-spacing: .02em; line-height: 1; user-select: none; }
.bc-name { font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 800; letter-spacing: .1em; color: #111; }
.bc-count { font-size: 11px; color: #696969; }
.bc-footer { display: flex; justify-content: space-between; align-items: baseline; }

/* ── Product card ───────────────────────────────────── */
.pc { position: relative; }
/* stretched-link: .pc-name::after covers the whole card so any click navigates */
.pc-name::after { content: ''; position: absolute; inset: 0; z-index: 1; }
/* raise image link + wishlist / overlay above the stretched pseudo-element */
/* pc-img-link: transparent <a> covers the image area as click target (above img z-index:1) */
.pc-img-link { position: absolute; inset: 0; z-index: 2; display: block; }
.pc-img {
  position: relative;
  aspect-ratio: 1/1 !important;
  overflow: hidden;
  background: #f5f5f3;
  margin-bottom: 12px;
}
/* picture is transparent to layout — img inside behaves as a direct child of .pc-img */
.pc-img picture { display: contents; }
.pc-img img { inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: contain !important; display: block; transition: transform .55s ease; max-width: none !important; z-index: 1; }
.pc:hover .pc-img img { transform: scale(1.06); }
.pc-rank {
  position: absolute;
  bottom: 10px;
  left: 12px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 34px;
  font-weight: 800;
  color: rgba(255,255,255,.18);
  line-height: 1;
  pointer-events: none;
}
.pc-wish {
  position: absolute;
  top: 9px;
  right: 9px;
  width: 32px;
  height: 32px;
  border-radius: 999px;
  border: none;
  background-color: rgba(255,255,255,.9);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  color: #6b6f79;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
  transition: background-color .2s ease, color .2s ease, transform .15s ease;
  z-index: 11;
}
.pc-wish::before {
  content: '♡';
  font-size: 14px;
  line-height: 1;
}
.pc-wish:hover,
.pc-wish:focus-visible {
  background-color: #fff;
  color: #111;
  outline: none;
  transform: translateY(-1px);
}
.pc-wish.is-active {
  background-color: #000;
  color: #fff;
}
.pc-wish.is-active::before { content: '♥'; }
.po {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 9px;
  gap: 4px;
  opacity: 0;
  transition: opacity .3s;
  background: rgba(0,0,0,.07);
  pointer-events: none; /* click-through to pc-img-link for navigation */
}
.pc:hover .po { opacity: 1; }
.po-qv, .po-bag { pointer-events: auto; } /* only buttons intercept clicks */
.po-qv, .po-bag { border: none; cursor: pointer; width: 100%; font-family: 'Outfit', sans-serif; font-size: 9.5px; font-weight: 800; letter-spacing: .1em; text-decoration: none; display: block; text-align: center; box-sizing: border-box; }
.po-qv  { background: rgba(255,255,255,.92); color: #111; padding: 8px; }
.po-bag { background: #111; color: #fff; padding: 9px; }
.pc-brand  { font-size: 9px; font-weight: 800; letter-spacing: .22em; color: #696969; display: block; }
.pc-name   { font-size: 13px; font-weight: 500; color: #111; line-height: 1.3; display: block; margin-top: 2px; text-decoration: none; }
.pc-name:hover { text-decoration: underline; }
.pc-prices { display: flex; align-items: baseline; gap: 8px; margin-top: 4px; }
.pc-price  { font-size: 14px; font-weight: 700; color: #111; }
.pc-price ins, .pc-prices ins { text-decoration: none; }
.pc-old    { font-size: 11px; color: #767676; text-decoration: line-through; }
.pc-sold   { font-size: 11px; color: #767676; margin-left: auto; }
.pc-tag    { position: absolute; top: 9px; left: 9px; background: #111; color: #fff; font-size: 8.5px; font-weight: 800; letter-spacing: .15em; padding: 3px 7px; }
.pc-tag--sale { background: #d62828; }

/* ── Shop product-card override (dh-card) ────────────────────── */

/* Reset parent card border / shadow / lift — no zoom */
.product-card.dh-card {
  border: none;
  box-shadow: none;
  overflow: visible;
  transition: none;
}
.product-card.dh-card:hover {
  border: none;
  box-shadow: none;
  transform: none;
}

/* ── Image wrap ── */
.dh-card__image-wrap { position: relative; }
.dh-card__img-link   { display: block; text-decoration: none; }

.dh-card__image {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Both images stacked */
.dh-card__img-main,
.dh-card__img-hover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: opacity .35s ease;
}
.dh-card__img-main  { z-index: 1; opacity: 1; }
.dh-card__img-hover { z-index: 2; opacity: 0; }

/* Swap: fade out main only when second image exists */
.dh-card__image-wrap.has-hover-img:hover .dh-card__img-main  { opacity: 0; }
.dh-card__image-wrap.has-hover-img:hover .dh-card__img-hover { opacity: 1; }

/* Out-of-stock image — desaturated */
.product-card.dh-card.product-card--out-of-stock .dh-card__image img {
  filter: grayscale(100%);
  opacity: .75;
}

/* Out-of-stock badge */
.dh-card__badge {
  position: absolute;
  top: 10px;
  left: 10px;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
  padding: 3px 8px;
  background: rgba(0,0,0,.65);
  color: #fff;
  z-index: 4;
  text-transform: uppercase;
}

/* Promo badges (brand shop + landing product grids) */
.dh-card__badge--promo {
  font-size: 8.5px;
  font-weight: 800;
  letter-spacing: 0.14em;
  padding: 4px 9px;
  background: #111;
  color: #fff;
  text-transform: uppercase;
}

.dh-card__badge--promo.is-final-sale {
  background: #c01818;
  color: #fff;
}

.dh-card__badge--promo.is-almost-gone,
.dh-card__badge--promo.is-default {
  background: #111;
  color: #fff;
}

.dh-card__badge--promo.is-low-stock {
  background: #fff;
  color: #111;
  border: 1px solid #ccc;
}

/* Wishlist — top-right corner */
.dh-card__wish {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 0;
  background: none;
  border: none;
  cursor: pointer;
  color: #888;
  box-shadow: none;
  transition: color .2s;
  padding: 0;
}
.dh-card__wish:hover     { color: #111; background: none; transform: none; }
.dh-card__wish.is-active { color: #111; background: none; }

/* SVG heart icons */
.dh-card__wish-outline,
.dh-card__wish-fill {
  width: 20px;
  height: 20px;
  display: block;
  transition: opacity .15s;
}
.dh-card__wish-fill    { display: none; }
.dh-card__wish.is-active .dh-card__wish-outline { display: none; }
.dh-card__wish.is-active .dh-card__wish-fill    { display: block; }

/* ── Info block ── */
.dh-card__info {
  position: relative;   /* needed for absolute hover overlay */
  padding: 10px 0 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 80px;     /* prevent collapse when default fades out */
}

/* Default (brand / title / price) */
.dh-card__info-default {
  transition: opacity .2s ease;
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;              /* fill available height so price can sit at bottom */
}

/* Hover (Available in …) — absolute overlay, top aligned with brand */
a.dh-card__info-hover,
.dh-card__info-hover {
  position: absolute;
  top: 10px;   /* match .dh-card__info padding-top */
  left: 0;
  right: 0;
  bottom: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s ease;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

/* Swap info only when hovering the info area itself (not the image) */
.dh-card__info:hover .dh-card__info-default { opacity: 0; }
.dh-card__info:hover .dh-card__info-hover   { opacity: 1; pointer-events: auto; }
a.dh-card__info-hover { text-decoration: none; cursor: pointer; }

/* Brand — Body Bold ~14px */
.dh-card__brand {
  font-size: 14px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  display: block;
  line-height: 1.3;
  letter-spacing: .01em;
}
.dh-card__brand:hover { color: #444; }

/* Title — Caption ~12px, exactly 2 lines tall (aligns price across all cards) */
.dh-card__title {
  font-size: 12px;
  font-weight: 400;
  color: #696969;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  height: calc(1.4em * 2); /* always 2-line height so price aligns */
  margin-top: 1px;
}
.dh-card__title:hover { color: #333; }

/* Mobile / touch — show sizes inline; keep hover swap on desktop only */
a.dh-card__avail-mobile,
.dh-card__avail-mobile {
  display: none;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

@media (hover: none), (max-width: 767px) {
  a.dh-card__avail-mobile,
  .dh-card__avail-mobile {
    display: flex;
    flex-direction: column;
    gap: 1px;
    margin-top: 3px;
    margin-bottom: 4px;
  }

  a.dh-card__avail-mobile:active {
    opacity: 0.72;
  }

  .dh-card__avail-mobile .dh-card__avail-label {
    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;
  }

  .dh-card__avail-mobile .dh-card__avail-sizes {
    font-size: 11px;
    color: #696969;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .dh-card__info {
    min-height: 104px;
  }
}

/* On touch devices — disable image-swap and info-hover so tapping navigates directly */
@media (hover: none) {
  .dh-card__image-wrap.has-hover-img:hover .dh-card__img-main  { opacity: 1; }
  .dh-card__image-wrap.has-hover-img:hover .dh-card__img-hover { opacity: 0; }
  .dh-card__info:hover .dh-card__info-default { opacity: 1; }
  .dh-card__info:hover .dh-card__info-hover   { opacity: 0; pointer-events: none; }
}

/* Price — always at the bottom of the info block */
.dh-card__price-wrap { margin-top: auto; padding-top: 6px; }
.dh-card__price {
  display: flex;
  align-items: baseline;
  gap: 6px;
  flex-wrap: wrap;
}

/* Old price — pseudo strikethrough */
.dh-card__price del {
  display: inline-block;
  position: relative;
  text-decoration: none !important;
  color: #999;
  font-size: 11px;
  font-weight: 400;
}
.dh-card__price del::after {
  content: '';
  position: absolute;
  left: 0; right: 0;
  top: 50%;
  height: 1px;
  background: #999;
  transform: translateY(-50%);
}
.dh-card__price del .woocommerce-Price-amount { color: #999; font-size: 11px; font-weight: 400; }

/* Current price */
.dh-card__price .woocommerce-Price-amount     { font-size: 14px; font-weight: 400; color: #111; }
.dh-card__price ins                           { text-decoration: none !important; font-style: normal; }
.dh-card__price ins .woocommerce-Price-amount { color: #c0392b; font-size: 14px; font-weight: 400; }

/* Discount % */
.dh-card__discount {
  font-size: 11px;
  font-weight: 400;
  color: #c0392b;
  display: block;
  margin-top: 2px;
}

/* Available in — Body Bold ~14px */
.dh-card__avail-label {
  font-size: 14px;
  font-weight: 700;
  color: #111;
  display: block;
  line-height: 1.3;
  letter-spacing: .01em;
}
.product-card--out-of-stock .dh-card__avail-label {
  color: #999;
  font-weight: 400;
}
/* Sizes — Body ~14px */
.dh-card__avail-sizes {
  font-size: 14px;
  font-weight: 400;
  color: #333;
  display: block;
  line-height: 1.4;
  margin-top: 1px;
}

/* Hide Add to Cart */
.product-card.dh-card .product-card__actions { display: none !important; }

/* Brand shop grid promo banners (full grid width) */
.products-grid .brand-shop-grid-banner {
  grid-column: 1 / -1;
  position: relative;
  overflow: hidden;
  aspect-ratio: 2.55 / 1;
  min-height: 100px;
  background: #f5f5f5;
  display: block;
  text-decoration: none;
  color: inherit;
}
.products-grid a.brand-shop-grid-banner--linked {
  cursor: pointer;
}
.products-grid a.brand-shop-grid-banner--linked:hover .brand-shop-grid-banner__label,
.products-grid a.brand-shop-grid-banner--linked:focus-visible .brand-shop-grid-banner__label {
  opacity: 0.82;
}
.products-grid a.brand-shop-grid-banner--linked:hover .brand-shop-grid-banner__image,
.products-grid a.brand-shop-grid-banner--linked:focus-visible .brand-shop-grid-banner__image {
  transform: scale(1.02);
}
.products-grid .brand-shop-grid-banner__media,
.products-grid .brand-shop-grid-banner__media picture {
  display: block;
  width: 100%;
  height: 100%;
}
.products-grid .brand-shop-grid-banner__media img,
.products-grid .brand-shop-grid-banner__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.45s ease;
}
.products-grid .brand-shop-grid-banner__overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: linear-gradient(
    to top,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.28) 42%,
    rgba(0, 0, 0, 0) 100%
  );
}
.products-grid .brand-shop-grid-banner__cta {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 14px 16px;
  pointer-events: none;
}
.products-grid .brand-shop-grid-banner__label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 0 0 4px;
  border-bottom: 1px solid #fff;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  transition: opacity 0.2s ease;
}
.products-grid .brand-shop-grid-banner__label-arrow {
  font-weight: 400;
  letter-spacing: 0;
}
@media (min-width: 768px) {
  .products-grid .brand-shop-grid-banner__cta {
    padding: 18px 24px;
  }
  .products-grid .brand-shop-grid-banner__label {
    font-size: 11px;
    gap: 8px;
  }
}
@media (min-width: 768px) {
  .products-grid .brand-shop-grid-banner {
    aspect-ratio: 3.4 / 1;
    min-height: 105px;
  }
}

/* ── Mobile shop grid: edge-to-edge, column-gap 2px ── */
@media (max-width: 767px) {
  .products-grid {
    column-gap: 2px !important;
    margin-top:   10px !important;
    margin-left:  -8px !important;
    margin-right: -8px !important;
    width: calc(100% + 16px) !important;
  }
  /* Restore padding for load-more */
  .shop-load-more {
    padding-left:  16px;
    padding-right: 16px;
  }
  /* Hide active filter chips row on mobile (counts shown in filter bar instead) */
  .shop-page__active-filters {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   PayPal Pay Later message + modal
   ═══════════════════════════════════════════════════════════ */

/* Inline message row */
.single-product__actions.dh-actions {
  margin-bottom: 10px !important;
}

.dh-paylater {
  margin: 0 0 12px;
}
.dh-paylater__row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: #555;
}
@media (max-width: 767px) {
  .dh-paylater__row {
    justify-content: center;
  }
}
.dh-paylater__pp-logo {
  width: 20px;
  height: auto;
  flex-shrink: 0;
}
.dh-paylater__text strong {
  color: #003087;
  font-weight: 600;
}
.dh-paylater__learn {
  background: none;
  border: none;
  padding: 0;
  font-size: 13px;
  color: #0070ba;
  text-decoration: underline;
  cursor: pointer;
  font-family: inherit;
}
.dh-paylater__learn:hover { color: #003087; }

/* Modal backdrop */
.dh-paylater-modal {
  display: flex;
  position: fixed;
  inset: 0;
  z-index: 10100;
  align-items: flex-end;
  justify-content: center;
  pointer-events: none;
  opacity: 0;
  transition: opacity .25s ease;
}
.dh-paylater-modal.is-open {
  pointer-events: auto;
  opacity: 1;
}
@media (min-width: 768px) {
  .dh-paylater-modal { align-items: center; }
}
.dh-paylater-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.5);
}

/* Panel */
.dh-paylater-modal__panel {
  position: relative;
  background: #fff;
  width: 100%;
  max-width: 480px;
  border-radius: 12px 12px 0 0;
  max-height: 90vh;
  overflow-y: auto;
  z-index: 1;
  transform: translateY(40px);
  transition: transform .3s cubic-bezier(.32,.72,0,1);
}
.dh-paylater-modal.is-open .dh-paylater-modal__panel {
  transform: translateY(0);
}
@media (min-width: 768px) {
  .dh-paylater-modal__panel {
    border-radius: 12px;
    max-height: 85vh;
    transform: translateY(20px) scale(.97);
  }
  .dh-paylater-modal.is-open .dh-paylater-modal__panel {
    transform: translateY(0) scale(1);
  }
}

/* Close button */
.dh-paylater-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 36px;
  height: 36px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  color: #555;
}
.dh-paylater-modal__close svg { width: 18px; height: 18px; }
.dh-paylater-modal__close:hover { border-color: #999; }

/* Body content */
.dh-paylater-modal__body {
  padding: 32px 28px 28px;
}
.dh-paylater-modal__logo {
  width: 90px;
  height: auto;
  display: block;
  margin-bottom: 20px;
}
.dh-paylater-modal__title {
  font-size: 22px;
  font-weight: 700;
  color: #001c64;
  margin: 0 0 8px;
  line-height: 1.2;
}
.dh-paylater-modal__subtitle {
  font-size: 14px;
  color: #444;
  margin: 0 0 20px;
}

/* Option cards */
.dh-paylater-modal__options {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.dh-paylater-modal__option {
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  padding: 14px 16px;
}
.dh-paylater-modal__option-name {
  font-size: 14px;
  font-weight: 700;
  color: #001c64;
  margin: 0 0 4px;
}
.dh-paylater-modal__option-desc {
  font-size: 13px;
  color: #555;
  margin: 0;
  line-height: 1.4;
}
.dh-paylater-modal__credit-title {
  font-size: 14px;
  color: #222;
  font-weight: 500;
  margin: 0 0 10px;
}
.dh-paylater-modal__terms {
  font-size: 11px;
  color: #888;
  margin: 16px 0 0;
  line-height: 1.5;
}

/* ── Load More button — prevent blue visited/focus colour ── */
.shop-load-more__btn,
.shop-load-more__btn:visited,
.shop-load-more__btn:link,
.shop-load-more__btn:focus,
.shop-load-more__btn:active {
  color: #111 !important;
  outline-color: #111 !important;
}
.shop-load-more__btn:hover {
  color: #fff !important;
}

/* ── Latest Drops / Best Sellers ───────────────────── */
.drops-sec   { background: #fff; padding-bottom: 72px; }
.drops-sec .pc-img { background: transparent !important; }
.sellers-sec { background: #fff; padding-bottom: 72px; }

/* ── dh-card inside homepage grid (.pg) ─────────────── */
.pg > .product-card.dh-card { width: auto; }
.sec-head-wrap { display: flex; justify-content: space-between; align-items: flex-end; max-width: 1440px; margin: 0 auto; padding: 72px 40px 0; }
.pg { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px 16px; max-width: 1440px; margin: 0 auto; padding: 32px 40px 0; }

/* BS tabs */
.bs-tabs-outer { max-width: 1440px; margin: 0 auto; padding: 28px 40px 0; border-bottom: 1px solid #efefed; }
.bs-main-tabs  { display: flex; margin-bottom: 16px; }
.bs-main-tab {
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  padding: 8px 28px 8px 0;
  font-size: 22px;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 700;
  letter-spacing: .08em;
  color: #767676;
  cursor: pointer;
  transition: all .2s;
}
.bs-main-tab.active { border-bottom-color: #111; color: #111; }
.bs-sub-tabs { display: flex; gap: 6px; padding-bottom: 16px; flex-wrap: wrap; }
.bs-sub-tabs--empty { padding-bottom: 0; }
.bs-sub-tab--hidden { display: none; }
.bs-sub-tab {
  background: none;
  border: 1px solid #e8e8e6;
  color: #696969;
  padding: 5px 14px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .08em;
  cursor: pointer;
  font-family: 'Outfit', sans-serif;
  transition: all .2s;
}
.bs-sub-tab.active { background: #111; border-color: #111; color: #fff; }

/* ── Brand Spotlight Slider ─────────────────────────── */
.spot-section {
  position: relative;
  height: 580px;
  overflow: hidden;
  background: #0a0a0a;
}
.spot-slide {
  position: absolute;
  inset: 0;
  transition: opacity .9s ease;
  opacity: 0;
  pointer-events: none;
}
.spot-slide.active { opacity: 1; pointer-events: auto; }
.spot-slide picture { display: block; width: 100%; height: 100%; }
.spot-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 30%;
  display: block;
  transition: transform 6s ease;
  transform: scale(1.04);
}
.spot-slide.active img { transform: scale(1); }
.spot-slide-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.35) 55%, rgba(0,0,0,.1) 100%);
}
.spot-inner {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 80px;
}
.spot-content { max-width: 580px; }
.spot-eye   { font-size: 9.5px; font-weight: 700; letter-spacing: .28em; color: rgba(255,255,255,.8); margin-bottom: 14px; }
.spot-title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 96px;
  font-weight: 800;
  color: #fff;
  line-height: .88;
  margin-bottom: 20px;
  white-space: pre-line;
}
.spot-sub  { font-size: 15px; color: rgba(255,255,255,.85); max-width: 380px; line-height: 1.65; margin-bottom: 28px; }
.spot-cta  { display: inline-flex; background: #fff; color: #111; padding: 12px 28px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.spot-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  background: rgba(255,255,255,.12);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  width: 44px;
  height: 44px;
  cursor: pointer;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background .2s;
}
.spot-arrow:hover { background: rgba(255,255,255,.22); }
.spot-prev { left: 24px; }
.spot-next { right: 24px; }
.spot-progress-wrap {
  position: absolute;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  width: 120px;
  height: 2px;
  background: rgba(255,255,255,.15);
  border-radius: 1px;
  overflow: hidden;
}
.spot-progress-bar {
  height: 100%;
  background: #fff;
  border-radius: 1px;
  transition: width .4s ease;
}

/* ── Authentication ─────────────────────────────────── */
.auth-sec  { background: #f7f7f5; padding: 96px 0 72px; }
.auth-wrap { max-width: 1200px; margin: 0 auto; padding: 0 40px; }
.ah { display: grid; grid-template-columns: 1fr 1.1fr; gap: 80px; align-items: start; margin-bottom: 56px; }
.auth-eyebrow { font-size: 10px; font-weight: 700; letter-spacing: .28em; color: #696969; margin-bottom: 14px; }
.auth-title   { font-family: 'Barlow Condensed', sans-serif; font-size: 64px; font-weight: 800; line-height: .9; margin-bottom: 16px; color: #111; }
.auth-body    { font-size: 14px; color: #696969; line-height: 1.75; max-width: 340px; }
.auth-steps   { display: flex; flex-direction: column; gap: 24px; padding-top: 6px; }
.auth-step    { display: grid; grid-template-columns: 44px 3px 1fr; column-gap: 16px; row-gap: 3px; }
.auth-step-n  { font-family: 'Barlow Condensed', sans-serif; font-size: 36px; font-weight: 800; color: #e0e0de; line-height: 1; grid-row: 1 / 3; }
.auth-step-line { width: 2px; height: 36px; background: #e0e0de; grid-row: 1 / 3; justify-self: center; margin-top: 4px; }
.auth-step-t    { font-size: 14px; font-weight: 700; color: #111; }
.auth-step-d    { font-size: 12.5px; color: #696969; grid-column: 3; }
.pl { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; margin-bottom: 24px; }
.plan-card {
  padding: 28px 24px;
  border: 1px solid #e8e8e6;
  display: flex;
  flex-direction: column;
  position: relative;
}
.plan-card.hot { background: #111; }
.plan-card:not(.hot) { background: #fff; }
.plan-badge { display: inline-flex; align-self: flex-start; font-size: 9px; font-weight: 800; letter-spacing: .16em; padding: 4px 10px; margin-bottom: 18px; }
.plan-card.hot  .plan-badge { background: #fff; color: #111; }
.plan-card:not(.hot) .plan-badge { background: #111; color: #fff; }
.plan-name  { font-size: 11px; font-weight: 800; letter-spacing: .18em; margin-bottom: 12px; }
.plan-card.hot  .plan-name { color: #fff; }
.plan-card:not(.hot) .plan-name { color: #111; }
.plan-price-row { display: flex; align-items: baseline; gap: 10px; margin-bottom: 10px; }
.plan-price { font-family: 'Barlow Condensed', sans-serif; font-size: 52px; font-weight: 800; line-height: 1; }
.plan-card.hot  .plan-price { color: #fff; }
.plan-card:not(.hot) .plan-price { color: #111; }
.plan-time { font-size: 12px; }
.plan-card.hot  .plan-time { color: rgba(255,255,255,.75); }
.plan-card:not(.hot) .plan-time { color: #696969; }
.plan-desc { font-size: 13px; line-height: 1.6; margin-bottom: 20px; flex: 1; }
.plan-card.hot  .plan-desc { color: rgba(255,255,255,.75); }
.plan-card:not(.hot) .plan-desc { color: #696969; }
.plan-feats { display: flex; flex-direction: column; gap: 10px; margin-bottom: 24px; }
.plan-feat  { display: flex; gap: 10px; align-items: center; }
.plan-feat-check { color: #22c55e; font-size: 12px; font-weight: 800; }
.plan-feat-label { font-size: 13px; }
.plan-card.hot  .plan-feat-label { color: rgba(255,255,255,.8); }
.plan-card:not(.hot) .plan-feat-label { color: #555; }
.plan-btn {
  display: flex;
  justify-content: center;
  padding: 11px 20px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
  margin-top: auto;
}
.plan-card.hot  .plan-btn { background: #fff; color: #111; }
.plan-card:not(.hot) .plan-btn { background: #111; color: #fff; }
.auth-note { display: flex; align-items: flex-start; gap: 12px; font-size: 13px; color: #696969; line-height: 1.6; padding: 18px 0 0; border-top: 1px solid #e0e0de; }

/* ── Sell With Us ───────────────────────────────────── */
.sell-sec { padding: 96px 0 0; }
.sg { display: grid; grid-template-columns: 1fr 1fr; max-width: 1440px; margin: 0 auto; padding: 0 40px; gap: 80px; margin-bottom: 72px; }
.sell-img-wrap { position: relative; }
.sell-img-inner { aspect-ratio: 4/5; overflow: hidden; background: #f5f5f3; }
.sell-img-inner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.payout-card {
  position: absolute;
  bottom: -20px;
  right: -20px;
  background: #fff;
  box-shadow: 0 16px 48px rgba(0,0,0,.12);
  padding: 18px 22px;
  width: 270px;
}
.payout-label  { font-size: 9px; font-weight: 800; letter-spacing: .18em; color: #696969; }
.payout-amount { font-size: 17px; font-weight: 800; color: #22c55e; font-family: 'Barlow Condensed', sans-serif; }
.payout-row    { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.payout-bar-wrap { height: 4px; background: #f0f0f0; border-radius: 2px; margin-bottom: 8px; overflow: hidden; }
.payout-bar    { width: 78%; height: 100%; background: #22c55e; border-radius: 2px; }
.payout-meta   { display: flex; justify-content: space-between; }
.payout-meta span { font-size: 11px; color: #696969; }
.sell-copy { display: flex; flex-direction: column; justify-content: center; padding-bottom: 40px; }
.sell-eyebrow   { font-size: 10px; font-weight: 700; letter-spacing: .28em; color: #696969; margin-bottom: 14px; }
.sell-copy-title { font-family: 'Barlow Condensed', sans-serif; font-size: 64px; font-weight: 800; line-height: .9; margin-bottom: 22px; color: #111; }
.sell-body { font-size: 14.5px; color: #696969; line-height: 1.75; max-width: 400px; margin-bottom: 32px; }
.sell-steps { display: flex; flex-direction: column; gap: 18px; margin-bottom: 32px; }
.sell-step { display: flex; align-items: flex-start; gap: 16px; }
.sell-step-icon { font-size: 19px; line-height: 1; flex-shrink: 0; width: 30px; text-align: center; padding-top: 2px; }
.sell-step-title { font-size: 14px; font-weight: 700; color: #111; display: block; margin-bottom: 2px; }
.sell-step-desc  { font-size: 13px; color: #696969; display: block; line-height: 1.5; }
.sell-ctas  { display: flex; align-items: center; gap: 22px; margin-bottom: 20px; }
.sell-cta-primary { background: #111; color: #fff; padding: 13px 30px; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; }
.sell-cta-secondary { font-size: 13px; font-weight: 600; color: #111; text-decoration: none; border-bottom: 1.5px solid #111; padding-bottom: 2px; }
.sell-fine { font-size: 12px; color: #696969; line-height: 1.6; }
.pk { display: flex; border-top: 1px solid #e8e8e6; background: #f7f7f5; }
.perk-cell { flex: 1; display: flex; flex-direction: column; align-items: center; padding: 26px 16px; border-right: 1px solid #e8e8e6; gap: 4px; }
.perk-cell:last-child { border-right: none; }
.perk-n { font-family: 'Barlow Condensed', sans-serif; font-size: 26px; font-weight: 800; color: #111; line-height: 1; }
.perk-l { font-size: 10px; font-weight: 600; letter-spacing: .12em; color: #696969; text-transform: uppercase; }

/* ── Instagram ──────────────────────────────────────── */
.ig-sec   { padding: 72px 0 0; border-top: 1px solid #f0f0ee; }
.ig-head  { display: flex; justify-content: space-between; align-items: flex-end; max-width: 1440px; margin: 0 auto; padding: 0 40px 32px; }
.ig-follow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid #111;
  color: #111;
  padding: 9px 20px;
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: .1em;
  text-decoration: none;
  text-transform: uppercase;
}
.ig-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 4px; }
.igcell { position: relative; aspect-ratio: 4/5; overflow: hidden; cursor: pointer; background: #f5f5f3; }
.igcell img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .6s ease; }
.igcell:hover img { transform: scale(1.06); }
.ighover {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.52);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  opacity: 0;
  transition: opacity .3s;
}
.igcell:hover .ighover { opacity: 1; }
.ighover-user  { font-size: 11px; font-weight: 800; color: #fff; letter-spacing: .1em; }
.ighover-brand { font-size: 9.5px; font-weight: 600; color: rgba(255,255,255,.8); letter-spacing: .12em; }

/* ── Footer ─────────────────────────────────────────── */
.site-footer { background: #0d0d0d; }
.fg { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 40px; padding: 64px 60px 48px; max-width: 1440px; margin: 0 auto; border-bottom: 1px solid #1a1a1a; }
.footer-logo { font-family: 'Barlow Condensed', sans-serif; font-size: 30px; font-weight: 800; letter-spacing: .2em; color: #fff; margin-bottom: 12px; }
.footer-tagline { font-size: 13px; color: #444; line-height: 1.65; margin-bottom: 20px; }
.footer-social { display: flex; gap: 16px; }
.footer-social a { font-size: 11px; font-weight: 700; color: #444; text-decoration: none; letter-spacing: .08em; }
.footer-social a:hover { color: #777; }
.footer-col-label { font-size: 10px; font-weight: 800; letter-spacing: .22em; color: #444; margin-bottom: 8px; }
.footer-col a { font-size: 13px; color: #3a3a3a; text-decoration: none; display: block; margin-bottom: 8px; }
.footer-col a:hover { color: #777; }
.footer-bot { display: flex; justify-content: space-between; align-items: center; padding: 20px 60px; max-width: 1440px; margin: 0 auto; }
.footer-copy { font-size: 11px; color: #2e2e2e; letter-spacing: .04em; }
.footer-legal { display: flex; gap: 20px; }
.footer-legal a { font-size: 11px; color: #2e2e2e; letter-spacing: .04em; text-decoration: none; }

/* ── Mobile scroll ──────────────────────────────────── */
.mob-scroll-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.mob-scroll-wrap::-webkit-scrollbar { display: none; }

/* ── Tablet 960 ─────────────────────────────────────── */
@media (max-width: 960px) {
  .brg { display: flex !important; }
  .dln { display: none !important; }
  .pg  { grid-template-columns: repeat(3,1fr) !important; }
  .bg  { grid-template-columns: repeat(4,1fr) !important; }
  .fg  { grid-template-columns: repeat(3,1fr) !important; }
}

/* ── Mobile 640 ─────────────────────────────────────── */
@media (max-width: 640px) {
  /* hero */
  .hero-body { padding: 0 20px 64px !important; max-width: 100% !important; }
  .hero-eyebrow { font-size: 9px !important; }
  .hero-title span { font-size: clamp(50px,13vw,76px) !important; }
  .hero-sub { font-size: 13px !important; max-width: 280px !important; margin-bottom: 24px !important; }
  .hero-ctas { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; }
  .auth-chip { display: none !important; }
  /* nav */
  .nav-logo { font-size: 21px !important; }
  .custom-logo-link img, .custom-logo { height: 28px !important; max-width: 120px !important; }
  /* categories */
  .cat-full { display: flex; height: 260px !important; }
  .cat-full .cat-title { font-size: 44px !important; }
  .cat-desc { display: none !important; }
  .cr2  { grid-template-columns: 1fr !important; }
  .cat-half { height: 260px !important; }
  .cat-half .cat-title { font-size: 34px !important; }
  /* brands */
  .brand-sec-inner { padding: 44px 16px 32px !important; }
  .bg { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
  /* products */
  .pg { grid-template-columns: repeat(2,1fr) !important; gap: 14px 10px !important; padding: 20px 16px 0 !important; }
  .sec-head-wrap { padding: 44px 16px 0 !important; }
  /* best sellers */
  .bs-tabs-outer { padding: 20px 16px 0 !important; }
  .bs-sub-tabs { flex-wrap: wrap; }
  /* spotlight */
  .spot-inner { padding: 0 20px !important; }
  .spot-title { font-size: clamp(54px,15vw,80px) !important; }
  .spot-sub { font-size: 13px !important; max-width: 260px !important; margin-bottom: 18px !important; }
  .spot-section { height: 560px !important; }
  /* auth */
  .auth-wrap { padding: 0 16px !important; }
  .ah  { grid-template-columns: 1fr !important; gap: 28px !important; }
  .auth-title { font-size: 46px !important; }
  .pl  { grid-template-columns: 1fr !important; }
  .auth-sec { padding: 52px 0 44px !important; }
  /* sell */
  .sg  { grid-template-columns: 1fr !important; padding: 0 16px !important; gap: 0 !important; margin-bottom: 0 !important; }
  .payout-card { right: -8px !important; bottom: -14px !important; width: 250px !important; }
  .sell-copy { padding: 52px 16px 32px !important; }
  .sell-copy-title { font-size: 44px !important; }
  .pk { flex-wrap: wrap; }
  .perk-cell { min-width: 50%; }
  /* instagram */
  .ig-head { padding: 0 16px 20px !important; }
  .ig-head .sec-title { font-size: 26px !important; }
  .ig-grid { grid-template-columns: repeat(2,1fr) !important; gap: 3px !important; }
  /* footer */
  .fg { grid-template-columns: 1fr 1fr !important; gap: 24px !important; padding: 36px 20px 24px !important; }
  .footer-bot { flex-direction: column !important; gap: 10px !important; padding: 14px 20px !important; text-align: center; }
  /* recently viewed section bottom spacing */
  .drops-sec { padding-bottom: 36px !important; }
  /* horizontal scroll products */
  .mob-scroll-inner {
    display: flex !important;
    flex-direction: row !important;
    gap: 10px !important;
    padding: 24px 16px 8px !important;
    width: max-content !important;
    max-width: none !important;
  }
  .mob-scroll-inner > .pc,
  .mob-scroll-inner > .product-card.dh-card { width: 42vw !important; max-width: 170px !important; flex-shrink: 0; }
  /* 1 item — full width */
  .mob-scroll-inner.rv-count-1 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .mob-scroll-inner.rv-count-1 > .pc,
  .mob-scroll-inner.rv-count-1 > .product-card.dh-card { width: auto !important; max-width: none !important; flex-shrink: unset; }
  /* 2 items — two equal columns */
  .mob-scroll-inner.rv-count-2 {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .mob-scroll-inner.rv-count-2 > .pc,
  .mob-scroll-inner.rv-count-2 > .product-card.dh-card { width: auto !important; max-width: none !important; flex-shrink: unset; }
  .po { display: none !important; }
}

@media (max-width: 380px) {
  .ig-grid { grid-template-columns: repeat(2,1fr) !important; gap: 3px !important; }
  .spot-title { font-size: 46px !important; }
}

/* ── SEO Content Block (below Instagram) ─────────────────────── */
.dh-seo-block {
  background: #f5f4f2;
  padding: 64px 0;
}
.dh-seo-block__inner {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 24px;
}
.dh-seo-block__top h1,
.dh-seo-block__top h2,
.dh-seo-block__top h3,
.dh-seo-block__bottom h2,
.dh-seo-block__bottom h3 {
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: #111;
  margin-bottom: 12px;
}
.dh-seo-block__top h2,
.dh-seo-block__bottom h2 { font-size: 28px; margin-top: 32px; }
.dh-seo-block__top h3,
.dh-seo-block__bottom h3 { font-size: 20px; margin-top: 24px; }
.dh-seo-block__top p,
.dh-seo-block__bottom p {
  font-family: 'Barlow', sans-serif;
  font-size: 15px;
  line-height: 1.7;
  color: #444;
  margin-bottom: 16px;
}
.dh-seo-block__top a,
.dh-seo-block__bottom a { color: #111; text-decoration: underline; }
.dh-seo-block__details { border: none; }
.dh-seo-block__details[open] .dh-seo-block__more { display: none; }
.dh-seo-block__details:not([open]) .dh-seo-block__less { display: none; }
.dh-seo-block__summary {
  list-style: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Barlow', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #111;
  border-bottom: 1.5px solid #111;
  padding-bottom: 2px;
  margin-top: 16px;
}
.dh-seo-block__summary::-webkit-details-marker { display: none; }
@media (max-width: 768px) {
  .dh-seo-block { padding: 48px 0; }
  .dh-seo-block__top h2,
  .dh-seo-block__bottom h2 { font-size: 22px; }
}

/* ── Contact Page ──────────────────────────────────────────────── */
.dh-contact-page { background: #fff; }

/* Hero band */
.dh-contact-hero {
  background: #111;
  padding: 80px 24px 72px;
}
.dh-contact-hero__inner {
  max-width: 1200px;
  margin: 0 auto;
}
.dh-contact-hero__eyebrow {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-bottom: 12px;
}
.dh-contact-hero__title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: clamp(64px, 10vw, 120px);
  font-weight: 800;
  line-height: .88;
  letter-spacing: -.01em;
  text-transform: uppercase;
  color: #fff;
  margin: 0 0 20px;
}
.dh-contact-hero__desc {
  font-family: 'Outfit', sans-serif;
  font-size: 15px;
  color: rgba(255,255,255,.55);
  max-width: 480px;
  line-height: 1.6;
  margin: 0;
}

/* Body two-col */
.dh-contact-body {
  max-width: 1200px;
  margin: 0 auto;
  padding: 72px 24px 96px;
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 64px;
  align-items: start;
}

/* Info cards (left col) */
.dh-contact-info { display: flex; flex-direction: column; gap: 32px; }

.dh-contact-card {
  border-top: 2px solid #111;
  padding-top: 20px;
}
.dh-contact-card__label {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
  color: #999;
  margin-bottom: 10px;
}
.dh-contact-card__value {
  display: block;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #111;
  text-decoration: none;
  letter-spacing: .02em;
  margin-bottom: 4px;
}
.dh-contact-card__email {
  display: flex;
  align-items: center;
  gap: 8px;
}
.dh-contact-card__email:hover { color: #555; }
.dh-contact-card__note {
  font-size: 12px;
  color: #999;
  margin: 0;
}
.dh-contact-card__wysiwyg { font-size: 14px; color: #444; line-height: 1.7; }
.dh-contact-card__wysiwyg p { margin: 0 0 8px; }
.dh-contact-card__wysiwyg strong { color: #111; }

/* trust strip */
.dh-contact-trust {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dh-contact-trust__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #111;
}
.dh-contact-trust__icon { color: #bbb; font-size: 10px; }

/* Form wrap (right col) */
.dh-contact-form-wrap {
  background: #f5f4f2;
  padding: 40px 40px 44px;
}
.dh-contact-form-wrap__title {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 28px;
  font-weight: 800;
  letter-spacing: .06em;
  color: #111;
  margin: 0 0 28px;
}

/* Override CF7 field styles */
.dh-contact-cf7 .wpcf7-form,
.dh-plain-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.dh-contact-cf7 p { margin: 0; }
.dh-contact-cf7 .wpcf7-form-control-wrap,
.dh-contact-cf7 input[type="text"],
.dh-contact-cf7 input[type="email"],
.dh-contact-cf7 input[type="tel"],
.dh-contact-cf7 textarea,
.dh-plain-form input,
.dh-plain-form textarea {
  width: 100%;
  box-sizing: border-box;
}
.dh-contact-cf7 input[type="text"],
.dh-contact-cf7 input[type="email"],
.dh-contact-cf7 input[type="tel"],
.dh-contact-cf7 textarea,
.dh-plain-form input[type="text"],
.dh-plain-form input[type="email"],
.dh-plain-form textarea {
  background: #fff;
  border: 1.5px solid #ddd;
  border-radius: 0;
  padding: 12px 14px;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  color: #111;
  outline: none;
  transition: border-color .2s;
}
.dh-contact-cf7 input:focus,
.dh-contact-cf7 textarea:focus,
.dh-plain-form input:focus,
.dh-plain-form textarea:focus { border-color: #111; }
.dh-contact-cf7 textarea,
.dh-plain-form textarea { resize: vertical; min-height: 120px; }
.dh-contact-cf7 label,
.dh-plain-form label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #999;
}
.dh-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.dh-field-full { width: 100%; }
/* Submit button */
.dh-contact-cf7 input[type="submit"],
.dh-contact-cf7 button[type="submit"],
.dh-contact-submit {
  display: inline-block;
  background: #111;
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  border: none;
  padding: 14px 36px;
  cursor: pointer;
  transition: background .2s;
  align-self: flex-start;
}
.dh-contact-cf7 input[type="submit"]:hover,
.dh-contact-cf7 button[type="submit"]:hover,
.dh-contact-submit:hover { background: #333; }

/* CF7 validation messages */
.dh-contact-cf7 .wpcf7-not-valid-tip {
  font-size: 11px;
  color: #c00;
  margin-top: 3px;
}
.dh-contact-cf7 .wpcf7-response-output {
  margin: 0;
  padding: 12px 16px;
  font-size: 13px;
  font-family: 'Outfit', sans-serif;
  border: none;
  background: #e8f5e9;
  color: #1b5e20;
}
.dh-contact-cf7 .wpcf7-mail-sent-ng .wpcf7-response-output,
.dh-contact-cf7 .wpcf7-aborted .wpcf7-response-output { background: #fbe9e7; color: #b71c1c; }

/* Responsive */
@media (max-width: 900px) {
  .dh-contact-body {
    grid-template-columns: 1fr;
    gap: 40px;
    padding: 48px 24px 72px;
  }
  .dh-contact-hero { padding: 56px 24px 48px; }
  .dh-contact-form-wrap { padding: 28px 24px 32px; }
  .dh-field-row { grid-template-columns: 1fr; }
}

/* ── Cookie Banner ──────────────────────────────────────────────── */
#dh-cookie-bar {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%) translateY(calc(100% + 32px));
  width: calc(100% - 48px);
  max-width: 860px;
  z-index: 99;
  background: #fff;
  border: 1.5px solid #e0e0e0;
  border-bottom: 3px solid #111;
  border-radius: 2px;
  padding: 18px 20px 18px 24px;
  display: flex;
  align-items: center;
  gap: 24px;
  box-shadow: 0 8px 32px rgba(0,0,0,.12);
  opacity: 0;
  transition: transform .38s cubic-bezier(.22,.61,.36,1), opacity .3s ease;
  will-change: transform, opacity;
}
#dh-cookie-bar.dh-cookie-visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
.dh-cookie-bar__left {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  flex: 1;
  min-width: 0;
}
.dh-cookie-bar__icon {
  font-size: 20px;
  flex-shrink: 0;
  line-height: 1.2;
  margin-top: 1px;
}
.dh-cookie-bar__text {
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  color: #555;
  line-height: 1.55;
  margin: 0;
}
.dh-cookie-bar__text strong {
  font-weight: 700;
  color: #111;
}
.dh-cookie-bar__text a {
  color: #111;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.dh-cookie-bar__text a:hover { opacity: .55; }
.dh-cookie-bar__actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  flex-shrink: 0;
  width: 140px;
}
.dh-cookie-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  cursor: pointer;
  border: none;
  padding: 10px 16px;
  line-height: 1;
  transition: background .18s, color .18s, border-color .18s;
  white-space: nowrap;
}
.dh-cookie-btn--accept {
  background: #111;
  color: #fff;
}
.dh-cookie-btn--accept:hover { background: #333; }
.dh-cookie-btn--decline {
  background: none;
  border: 1.5px solid #ddd;
  color: #888;
}
.dh-cookie-btn--decline:hover { border-color: #111; color: #111; }

@media (max-width: 640px) {
  #dh-cookie-bar {
    bottom: 12px;
    width: calc(100% - 24px);
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    padding: 18px 18px 18px 18px;
  }
  .dh-cookie-bar__actions {
    width: 100%;
    flex-direction: row;
    gap: 8px;
  }
  .dh-cookie-btn { flex: 1; }
}

/* ── Single product — gallery padding on mobile ───────────── */
@media (max-width: 767px) {
  body.single-product .single-product__gallery {
    margin-left: -14px;
    margin-right: -14px;
    width: calc(100% + 28px) !important;
    max-width: calc(100% + 28px) !important;
    box-sizing: border-box;
  }
  /* Force image to fill swiper slide width */
  body.single-product .single-product__gallery .product-gallery__main .swiper-slide {
    min-width: 100% !important;
  }
  body.single-product .single-product__gallery .product-gallery__main .product-gallery__link,
  body.single-product .single-product__gallery .product-gallery__main .product-gallery__image {
    width: 100% !important;
    max-width: 100% !important;
    display: block;
  }
}

/* ── Single product — hide rating block ───────────────────── */
body.single-product .single-product__rating { display: none !important; }

/* ── Single product — hide "100% Authentic" gallery badge ─── */
body.single-product .product-gallery__badge { display: none !important; }

/* ── Single product — hide reviews block ──────────────────── */
body.single-product .reviews-block { display: none !important; }

/* ── Single product — hide info-block (condition/auth/seller/stock) ── */
body.single-product .single-product__info-block { display: none !important; }
body.single-product .single-product__payment-methods { display: none !important; }
body.single-product .single-product__attributes { display: none !important; }

/* ── Single product — Farfetch-style price block ──────────── */
body.single-product .dh-price {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 2px;
  margin: 8px 0 10px !important;
}
/* Prices row: original + final + discount all in one line */
body.single-product .dh-price__row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
/* Original (crossed out) price */
body.single-product .dh-price__original {
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: #999 !important;
  text-decoration: line-through !important;
  line-height: 1.3 !important;
}
/* Final price — normal */
body.single-product .dh-price__final {
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  color: #111 !important;
  line-height: 1.3 !important;
}
/* Final price — on sale (red) */
body.single-product .dh-price__final--sale {
  color: #c0392b !important;
}
body.single-product .dh-price__original .woocommerce-Price-amount,
body.single-product .dh-price__final .woocommerce-Price-amount { font-size: inherit !important; color: inherit !important; }
/* Discount % */
body.single-product .dh-price__discount {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  color: #c0392b !important;
  margin: 2px 0 0 !important;
  line-height: 1.3 !important;
}
/* VAT label */
body.single-product .dh-price__vat {
  font-size: 0.6875rem !important;
  font-weight: 400 !important;
  color: #999 !important;
  margin: 2px 0 0 !important;
  line-height: 1.3 !important;
}
/* Hide old WC price markup inside dh-price if any remains */
body.single-product .dh-price > .woocommerce-Price-amount { display: none !important; }

/* ── Single product — Farfetch-style shipping block ─────── */
body.single-product .dh-shipping {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  margin-top: 4px !important;
  margin-bottom: 4px !important;
  padding: 4px 0 6px !important;
  border-top: none !important;
}
body.single-product .dh-shipping__item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
body.single-product .dh-shipping__label {
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #111 !important;
  margin: 0 !important;
  line-height: 1.3 !important;
}
body.single-product .dh-shipping__value {
  font-size: 0.9375rem !important;
  font-weight: 400 !important;
  color: #444 !important;
  margin: 0 !important;
  line-height: 1.4 !important;
}
body.single-product .dh-shipping__value strong {
  font-weight: 400 !important;
  color: #444 !important;
}
/* Hide old shipping icons if any remain */
body.single-product .single-product__shipping-icon { display: none !important; }

/* ── Single product — trademark block ─────────────────────── */
body.single-product .single-product__trademark {
  border-top: 1px solid #e0e0e0 !important;
  border-bottom: none !important;
  margin-bottom: 0 !important;
  padding: 10px 0 6px !important;
}

/* ── Single product — Farfetch-style accordion tabs ──────── */

/* Container: no gap, stack flush */
body.single-product .single-product__tabs {
  gap: 0 !important;
  margin-top: 24px !important;
  border-top: 1px solid #e0e0e0;
}

/* Each tab: no box, just border-bottom */
body.single-product .single-product__tab-item {
  border: none !important;
  border-bottom: 1px solid #e0e0e0 !important;
  border-radius: 0 !important;
  background: none !important;
  overflow: hidden;
}
body.single-product .single-product__tab-item:hover {
  border-color: #e0e0e0 !important;
}

/* Summary row */
body.single-product .single-product__tab-summary {
  padding: 18px 0 !important;
  background: none !important;
  gap: 0 !important;
}
body.single-product .single-product__tab-summary:hover {
  background: none !important;
}

/* Hide icons */
body.single-product .single-product__tab-icon { display: none !important; }

/* Title */
body.single-product .single-product__tab-title {
  font-size: 0.8125rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  color: #111 !important;
  text-transform: uppercase !important;
}

/* Chevron SVG */
body.single-product .single-product__tab-chevron-svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  color: #111;
  transition: transform 0.25s ease;
  display: block;
}
body.single-product .single-product__tab-item[open] .single-product__tab-chevron-svg {
  transform: rotate(180deg);
}

/* Keep old + chevron hidden */
body.single-product .single-product__tab-chevron {
  display: none !important;
}

/* Disable parent CSS grid animation — JS handles height transition */
body.single-product .single-product__tab-content {
  display: block !important;
  grid-template-rows: unset !important;
  opacity: 1 !important;
  overflow: hidden;
  /* NO transition here — JS sets it inline */
}
body.single-product .single-product__tab-content > * {
  min-height: unset !important;
}
/* Hidden state (JS-controlled) */
body.single-product .single-product__tab-item:not([open]) .single-product__tab-content {
  display: none;
}

/* ── Tab content — unified typography ─────────────────────── */
body.single-product .single-product__tab-content-inner {
  padding: 0 0 24px !important;
  font-size: 0.8125rem !important;
  font-family: inherit !important;
  color: #333 !important;
  line-height: 1.65 !important;
}
/* Reset any stray inline styles */
body.single-product .single-product__tab-content-inner [style] {
  all: unset;
  display: revert;
  font-family: inherit;
}
/* Paragraphs */
body.single-product .single-product__tab-content-inner p {
  font-size: 0.8125rem !important;
  line-height: 1.65 !important;
  color: #333 !important;
  margin: 0 0 8px !important;
  font-weight: 400 !important;
}
body.single-product .single-product__tab-content-inner p:last-child { margin-bottom: 0 !important; }
/* Bold / strong */
body.single-product .single-product__tab-content-inner strong,
body.single-product .single-product__tab-content-inner b {
  font-weight: 600 !important;
  color: #111 !important;
}
/* Headings */
body.single-product .single-product__tab-content-inner h2,
body.single-product .single-product__tab-content-inner h3,
body.single-product .single-product__tab-content-inner h4 {
  font-size: 0.6875rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  color: #111 !important;
  margin: 18px 0 6px !important;
  line-height: 1.3 !important;
}
body.single-product .single-product__tab-content-inner h2:first-child,
body.single-product .single-product__tab-content-inner h3:first-child,
body.single-product .single-product__tab-content-inner h4:first-child { margin-top: 0 !important; }
/* Lists */
body.single-product .single-product__tab-content-inner ul,
body.single-product .single-product__tab-content-inner ol {
  margin: 0 0 8px !important;
  padding-left: 0 !important;
  list-style: none !important;
}
body.single-product .single-product__tab-content-inner li {
  font-size: 0.8125rem !important;
  line-height: 1.65 !important;
  color: #333 !important;
  padding: 1px 0 1px 12px !important;
  margin: 0 !important;
  position: relative !important;
  list-style: none !important;
}
body.single-product .single-product__tab-content-inner li::marker {
  content: '' !important;
}
body.single-product .single-product__tab-content-inner ul li::before {
  content: '•';
  position: absolute;
  left: 0;
  color: #333;
  font-size: 0.625rem;
  line-height: 2.2;
}

/* Complete the fit / Recently viewed — avoid full-width slide flash before Swiper inits */
body.single-product .product-slider:not(.swiper-initialized) {
  overflow: hidden;
}

body.single-product .product-slider:not(.swiper-initialized) .swiper-wrapper {
  display: flex;
  flex-wrap: nowrap;
  gap: 12px;
  align-items: stretch;
}

body.single-product .product-slider:not(.swiper-initialized) .swiper-slide {
  flex: 0 0 calc(50% - 6px);
  width: calc(50% - 6px) !important;
  max-width: calc(50% - 6px) !important;
  box-sizing: border-box;
}

@media (min-width: 576px) {
  body.single-product .product-slider:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 calc(100% / 2.2 - 10px);
    width: calc(100% / 2.2 - 10px) !important;
    max-width: calc(100% / 2.2 - 10px) !important;
  }
}

@media (min-width: 768px) {
  body.single-product .product-slider:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 calc(100% / 3.3 - 10px);
    width: calc(100% / 3.3 - 10px) !important;
    max-width: calc(100% / 3.3 - 10px) !important;
  }
}

@media (min-width: 992px) {
  body.single-product .product-slider:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 calc(100% / 4.5 - 10px);
    width: calc(100% / 4.5 - 10px) !important;
    max-width: calc(100% / 4.5 - 10px) !important;
  }
}

@media (min-width: 1200px) {
  body.single-product .product-slider:not(.swiper-initialized) .swiper-slide {
    flex: 0 0 calc(100% / 5.5 - 10px);
    width: calc(100% / 5.5 - 10px) !important;
    max-width: calc(100% / 5.5 - 10px) !important;
  }
}

/* ── Single product — narrower info column on desktop ─────── */
@media (min-width: 992px) {
  body.single-product .single-product__layout {
    grid-template-columns: minmax(0, 1.22fr) minmax(0, 0.67fr) !important;
  }
}

/* ── Single product — brand & title (Farfetch style) ─────── */
body.single-product .single-product__brand,
body.single-product .single-product__brand a {
  font-size: 1.25rem !important;
  font-weight: 600 !important;
  color: #111 !important;
  text-transform: uppercase !important;
  letter-spacing: -0.02em !important;
  line-height: 1.1 !important;
  margin-bottom: 4px !important;
}
@media (min-width: 768px) {
  body.single-product .single-product__brand,
  body.single-product .single-product__brand a {
    font-size: 1.5rem !important;
  }
}
body.single-product .single-product__title {
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: #666 !important;
  letter-spacing: 0 !important;
  line-height: 1.4 !important;
  margin-bottom: 12px !important;
}

/* ── Single product — breadcrumbs ─────────────────────────── */
body.single-product .single-product .breadcrumbs {
  margin-bottom: 12px;
}
body.single-product .single-product .breadcrumbs .breadcrumbs__list {
  display: flex;
  flex-wrap: nowrap !important;
  align-items: center;
  gap: 0;
  overflow: hidden;
  font-size: 11px;
  line-height: 1.4;
  color: #999;
  white-space: nowrap;
}
/* intermediate items — don't shrink, show fully */
body.single-product .single-product .breadcrumbs .breadcrumbs__item {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
body.single-product .single-product .breadcrumbs .breadcrumbs__item a {
  font-size: 11px;
  color: #999;
  white-space: nowrap;
}
/* separator */
body.single-product .single-product .breadcrumbs .breadcrumbs__separator {
  flex-shrink: 0;
  font-size: 11px;
  color: #ccc;
  margin: 0 3px;
}
/* current page (product name) — shrinks and truncates with ellipsis */
body.single-product .single-product .breadcrumbs .breadcrumbs__item:last-child {
  flex-shrink: 1;
  min-width: 0;
  overflow: hidden;
}
body.single-product .single-product .breadcrumbs .breadcrumbs__item[aria-current="page"],
body.single-product .single-product .breadcrumbs .breadcrumbs__current {
  font-size: 11px;
  font-weight: 400;
  color: #555;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

/* ── Single product — actions row (add-to-cart + wishlist) ── */
/* .cart can be div or form depending on product type */
body.single-product .single-product__actions.dh-actions .cart,
body.single-product .single-product__actions.dh-actions .woocommerce-variation-add-to-cart {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: stretch;
  gap: 8px;
}
/* Hide quantity — not needed for this store */
body.single-product .single-product__actions.dh-actions .quantity {
  display: none !important;
}
/* Add to cart button takes remaining width */
body.single-product .single-product__actions.dh-actions .cart .single_add_to_cart_button,
body.single-product .single-product__actions.dh-actions .cart .add_to_cart_button,
body.single-product .single-product__actions.dh-actions .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}
/* No hover jump */
body.single-product .single-product__actions.dh-actions .single_add_to_cart_button:hover,
body.single-product .single-product__actions.dh-actions .add_to_cart_button:hover {
  transform: none !important;
  box-shadow: none !important;
}
/* Wishlist button — desktop: full button with text */
body.single-product .dh-actions__wish {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  background: transparent;
  border: none;
  border-radius: 0;
  cursor: pointer;
  padding: 0 16px;
  white-space: nowrap;
  transition: opacity 0.2s;
}
body.single-product .dh-actions__wish:hover {
  opacity: 0.65;
}
body.single-product .dh-actions__wish svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  pointer-events: none;
  color: #111;
  stroke: #111;
}
body.single-product .dh-actions__wish-label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #111;
}
body.single-product .dh-actions__wish-fill {
  display: none;
}
body.single-product .dh-actions__wish[aria-pressed="true"] .dh-actions__wish-outline { display: none; }
body.single-product .dh-actions__wish[aria-pressed="true"] .dh-actions__wish-fill {
  display: block;
  color: #111;
  stroke: #111;
}

/* Mobile: icon only, no border */
@media (max-width: 767px) {
  body.single-product .dh-actions__wish {
    width: 44px;
    padding: 0;
    border: none;
    background: transparent;
  }
  body.single-product .dh-actions__wish:hover { background: transparent; }
  body.single-product .dh-actions__wish-label { display: none; }
  body.single-product .dh-actions__wish svg {
    width: 22px;
    height: 22px;
  }
}

/* ── Single product gallery — disable zoom on hover ── */
body.single-product .product-gallery__main .product-gallery__link:hover .product-gallery__image {
  transform: none !important;
}
body.single-product .product-gallery__main .product-gallery__image {
  transition: none !important;
}

/* ── Single product gallery: thumb column stack (flex child of __inner, like __thumbs) ── */
body.single-product .product-gallery__thumbs-stack {
  order: 1;
  width: 100%;
  max-width: 100%;
}

/* Parent theme sets .product-gallery__thumbs { order: 2 } on desktop — that pulled BOTH nav
   buttons (order: 0) above the swiper. Neutralize so DOM order wins: prev → thumbs → next. */
body.single-product .product-gallery__thumbs-stack > .product-gallery__thumbs.swiper {
  order: 0;
}

@media (min-width: 992px) {
  body.single-product .product-gallery__inner > .product-gallery__thumbs-stack {
    order: 2;
    width: auto;
    min-width: 80px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }

  /* 8 × 80px thumbs + 7 × 8px Swiper gaps; nav buttons sit outside this Swiper root */
  body.single-product .product-gallery__thumbs-stack.dh-thumbs-scrollable .product-gallery__thumbs.swiper {
    max-height: calc(8 * 80px + 7 * 8px);
    box-sizing: border-box;
  }
}

body.single-product .product-gallery__thumbs-nav {
  display: none;
  align-items: center;
  justify-content: center;
  width: 80px;
  max-width: 80px;
  height: 36px;
  padding: 0;
  margin: 0;
  border: none;
  background: transparent;
  color: #111;
  cursor: pointer;
  border-radius: 0;
  transition: background-color 0.2s ease, color 0.2s ease;
  box-sizing: border-box;
  flex-shrink: 0;
  -webkit-tap-highlight-color: transparent;
}

body.single-product .product-gallery__thumbs-nav svg {
  display: block;
  flex-shrink: 0;
}

body.single-product .product-gallery__thumbs-nav:hover:not(:disabled),
body.single-product .product-gallery__thumbs-nav:focus-visible:not(:disabled) {
  background: #111;
  color: #fff;
}

body.single-product .product-gallery__thumbs-nav:focus {
  outline: none;
}

body.single-product .product-gallery__thumbs-nav:active:not(:disabled) {
  background: #000;
  color: #fff;
}

body.single-product .product-gallery__thumbs-nav:disabled {
  cursor: default;
  background: transparent;
  box-shadow: none;
}

body.single-product .product-gallery__thumbs-nav:disabled svg {
  opacity: 0.28;
}

@media (min-width: 992px) {
  body.single-product .product-gallery__thumbs-stack.dh-thumbs-scrollable .product-gallery__thumbs-nav {
    display: flex;
  }
}

/* ── Single product — size label + size chart on same row ── */
body.single-product .dh-label-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px;
  white-space: nowrap;
}
body.single-product .dh-label-row label {
  margin: 0 !important;
}

/* ── Size selector — label+chart on top row, buttons below ── */
body.single-product .variations tr {
  display: flex !important;
  flex-direction: column !important;
}
body.single-product .variations th.dh-label-row {
  width: 100% !important;
  padding-bottom: 8px !important;
}
body.single-product .variations td.value {
  width: 100% !important;
  padding: 0 !important;
}

/* ── Size label/chart — match shoe-size font styles ── */
body.single-product .variations th.dh-label-row label {
  font-size: .75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: #32353f !important;
}
body.single-product .variations th.dh-label-row .single-product__size-chart-btn {
  font-size: 11px !important;
  color: #000 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
  font-family: inherit !important;
  cursor: pointer;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
body.single-product .variations th.dh-label-row .single-product__size-chart-btn:hover {
  opacity: .6;
}

/* ── Shop filters — hide redundant filter groups on taxonomy pages ── */
/* On brand page: hide BRANDS filter */
body.tax-product_brand .shop-filters__group:has(input[name="filter_brand"]) {
  display: none !important;
}
/* On category/type page: hide TYPE filter */
/* TYPE filter on category pages is now filtered server-side to show only children */

/* ── Active filter chips — hide redundant chips on taxonomy pages ── */
/* On brand page: hide brand chips */
body.tax-product_brand .shop-page__active-filters-chip[data-filter-key="filter_brand"],
body.tax-product_brand .shop-filters__active-chips .shop-page__active-filters-chip[data-filter-key="filter_brand"] {
  display: none !important;
}
/* On category/type page: hide type chips */
/* On cat pages filter_type chips are now valid (show child types) — hide only brand chips */
/* Hide the whole chips wrapper if it becomes empty after hiding brand chip */
body.tax-product_brand .shop-filters__active-chips:not(:has(.shop-page__active-filters-chip:not([data-filter-key="filter_brand"]))) {
  display: none !important;
}
body.tax-product_brand .shop-page__active-filters:not(:has(.shop-page__active-filters-chip:not([data-filter-key="filter_brand"]))) {
  display: none !important;
}

/* ═══════════════════════════════════════════════════════════
   Size Guide Modal — Farfetch style
   ═══════════════════════════════════════════════════════════ */

/* Mobile: full-screen */
body.single-product .dh-sg-panel.single-product__size-chart-dialog {
  width: 100vw !important;
  max-width: 100vw !important;
  height: 100vh !important;
  max-height: 100vh !important;
  margin: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}
body.single-product .dh-sg-modal.single-product__size-chart-modal {
  padding: 0 !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
}

/* Desktop: centered popup like Farfetch */
@media (min-width: 768px) {
  body.single-product .dh-sg-modal.single-product__size-chart-modal {
    padding: 40px !important;
    align-items: center !important;
    justify-content: center !important;
  }
  body.single-product .dh-sg-panel.single-product__size-chart-dialog {
    width: 500px !important;
    max-width: 500px !important;
    height: auto !important;
    max-height: 86vh !important;
    border-radius: 0 !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.18) !important;
  }
}

/* Header — fixed at top */
body.single-product .dh-sg-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px 18px;
  border-bottom: 1px solid #e8e8e6;
  flex-shrink: 0;
}
body.single-product .dh-sg-header__brand {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: #111;
  margin: 0;
}
body.single-product .dh-sg-close {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  color: #111;
  padding: 0;
  flex-shrink: 0;
}
body.single-product .dh-sg-close svg {
  width: 18px;
  height: 18px;
}
body.single-product .dh-sg-close:hover { opacity: .6; }

/* Scrollable body — fills remaining height */
body.single-product .dh-sg-body.single-product__size-chart-dialog-inner {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  flex: 1 1 auto !important;
  padding: 0 !important;
  max-height: none !important;
}

/* Product info block */
body.single-product .dh-sg-product {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid #e8e8e6;
}
body.single-product .dh-sg-product__img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  flex-shrink: 0;
  background: #f5f5f3;
}
body.single-product .dh-sg-product__brand {
  font-size: 13px;
  font-weight: 700;
  color: #111;
  margin: 0;
  line-height: 1.3;
}
body.single-product .dh-sg-product__name {
  font-size: 12px;
  color: #696969;
  margin: 4px 0 0;
  line-height: 1.4;
}

/* Section head: title + optional toggle */
body.single-product .dh-sg-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 24px 0;
  border-bottom: 1px solid #e8e8e6;
  padding-bottom: 0;
  margin-bottom: 8px;
}
body.single-product .dh-sg-section-title {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #111 !important;
  margin: 0 !important;
  padding-bottom: 14px !important;
  border-bottom: 2px solid #111;
  line-height: 1 !important;
}

/* Unit toggle */
body.single-product .dh-sg-toggle {
  display: inline-flex;
  gap: 0;
  margin-bottom: 0;
}
body.single-product .dh-sg-toggle__btn {
  font-size: 11px !important;
  font-weight: 500 !important;
  color: #999 !important;
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  padding: 0 12px 14px !important;
  cursor: pointer;
  letter-spacing: .04em;
  text-transform: uppercase;
  transition: color .15s, border-color .15s;
}
body.single-product .dh-sg-toggle__btn.is-active {
  color: #111 !important;
  border-bottom-color: #111 !important;
}

/* Table wrapper — horizontal scroll when many columns */
body.single-product .dh-sg-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 24px;
}

/* Table */
body.single-product .dh-sg-table {
  width: 100% !important;
  min-width: 260px !important;
  border-collapse: collapse !important;
  font-size: 13px !important;
  margin: 0 !important;
}
body.single-product .dh-sg-table th,
body.single-product .dh-sg-table td {
  padding: 14px 16px !important;
  text-align: left !important;
  border-bottom: 1px solid #f0f0ee !important;
  font-size: 13px !important;
  white-space: nowrap;
}
body.single-product .dh-sg-table th:first-child,
body.single-product .dh-sg-table td:first-child { padding-left: 24px !important; }
body.single-product .dh-sg-table th:last-child,
body.single-product .dh-sg-table td:last-child  { padding-right: 24px !important; }
body.single-product .dh-sg-table thead th {
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: #999 !important;
  background: transparent !important;
  padding-top: 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #e8e8e6 !important;
}
body.single-product .dh-sg-table tbody tr:nth-child(odd) td {
  background: #fafaf9 !important;
}
body.single-product .dh-sg-table tbody td {
  color: #111 !important;
  font-weight: 400 !important;
}
body.single-product .dh-sg-table tbody td:first-child {
  font-weight: 600 !important;
}

/* Hide the old title/caption/inner-scroll from parent theme styles */
body.single-product .dh-sg-body .single-product__size-chart-title,
body.single-product .dh-sg-body .single-product__size-chart-caption,
body.single-product .dh-sg-body .single-product__size-chart-table-title,
body.single-product .dh-sg-body .single-product__size-chart-scroll {
  display: none !important;
}
/* Hide the old ×-close button (replaced by dh-sg-close) */
body.single-product .dh-sg-panel .single-product__size-chart-close {
  display: none !important;
}

/* ── Size Guide — expandable rows list ─────────────────── */
body.single-product .dh-sg-list-head {
  display: flex;
  align-items: center;
  padding: 12px 24px;
  background: #fafaf9;
  border-bottom: 1px solid #e8e8e6;
}
body.single-product .dh-sg-list-head__col1 {
  flex: 1;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
}
body.single-product .dh-sg-list-head__col2 {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #999;
  min-width: 80px;
  text-align: right;
  padding-right: 32px;
}

body.single-product .dh-sg-list {
  width: 100%;
}
body.single-product .dh-sg-item {
  border-bottom: 1px solid #f0f0ee;
}
body.single-product .dh-sg-item:nth-child(even) .dh-sg-item__main {
  background: #fafaf9;
}
body.single-product .dh-sg-item__main {
  display: flex;
  align-items: center;
  padding: 14px 24px;
  cursor: default;
  gap: 8px;
}
body.single-product .dh-sg-item--expandable .dh-sg-item__main {
  cursor: pointer;
}
body.single-product .dh-sg-item__col1 {
  flex: 1;
  font-size: 13px;
  font-weight: 500;
  color: #111;
}
body.single-product .dh-sg-item__col2 {
  font-size: 13px;
  color: #444;
  min-width: 80px;
  text-align: right;
}
body.single-product .dh-sg-item__chevron {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: #999;
  transition: transform .2s ease;
}
body.single-product .dh-sg-item__chevron svg { width: 16px; height: 16px; }
body.single-product .dh-sg-item.is-open .dh-sg-item__chevron {
  transform: rotate(180deg);
}

/* Detail panel */
body.single-product .dh-sg-item__detail {
  display: none;
  background: #f5f5f3;
  padding: 4px 24px 12px;
}
body.single-product .dh-sg-item__detail-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 0;
  border-bottom: 1px solid #ebebea;
}
body.single-product .dh-sg-item__detail-row:last-child { border-bottom: none; }
body.single-product .dh-sg-item__detail-label {
  font-size: 11px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: .06em;
  font-weight: 500;
}
body.single-product .dh-sg-item__detail-val {
  font-size: 13px;
  color: #111;
  font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════
   Photo Reviews — grid + lightbox
   ═══════════════════════════════════════════════════════════ */

/* Section wrapper */
.dh-photo-reviews {
  padding: 48px 0 16px;
  max-width: 2000px;
  margin-left: auto;
  margin-right: auto;
}
.dh-photo-reviews__title {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.25;
  text-align: center;
  color: #111;
  margin: 0 0 16px;
}
@media (min-width: 768px) {
  .dh-photo-reviews__title {
    font-size: 2rem;
    margin-bottom: 24px;
  }
}

/* Grid — 4 cols desktop, 2 cols mobile */
.dh-photo-reviews__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
}
@media (max-width: 767px) {
  .dh-photo-reviews__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 3px;
  }
}

/* Each photo tile */
.dh-photo-reviews__item {
  display: block;
  padding: 0;
  border: none;
  background: #f5f5f4;
  cursor: pointer;
  overflow: hidden;
  aspect-ratio: 2 / 3;
}
.dh-photo-reviews__item--hidden {
  display: none !important;
}

/* Load More button */
.dh-photo-reviews__load-more-wrap {
  display: flex;
  justify-content: center;
  padding: 32px 0 0;
}
.dh-photo-reviews__load-more {
  appearance: none;
  background: transparent;
  border: 1px solid #111;
  padding: 12px 40px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  cursor: pointer;
  color: #111;
  transition: background .2s ease, color .2s ease;
}
.dh-photo-reviews__load-more:hover {
  background: #111;
  color: #fff;
}
.dh-photo-reviews__item {
  position: relative;
}
.dh-photo-reviews__item img,
.dh-photo-reviews__item video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .3s ease;
}
.dh-photo-reviews__item:hover img,
.dh-photo-reviews__item:hover video {
  transform: scale(1.04);
}

/* Play button overlay for video tiles */
.dh-photo-reviews__play-icon {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.dh-photo-reviews__play-icon svg {
  width: 48px;
  height: 48px;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.4));
}
@media (max-width: 767px) {
  .dh-photo-reviews__play-icon svg {
    width: 36px;
    height: 36px;
  }
}

/* ── Lightbox backdrop ── */
.dh-pr-lightbox__backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.85);
  z-index: 9998;
}
.dh-pr-lightbox__backdrop.is-open { display: block; }

/* ── Lightbox panel ── */
.dh-pr-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.dh-pr-lightbox.is-open { display: flex; }

/* Image wrapper */
.dh-pr-lightbox__img-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 60px 70px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .dh-pr-lightbox__img-wrap {
    padding: 64px 12px 48px;
  }
}
.dh-pr-lightbox__img,
.dh-pr-lightbox__video {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
}

/* Close button */
.dh-pr-lightbox__close {
  position: fixed;
  top: 16px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: none;
  background: rgba(255,255,255,.15);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10000;
  padding: 0;
}
.dh-pr-lightbox__close svg { width: 20px; height: 20px; }
.dh-pr-lightbox__close:hover { background: rgba(255,255,255,.28); }

/* Prev / Next nav arrows */
.dh-pr-lightbox__nav {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: none;
  background: rgba(255,255,255,.15);
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10000;
  padding: 0;
}
.dh-pr-lightbox__nav svg { width: 22px; height: 22px; }
.dh-pr-lightbox__nav:hover { background: rgba(255,255,255,.28); }
.dh-pr-lightbox__nav--prev { left: 12px; }
.dh-pr-lightbox__nav--next { right: 12px; }

/* Counter "1 / 6" */
.dh-pr-lightbox__counter {
  position: fixed;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
  color: rgba(255,255,255,.75);
  font-size: 13px;
  letter-spacing: .06em;
  pointer-events: none;
}

/* ── Mobile horizontal filter bar ──────────────────────── */
.dh-filter-bar {
  display: none;
}
@media (max-width: 991px) {
  /* Sits inside .shop-page__top — take full row */
  .shop-page__top {
    flex-wrap: wrap;
    gap: 0;
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
  .shop-page__top-left,
  .shop-page__sort {
    display: none !important;
  }
  .dh-filter-bar {
    display: flex;
    align-items: center;
    gap: 6px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    padding: 8px 0 9px;
    margin-bottom: 0;
    width: 100%;
    flex-shrink: 0;
  }
  /* Firefox */
  @supports (-moz-appearance: none) {
    .dh-filter-bar {
      scrollbar-width: thin;
      scrollbar-color: #666 #e8e8e6;
    }
  }
  /* Chrome / Safari */
  .dh-filter-bar::-webkit-scrollbar { height: 1px; }
  .dh-filter-bar::-webkit-scrollbar-track { background: #e8e8e6; }
  .dh-filter-bar::-webkit-scrollbar-thumb { background: #666; border-radius: 0; }
  .dh-filter-bar__btn {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex-shrink: 0;
    height: 36px;
    padding: 0 14px;
    border: 1px solid #d0d0ce;
    border-radius: 0;
    background: #fff;
    color: #111;
    font-size: 13px;
    font-weight: 400;
    font-family: inherit;
    letter-spacing: .03em;
    cursor: pointer;
    transition: background .15s, border-color .15s, color .15s;
    white-space: nowrap;
  }
  .dh-filter-bar__btn svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
  }
  .dh-filter-bar__btn--filter {
    font-weight: 500;
  }
  .dh-filter-bar__btn:active {
    background: #f2f2f2;
  }

  /* Sort popup */
  .dh-sort-popup {
    position: absolute;
    z-index: 9999;
    background: #fff;
    border: 1px solid #e8e8e6;
    box-shadow: 0 4px 20px rgba(0,0,0,.12);
    border-radius: 0;
    overflow: hidden;
    min-width: 180px;
  }
  .dh-sort-popup__item {
    display: block;
    width: 100%;
    padding: 12px 18px;
    text-align: left;
    background: none;
    border: none;
    font-size: 14px;
    font-family: inherit;
    color: #111;
    cursor: pointer;
    border-bottom: 1px solid #f2f2f2;
  }
  .dh-sort-popup__item:last-child { border-bottom: none; }
  .dh-sort-popup__item.is-active { font-weight: 600; }
  .dh-sort-popup__item:active { background: #f8f8f8; }

}

/* ── Category child tabs (all screens) ─────────────────── */
.dh-cat-tabs {
  display: flex;
  align-items: flex-end;
  gap: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  white-space: nowrap;
  margin: 4px 0 16px;
  padding: 0 0 9px;
}
/* Firefox */
@supports (-moz-appearance: none) {
  .dh-cat-tabs {
    scrollbar-width: thin;
    scrollbar-color: #666 #e8e8e6;
  }
}
/* Chrome / Safari — webkit-scrollbar is ignored if scrollbar-width is set */
.dh-cat-tabs::-webkit-scrollbar {
  height: 1px;
}
.dh-cat-tabs::-webkit-scrollbar-track {
  background: #e8e8e6;
}
.dh-cat-tabs::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 0;
}
.dh-cat-tabs__tab {
  display: inline-block;
  flex-shrink: 0;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: .04em;
  color: #888;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  cursor: pointer;
  font-family: inherit;
  transition: color .15s, border-color .15s;
}
.dh-cat-tabs__tab.is-active {
  color: #111;
  border-bottom-color: #111;
  font-weight: 600;
}
.dh-cat-tabs__tab:active { color: #111; }

/* Shoe size — unavailable (no products under current filters) */
.shop-filters__checkbox--unavailable {
  opacity: 0.35;
  pointer-events: none;
}
.shop-filters__checkbox--unavailable input[type="checkbox"] {
  pointer-events: none;
}

