/* ============================================================
   RANDUM WEARS — WooCommerce Custom Stylesheet  v3.0.0
   Fully theme-independent: every colour, font, layout and
   element style is explicitly set. No WordPress or theme
   preset variables are relied upon.
   Brand tokens: black #0a0a0a · white #fff · gold #c8a96e
   ============================================================ */

/* ── 1. Neutralise WooCommerce's own colour tokens ──────────
   Override every CSS variable WooCommerce reads so our brand
   colour is used regardless of which theme is active.       */
:root {
  /* WooCommerce classic */
  --wc-global-color-primary:               #0a0a0a;
  --wc-global-color-primary-darker:        #2d2d2d;
  --wc-global-color-primary-text:          #ffffff;
  --wc-global-color-outline:               #0a0a0a;
  --wc-global-color-secondary:             #c8a96e;
  /* WooCommerce blocks */
  --wc-global-color-button:                #0a0a0a;
  --wc-global-color-button-text:           #ffffff;
  --wc-global-color-button-hover:          #2d2d2d;
  /* Gutenberg/FSE presets — set to ours so theme changes are inert */
  --wp--preset--color--primary:            #0a0a0a;
  --wp--preset--color--secondary:          #c8a96e;
  --wp--preset--color--foreground:         #0a0a0a;
  --wp--preset--color--background:         #ffffff;
  --wp--preset--color--contrast:           #0a0a0a;
  --wp--preset--font-size--medium:         1rem;
  --wp--preset--font-family--body:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* ── Elementor global colour overrides ──────────────────────
     #CC3366 is Elementor's injected pink accent. Every known
     Elementor global-color variable name that maps to it is
     replaced here with our brand gold #C8A96E.               */
  --e-global-color-accent:                 #c8a96e;
  --e-global-color-secondary:              #c8a96e;
  /* Elementor uses hashed IDs — the common defaults: */
  --e-global-color-b3ecec:                 #c8a96e;
  --e-global-color-8515b7:                 #c8a96e;
  --e-global-color-c22d: #c8a96e;
}

/* ── 1b. Hard override: replace #CC3366 everywhere it surfaces ──
   Covers any element Elementor or WordPress styles with that
   colour directly on background, color, border, or fill.      */

/* Links */
a[style*="cc3366"], a[style*="CC3366"],
a[style*="#cc3366"], a[style*="#CC3366"] {
  color: #c8a96e !important;
}

/* Buttons & interactive elements with the pink as background */
button[style*="cc3366"],  button[style*="CC3366"],
button[style*="#cc3366"], button[style*="#CC3366"],
.elementor-button[style*="cc3366"],
.elementor-button[style*="CC3366"] {
  background-color: #c8a96e !important;
  border-color:     #c8a96e !important;
}

/* Elementor widget colour classes generated from the global palette */
.e-global__color--accent,
[class*="elementor"][style*="cc3366"],
[class*="elementor"][style*="CC3366"] {
  color:            #c8a96e !important;
  background-color: #c8a96e !important;
  border-color:     #c8a96e !important;
}

