/* 2026-09-05 owner review corrections.
 * This file intentionally loads after client-review-corrections.css and
 * normalizes shared geometry rather than adding route-specific one-offs. */

:root {
  --mfv-owner-shell: min(92vw, 1440px);
  --mfv-owner-line: #ded8d2;
  --mfv-owner-ink: #111;
  --mfv-owner-panel: #111;
}

/* One visible content width for the global header, shared banners, newsletter,
 * Instagram, trust/prefooter and editorial modules. Outer section backgrounds
 * may still bleed to the viewport, but their content must align. */
.ct-header .ct-container,
.mfv-shell,
.mfv-home-finder-band,
html body .mfv-vc-newsletter__inner,
html body.single-product .mfv-vc-newsletter__inner,
body.single-product .mfv-vc-newsletter__inner,
.mfv-vc-newsletter__inner,
.mfv-vc-newsletter .mfv-vc-newsletter__inner,
.mfv-instagram-feed__inner,
.mfv-global-prefooter__grid,
.mfv-trust-strip > .mfv-shell,
.mfv-vc-wide-cta,
.mfv-ref-wide-cta,
.mfv-vc-story,
.mfv-ref-story,
.mfv-vc-editorial-checklist,
.mfv-ref-editorial-split {
  width: var(--mfv-owner-shell) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

/* Header columns stay inside the same shell instead of stretching Search and
 * Cart to the viewport edges. */
.ct-header [data-row="middle"] .ct-container,
.ct-header [data-row="bottom"] .ct-container {
  width: var(--mfv-owner-shell) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
}
.ct-header [data-row="middle"] [data-column="start"],
.ct-header [data-row="middle"] [data-column="end"] {
  min-width: 0 !important;
  max-width: 360px !important;
}
.ct-header [data-row="middle"] [data-column="end"] {
  justify-content: flex-end !important;
}
.ct-header [data-row="middle"] .ct-header-search {
  width: min(100%, 320px) !important;
  max-width: 320px !important;
}

/* Native WordPress menu hierarchy is the only dropdown system. Remove any
 * historical review toggle if stale markup survives a cache and use regular,
 * equal menu gaps. */
.mfv-collections-toggle,
.mfv-client-collections-submenu {
  display: none !important;
}
@media (min-width: 1000px) {
  .ct-header [data-row="bottom"] nav > ul {
    width: auto !important;
    max-width: none !important;
    margin-inline: auto !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: clamp(24px, 2.4vw, 46px) !important;
  }
  .ct-header [data-row="bottom"] nav > ul > li {
    flex: 0 0 auto !important;
    margin: 0 !important;
    position: relative !important;
  }
  .ct-header [data-row="bottom"] nav > ul > li > a {
    padding-inline: 0 !important;
  }
  .ct-header [data-row="bottom"] nav > ul > li:hover > ul.sub-menu,
  .ct-header [data-row="bottom"] nav > ul > li:focus-within > ul.sub-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    display: block !important;
  }
}

/* Brand is a real home affordance. */
.ct-header .site-branding,
.ct-header .site-logo-container,
.ct-header [data-id="logo"],
.ct-header .site-branding a,
.ct-header .site-logo-container a {
  cursor: pointer !important;
  pointer-events: auto !important;
}

/* Mobile off-canvas: utility controls and the native WordPress menu must retain
 * readable contrast against Blocksy's dark panel. */
.ct-panel .mfv-mobile-utilities,
#offcanvas .mfv-mobile-utilities {
  color: #fff !important;
  border-color: rgba(255,255,255,.22) !important;
}
.ct-panel .mfv-mobile-utility-links a,
#offcanvas .mfv-mobile-utility-links a {
  color: #fff !important;
  border-color: rgba(255,255,255,.55) !important;
  background: transparent !important;
}
.ct-panel .mfv-mobile-utility-links a:hover,
.ct-panel .mfv-mobile-utility-links a:focus-visible,
#offcanvas .mfv-mobile-utility-links a:hover,
#offcanvas .mfv-mobile-utility-links a:focus-visible {
  color: #111 !important;
  background: #fff !important;
}
.ct-panel .mobile-menu a,
.ct-panel .menu-item > a,
#offcanvas .mobile-menu a,
#offcanvas .menu-item > a {
  color: #fff !important;
}
.ct-panel .sub-menu,
#offcanvas .sub-menu {
  background: transparent !important;
}
.ct-panel .sub-menu a,
#offcanvas .sub-menu a {
  color: #f6f2ee !important;
}

/* Quantity: Blocksy owns the visual minus/plus glyphs. The center value remains
 * visible, while JS removes legacy text glyphs that doubled the pseudo-icons. */
