/* =============================================================
   bridge.css (v8, slim) — ONLY Elementor-wrapper DOM compat.
   Fusion.css owns all typography, buttons, backgrounds, layouts.
   Do NOT add style overrides here that duplicate fusion rules.
   ============================================================= */

/* 1. Elementor wraps widgets in extra divs — make those divs transparent/unstyled so fusion's class-based selectors apply to inner content */
.elementor-widget-heading .elementor-heading-title,
.elementor-widget-heading .elementor-widget-container > * {
  margin: 0;
}
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget { padding: 0 !important; margin: 0 !important; }
.elementor-widget-container { padding: 0 !important; background: transparent !important; }

/* 2. Container: don't force padding/margin from Elementor default */
.e-con, .e-con-inner, .e-con-full, .e-con-boxed {
  padding: 0;
  margin: 0;
  max-width: none;
}

/* 3. Shortcode widget: don't add extra margin */
.elementor-widget-shortcode > .elementor-widget-container > * {
  margin: 0;
}

/* 4. Icon widget: kill Elementor's inline-block wrappers that break fusion layout flow */
.elementor-widget-icon .elementor-icon {
  padding: 0;
  background: transparent;
  border: 0;
}

/* 5. Button widget: let fusion .button.button-bright / button-primary rules win.
   Only reset Elementor's default button base styles. */
.elementor-widget-button .elementor-button {
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 0;
  font: inherit;
  color: inherit;
}
.elementor-widget-button.fusion-has-button > .elementor-widget-container > .elementor-button-wrapper > .elementor-button {
  /* when we want fusion button style, wrap <a class="button button-X"> inside */
}

/* 6. Remove underlines on header nav anchor links (Xavier explicit request) */
.site-header a, .site-header .nav-links a {
  text-decoration: none !important;
}
.site-header .nav-links a::after,
.site-header .nav-links a::before {
  display: none !important;
}

/* 7. Header icons equal size + properly vertically centered */
.site-header .header-actions { display: flex; align-items: center; gap: 10px; }
.site-header .fusion-icon-btn {
  width: 44px; height: 44px;
  display: inline-flex; align-items: center; justify-content: center;
  border-radius: 12px;
}
.site-header .fusion-icon-btn svg { width: 20px; height: 20px; }

/* 8. Sticky header vertical centering */
.site-header .container.header-inner {
  align-items: center;
  min-height: 72px;
}

/* 9. Hide Astra residuals (leftover from before Astra deletion) */
.ast-main-header-wrap, #ast-desktop-header, #ast-mobile-header, .ast-builder-menu-1 { display: none !important; }

/* 10. Portfolio 3+2 asymmetric grid (bridge to make sure layout works on Elementor containers too) */
.fusion-portfolio {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto auto;
  gap: 18px;
}
.fusion-portfolio .fusion-pf-1 { grid-column: 1; grid-row: 1; }
.fusion-portfolio .fusion-pf-2 { grid-column: 2; grid-row: 1; }
.fusion-portfolio .fusion-pf-3 { grid-column: 3; grid-row: 1; }
.fusion-portfolio .fusion-pf-4 { grid-column: 1 / span 2; grid-row: 2; }
.fusion-portfolio .fusion-pf-5 { grid-column: 3; grid-row: 2; }
@media (max-width: 860px) {
  .fusion-portfolio { grid-template-columns: 1fr 1fr; }
  .fusion-portfolio > * { grid-column: auto !important; grid-row: auto !important; }
}

