/* ============================================================
   D-ANALOG · GLOBAL THEME (Storefront child)
   Cream pages · charcoal cards/footer · gold accents.
   Cormorant Garamond (headings) + Inter (UI).
   ============================================================ */

:root{
  --da-gold:#c9a96e;
  --da-gold-deep:#b08d4f;
  --da-gold-soft:rgba(201,169,110,.5);
  --da-black:#1a1a1a;
  --da-ink:#2b2b2b;
  --da-card:#161513;
  --da-card-2:#0f0e0d;
  --da-line:#262320;
  --da-cream:#f5f2ee;
  --da-cream-2:#efeae2;
  --da-border:#e3ddd2;
  --da-muted:#8a8276;
  --da-title:#f3efe8;
  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Inter",system-ui,-apple-system,sans-serif;
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ============================================================
   BASE / TYPOGRAPHY
   ============================================================ */
body{
  background:var(--da-cream);
  color:var(--da-ink);
  font-family:var(--sans);
  font-weight:300;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
.site{ background:var(--da-cream); }

h1,h2,h3,h4,h5,h6,
.page-title,.product_title,.entry-title{
  font-family:var(--serif);
  font-weight:500;
  color:var(--da-black);
  letter-spacing:.01em;
  line-height:1.15;
}

a{ color:var(--da-black); text-decoration:none; transition:color .25s var(--ease); }
a:hover{ color:var(--da-gold); }

/* ============================================================
   BUTTONS  (Storefront uses .button / button / input[type=submit])
   ============================================================ */
button,
.button,
input[type="button"],
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.16em;
  text-transform:uppercase;
  background:var(--da-black);
  color:var(--da-cream);
  border:1px solid var(--da-black);
  border-radius:3px;
  padding:14px 28px;
  transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
button:hover,
.button:hover,
input[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover{
  background:var(--da-gold);
  color:var(--da-black);
  border-color:var(--da-gold);
}
/* Primary "alt" buttons (add to cart, place order) */
.woocommerce .button.alt,
.woocommerce button.button.alt,
.woocommerce #place_order{
  background:var(--da-gold);
  color:var(--da-black);
  border-color:var(--da-gold);
}
.woocommerce .button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce #place_order:hover{
  background:var(--da-black);
  color:var(--da-cream);
  border-color:var(--da-black);
}

/* Inputs */
input[type="text"],input[type="email"],input[type="tel"],input[type="password"],
input[type="search"],input[type="number"],textarea,select,.select2-container .select2-selection{
  font-family:var(--sans);
  border:1px solid var(--da-border);
  border-radius:3px;
  background:#fff;
  color:var(--da-ink);
}

/* ============================================================
   HEADER  (Storefront .site-header)
   ============================================================ */
/* Two-tier utility bar */
.da-topbar{ background:var(--da-black); color:#cfc9bd; }
.da-topbar__in{
  max-width:1200px; margin:0 auto; padding:9px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  font-family:var(--sans); font-size:11px; letter-spacing:.1em;
}
.da-topbar__l{ text-transform:uppercase; }
.da-topbar__l b{ color:var(--da-gold); font-weight:600; }
.da-topbar__r{ display:flex; align-items:center; gap:20px; }
.da-topbar__r a{ color:#cfc9bd; text-decoration:none; letter-spacing:.06em; transition:color .25s var(--ease); }
.da-topbar__r a:hover{ color:var(--da-gold); }
.da-topbar__cur{ color:var(--da-gold); }
@media(max-width:768px){ .da-topbar__l{ display:none; } .da-topbar__in{ justify-content:center; } }

.site-header{
  background:rgba(245,242,238,.9);
  -webkit-backdrop-filter:saturate(180%) blur(10px);
  backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--da-border);
  padding-top:16px;
  padding-bottom:16px;
  position:sticky; top:0; z-index:999;
}
/* Option 2 layout: logo left · nav center (absolute) · search + cart right */
.site-header .col-full{ display:flex !important; align-items:center; justify-content:flex-start; flex-wrap:nowrap; gap:14px; position:relative; }
.site-header .site-branding{ order:1; flex:0 0 auto; margin:0; width:auto !important; float:none !important; z-index:2; }
/* nav absolutely centered so logo/cart positioning can't push it */
.site-header .main-navigation{ position:absolute !important; left:50%; top:50%; transform:translate(-50%,-50%); display:flex !important; justify-content:center; align-items:center; float:none !important; width:auto !important; margin:0; z-index:1; }
.site-header .main-navigation .menu-toggle{ display:none !important; }
/* kill the wp_page_menu fallback (all-pages list) + secondary nav that leak into the header */
.site-header .main-navigation > div.menu,
.site-header .secondary-navigation,
.site-header .main-navigation div.menu:not(.primary-navigation){ display:none !important; }
/* Storefront keeps .primary-navigation hidden on mobile + reveals it via the old wrapper
   selector we removed — force the nav container visible inside the header. */
.site-header .main-navigation .primary-navigation,
.site-header .main-navigation > div{ display:block !important; margin:0; width:auto !important; float:none !important; visibility:visible !important; }
/* TOP-LEVEL menu only — flex row */
.site-header .main-navigation .primary-navigation > ul,
.site-header .main-navigation > div > ul.menu{
  display:flex !important; flex-direction:row !important; justify-content:center; align-items:center;
  gap:36px; flex-wrap:nowrap; float:none !important; width:auto !important;
  visibility:visible !important; opacity:1 !important; position:static !important; margin:0; padding:0;
}
.site-header .main-navigation .primary-navigation > ul > li{
  display:block !important; float:none !important; position:relative; width:auto !important; margin:0;
}
.site-header .main-navigation .primary-navigation > ul > li > a{
  display:inline-block !important; visibility:visible !important; opacity:1 !important;
  color:var(--da-black) !important; white-space:nowrap;
  font-family:var(--sans); font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase;
}
.site-header .main-navigation .primary-navigation > ul > li > a:hover,
.site-header .main-navigation .primary-navigation > ul > li.current-menu-item > a{ color:var(--da-gold) !important; }
/* nested dropdowns: hide inline, restore as absolute hover menus */
.site-header .main-navigation ul ul.sub-menu,
.site-header .main-navigation ul ul.children{
  display:none !important; position:absolute; top:100%; left:0; min-width:200px;
  background:#fff; border:1px solid var(--da-border); padding:8px 0; z-index:60; flex-direction:column;
}
.site-header .main-navigation .primary-navigation > ul > li:hover > ul.sub-menu{ display:block !important; }
.site-header .main-navigation ul ul.sub-menu li{ display:block !important; float:none; }
.site-header .main-navigation ul ul.sub-menu li a{ display:block !important; padding:8px 18px; color:var(--da-black) !important; font-size:12px; text-transform:uppercase; letter-spacing:.1em; }
.site-header .main-navigation ul ul.sub-menu li a:hover{ color:var(--da-gold) !important; }
/* search — magnifier that expands on hover/focus */
/* search removed from header */
.site-header .site-search{ display:none !important; }
/* cart pushed to the far right (search gone) */
.site-header .site-header-cart{ margin-left:auto !important; }
.site-header .site-search form.woocommerce-product-search{ display:flex; align-items:center; position:relative; margin:0; }
/* input expands left as an absolute overlay on focus — never shifts the row */
.site-header .site-search input.search-field{
  position:absolute; right:42px; top:50%; transform:translateY(-50%);
  width:0; min-width:0; padding:0; opacity:0; pointer-events:none;
  border:1px solid var(--da-border); background:#fff; border-radius:30px;
  transition:width .3s var(--ease), opacity .25s var(--ease), padding .3s var(--ease);
}
.site-header .site-search:focus-within input.search-field{
  width:220px; opacity:1; padding:10px 16px; pointer-events:auto;
}
.site-header .site-search button[type="submit"]{
  position:relative; width:40px; height:40px; background:transparent; border:none;
  font-size:0; cursor:pointer; padding:0; border-radius:50%;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.7' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:center; background-size:20px;
  transition:background-color .2s var(--ease);
}
.site-header .site-search button[type="submit"]:hover{ background-color:rgba(201,169,110,.12); }
.site-header .site-header-cart{ order:4; flex:0 0 auto; display:flex !important; align-items:center; margin:0; padding:0; position:static !important; float:none !important; z-index:2; }
.site-header .site-header-cart > li{ list-style:none; float:none !important; }
.site-header .site-header-cart > li.menu-item-has-children > a::after{ display:none; }
/* hide the mini-cart dropdown li, keep only the cart link */
.site-header .site-header-cart > li + li{ display:none; }
/* hide the old separate nav row container if present */
.storefront-primary-navigation{ display:none; }
@media(max-width:768px){
  .site-header{ padding-top:12px; padding-bottom:12px; }
  .site-header .col-full{ flex-wrap:nowrap; gap:10px; position:relative; }
  .site-header .site-branding{ order:1; }
  .custom-logo{ height:34px; }
  /* search + cart on the right, hamburger last */
  .site-header .site-search{ order:2; margin:0 0 0 auto; }
  .site-header .site-header-cart{ order:3; margin:0; }
  .site-header .site-header-cart .cart-contents{ padding:7px 12px; font-size:11px; gap:6px; }
  .site-header .site-header-cart .cart-contents .amount{ display:none; }  /* keep icon + count compact */
  /* nav becomes a hamburger + dropdown drawer */
  .site-header .main-navigation{ position:static !important; transform:none !important; order:4; flex:0 0 auto; width:auto !important; margin:0; }
  .site-header .main-navigation .menu-toggle{
    display:flex !important; align-items:center; justify-content:center;
    width:44px; height:44px; padding:0; cursor:pointer;
    background:transparent !important; border:1px solid var(--da-border) !important; border-radius:8px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='4' y1='7' x2='20' y2='7'/%3E%3Cline x1='4' y1='12' x2='20' y2='12'/%3E%3Cline x1='4' y1='17' x2='20' y2='17'/%3E%3C/svg%3E") !important;
    background-repeat:no-repeat !important; background-position:center !important; background-size:22px !important;
  }
  .site-header .main-navigation .menu-toggle span{ display:none !important; }
  /* X icon when open */
  .site-header .main-navigation.toggled .menu-toggle{
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='2' stroke-linecap='round'%3E%3Cline x1='6' y1='6' x2='18' y2='18'/%3E%3Cline x1='18' y1='6' x2='6' y2='18'/%3E%3C/svg%3E") !important;
  }
  /* header's own nav stays hidden on mobile — we use the JS body-level overlay instead */
  .site-header .main-navigation .primary-navigation{ display:none !important; }
  /* toggled X icon */
  .site-header .main-navigation[aria-x] { }
}
/* ── Mobile menu overlay (built by JS at <body> level) ── */
.da-mobile-menu{
  display:none; position:fixed; inset:0; z-index:100000;
  background:var(--da-cream); padding:84px 28px 32px; overflow-y:auto;
}
.da-mobile-menu.is-open{ display:block; }
.da-mm-close{
  position:absolute; top:22px; right:22px; width:46px; height:46px;
  border:1px solid var(--da-border); border-radius:8px; background:#fff;
  font-size:30px; line-height:1; color:var(--da-black); cursor:pointer;
}
.da-mm-nav ul{ list-style:none; margin:0; padding:0; }
.da-mm-nav li{ border-bottom:1px solid var(--da-border); }
.da-mm-nav li:last-child{ border-bottom:none; }
.da-mm-nav a{
  display:block; padding:20px 4px; text-decoration:none;
  font-family:var(--serif); font-size:26px; font-weight:500; color:var(--da-black);
}
.da-mm-nav a:hover{ color:var(--da-gold); }
.da-mm-nav ul ul{ padding-left:16px; } /* submenus indented */
@media(min-width:769px){ .da-mobile-menu{ display:none !important; } }
@media(max-width:420px){
  .custom-logo{ height:30px; }
  .da-topbar__r{ gap:12px; font-size:10px; }
}
.site-header .site-branding,
.site-header .site-logo-anchor,
.site-header .custom-logo-link{ margin:0; display:flex; align-items:center; }
.site-title{ font-family:var(--serif); font-weight:600; letter-spacing:.04em; }
.site-title a{ color:var(--da-black); }
/* Logo image */
.custom-logo{
  filter:none;
  height:44px; width:auto; display:block;
  transition:opacity .25s var(--ease);
}
.custom-logo-link:hover .custom-logo{ opacity:.78; }
@media(max-width:768px){ .custom-logo{ height:36px; } }
/* Search box — refined pill */
.site-header .widget_product_search input[type="search"],
.site-header .storefront-product-search input[type="search"]{
  border:1px solid var(--da-border); border-radius:30px;
  background:#fff; padding:11px 18px; font-size:13px;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease);
}
.site-header .widget_product_search input[type="search"]:focus,
.site-header .storefront-product-search input[type="search"]:focus{
  border-color:var(--da-gold); box-shadow:0 0 0 3px rgba(201,169,110,.15); outline:none;
}

/* Main nav */
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a,
.main-navigation ul li a{
  font-family:var(--sans);
  font-size:12px;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--da-black);
}
.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a{ color:var(--da-gold); }
/* modern animated gold underline */
.main-navigation ul.menu > li,
.main-navigation ul.nav-menu > li{ position:relative; }
.main-navigation ul.menu > li > a::after,
.main-navigation ul.nav-menu > li > a::after{
  content:""; position:absolute; left:0; bottom:-6px;
  width:100%; height:1.5px; background:var(--da-gold);
  transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--ease);
}
.main-navigation ul.menu > li:hover > a::after,
.main-navigation ul.nav-menu > li:hover > a::after,
.main-navigation ul li.current-menu-item > a::after{ transform:scaleX(1); }
.main-navigation ul.menu ul.sub-menu,
.main-navigation ul.nav-menu ul{
  background:var(--da-card);
  border:1px solid var(--da-line);
}
.main-navigation ul.menu ul a,
.main-navigation ul.nav-menu ul a{ color:var(--da-title); }
.main-navigation ul.menu ul a:hover{ color:var(--da-gold); background:transparent; }