.single-product .summary .quantity,
.woocommerce .quantity {
  width: 164px !important;
  min-width: 164px !important;
  max-width: 164px !important;
  display: grid !important;
  grid-template-columns: 52px 60px 52px !important;
  align-items: center !important;
  justify-items: center !important;
  direction: ltr !important;
}
html body.single-product .summary .quantity[data-type="type-2"] {
  display: grid !important;
  direction: ltr !important;
}
.single-product .summary .quantity input.qty,
.woocommerce .quantity input.qty {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 60px !important;
  min-width: 60px !important;
  max-width: 60px !important;
  margin: 0 !important;
}
.single-product .summary .quantity .ct-decrease,
.woocommerce .quantity .ct-decrease,
.single-product .summary .quantity .ct-increase,
.woocommerce .quantity .ct-increase {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  width: 48px !important;
  min-width: 48px !important;
  height: 48px !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
}
.single-product .summary .quantity .ct-decrease,
.woocommerce .quantity .ct-decrease {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.single-product .summary .quantity .ct-increase,
.woocommerce .quantity .ct-increase {
  grid-column: 3 !important;
  grid-row: 1 !important;
}
.single-product .summary .quantity .ct-decrease::before,
.woocommerce .quantity .ct-decrease::before {
  content: "−" !important;
  font-family: inherit !important;
}
.single-product .summary .quantity .ct-increase::before,
.woocommerce .quantity .ct-increase::before {
  content: "+" !important;
  font-family: inherit !important;
}

/* Shared lower modules align to one inner shell on every page. */
.mfv-help-strip,
.mfv-vc-newsletter,
.mfv-instagram-feed {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.mfv-vc-newsletter__inner,
.mfv-vc-newsletter .mfv-vc-newsletter__inner {
  max-width: 1440px !important;
}
.mfv-vc-newsletter__form {
  max-width: 760px !important;
}

/* Discovery had an additional route-specific dark Find Your Scent CTA in
 * addition to the canonical shared Finder band. Hide the duplicate so Product,
 * Discovery and other routes expose one repeatable responsive component. */
.mfv-vc-page--discovery > .mfv-vc-wide-cta,
.mfv-ref-page--discovery > .mfv-ref-wide-cta {
  display: none !important;
}

/* Finder progress: three equal, centered steps at every supported viewport. */
.mfv-vc-finder-progress-bar,
.mfv-vc-finder-progress .mfv-vc-finder-progress-bar,
ol.mfv-vc-finder-progress-bar {
  width: min(92vw, 760px) !important;
  max-width: 760px !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
.mfv-vc-finder-progress-bar li,
ol.mfv-vc-finder-progress-bar li {
  min-width: 0 !important;
  min-height: 56px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  text-align: center !important;
  writing-mode: horizontal-tb !important;
}

/* Finder recommendations: show all three recommendations without a cropped
 * horizontal rail. The selection summary sits above one responsive product
 * grid so every result is visible and reachable. */
.mfv-vc-finder-results {
  display: block !important;
  width: var(--mfv-owner-shell) !important;
  max-width: 1440px !important;
  margin-inline: auto !important;
  overflow: visible !important;
}
.mfv-vc-finder-results__intro {
  max-width: 760px !important;
}
.mfv-vc-finder-results__products {
  width: 100% !important;
  margin-top: 28px !important;
  overflow: visible !important;
}
.mfv-vc-finder-results__products > .mfv-vc-tiles,
.mfv-finder-result-rail {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  overflow: visible !important;
  padding: 0 !important;
  scroll-snap-type: none !important;
}
.mfv-finder-results-product {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: initial !important;
}
.mfv-finder-rail-controls {
  display: none !important;
}

/* Collections is a real populated landing page, not a sparse placeholder. */
.mfv-collections-page {
  padding-top: clamp(40px, 5vw, 70px) !important;
}
.mfv-collections-grid {
  margin-bottom: 44px !important;
}
.mfv-collections-products {
  padding: 34px 0 !important;
  border-top: 1px solid var(--mfv-owner-line) !important;
}
.mfv-collections-products__head {
  display: flex !important;
  align-items: end !important;
  justify-content: space-between !important;
  gap: 18px !important;
  margin-bottom: 20px !important;
}
.mfv-collections-products__head h2 {
  margin: 0 !important;
  font-size: clamp(1.5rem, 2.4vw, 2.25rem) !important;
}
.mfv-collections-products__head a {
  color: #111 !important;
  font-size: .75rem !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
}

@media (max-width: 999px) {
  :root { --mfv-owner-shell: min(92vw, 720px); }

  .ct-header .ct-container,
  .ct-header [data-row="middle"] .ct-container,
  .ct-header [data-row="bottom"] .ct-container,
  .mfv-shell,
  .mfv-home-finder-band,
  .mfv-vc-newsletter__inner,
  .mfv-instagram-feed__inner,
  .mfv-global-prefooter__grid {
    width: var(--mfv-owner-shell) !important;
  }

  .mfv-vc-finder-results__products > .mfv-vc-tiles,
  .mfv-finder-result-rail {
    grid-template-columns: 1fr !important;
  }

  .single-product .summary .quantity,
  .woocommerce .quantity {
    width: 156px !important;
    min-width: 156px !important;
    max-width: 156px !important;
    grid-template-columns: 48px 60px 48px !important;
  }
}

@media (max-width: 560px) {
  .mfv-vc-finder-progress-bar,
  ol.mfv-vc-finder-progress-bar {
    width: 100% !important;
    gap: 6px !important;
  }
  .mfv-vc-finder-progress-bar li,
  ol.mfv-vc-finder-progress-bar li {
    min-height: 64px !important;
    padding: 7px 4px !important;
    flex-direction: column !important;
    gap: 4px !important;
    font-size: .62rem !important;
  }
  .mfv-mobile-utility-links {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .mfv-mobile-utility-links a {
    min-width: 0 !important;
    padding-inline: 5px !important;
    font-size: .64rem !important;
  }
}