/* 11. Gradient backgrounds for portfolio + product cards (no image files) */
.fusion-pf-1 { background: radial-gradient(circle at 30% 20%, #b88c7e 0%, #866078 40%, #241a22 100%); }
.fusion-pf-2 { background: radial-gradient(circle at 70% 30%, #b36b6b 0%, #8c4a55 45%, #241a22 100%); }
.fusion-pf-3 { background: radial-gradient(circle at 40% 60%, #cf9d86 0%, #8b5a4a 50%, #241a22 100%); }
.fusion-pf-4 { background: linear-gradient(135deg, #8c6a7c 0%, #b36b6b 40%, #241a22 100%); }
.fusion-pf-5 { background: radial-gradient(circle at 50% 80%, #c4aab6 0%, #7a5070 45%, #241a22 100%); }
.fusion-pf-6 { background: linear-gradient(155deg, #cf9d86 0%, #866078 50%, #151016 100%); }
.fusion-cat-1 .fusion-cat-media { background: radial-gradient(circle at 35% 25%, #b88c7e, #866078 55%, #241a22); }
.fusion-cat-2 .fusion-cat-media { background: radial-gradient(circle at 40% 30%, #c4aab6, #866078 55%, #241a22); }
.fusion-cat-3 .fusion-cat-media { background: radial-gradient(circle at 30% 40%, #cf9d86, #8a5c4c 55%, #241a22); }
.fusion-cat-4 .fusion-cat-media { background: radial-gradient(circle at 50% 25%, #8c6a7c, #4a3548 55%, #151016); }
.fusion-cat-5 .fusion-cat-media { background: radial-gradient(circle at 25% 55%, #c4aab6, #7a5070 55%, #241a22); }
.fusion-cat-6 .fusion-cat-media { background: radial-gradient(circle at 45% 35%, #b36b6b, #6a3548 55%, #151016); }
.fusion-prod-1a, .fusion-prod-2a, .fusion-prod-3a, .fusion-prod-4a, .fusion-prod-5a, .fusion-prod-6a, .fusion-prod-7a, .fusion-prod-8a { background: radial-gradient(circle at 35% 30%, #b88c7e, #866078 55%, #241a22); }
.fusion-prod-1b, .fusion-prod-2b, .fusion-prod-3b, .fusion-prod-4b, .fusion-prod-5b, .fusion-prod-6b, .fusion-prod-7b, .fusion-prod-8b { background: radial-gradient(circle at 70% 65%, #cf9d86, #8c5a4a 55%, #241a22); }

/* 12. Portfolio arrow visible on hover */
.fusion-portfolio-card .fusion-portfolio-arrow {
  background: rgba(21,16,22,0.55);
  color: #f8efe7;
  backdrop-filter: blur(6px);
}
.fusion-portfolio-card:hover .fusion-portfolio-arrow {
  background: rgba(21,16,22,0.85);
  color: var(--aubergine-deep, #f7ebe2);
}

/* 13. Footer inner content 70% width (Xavier request) */
@media (min-width: 1024px) {
  .fusion-footer-main {
    width: 70%;
    max-width: 1320px;
    margin-inline: auto;
  }
}

/* 14. Fusion section vertical spacing + content 70% by default on large screens */
@media (min-width: 1280px) {
  .fusion-section .container,
  section.fusion-section > .container {
    max-width: 70vw;
    margin-inline: auto;
  }
}

/* 15. All sections — full width wrapper, generous vertical gap */
.section, section.fusion-section {
  padding-top: clamp(56px, 7vw, 104px);
  padding-bottom: clamp(56px, 7vw, 104px);
}

/* 16. Search overlay: dim rest + highlight search input (Xavier request) */
.fusion-search-overlay {
  position: fixed; inset: 0;
  background: rgba(10, 7, 10, 0.82);
  backdrop-filter: blur(14px);
  z-index: 10000;
  opacity: 0; pointer-events: none;
  transition: opacity 280ms ease;
  display: flex; align-items: center; justify-content: center;
}
.fusion-search-overlay.is-open { opacity: 1; pointer-events: auto; }
.fusion-search-inner {
  width: min(720px, 88vw);
  background: #1b1218;
  padding: 36px 36px 30px;
  border-radius: 22px;
  box-shadow: 0 50px 100px rgba(0,0,0,0.6);
  border: 1px solid rgba(248,239,231,0.14);
}
.fusion-search-inner input[type=search] {
  width: 100%;
  background: rgba(255,255,255,0.06);
  color: #f8efe7;
  border: 2px solid var(--aubergine-deep, #f7ebe2);
  border-radius: 14px;
  padding: 16px 20px;
  font-family: 'Inter'; font-size: 18px;
  outline: none;
}
.fusion-search-inner input[type=search]:focus { border-color: #fff; box-shadow: 0 0 0 3px rgba(247,235,226,0.2); }

/* 17. Payment icons — use their natural FA brand colors (remove any color/opacity overrides) */
.fusion-payments .elementor-icon svg,
.fusion-payments i {
  opacity: 1 !important;
}

/* ===== ROUND 19 — Xavier specific visual fixes ===== */

/* Button base reset — kill double-pill appearance from Elementor widget wrapper */
.elementor-widget-button .elementor-button-wrapper,
.elementor-widget-button .elementor-button {
  background: transparent;
  border: 0;
  padding: 0;
  margin: 0;
  box-shadow: none;
}
/* When fusion class applied, let fusion .button rules win entirely */
.elementor-widget-button .elementor-button.button-bright,
a.button.button-bright {
  background: linear-gradient(135deg, #e58986, #d56f75) !important;
  color: #fff7f3 !important;
  padding: 14px 32px !important;
  border-radius: 12px !important;
  display: inline-block !important;
  width: auto !important;
  max-width: none !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border: 0 !important;
  box-shadow: 0 14px 36px rgba(213, 111, 117, 0.3);
  transition: all 300ms ease;
}
.elementor-widget-button .elementor-button.button-bright:hover,
a.button.button-bright:hover {
  background: linear-gradient(135deg, #ea938f, #da787f) !important;
  transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(213, 111, 117, 0.4);
}

/* Cat rail — horizontal scroll, smaller cards, snap */
.fusion-cat-rail-track {
  display: flex !important;
  flex-direction: row !important;
  gap: 16px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding: 6px 2px 20px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.fusion-cat-rail-track::-webkit-scrollbar { display: none; }
.fusion-cat-card {
  flex: 0 0 260px;
  min-width: 260px;
  max-width: 260px;
  aspect-ratio: 3/4;
  scroll-snap-align: start;
  border-radius: 18px;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  background: var(--shell-deep, #241a22);
  transition: transform 320ms ease;
}
.fusion-cat-card:hover { transform: translateY(-4px); }
.fusion-cat-media { flex: 1; min-height: 220px; }
.fusion-cat-body { padding: 16px 18px 18px; background: rgba(21,16,22,0.92); }
.fusion-cat-name { font-family: var(--font-display); font-style: italic; font-size: 22px; color: var(--ink); margin: 0 0 4px; }
.fusion-cat-tagline { font-family: var(--font-sans); font-size: 12px; line-height: 1.5; color: var(--ink-soft); margin: 0 0 8px; }
.fusion-cat-price { font-family: var(--font-sans); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-faint); }

/* Hero cover controls — use % / vw for everything */
.fusion-cover-controls {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: 5vh;
  display: flex;
  gap: 2vw;
  align-items: center;
  z-index: 4;
}
.fusion-cover-nav {
  padding: 0.6vw 1.4vw;
  min-width: 70px;
  background: transparent;
  border: 1px solid rgba(248,239,231,0.22);
  color: #c8bdb5;
  font-family: 'Inter';
  font-size: 0.72rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  border-radius: 10px;
  cursor: pointer;
  transition: all 240ms;
}
.fusion-cover-nav:hover { background: rgba(248,239,231,0.1); color: #f8efe7; }
.fusion-cover-dots { display: flex; gap: 10px; }
.fusion-cover-dot {
  width: 8px; height: 8px;
  border-radius: 999px;
  background: rgba(248,239,231,0.24);
  transition: background 240ms, width 240ms;
}
.fusion-cover-dot.is-active {
  background: var(--aubergine-deep, #f7ebe2);
  width: 24px;
  border-radius: 999px;
}

/* Portfolio 3+2 arrow visible on hover */
.fusion-portfolio-card .fusion-portfolio-arrow {
  background: rgba(21,16,22,0.6);
  color: #f8efe7;
  border: 1px solid rgba(248,239,231,0.14);
  backdrop-filter: blur(8px);
  transition: background 280ms, color 280ms, transform 280ms;
}
.fusion-portfolio-card:hover .fusion-portfolio-arrow {
  background: var(--aubergine-deep, #f7ebe2);
  color: #21161b;
  border-color: var(--aubergine-deep, #f7ebe2);
  transform: translate(3px, -3px);
}

/* Marquee — horizontal + animated */
.fusion-marquee {
  width: 100%;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, black 10%, black 90%, transparent);
  padding: 20px 0;
}
.fusion-marquee-track {
  display: flex !important;
  flex-direction: row !important;
  gap: 24px;
  animation: fusion-marquee 54s linear infinite;
  width: max-content;
}
.fusion-marquee-track:hover { animation-play-state: paused; }
.fusion-marquee-tile {
  flex: 0 0 auto;
  width: 200px;
  aspect-ratio: 3/4;
  border-radius: 14px;
  background: linear-gradient(135deg, #8c6a7c, #241a22);
}
.fusion-mq-1 { background: radial-gradient(circle at 30% 30%, #b88c7e, #866078 55%, #241a22); }
.fusion-mq-2 { background: radial-gradient(circle at 60% 40%, #c4aab6, #7a5070 50%, #241a22); }
.fusion-mq-3 { background: linear-gradient(145deg, #cf9d86, #866078, #151016); }
.fusion-mq-4 { background: radial-gradient(circle at 45% 55%, #b36b6b, #6a3548 55%, #151016); }
.fusion-mq-5 { background: radial-gradient(circle at 70% 30%, #d4a39a, #866078 55%, #241a22); }
.fusion-mq-6 { background: linear-gradient(170deg, #8c6a7c, #4a3548 60%, #151016); }
.fusion-mq-7 { background: radial-gradient(circle at 50% 70%, #c4aab6, #7a5070 55%, #241a22); }
.fusion-mq-8 { background: radial-gradient(circle at 25% 45%, #cf9d86, #8b5a4a 50%, #241a22); }
.fusion-mq-9 { background: linear-gradient(135deg, #b88c7e, #6a3548 60%, #151016); }
.fusion-mq-10 { background: radial-gradient(circle at 60% 60%, #d4a39a, #866078 55%, #151016); }
.fusion-mq-11 { background: radial-gradient(circle at 40% 25%, #b36b6b, #4a3548 55%, #241a22); }
.fusion-mq-12 { background: linear-gradient(155deg, #c4aab6, #866078, #241a22); }
@keyframes fusion-marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* Stats section — let fusion.css handle absolute anchoring; no overrides needed */

/* Testimonial — fusion.css handles layout; no overrides */

/* Sticky header: vertical center + robust */
.site-header,
.elementor-location-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 9999 !important;
}
.site-header .container.header-inner,
.elementor-location-header .container.header-inner {
  display: flex !important;
  align-items: center !important;
  min-height: 72px;
  padding: 14px 32px;
}
.site-header .nav-links { display: flex; align-items: center; gap: 20px; }

/* All text underlines off in header */
.site-header *, .elementor-location-header * { text-decoration: none !important; }

/* Section full width + content 70% centered (Xavier request) */
section.fusion-section, .fusion-section {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding-top: clamp(56px, 7vw, 112px);
  padding-bottom: clamp(56px, 7vw, 112px);
}
section.fusion-section > .container,
.fusion-section > .container,
.fusion-cover-inner,
.fusion-testimonial-inner,
.fusion-stats-layout {
  width: min(1320px, 86vw);
  margin-inline: auto;
}
@media (min-width: 1280px) {
  section.fusion-section > .container,
  .fusion-section > .container {
    width: min(1320px, 72vw);
  }
}

/* Fusion display font — use Cormorant Garamond (less aggressive italic than Instrument Serif) */
.fusion-cover-title, .fusion-display-h2, h1, h2, h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-style: italic;
  font-weight: 500;
  letter-spacing: -0.015em;
}
.fusion-cover-title em, .fusion-display-h2 em, h1 em, h2 em {
  font-style: italic;
  color: var(--aubergine-deep, #f7ebe2);
}

/* ===== ROUND 20 — footer 70% + header hover refined + inner-page width ===== */

/* Footer content 70% width, centered (beat Elementor wrappers) */
.elementor-location-footer .fusion-footer-main,
.elementor-location-footer .fusion-footer-top,
.elementor-location-footer .fusion-footer-grid,
.elementor-location-footer .container.fusion-footer-main {
  width: min(1320px, 70vw) !important;
  max-width: 1320px !important;
  margin-inline: auto !important;
}
@media (max-width: 1100px) {
  .elementor-location-footer .fusion-footer-main,
  .elementor-location-footer .fusion-footer-top,
  .elementor-location-footer .fusion-footer-grid,
  .elementor-location-footer .container.fusion-footer-main {
    width: min(960px, 90vw) !important;
  }
}

/* Footer layout: 2-col top (brand + signup), 4-col grid below */
.fusion-footer-top {
  display: grid !important;
  grid-template-columns: 1fr 1.2fr;
  gap: 3vw;
  align-items: start;
  padding: 48px 0 32px;
}
.fusion-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 2vw;
  padding: 32px 0 48px;
  border-top: 1px solid rgba(248,239,231,0.1);
}
@media (max-width: 860px) {
  .fusion-footer-top, .fusion-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 640px) {
  .fusion-footer-top, .fusion-footer-grid { grid-template-columns: 1fr; }
}

.fusion-payments {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
}
.fusion-payments .elementor-widget-icon { margin: 0 !important; }
.fusion-payments .elementor-icon svg { width: 28px !important; height: 20px !important; }

/* Inner content pages — 70% width for main container */
.elementor-page:not(.home) > .elementor-element.e-con-boxed,
.single-post .elementor-element.e-con-boxed,
.page .elementor-element.e-con-boxed {
  max-width: min(1320px, 70vw) !important;
  margin-inline: auto !important;
}
@media (max-width: 1100px) {
  .elementor-page:not(.home) > .elementor-element.e-con-boxed,
  .page .elementor-element.e-con-boxed {
    max-width: min(960px, 90vw) !important;
  }
}

/* Header nav — refined hover: underline → subtle color + dot indicator */
.site-header .nav-links,
.elementor-location-header .nav-links {
  display: flex;
  align-items: center;
  gap: 28px;
}
.site-header .nav-links > a,
.site-header .nav-links .nav-item,
.elementor-location-header .nav-links > a,
.elementor-location-header .nav-links .nav-item {
  position: relative;
  padding: 8px 0;
  font-family: var(--font-sans, 'Inter'), sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: var(--ink-soft, #c8bdb5) !important;
  transition: color 240ms ease;
  text-decoration: none !important;
}
.site-header .nav-links > a:hover,
.site-header .nav-links .nav-item:hover .nav-trigger,
.site-header .nav-links .nav-item-mega:hover .nav-trigger {
  color: var(--aubergine-deep, #f7ebe2) !important;
}
/* Active page — subtle aubergine + tiny dot */
.site-header .nav-links > a[aria-current="page"],
.site-header .nav-links > a.current-menu-item {
  color: var(--ink, #f8efe7) !important;
}
.site-header .nav-links > a[aria-current="page"]::after,
.site-header .nav-links > a.current-menu-item::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -4px;
  width: 4px;
  height: 4px;
  border-radius: 999px;
  background: var(--aubergine-deep, #f7ebe2);
  transform: translateX(-50%);
}
/* Ensure nav-trigger (the Shop button inside mega) matches other nav items */
.site-header .nav-trigger {
  all: unset;
  font: inherit;
  color: inherit;
  cursor: pointer;
  padding: 8px 0;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: color 240ms;
}
.site-header .nav-trigger::after { display: none !important; }

/* Header icon-btn hover — consistent across search/cart/account */
.site-header .fusion-icon-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  border-radius: 12px;
  background: transparent;
  border: 1px solid rgba(248,239,231,0.12);
  color: var(--ink, #f8efe7);
  cursor: pointer;
  transition: background 240ms, border-color 240ms, color 240ms;
  padding: 0;
}
.site-header .fusion-icon-btn:hover {
  background: rgba(248,239,231,0.08);
  border-color: rgba(248,239,231,0.24);
  color: var(--aubergine-deep, #f7ebe2);
}
.site-header .fusion-icon-btn svg {
  width: 18px !important;
  height: 18px !important;
  display: block;
  margin: 0 !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* News section — guarantee visibility (force background + padding) */
.fusion-news-section {
  display: block !important;
  padding: clamp(56px, 7vw, 112px) 0 !important;
  background: var(--shell, #151016);
}
.fusion-news-section .container {
  width: min(1320px, 72vw);
  margin-inline: auto;
}
.fusion-news-heading {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: start;
  margin-bottom: 48px;
}
.fusion-news-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
@media (max-width: 860px) {
  .fusion-news-heading { grid-template-columns: 1fr; }
  .fusion-news-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .fusion-news-grid { grid-template-columns: 1fr; }
}
.fusion-news-card {
  display: flex;
  flex-direction: column;
  background: var(--shell-deep, #241a22);
  border-radius: 14px;
  overflow: hidden;
  transition: transform 320ms;
}
.fusion-news-card:hover { transform: translateY(-3px); }
.fusion-news-media {
  aspect-ratio: 4/3;
  display: block;
  background: linear-gradient(135deg, #866078, #241a22);
}
.fusion-news-media-1 { background: radial-gradient(circle at 35% 30%, #b88c7e, #866078 55%, #241a22); }
.fusion-news-media-2 { background: radial-gradient(circle at 65% 40%, #cf9d86, #8a5c4c 50%, #241a22); }
.fusion-news-media-3 { background: radial-gradient(circle at 45% 60%, #c4aab6, #7a5070 55%, #241a22); }
.fusion-news-media-4 { background: radial-gradient(circle at 55% 35%, #b36b6b, #6a3548 55%, #241a22); }
.fusion-news-body { padding: 18px 20px 22px; }
.fusion-news-body time {
  display: block;
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--ink-faint);
  margin-bottom: 8px;
}
.fusion-news-body h3 {
  font-family: var(--font-display);
  font-style: italic;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.2;
  color: var(--ink);
  margin: 0 0 10px;
}
.fusion-news-body small {
  font-family: var(--font-sans);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ink-faint);
}

/* Subpage (about/journal/support/etc) sections also inherit 70% width */
.elementor-page section .container,
.page-template-elementor_header_footer section .container {
  width: min(1320px, 72vw) !important;
  margin-inline: auto !important;
  padding-left: clamp(20px, 2vw, 32px);
  padding-right: clamp(20px, 2vw, 32px);
}
@media (max-width: 1100px) {
  .elementor-page section .container,
  .page-template-elementor_header_footer section .container {
    width: min(960px, 90vw) !important;
  }
}

/* ===== ROUND 21 — preserve fusion stats anchoring + minimal counter entry ===== */

/* Re-enable fusion stats figure background if it was hidden */
.fusion-stats-figure-v2 { display: block !important; }
.fusion-stats-callouts-v2 { display: block !important; position: absolute !important; inset: 0 !important; flex-direction: initial !important; gap: 0 !important; }

/* Callouts position from fusion.css is top: 20% / 48% / 76%. Elementor wrapper may override with transform. Protect. */
.fusion-stats-callout {
  position: absolute !important;
  display: flex !important;
  grid-template-columns: initial !important;
  align-items: center;
  gap: 12px;
  opacity: 0;
  transition: opacity 800ms ease, transform 800ms ease;
  transform: translateX(16px);
}
.fusion-stats-callout.is-visible { opacity: 1; transform: translateX(0); }
.fusion-stats-callout-a { top: 20%; left: 62%; }
.fusion-stats-callout-b { top: 48%; left: 72%; }
.fusion-stats-callout-c { top: 76%; left: 56%; }

/* Callout inner: anchor dot + line to label (fusion has this but my override removed) */
.fusion-stats-callout-anchor {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--aubergine-deep, #f7ebe2);
  box-shadow: 0 0 0 4px rgba(247, 235, 226, 0.12);
  flex: 0 0 12px;
}
.fusion-stats-callout-line {
  height: 1px;
  background: linear-gradient(90deg, var(--aubergine-deep, #f7ebe2), transparent);
  flex: 0 0 auto;
}
.fusion-stats-callout-label {
  display: flex;
  flex-direction: column;
  gap: 4px;
  white-space: normal;
  max-width: 180px;
}
.fusion-stats-callout-label strong {
  font-family: var(--font-display, 'Cormorant Garamond'), serif;
  font-style: italic;
  font-size: 1.6rem;
  line-height: 1;
  color: var(--ink, #f8efe7);
}
.fusion-stats-callout-label span {
  font-family: var(--font-sans, 'Inter'), sans-serif;
  font-size: 12px;
  line-height: 1.45;
  color: var(--ink-soft, #c8bdb5);
}

/* Testimonial wrap: restore fusion's absolute bg layer */
.fusion-testimonial-wrap { position: relative !important; min-height: 480px !important; overflow: hidden; isolation: isolate; }
.fusion-testimonial-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  background:
    radial-gradient(circle at 70% 40%, rgba(207, 157, 134, 0.22), transparent 30%),
    linear-gradient(140deg, #2a1e24 0%, #1a1218 50%, #0e0a0d 100%) !important;
}
.fusion-testimonial-bg::after {
  content: '';
  position: absolute; inset: 0;
  background:
    linear-gradient(90deg, rgba(21,16,22,0.6), transparent 50%),
    radial-gradient(ellipse at 75% 55%, rgba(193, 140, 116, 0.24), transparent 42%);
}
.fusion-testimonial-inner {
  position: relative;
  z-index: 1;
  display: block !important;
  grid-template-columns: initial !important;
}
.fusion-testimonial-card {
  max-width: 680px;
  padding: 48px;
  background: rgba(36, 26, 34, 0.75);
  border-radius: 22px;
  backdrop-filter: blur(10px);
  border: 1px solid rgba(248, 239, 231, 0.08);
  margin: 40px 0;
}


/* ===== ROUND 22 — uniform header icons + portfolio visibility + footer font tone ===== */

/* Header 3 icons: EXACT same size, ignore any login-circle extra styling */
.site-header .fusion-icon-btn,
.site-header .fusion-icon-btn.login-circle,
.site-header .fusion-icon-btn.login-link,
.elementor-location-header .fusion-icon-btn {
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  min-height: 44px !important;
  max-width: 44px !important;
  max-height: 44px !important;
  padding: 0 !important;
  border-radius: 12px !important;
  border: 1px solid rgba(248,239,231,0.14) !important;
  background: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative;
  flex-shrink: 0;
}
.site-header .fusion-icon-btn svg,
.elementor-location-header .fusion-icon-btn svg {
  width: 18px !important;
  height: 18px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.7 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
  display: block !important;
}
.site-header .login-circle { border-radius: 12px !important; }
.site-header .login-circle::after,
.site-header .login-circle::before {
  content: none !important;
  display: none !important;
}

/* Portfolio cards: re-apply min-height so gradient backgrounds are visible */
.fusion-portfolio { min-height: 880px; }
.fusion-portfolio-card {
  min-height: 420px !important;
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 22px;
  text-decoration: none !important;
  isolation: isolate;
  transition: transform 380ms ease, box-shadow 380ms ease;
}
.fusion-portfolio-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 28px 64px rgba(0,0,0,0.55);
}
.fusion-portfolio-card::before {
  content: '';
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(21,16,22,0) 40%, rgba(21,16,22,0.72) 100%);
  z-index: 1;
  transition: opacity 380ms;
}
.fusion-portfolio-label {
  position: absolute;
  left: 28px; bottom: 28px;
  z-index: 2;
  color: #f8efe7;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.fusion-portfolio-label strong {
  font-family: var(--font-display, 'Cormorant Garamond'), serif;
  font-style: italic;
  font-weight: 500;
  font-size: 28px;
  line-height: 1;
}
.fusion-portfolio-label small {
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #c8bdb5;
}
.fusion-portfolio-arrow {
  position: absolute;
  top: 24px; right: 24px;
  z-index: 2;
  width: 44px; height: 44px;
  border-radius: 999px;
  background: rgba(21,16,22,0.6);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  color: #f8efe7;
  transition: all 280ms;
}
.fusion-portfolio-card:hover .fusion-portfolio-arrow {
  background: var(--aubergine-deep, #f7ebe2);
  color: #21161b;
  transform: translate(3px, -3px);
}

/* Footer signup h3 — reduce italic + size (Xavier: too italic, too big) */
.fusion-signup h3 {
  font-family: var(--font-sans, 'Inter'), sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;
  line-height: 1.4 !important;
  color: var(--ink, #f8efe7) !important;
  margin: 8px 0 20px !important;
}
.fusion-signup .eyebrow {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--ink-faint, #8c8279) !important;
}

/* Global: reduce italic where it's overwhelming (Xavier overall complaint).
   Keep italic ONLY for h1/h2 display headings + portfolio/cat names.
   Others lose italic. */
.fusion-cat-tagline,
.fusion-pdp-lead,
.fusion-testimonial-text,
.fusion-news-intro,
p em {
  font-style: normal !important;
}

/* Hide stats callouts on narrow viewports where they overlap copy */
@media (max-width: 860px) {
  .fusion-stats-callouts-v2 { position: relative !important; margin-top: 24px; }
  .fusion-stats-callout { position: relative !important; top: auto !important; left: auto !important; }
}

/* ===== ROUND 23 — Shop = clickable link + mega hover ===== */
.site-header .nav-links a.nav-trigger,
.elementor-location-header .nav-links a.nav-trigger {
  display: inline-block;
  text-decoration: none !important;
  cursor: pointer;
  color: var(--ink-soft, #c8bdb5);
  transition: color 240ms;
}
.site-header .nav-links a.nav-trigger:hover,
.site-header .nav-item-mega:hover .nav-trigger {
  color: var(--aubergine-deep, #f7ebe2);
}
/* Ensure mega menu still opens on hover of the whole nav-item-mega */
.site-header .nav-item-mega { position: relative; }
.site-header .nav-item-mega:hover .mega-menu,
.site-header .nav-item-mega:focus-within .mega-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

/* ===== ROUND 24 — footer signup美化 + 导航字体对齐 + payment 原色 ===== */

/* Signup card — premium clean look matching fusion */
.fusion-signup {
  padding: 32px 36px !important;
  border-radius: 24px !important;
  background: rgba(255, 255, 255, 0.02) !important;
  border: 1px solid rgba(248, 239, 231, 0.14) !important;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(8px);
}
.fusion-signup .eyebrow,
.elementor-widget.eyebrow .elementor-heading-title {
  display: block !important;
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--aubergine-deep, #f7ebe2) !important;
  margin: 0 0 10px !important;
}
.fusion-signup h3 {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 1.15rem !important;
  line-height: 1.45 !important;
  letter-spacing: -0.005em !important;
  color: var(--ink, #f8efe7) !important;
  margin: 0 0 22px !important;
  max-width: 24ch !important;
}
.fusion-signup-form {
  display: flex !important;
  gap: 10px !important;
  margin-top: 8px !important;
}
.fusion-signup-form input[type=email] {
  flex: 1;
  min-height: 48px !important;
  padding: 0 20px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(248, 239, 231, 0.18) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: var(--ink, #f8efe7) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 14px !important;
  outline: none;
  transition: border-color 220ms, background 220ms;
}
.fusion-signup-form input[type=email]:focus {
  border-color: var(--aubergine-deep, #f7ebe2) !important;
  background: rgba(255, 255, 255, 0.08) !important;
}
.fusion-signup-form input::placeholder {
  color: var(--ink-faint, #8c8279) !important;
}
.fusion-signup-form button {
  padding: 0 28px !important;
  min-height: 48px !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #e58986, #d56f75) !important;
  color: #fff7f3 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: 0 !important;
  cursor: pointer !important;
  transition: all 240ms ease !important;
  white-space: nowrap;
}
.fusion-signup-form button:hover {
  background: linear-gradient(135deg, #ea938f, #da787f) !important;
  transform: translateY(-1px);
}

/* Footer grid h4 + a + p — align with fusion (Inter, ink-soft, no italic) */
.fusion-footer-grid h4,
.elementor-location-footer h4.elementor-heading-title,
.elementor-location-footer .elementor-widget-heading.fusion-footer-h4 .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--ink-faint, #8c8279) !important;
  margin: 0 0 14px !important;
}
.fusion-footer-grid a,
.fusion-footer-grid p,
.elementor-location-footer .fusion-footer-grid a,
.elementor-location-footer .fusion-footer-grid p,
.elementor-location-footer .edentides-footer-link,
.elementor-location-footer .edentides-footer-link .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: var(--ink-soft, #c8bdb5) !important;
  margin: 0 0 10px !important;
  text-decoration: none !important;
  transition: color 220ms;
}
.fusion-footer-grid a:hover,
.elementor-location-footer .fusion-footer-grid a:hover,
.elementor-location-footer .edentides-footer-link:hover {
  color: var(--ink, #f8efe7) !important;
}

/* Footer brand paragraph (description under Lumisyla) — Inter */
.fusion-footer-brand p,
.elementor-location-footer .fusion-footer-brand p {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: var(--ink-soft, #c8bdb5) !important;
  max-width: 30ch;
}

/* Socials row — Inter sans, no underline */
.fusion-socials a,
.elementor-location-footer .fusion-socials a {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  font-size: 13px !important;
  color: var(--ink-soft, #c8bdb5) !important;
  text-decoration: none !important;
  margin-right: 14px;
  transition: color 220ms;
}
.fusion-socials a:hover { color: var(--aubergine-deep, #f7ebe2) !important; }

/* Payment icons — full original FA brand colors, no filter */
.fusion-payments,
.elementor-location-footer .fusion-payments {
  display: flex !important;
  flex-wrap: wrap;
  gap: 10px 12px;
  align-items: center;
  margin-top: 6px;
}
.fusion-payments .elementor-widget-icon,
.fusion-payments .elementor-icon {
  width: auto !important;
  display: inline-block !important;
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}
.fusion-payments .elementor-icon svg,
.fusion-payments i {
  width: 36px !important;
  height: 24px !important;
  display: block !important;
  filter: none !important;
  opacity: 1 !important;
}

/* Address block in footer — Inter, consistent color */
.elementor-location-footer .elementor-widget-text-editor,
.fusion-footer-grid p {
  font-family: 'Inter', sans-serif !important;
  font-style: normal !important;
  color: var(--ink-soft, #c8bdb5) !important;
}

/* Ensure STAY CLOSE eyebrow heading wrapper inherits properly */
.elementor-location-footer .eyebrow,
.elementor-location-footer .elementor-widget-heading.eyebrow {
  display: block !important;
}

/* ===== ROUND 25 — payment icons: allow Elementor primary_color inline style to win ===== */
.fusion-payments .elementor-icon svg,
.fusion-payments .elementor-icon i,
.elementor-location-footer .fusion-payments .elementor-icon svg {
  filter: none !important;
  opacity: 1 !important;
}
/* Elementor sets fill via inline style when primary_color is set — don't override */
.fusion-payments .elementor-icon svg[style*="fill"] {
  fill: inherit;
}
.fusion-payments-card-bg {
  /* cards: optional white bg behind brand marks for contrast (Xavier may prefer later) */
}
/* payment-icon-native-color marker */

/* ===== ROUND 26 — payment icons: force color via widget ID selectors ===== */
/* Elementor widgets in footer have IDs pi1..pi10 set in JSON. Force fill via parent color. */
.fusion-payments .elementor-icon,
.fusion-payments .elementor-icon svg {
  fill: currentColor !important;
}

/* Per-icon brand color — match fill of the single-path SVG */
.fusion-payments .elementor-element[data-id="pi1"] { color: #1a1f71; }  /* Visa */
.fusion-payments .elementor-element[data-id="pi2"] { color: #eb001b; }  /* Mastercard */
.fusion-payments .elementor-element[data-id="pi3"] { color: #2e77bb; }  /* Amex */
.fusion-payments .elementor-element[data-id="pi4"] { color: #ff6000; }  /* Discover */
.fusion-payments .elementor-element[data-id="pi5"] { color: #003087; }  /* PayPal */
.fusion-payments .elementor-element[data-id="pi6"] { color: #635bff; }  /* Stripe */
.fusion-payments .elementor-element[data-id="pi7"] { color: #ffffff; }  /* Apple Pay (white on dark) */
.fusion-payments .elementor-element[data-id="pi8"] { color: #4285f4; }  /* Google Pay */
.fusion-payments .elementor-element[data-id="pi9"] { color: #0b4ea2; }  /* JCB */
.fusion-payments .elementor-element[data-id="pi10"] { color: #0079be; } /* Diners Club */

/* Also apply by SVG class as backup (e-fab-cc-xxx) */
.fusion-payments svg.e-fab-cc-visa          { color: #1a1f71; fill: #1a1f71; }
.fusion-payments svg.e-fab-cc-mastercard    { color: #eb001b; fill: #eb001b; }
.fusion-payments svg.e-fab-cc-amex          { color: #2e77bb; fill: #2e77bb; }
.fusion-payments svg.e-fab-cc-discover      { color: #ff6000; fill: #ff6000; }
.fusion-payments svg.e-fab-cc-paypal        { color: #003087; fill: #003087; }
.fusion-payments svg.e-fab-cc-stripe        { color: #635bff; fill: #635bff; }
.fusion-payments svg.e-fab-cc-apple-pay     { color: #ffffff; fill: #ffffff; }
.fusion-payments svg.e-fab-google-pay       { color: #4285f4; fill: #4285f4; }
.fusion-payments svg.e-fab-cc-jcb           { color: #0b4ea2; fill: #0b4ea2; }
.fusion-payments svg.e-fab-cc-diners-club   { color: #0079be; fill: #0079be; }

/* Give them a white card background (like Xavier's target screenshot) so monochrome brand colors read properly */
.fusion-payments .elementor-widget-icon {
  padding: 6px 10px;
  background: #ffffff;
  border-radius: 6px;
  min-width: 48px;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}
/* But Apple Pay's black logo needs dark bg (or use white logo on white). Use dark card for it. */
.fusion-payments .elementor-element[data-id="pi7"] {
  background: #000 !important;
  padding: 6px 10px;
  border-radius: 6px;
}
/* Google Pay: Google's G logo is multi-color but our FA version is single-path; render it Google blue. Keep white bg. */

/* ===== ROUND 27 — real multi-color SVG payment logos via <img> ===== */
.fusion-payments img {
  display: inline-block;
  height: 24px !important;
  width: auto !important;
  border-radius: 4px;
  background: #fff;
  padding: 2px 4px;
  box-sizing: content-box;
  transition: transform 220ms ease;
}
.fusion-payments img[alt="Apple Pay"] {
  background: #000;
}
.fusion-payments img:hover { transform: translateY(-1px); }

/* ===== ROUND 28 — simpleicons fallback for stripe/apple/googlepay ===== */
.fusion-payments img[src*="simpleicons.org/stripe"],
.fusion-payments img[src*="simpleicons.org/googlepay"] {
  background: #fff;
  padding: 4px 8px;
}
.fusion-payments img[src*="simpleicons.org/applepay"] {
  background: #000;
  padding: 4px 8px;
}



/* ===== ROUND 35 — archive 4-col polish ===== */
/* 4-col product grid: tighter gap so 4 cards fit comfortably inside 70% container */
.elementor.elementor-location-archive ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 20px 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
.elementor.elementor-location-archive ul.products.columns-4 > li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
}
/* Responsive breakpoints inside the 92% container */
@media (max-width: 1199px) {
  .elementor.elementor-location-archive ul.products.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  .elementor.elementor-location-archive ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* ROUND 35 END */

/* ===== ROUND 36 — stretch products column ===== */
/* The archive template has a 2-col flex layout:
   .fusion-collection-layout { filter-col | main-col }
   Force the main-col and everything inside it to fill remaining space. */
.fusion-collection-layout {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 48px !important;
  width: 100% !important;
  align-items: start;
}
.fusion-collection-layout > .fusion-filter-col {
  width: 100% !important;
  min-width: 0 !important;
}
/* The products main column — stretch to fill */
.fusion-collection-layout > .e-con:not(.fusion-filter-col),
.fusion-collection-layout > .fusion-collection-main-col {
  width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
}
/* Archive-products widget wrapper → full width of main col */
.fusion-collection-layout .elementor-widget-woocommerce-archive-products,
.fusion-collection-layout .elementor-widget-woocommerce-archive-products > .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
}
/* The ul.products grid itself: fill the widget wrapper */
.fusion-collection-layout ul.products,
.elementor.elementor-location-archive ul.products.columns-4 {
  width: 100% !important;
  max-width: 100% !important;
}
/* Responsive: collapse to single column below 1024px, filter above */
@media (max-width: 1023px) {
  .fusion-collection-layout {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }
  .fusion-collection-layout > .fusion-filter-col {
    order: -1;
  }
}
/* ROUND 36 END */

/* ===== ROUND 36B — direct container ID overrides ===== */
/* Force c0007 (fusion-collection-layout) to grid with filter-col + main-col, no wrap */
.elementor-89 .elementor-element.elementor-element-c0007,
.elementor-element.elementor-element-c0007.fusion-collection-layout {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 40px !important;
  width: 100% !important;
  flex-wrap: nowrap !important;
}
/* Filter col (c0003) = 240px fixed */
.elementor-89 .elementor-element.elementor-element-c0003 {
  width: 100% !important;
  --width: 100% !important;
  min-width: 0 !important;
}
/* Main col (c0006) = fills remaining space */
.elementor-89 .elementor-element.elementor-element-c0006 {
  width: 100% !important;
  --width: 100% !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  --container-widget-flex-grow: 1 !important;
}
/* Archive-products widget (s0005) + container + ul.products = 100% of main col */
.elementor-89 .elementor-element.elementor-element-s0005,
.elementor-89 .elementor-element.elementor-element-s0005 > .elementor-widget-container,
.elementor-89 .elementor-element.elementor-element-s0005 ul.products {
  width: 100% !important;
  max-width: 100% !important;
}
/* Force 4-col grid with equal-size cells — override Elementor's default li flex-basis */
.elementor-89 .elementor-element.elementor-element-s0005 ul.products.columns-4 {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 40px 20px !important;
}
.elementor-89 .elementor-element.elementor-element-s0005 ul.products.columns-4 > li.product {
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
  float: none !important;
  margin: 0 !important;
}
@media (max-width: 1023px) {
  .elementor-89 .elementor-element.elementor-element-c0007,
  .elementor-element.elementor-element-c0007.fusion-collection-layout {
    grid-template-columns: 1fr !important;
  }
  .elementor-89 .elementor-element.elementor-element-s0005 ul.products.columns-4 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 767px) {
  .elementor-89 .elementor-element.elementor-element-s0005 ul.products.columns-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* ROUND 36B END */

/* ===== ROUND 53 — collection polish ===== */
.fusion-collection-grid .fusion-prod-quick-v2 {
  left: 12px !important;
  right: 12px !important;
  bottom: 12px !important;
  gap: 0 !important;
}
.fusion-collection-grid .fusion-prod-quick-v2 .fusion-prod-add,
.fusion-collection-grid .fusion-prod-quick-v2 .fusion-prod-view {
  flex: 1 1 0 !important;
  flex-grow: 1 !important;
  flex-basis: 0 !important;
  min-width: 0 !important;
  width: auto !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 14px !important;
  margin: 0 !important;
  border-radius: 8px !important;
  background: rgba(248, 239, 231, 0.96) !important;
  color: #21161b !important;
  font-family: Inter, sans-serif !important;
  font-weight: 500 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  border: 1px solid rgba(33, 22, 27, 0.12) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18) !important;
  white-space: nowrap !important;
  box-sizing: border-box !important;
  cursor: pointer !important;
  transition: transform 220ms ease, background 220ms ease, color 220ms ease !important;
}
/* removed 2026-05-05 — both buttons share cream style */
.fusion-collection-grid .fusion-prod-quick-v2 .fusion-prod-add:hover {
  transform: translateY(-1px) !important;
  background: #f8efe7 !important;
}
.fusion-prod-card, .fusion-prod-card * { cursor: pointer !important; }

.fusion-filter-rail .fusion-filter-option-v2 {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
  padding: 2px 0 !important;
}
.fusion-filter-rail .fusion-filter-option-v2 input[type="checkbox"] {
  margin-top: 4px !important;
  flex-shrink: 0 !important;
}
.fusion-filter-rail .fusion-filter-option-v2 .fusion-filter-label {
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
  flex: 1 !important;
}
.fusion-filter-rail .fusion-filter-option-v2 .fusion-filter-label-main {
  display: flex !important;
  justify-content: space-between !important;
  align-items: baseline !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.88rem !important;
  color: #e8ddd3 !important;
  font-weight: 500 !important;
}
.fusion-filter-rail .fusion-filter-option-v2 .fusion-filter-label-main .count {
  font-family: Inter, sans-serif !important;
  font-size: 0.7rem !important;
  color: #6f655d !important;
  font-weight: 400 !important;
  margin-left: 8px !important;
}
.fusion-filter-rail .fusion-filter-option-v2 .fusion-filter-label-hint {
  font-family: Inter, sans-serif !important;
  font-size: 0.68rem !important;
  line-height: 1.4 !important;
  color: #8c8279 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.fusion-collection-hero { margin-bottom: 0 !important; }
.fusion-collection-hero .fusion-collection-hero-bg {
  transform: scale(1.05);
  transition: transform 2s ease-out;
}
.fusion-collection-hero:hover .fusion-collection-hero-bg { transform: scale(1); }
.fusion-collection-hero-name { text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4); }

@media (max-width: 767px) {
  .fusion-collection-hero { padding: 64px 0 48px !important; }
  .fusion-collection-hero-name { font-size: clamp(2.4rem, 12vw, 4rem) !important; }
}
/* ROUND 53 END */

/* ===== ROUND 54 — filter rail UI polish ===== */

/* Overall rail container: subtle glass card, rounded */
.fusion-filter-rail {
  padding: 30px 26px !important;
  background: linear-gradient(180deg, rgba(42, 30, 38, 0.55), rgba(28, 20, 26, 0.55)) !important;
  border: 1px solid rgba(200, 189, 181, 0.08) !important;
  border-radius: 20px !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15) !important;
}

/* Head - "Filters" cursive + subtitle */
.fusion-filter-rail .fusion-filter-head {
  padding-bottom: 20px !important;
  margin-bottom: 8px !important;
  border-bottom: 1px solid rgba(200, 189, 181, 0.1) !important;
  display: block !important;
}
.fusion-filter-rail .fusion-filter-head h3 {
  margin: 0 0 6px !important;
  font-family: 'Cormorant Garamond', serif !important;
  font-style: italic !important;
  font-size: 1.5rem !important;
  color: #f8efe7 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}
.fusion-filter-rail .fusion-filter-head small {
  font-family: Inter, sans-serif !important;
  font-size: 0.64rem !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: #8c8279 !important;
  font-weight: 400 !important;
}

/* Group: visual breathing between sections via hairline divider + padding */
.fusion-filter-rail .fusion-filter-group {
  padding: 20px 0 18px !important;
  border-bottom: 1px solid rgba(200, 189, 181, 0.06) !important;
  margin: 0 !important;
}
.fusion-filter-rail .fusion-filter-group:last-child {
  border-bottom: none !important;
  padding-bottom: 6px !important;
}
.fusion-filter-rail .fusion-filter-group h4 {
  margin: 0 0 16px !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  color: #7a6f66 !important;
  font-weight: 500 !important;
}

/* Custom minimal checkbox */
.fusion-filter-rail input[type="checkbox"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 15px !important;
  height: 15px !important;
  border: 1px solid rgba(200, 189, 181, 0.4) !important;
  border-radius: 3px !important;
  background: transparent !important;
  position: relative !important;
  cursor: pointer !important;
  margin: 4px 0 0 0 !important;
  flex-shrink: 0 !important;
  transition: border-color 160ms ease, background 160ms ease !important;
}
.fusion-filter-rail input[type="checkbox"]:hover {
  border-color: rgba(248, 239, 231, 0.7) !important;
}
.fusion-filter-rail input[type="checkbox"]:checked {
  background: #f8efe7 !important;
  border-color: #f8efe7 !important;
}
.fusion-filter-rail input[type="checkbox"]:checked::after {
  content: '' !important;
  position: absolute !important;
  left: 4px !important;
  top: 1px !important;
  width: 4px !important;
  height: 8px !important;
  border: solid #21161b !important;
  border-width: 0 2px 2px 0 !important;
  transform: rotate(45deg) !important;
}

/* Label states — brighten text when option is checked (uses :has()) */
.fusion-filter-rail .fusion-filter-option-v2:has(input:checked) .fusion-filter-label-main {
  color: #f8efe7 !important;
}
.fusion-filter-rail .fusion-filter-option:not(.fusion-filter-option-v2) {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 10px !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.84rem !important;
  color: #c8bdb5 !important;
  cursor: pointer !important;
  transition: color 160ms ease !important;
}
.fusion-filter-rail .fusion-filter-option:not(.fusion-filter-option-v2):hover {
  color: #f8efe7 !important;
}
.fusion-filter-rail .fusion-filter-option:has(input:checked) {
  color: #f8efe7 !important;
}

/* Hover effect on v2 option (category w/ hint) — main label brightens */
.fusion-filter-rail .fusion-filter-option-v2 {
  cursor: pointer !important;
  border-radius: 8px !important;
  padding: 4px 6px !important;
  margin: 0 -6px 6px !important;
  transition: background 160ms ease !important;
}
.fusion-filter-rail .fusion-filter-option-v2:hover {
  background: rgba(248, 239, 231, 0.03) !important;
}

/* Mood chips — minimal pill */
.fusion-filter-rail .fusion-filter-chips {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.fusion-filter-rail .fusion-filter-chip {
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: transparent !important;
  border: 1px solid rgba(200, 189, 181, 0.2) !important;
  color: #c8bdb5 !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 400 !important;
  cursor: pointer !important;
  transition: all 180ms ease !important;
  letter-spacing: 0.005em !important;
  line-height: 1 !important;
}
.fusion-filter-rail .fusion-filter-chip:hover {
  border-color: rgba(248, 239, 231, 0.5) !important;
  color: #f8efe7 !important;
}
.fusion-filter-rail .fusion-filter-chip.is-active {
  background: #f8efe7 !important;
  border-color: #f8efe7 !important;
  color: #21161b !important;
}

/* Price inputs — aligned pair, brand-toned */
.fusion-filter-rail .fusion-filter-range {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 8px !important;
}
.fusion-filter-rail .fusion-filter-range input {
  appearance: none !important;
  -webkit-appearance: none !important;
  background: rgba(248, 239, 231, 0.04) !important;
  border: 1px solid rgba(200, 189, 181, 0.18) !important;
  border-radius: 10px !important;
  color: #f8efe7 !important;
  padding: 10px 12px !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.82rem !important;
  width: 100% !important;
  margin: 0 !important;
  transition: border-color 160ms ease, background 160ms ease !important;
}
.fusion-filter-rail .fusion-filter-range input:focus {
  outline: none !important;
  border-color: rgba(248, 239, 231, 0.55) !important;
  background: rgba(248, 239, 231, 0.08) !important;
}
.fusion-filter-rail .fusion-filter-range input::placeholder {
  color: #6f655d !important;
}

/* Label v2 typography already set in round 53 — override hint color slightly */
.fusion-filter-rail .fusion-filter-option-v2 .fusion-filter-label-main {
  font-size: 0.88rem !important;
  color: #c8bdb5 !important;
  transition: color 160ms ease !important;
}
.fusion-filter-rail .fusion-filter-option-v2 .fusion-filter-label-hint {
  color: #7a6f66 !important;
  font-size: 0.68rem !important;
}
/* ROUND 54 END */

/* ===== ROUND 55 — 80% width + sticky filter ===== */

/* Widen archive pages from 70% → 80%; override fusion.css .container on body.* archives */
body.archive.woocommerce .elementor-element.elementor-element-c0008,
body.tax-product_cat .elementor-element.elementor-element-c0008,
body.post-type-archive-product .elementor-element.elementor-element-c0008 {
  width: 80% !important;
  max-width: 1600px !important;
}
/* Hero inner container — match 80% */
body.archive.woocommerce .fusion-collection-hero .container,
body.tax-product_cat .fusion-collection-hero .container,
body.post-type-archive-product .fusion-collection-hero .container {
  width: 80% !important;
  max-width: 1600px !important;
}

/* Filter rail sticky — lock to top while scrolling, alongside grid */
body.archive.woocommerce .fusion-filter-rail,
body.tax-product_cat .fusion-filter-rail,
body.post-type-archive-product .fusion-filter-rail {
  position: sticky !important;
  top: 100px !important;
  align-self: start !important;
  max-height: calc(100vh - 120px);
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(200, 189, 181, 0.2) transparent;
}
body.archive.woocommerce .fusion-filter-rail::-webkit-scrollbar,
body.tax-product_cat .fusion-filter-rail::-webkit-scrollbar,
body.post-type-archive-product .fusion-filter-rail::-webkit-scrollbar {
  width: 4px;
}
body.archive.woocommerce .fusion-filter-rail::-webkit-scrollbar-thumb,
body.tax-product_cat .fusion-filter-rail::-webkit-scrollbar-thumb,
body.post-type-archive-product .fusion-filter-rail::-webkit-scrollbar-thumb {
  background: rgba(200, 189, 181, 0.2);
  border-radius: 4px;
}

/* Ensure the parent layout grid supports sticky (overflow:visible on all ancestors) */
body.archive.woocommerce .fusion-collection-layout,
body.tax-product_cat .fusion-collection-layout,
body.post-type-archive-product .fusion-collection-layout {
  overflow: visible !important;
  align-items: start !important;
}
/* ROUND 55 END */








/* ===== ROUND 58 — sticky within grid column ===== */

/* Archive container 75% wide */
body.archive.woocommerce .elementor-element.elementor-element-c0008,
body.tax-product_cat .elementor-element.elementor-element-c0008,
body.post-type-archive-product .elementor-element.elementor-element-c0008 {
  width: 75% !important;
  max-width: 1500px !important;
}
body.archive.woocommerce .fusion-collection-hero .container,
body.tax-product_cat .fusion-collection-hero .container,
body.post-type-archive-product .fusion-collection-hero .container {
  width: 75% !important;
  max-width: 1500px !important;
}

/* 2-col layout: grid, filter col STRETCHES to row height so sticky rail inside has travel room */
body.archive.woocommerce .fusion-collection-layout,
body.tax-product_cat .fusion-collection-layout,
body.post-type-archive-product .fusion-collection-layout {
  display: grid !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  gap: 40px !important;
  align-items: stretch !important;  /* KEY: cells stretch to row height */
  overflow: visible !important;
}

/* Filter col: stretch full height of row, block display so sticky child works */
body.archive.woocommerce .elementor-element.elementor-element-c0003,
body.tax-product_cat .elementor-element.elementor-element-c0003,
body.post-type-archive-product .elementor-element.elementor-element-c0003 {
  position: relative !important;
  display: block !important;   /* override Elementor's display:flex */
  height: 100% !important;
  align-self: stretch !important;
  overflow: visible !important;
  max-height: none !important;
}

/* Rail positioned by JS via transform — stays inside c0003 bounds */
body.archive.woocommerce .fusion-filter-rail,
body.tax-product_cat .fusion-filter-rail,
body.post-type-archive-product .fusion-filter-rail {
  position: relative !important;
  width: 100% !important;
  max-height: calc(100vh - 140px) !important;
  overflow-y: auto !important;
  margin: 0 !important;
  will-change: transform;
  transition: none !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(200, 189, 181, 0.25) transparent;
}
body.archive.woocommerce .fusion-filter-rail::-webkit-scrollbar,
body.tax-product_cat .fusion-filter-rail::-webkit-scrollbar,
body.post-type-archive-product .fusion-filter-rail::-webkit-scrollbar { width: 4px; }
body.archive.woocommerce .fusion-filter-rail::-webkit-scrollbar-thumb,
body.tax-product_cat .fusion-filter-rail::-webkit-scrollbar-thumb,
body.post-type-archive-product .fusion-filter-rail::-webkit-scrollbar-thumb {
  background: rgba(200, 189, 181, 0.25); border-radius: 4px;
}

/* Ancestors must have overflow:visible (no hidden) for sticky to engage */
body.archive.woocommerce .elementor-element.elementor-element-c0007,
body.tax-product_cat .elementor-element.elementor-element-c0007,
body.post-type-archive-product .elementor-element.elementor-element-c0007,
body.archive.woocommerce .elementor-element.elementor-element-c0009,
body.tax-product_cat .elementor-element.elementor-element-c0009,
body.post-type-archive-product .elementor-element.elementor-element-c0009,
body.archive.woocommerce .elementor-element.elementor-element-c0010,
body.tax-product_cat .elementor-element.elementor-element-c0010,
body.post-type-archive-product .elementor-element.elementor-element-c0010 {
  overflow: visible !important;
}

/* Mobile: revert */
@media (max-width: 1023px) {
  body.archive.woocommerce .fusion-collection-layout,
  body.tax-product_cat .fusion-collection-layout,
  body.post-type-archive-product .fusion-collection-layout {
    grid-template-columns: 1fr !important;
  }
  body.archive.woocommerce .fusion-filter-rail,
  body.tax-product_cat .fusion-filter-rail,
  body.post-type-archive-product .fusion-filter-rail {
    position: static !important;
    max-height: none !important;
  }
}
/* ROUND 58 END */

/* ===== ROUND 59 — rail box-sizing + mega menu column align ===== */

/* Filter rail: force box-sizing border-box, constrain width to column (240px) strictly */
body.archive.woocommerce .fusion-filter-rail,
body.tax-product_cat .fusion-filter-rail,
body.post-type-archive-product .fusion-filter-rail {
  box-sizing: border-box !important;
  width: 240px !important;
  max-width: 240px !important;
}
body.archive.woocommerce .fusion-filter-rail *,
body.tax-product_cat .fusion-filter-rail *,
body.post-type-archive-product .fusion-filter-rail * {
  box-sizing: border-box !important;
}

/* Mega menu: 3 cols equal height, action buttons pinned to bottom */
.mega-menu-v2 .mega-v2-layout {
  align-items: stretch !important;  /* equal row height */
}
.mega-menu-v2 .mega-v2-col {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.mega-menu-v2 .mega-v2-list,
.mega-menu-v2 .mega-v2-featured-stack {
  flex: 1 1 auto !important;  /* take remaining vertical space above action */
}
.mega-menu-v2 .mega-v2-col-action {
  margin-top: auto !important;  /* push action to bottom */
  padding-top: 18px !important;
}
/* ROUND 59 END */

/* ===== ROUND 60 — search overlay flash fix ===== */
/* fusion.css defines `animation: searchFade 280ms ease;` on the base selector,
   which runs even when display:none→block transitions, causing a brief flash
   of the overlay between page navigations. Move animation to .is-open state
   only, and harden the default hidden state with visibility+opacity. */
.fusion-search-overlay {
  animation: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transition: opacity 220ms ease !important;
}
.fusion-search-overlay.is-open {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  animation: searchFade 280ms ease !important;
}
/* ROUND 60 END */

/* ===== ROUND 62 — card color swatches ===== */
.fusion-prod-body {
  align-items: flex-start !important;
}
.fusion-prod-body > div:first-child {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}
.fusion-prod-swatches {
  display: flex;
  gap: 6px;
  margin-top: 6px;
  flex-wrap: wrap;
}
.fusion-prod-swatch {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  display: inline-block;
  border: 1px solid rgba(200, 189, 181, 0.25);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.05);
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease;
}
.fusion-prod-swatch:hover {
  transform: scale(1.15);
  border-color: rgba(248, 239, 231, 0.6);
}
/* ROUND 62 END */

/* ===== ROUND 65 — clickable swatches ===== */
.fusion-prod-swatch {
  cursor: pointer !important;
  position: relative;
}
.fusion-prod-swatch:focus-visible {
  outline: 2px solid rgba(248, 239, 231, 0.8);
  outline-offset: 2px;
}
.fusion-prod-swatch.is-active {
  transform: scale(1.2);
  border-color: rgba(248, 239, 231, 0.85) !important;
  box-shadow: 0 0 0 2px rgba(248, 239, 231, 0.12), inset 0 0 0 1px rgba(0, 0, 0, 0.05) !important;
}
.fusion-prod-card .fusion-prod-img {
  transition: background-image 320ms ease;
}
/* ROUND 65 END */

/* ===== ROUND 69 — ATC fly + PDP sections ===== */

/* ATC flying dot + badge pulse */
.fusion-atc-fly {
  will-change: transform, opacity;
}
.fusion-cart-badge.is-pulse {
  animation: eePulse 620ms cubic-bezier(0.5, 0, 0.15, 1);
}
@keyframes eePulse {
  0%   { transform: scale(1); background: #d88c96; }
  40%  { transform: scale(1.45); background: #f8efe7; }
  100% { transform: scale(1); background: #d88c96; }
}
.fusion-pdp-add.is-loading, .fusion-prod-add.is-loading {
  opacity: 0.8;
  cursor: wait;
}

/* PDP overall: 75% container */
body.single-product .elementor-location-single > .e-con,
body.single-product .elementor-location-single > .e-con-full {
  width: 100% !important;
}
.fusion-pdp-hero .container,
.fusion-pdp-faq-wrap,
.fusion-pdp-faq-section .container,
.fusion-pdp-reviews-section .container,
.fusion-pdp-details-section .container,
.fusion-pdp-recs-section .container {
  max-width: 1500px !important;
  width: 75% !important;
  margin: 0 auto !important;
}

/* Hide WC default review area (we render our own) */
body.single-product #reviews.woocommerce-Reviews,
body.single-product .woocommerce-tabs,
body.single-product .related.products,
body.single-product .up-sells {
  display: none !important;
}
/* ROUND 69 END */

/* ===== ROUND 70 — PDP gallery + button polish ===== */

/* Gallery: main image + thumb row same width (both 100% of column) */
.fusion-pdp-gallery .fusion-pdp-main,
.fusion-pdp-gallery .fusion-pdp-thumbs {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Buy now button: center text */
.fusion-pdp-ctas .fusion-pdp-buy,
.fusion-pdp-ctas .fusion-pdp-buy.button,
.fusion-pdp-ctas .button.button-bright {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

/* Add to cart button: don't show grey disabled state after click; keep button-primary style */
.fusion-pdp-add:disabled,
.fusion-pdp-add.is-loading,
.fusion-prod-add:disabled,
.fusion-prod-add.is-loading {
  opacity: 0.85 !important;
  background: rgba(248, 239, 231, 0.96) !important;
  color: #21161b !important;
  cursor: wait !important;
}
/* ROUND 70 END */

/* ===== ROUND 71 — FAQ typography legibility ===== */

/* Questions (summary): sans-serif + larger + medium weight */
.fusion-pdp-faq-item summary {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 1.05rem !important;   /* ~16.8px */
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -0.005em !important;
  color: #f8efe7 !important;
  line-height: 1.5 !important;
  padding: 20px 0 !important;
}
.fusion-pdp-faq-item[open] summary {
  padding-bottom: 10px !important;
}

/* Answers: slightly larger + better contrast */
.fusion-pdp-faq-item p {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 1rem !important;      /* 16px */
  line-height: 1.7 !important;
  color: rgba(248, 239, 231, 0.88) !important;
  padding-bottom: 20px !important;
  margin: 0 !important;
}

/* Section heading — keep italic Cormorant but slightly smaller + more breathable */
.fusion-pdp-faq-section h2 {
  font-size: clamp(2.2rem, 4.5vw, 3.6rem) !important;
  line-height: 1.1 !important;
}

/* Chevron: proper size + contrast */
.fusion-pdp-faq-chev {
  color: #c8bdb5;
  transition: transform 280ms ease;
}
.fusion-pdp-faq-item[open] .fusion-pdp-faq-chev {
  transform: rotate(45deg);
}
/* ROUND 71 END */

/* ===== ROUND 72 — qty button polish ===== */

/* Container: segmented pill instead of boxed buttons */
.fusion-pdp-qty {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  margin: 16px 0 !important;
}
.fusion-pdp-qty-label {
  font-family: Inter, sans-serif !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: #8c8279 !important;
  font-weight: 500 !important;
}

/* Segmented pill control */
.fusion-pdp-qty-ctrl {
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(200, 189, 181, 0.25) !important;
  background: rgba(248, 239, 231, 0.04) !important;
  overflow: hidden !important;
  padding: 0 !important;
  transition: border-color 220ms ease, background 220ms ease !important;
}
.fusion-pdp-qty-ctrl:hover {
  border-color: rgba(200, 189, 181, 0.45) !important;
  background: rgba(248, 239, 231, 0.07) !important;
}

/* +/- buttons: no border, no bg, tight hit area */
.fusion-pdp-qty-ctrl button,
.fusion-pdp-qty-ctrl [data-qty] {
  width: 44px !important;
  height: 40px !important;
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  color: #c8bdb5 !important;
  font-family: Inter, sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  cursor: pointer !important;
  transition: color 160ms ease, background 160ms ease !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.fusion-pdp-qty-ctrl button:hover,
.fusion-pdp-qty-ctrl [data-qty]:hover {
  color: #f8efe7 !important;
  background: rgba(248, 239, 231, 0.05) !important;
}
.fusion-pdp-qty-ctrl button:active,
.fusion-pdp-qty-ctrl [data-qty]:active {
  background: rgba(248, 239, 231, 0.1) !important;
}

/* Value: hairline dividers on both sides */
.fusion-pdp-qty-value {
  min-width: 48px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Inter, sans-serif !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  color: #f8efe7 !important;
  border-left: 1px solid rgba(200, 189, 181, 0.2) !important;
  border-right: 1px solid rgba(200, 189, 181, 0.2) !important;
  padding: 0 14px !important;
  user-select: none !important;
}
/* ROUND 72 END */

/* ===== ROUND 73 — popup signup ===== */
.fusion-popup {
  position: fixed;
  inset: 0;
  z-index: 9000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 320ms ease, visibility 320ms ease;
}
.fusion-popup.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.fusion-popup-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(21, 16, 22, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  cursor: pointer;
}
.fusion-popup-card {
  position: relative;
  width: 100%;
  max-width: 460px;
  background: linear-gradient(165deg, #2a1e26 0%, #1b141a 60%, #151016 100%);
  border: 1px solid rgba(200, 189, 181, 0.1);
  border-radius: 22px;
  padding: 48px 40px 36px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(248, 239, 231, 0.05);
  transform: translateY(20px) scale(0.98);
  transition: transform 360ms cubic-bezier(0.3, 0.8, 0.2, 1);
}
.fusion-popup.is-open .fusion-popup-card {
  transform: translateY(0) scale(1);
}
.fusion-popup-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(248, 239, 231, 0.04);
  border: 1px solid rgba(200, 189, 181, 0.12);
  border-radius: 10px;
  color: #c8bdb5;
  cursor: pointer;
  transition: background 180ms ease, color 180ms ease, border-color 180ms ease;
}
.fusion-popup-close:hover {
  background: rgba(248, 239, 231, 0.1);
  color: #f8efe7;
  border-color: rgba(248, 239, 231, 0.35);
}
.fusion-popup-eyebrow {
  font-family: Inter, sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #a89c92;
  margin-bottom: 14px;
  font-weight: 500;
}
.fusion-popup-heading {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: clamp(1.9rem, 3.6vw, 2.4rem);
  font-weight: 400;
  line-height: 1.1;
  color: #f8efe7;
  margin: 0 0 14px;
  letter-spacing: -0.005em;
}
.fusion-popup-heading em {
  font-style: italic;
  color: #f4c9c6;
}
.fusion-popup-sub {
  font-family: Inter, sans-serif;
  font-size: 0.96rem;
  line-height: 1.6;
  color: rgba(200, 189, 181, 0.88);
  margin: 0 0 22px;
}
.fusion-popup-form {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}
.fusion-popup-input {
  flex: 1;
  background: rgba(248, 239, 231, 0.05);
  border: 1px solid rgba(200, 189, 181, 0.18);
  border-radius: 999px;
  padding: 13px 18px;
  font-family: Inter, sans-serif;
  font-size: 0.92rem;
  color: #f8efe7;
  transition: border-color 160ms ease, background 160ms ease;
}
.fusion-popup-input::placeholder { color: #6f655d; }
.fusion-popup-input:focus {
  outline: none;
  border-color: rgba(248, 239, 231, 0.55);
  background: rgba(248, 239, 231, 0.08);
}
.fusion-popup-submit {
  white-space: nowrap;
  padding: 13px 22px !important;
  border-radius: 999px !important;
  font-size: 0.74rem !important;
  letter-spacing: 0.2em !important;
}
.fusion-popup-small {
  font-family: Inter, sans-serif;
  font-size: 0.72rem;
  line-height: 1.5;
  color: #8c8279;
  margin: 0 0 22px;
}
.fusion-popup-dismiss {
  display: block;
  margin: 0 auto;
  background: none;
  border: none;
  padding: 8px 4px;
  font-family: Inter, sans-serif;
  font-size: 0.78rem;
  color: #8c8279;
  cursor: pointer;
  text-decoration: underline;
  text-decoration-color: rgba(140, 130, 121, 0.3);
  transition: color 160ms ease;
}
.fusion-popup-dismiss:hover {
  color: #c8bdb5;
}

/* Success state code block */
.fusion-popup-code {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 28px;
  margin: 12px 0 22px;
  background: rgba(248, 239, 231, 0.08);
  border: 1px dashed rgba(248, 239, 231, 0.35);
  border-radius: 12px;
  font-family: Inter, sans-serif;
  font-size: 1.15rem;
  letter-spacing: 0.18em;
  font-weight: 500;
  color: #f8efe7;
  text-transform: uppercase;
}

/* Mobile */
@media (max-width: 520px) {
  .fusion-popup-card { padding: 36px 22px 28px; }
  .fusion-popup-form { flex-direction: column; }
}
/* ROUND 73 END */

/* ===== ROUND 74 — passwordless magic link ===== */

.fusion-account-magic {
  margin-bottom: 22px;
}
.fusion-account-magic-form label {
  display: block;
  margin-bottom: 10px;
}
.fusion-account-magic-form label span {
  display: block;
  font-family: Inter, sans-serif;
  font-size: 0.66rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #8c8279;
  margin-bottom: 6px;
}
.fusion-account-magic-form input[type="email"] {
  width: 100%;
  background: rgba(248, 239, 231, 0.05);
  border: 1px solid rgba(200, 189, 181, 0.2);
  border-radius: 10px;
  padding: 12px 14px;
  font-family: Inter, sans-serif;
  font-size: 0.92rem;
  color: #f8efe7;
  box-sizing: border-box;
  transition: border-color 160ms ease, background 160ms ease;
}
.fusion-account-magic-form input[type="email"]:focus {
  outline: none;
  border-color: rgba(248, 239, 231, 0.55);
  background: rgba(248, 239, 231, 0.08);
}
.fusion-account-magic-form input[type="email"]::placeholder { color: #6f655d; }
.fusion-account-magic-form .button {
  width: 100%;
  margin-top: 8px;
}
.fusion-account-magic-note {
  font-family: Inter, sans-serif;
  font-size: 0.78rem;
  color: #8c8279;
  margin: 10px 0 0;
  line-height: 1.5;
}
.fusion-account-magic-notice {
  padding: 10px 14px;
  border-radius: 10px;
  font-family: Inter, sans-serif;
  font-size: 0.88rem;
  margin: 0 0 14px;
}
.fusion-account-magic-notice.is-ok {
  background: rgba(110, 172, 120, 0.12);
  border: 1px solid rgba(110, 172, 120, 0.3);
  color: #cfe8d3;
}
.fusion-account-magic-notice.is-err {
  background: rgba(200, 90, 90, 0.12);
  border: 1px solid rgba(200, 90, 90, 0.3);
  color: #f0bcbc;
}
.fusion-account-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0;
  color: #6f655d;
  font-family: Inter, sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.fusion-account-divider::before,
.fusion-account-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(200, 189, 181, 0.15);
}
/* ROUND 74 END */


/* === mega menu polish (2026-05-05) === === */
.mega-v2-list .mega-v2-item .mega-v2-body small,
.mega-v2-featured-stack .mega-v2-feat-card .mega-v2-feat-body span {
  display: none !important;
}
.mega-v2-list { gap: 6px !important; }
.mega-v2-list .mega-v2-item {
  padding: 14px 8px !important;
  gap: 16px !important;
  border-radius: 8px !important;
  transition: background 0.25s ease !important;
}
.mega-v2-list .mega-v2-item:hover {
  background: rgba(248, 239, 231, 0.06) !important;
}
.mega-v2-list .mega-v2-item .mega-v2-body strong {
  letter-spacing: 0.02em !important;
  font-size: 1.02rem !important;
}
.mega-v2-list .mega-v2-item .mega-v2-thumb {
  width: 56px !important;
  height: 56px !important;
  flex-shrink: 0 !important;
}
.mega-v2-col h4 { margin-bottom: 18px !important; }
.mega-v2-col-action { margin-top: 24px !important; }
.mega-v2-featured-stack .mega-v2-feat-card { padding: 12px 8px !important; }
.mega-v2-featured-stack .mega-v2-feat-body strong { font-size: 0.98rem !important; }
/* === end mega menu polish === */




/* === transparent header / scroll-dark v2 (2026-05-05) === */
body .site-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 100 !important;
  background: transparent !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  transition: background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
}

/* Default text — cream (works on dark page tops) */
body .site-header .brandmark,
body .site-header .brandmark .glyph,
body .site-header .brandmark span,
body .site-header .nav-links a,
body .site-header .nav-links .nav-trigger,
body .site-header .nav-links .nav-item-mega .nav-trigger,
body .site-header .fusion-icon-btn,
body .site-header .fusion-header-text-link {
  color: #f8efe7 !important;
  transition: color 0.35s ease !important;
}

/* Homepage at top: dark text — reads on light cream hero */
body.home:not(.is-scrolled) .site-header .brandmark,
body.home:not(.is-scrolled) .site-header .brandmark .glyph,
body.home:not(.is-scrolled) .site-header .brandmark span,
body.home:not(.is-scrolled) .site-header .nav-links a,
body.home:not(.is-scrolled) .site-header .nav-links .nav-trigger,
body.home:not(.is-scrolled) .site-header .nav-links .nav-item-mega .nav-trigger,
body.home:not(.is-scrolled) .site-header .fusion-icon-btn,
body.home:not(.is-scrolled) .site-header .fusion-header-text-link {
  color: #21161b !important;
}

/* Hover */
body .site-header .nav-links a:hover,
body .site-header .nav-links .nav-trigger:hover,
body .site-header .fusion-icon-btn:hover,
body .site-header .fusion-header-text-link:hover {
  color: #cf9d86 !important;
}
body.home:not(.is-scrolled) .site-header .nav-links a:hover,
body.home:not(.is-scrolled) .site-header .nav-links .nav-trigger:hover,
body.home:not(.is-scrolled) .site-header .fusion-icon-btn:hover,
body.home:not(.is-scrolled) .site-header .fusion-header-text-link:hover {
  color: #6b3a3f !important;
}

/* Icon chrome strip (any state) */
body .site-header .fusion-icon-btn {
  background: transparent !important;
  border: 0 !important;
  padding: 6px !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
body .site-header .fusion-icon-btn svg {
  width: 22px !important;
  height: 22px !important;
  stroke: currentColor !important;
  stroke-width: 1.6 !important;
  fill: none !important;
  display: block !important;
}
body .site-header .header-actions { gap: 20px !important; align-items: center !important; }
body .site-header .fusion-icon-btn[href*="/cart/"] { position: relative !important; }
body .site-header .fusion-cart-badge {
  background: currentColor !important;
  color: transparent !important;
  font-size: 0 !important;
  width: 7px !important; height: 7px !important; min-width: 7px !important;
  border-radius: 50% !important;
  padding: 0 !important;
  position: absolute !important;
  top: 4px !important; right: 2px !important;
}
body .site-header .fusion-header-text-link {
  font-family: Inter, system-ui, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  padding: 0 4px !important;
}

/* Scrolled state: dark bg + always cream text */
body.is-scrolled .site-header {
  background: rgba(21, 16, 22, 0.92) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border-bottom: 1px solid rgba(248, 239, 231, 0.08) !important;
}

/* Make sure brandmark glyph background doesn't fight (it has theme-fusion specific bg) */
body .site-header .brandmark .glyph {
  background: transparent !important;
  box-shadow: none !important;
}
/* === end transparent header === */


/* === mega menu v3 (Plan A v2 — equal heights + 70vh cap + placeholder colors) === */
/* container — cap at 70vh and stack flex */
.mega-menu-v2 {
  max-height: 70vh !important;
  overflow: hidden !important;
}
.mega-menu-v2 .mega-v2-layout {
  display: block !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
}
.mega-menu-v2 { padding: 0 !important; }
.mega-menu-v2 .container {
  max-width: 1280px !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 28px 40px 20px !important;
  height: 100% !important;
  max-height: 70vh !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}

/* hide v2 polish overrides on v3 */
.mega-v3 .mega-v2-list, .mega-v3 .mega-v2-item, .mega-v3 .mega-v2-thumb,
.mega-v3 .mega-v2-col-action, .mega-v3 .mega-v2-featured-stack { display: none !important; }

.mega-v3 {
  color: #f8efe7;
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

/* main row: 70/30 — both sides stretch to same height */
.mega-v3-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 28px;
  align-items: stretch;
  flex: 1 1 auto;
  min-height: 0;
}

/* LEFT */
.mega-v3-left {
  display: flex;
  flex-direction: column;
  gap: 18px;
  min-height: 0;
}
.mega-v3-tabs {
  display: flex;
  gap: 28px;
  border-bottom: 1px solid rgba(248, 239, 231, 0.12);
  flex-shrink: 0;
}
.mega-v3-tab {
  background: transparent !important;
  border: 0 !important;
  padding: 6px 0 12px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(248, 239, 231, 0.5) !important;
  cursor: pointer !important;
  position: relative !important;
  transition: color 0.25s ease !important;
}
.mega-v3-tab:hover { color: rgba(248, 239, 231, 0.85) !important; }
.mega-v3-tab.is-active { color: #f8efe7 !important; }
.mega-v3-tab.is-active::after {
  content: "";
  position: absolute;
  left: 0; right: 0;
  bottom: -1px;
  height: 1px;
  background: #cf9d86;
}

/* grids — fill remaining height */
.mega-v3-grids {
  position: relative;
  flex: 1 1 auto;
  min-height: 0;
}
.mega-v3-grid {
  display: none;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  gap: 16px;
  height: 100%;
}
.mega-v3-grid.is-active { display: grid; }

/* tile — fills grid cell, no aspect-ratio */
.mega-v3-tile {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  background-color: #2a1f25;
  background-size: cover;
  background-position: center;
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  transition: transform 0.4s ease, filter 0.4s ease;
}
.mega-v3-tile:hover { transform: translateY(-2px); filter: brightness(1.06); }

/* placeholder color blocks — luxe linen/aubergine palette */
.mega-v3-tile-c1 { background: linear-gradient(145deg, #c6907b 0%, #5a3a3f 75%); }
.mega-v3-tile-c2 { background: linear-gradient(145deg, #874e54 0%, #3a2128 75%); }
.mega-v3-tile-c3 { background: linear-gradient(145deg, #b58777 0%, #6c4449 75%); }
.mega-v3-tile-c4 { background: linear-gradient(145deg, #6b3a3f 0%, #2c181d 75%); }
.mega-v3-tile-c5 { background: linear-gradient(145deg, #c19a82 0%, #6a4549 75%); }
.mega-v3-tile-c6 { background: linear-gradient(145deg, #7a5164 0%, #3d2730 75%); }
.mega-v3-tile-c7 { background: linear-gradient(145deg, #a37a72 0%, #55363b 75%); }
.mega-v3-tile-c8 { background: linear-gradient(145deg, #cf9d86 0%, #6c4449 75%); }

.mega-v3-tile-scrim {
  position: absolute;
  inset: auto 0 0 0;
  height: 56px;
  background: linear-gradient(to top, rgba(0,0,0,0.78), rgba(0,0,0,0));
  pointer-events: none;
}
.mega-v3-tile-label {
  position: absolute;
  left: 16px;
  bottom: 12px;
  font-family: 'Instrument Serif', Times, serif;
  font-style: italic;
  font-size: 1.15rem;
  font-weight: 400;
  letter-spacing: 0.005em;
  color: #f8efe7;
  z-index: 2;
}

/* RIGHT — big featured anchor — fill row height (no fixed 420px) */
.mega-v3-feature {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 320px;
  height: 100%;
  min-height: 0;
  background-color: #2a1f25;
  background-size: cover;
  background-position: center;
  border-radius: 4px;
  overflow: hidden;
  text-decoration: none;
  color: #f8efe7;
  transition: transform 0.4s ease;
}
.mega-v3-feature:hover { transform: translateY(-2px); }
.mega-v3-feature-scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 30%, rgba(0,0,0,0.78) 100%);
  pointer-events: none;
}
.mega-v3-feature-body {
  position: relative;
  z-index: 2;
  padding: 22px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mega-v3-feature-eyebrow {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(248, 239, 231, 0.7);
}
.mega-v3-feature-title {
  font-family: 'Instrument Serif', Times, serif;
  font-style: italic;
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.mega-v3-feature-cta {
  margin-top: 6px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border-bottom: 1px solid currentColor;
  padding-bottom: 4px;
  align-self: flex-start;
  transition: color 0.25s ease, border-color 0.25s ease;
}
.mega-v3-feature:hover .mega-v3-feature-cta { color: #cf9d86; border-bottom-color: #cf9d86; }

/* utility footer row */
.mega-v3-footer {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 0 4px;
  margin-top: 18px;
  border-top: 1px solid rgba(248, 239, 231, 0.08);
  flex-shrink: 0;
}
.mega-v3-footer a {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(248, 239, 231, 0.55);
  text-decoration: none;
  transition: color 0.25s ease;
}
.mega-v3-footer a:hover { color: #f8efe7; }
.mega-v3-footer-sep {
  color: rgba(248, 239, 231, 0.25);
  font-size: 0.72rem;
}

/* responsive */
@media (max-width: 980px) {
  .mega-v3-row { grid-template-columns: 1fr; gap: 18px; }
  .mega-v3-feature { width: 100%; height: 240px; }
}



/* === mega menu v3 fix (2026-05-05): explicit height + feature placeholder === */
.mega-menu-v2 {
  height: 70vh !important;
  max-height: 70vh !important;
  min-height: 540px !important;
  overflow: hidden !important;
}
.mega-menu-v2 .container {
  height: 100% !important;
  max-height: none !important;
}
.mega-v3-feature.mega-v3-feature-placeholder {
  background: linear-gradient(160deg, #6b3a3f 0%, #2c181d 70%, #1a0f14 100%) !important;
}
/* === end mega menu v3 fix === */

/* === mega menu v3 sizing fix v3 (2026-05-05): hard heights === === */
/* Force entire flex chain explicit heights — defeat any block/auto-height collapse */
body .mega-menu-v2 {
  height: 70vh !important;
  max-height: 70vh !important;
  min-height: 560px !important;
  overflow: hidden !important;
}
body .mega-menu-v2 .container {
  height: 100% !important;
  max-height: none !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
}
body .mega-menu-v2 .mega-v2-layout {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
body .mega-v3 {
  flex: 1 1 auto !important;
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}
body .mega-v3-row {
  flex: 1 1 auto !important;
  min-height: 380px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 320px !important;
  gap: 28px !important;
  align-items: stretch !important;
}
body .mega-v3-left {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  min-height: 0 !important;
  height: 100% !important;
}
body .mega-v3-grids {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  height: 100% !important;
  position: relative !important;
}
body .mega-v3-grid.is-active {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  grid-template-rows: 1fr 1fr !important;
  gap: 16px !important;
  height: 100% !important;
  width: 100% !important;
}
body .mega-v3-tile {
  height: 100% !important;
  min-height: 140px !important;
  width: 100% !important;
}
body .mega-v3-feature {
  height: 100% !important;
  min-height: 380px !important;
  width: 320px !important;
  align-self: stretch !important;
}
body .mega-v3-footer {
  flex-shrink: 0 !important;
}
/* === end v3 sizing fix v3 === */


/* === mega v3 tile info (subtitle + hover desc) === === */
.mega-v3-tile-info {
  position: absolute;
  left: 18px;
  right: 18px;
  bottom: 14px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 4px;
  pointer-events: none;
}
.mega-v3-tile-label {
  font-family: 'Instrument Serif', Times, serif !important;
  font-style: italic;
  font-size: 1.2rem;
  font-weight: 400;
  color: #f8efe7;
  line-height: 1.05;
  letter-spacing: 0.005em;
  position: static !important;
  left: auto !important;
  bottom: auto !important;
}
.mega-v3-tile-subtitle {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.66rem;
  font-weight: 400;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(248, 239, 231, 0.72);
  line-height: 1.25;
}
.mega-v3-tile-desc {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.78rem;
  font-weight: 400;
  line-height: 1.45;
  color: rgba(248, 239, 231, 0.88);
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  margin-top: 0;
  transition: max-height 0.4s ease, opacity 0.3s ease 0.05s, margin-top 0.4s ease;
}
.mega-v3-tile:hover .mega-v3-tile-desc,
.mega-v3-tile:focus-within .mega-v3-tile-desc {
  max-height: 70px;
  opacity: 1;
  margin-top: 6px;
}

/* scrim grows on hover so description has dark backing */
.mega-v3-tile-scrim {
  height: 92px !important;
  transition: height 0.4s ease !important;
  background: linear-gradient(to top, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.55) 60%, rgba(0,0,0,0)) !important;
}
.mega-v3-tile:hover .mega-v3-tile-scrim,
.mega-v3-tile:focus-within .mega-v3-tile-scrim {
  height: 170px !important;
}
/* === end mega v3 tile info === */


/* === luxe typography (Jost) — header + footer (2026-05-05) === === */
/* HEADER — Jost luxe sans, slightly larger */
body .site-header .brandmark span,
body .site-header .brandmark .glyph {
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
}
body .site-header .brandmark span {
  font-size: 1.06rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
}
body .site-header .brandmark .glyph {
  font-size: 1.4rem !important;
  font-weight: 400 !important;
}
body .site-header .nav-links a,
body .site-header .nav-links .nav-trigger,
body .site-header .nav-links .nav-item-mega .nav-trigger {
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 0.92rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.20em !important;
  text-transform: uppercase !important;
}
body .site-header .fusion-header-text-link {
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.22em !important;
}

/* MEGA MENU — Jost too, for consistency */
.mega-v3-tab,
.mega-v3-tile-subtitle,
.mega-v3-feature-eyebrow,
.mega-v3-feature-cta,
.mega-v3-tile-desc,
.mega-v3-feature-body span,
.mega-v3-footer a,
.mega-v3-footer-sep {
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
}

/* FOOTER — Jost everywhere (headings, links, body, form, signup, social, payments, copyright) */
body footer.site-footer,
body footer.site-footer h1, body footer.site-footer h2, body footer.site-footer h3,
body footer.site-footer h4, body footer.site-footer h5, body footer.site-footer h6,
body footer.site-footer p, body footer.site-footer a,
body footer.site-footer span, body footer.site-footer li,
body footer.site-footer label, body footer.site-footer button,
body footer.site-footer input, body footer.site-footer small,
body footer.site-footer strong, body footer.site-footer em,
body footer.site-footer div,
body .fusion-footer,
body .fusion-footer h1, body .fusion-footer h2, body .fusion-footer h3,
body .fusion-footer h4, body .fusion-footer h5, body .fusion-footer h6,
body .fusion-footer p, body .fusion-footer a,
body .fusion-footer span, body .fusion-footer li,
body .fusion-footer label, body .fusion-footer button,
body .fusion-footer input, body .fusion-footer small {
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
}

/* Italic display in footer / header keeps Instrument Serif untouched */
body footer.site-footer em, body footer.site-footer i,
body .fusion-footer em, body .fusion-footer i,
body .site-header em, body .site-header i {
  font-family: 'Instrument Serif', Times, serif !important;
  font-style: italic !important;
}
/* === end luxe typography === */


/* === footer payments grid v2 (2026-05-05) — high specificity to beat .elementor-location-footer rules === */
body .fusion-payments.fusion-payments-grid,
body .elementor-location-footer .fusion-payments.fusion-payments-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  flex-direction: row !important;
  max-width: 320px !important;
  width: 100% !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  align-items: stretch !important;
}
body .fusion-payments.fusion-payments-grid .fusion-payment-cell {
  background: #ffffff !important;
  border-radius: 4px !important;
  width: 100% !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 5px 8px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(33, 22, 27, 0.06) !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}
body .fusion-payments.fusion-payments-grid .fusion-payment-cell img {
  max-width: 100% !important;
  max-height: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  filter: none !important;
  opacity: 1 !important;
}
/* === end footer payments grid v2 === */


/* === reviews masonry + journal filter (2026-05-06) === === */
/* Reviews waterfall */
.fusion-reviews-masonry {
  column-count: 3;
  column-gap: 24px;
  column-fill: balance;
}
@media (max-width: 1024px) { .fusion-reviews-masonry { column-count: 2; } }
@media (max-width: 640px)  { .fusion-reviews-masonry { column-count: 1; } }

.fusion-review-card {
  break-inside: avoid;
  page-break-inside: avoid;
  -webkit-column-break-inside: avoid;
  background: #f8f5f0;
  color: #21161b;
  border: 1px solid rgba(33, 22, 27, 0.06);
  border-radius: 6px;
  padding: 22px;
  margin-bottom: 24px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.fusion-review-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(33, 22, 27, 0.08);
}

.fusion-review-product {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(33, 22, 27, 0.08);
}
.fusion-review-product-img {
  width: 48px;
  height: 48px;
  border-radius: 4px;
  background-color: #ece1d0;
  background-size: cover;
  background-position: center;
  flex-shrink: 0;
}
.fusion-review-product-name {
  font-family: 'Instrument Serif', Times, serif;
  font-style: italic;
  font-size: 1.05rem;
  color: #21161b;
  line-height: 1.2;
}

.fusion-review-rating {
  display: flex;
  gap: 2px;
  font-size: 0.92rem;
  letter-spacing: 0.06em;
}
.fusion-review-rating .on { color: #6b3a3f; }
.fusion-review-rating .off { color: rgba(33, 22, 27, 0.18); }

.fusion-review-body {
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.92rem;
  font-weight: 400;
  line-height: 1.62;
  color: rgba(33, 22, 27, 0.85);
  margin: 0;
  white-space: pre-wrap;
}

.fusion-review-byline {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 4px;
}
.fusion-review-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #6b3a3f;
  color: #f8efe7;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Jost', sans-serif;
  font-weight: 500;
  font-size: 0.78rem;
  letter-spacing: 0.02em;
}
.fusion-review-author {
  display: flex;
  flex-direction: column;
  font-family: 'Jost', sans-serif;
  font-size: 0.84rem;
  font-weight: 500;
  color: #21161b;
}
.fusion-review-author small {
  font-size: 0.7rem;
  font-weight: 400;
  color: rgba(33, 22, 27, 0.55);
  letter-spacing: 0.06em;
  margin-top: 2px;
}

/* Journal filter — hide non-matching cards */
.fusion-post-card.is-hidden { display: none !important; }
/* === end reviews + filter === */


/* === MOBILE — homepage + header drawer (2026-05-07) === === */
/* hide hamburger on desktop */
.fusion-mobile-trigger { display: none !important; }
.fusion-mobile-drawer { display: none !important; }

/* ========== ≤ 980px: tablet + mobile ========== */
@media (max-width: 980px) {
  /* Header — collapse to hamburger + brand + cart */
  body .site-header .nav-links { display: none !important; }
  body .site-header .fusion-header-text-link { display: none !important; }
  body .site-header .fusion-icon-btn-search { display: none !important; }
  body .site-header .fusion-icon-btn-account { display: none !important; }
  body .site-header .fusion-mobile-trigger {
    display: flex !important;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 28px;
    height: 28px;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    cursor: pointer;
    margin-left: 8px;
  }
  body .site-header .fusion-mobile-trigger span {
    display: block;
    width: 22px;
    height: 1.4px;
    background: currentColor;
    transition: transform 0.3s ease, opacity 0.3s ease;
  }
  body.fusion-drawer-open .fusion-mobile-trigger span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }
  body.fusion-drawer-open .fusion-mobile-trigger span:nth-child(2) { opacity: 0; }
  body.fusion-drawer-open .fusion-mobile-trigger span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  body .site-header .header-inner { padding: 14px 20px !important; }
  body .site-header .brandmark span { font-size: 0.92rem !important; letter-spacing: 0.2em !important; }
  body .site-header .brandmark .glyph { font-size: 1.18rem !important; }
  body .site-header .header-actions { gap: 12px !important; }

  /* Drawer */
  body .fusion-mobile-drawer { display: block !important; position: fixed; inset: 0; z-index: 200; pointer-events: none; }
  body .fusion-mobile-drawer-overlay {
    position: absolute; inset: 0;
    background: rgba(21, 16, 22, 0.65);
    opacity: 0;
    transition: opacity 0.35s ease;
  }
  body .fusion-mobile-drawer-panel {
    position: absolute; top: 0; right: 0; bottom: 0;
    width: min(420px, 88vw);
    background: #151016;
    color: #f8efe7;
    transform: translateX(100%);
    transition: transform 0.4s cubic-bezier(.4,0,.2,1);
    display: flex; flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    padding: 0;
    box-shadow: -16px 0 48px rgba(0,0,0,0.4);
  }
  body.fusion-drawer-open .fusion-mobile-drawer { pointer-events: auto; }
  body.fusion-drawer-open .fusion-mobile-drawer-overlay { opacity: 1; }
  body.fusion-drawer-open .fusion-mobile-drawer-panel { transform: translateX(0); }

  .fusion-mobile-drawer-head {
    display: flex; justify-content: space-between; align-items: center;
    padding: 22px 24px 18px;
    border-bottom: 1px solid rgba(248, 239, 231, 0.08);
  }
  .fusion-mobile-drawer-brand {
    font-family: 'Jost', sans-serif;
    font-size: 0.92rem; font-weight: 500;
    letter-spacing: 0.28em; text-transform: uppercase;
    color: #f8efe7; text-decoration: none;
  }
  .fusion-mobile-drawer-close {
    background: transparent; border: 0; color: #f8efe7;
    cursor: pointer; padding: 6px; line-height: 0;
  }

  .fusion-mobile-drawer-nav {
    display: flex; flex-direction: column;
    padding: 18px 24px 14px;
    gap: 4px;
  }
  .fusion-mobile-drawer-nav > a,
  .fusion-mobile-shop > summary {
    font-family: 'Jost', sans-serif;
    font-size: 1.02rem;
    font-weight: 400;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: #f8efe7;
    text-decoration: none;
    padding: 16px 0;
    border-bottom: 1px solid rgba(248, 239, 231, 0.06);
    list-style: none;
    cursor: pointer;
    display: flex; justify-content: space-between; align-items: center;
  }
  .fusion-mobile-shop > summary::-webkit-details-marker { display: none; }
  .fusion-mobile-shop[open] > summary span { transform: rotate(45deg); }
  .fusion-mobile-shop > summary span {
    font-family: 'Inter', sans-serif;
    font-weight: 300;
    font-size: 1.2rem;
    transition: transform 0.3s ease;
  }
  .fusion-mobile-shop-body { padding: 4px 0 14px 0; }
  .fusion-mobile-shop-body h5 {
    font-family: 'Jost', sans-serif;
    font-size: 0.7rem;
    font-weight: 500;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: rgba(248, 239, 231, 0.45);
    margin: 14px 0 6px;
  }
  .fusion-mobile-shop-body ul { list-style: none; padding: 0; margin: 0; }
  .fusion-mobile-shop-body ul li a {
    display: block;
    padding: 10px 0;
    font-family: 'Instrument Serif', serif;
    font-style: italic;
    font-size: 1.1rem;
    color: rgba(248, 239, 231, 0.86);
    text-decoration: none;
  }

  .fusion-mobile-drawer-utility {
    margin-top: auto;
    padding: 22px 24px 32px;
    border-top: 1px solid rgba(248, 239, 231, 0.08);
    display: flex; flex-wrap: wrap; gap: 12px 18px;
  }
  .fusion-mobile-drawer-utility a,
  .fusion-mobile-drawer-utility button {
    font-family: 'Jost', sans-serif;
    font-size: 0.74rem;
    font-weight: 500;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: rgba(248, 239, 231, 0.7);
    text-decoration: none;
    background: transparent; border: 0;
    cursor: pointer; padding: 0;
  }

  /* body lock when drawer open */
  body.fusion-drawer-open { overflow: hidden; }

  /* ========== HOMEPAGE SECTIONS ========== */
  /* Hero */
  .fusion-cover-2s .fusion-cover-inner { padding-bottom: 12vh !important; padding-left: 24px !important; padding-right: 24px !important; }
  .fusion-cover-2s .fusion-cover-title {
    font-size: clamp(2rem, 8.5vw, 3rem) !important;
    max-width: 14ch !important;
  }
  .fusion-cover-2s .fusion-cover-kicker { font-size: 0.68rem !important; letter-spacing: 0.22em !important; }
  .fusion-cover-2s .fusion-cover-sublink { font-size: 0.74rem !important; }
  .fusion-cover-rails { display: none !important; }

  /* Section default vertical padding */
  .section, .fusion-section { padding-top: 56px !important; padding-bottom: 56px !important; }
  .section .container, .fusion-section .container { padding-left: 20px !important; padding-right: 20px !important; }

  /* Section heading + display sizes */
  .fusion-display-h2 { font-size: clamp(1.8rem, 7vw, 2.6rem) !important; line-height: 1.1 !important; }
  .fusion-display-h3 { font-size: clamp(1.5rem, 6vw, 2rem) !important; }
  .fusion-section-heading p { font-size: 0.95rem !important; line-height: 1.65 !important; }

  /* Cat rail (categories grid on home) */
  .fusion-cat-rail-grid, .fusion-cat-rail { grid-template-columns: 1fr 1fr !important; gap: 14px !important; }

  /* Portfolio (Our Objects 5 cards) */
  .fusion-portfolio { grid-template-columns: 1fr !important; gap: 16px !important; }
  .fusion-portfolio-card { aspect-ratio: 16 / 9 !important; min-height: 220px !important; }

  /* Brand intro split → stack */
  .fusion-brand-intro, .fusion-brand-split { grid-template-columns: 1fr !important; gap: 32px !important; }

  /* Stats — split → stack */
  .fusion-stats-layout { grid-template-columns: 1fr !important; gap: 32px !important; }
  .fusion-stats-stage-v2 { display: none !important; } /* the desktop callouts overlay; mobile too cramped */

  /* Testimonial */
  .fusion-testimonial-grid { grid-template-columns: 1fr !important; gap: 24px !important; }

  /* News (journal preview) */
  .fusion-news-grid { grid-template-columns: 1fr !important; gap: 18px !important; }

  /* Info strip — stack */
  .fusion-info-strip { grid-template-columns: 1fr !important; gap: 14px !important; }
  .fusion-info-strip-item { padding: 18px !important; }

  /* Slogan marquee (auto-scroll text) — smaller */
  .fusion-slogan-marquee, .fusion-marquee { font-size: clamp(1.6rem, 6vw, 2.4rem) !important; }

  /* Footer */
  .fusion-footer-grid, .fusion-footer-cols { grid-template-columns: 1fr !important; gap: 24px !important; }
  .fusion-footer .fusion-footer-col { padding: 6px 0 !important; }
  .fusion-payments.fusion-payments-grid { max-width: 100% !important; }

  /* Mega menu — disable on mobile (drawer takes over) */
  .nav-item-mega .mega-menu, .mega-menu-v2 { display: none !important; }
}

/* ========== ≤ 640px: small phones ========== */
@media (max-width: 640px) {
  body .site-header .header-inner { padding: 12px 16px !important; }
  body .site-header .brandmark span { font-size: 0.84rem !important; letter-spacing: 0.18em !important; }

  .fusion-cover-2s .fusion-cover-title { font-size: clamp(1.9rem, 9.5vw, 2.6rem) !important; }
  .fusion-cover-2s .fusion-cover-inner { padding-bottom: 10vh !important; }

  .section, .fusion-section { padding-top: 44px !important; padding-bottom: 44px !important; }
  .section .container, .fusion-section .container { padding-left: 16px !important; padding-right: 16px !important; }

  .fusion-display-h2 { font-size: clamp(1.6rem, 8vw, 2.2rem) !important; }
  .fusion-display-h3 { font-size: clamp(1.4rem, 7vw, 1.8rem) !important; }

  .fusion-cat-rail-grid, .fusion-cat-rail { grid-template-columns: 1fr !important; }

  .fusion-portfolio-card { min-height: 180px !important; }
}

/* ========== ≤ 380px: ultra-small ========== */
@media (max-width: 380px) {
  body .site-header .brandmark span { font-size: 0.78rem !important; letter-spacing: 0.16em !important; }
  body .site-header .header-actions { gap: 10px !important; }
  .fusion-cover-2s .fusion-cover-title { font-size: 1.7rem !important; }
}
/* === end MOBILE === */




/* === hero media v2 (stage-level full-bleed, 2026-05-07) === === */
/* Stage-level full-bleed media (one per slide, fades in/out via .is-active) */
.fusion-cover-2s .fusion-cover-media-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 0 !important;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.9s ease, visibility 0s linear 0.9s;
  overflow: hidden;
}
.fusion-cover-2s .fusion-cover-media-bg.is-active {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.9s ease, visibility 0s linear 0s;
}
.fusion-cover-2s .fusion-cover-media-bg .fusion-cover-media {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Hide the original gradient figure when media is present (it would over-darken) */
.fusion-cover-2s .fusion-cover-figure { opacity: 0 !important; }
.fusion-cover-2s .fusion-cover-vignette { opacity: 0 !important; }

/* Single readability scrim — top edge subtle + bottom 45% darker for text */
.fusion-cover-2s .fusion-cover-stage .fusion-cover-media-scrim {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background: linear-gradient(to bottom, rgba(0,0,0,0.22) 0%, rgba(0,0,0,0) 32%, rgba(0,0,0,0) 50%, rgba(0,0,0,0.62) 100%) !important;
  pointer-events: none;
}

/* Inner text always readable on media — cream + soft shadow */
.fusion-cover-2s .fusion-cover-inner.has-media .fusion-cover-kicker,
.fusion-cover-2s .fusion-cover-inner.has-media .fusion-cover-title,
.fusion-cover-2s .fusion-cover-inner.has-media .fusion-cover-title em,
.fusion-cover-2s .fusion-cover-inner.has-media .fusion-cover-sublink {
  color: #f8efe7 !important;
  text-shadow: 0 1px 14px rgba(0,0,0,0.35);
}
.fusion-cover-2s .fusion-cover-inner.has-media .fusion-cover-sublink {
  border-bottom-color: rgba(248, 239, 231, 0.55) !important;
}
.fusion-cover-2s .fusion-cover-inner.has-media .fusion-cover-sublink:hover {
  color: #cf9d86 !important;
  border-bottom-color: #cf9d86 !important;
}

/* PREV/NEXT — luxe minimal text buttons (override browser/theme defaults) */
.fusion-cover-2s .fusion-cover-nav,
.fusion-cover-2s .fusion-cover-prev,
.fusion-cover-2s .fusion-cover-next {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  padding: 8px 4px !important;
  margin: 0 !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  font-family: 'Jost', 'Helvetica Neue', Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: rgba(248, 239, 231, 0.65) !important;
  cursor: pointer !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.3) !important;
  transition: color 0.3s ease !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.fusion-cover-2s .fusion-cover-nav:hover,
.fusion-cover-2s .fusion-cover-prev:hover,
.fusion-cover-2s .fusion-cover-next:hover {
  color: #f8efe7 !important;
  background: transparent !important;
}
.fusion-cover-2s .fusion-cover-nav:focus,
.fusion-cover-2s .fusion-cover-prev:focus,
.fusion-cover-2s .fusion-cover-next:focus {
  outline: none !important;
  box-shadow: none !important;
}

/* Header on homepage with media: cream text + soft shadow */
body.home:not(.is-scrolled) .site-header .brandmark,
body.home:not(.is-scrolled) .site-header .brandmark .glyph,
body.home:not(.is-scrolled) .site-header .brandmark span,
body.home:not(.is-scrolled) .site-header .nav-links a,
body.home:not(.is-scrolled) .site-header .nav-links .nav-trigger,
body.home:not(.is-scrolled) .site-header .nav-links .nav-item-mega .nav-trigger,
body.home:not(.is-scrolled) .site-header .fusion-icon-btn,
body.home:not(.is-scrolled) .site-header .fusion-header-text-link {
  color: #f8efe7 !important;
  text-shadow: 0 1px 12px rgba(0,0,0,0.35) !important;
}
/* === end hero media v2 === */


/* === hero 100vh + back-to-top (2026-05-08) === === */
/* Hero 100% viewport height (override original 92vh / 820px cap) */
body .fusion-cover.fusion-cover-2s {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  height: 100vh !important;
  height: 100dvh !important;
  padding: 0 !important;
}

/* Back to top floating button */
.ee-back-to-top {
  position: fixed !important;
  bottom: 24px !important;
  right: 24px !important;
  z-index: 90;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(21, 16, 22, 0.85);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #f8efe7;
  border: 1px solid rgba(248, 239, 231, 0.14);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  margin: 0;
  appearance: none;
  -webkit-appearance: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity 0.3s ease, visibility 0s linear 0.3s, transform 0.3s ease, background 0.25s ease, color 0.25s ease;
  box-shadow: 0 6px 20px rgba(0,0,0,0.18);
}
.ee-back-to-top.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 0.3s ease, visibility 0s linear 0s, transform 0.3s ease, background 0.25s ease;
}
.ee-back-to-top:hover {
  background: #6b3a3f;
  color: #f8efe7;
}
.ee-back-to-top:focus-visible {
  outline: 2px solid #cf9d86;
  outline-offset: 2px;
}
@media (max-width: 640px) {
  .ee-back-to-top { bottom: 18px !important; right: 18px !important; width: 38px; height: 38px; }
}
/* === end hero 100vh + back-to-top === */




/* === cat-rail JS-driven marquee CSS (2026-05-08 v3) === */
.fusion-cat-rail .container { overflow: hidden !important; }
.fusion-cat-rail-track.is-marquee-ready {
  display: flex !important;
  flex-wrap: nowrap !important;
  width: max-content !important;
  overflow: visible !important;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.fusion-cat-rail-track.is-marquee-ready .fusion-cat-card { flex-shrink: 0 !important; }

/* Show prev/next again */
.fusion-cat-rail-ctrls { display: flex !important; }

/* Hide scrollbar (no native scroll anymore) */
.fusion-cat-rail-track::-webkit-scrollbar { display: none; }
.fusion-cat-rail-track { scrollbar-width: none; }

@media (prefers-reduced-motion: reduce) {
  .fusion-cat-rail-track.is-marquee-ready { transform: none !important; transition: none !important; }
}
/* === end cat-rail v3 CSS === */


/* === stats + testimonial seamless bg (2026-05-08) === === */
/* Stats: kill the hairline borders that show as a 'gap stripe' */
body .fusion-stats-dark {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

/* Testimonial section: extend its dark bg to the section level so 
   stats↔testimonial transition is one continuous dark surface */
body .fusion-testimonial-section {
  background:
    radial-gradient(circle at 70% 40%, rgba(207, 157, 134, 0.18), transparent 32%),
    linear-gradient(140deg, #1a1218 0%, #120c10 100%) !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

/* Stats section: ensure no margin to next section */
body .fusion-stats-dark { margin: 0 !important; }

/* Body bg matches dark surface so any 1-2px paint gap blends */
body, html { background: #120c10 !important; }
/* === end seamless === */


/* === product card meta row (sold + rating) — 2026-05-08 === === */
.fusion-prod-meta-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 4px 2px 2px;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 0.75rem;
  color: rgba(33, 22, 27, 0.7);
  line-height: 1.2;
}
.fusion-prod-rating {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
}
.fusion-prod-rating .on { color: #6b3a3f; }
.fusion-prod-rating .off { color: rgba(33, 22, 27, 0.18); }
.fusion-prod-rating small {
  font-family: 'Inter', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  color: rgba(33, 22, 27, 0.6);
  letter-spacing: 0.02em;
  margin-left: 2px;
}
.fusion-prod-sold {
  font-family: 'Jost', sans-serif;
  font-size: 0.66rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(33, 22, 27, 0.55);
}
.fusion-prod-sep {
  color: rgba(33, 22, 27, 0.25);
  font-size: 0.7rem;
}

/* Make swatches show on simple products too (when no variations to switch image) */
.fusion-prod-card-wrap .fusion-prod-swatches {
  margin-top: 8px;
}
/* === end product card meta row === */