/* Cart in header — modern pill with cart icon (matches mockup) */
.site-header-cart{ display:flex; align-items:center; margin:0; padding:0; list-style:none; }
.site-header-cart > li{ list-style:none; }
.site-header-cart .cart-contents{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans);
  font-size:13px; letter-spacing:.04em; text-transform:none;
  color:var(--da-black);
  border:1px solid var(--da-border); border-radius:30px;
  padding:9px 18px; background:#fff;
  transition:border-color .25s var(--ease), color .25s var(--ease);
}
.site-header-cart .cart-contents::before{
  content:""; width:18px; height:18px; flex:0 0 18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231a1a1a' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E") center/contain no-repeat;
  transition:filter .25s var(--ease);
}
/* kill Storefront's native genericon (the duplicate basket) */
.site-header-cart .cart-contents::after{ display:none !important; content:none !important; }
.site-header-cart .cart-contents:hover{ color:var(--da-gold); border-color:var(--da-gold); }
.site-header-cart .amount{ color:var(--da-black); font-weight:600; }
.site-header-cart .count{
  display:inline-flex; align-items:center; justify-content:center;
  white-space:nowrap;
  padding:2px 9px;
  background:var(--da-gold); color:#161513;
  border-radius:20px; font-size:11px; font-weight:600; letter-spacing:0; line-height:1.3;
}

/* Mobile menu toggle */
.menu-toggle,
button.menu-toggle{ background:transparent; color:var(--da-black); border-color:var(--da-border); }
.menu-toggle:hover{ background:var(--da-black); color:var(--da-cream); }

/* ============================================================
   SHOP / ARCHIVE HEADER
   ============================================================ */