/* Any element using it as a CSS custom property value via Elementor */
:root { --e-global-color-primary: #0a0a0a; }

/* WordPress block editor occasionally injects inline styles with preset colours */
[style*="color: #cc3366"], [style*="color:#cc3366"],
[style*="color: #CC3366"], [style*="color:#CC3366"] {
  color: #c8a96e !important;
}
[style*="background-color: #cc3366"], [style*="background-color:#cc3366"],
[style*="background-color: #CC3366"], [style*="background-color:#CC3366"] {
  background-color: #c8a96e !important;
}
[style*="border-color: #cc3366"], [style*="border-color:#cc3366"],
[style*="border-color: #CC3366"], [style*="border-color:#CC3366"] {
  border-color: #c8a96e !important;
}

/* Kill every WooCommerce blue link / button */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button.alt,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button {
  background: #0a0a0a !important;
  color:      #fff    !important;
  border-radius: 0   !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:   0.78rem !important;
  font-weight: 700     !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 14px 24px !important;
  transition: background 0.2s ease !important;
  box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce-page a.button:hover,
.woocommerce-page button.button:hover {
  background: #2d2d2d !important;
  color:      #fff    !important;
}

/* WooCommerce accent links */
.woocommerce a,
.woocommerce-page a { color: #0a0a0a; }
.woocommerce a:hover,
.woocommerce-page a:hover { color: #c8a96e; }

/* ── 2. Scoped theme isolation ──────────────────────────────
   Applied to every wrapper we control. Resets the most
   common theme-injected styles so nothing bleeds in.
   Uses !important only where themes commonly fight us.      */

/* Box model */
.rdw-shop-page *,     .rdw-shop-page *::before,     .rdw-shop-page *::after,
.rdw-single-product *,.rdw-single-product *::before,.rdw-single-product *::after,
.rdw-cart-page *,     .rdw-cart-page *::before,     .rdw-cart-page *::after,
.rdw-checkout-page *, .rdw-checkout-page *::before, .rdw-checkout-page *::after {
  box-sizing: border-box;
}

/* Headings — themes commonly restyle h1-h6 with custom fonts,
   colours, margins and decorative borders. Reset them all. */
.rdw-shop-page h1,    .rdw-shop-page h2,    .rdw-shop-page h3,
.rdw-shop-page h4,    .rdw-shop-page h5,    .rdw-shop-page h6,
.rdw-single-product h1,.rdw-single-product h2,.rdw-single-product h3,
.rdw-single-product h4,.rdw-single-product h5,.rdw-single-product h6,
.rdw-cart-page h1,    .rdw-cart-page h2,    .rdw-cart-page h3,
.rdw-checkout-page h1,.rdw-checkout-page h2,.rdw-checkout-page h3 {
  font-family:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color:           #0a0a0a !important;
  margin:          0 !important;
  padding:         0 !important;
  border:          none !important;
  background:      none !important;
  text-transform:  none !important;
  letter-spacing:  normal !important;
  line-height:     1.2 !important;
  font-weight:     700 !important;
  text-shadow:     none !important;
}

/* Paragraphs */
.rdw-shop-page p,
.rdw-single-product p,
.rdw-cart-page p,
.rdw-checkout-page p {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  margin:      0;
  padding:     0;
  color:       inherit;
}

/* Links — themes add gradient underlines, box-shadows, custom colours */
.rdw-shop-page a,
.rdw-single-product a,
.rdw-cart-page a,
.rdw-checkout-page a {
  font-family:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  color:            #0a0a0a;
  text-decoration:  none;
  background-color: transparent;
  background-image: none;   /* kills gradient underlines */
  box-shadow:       none;
  text-shadow:      none;
  border-bottom:    none;
  outline-offset:   2px;
}

/* Buttons — themes style <button> globally */
.rdw-shop-page button,
.rdw-single-product button,
.rdw-cart-page button,
.rdw-checkout-page button {
  font-family:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:      inherit;
  line-height:    inherit;
  color:          inherit;
  cursor:         pointer;
  border:         none;
  background:     none;
  padding:        0;
  margin:         0;
  border-radius:  0;
  box-shadow:     none;
  text-shadow:    none;
  letter-spacing: normal;
  text-transform: none;
  -webkit-appearance: none;
  appearance:     none;
}

/* ── Override theme's pink (#c36 / #cc3366) on button hover/focus ──
   Hello Elementor sets `button:hover { background-color: #c36 }`
   globally. We intercept it inside our wrappers with a more-specific
   selector and replace it with brand gold, then explicitly re-state
   the correct color for every custom button so nothing turns gold
   that should stay black.                                           */
.rdw-shop-page     button:hover, .rdw-shop-page     button:focus,
.rdw-shop-page     [type=button]:hover, .rdw-shop-page     [type=button]:focus,
.rdw-shop-page     [type=submit]:hover, .rdw-shop-page     [type=submit]:focus,
.rdw-single-product button:hover, .rdw-single-product button:focus,
.rdw-single-product [type=button]:hover, .rdw-single-product [type=button]:focus,
.rdw-single-product [type=submit]:hover, .rdw-single-product [type=submit]:focus,
.rdw-cart-page     button:hover, .rdw-cart-page     button:focus,
.rdw-cart-page     [type=button]:hover, .rdw-cart-page     [type=button]:focus,
.rdw-cart-page     [type=submit]:hover, .rdw-cart-page     [type=submit]:focus,
.rdw-checkout-page button:hover, .rdw-checkout-page button:focus,
.rdw-checkout-page [type=button]:hover, .rdw-checkout-page [type=button]:focus,
.rdw-checkout-page [type=submit]:hover, .rdw-checkout-page [type=submit]:focus {
  background-color: #c8a96e !important;
  color:            #fff    !important;
  text-decoration:  none    !important;
}

/* Re-state every custom button that must NOT turn gold on hover */
.rdw-btn:hover,
.rdw-btn:focus                     { background: #2d2d2d !important; border-color: #2d2d2d !important; color: #fff !important; }
.rdw-qty-btn:hover,
.rdw-qty-btn:focus                 { background: #0a0a0a !important; color: #fff !important; }
.rdw-acc-trigger:hover,
.rdw-acc-trigger:focus             { background: none    !important; color: #0a0a0a !important; }
.rdw-wishlist-btn:hover,
.rdw-wishlist-btn:focus            { background: none    !important; color: #0a0a0a !important; }
.rdw-thumb:hover                   { background: #f5f5f5 !important; border-color: #aaa !important; }
.rdw-thumb.is-active               { border-color: #0a0a0a !important; background: #f5f5f5 !important; }
.rdw-attr-pill:hover,
.rdw-attr-pill:focus               { background: #fff    !important; border-color: #0a0a0a !important; color: #0a0a0a !important; }
.rdw-attr-pill.is-active:hover,
.rdw-attr-pill.is-active:focus     { background: #0a0a0a !important; border-color: #0a0a0a !important; color: #fff    !important; }
.rdw-icon-btn:hover,
.rdw-icon-btn:focus                { background: none    !important; color: inherit !important; }

/* Inputs and selects */
.rdw-shop-page input,     .rdw-shop-page select,     .rdw-shop-page textarea,
.rdw-single-product input,.rdw-single-product select,.rdw-single-product textarea,
.rdw-cart-page input,     .rdw-cart-page select,     .rdw-cart-page textarea,
.rdw-checkout-page input, .rdw-checkout-page select, .rdw-checkout-page textarea {
  font-family:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:      inherit;
  color:          #0a0a0a;
  background:     #ffffff;
  border-radius:  0;
  box-shadow:     none;
  outline:        none;
  -webkit-appearance: none;
  appearance:     none;
}

/* Images — themes add rounded corners, borders, shadows */
.rdw-shop-page img,
.rdw-single-product img,
.rdw-cart-page img,
.rdw-checkout-page img {
  max-width:     100%;
  height:        auto;
  display:       block;
  border:        none;
  border-radius: 0;
  box-shadow:    none;
  vertical-align: middle;
}

/* Lists */
.rdw-shop-page ul,     .rdw-shop-page ol,
.rdw-single-product ul,.rdw-single-product ol,
.rdw-cart-page ul,     .rdw-cart-page ol,
.rdw-checkout-page ul, .rdw-checkout-page ol {
  list-style: none;
  margin:     0;
  padding:    0;
}

/* Tables */
.rdw-shop-page table,
.rdw-single-product table,
.rdw-cart-page table,
.rdw-checkout-page table {
  border-collapse: collapse;
  border-spacing:  0;
  width:           100%;
}

/* Strong / em */
.rdw-shop-page strong,     .rdw-single-product strong,
.rdw-cart-page strong,     .rdw-checkout-page strong   { font-weight: 700; }
.rdw-shop-page em,         .rdw-single-product em,
.rdw-cart-page em,         .rdw-checkout-page em       { font-style: italic; }

/* ── 3. Design tokens + wrapper foundation ──────────────────
   Explicit colour, font, background on every wrapper so the
   cascade starts from our values, not the theme's.         */
.rdw-shop-page,
.rdw-single-product,
.rdw-cart-page,
.rdw-checkout-page {
  --rdw-black:       #0a0a0a;
  --rdw-white:       #ffffff;
  --rdw-gray-100:    #f5f5f5;
  --rdw-gray-200:    #e8e8e8;
  --rdw-gray-400:    #aaaaaa;
  --rdw-gray-600:    #666666;
  --rdw-gray-800:    #2d2d2d;
  --rdw-accent:      #c8a96e;
  --rdw-accent-dark: #a8863e;
  --rdw-danger:      #cc1a1a;
  --rdw-trans:       0.25s cubic-bezier(0.4, 0, 0.2, 1);
  font-family:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  font-size:    1rem;
  line-height:  1.5;
  color:        #0a0a0a;
  background:   #ffffff;
  isolation:    isolate;   /* own stacking context — theme z-index can't intrude */
}

/* ── Container ── */
.rdw-container {
  width:     90%;
  max-width: 1320px;
  margin:    0 auto;
  padding:   0;
}
@media (max-width: 600px) { .rdw-container { width: 94%; } }

/* ── Page hero ── */
.rdw-page-hero {
  background:  #0a0a0a;
  padding:     52px 0 40px;
  text-align:  center;
}
.rdw-page-hero--sm { padding: 36px 0 28px; }
.rdw-eyebrow {
  display:        block;
  font-size:      0.68rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          #c8a96e;
  margin-bottom:  10px;
}
.rdw-hero-title {
  font-size:   clamp(1.8rem, 4vw, 2.8rem);
  font-weight: 800;
  line-height: 1.1;
  color:       #fff;
  margin:      0 0 10px;
  letter-spacing: -0.02em;
}
.rdw-hero-desc { color: rgba(255,255,255,0.6); font-size: 0.9rem; margin: 0; }

/* ── Breadcrumb ──
   Separator is added via li + li::before so no
   <span> ever sits as a direct child of <ol>.   */
.rdw-breadcrumb { margin: 12px 0 0; }

.rdw-breadcrumb ol {
  display:         flex;
  align-items:     center;
  flex-wrap:       wrap;
  list-style:      none;
  padding:         0;
  margin:          0;
  justify-content: center;
}
.rdw-breadcrumb ol li {
  display:     flex;
  align-items: center;
  font-size:   0.75rem;
  color:       rgba(255,255,255,0.5);
}
.rdw-breadcrumb ol li a {
  color:       rgba(255,255,255,0.65);
  text-decoration: none;
  transition:  color 0.2s;
}
.rdw-breadcrumb ol li a:hover { color: #fff; }

/* "/" separator between items */
.rdw-breadcrumb ol li + li::before {
  content: '/';
  margin:  0 8px;
  color:   rgba(255,255,255,0.25);
}

/* Single product — breadcrumb on white background */
.rdw-single-product .rdw-breadcrumb { margin: 0 0 20px; }
.rdw-single-product .rdw-breadcrumb ol { justify-content: flex-start; }
.rdw-single-product .rdw-breadcrumb ol li { color: #aaa; }
.rdw-single-product .rdw-breadcrumb ol li a { color: #666; }
.rdw-single-product .rdw-breadcrumb ol li a:hover { color: #0a0a0a; }
.rdw-single-product .rdw-breadcrumb ol li + li::before { color: #ddd; }

/* ── Shared buttons ── */
.rdw-btn {
  display:        inline-flex;
  align-items:    center;
  padding:        13px 30px;
  font-size:      0.78rem;
  font-weight:    700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
  cursor:         pointer;
  border:         2px solid #0a0a0a;
  background:     #0a0a0a;
  color:          #fff;
  transition:     background 0.2s;
  white-space:    nowrap;
  font-family:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.rdw-btn:hover { background: #2d2d2d; border-color: #2d2d2d; color: #fff; }
.rdw-btn-outline { background: transparent; color: #0a0a0a; }
.rdw-btn-outline:hover { background: #0a0a0a; color: #fff; }
.rdw-btn-ghost {
  background: transparent; color: #666;
  border: 1.5px solid #e8e8e8; padding: 10px 20px;
}
.rdw-btn-ghost:hover { border-color: #0a0a0a; color: #0a0a0a; }

/* ── Input ── */
.rdw-input {
  padding:     12px 16px;
  border:      1.5px solid #e8e8e8;
  font-size:   0.875rem;
  color:       #0a0a0a;
  outline:     none;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background:  #fff;
  transition:  border-color 0.2s;
  border-radius: 0;
}
.rdw-input:focus { border-color: #0a0a0a; }

/* ================================================================
   SHOP PAGE
   ================================================================ */

/* Toolbar */
.rdw-shop-toolbar {
  border-bottom: 1px solid #e8e8e8;
  background:    #fff;
  position:      sticky;
  top:           0;
  z-index:       100;
}
.rdw-toolbar-inner {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  padding-top:     12px;
  padding-bottom:  12px;
  flex-wrap:       wrap;
}

/* Category tabs */
.rdw-cat-tabs {
  display:   flex;
  gap:       4px;
  flex-wrap: wrap;
}
.rdw-cat-tab {
  display:        block;
  padding:        7px 16px;
  font-size:      0.78rem;
  font-weight:    600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color:          #666;
  text-decoration: none;
  border-bottom:  2px solid transparent;
  transition:     color 0.2s, border-color 0.2s;
  white-space:    nowrap;
}
.rdw-cat-tab:hover  { color: #0a0a0a; }
.rdw-cat-tab.is-active { color: #0a0a0a; border-color: #0a0a0a; font-weight: 700; }

/* Sort dropdown — override WooCommerce default */
.rdw-toolbar-right .woocommerce-ordering { margin: 0; }
.rdw-toolbar-right select,
.rdw-toolbar-right .woocommerce-ordering select {
  padding:     8px 32px 8px 14px;
  border:      1.5px solid #e8e8e8 !important;
  font-size:   0.82rem;
  color:       #0a0a0a;
  background:  #fff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  cursor:      pointer;
  outline:     none;
  appearance:  none;
  border-radius: 0 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:   no-repeat;
  background-position: right 12px center;
  box-shadow: none !important;
}

/* ── Attribute filter bar (always visible below toolbar) ── */
.rdw-filter-bar {
  background:    #fff;
  border-bottom: 1px solid #e8e8e8;
  padding:       14px 0;
}

.rdw-filter-bar-inner {
  display:     flex;
  align-items: center;
  gap:         32px;
  flex-wrap:   wrap;
}

/* Label + chips row for each attribute */
.rdw-fgroup {
  display:     flex;
  align-items: center;
  gap:         10px;
  flex-wrap:   wrap;
}

.rdw-fgroup-label {
  font-size:      0.65rem;
  font-weight:    700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color:          #aaa;
  white-space:    nowrap;
  flex-shrink:    0;
  min-width:      40px;
}

.rdw-fgroup-chips {
  display:     flex;
  align-items: center;
  gap:         7px;
  flex-wrap:   wrap;
}

/* ── Color swatch chip ── */
.rdw-color-chip {
  display:        inline-flex;
  align-items:    center;
  gap:            7px;
  padding:        6px 12px 6px 7px;
  border:         1.5px solid #e8e8e8;
  background:     #fff;
  font-size:      0.75rem;
  font-weight:    500;
  color:          #0a0a0a;
  text-decoration: none;
  cursor:         pointer;
  transition:     border-color 0.2s, box-shadow 0.2s, color 0.2s;
  white-space:    nowrap;
  line-height:    1;
}
.rdw-color-chip:hover {
  border-color: #0a0a0a;
  box-shadow:   0 0 0 1px #0a0a0a inset;
}
.rdw-color-chip.is-active {
  border-color: #c8a96e;
  box-shadow:   0 0 0 1px #c8a96e inset;
  font-weight:  700;
}
.rdw-color-chip.is-active .rdw-cdot {
  outline:        2px solid #c8a96e;
  outline-offset: 2px;
}

.rdw-cdot {
  width:         18px;
  height:        18px;
  border-radius: 50%;
  flex-shrink:   0;
  border:        1px solid rgba(0,0,0,0.1);
  display:       block;
}

/* ── Size pill ── */
.rdw-size-chip {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  min-width:       44px;
  height:          36px;
  padding:         0 14px;
  border:          1.5px solid #e8e8e8;
  background:      #fff;
  font-size:       0.78rem;
  font-weight:     600;
  color:           #0a0a0a;
  text-decoration: none;
  cursor:          pointer;
  transition:      border-color 0.2s, background 0.2s, color 0.2s;
  white-space:     nowrap;
  letter-spacing:  0.04em;
}
.rdw-size-chip:hover      { border-color: #0a0a0a; }
.rdw-size-chip.is-active  {
  border-color: #0a0a0a;
  background:   #0a0a0a;
  color:        #fff;
}

/* ── Clear all ── */
.rdw-clear-all {
  display:              inline-flex;
  align-items:          center;
  gap:                  5px;
  font-size:            0.72rem;
  color:                #999;
  text-decoration:      underline;
  text-underline-offset: 3px;
  cursor:               pointer;
  background:           none;
  border:               none;
  font-family:          inherit;
  padding:              0;
  transition:           color 0.2s;
  margin-left:          auto;
  white-space:          nowrap;
}
.rdw-clear-all:hover { color: #0a0a0a; }

/* ── Active filter chips summary ── */
.rdw-active-bar {
  display:       flex;
  align-items:   center;
  gap:           8px;
  padding:       8px 0;
  border-bottom: 1px solid #e8e8e8;
  flex-wrap:     wrap;
}
.rdw-active-bar-label { font-size: 0.7rem; color: #aaa; }
.rdw-active-tag {
  display:        inline-flex;
  align-items:    center;
  gap:            6px;
  padding:        3px 10px;
  border:         1px solid #0a0a0a;
  font-size:      0.72rem;
  font-weight:    600;
  text-decoration: none;
  color:          #0a0a0a;
  background:     #fff;
  transition:     background 0.2s;
}
.rdw-active-tag:hover { background: #f5f5f5; }
.rdw-active-tag-x { color: #999; }

@media (max-width: 768px) {
  .rdw-filter-bar-inner { gap: 18px; }
  .rdw-fgroup           { gap: 8px; }
  .rdw-clear-all        { margin-left: 0; }
}

/* Product grid — output by loop-start.php */
.rdw-grid-container { padding-top: 0; padding-bottom: 48px; }

.rdw-products-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   15px;
  margin:                32px 0;
}
@media (max-width: 1024px) { .rdw-products-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .rdw-products-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; } }

/* Also apply when loop is inside related products */
.rdw-single-product .rdw-products-grid { margin: 0; }

/* ── Product card ── */
.rdw-product-card {
  position:   relative;
  overflow:   hidden;
  background: #fff;
}

.rdw-product-image {
  position:     relative;
  aspect-ratio: 3/4;
  overflow:     hidden;
  background:   #f5f5f5;
  display:      block;
}
.rdw-product-image img {
  position:        absolute;
  inset:           0;
  width:           100%;
  height:          100%;
  object-fit:      cover;
  object-position: top center;
  transition:      opacity 0.45s ease, transform 0.6s ease;
  display:         block;
  max-width:       none;
}
.rdw-img-primary   { opacity: 1; z-index: 0; transform: scale(1); }
.rdw-img-secondary { opacity: 0; z-index: 1; transform: scale(1); }
.rdw-product-card:hover .rdw-img-primary   { opacity: 0; transform: scale(1.06); }
.rdw-product-card:hover .rdw-img-secondary { opacity: 1; transform: scale(1.06); }

/* Subtle dark overlay on hover so Quick View text is readable */
.rdw-product-image::after {
  content:        '';
  position:       absolute;
  inset:          0;
  background:     rgba(0,0,0,0.18);
  opacity:        0;
  transition:     opacity 0.3s;
  z-index:        3;
  pointer-events: none;
}
.rdw-product-card:hover .rdw-product-image::after { opacity: 1; }

.rdw-badge {
  position:       absolute;
  top:            0; left: 0;
  padding:        5px 11px;
  font-size:      0.6rem;
  font-weight:    800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  z-index:        5;
}
.rdw-badge-new  { background: #c8a96e; color: #0a0a0a; }
.rdw-badge-sale { background: #cc1a1a; color: #fff; }

/* Quick view trigger */
.rdw-qv-btn {
  position:        absolute;
  bottom:          18px;
  left:            50%;
  transform:       translateX(-50%) translateY(10px);
  opacity:         0;
  display:         inline-flex !important;
  align-items:     center;
  justify-content: center;
  width:           auto !important;
  max-width:       none !important;
  min-width:       0 !important;
  background:      rgba(255,255,255,0.95) !important;
  color:           #0a0a0a !important;
  border:          none !important;
  outline:         none !important;
  padding:         13px 32px !important;
  font-size:       0.6rem !important;
  font-weight:     700 !important;
  letter-spacing:  0.18em !important;
  text-transform:  uppercase !important;
  cursor:          pointer;
  white-space:     nowrap;
  transition:      opacity 0.25s ease, transform 0.28s ease, background 0.2s, color 0.2s;
  z-index:         10;
  font-family:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  box-shadow:      none !important;
  border-radius:   0 !important;
  line-height:     1 !important;
}
.rdw-product-card:hover .rdw-qv-btn {
  opacity:   1;
  transform: translateX(-50%) translateY(0);
}
.rdw-qv-btn:hover,
.rdw-qv-btn:focus {
  background:   #c8a96e !important;
  color:        #fff !important;
  border:       none !important;
  outline:      none !important;
  box-shadow:   none !important;
}

/* Product info */
.rdw-product-info { padding: 14px 0 18px; }
.rdw-product-cat {
  font-size:      0.6rem;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color:          #c8a96e;
  margin:         0 0 5px;
}
.rdw-product-name {
  font-size:      0.95rem;
  font-weight:    700;
  line-height:    1.2;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  margin:         0 0 8px;
}
.rdw-product-name a { color: #0a0a0a; text-decoration: none; }
.rdw-product-name a:hover { color: #c8a96e; }
.rdw-product-price { display: flex; align-items: center; gap: 8px; }

/* WooCommerce price inside our card */
.rdw-product-card .woocommerce-Price-amount,
.rdw-product-card .price,
.rdw-product-card .price .amount { font-size: 0.92rem; font-weight: 800; color: #0a0a0a; }
.rdw-product-card .price del,
.rdw-product-card .price del .amount { color: #bbb; font-size: 0.8rem; font-weight: 400; }
.rdw-product-card .price ins { text-decoration: none; }

/* Shortcode inline del/ins prices */
.rdw-product-price del { color: #bbb; font-size: 0.8rem; font-weight: 400; text-decoration: line-through; }
.rdw-product-price ins { font-size: 0.92rem; font-weight: 800; color: #0a0a0a; text-decoration: none; }

/* ── Quick view modal ── */
.rdw-qv-overlay {
  position:        fixed;
  inset:           0;
  background:      rgba(0,0,0,0.55);
  z-index:         100000;
  display:         flex;
  align-items:     center;
  justify-content: center;
  padding:         20px;
  opacity:         0;
  pointer-events:  none;
  transition:      opacity 0.25s ease;
}
.rdw-qv-overlay.is-open { opacity: 1; pointer-events: auto; }

.rdw-qv-modal {
  background:  #fff;
  width:       min(860px, 100%);
  max-height:  90vh;
  display:     grid;
  grid-template-columns: 1fr 1fr;
  position:    relative;
  overflow:    hidden;
  transform:   translateY(22px);
  transition:  transform 0.3s ease;
}
.rdw-qv-overlay.is-open .rdw-qv-modal { transform: translateY(0); }
@media (max-width: 640px) {
  .rdw-qv-modal { grid-template-columns: 1fr; max-height: 88vh; overflow-y: auto; }
}

.rdw-qv-image-wrap {
  position:     relative;
  aspect-ratio: 3/4;
  overflow:     hidden;
  background:   #f5f5f5;
}
@media (max-width: 640px) { .rdw-qv-image-wrap { aspect-ratio: 4/3; } }
.rdw-qv-image-wrap img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: top center;
  display: block;
}

.rdw-qv-close {
  position:    absolute;
  top:         14px; right: 14px;
  background:  #fff;
  border:      none;
  width:       34px; height: 34px;
  display:     flex; align-items: center; justify-content: center;
  font-size:   1.3rem; line-height: 1;
  cursor:      pointer;
  color:       #0a0a0a;
  z-index:     10;
  transition:  color 0.2s;
}
.rdw-qv-close:hover { color: #c8a96e; }

.rdw-qv-body {
  padding:         40px 36px;
  display:         flex;
  flex-direction:  column;
  justify-content: center;
  overflow-y:      auto;
}
@media (max-width: 640px) { .rdw-qv-body { padding: 28px 22px; } }

.rdw-qv-cat {
  font-size:      0.58rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          #c8a96e;
  margin:         0 0 10px;
}
.rdw-qv-title {
  font-family:    'Playfair Display', Georgia, serif;
  font-size:      clamp(1.3rem, 3vw, 1.9rem);
  font-weight:    700;
  letter-spacing: -0.02em;
  line-height:    1.15;
  color:          #0a0a0a;
  margin:         0 0 14px;
}
.rdw-qv-price {
  font-size:   0.95rem;
  font-weight: 800;
  color:       #0a0a0a;
  margin:      0 0 32px;
}
.rdw-qv-price del  { color: #bbb; font-weight: 400; font-size: 0.82rem; margin-right: 6px; }
.rdw-qv-price .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; color: inherit; }

.rdw-qv-actions { display: flex; flex-direction: column; gap: 10px; }

.rdw-qv-add {
  display:         block;
  text-align:      center;
  background:      #0a0a0a;
  color:           #fff;
  padding:         15px 24px;
  font-size:       0.62rem;
  font-weight:     800;
  letter-spacing:  0.2em;
  text-transform:  uppercase;
  text-decoration: none;
  border:          none;
  cursor:          pointer;
  font-family:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  transition:      background 0.2s, color 0.2s;
}
.rdw-qv-add:hover { background: #c8a96e !important; color: #0a0a0a !important; }

.rdw-qv-link {
  display:         block;
  text-align:      center;
  background:      transparent;
  color:           #0a0a0a;
  padding:         13px 24px;
  font-size:       0.6rem;
  font-weight:     700;
  letter-spacing:  0.16em;
  text-transform:  uppercase;
  text-decoration: none;
  border:          1.5px solid #0a0a0a;
  transition:      background 0.2s, color 0.2s;
}
.rdw-qv-link:hover { background: #0a0a0a; color: #fff; }

/* ── Pagination ── */
.woocommerce-pagination { margin: 8px 0 48px; text-align: center; }
.woocommerce-pagination ul { display: inline-flex; gap: 4px; list-style: none; padding: 0; margin: 0; }
.woocommerce-pagination ul .page-numbers {
  display:     flex;
  align-items: center;
  justify-content: center;
  width:       40px; height: 40px;
  font-size:   0.82rem; font-weight: 600;
  border:      1.5px solid #e8e8e8;
  color:       #0a0a0a;
  text-decoration: none;
  transition:  background 0.2s;
}
.woocommerce-pagination ul .page-numbers:hover,
.woocommerce-pagination ul .page-numbers.current {
  background: #0a0a0a; border-color: #0a0a0a; color: #fff;
}
.woocommerce-pagination ul .page-numbers.dots { border: none; background: none; }

/* No products */
.rdw-no-products { text-align: center; padding: 64px 24px; }
.rdw-no-products p { color: #666; margin-bottom: 24px; }

/* ================================================================
   SINGLE PRODUCT
   ================================================================ */
.rdw-single-product { padding: 0 0 64px; }

/* ── Page layout: 50/50 columns ─────────────────────────── */
.rdw-sp-layout {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   64px;
  align-items:           start;
  padding:               40px 0 72px;
}
@media (max-width: 900px) {
  .rdw-sp-layout { grid-template-columns: 1fr; gap: 32px; padding: 28px 0 48px; }
}

/* ── Gallery wrapper: vertical thumb strip on left ────────
   Grid: [68px thumb col] [main image col]
   Thumbs are first in HTML so they naturally land in col 1. */
.rdw-gallery {
  display:               grid;
  grid-template-columns: 68px 1fr;
  gap:                   10px;
  align-items:           start;
  position:              sticky;
  top:                   84px;
}
@media (max-width: 900px) {
  .rdw-gallery {
    position:              static;
    grid-template-columns: 1fr;
  }
}

/* Thumb strip — column 1, vertical stack */
.rdw-thumbs {
  grid-column:    1;
  grid-row:       1;
  display:        flex;
  flex-direction: column;
  gap:            6px;
}
@media (max-width: 900px) {
  .rdw-thumbs {
    grid-column:    1;
    grid-row:       2;
    flex-direction: row;
    flex-wrap:      wrap;
    gap:            6px;
  }
}

.rdw-thumb {
  width:       100%;
  aspect-ratio: 3/4;
  overflow:    hidden;
  border:      2px solid transparent;
  cursor:      pointer;
  padding:     0;
  background:  #f5f5f5;
  flex-shrink: 0;
  transition:  border-color 0.2s;
}
@media (max-width: 900px) { .rdw-thumb { width: 60px; } }
.rdw-thumb img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
.rdw-thumb:hover   { border-color: #aaaaaa; }
.rdw-thumb.is-active { border-color: #0a0a0a; }

/* Main image — column 2 */
.rdw-main-image {
  grid-column:  2;
  grid-row:     1;
  position:     relative;
  aspect-ratio: 3/4;
  overflow:     hidden;
  background:   #f5f5f5;
}
@media (max-width: 900px) {
  .rdw-main-image { grid-column: 1; grid-row: 1; }
}
.rdw-main-image img {
  width: 100%; height: 100%;
  object-fit: cover; object-position: top center;
  display: block;
  transition: transform 0.4s ease;
}
.rdw-main-image:hover img { transform: scale(1.03); }

.rdw-sale-flash {
  position:       absolute;
  top: 14px; left: 14px;
  background:     #cc1a1a; color: #fff;
  font-size:      0.65rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding:        4px 10px; z-index: 2;
}
.rdw-new-flash {
  position:       absolute;
  top: 14px; left: 14px;
  background:     #c8a96e; color: #fff;
  font-size:      0.65rem; font-weight: 700;
  letter-spacing: 0.08em; text-transform: uppercase;
  padding:        4px 10px; z-index: 2;
}

/* ── Product details panel — sticky on desktop ────────── */
.rdw-sp-details {
  padding-top: 8px;
  position:    sticky;
  top:         84px;
}
@media (max-width: 900px) { .rdw-sp-details { position: static; } }
.rdw-sp-title {
  font-size:   clamp(1.5rem, 3vw, 2rem);
  font-weight: 800; line-height: 1.1;
  margin:      4px 0 16px; letter-spacing: -0.02em;
}
.rdw-sp-price { margin-bottom: 20px; }
.rdw-sp-price .woocommerce-Price-amount { font-size: 1.4rem; font-weight: 700; color: #0a0a0a; }
.rdw-sp-price del .woocommerce-Price-amount { font-size: 1rem; color: #aaa; font-weight: 400; }
.rdw-sp-price ins { text-decoration: none; }

.rdw-sp-excerpt {
  font-size:     0.9rem; color: #444;
  line-height:   1.7; margin-bottom: 24px;
}
.rdw-sp-excerpt p { margin: 0 0 8px; }

/* Add to cart */
.rdw-sp-details form.cart {
  display:        flex;
  flex-direction: column;
  gap:            12px;
  margin-bottom:  20px;
}
.rdw-sp-details .quantity { display: inline-flex; align-items: center; }
.rdw-sp-details .quantity input.qty {
  width: 64px; height: 48px;
  text-align: center;
  border: 1.5px solid #e8e8e8;
  font-size: 1rem; font-weight: 600;
  outline: none; background: #fff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -moz-appearance: textfield;
  border-radius: 0;
}
.rdw-sp-details .quantity input.qty::-webkit-outer-spin-button,
.rdw-sp-details .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; }

.rdw-sp-details .single_add_to_cart_button {
  width:          100% !important;
  padding:        16px !important;
  background:     #0a0a0a !important;
  color:          #fff !important;
  font-size:      0.82rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border:         none !important;
  cursor:         pointer !important;
  font-family:    inherit !important;
  border-radius:  0 !important;
}
.rdw-sp-details .single_add_to_cart_button:hover { background: #2d2d2d !important; }

/* Variation table — hide label column, stack rows as blocks */
.rdw-sp-details .variations { width: 100%; border: none; margin-bottom: 8px; border-collapse: collapse; }
.rdw-sp-details .variations tbody { display: block; }
.rdw-sp-details .variations tr    { display: block; }
.rdw-sp-details .variations td    { display: block; padding: 0; border: none; }
.rdw-sp-details .variations .label { display: none; }

/* ── Attribute selector groups (injected by RDWProductUI) ── */
.rdw-attr-group { margin-bottom: 20px; }

.rdw-attr-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #0a0a0a;
  margin-bottom: 10px;
  display: flex;
  align-items: center;
}
.rdw-attr-chosen {
  font-weight: 400;
  color: #666;
  letter-spacing: 0;
  text-transform: none;
  font-size: 0.82rem;
}

/* Colour attributes use the same .rdw-attr-pills / .rdw-attr-pill as sizes —
   text-only pills, no colour dots. See .rdw-attr-pill below. */
.rdw-attr-swatches { display: flex; gap: 8px; flex-wrap: wrap; }

/* Size / generic pills */
.rdw-attr-pills { display: flex; flex-wrap: wrap; gap: 6px; }
.rdw-attr-pill {
  min-width: 44px;
  height: 44px;
  padding: 0 16px;
  border: 1.5px solid #e8e8e8;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #0a0a0a;
  cursor: pointer;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.rdw-attr-pill:hover { border-color: #0a0a0a; }
.rdw-attr-pill.is-active  { background: #0a0a0a; color: #fff; border-color: #0a0a0a; }
.rdw-attr-pill.is-sold-out { opacity: 0.35; text-decoration: line-through; cursor: not-allowed; }

/* ── Attribute select dropdown (variable products — interactive attrs) ── */
.rdw-attr-select {
  display:             block;
  width:               100%;
  height:              48px;
  padding:             0 40px 0 14px;
  border:              1.5px solid #e8e8e8;
  background:          #fff;
  font-size:           0.875rem;
  font-weight:         400;
  color:               #0a0a0a;
  font-family:         'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  cursor:              pointer;
  outline:             none;
  appearance:          none;
  -webkit-appearance:  none;
  border-radius:       0;
  background-image:    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23666' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:   no-repeat;
  background-position: right 14px center;
  transition:          border-color 0.2s;
  margin-top:          4px;
}
.rdw-attr-select:hover { border-color: #0a0a0a; }
.rdw-attr-select:focus { border-color: #0a0a0a; outline: none; }

/* ── Click-based qty stepper ── */
.rdw-qty-stepper {
  display:     inline-flex;
  align-items: stretch;
  border:      1.5px solid #e8e8e8;
  height:      48px;
}
.rdw-qty-btn {
  width:       44px;
  height:      100%;
  font-size:   1.1rem;
  font-weight: 300;
  color:       #2d2d2d;
  display:     flex;
  align-items: center;
  justify-content: center;
  cursor:      pointer;
  border:      none;
  background:  none;
  transition:  background 0.2s, color 0.2s;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  user-select: none;
  line-height: 1;
}
.rdw-qty-btn:hover { background: #0a0a0a; color: #fff; }
.rdw-qty-num {
  min-width:   50px;
  height:      100%;
  font-size:   0.9rem;
  font-weight: 600;
  text-align:  center;
  display:     flex;
  align-items: center;
  justify-content: center;
  border-left:  1.5px solid #e8e8e8;
  border-right: 1.5px solid #e8e8e8;
}

/* ── Add-to-cart row: stepper + button side by side ── */
.rdw-sp-details .variations_button {
  display: flex !important;
  align-items: stretch;
  gap: 10px;
  margin-top: 4px;
}
.rdw-sp-details .quantity {
  display: flex !important;
  align-items: center;
  flex-shrink: 0;
  margin: 0 !important;
}
.rdw-sp-details .single_add_to_cart_button {
  flex:    1 !important;
  height:  48px !important;
  padding: 0 24px !important;
}

/* ── Hidden WC form (keeps WC variation + cart logic alive) ── */
.rdw-wc-form-wrap {
  position: absolute;
  left: -9999px;
  width: 1px;
  height: 1px;
  overflow: hidden;
  pointer-events: none;
}

/* ── Custom add row: qty stepper + Add to Bag ── */
.rdw-add-row {
  display: flex;
  gap: 10px;
  align-items: stretch;
  margin-bottom: 14px;
}
.rdw-add-bag-btn {
  flex:            1;
  height:          48px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       0.82rem;
  letter-spacing:  0.1em;
}

/* ── Wishlist button ── */
.rdw-wishlist-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  color: #666;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: none;
  border: none;
  cursor: pointer;
  padding: 0;
  margin-bottom: 28px;
  transition: color 0.2s;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.rdw-wishlist-btn:hover  { color: #0a0a0a; }
.rdw-wishlist-btn.active { color: #cc1a1a; }
.rdw-wishlist-btn.active svg { fill: #cc1a1a; stroke: #cc1a1a; }

/* ── Accordion ── */
.rdw-accordion { border-top: 1px solid #e8e8e8; margin-top: 4px; }

.rdw-acc-item { border-bottom: 1px solid #e8e8e8; }

.rdw-acc-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 16px 0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #0a0a0a;
  background: none;
  border: none;
  cursor: pointer;
  text-align: left;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.rdw-acc-icon { display: flex; align-items: center; flex-shrink: 0; transition: transform 0.25s ease; }
.rdw-acc-trigger[aria-expanded="true"] .rdw-acc-icon { transform: rotate(180deg); }

.rdw-acc-body {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
}
.rdw-acc-inner {
  padding-bottom: 18px;
  font-size: 0.875rem;
  color: #666;
  line-height: 1.75;
}
.rdw-acc-inner p { margin: 0 0 10px; }
.rdw-acc-inner p:last-child { margin: 0; }

/* ── Size table inside accordion ── */
.rdw-size-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  margin-top: 8px;
}
.rdw-size-table th,
.rdw-size-table td {
  text-align: left;
  padding: 8px 12px;
  border-bottom: 1px solid #e8e8e8;
}
.rdw-size-table th {
  font-weight: 700;
  background: #f5f5f5;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.rdw-size-table tr:last-child td { border-bottom: none; }

/* Product meta (SKU, category) */
.rdw-sp-details .product_meta {
  margin-top: 16px; font-size: 0.82rem; color: #666;
  border-top: 1px solid #e8e8e8; padding-top: 16px;
}
.rdw-sp-details .product_meta > span { display: block; margin-bottom: 4px; }
.rdw-sp-details .product_meta a { color: #0a0a0a; }
.rdw-sp-details .product_meta a:hover { color: #c8a96e; }

/* Star rating */
.rdw-sp-details .woocommerce-product-rating { margin-bottom: 12px; }
.rdw-sp-details .star-rating { color: #c8a96e; }
.rdw-sp-details .woocommerce-review-link { font-size: 0.8rem; color: #666; }

/* Tabs */
.rdw-single-product .woocommerce-tabs {
  margin-top:  48px; padding-top: 32px;
  border-top:  1px solid #e8e8e8;
}
.rdw-single-product .woocommerce-tabs ul.tabs {
  display:       flex; gap: 0;
  border-bottom: 1px solid #e8e8e8;
  margin:        0 0 28px; padding: 0; list-style: none;
}
.rdw-single-product .woocommerce-tabs ul.tabs li { margin: 0; }
.rdw-single-product .woocommerce-tabs ul.tabs li::before,
.rdw-single-product .woocommerce-tabs ul.tabs li::after { display: none; }
.rdw-single-product .woocommerce-tabs ul.tabs li a {
  display:     block;
  padding:     10px 20px;
  font-size:   0.82rem; font-weight: 600;
  text-decoration: none; color: #666;
  border:      none; border-bottom: 2px solid transparent;
  margin-bottom: -1px; background: none;
  transition:  color 0.2s, border-color 0.2s;
}
.rdw-single-product .woocommerce-tabs ul.tabs li.active a,
.rdw-single-product .woocommerce-tabs ul.tabs li a:hover {
  color: #0a0a0a; border-bottom-color: #0a0a0a; background: none;
}
.rdw-single-product .woocommerce-tabs .panel {
  font-size: 0.9rem; line-height: 1.7; color: #444;
}
.rdw-single-product .woocommerce-tabs .panel h2 { display: none; }
.rdw-single-product .woocommerce-tabs table.shop_attributes { width: 100%; border-collapse: collapse; }
.rdw-single-product .woocommerce-tabs table.shop_attributes th,
.rdw-single-product .woocommerce-tabs table.shop_attributes td {
  padding: 10px 12px; border-bottom: 1px solid #e8e8e8;
  font-size: 0.875rem; text-align: left;
}
.rdw-single-product .woocommerce-tabs table.shop_attributes th {
  font-weight: 700; width: 30%; color: #0a0a0a;
}

/* Related products */
.rdw-single-product .related.products { margin-top: 64px; padding-top: 40px; border-top: 1px solid #e8e8e8; }
.rdw-single-product .related.products > h2 {
  font-size:      0.68rem;
  font-weight:    700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color:          #aaa;
  margin-bottom:  24px;
}
@media (max-width: 640px) { .rdw-single-product .related.products .rdw-products-grid { grid-template-columns: repeat(2, 1fr); } }

/* ── Breadcrumb bar (white band above the product layout) ── */
.rdw-product-bc-bar {
  background:    #fff;
  border-bottom: 1px solid #f0f0f0;
  padding:       12px 0;
}
.rdw-product-bc-bar .woocommerce-breadcrumb {
  margin:    0;
  font-size: 0.78rem;
  color:     #aaa;
}
.rdw-product-bc-bar .woocommerce-breadcrumb a {
  color:           #666;
  text-decoration: none;
  transition:      color 0.2s;
}
.rdw-product-bc-bar .woocommerce-breadcrumb a:hover { color: #0a0a0a; }

/* ── Category tag on single product (gold, uppercase) ── */
.rdw-sp-cat-tag {
  display:        inline-block;
  font-size:      0.68rem;
  font-weight:    700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color:          #c8a96e;
  text-decoration: none;
  margin-bottom:  10px;
  transition:     color 0.2s;
}
.rdw-sp-cat-tag:hover { color: #a8863e; }

/* ── Star rating row ── */
.rdw-sp-rating {
  display:     flex;
  align-items: center;
  gap:         8px;
  margin-bottom: 14px;
}
.rdw-sp-rating .star-rating { color: #c8a96e; font-size: 0.9rem; }
.rdw-review-count            { font-size: 0.78rem; color: #aaa; }

/* ── Gallery badge container (positions badges over main image) ── */
.rdw-gallery-badges {
  position:       absolute;
  top:            12px;
  left:           12px;
  display:        flex;
  flex-direction: column;
  gap:            6px;
  z-index:        2;
}
/* Reset sale-flash when it sits inside the badge container */
.rdw-gallery-badges .rdw-sale-flash {
  position: static;
}

/* ── "New" badge ── */
.rdw-new-flash {
  display:        inline-block;
  padding:        4px 10px;
  font-size:      0.65rem;
  font-weight:    700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background:     #c8a96e;
  color:          #fff;
}

/* ── Informational attribute groups (simple products, non-interactive) ── */
.rdw-attr-group--info .rdw-attr-pill,
.rdw-attr-group--info .rdw-attr-swatch {
  cursor:         default;
  pointer-events: none;
}
.rdw-attr-group--info .rdw-attr-label {
  color: #888;
}
.rdw-attr-group--info .rdw-attr-pill.is-active {
  background:   #f5f5f5;
  color:        #0a0a0a;
  border-color: #ddd;
}

/* ── Add to Bag button: align SVG icon + text ── */
.rdw-add-bag-btn { gap: 8px; }

/* ── Trust strip: 3-column grid below wishlist ── */
.rdw-trust-strip {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  border:                1px solid #f0f0f0;
  margin-bottom:         24px;
}
.rdw-trust-item {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  text-align:     center;
  padding:        16px 10px;
  border-right:   1px solid #f0f0f0;
}
.rdw-trust-item:last-child { border-right: none; }
.rdw-trust-icon  { color: #c8a96e; margin-bottom: 8px; flex-shrink: 0; }
.rdw-trust-title { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.03em; color: #0a0a0a; margin-bottom: 2px; }
.rdw-trust-sub   { font-size: 0.65rem; color: #aaa; }

@media (max-width: 480px) {
  .rdw-trust-strip { grid-template-columns: 1fr; }
  .rdw-trust-item  { border-right: none; border-bottom: 1px solid #f0f0f0; padding: 14px 16px; flex-direction: row; text-align: left; gap: 12px; }
  .rdw-trust-item:last-child { border-bottom: none; }
  .rdw-trust-icon  { margin-bottom: 0; }
}

/* ================================================================
   CART PAGE (WooCommerce Blocks)
   ================================================================ */

/* Outer layout */
.wp-block-woocommerce-cart {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 40px 24px 64px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}
@media (max-width: 480px) { .wp-block-woocommerce-cart { padding: 24px 16px 48px !important; } }

/* Cart items */
.wc-block-cart-items__header th {
  font-size:      0.7rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color:          #aaa !important;
  border-bottom:  2px solid #e8e8e8 !important;
  padding-bottom: 12px !important;
}
.wc-block-cart-item { border-bottom: 1px solid #f5f5f5 !important; padding: 16px 0 !important; }
.wc-block-cart-item__image img { border-radius: 0 !important; }
.wc-block-cart-item__product-name { font-weight: 600 !important; font-size: 0.9rem !important; color: #0a0a0a !important; }
.wc-block-cart-item__product-name a { color: #0a0a0a !important; text-decoration: none !important; }
.wc-block-cart-item__product-name a:hover { color: #c8a96e !important; }
.wc-block-components-product-price { font-weight: 700 !important; color: #0a0a0a !important; }
.wc-block-components-product-price del { color: #aaa !important; font-weight: 400 !important; }
.wc-block-cart-item__remove-link { color: #aaa !important; font-size: 0.78rem !important; }
.wc-block-cart-item__remove-link:hover { color: #cc1a1a !important; }

/* Qty stepper */
.wc-block-components-quantity-selector { border: 1.5px solid #e8e8e8 !important; border-radius: 0 !important; }
.wc-block-components-quantity-selector__button { color: #0a0a0a !important; }
.wc-block-components-quantity-selector__value { font-weight: 600 !important; }

/* Totals panel */
.wc-block-cart__totals-title {
  font-size:      0.72rem !important;
  font-weight:    700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color:          #aaa !important;
}
.wc-block-components-totals-item { border-bottom: 1px solid #f5f5f5 !important; }
.wc-block-components-totals-item__label { font-size: 0.875rem !important; color: #666 !important; }
.wc-block-components-totals-item__value { font-weight: 700 !important; color: #0a0a0a !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1rem !important; font-weight: 800 !important; color: #0a0a0a !important;
}

/* Proceed to Checkout button */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-cart__submit-container .wc-block-components-button {
  background-color: #0a0a0a !important;
  color:            #fff    !important;
  border-radius:    0       !important;
  font-family:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:        0.78rem !important;
  font-weight:      700     !important;
  letter-spacing:   0.1em   !important;
  text-transform:   uppercase !important;
  padding:          15px 24px !important;
  border:           none     !important;
  box-shadow:       none     !important;
  width:            100%     !important;
  transition:       background 0.2s !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover {
  background-color: #2d2d2d !important;
  color:            #fff    !important;
}

/* Coupon */
.wc-block-components-totals-coupon__button { color: #c8a96e !important; font-weight: 600 !important; }
.wc-block-components-totals-coupon-link { color: #c8a96e !important; }

/* ================================================================
   CHECKOUT PAGE (WooCommerce Blocks)
   ================================================================ */
.wp-block-woocommerce-checkout {
  max-width: 1320px !important;
  margin:    0 auto !important;
  padding:   40px 24px 64px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

/* Field labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-checkbox__label,
.wc-block-checkout__contact-fields label,
.wc-block-checkout__billing-fields label,
.wc-block-checkout__shipping-fields label {
  font-size:      0.72rem !important;
  font-weight:    700     !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color:          #0a0a0a !important;
}

/* Text inputs */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input {
  border:        1.5px solid #e8e8e8 !important;
  border-radius: 0      !important;
  font-size:     0.875rem !important;
  font-family:   inherit  !important;
  color:         #0a0a0a  !important;
  outline:       none     !important;
  box-shadow:    none     !important;
  padding:       12px 14px !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus {
  border-color: #0a0a0a !important;
  box-shadow:   none    !important;
  outline:      none    !important;
}

/* Order review table */
.wc-block-components-order-summary-item { border-bottom: 1px solid #f5f5f5 !important; }
.wc-block-components-order-summary-item__description { font-size: 0.875rem !important; color: #0a0a0a !important; }
.wc-block-components-order-summary-item__total-price { font-weight: 700 !important; color: #0a0a0a !important; }
.wc-block-components-totals-footer-item { border-top: 2px solid #e8e8e8 !important; }

/* Payment methods */
.wc-block-components-radio-control__option { border-bottom: 1px solid #f5f5f5 !important; }
.wc-block-components-radio-control__input:checked { accent-color: #0a0a0a !important; }

/* Place Order button */
.wc-block-checkout__place-order .wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions_row .wc-block-components-button,
button.wc-block-components-checkout-place-order-button {
  background-color: #0a0a0a !important;
  color:            #fff    !important;
  border-radius:    0       !important;
  font-family:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:        0.82rem !important;
  font-weight:      700     !important;
  letter-spacing:   0.1em   !important;
  text-transform:   uppercase !important;
  padding:          16px    !important;
  border:           none    !important;
  box-shadow:       none    !important;
  width:            100%    !important;
}
button.wc-block-components-checkout-place-order-button:hover {
  background-color: #2d2d2d !important;
}

/* Section headings in checkout */
.wc-block-checkout__contact-fields h2,
.wc-block-checkout__billing-fields h2,
.wc-block-checkout__shipping-fields h2,
.wc-block-checkout__payment h2,
.wc-block-checkout__order-notes h2 {
  font-size:      0.72rem  !important;
  font-weight:    700      !important;
  letter-spacing: 0.14em   !important;
  text-transform: uppercase !important;
  color:          #aaa     !important;
  border-bottom:  1px solid #e8e8e8 !important;
  padding-bottom: 12px    !important;
  margin-bottom:  20px    !important;
}

/* Express payment methods */
.wc-block-components-express-payment-continue-rule { font-size: 0.78rem !important; color: #aaa !important; }

/* ================================================================
   WooCommerce notices (shared)
   ================================================================ */
.woocommerce-message,
.wc-block-components-notice--success {
  background:  #e8f5e9 !important;
  border-left: 3px solid #1a7a3a !important;
  border-top:  none !important;
  border-right: none !important;
  border-bottom: none !important;
  color:       #0a0a0a !important;
  padding:     14px 18px !important;
  border-radius: 0 !important;
}
.woocommerce-error,
.wc-block-components-notice--error {
  background:  #fce8e8 !important;
  border-left: 3px solid #cc1a1a !important;
  border-top:  none !important;
  border-right: none !important;
  border-bottom: none !important;
  color:       #0a0a0a !important;
  padding:     14px 18px !important;
  border-radius: 0 !important;
}
.woocommerce-info {
  border-left: 3px solid #c8a96e !important;
  background:  #fdf7ee !important;
  color:       #0a0a0a !important;
}
.woocommerce-message::before,
.woocommerce-error::before,
.woocommerce-info::before { display: none !important; }

/* ── PHP-template cart/checkout (classic pages, if switched to shortcode) ── */
.rdw-cart-page { padding-bottom: 64px; }
.rdw-cart-layout {
  display:               grid;
  grid-template-columns: 1fr 360px;
  gap:                   48px;
  align-items:           start;
}
@media (max-width: 900px) { .rdw-cart-layout { grid-template-columns: 1fr; gap: 32px; } }
.rdw-cart-item {
  display: flex; gap: 20px; padding: 20px 0;
  border-bottom: 1px solid #f5f5f5; align-items: flex-start;
}
.rdw-ci-image { flex-shrink: 0; width: 90px; }
.rdw-ci-image img { width: 90px; height: 112px; object-fit: cover; display: block; }
.rdw-ci-info { flex: 1; }
.rdw-ci-name { font-size: 0.9rem; font-weight: 600; margin: 0 0 4px; }
.rdw-ci-name a { color: #0a0a0a; text-decoration: none; }
.rdw-ci-bottom { display: flex; align-items: center; gap: 16px; margin-top: 12px; flex-wrap: wrap; }
.rdw-ci-qty input.qty {
  width: 52px; height: 40px; text-align: center;
  border: 1.5px solid #e8e8e8; font-size: 0.875rem; font-weight: 600;
  outline: none; font-family: inherit; background: #fff;
  border-radius: 0; -moz-appearance: textfield;
}
.rdw-ci-subtotal { font-size: 0.9rem; font-weight: 700; }
.rdw-ci-remove { color: #aaa; font-size: 1.1rem; text-decoration: none; margin-left: auto; }
.rdw-ci-remove:hover { color: #cc1a1a; }
.rdw-cart-actions { display: flex; align-items: center; gap: 12px; padding: 20px 0; flex-wrap: wrap; }
.rdw-coupon-row { display: flex; gap: 0; flex: 1; min-width: 200px; }
.rdw-coupon-row .rdw-input { flex: 1; border-right: none; }
.rdw-cart-summary { background: #f5f5f5; padding: 28px; }
.rdw-summary-title { font-size: 1rem; font-weight: 700; margin-bottom: 20px; padding-bottom: 14px; border-bottom: 1px solid #e8e8e8; }
.rdw-cart-summary .shop_table { width: 100%; border: none; border-collapse: collapse; }
.rdw-cart-summary .shop_table td,
.rdw-cart-summary .shop_table th { padding: 8px 0; font-size: 0.88rem; border: none; text-align: left; vertical-align: top; }
.rdw-cart-summary .shop_table th { color: #666; }
.rdw-cart-summary .shop_table .order-total th,
.rdw-cart-summary .shop_table .order-total td { padding-top: 14px; border-top: 1px solid #e8e8e8; font-weight: 700; font-size: 1rem; }
.rdw-cart-summary .woocommerce-Price-amount { font-weight: 700; }
.rdw-cart-summary .wc-proceed-to-checkout { margin-top: 20px; }
.rdw-cart-summary .checkout-button { display: block; width: 100%; text-align: center; padding: 15px; background: #0a0a0a; color: #fff; font-size: 0.82rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; text-decoration: none; border: none; cursor: pointer; font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; }
.rdw-cart-summary .checkout-button:hover { background: #2d2d2d; }

/* ================================================================
   HEADER — full theme-independent override
   Hardcoded brand values — no CSS variable from Hello Elementor
   or any other theme is relied upon.
   Tokens: black #0a0a0a · white #fff · gold #c8a96e · gold-dark #a8863e
   ================================================================ */

/* ── Elementor wrappers: strip all width constraints ─────────── */
.elementor-location-header,
.elementor-location-header .e-con,
.elementor-location-header .e-con-boxed,
.elementor-location-header .e-con > .e-con-inner,
.elementor-location-header .e-con-boxed > .e-con-inner,
.elementor-location-header .elementor-widget-html,
.elementor-location-header .elementor-widget-html > .elementor-widget-container {
  padding-left:  0         !important;
  padding-right: 0         !important;
  margin-left:   0         !important;
  margin-right:  0         !important;
  width:         100%      !important;
  max-width:     100%      !important;
  box-sizing:    border-box !important;
}

/* ── Outer header shell ───────────────────────────────────────── */
body .site-header,
body #site-header,
body .site-header.dynamic-header,
body .site-header.custom-header {
  position:      sticky          !important;
  top:           0               !important;
  z-index:       1000            !important;
  display:       block           !important;
  width:         100%            !important;
  max-width:     100%            !important;
  padding:       0               !important;
  margin:        0               !important;
  background:    #ffffff         !important;
  border-bottom: 1px solid #e8e8e8 !important;
  box-shadow:    none            !important;
  box-sizing:    border-box      !important;
  transition:    box-shadow 0.25s cubic-bezier(0.4,0,0.2,1) !important;
}
body .site-header.scrolled {
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
}

/* ── Inner container: 90 % wide, centred ─────────────────────── */
body .site-header .header-inner,
body #site-header .header-inner {
  display:               grid                !important;
  grid-template-columns: 1fr auto 1fr        !important;
  align-items:           center              !important;
  width:                 90%                 !important;
  max-width:             1320px              !important;
  margin:                0 auto             !important;
  padding:               16px 0             !important;
  box-sizing:            border-box          !important;
}
@media (max-width: 600px) {
  body .site-header .header-inner,
  body #site-header .header-inner { width: 94% !important; padding: 14px 0 !important; }
}

/* ── Logo ────────────────────────────────────────────────────── */
body .site-header .logo {
  display:     flex        !important;
  align-items: center      !important;
  justify-self: start      !important;
  text-decoration: none    !important;
}
body .site-header .logo-img {
  height:    42px   !important;
  width:     auto   !important;
  display:   block  !important;
  max-width: none   !important;
}

/* ── Main nav ────────────────────────────────────────────────── */
body .site-header .main-nav { justify-self: center !important; }
body .site-header .main-nav ul {
  display:    flex      !important;
  gap:        4px       !important;
  list-style: none      !important;
  margin:     0         !important;
  padding:    0         !important;
}
body .site-header .main-nav a,
body .site-header .main-nav a:link,
body .site-header .main-nav a:visited,
body #site-header .main-nav ul li a {
  display:           block                !important;
  padding:           8px 16px            !important;
  font-family:       'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:         0.9rem              !important;
  font-weight:       500                 !important;
  color:             #0a0a0a             !important;
  text-decoration:   none                !important;
  background:        transparent         !important;
  background-color:  transparent         !important;
  background-image:  none                !important;
  border-bottom:     2px solid transparent !important;
  border-top:        none                !important;
  border-left:       none                !important;
  border-right:      none                !important;
  transition:        border-color 0.2s, font-weight 0.1s !important;
}
body .site-header .main-nav a:hover,
body .site-header .main-nav a:focus,
body .site-header .main-nav a.active,
body #site-header .main-nav ul li a:hover {
  color:              #0a0a0a            !important;
  border-bottom-color: #0a0a0a           !important;
  font-weight:        700                !important;
  background:         transparent        !important;
  background-color:   transparent        !important;
  background-image:   none               !important;
  text-decoration:    none               !important;
}

/* ── Actions area ────────────────────────────────────────────── */
body .site-header .header-actions {
  display:     flex      !important;
  align-items: center    !important;
  gap:         8px       !important;
  justify-self: end      !important;
}

/* ── Icon buttons (cart, wishlist) ───────────────────────────── */
/* background-color must be set separately — theme shorthand can survive
   a background:none override if background-color is set independently. */
body .site-header .icon-btn,
body .site-header .icon-btn:link,
body .site-header .icon-btn:visited,
body #site-header button.icon-btn {
  position:           relative       !important;
  width:              44px           !important;
  height:             44px           !important;
  display:            flex           !important;
  align-items:        center         !important;
  justify-content:    center         !important;
  background:         transparent    !important;
  background-color:   transparent    !important;
  background-image:   none           !important;
  border:             none           !important;
  border-radius:      8px            !important;
  outline:            none           !important;
  box-shadow:         none           !important;
  cursor:             pointer        !important;
  color:              #0a0a0a        !important;
  padding:            0              !important;
  appearance:         none           !important;
  -webkit-appearance: none           !important;
  transition:         color 0.25s, background-color 0.25s !important;
}
body .site-header .icon-btn svg { display: block !important; flex-shrink: 0 !important; }

body .site-header .icon-btn:hover,
body .site-header .icon-btn:focus-visible,
body #site-header button.icon-btn:hover {
  background:       rgba(200,169,110,0.12) !important;
  background-color: rgba(200,169,110,0.12) !important;
  background-image: none                   !important;
  outline:          none                   !important;
}

/* Cart — always gold */
body .site-header .cart-icon-btn,
body #site-header .cart-icon-btn       { color: #c8a96e !important; background-color: transparent !important; }
body .site-header .cart-icon-btn:hover { color: #a8863e !important; }

/* Wishlist — dark default, gold when active/hover */
body .site-header .wishlist-nav-btn,
body #site-header .wishlist-nav-btn              { color: #0a0a0a !important; background-color: transparent !important; }
body .site-header .wishlist-nav-btn:hover        { color: #c8a96e !important; background-color: rgba(200,169,110,0.12) !important; }
body .site-header .wishlist-nav-btn.has-items    { color: #c8a96e !important; background-color: transparent !important; }
body .site-header .wishlist-nav-btn.has-items svg { fill: #c8a96e !important; stroke: #c8a96e !important; }

/* Badge counts */
body .site-header .cart-count,
body .site-header .wishlist-count {
  position:        absolute          !important;
  top:             3px               !important;
  right:           3px               !important;
  min-width:       16px              !important;
  height:          16px              !important;
  background:      #c8a96e           !important;
  color:           #0a0a0a           !important;
  font-family:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:       0.6rem            !important;
  font-weight:     700               !important;
  border-radius:   50%               !important;
  display:         flex              !important;
  align-items:     center            !important;
  justify-content: center            !important;
  padding:         0 2px             !important;
  line-height:     1                 !important;
}

/* ── Shop Now CTA ────────────────────────────────────────────── */
body .site-header .header-shop-btn,
body .site-header .header-shop-btn:link,
body .site-header .header-shop-btn:visited {
  display:          inline-flex      !important;
  align-items:      center           !important;
  padding:          8px 18px         !important;
  font-family:      'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:        0.72rem          !important;
  font-weight:      700              !important;
  letter-spacing:   0.1em            !important;
  text-transform:   uppercase        !important;
  white-space:      nowrap           !important;
  background:       #0a0a0a          !important;
  background-image: none             !important;
  color:            #ffffff          !important;
  border:           2px solid #0a0a0a !important;
  border-radius:    0                !important;
  text-decoration:  none             !important;
  margin-left:      4px              !important;
  transition:       background 0.25s, border-color 0.25s, color 0.25s !important;
}
body .site-header .header-shop-btn:hover,
body .site-header .header-shop-btn:active {
  background:       #c8a96e  !important;
  background-image: none     !important;
  border-color:     #c8a96e  !important;
  color:            #ffffff  !important;
}

/* ── Hamburger (hidden on desktop) ──────────────────────────── */
body .site-header .hamburger {
  display:         none            !important;
  flex-direction:  column          !important;
  gap:             5px             !important;
  padding:         8px             !important;
  background:      none            !important;
  border:          none            !important;
  cursor:          pointer         !important;
}
body .site-header .hamburger span {
  display:    block          !important;
  width:      22px           !important;
  height:     2px            !important;
  background: #0a0a0a        !important;
  transition: 0.25s          !important;
}
@media (max-width: 768px) {
  body .site-header .main-nav    { display: none  !important; }
  body .site-header .header-shop-btn { display: none !important; }
  body .site-header .hamburger   { display: flex  !important; }
}

/* ── Mobile nav drawer ───────────────────────────────────────── */
.mobile-nav {
  display:   none      !important;
  position:  fixed     !important;
  inset:     0         !important;
  z-index:   1100      !important;
}
.mobile-nav.open { display: block !important; }

.mobile-nav-backdrop {
  position:   absolute !important;
  inset:      0        !important;
  background: rgba(0,0,0,0.5) !important;
}
.mobile-nav-panel {
  position:   absolute          !important;
  top:        0                 !important;
  left:       0                 !important;
  bottom:     0                 !important;
  width:      280px             !important;
  background: #ffffff           !important;
  padding:    24px              !important;
  overflow-y: auto              !important;
  transform:  translateX(-100%) !important;
  transition: transform 0.3s ease !important;
}
.mobile-nav.open .mobile-nav-panel { transform: translateX(0) !important; }

.mobile-nav-close {
  display:         flex          !important;
  align-items:     center        !important;
  justify-content: flex-end      !important;
  margin-bottom:   24px          !important;
}
.mobile-nav ul {
  display:        flex           !important;
  flex-direction: column         !important;
  gap:            0              !important;
  list-style:     none           !important;
  margin:         0              !important;
  padding:        0              !important;
}
.mobile-nav a {
  display:         block         !important;
  padding:         14px 0        !important;
  font-family:     'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  font-size:       1rem          !important;
  font-weight:     600           !important;
  color:           #0a0a0a       !important;
  text-decoration: none          !important;
  background:      none          !important;
  background-image: none         !important;
  border-bottom:   1px solid #e8e8e8 !important;
}
.mobile-nav a:hover { color: #c8a96e !important; }

/* ================================================================
   FOOTER — Hello Elementor theme override
   Pattern: site-footer = 100% viewport width (background spans edge
   to edge); .container inside = boxed max-width centred content.
   ================================================================ */

/* ── 1. Neutralise Hello Elementor / Elementor page structure ─── */

/* Strip horizontal padding/margin from every ancestor that could
   create white gaps at the left and right of the footer. */
html,
body {
  padding-left:  0 !important;
  padding-right: 0 !important;
  margin-left:   0 !important;
  margin-right:  0 !important;
  overflow-x:    hidden;
}

/* Hello Elementor root page wrapper */
body #page,
body #page.site,
body.hello-elementor #page,
body.elementor-page  #page {
  padding-left:  0 !important;
  padding-right: 0 !important;
  margin-left:   0 !important;
  margin-right:  0 !important;
  width:         100% !important;
  max-width:     100% !important;
  overflow-x:    hidden;
}

/* Hello Elementor #content / #primary / #main can also add side padding */
body #content,
body #primary,
body main.site-main {
  padding-left:  0 !important;
  padding-right: 0 !important;
  margin-left:   0 !important;
  margin-right:  0 !important;
}

/* Elementor footer location wrapper and ALL its inner containers.
   e-con-boxed is the key offender — Elementor constrains .e-con-inner
   inside it to a max-width (e.g. 1140px) which creates side white space. */
.elementor-location-footer,
.elementor-location-footer > .elementor-section,
.elementor-location-footer > .e-con,
.elementor-location-footer > .e-con-boxed,
.elementor-location-footer .e-con,
.elementor-location-footer .e-con-boxed,
.elementor-location-footer .e-con > .e-con-inner,
.elementor-location-footer .e-con-boxed > .e-con-inner,
.elementor-location-footer .elementor-widget-html,
.elementor-location-footer .elementor-widget-html > .elementor-widget-container {
  padding-left:  0 !important;
  padding-right: 0 !important;
  margin-left:   0 !important;
  margin-right:  0 !important;
  width:         100% !important;
  max-width:     100% !important;
  box-sizing:    border-box !important;
}

/* ── 2. Footer outer wrapper: true 100% width ─────────────────── */
/* dynamic-footer class tells Hello Elementor to skip its max-width
   responsive constraints on .site-footer:not(.dynamic-footer).      */
body .site-footer,
body #colophon,
body .site-footer.custom-footer,
body .site-footer.dynamic-footer {
  display:    block;
  width:      100%      !important;
  max-width:  100%      !important;
  padding:    0         !important;
  margin:     0         !important;
  background: #0a0a0a  !important;
  color:      #ffffff   !important;
  box-sizing: border-box !important;
}

/* ── 3. Kill Elementor section / container width limits inside footer */
body .site-footer .elementor-section,
body .site-footer .elementor-section-boxed > .elementor-container,
body .site-footer .e-con,
body .site-footer .e-con-inner,
body .site-footer .elementor-widget-wrap,
body .site-footer .elementor-column-wrap {
  max-width: 100% !important;
  width:     100% !important;
  padding:   0    !important;
}

/* ── 4. Boxed inner .container — 90% wide, centred ───────────── */
body .site-footer > .container,
body #colophon    > .container {
  width:      90%    !important;
  max-width:  1320px !important;
  margin:     0 auto !important;
  padding:    0      !important;
  box-sizing: border-box;
}
@media (max-width: 600px) {
  body .site-footer > .container,
  body #colophon    > .container { width: 94% !important; }
}

/* ── 5. Footer content styles (theme-independent) ─────────────── */
.site-footer .footer-top {
  display:               grid;
  grid-template-columns: 1.4fr 1fr 1fr 1.3fr;
  gap:                   48px;
  padding:               64px 0 40px;
}
@media (max-width: 1024px) {
  .site-footer .footer-top { grid-template-columns: repeat(2, 1fr); gap: 32px; padding: 48px 0 32px; }
}
@media (max-width: 600px) {
  .site-footer .footer-top { grid-template-columns: 1fr; gap: 28px; padding: 40px 0 28px; }
}

.site-footer .footer-logo-link { display: inline-block; margin-bottom: 16px; }
.site-footer .footer-logo-img  { height: 42px; width: auto; display: block; max-width: none; }

.site-footer .footer-desc {
  color: #aaaaaa; font-size: 0.82rem; line-height: 1.7; margin-bottom: 18px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

.site-footer .footer-social { display: flex; gap: 10px; }
.site-footer .social-link {
  width: 38px; height: 38px;
  border-radius: 50%;
  border: 1.5px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.04);
  display: flex; align-items: center; justify-content: center;
  color: #aaaaaa; text-decoration: none;
  transition: background 0.22s, border-color 0.22s, color 0.22s;
}
.site-footer .social-link svg { display: block; flex-shrink: 0; }
.site-footer .social-link:hover {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.55);
  color: #fff;
}

.site-footer .footer-col-title {
  font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.12em; text-transform: uppercase;
  color: #c8a96e; margin-bottom: 16px;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.site-footer .footer-links { list-style: none; margin: 0; padding: 0; }
.site-footer .footer-links li { margin-bottom: 9px; }
.site-footer .footer-links a {
  color: #aaaaaa; font-size: 0.82rem; text-decoration: none;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  transition: color 0.2s;
}
.site-footer .footer-links a:hover { color: #fff; }

.site-footer .newsletter-form {
  display: flex; margin-top: 14px;
}
.site-footer .newsletter-form input {
  flex: 1; padding: 11px 14px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.15); border-right: none;
  color: #fff; font-size: 0.82rem; outline: none; border-radius: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  -webkit-appearance: none; appearance: none;
}
.site-footer .newsletter-form input::placeholder { color: #666; }
.site-footer .newsletter-form input:focus { border-color: rgba(255,255,255,0.4); }
.site-footer .newsletter-form button {
  padding: 11px 18px; background: #fff; color: #0a0a0a;
  font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
  border: none; cursor: pointer; border-radius: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  transition: background 0.2s;
}
.site-footer .newsletter-form button:hover { background: #e8e8e8; }

.site-footer .footer-payments {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 0; border-top: 1px solid rgba(255,255,255,0.07); flex-wrap: wrap;
}
.site-footer .footer-payments-label {
  font-size: 0.7rem; color: #666; letter-spacing: 0.06em; white-space: nowrap;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.site-footer .payment-icons { display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.site-footer .payment-icon  { width: 38px; height: 24px; display: block; flex-shrink: 0; }

.site-footer .footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.07);
  padding: 18px 0; display: flex; align-items: center;
  justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
.site-footer .footer-bottom p {
  font-size: 0.75rem; color: #aaaaaa; margin: 0;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
.site-footer .footer-legal { display: flex; gap: 20px; list-style: none; margin: 0; padding: 0; }
.site-footer .footer-legal a {
  font-size: 0.75rem; color: #aaaaaa; text-decoration: none;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  transition: color 0.2s;
}
.site-footer .footer-legal a:hover { color: #fff; }

@media (max-width: 600px) {
  .site-footer .footer-bottom { flex-direction: column; text-align: center; }
}