/* Full-bleed image hero for category archives */
.woocommerce-products-header{
  position:relative; overflow:hidden;
  width:100vw; max-width:100vw; margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  min-height:340px; padding:48px 24px; margin-bottom:36px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center;
  background:#161513 center/cover no-repeat;
  background-image:url("https://d-analog.com/wp-content/themes/d-analog-storefront-child/assets/images/hero/elite-blue.jpg");
}
.woocommerce-products-header::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(8,8,9,.5) 0%,rgba(8,8,9,.72) 100%);
}
.woocommerce-products-header::before{
  content:"The Collection"; position:relative; z-index:2;
  font-family:var(--sans); font-size:12px; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase; color:var(--da-gold); margin-bottom:14px;
}
.woocommerce-products-header__title,
.woocommerce-products-header .page-title{
  position:relative; z-index:2; margin:0;
  font-family:var(--serif); font-size:clamp(44px,7vw,88px); font-weight:500; line-height:1;
  color:#fff !important;
}
.woocommerce-products-header .da-archive-count{
  position:relative; z-index:2; margin:14px 0 0;
  font-family:var(--sans); font-size:13px; letter-spacing:.04em; color:rgba(245,242,238,.75);
}
.woocommerce-products-header .term-description{ position:relative; z-index:2; color:rgba(245,242,238,.8); max-width:620px; margin:12px auto 0; }
/* per-category hero image */
body.term-women .woocommerce-products-header,
body.term-elite-women .woocommerce-products-header,
body.term-d1-version-women .woocommerce-products-header,
body.term-slimwomen .woocommerce-products-header,
body.term-slimwomen-2 .woocommerce-products-header{ background-image:url("https://d-analog.com/wp-content/themes/d-analog-storefront-child/assets/images/hero/elite-rose-gold.jpg"); }
body.term-couple .woocommerce-products-header{ background-image:url("https://d-analog.com/wp-content/themes/d-analog-storefront-child/assets/images/hero/combo-rose-gold.jpg"); }

.woocommerce-result-count,
.woocommerce-ordering{ font-family:var(--sans); font-size:12px; color:var(--da-muted); }

/* On-sale flash (default WC) — keep subtle if shown outside cards */
.woocommerce span.onsale{
  background:var(--da-gold);
  color:var(--da-black);
  font-family:var(--sans);
  font-size:11px; font-weight:600; letter-spacing:.05em;
  border-radius:2px;
  min-height:auto; min-width:auto; line-height:1;
  padding:6px 10px;
}

/* ============================================================
   SINGLE PRODUCT PAGE
   ============================================================ */
/* SALE badge — compact pill on the MAIN image corner (JS moves it into .da-gallery__main) */
.single-product div.product{ position:relative; }
.single-product .da-gallery__main{ position:relative; }
.single-product .da-gallery__main span.onsale,
.single-product div.product > span.onsale{
  position:absolute !important; top:14px; left:14px; z-index:6;
  display:inline-block !important; width:auto !important; min-width:0 !important; height:auto !important;
  margin:0 !important; padding:6px 14px !important; justify-self:start !important;
  background:var(--da-gold) !important; color:#161513 !important;
  font-family:var(--sans); font-size:11px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  border-radius:3px; line-height:1.2;
}

/* Option 1 — gallery left, sticky summary right (explicit grid placement) */
.single-product div.product{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:48px; align-items:start;
}
.single-product div.product .da-gallery,
.single-product div.product .woocommerce-product-gallery{ grid-column:1; grid-row:1; width:auto !important; float:none !important; margin:0; }
.single-product div.product .summary.entry-summary{ grid-column:2; grid-row:1; width:auto !important; float:none !important; margin:0; position:sticky; top:96px; }
.single-product div.product .woocommerce-tabs,
.single-product div.product .related,
.single-product div.product .up-sells{ grid-column:1 / -1; grid-row:auto; }
@media(max-width:900px){
  .single-product div.product{ grid-template-columns:1fr; gap:28px; }
  .single-product div.product .da-gallery,
  .single-product div.product .woocommerce-product-gallery{ grid-column:1; }
  .single-product div.product .summary.entry-summary{ grid-column:1; grid-row:auto; position:static; }
}
.single-product div.product .product_title{
  font-size:clamp(30px,4vw,48px);
  margin-bottom:10px;
}
.single-product div.product .price,
.single-product div.product p.price{
  font-family:var(--sans);
  color:var(--da-black);
  font-size:24px;
  font-weight:500;
}
.single-product div.product p.price del{ color:var(--da-muted); font-weight:300; }
.single-product div.product p.price ins{ color:var(--da-black); }
/* Custom gallery — thumbnail strip + big main (matches the chosen design) */
.da-gallery{ display:flex; gap:14px; align-items:flex-start; }
.da-gallery__thumbs{ display:flex; flex-direction:column; gap:10px; flex:0 0 72px; }
.da-gallery__thumbs img{
  width:72px; height:86px; object-fit:cover; background:#fff;
  border:1px solid var(--da-border); border-radius:8px; cursor:pointer;
  transition:border-color .2s var(--ease), opacity .2s var(--ease); opacity:.85;
}
.da-gallery__thumbs img:hover{ opacity:1; }
.da-gallery__thumbs img.is-active{ border-color:var(--da-gold); opacity:1; }
.da-gallery__main{
  flex:1; min-width:0; background:#fff; border:1px solid var(--da-border); border-radius:10px;
  overflow:hidden; display:flex; align-items:center; justify-content:center; padding:24px;
}
.da-gallery__main img{ width:100%; height:auto; display:block; }
@media(max-width:600px){
  .da-gallery{ flex-direction:column-reverse; }
  .da-gallery__thumbs{ flex-direction:row; flex:0 0 auto; }
  .da-gallery__thumbs img{ width:60px; height:72px; }
}

.single-product .woocommerce-product-gallery{ border:1px solid var(--da-border); border-radius:6px; overflow:hidden; background:var(--da-cream-2); opacity:1 !important; }
/* gallery JS (flexslider) isn't initialising → WooCommerce leaves it opacity:0 (blank space).
   Force it visible and lay images out cleanly without the slider. */
.single-product .woocommerce-product-gallery__wrapper{ display:flex; flex-wrap:wrap; gap:8px; margin:0; transform:none !important; width:auto !important; }
.single-product .woocommerce-product-gallery__image{ flex:1 1 100%; margin:0; }
.single-product .woocommerce-product-gallery--columns-3 .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery--columns-4 .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery--columns-5 .woocommerce-product-gallery__image{ flex:1 1 100%; }
.single-product .woocommerce-product-gallery__image:first-child{ flex:1 1 100%; }
.single-product .woocommerce-product-gallery__image img{ width:100%; height:auto; display:block; border-radius:4px; }
.single-product .woocommerce-product-gallery .flex-control-thumbs{ display:flex; flex-wrap:wrap; gap:8px; list-style:none; margin:8px 0 0; padding:0; }
.single-product .woocommerce-product-gallery .flex-control-thumbs li{ flex:0 0 72px; }
.single-product .quantity .qty{ border-radius:3px; height:48px; }
/* quantity stepper (− [n] +) */
.single-product form.cart .quantity{ display:inline-flex; align-items:center; border:1px solid var(--da-border); border-radius:8px; overflow:hidden; background:#fff; }
.single-product form.cart .quantity .qty{
  width:50px; height:50px; border:none !important; border-radius:0 !important; text-align:center;
  font-family:var(--sans); font-size:15px; background:transparent; -moz-appearance:textfield;
}
.single-product form.cart .quantity .qty::-webkit-outer-spin-button,
.single-product form.cart .quantity .qty::-webkit-inner-spin-button{ -webkit-appearance:none; margin:0; }
.single-product form.cart .quantity .da-qty-btn{
  width:44px; height:50px; border:none; background:transparent; cursor:pointer;
  font-size:20px; line-height:1; color:var(--da-ink); display:flex; align-items:center; justify-content:center;
  transition:background .2s var(--ease), color .2s var(--ease);
}
.single-product form.cart .quantity .da-qty-btn:hover{ background:var(--da-cream-2); color:var(--da-gold); }
.single-product form.cart .quantity .da-qty-minus{ border-right:1px solid var(--da-border); }
.single-product form.cart .quantity .da-qty-plus{ border-left:1px solid var(--da-border); }
.single-product .single_add_to_cart_button{ padding:16px 40px; }
/* Add to Cart + Buy Now side by side */
.single-product form.cart{ display:flex; flex-wrap:wrap; align-items:center; gap:12px; }
.single-product form.cart .quantity{ flex:0 0 auto; }
.single-product .single_add_to_cart_button{ flex:1 1 auto; background:var(--da-gold) !important; color:#161513 !important; border-color:var(--da-gold) !important; }
.single-product .single_add_to_cart_button:hover{ background:var(--da-black) !important; color:var(--da-cream) !important; }
.single-product .da-buy-now{
  flex:1 1 auto; background:transparent !important; color:var(--da-black) !important; border:1px solid var(--da-black) !important;
  padding:16px 30px; border-radius:3px; font-size:12px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; cursor:pointer;
}
.single-product .da-buy-now:hover{ background:var(--da-black) !important; color:var(--da-cream) !important; }
/* trust badges left-aligned in the summary */
.single-product .summary .da-trust{ justify-content:flex-start; }
/* kill empty leftover WPBakery full-width rows in the product description (blank bands) */
.single-product .woocommerce-Tabs-panel--description .vc_row[data-vc-full-width="true"],
.single-product .woocommerce-Tabs-panel--description .vc_row-full-width,
.single-product .woocommerce-Tabs-panel--description .vc_row.vc_row-has-fill,
.single-product .woocommerce-Tabs-panel--description p:empty,
.single-product .entry-content .vc_row[data-vc-full-width="true"],
.single-product .entry-content .vc_row-full-width{ display:none !important; }

/* spec rows */
.single-product .da-specs{ margin-top:20px; border-top:1px solid var(--da-border); }
.single-product .da-spec{
  display:flex; justify-content:space-between; align-items:baseline; gap:16px;
  padding:12px 0; border-bottom:1px solid var(--da-border);
}
.single-product .da-spec span:first-child{
  flex:0 0 auto; color:var(--da-muted); text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:500;
}
.single-product .da-spec span:last-child{
  flex:1 1 auto; text-align:right; color:var(--da-ink); font-size:13px;
}
.single-product .product_meta{ font-family:var(--sans); font-size:12px; color:var(--da-muted); letter-spacing:.04em; }

/* Tabs */
.woocommerce-tabs ul.tabs li{ background:transparent; border:none; }
.woocommerce-tabs ul.tabs li a{
  font-family:var(--sans); font-size:12px; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--da-muted);
}
.woocommerce-tabs ul.tabs li.active a{ color:var(--da-black); }
.woocommerce-tabs ul.tabs::before{ border-bottom-color:var(--da-border); }

/* Related / upsells headings */
.related.products > h2,
.upsells.products > h2,
.cross-sells > h2{
  font-family:var(--serif); font-size:30px; font-weight:500; text-align:center; margin-bottom:28px;
}

/* ============================================================
   NOTICES / MESSAGES
   ============================================================ */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  font-family:var(--sans); font-size:13px; color:var(--da-ink);
  background:#fff; border:1px solid var(--da-border); border-left:3px solid var(--da-gold);
  border-radius:8px; padding:16px 18px 16px 50px; position:relative;
  box-shadow:0 10px 26px -18px rgba(0,0,0,.5);
}
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{ left:18px; top:50%; transform:translateY(-50%); margin:0; color:var(--da-gold); }
.woocommerce-error{ border-left-color:#c0392b; list-style:none; margin-left:0; }
.woocommerce-error::before{ color:#c0392b; }
/* force the error list text visible (was rendering invisible) */
.woocommerce-error li{
  list-style:none !important; margin:0 0 6px !important; padding:0 !important;
  font-size:13px !important; line-height:1.55 !important;
  color:#2b2b2b !important; -webkit-text-fill-color:#2b2b2b !important;
  opacity:1 !important; visibility:visible !important;
}
.woocommerce-error li:last-child{ margin-bottom:0 !important; }
.woocommerce-error li a{ color:#2b2b2b !important; -webkit-text-fill-color:#2b2b2b !important; text-decoration:none !important; }
.woocommerce-error li a:hover{ color:#c0392b !important; -webkit-text-fill-color:#c0392b !important; }
.woocommerce-error li strong{ color:#c0392b !important; -webkit-text-fill-color:#c0392b !important; font-weight:600; }
/* "Added to cart" banner: message left, button right, vertically centered */
.woocommerce-message{ display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.woocommerce-message .button.wc-forward,
.woocommerce-message .button{
  flex:0 0 auto; margin:0; white-space:nowrap;
  padding:10px 18px !important; font-size:11px !important; letter-spacing:.12em !important; border-radius:4px !important;
  background:var(--da-black) !important; color:var(--da-cream) !important; border-color:var(--da-black) !important;
}
.woocommerce-message .button.wc-forward:hover,
.woocommerce-message .button:hover{ background:var(--da-gold) !important; color:#161513 !important; border-color:var(--da-gold) !important; }
.woocommerce-info .button{ padding:9px 16px !important; font-size:11px !important; }
/* keep notices full-width above the cart's 2-column grid */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error{ grid-column:1 / -1; }

/* ============================================================
   CART — line-item cards + sticky summary
   ============================================================ */
.woocommerce-cart .woocommerce{ max-width:1180px; margin:0 auto; }
@media (min-width:1000px){
  .woocommerce-cart .woocommerce{ display:grid; grid-template-columns:1fr 360px; gap:40px; align-items:start; }
  .woocommerce-cart .woocommerce-notices-wrapper,
  .woocommerce-cart .cross-sells{ grid-column:1 / -1; }
  .woocommerce-cart form.woocommerce-cart-form{ grid-column:1; margin:0; }
  .woocommerce-cart .cart-collaterals{ grid-column:2; width:auto !important; position:sticky; top:24px; }
  .woocommerce-cart .cart-collaterals .cart_totals{ width:100% !important; float:none !important; }
}
/* table -> cards */
.woocommerce-cart table.cart{ display:block; border:none; background:transparent; margin:0; }
.woocommerce-cart table.cart thead{ display:none; }
.woocommerce-cart table.cart tbody{ display:block; }
.woocommerce-cart table.cart tr.cart_item{
  display:grid; grid-template-columns:84px minmax(110px,1fr) 88px 110px 96px 34px;
  align-items:center; gap:16px;
  background:#fff; border:1px solid var(--da-border); border-radius:10px;
  padding:14px 16px; margin:0 0 14px;
}
.woocommerce-cart table.cart tr.cart_item td{ display:block; border:none; padding:0; background:transparent; }
.woocommerce-cart table.cart tr.cart_item td::before{ content:none !important; }
.woocommerce-cart td.product-thumbnail{ order:1; }
.woocommerce-cart td.product-thumbnail img{ width:84px; height:84px; object-fit:cover; border-radius:8px; }
.woocommerce-cart td.product-name{ order:2; text-align:left; }
.woocommerce-cart td.product-name a{ font-family:var(--serif); font-size:19px; line-height:1.2; color:var(--da-black); }
.woocommerce-cart td.product-name a:hover{ color:var(--da-gold); }
.woocommerce-cart td.product-price{ order:3; text-align:center; font-family:var(--sans); font-size:14px; color:var(--da-ink); }
.woocommerce-cart td.product-quantity{ order:4; text-align:center; }
.woocommerce-cart td.product-quantity .quantity .qty{ height:42px; width:72px; text-align:center; border-radius:3px; }
.woocommerce-cart td.product-subtotal{ order:5; text-align:right; font-family:var(--sans); font-weight:600; font-size:15px; color:var(--da-black); }
.woocommerce-cart td.product-remove{ order:6; text-align:center; }
.woocommerce-cart td.product-remove a.remove{ margin:0 auto; color:var(--da-muted) !important; border:1px solid var(--da-border); }
.woocommerce-cart td.product-remove a.remove:hover{ background:var(--da-black) !important; color:#fff !important; }
@media (max-width:600px){
  .woocommerce-cart table.cart tr.cart_item{
    grid-template-columns:64px 1fr auto;
    grid-template-areas:"thumb name remove" "thumb price subtotal" "thumb qty qty";
    gap:8px 14px;
  }
  .woocommerce-cart td.product-thumbnail{ grid-area:thumb; }
  .woocommerce-cart td.product-thumbnail img{ width:64px; height:64px; }
  .woocommerce-cart td.product-name{ grid-area:name; }
  .woocommerce-cart td.product-price{ grid-area:price; text-align:left; }
  .woocommerce-cart td.product-quantity{ grid-area:qty; text-align:left; }
  .woocommerce-cart td.product-subtotal{ grid-area:subtotal; }
  .woocommerce-cart td.product-remove{ grid-area:remove; text-align:right; }
}
/* coupon + update row */
.woocommerce-cart table.cart tr:not(.cart_item){ display:block; }
.woocommerce-cart td.actions{
  display:flex; flex-wrap:wrap; gap:12px; align-items:center;
  padding:6px 0 0; border:none; background:transparent;
}
.woocommerce-cart td.actions .coupon{ display:flex; gap:10px; flex:1 1 auto; }
.woocommerce-cart td.actions .coupon .input-text{ height:48px; flex:1 1 auto; max-width:240px; }
.woocommerce-cart td.actions button[name="update_cart"]{ margin-left:auto; }
/* totals card */
.woocommerce-cart .cart_totals{ background:#fff; border:1px solid var(--da-border); border-radius:12px; padding:24px; }
.cart_totals h2,.cross-sells h2{ font-family:var(--serif); font-weight:500; font-size:24px; margin:0 0 14px; }
.cart_totals table{ border:none; margin:0; }
.cart_totals table th,.cart_totals table td{ border:none; padding:10px 0; }
.cart_totals table th{ font-family:var(--sans); font-size:12px; letter-spacing:.06em; text-transform:uppercase; color:var(--da-muted); font-weight:500; }
.cart_totals .order-total{ border-top:1px solid var(--da-border); }
.cart_totals .order-total th{ color:var(--da-black); }
.cart_totals .order-total .amount{ color:var(--da-black); font-size:22px; font-weight:600; }
.wc-proceed-to-checkout{ padding:14px 0 0 !important; }
.wc-proceed-to-checkout a.checkout-button{
  display:block; text-align:center;
  background:var(--da-gold) !important; color:#161513 !important; border-color:var(--da-gold) !important;
  font-size:13px !important; letter-spacing:.16em !important; padding:16px !important; border-radius:4px !important;
}
.wc-proceed-to-checkout a.checkout-button:hover{ background:var(--da-black) !important; color:var(--da-cream) !important; }
.woocommerce-cart .return-to-shop a.button{ background:var(--da-gold) !important; color:#161513 !important; border-color:var(--da-gold) !important; }

/* ============================================================
   TRUST BADGES (cart summary + checkout)
   ============================================================ */
.da-trust{ display:flex; flex-wrap:wrap; gap:16px; justify-content:center; margin-top:18px; padding-top:18px; border-top:1px solid var(--da-border); }
.da-trust__item{ display:flex; align-items:center; gap:7px; font-family:var(--sans); font-size:11px; letter-spacing:.03em; color:var(--da-muted); }
.da-trust__ico{ display:inline-flex; width:18px; height:18px; color:var(--da-gold); }
.da-trust__ico svg{ width:18px; height:18px; display:block; }

/* ============================================================
   CHECKOUT
   ============================================================ */
.woocommerce-checkout h3,
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout #order_review_heading{ font-family:var(--serif); font-weight:500; font-size:24px; }
.woocommerce form .form-row label{ font-family:var(--sans); font-size:12px; letter-spacing:.04em; color:var(--da-ink); margin-bottom:6px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce-checkout select,
.select2-container--default .select2-selection--single{
  border:1px solid var(--da-border) !important; border-radius:6px !important;
  min-height:48px; padding:10px 14px; background:#fff;
}
.woocommerce-checkout #order_review,
.woocommerce-checkout #payment{ background:#fff; border:1px solid var(--da-border); border-radius:12px; }
.woocommerce-checkout #payment{ background:var(--da-cream-2); }
.woocommerce-checkout #payment ul.payment_methods{ border-bottom:1px solid var(--da-border); }
.woocommerce #payment #place_order,
.woocommerce-checkout #place_order{
  background:var(--da-gold) !important; color:#161513 !important; border-color:var(--da-gold) !important;
  width:100%; padding:18px !important; font-size:13px !important; letter-spacing:.18em !important; border-radius:4px !important;
}
.woocommerce #payment #place_order:hover{ background:var(--da-black) !important; color:var(--da-cream) !important; }
.woocommerce-checkout .da-trust{ border-top:none; padding-top:10px; }

/* ============================================================
   GPS LOCATION BUTTON (checkout)
   ============================================================ */
.da-geo{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin:0 0 20px; }
.da-geo-btn{
  display:inline-flex; align-items:center; gap:8px;
  background:#fff; color:var(--da-black); border:1px solid var(--da-black);
  font-family:var(--sans); font-size:12px; font-weight:500; letter-spacing:.08em; text-transform:uppercase;
  padding:11px 18px; border-radius:4px; cursor:pointer;
  transition:background .25s var(--ease), color .25s var(--ease);
}
.da-geo-btn:hover{ background:var(--da-black); color:var(--da-cream); }
.da-geo-btn svg{ color:var(--da-gold); }
.da-geo-btn:hover svg{ color:var(--da-cream); }
.da-geo-btn:disabled{ opacity:.6; cursor:default; }
.da-geo-status{ font-family:var(--sans); font-size:12px; color:var(--da-muted); }
.da-geo-status a{ color:var(--da-gold); text-decoration:underline; }

/* ============================================================
   MINIMAL SPACING — tighter, premium vertical rhythm
   ============================================================ */
/* the real culprit: Storefront's .site-main has 4.23em (~68px) top padding */
.site-main{ padding-top:1.4em !important; }
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main,
.archive.woocommerce .site-main{ padding-top:.6em !important; }
.site-content{ padding-top:0 !important; padding-bottom:2.4em !important; }
.storefront-breadcrumb{ padding:1em 0 0 !important; margin:0 !important; }
.woocommerce-breadcrumb{ margin-bottom:.5em !important; font-size:12px; }
/* tame the oversized 3.7em page title */
.entry-header{ margin-bottom:.7em !important; padding-bottom:.7em !important; }
.entry-header h1,.entry-title,.page-title{ font-size:2.4em !important; margin:0 !important; }
.woocommerce-products-header{ padding:48px 24px !important; margin-bottom:36px !important; }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{ margin-bottom:1em !important; }
.da-section{ padding:50px 24px !important; }
.da-hero{ padding:90px 24px !important; }
.da-benefits__grid{ padding:28px 24px !important; }
.da-section__head{ margin-bottom:28px !important; }

/* ============================================================
   THANK YOU / ORDER RECEIVED
   ============================================================ */
.woocommerce-order{ max-width:760px; margin:0 auto; }
.woocommerce-thankyou-order-received{
  font-family:var(--serif); font-weight:500; font-size:clamp(26px,4vw,40px);
  color:var(--da-black); text-align:center; border:none; padding:0 0 8px; margin-bottom:28px;
}
.woocommerce-thankyou-order-received::before{ content:none; }
ul.woocommerce-order-overview{
  display:flex; flex-wrap:wrap; list-style:none; padding:0; margin:0 0 36px;
  border:1px solid var(--da-border); border-radius:6px; overflow:hidden; background:#fff;
}
ul.woocommerce-order-overview li{
  flex:1 1 auto; text-align:center; padding:18px 14px; margin:0;
  border:none; border-right:1px solid var(--da-border);
  font-family:var(--sans); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--da-muted);
}
ul.woocommerce-order-overview li:last-child{ border-right:none; }
ul.woocommerce-order-overview li strong{
  display:block; margin-top:8px; font-family:var(--serif); font-size:18px;
  letter-spacing:0; text-transform:none; color:var(--da-black); font-weight:500;
}
.woocommerce-order-details__title,
.woocommerce-column__title{ font-family:var(--serif); font-weight:500; font-size:24px; margin-bottom:16px; }
.woocommerce-order-details table.shop_table,
.woocommerce-order .shop_table{ border:1px solid var(--da-border); border-radius:6px; background:#fff; }
.woocommerce-customer-details address{
  border:1px solid var(--da-border); border-radius:6px; padding:18px;
  font-family:var(--sans); color:var(--da-ink);
}

/* ============================================================
   MY ACCOUNT
   ============================================================ */
.woocommerce-account .woocommerce{ max-width:1100px; margin:0 auto; }
.woocommerce-account .col2-set{ display:flex; flex-wrap:wrap; gap:32px; }
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2{ flex:1 1 300px; float:none; width:auto; }
.woocommerce form.login,
.woocommerce form.register{
  border:1px solid var(--da-border); border-radius:6px; background:#fff; padding:28px 28px 32px;
}
.woocommerce-account h2{ font-family:var(--serif); font-weight:500; font-size:26px; margin-bottom:18px; }
.woocommerce form.login label,
.woocommerce form.register label{ font-family:var(--sans); font-size:12px; color:var(--da-ink); }
.woocommerce form.login .button,
.woocommerce form.register .button{
  background:var(--da-gold) !important; color:#161513 !important; border-color:var(--da-gold) !important; width:100%;
}
.woocommerce form.login .button:hover,
.woocommerce form.register .button:hover{ background:var(--da-black) !important; color:var(--da-cream) !important; }

/* dashboard */
.woocommerce-MyAccount-navigation ul{
  list-style:none; margin:0; padding:0;
  border:1px solid var(--da-border); border-radius:6px; overflow:hidden; background:#fff;
}
.woocommerce-MyAccount-navigation ul li{ border-bottom:1px solid var(--da-border); }
.woocommerce-MyAccount-navigation ul li:last-child{ border-bottom:none; }
.woocommerce-MyAccount-navigation ul li a{
  display:block; padding:14px 18px; font-family:var(--sans);
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--da-ink);
}
.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a:hover{ background:var(--da-cream-2); color:var(--da-gold); }
.woocommerce-MyAccount-content a{ color:var(--da-gold); }

/* ============================================================
   FOOTER  (dark charcoal) — premium gold
   ============================================================ */
.site-footer{
  background:var(--da-card);
  color:rgba(245,242,238,.72);
  border-top:3px solid var(--da-gold);
  padding-top:48px !important;
  padding-bottom:0 !important;
}
.site-footer .footer-widgets{ padding-top:0 !important; padding-bottom:8px !important; }
.site-footer .block,
.site-footer .widget{ margin-bottom:0 !important; }

/* Brand bar — logo + Available on Amazon */
.da-footer-brand{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  max-width:1200px; margin:0 auto 32px; padding:0 0 28px;
  border-bottom:1px solid rgba(201,169,110,.18);
}
.da-footer-logo{
  width:auto; height:46px; display:block;
  filter:brightness(0) invert(1); opacity:.92;
}
.da-footer-avail{ display:flex; align-items:center; gap:12px; }
.da-footer-avail__label{
  font-family:var(--sans); font-size:11px; font-weight:500;
  letter-spacing:.18em; text-transform:uppercase;
  color:rgba(245,242,238,.55);
}
.da-footer-amazon{ height:30px; width:auto; display:block; }
@media(max-width:600px){
  .da-footer-brand{ justify-content:center; text-align:center; }
  .da-footer-logo{ height:40px; }
}

/* Column headings — gold caps with accent underline */
.site-footer .widget-title,
.site-footer h1,.site-footer h2,.site-footer h3{
  font-family:var(--sans);
  font-size:12px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase;
  color:var(--da-gold);
  margin:0 0 22px; padding-bottom:14px;
  position:relative;
}
.site-footer .widget-title::after{
  content:""; position:absolute; left:0; bottom:0;
  width:26px; height:2px; background:var(--da-gold);
}

/* Menu lists — kill Storefront's default doc icon, add premium gold chevron */
.site-footer .widget ul{ list-style:none; margin:0; padding:0; }
.site-footer .widget ul li{ margin:0 0 13px; padding:0; border:none; }
.site-footer .widget ul li::before,
.site-footer .widget ul li::marker{ content:none !important; background:none !important; }

.site-footer .widget ul li a{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-size:14px; font-weight:400;
  letter-spacing:.015em;
  color:#f3efe8;                /* near-white for contrast */
  transition:color .25s var(--ease), gap .25s var(--ease);
}
.site-footer .widget ul li a::before{
  content:"\203A";              /* › single right-angle quote */
  background:none !important;
  font-family:var(--serif); font-size:19px; line-height:1;
  color:#caa765;
  transition:color .25s var(--ease), transform .25s var(--ease);
}
.site-footer .widget ul li a:hover{ color:var(--da-gold); gap:14px; }
.site-footer .widget ul li a:hover::before{ color:var(--da-gold); transform:translateX(3px); }

/* generic links (not menu) */
.site-footer a{ color:#f3efe8; }
.site-footer a:hover{ color:var(--da-gold); }

/* ── Footer columns (Option B) ── */
.da-foot-cols{
  max-width:1200px; margin:0 auto; padding:8px 0 36px;
  display:flex; flex-wrap:wrap; gap:30px;
}
.da-foot-col{ flex:1 1 180px; }
.da-foot-news{ flex:1.6 1 280px; }
.site-footer .da-foot-h{
  font-family:var(--sans); font-size:12px; font-weight:600;
  letter-spacing:.22em; text-transform:uppercase; color:var(--da-gold) !important;
  margin:0 0 18px; padding-bottom:12px; position:relative;
}
.da-foot-h::after{ content:""; position:absolute; left:0; bottom:0; width:26px; height:2px; background:var(--da-gold); }
.da-foot-col ul{ list-style:none; margin:0; padding:0; }
.da-foot-col li{ margin:0 0 12px; }
.site-footer .da-foot-col li a{
  display:inline-flex; align-items:center; gap:9px;
  font-family:var(--sans); font-size:14px; font-weight:400;
  color:#f3efe8 !important; text-decoration:none;
  transition:color .25s var(--ease), gap .25s var(--ease);
}
.da-foot-col li a::before{
  content:"\203A"; font-family:var(--serif); font-size:18px; line-height:1; color:var(--da-gold-deep);
  transition:color .25s var(--ease), transform .25s var(--ease);
}
.site-footer .da-foot-col li a:hover{ color:var(--da-gold) !important; gap:13px; }
.da-foot-col li a:hover::before{ color:var(--da-gold); transform:translateX(3px); }

/* Newsletter */
.da-foot-news__p{ font-family:var(--sans); font-size:13px; font-weight:300; color:rgba(245,242,238,.6); margin:0 0 16px; max-width:340px; }
.da-news-form{ display:flex; max-width:340px; }
.da-news-form input{
  flex:1; border:1px solid rgba(255,255,255,.18); border-right:none;
  background:rgba(255,255,255,.05); color:#f3efe8;
  padding:12px 16px; border-radius:30px 0 0 30px; font-size:13px; outline:none;
}
.da-news-form input::placeholder{ color:rgba(245,242,238,.45); }
.da-news-form input:focus{ border-color:var(--da-gold); }
.da-news-form button{
  background:var(--da-gold); color:#161513; border:none;
  padding:0 24px; border-radius:0 30px 30px 0;
  font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; cursor:pointer;
  transition:background .25s var(--ease);
}
.da-news-form button:hover{ background:#f3efe8; }

/* Social */
.da-social{ display:flex; gap:12px; margin-top:18px; }
.da-social a{
  width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(201,169,110,.4);
  display:flex; align-items:center; justify-content:center;
  color:var(--da-gold); transition:background .25s var(--ease), color .25s var(--ease);
}
.da-social a:hover{ background:var(--da-gold); color:#161513; }
.da-social svg{ width:17px; height:17px; fill:currentColor; }

/* Payment badges */
.da-foot-pay{
  max-width:1200px; margin:0 auto; padding:4px 0 22px;
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
.da-foot-pay span{ font-family:var(--sans); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:rgba(245,242,238,.5); margin-right:6px; }
.da-foot-pay i{
  display:inline-flex; height:30px; padding:0 12px; align-items:center;
  background:#fff; border-radius:5px; font-style:normal;
  font-size:11px; font-weight:700; letter-spacing:.04em; color:#222;
}
@media(max-width:900px){ .da-foot-news{ flex:1 1 100%; } }
@media(max-width:600px){ .da-foot-cols{ gap:26px; } .da-foot-col{ flex:1 1 140px; } }

.da-site-info,
.site-footer .site-info{
  font-family:var(--sans);
  font-size:11px; letter-spacing:.1em;
  color:rgba(245,242,238,.55);
  text-align:center;
  padding:26px 0;
  border-top:1px solid rgba(201,169,110,.18);
  margin-top:10px;
}
.da-site-info{ color:rgba(245,242,238,.55); }

@media(max-width:768px){
  .site-footer{ padding-top:44px; }
  .site-footer .widget ul li a{ font-size:15px; }
}

/* ============================================================
   HERO SLIDER (front-page.php .da-hero-slider)
   JS toggles .is-active; CSS fades + overlays text.
   ============================================================ */
.da-hero-slider{
  position:relative; overflow:hidden;
  height:clamp(460px,72vh,760px);
  background:#0f0e0d;
  border-bottom:1px solid var(--da-line);
}
/* full-bleed: break out of the centered content container */
.da-home .da-hero-slider{
  width:100vw; max-width:100vw;
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
}
/* kill the top gap above the hero on the homepage */
.home .site-main.da-home,
.page-template-front-page .site-main{ padding-top:0 !important; }
.home .site-content{ padding-top:0 !important; }
.da-hs__viewport{ position:absolute; inset:0; }
.da-hs__slide{
  position:absolute; inset:0;
  opacity:0; visibility:hidden;
  transition:opacity .9s var(--ease), visibility .9s var(--ease);
}
.da-hs__slide.is-active{ opacity:1; visibility:visible; z-index:1; }
/* Ken Burns slow zoom on the active slide */
.da-hs__slide .da-hs__media img{ transform:scale(1.04); }
.da-hs__slide.is-active .da-hs__media img{ animation:daKenBurns 8s ease-out forwards; }
@keyframes daKenBurns{ from{ transform:scale(1.1); } to{ transform:scale(1); } }
/* staggered text reveal per slide */
.da-hs__slide .da-hs__text > *{ opacity:0; transform:translateY(22px); }
.da-hs__slide.is-active .da-hs__eyebrow{ animation:daHeroUp .7s .25s var(--ease) forwards; }
.da-hs__slide.is-active .da-hs__title{ animation:daHeroUp .8s .4s var(--ease) forwards; }
.da-hs__slide.is-active .da-hs__cta{ animation:daHeroUp .7s .6s var(--ease) forwards; }
@keyframes daHeroUp{ to{ opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion: reduce){
  .da-hs__slide.is-active .da-hs__media img{ animation:none; transform:none; }
  .da-hs__slide .da-hs__text > *{ opacity:1; transform:none; }
}
.da-hs__media{ position:absolute; inset:0; overflow:hidden; }
.da-hs__media img{
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
}
/* left scrim for text legibility */
.da-hs__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(8,8,9,.82) 0%,rgba(8,8,9,.5) 32%,rgba(8,8,9,.08) 62%,rgba(8,8,9,0) 100%);
}
.da-hs__text{
  position:absolute; z-index:2; left:0; top:50%; transform:translateY(-50%);
  max-width:560px; padding:0 24px 0 clamp(24px,7vw,96px);
}
.da-hs__eyebrow{
  font-family:var(--sans); font-size:12px; font-weight:500;
  letter-spacing:.32em; text-transform:uppercase;
  color:var(--da-gold); margin:0 0 16px;
}
.da-hs__title{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(34px,5.2vw,68px); line-height:1.06;
  color:#f5f2ee; margin:0 0 26px;
}
.da-hs__cta{
  display:inline-block; padding:14px 40px;
  background:var(--da-gold); color:#161513;
  font-family:var(--sans); font-size:12px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  border-radius:3px; transition:background .25s var(--ease), color .25s var(--ease);
}
.da-hs__cta:hover{ background:#f5f2ee; color:#161513; }
/* arrows */
.da-hs__arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3;
  width:46px; height:46px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:rgba(20,19,17,.4); color:#f5f2ee;
  border:1px solid rgba(201,169,110,.45);
  font-size:24px; line-height:1; cursor:pointer; padding:0;
  transition:background .25s var(--ease), color .25s var(--ease), border-color .25s var(--ease);
}
.da-hs__arrow:hover{ background:var(--da-gold); color:#161513; border-color:var(--da-gold); }
.da-hs__prev{ left:18px; }
.da-hs__next{ right:18px; }
/* dots */
.da-hs__dots{
  position:absolute; z-index:3; left:0; right:0; bottom:22px;
  display:flex; gap:10px; justify-content:center;
}
.da-hs__dot{
  width:9px; height:9px; border-radius:50%; padding:0; cursor:pointer;
  background:rgba(245,242,238,.35); border:none;
  transition:background .25s var(--ease), transform .25s var(--ease);
}
.da-hs__dot.is-active{ background:var(--da-gold); transform:scale(1.25); }
@media(max-width:768px){
  .da-hero-slider{ height:clamp(380px,62vh,520px); }
  .da-hs__text{ top:auto; bottom:64px; transform:none; }
  .da-hs__media::after{ background:linear-gradient(0deg,rgba(8,8,9,.85) 0%,rgba(8,8,9,.35) 45%,rgba(8,8,9,.1) 100%); }
  .da-hs__arrow{ width:40px; height:40px; font-size:20px; }
  .da-hs__prev{ left:10px; } .da-hs__next{ right:10px; }
}

/* ============================================================
   CONTACT US — split: form left, dark info + map right
   ============================================================ */
.da-contact{
  display:grid; grid-template-columns:1.1fr 1fr; align-items:stretch;
  border:1px solid var(--da-border); border-radius:14px; overflow:hidden; background:var(--da-cream);
  box-shadow:0 22px 50px -30px rgba(0,0,0,.4);
}
.da-contact__form{ padding:clamp(28px,4vw,48px); }
.da-contact__ey{ font-family:var(--sans); font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--da-gold-deep); margin:0 0 10px; }
.da-contact__ti{ font-family:var(--serif); font-weight:500; font-size:clamp(30px,4vw,46px); line-height:1.05; margin:0 0 10px; color:var(--da-black); }
.da-contact__lead{ font-family:var(--sans); font-weight:300; font-size:14px; color:#444; max-width:520px; margin:0 0 24px; }
.da-contact__info{ background:var(--da-card); color:var(--da-cream); padding:clamp(28px,4vw,48px); display:flex; flex-direction:column; }
.da-cinfo{ display:flex; gap:14px; align-items:flex-start; margin-bottom:20px; }
.da-cinfo__ic{ flex:0 0 44px; width:44px; height:44px; border-radius:50%; border:1px solid rgba(201,169,110,.45); display:flex; align-items:center; justify-content:center; color:var(--da-gold); }
.da-cinfo__ic svg{ width:18px; height:18px; }
.da-cinfo b{ display:block; font-family:var(--sans); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--da-gold); margin-bottom:3px; font-weight:600; }
.da-cinfo a,.da-cinfo span{ color:rgba(245,242,238,.85); text-decoration:none; font-size:14px; }
.da-cinfo a:hover{ color:#fff; }
.da-contact__info .da-map-wrap{ margin-top:auto; }
.da-contact__info .da-map{ min-height:200px; }
.da-map-link{ display:inline-block; margin-top:10px; font-size:12px; letter-spacing:.06em; color:var(--da-gold) !important; text-decoration:none; }
.da-map-link:hover{ color:#fff !important; }
/* CF7 form fields */
.da-contact__form .wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.da-contact__form .wpcf7 textarea,
.da-contact__form .wpcf7 select{
  width:100%; border:1px solid var(--da-border); border-radius:8px; background:#fff; padding:12px 14px;
  font-family:var(--sans); font-size:14px; margin-bottom:14px; transition:border-color .2s, box-shadow .2s;
}
.da-contact__form .wpcf7 input:focus,
.da-contact__form .wpcf7 textarea:focus{ border-color:var(--da-gold); box-shadow:0 0 0 3px rgba(201,169,110,.15); outline:none; }
.da-contact__form .wpcf7 label{ font-family:var(--sans); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--da-muted); display:block; }
.da-contact__form .wpcf7-submit{
  background:var(--da-gold) !important; color:#161513 !important; border:none !important; border-radius:8px !important;
  padding:14px 34px !important; font-size:12px !important; font-weight:600; letter-spacing:.16em; text-transform:uppercase; cursor:pointer;
  width:auto !important; transition:.25s var(--ease);
}
.da-contact__form .wpcf7-submit:hover{ background:var(--da-black) !important; color:var(--da-cream) !important; }
@media(max-width:820px){ .da-contact{ grid-template-columns:1fr; } }

/* ============================================================
   REFUND & RETURNS / policy page restyle
   ============================================================ */
.da-policy{ max-width:1100px; margin:0 auto; }
.da-policy__hero{ position:relative; overflow:hidden; background:var(--da-card); color:var(--da-cream); padding:clamp(38px,6vw,58px) clamp(26px,5vw,52px); border-radius:14px; }
.da-policy__hero:before{ content:""; position:absolute; right:-60px; top:-60px; width:280px; height:280px; border:1px solid rgba(201,169,110,.22); border-radius:50%; }
.da-policy__hero:after{ content:""; position:absolute; right:10px; top:10px; width:160px; height:160px; border:1px solid rgba(201,169,110,.16); border-radius:50%; }
.da-policy__ey{ font-family:var(--sans); font-size:12px; letter-spacing:.34em; text-transform:uppercase; color:var(--da-gold); margin:0 0 14px; }
.da-policy__ti{ font-family:var(--serif); font-weight:500; font-size:clamp(34px,5vw,52px); line-height:1.04; margin:0 0 12px; color:#fff; }
.da-policy__lead{ font-family:var(--sans); font-weight:300; color:rgba(245,242,238,.72); max-width:560px; font-size:15px; margin:0; }
.da-policy__line{ display:block; width:54px; height:2px; background:var(--da-gold); margin-top:18px; }
.da-policy__assure{ display:grid; grid-template-columns:repeat(3,1fr); background:#fff; border:1px solid var(--da-border); border-radius:12px; margin:18px 0 0; overflow:hidden; }
.da-policy__assure>div{ padding:22px 26px; display:flex; gap:13px; align-items:center; border-right:1px solid var(--da-border); }
.da-policy__assure>div:last-child{ border-right:none; }
.da-policy__assure svg{ width:26px; height:26px; stroke:var(--da-gold); flex:0 0 26px; }
.da-policy__assure b{ display:block; font-family:var(--serif); font-size:18px; font-weight:500; line-height:1.1; }
.da-policy__assure span{ font-size:12px; color:var(--da-muted); }
.da-policy__body{ max-width:760px; margin:38px auto 0; font-family:var(--sans); font-size:15px; line-height:1.75; color:#3a3a3a; }
.da-policy__body h2,.da-policy__body h3{ font-family:var(--serif); font-weight:500; color:var(--da-black); margin:34px 0 8px; line-height:1.2; }
.da-policy__body h2{ font-size:27px; }
.da-policy__body h3{ font-size:22px; }
.da-policy__body p{ margin:0 0 14px; }
.da-policy__body strong,.da-policy__body b{ color:var(--da-black); }
.da-policy__body ul,.da-policy__body ol{ margin:0 0 18px; padding-left:0; list-style:none; counter-reset:da-pc; }
.da-policy__body ol li{ position:relative; padding:0 0 16px 46px; counter-increment:da-pc; }
.da-policy__body ol li:before{ content:counter(da-pc); position:absolute; left:0; top:-2px; width:28px; height:28px; border-radius:50%; border:1px solid var(--da-gold); color:var(--da-gold-deep); font-size:13px; font-weight:600; display:flex; align-items:center; justify-content:center; }
.da-policy__body ul li{ position:relative; padding:0 0 12px 26px; }
.da-policy__body ul li:before{ content:""; position:absolute; left:4px; top:9px; width:7px; height:7px; border-radius:50%; background:var(--da-gold); }
.da-policy__body hr{ border:none; border-top:1px solid var(--da-border); margin:28px 0; }
.da-policy__body a{ color:var(--da-gold-deep); }
.da-policy__contact{ max-width:760px; margin:34px auto 0; background:var(--da-card); color:var(--da-cream); border-radius:12px; padding:28px 30px; }
.da-policy__contact h4{ font-family:var(--serif); font-weight:500; font-size:22px; margin:0 0 4px; color:#fff; }
.da-policy__contact p{ color:rgba(245,242,238,.65); font-size:13.5px; margin:0 0 16px; }
.da-policy__cgrid{ display:flex; flex-wrap:wrap; gap:12px; }
.da-policy__cgrid a{ display:flex; align-items:center; gap:9px; background:rgba(255,255,255,.06); border:1px solid rgba(201,169,110,.3); border-radius:8px; padding:11px 16px; color:var(--da-cream); text-decoration:none; font-size:13.5px; transition:.2s; }
.da-policy__cgrid a:hover{ background:var(--da-gold); color:var(--da-card); border-color:var(--da-gold); }
.da-policy__cgrid svg{ width:16px; height:16px; stroke:currentColor; flex:0 0 16px; }
@media(max-width:760px){ .da-policy__assure{ grid-template-columns:1fr; } .da-policy__assure>div{ border-right:none; border-bottom:1px solid var(--da-border); } }

/* ============================================================
   HOMEPAGE (front-page.php) sections
   ============================================================ */
.da-hero{
  position:relative;
  background:linear-gradient(135deg,#161513 0%,#22201c 100%);
  color:var(--da-title);
  text-align:center;
  padding:120px 24px;
  border-bottom:1px solid var(--da-line);
}
.da-hero__eyebrow{ font-family:var(--sans); font-size:12px; letter-spacing:.34em; text-transform:uppercase; color:var(--da-gold); margin-bottom:18px; }
.da-hero__title{ font-family:var(--serif); font-size:clamp(40px,7vw,84px); font-weight:500; color:var(--da-title); line-height:1.05; margin:0 0 18px; }
.da-hero__sub{ font-family:var(--sans); font-weight:300; font-size:16px; color:rgba(245,242,238,.7); max-width:560px; margin:0 auto 32px; }
.da-hero__cta{ display:inline-block; padding:15px 44px; background:var(--da-gold); color:#161513; font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; border-radius:3px; transition:.25s var(--ease); }
.da-hero__cta:hover{ background:var(--da-cream); color:#161513; }

.da-section{ max-width:1200px; margin:0 auto; padding:72px 24px; }
.da-section__head{ text-align:center; margin-bottom:40px; }
.da-section__eyebrow{ font-family:var(--sans); font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--da-gold-deep); margin-bottom:10px; }
.da-section__title{ font-family:var(--serif); font-size:clamp(30px,4vw,46px); font-weight:500; color:var(--da-black); }

/* Benefits bar */
.da-benefits{ background:var(--da-cream-2); border-top:1px solid var(--da-border); border-bottom:1px solid var(--da-border); }
.da-benefits__grid{ max-width:1100px; margin:0 auto; padding:36px 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; text-align:center; }
.da-benefit__title{ font-family:var(--sans); font-size:12px; font-weight:600; letter-spacing:.14em; text-transform:uppercase; color:var(--da-black); margin-bottom:6px; }
.da-benefit__text{ font-family:var(--sans); font-size:13px; font-weight:300; color:var(--da-muted); }
@media(max-width:640px){ .da-benefits__grid{ grid-template-columns:1fr; gap:28px; } }

/* Category tiles */
.da-cats{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.da-cat{ position:relative; display:block; border-radius:6px; overflow:hidden; background:var(--da-card); aspect-ratio:3/4; }
.da-cat img{ width:100%; height:100%; object-fit:cover; opacity:.85; transition:transform .6s var(--ease),opacity .4s var(--ease); }
.da-cat:hover img{ transform:scale(1.05); opacity:.7; }
.da-cat__label{ position:absolute; left:0; right:0; bottom:0; padding:22px; font-family:var(--serif); font-size:26px; font-weight:500; color:#fff; background:linear-gradient(to top,rgba(0,0,0,.7),transparent); }
@media(max-width:640px){ .da-cats{ grid-template-columns:1fr; } }
