
@font-face {
  font-family: "Crimson Pro";
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/CrimsonPro/crimson-pro-latin-400-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Crimson Pro";
  font-style: italic;
  font-display: swap;
  font-weight: 400;
  src: url("../fonts/CrimsonPro/crimson-pro-latin-400-italic.woff2") format("woff2");
}

@font-face {
  font-family: "Crimson Pro";
  font-style: normal;
  font-display: swap;
  font-weight: 500;
  src: url("../fonts/CrimsonPro/crimson-pro-latin-500-normal.woff2") format("woff2");
}

@font-face {
  font-family: "Crimson Pro";
  font-style: normal;
  font-display: swap;
  font-weight: 600;
  src: url("../fonts/CrimsonPro/crimson-pro-latin-600-normal.woff2") format("woff2");
}

:root {
  --manta-ink: #242321;
  --manta-muted: #6f6a66;
  --manta-paper: #fbf9f6;
  --manta-header: #fffdfb;
  --manta-cream: #f1ece5;
  --manta-accent: #b8a293;
  --manta-accent-soft: #e4dcd4;
  --manta-accent-deep: #7f6f63;
  --manta-panel-soft: #e8e0d8;
  --manta-colour-splash: #d4edff;
  --manta-announcement: #ddd5cc;
  --manta-announcement-ink: var(--manta-ink);
  --manta-announcement-symbol: var(--manta-accent-deep);
  --manta-campaign: #ded6cc;
  --manta-campaign-copy: #ece5dc;
  --manta-review: #e6ddd3;
  --manta-line: rgba(36, 35, 33, 0.14);
  
  --manta-serene-green: rgba(170,208,183,1);
  --manta-blush-pink: rgba(249,211,200,1);
  --manta-true-black: rgba(0,0,0,1);
  --manta-classic-burgundy: rgba(154,13,62,1);
  --manta-pearl-white: rgba(255,255,255,1);
  --manta-ocean-blue: rgba(66,85,991,1);
  --manta-cool-grey: rgba(160,159,157,1);
  --manta-amber-orange: #bf4f17;
  --manta-soft-teal: rgba(23,92,112,1);
  --manta-velvet-mocha: rgba(131,107,98,1);
  
  --manta-font-serif: "Crimson Pro", Georgia, serif;
  --manta-font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --manta-font-accent-style: italic;
  --font-heading: var(--manta-font-serif);
  
  --manta-page-width: 1320px;
  --manta-marquee-duration: 36s;
  --manta-header-offset-compact: 102px;
  --manta-header-offset-desktop: 114px;
}

#fkcart-modal,
#fkcart-modal * {
  font-family: var(--manta-font-sans) !important;
}

.plyr {
  font-family: var(--manta-font-sans);
}

body {
  font-family: var(--manta-font-sans);
  font-weight: 400;
  letter-spacing: normal;
}

.manta-v2,
.manta-v2 *,
.header-fixed,
.header-fixed * {
  box-sizing: border-box;
}

/* The header is in normal flow below 1024px and fixed above that breakpoint. */
.site-padding-top {
  padding-top: 0;
}

@media (min-width: 1024px) and (max-width: 1199.98px) {
  .site-padding-top {
    padding-top: var(--manta-header-offset-compact);
  }
}

@media (min-width: 1200px) {
  .site-padding-top {
    padding-top: var(--manta-header-offset-desktop);
  }
}

@media (min-width: 768px) {
  body.page-template-contact section.product-hero {
    height: auto;
    min-height: 320px;
    padding: 24px 0 40px;
  }

  body.page-template-contact section.product-hero .hero-content {
    padding: 0;
  }
}

/* Replace the retired script face while preserving its italic accent role. */
.font-serif {
  font-family: var(--manta-font-serif) !important;
  font-style: var(--manta-font-accent-style) !important;
}

/* Legacy components that used the retired script face without .font-serif. */
.number-card__number,
.number-card__heading,
.feedback__number,
.feedback__info,
.pulse-hero__subheading,
.queens-banner__heading,
.queens-banner__subheading,
.sage-banner__title,
.shop-title,
.shop-hero__heading,
.main-product__heading,
.innovating__heading,
.hero-banner__title,
.banner__title,
.banner__name {
  font-style: var(--manta-font-accent-style);
}

/* Opt-in scope for redesigned templates and components. */
.manta-v2 {
  color: var(--manta-ink);
  background-color: var(--manta-paper);
  font-family: var(--manta-font-sans);
  font-weight: 400;
  letter-spacing: normal;
}

.manta-v2 .manta-heading,
.manta-v2 .manta-serif {
  font-family: var(--manta-font-serif);
}

.manta-v2 .manta-heading {
  font-weight: 400;
}

/* The announcement remains ACF-driven; only its presentation is replaced. */
.header-shipping.manta-announcement,
.header-shipping.manta-announcement .header-shipping-content {
  background-color: var(--manta-announcement);
}

.manta-marquee {
  width: 100%;
  height: 32px;
  overflow: hidden;
  color: var(--manta-announcement-ink);
  white-space: nowrap;
}

.manta-marquee__track {
  display: flex;
  width: max-content;
  min-width: 100%;
  height: 100%;
  overflow: visible;
  align-items: center;
  animation: manta-marquee-move var(--manta-marquee-duration) linear infinite;
  will-change: transform;
}

.manta-marquee .manta-marquee__group {
  display: flex;
  flex: none;
  align-items: center;
  margin: 0;
  animation: none;
  font-style: normal !important;
}

.manta-marquee__item {
  display: inline-flex;
  align-items: center;
  color: var(--manta-announcement-ink);
  font-family: var(--manta-font-sans);
  font-size: 9px;
  font-style: normal !important;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.manta-marquee__item::before {
  padding-inline: 18px;
  color: var(--manta-announcement-symbol);
  content: "\279d";
}

.manta-marquee__item a {
  color: inherit;
  text-decoration: none;
}

.manta-marquee__item a:hover,
.manta-marquee__item a:focus-visible {
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Retain the WordPress/FunnelKit header structure while matching the approved shell. */
.header-fixed.header-fixed {
  border-bottom: 0;
  background: rgba(255, 253, 251, 0.96) !important;
  color: var(--manta-ink);
  font-family: var(--manta-font-sans);
  font-weight: 400;
  letter-spacing: normal;
  box-shadow: inset 0 -1px rgba(36, 35, 33, 0.09);
  backdrop-filter: blur(14px);
}

.header-fixed .header-shipping {
  margin-bottom: 0;
}

@media (min-width: 1200px) {
  #header > .container {
    width: min(1460px, calc(100% - 72px)) !important;
    max-width: none !important;
    height: 82px;
    margin-inline: auto !important;
    padding-inline: 0 !important;
    border-bottom: 0;
  }

  #header .header-grid {
    height: 100%;
    display: grid;
    grid-template-columns: 102px minmax(0, 1fr) 140px;
    align-items: center;
    gap: 28px;
  }

  #header .header-grid-left,
  #header .header-grid-middle,
  #header .header-grid-right {
    min-width: 0;
    grid-column: auto;
  }

  #header .header-grid-left {
    height: 100%;
    display: flex;
    align-items: center;
  }

  #header .header-grid-left .logo__link {
    width: 102px;
    height: 100%;
    display: flex;
    align-items: center;
  }

  #header .header-grid-left .logo {
    width: 92px;
    height: 60px;
    display: block;
    object-fit: contain;
  }

  #header .header-grid-middle,
  #header #main-menu,
  #header .navbar-container,
  #header .navbar-nav {
    height: 100%;
  }

  #header #main-menu,
  #header .navbar-container {
    width: 100%;
  }

  #header .navbar-container {
    justify-content: center;
  }

  #header .navbar-nav {
    margin: 0 !important;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap !important;
    gap: clamp(22px, 3vw, 50px);
  }

  #header #main-menu .navbar-nav > .nav-item {
    height: 100%;
    margin: 0;
    padding: 0;
  }

  #header #main-menu .navbar-nav > .nav-item > .nav-link {
    height: 100%;
    margin: 0 !important;
    padding: 10px 0 !important;
    display: flex;
    position: relative;
    align-items: center;
    color: var(--manta-ink);
    font: 400 11px/1.2 var(--manta-font-sans);
    letter-spacing: 0.1em;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
  }

  #header #main-menu .navbar-nav > .nav-item > .nav-link::after {
    height: 1px;
    position: absolute;
    right: 100%;
    bottom: 17px;
    left: 0;
    background: var(--manta-accent-deep);
    content: "";
    transition: right 0.22s ease;
  }

  #header #main-menu .navbar-nav > .nav-item > .nav-link:hover::after,
  #header #main-menu .navbar-nav > .nav-item > .nav-link:focus-visible::after,
  #header #main-menu .navbar-nav > .current-menu-item > .nav-link::after {
    right: 0;
  }

  #header #main-menu .manta-mega-trigger,
  #header #main-menu .nav-bold > .nav-link,
  #header #main-menu .navbar-nav > .nav-item:last-child > .nav-link {
    font-weight: 700;
  }

  #header .header-grid-right {
    width: 140px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
  }
}

@media (max-width: 1199.98px) {
  #header > .container {
    min-height: 70px;
    border-bottom: 1px solid var(--manta-line);
  }

  #header .header-grid {
    min-height: 70px;
    align-items: center;
  }

  #header .header-grid-mobile .navbar-brand {
    top: 0;
    padding-block: 8px;
  }

  #header .header-grid-mobile .logo {
    max-height: 50px;
    object-fit: contain;
  }
}

@media (max-width: 767px) {
  .manta-marquee {
    height: 30px;
  }

  .manta-marquee__track {
    animation-duration: 30s;
  }

  .manta-marquee__item {
    font-size: 7px;
    letter-spacing: 0.08em;
  }

  .manta-marquee__item::before {
    padding-inline: 11px;
  }
}

@keyframes manta-marquee-move {
  to {
    transform: translateX(-25%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .manta-marquee__track {
    animation: none;
    transform: none;
    will-change: auto;
  }

  .manta-marquee__group[aria-hidden="true"] {
    display: none;
  }
}

/* Main navigation */
#header .manta-navigation { height: 100%; }
#header .manta-navigation ul { list-style: none; margin: 0; padding: 0; }
#header .manta-navigation li { margin: 0; padding: 0; float: none; }
#header .manta-navigation__children { display: block; }
#header .manta-navigation__panel { opacity: 0; visibility: hidden; pointer-events: none; transform: translateY(-10px); transition: opacity .24s ease, transform .24s ease, visibility 0s linear .24s; }
#header .manta-navigation__item.is-open > .manta-navigation__panel { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: opacity .24s ease, transform .24s ease, visibility 0s; }
#header .manta-navigation__children-shell { display: grid; grid-template-rows: 0fr; opacity: 0; visibility: hidden; pointer-events: none; transition: grid-template-rows .26s ease, opacity .22s ease, visibility 0s linear .26s; }
#header .manta-navigation__item.is-open > .manta-navigation__children-shell { grid-template-rows: 1fr; opacity: 1; visibility: visible; pointer-events: auto; transition: grid-template-rows .26s ease, opacity .22s ease, visibility 0s; }
#header .manta-navigation__children-inner { min-height: 0; overflow: hidden; }
#header .manta-navigation [hidden] { display: none !important; }
#header .manta-navigation__row { display: flex; align-items: center; gap: 4px; }
#header .manta-navigation a, #header .manta-navigation button { color: var(--manta-ink); text-decoration: none; letter-spacing: .02em; }
#header .manta-navigation button { background: transparent; border: 0; box-shadow: none; border-radius: 0; text-transform: none; color: var(--manta-ink) !important; }
#header .manta-navigation__link { display: block; min-width: 0; padding: 7px 0; font: 400 12px/1.4 var(--manta-font-sans); text-align: left; }
#header .nav-bold > .manta-navigation__row > .manta-navigation__link { font-weight: 700; }
#header .nav-bold-accent > .manta-navigation__row > .manta-navigation__link { font-weight: 900; color: var(--manta-accent-deep);}
#header .manta-navigation__description { display: none; margin-top: 4px; font: italic 400 12px/1.4 var(--manta-font-serif); }
#header .manta-navigation__toggle { flex: 0 0 44px; width: 44px; height: 44px; padding: 14px; }
#header .manta-navigation__chevron { display: inline-block; width: 7px; height: 7px; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg); transition: transform .26s ease; }
#header [aria-expanded="true"] > .manta-navigation__chevron { transform: rotate(225deg); }
#header .manta-navigation__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; }
#header .manta-navigation a:hover, #header .manta-navigation a.is-previewed { color: var(--manta-accent-deep); }
#header .manta-navigation a:focus-visible, #header .manta-navigation button:focus-visible { outline: 2px solid var(--manta-accent-deep); outline-offset: 3px; }
#header .manta-navigation .new-banner > .manta-navigation__row > .manta-navigation__link::before { content: 'NEW'; display: inline-block; flex: none; margin-right: 6px; padding: 2px 4px; border-radius: 3px; color: #fff; background: var(--manta-amber-orange, #bf4f17); font: 700 9px/1.3 var(--manta-font-sans); letter-spacing: .05em; vertical-align: top; transform: rotate(-5deg); }
#header .manta-navigation__preview { min-width: 0; min-height: 260px; overflow: hidden; background: var(--manta-panel-soft); display: grid; grid-template-columns: 1fr; }
#header .manta-navigation__preview.has-image { grid-template-columns: minmax(0, 1fr) 210px; }
#header .manta-navigation__preview-copy { display: flex; flex-direction: column; padding: 32px 24px 28px 34px; }
#header .manta-navigation__preview-eyebrow { color: var(--manta-muted); font: 700 9px/1.2 var(--manta-font-sans); letter-spacing: .17em; text-transform: uppercase; }
#header .manta-navigation__preview strong { margin: 13px 0 11px; font: 400 30px/1.02 var(--manta-font-serif); letter-spacing: -.02em; }
#header .manta-navigation__preview [data-preview-description] { max-width: 310px; margin-bottom: 24px; color: var(--manta-muted); font: 400 12px/1.45 var(--manta-font-serif); }
#header .manta-navigation__preview.is-product [data-preview-description] { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
#header .manta-navigation__preview small { margin-top: auto; font: 700 10px/1.3 var(--manta-font-sans); text-transform: uppercase; }
#header .manta-navigation__preview img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; object-position: center top; }
#header .manta-navigation__preview.is-product img { object-fit: contain; padding: 14px; }
#header .manta-navigation__mobile-toggle { min-width: 62px; height: 44px; padding: 0; align-items: center; justify-content: flex-end; gap: 6px; }
#header .manta-navigation__mobile-toggle > span { font: 700 8px/1 var(--manta-font-sans); letter-spacing: .1em; text-transform: uppercase; }
#header .manta-navigation__mobile-toggle i { position: relative; width: 18px; height: 14px; }
#header .manta-navigation__mobile-toggle i span { position: absolute; right: 0; top: 4px; width: 18px; height: 1px; background: var(--manta-ink); transition: transform .2s, top .2s; }
#header .manta-navigation__mobile-toggle i span:last-child { top: 10px; }
#header .manta-navigation__mobile-toggle[aria-expanded="true"] i span { top: 7px; transform: rotate(45deg); }
#header .manta-navigation__mobile-toggle[aria-expanded="true"] i span:last-child { transform: rotate(-45deg); }
#header .manta-navigation__backdrop { display: none; }

@media (min-width: 1200px) {
  #header .manta-navigation__mobile-toggle, #header .header-grid-mobile { display: none; }
  #header > .container, #header .header-grid, #header .header-grid-middle, #header .manta-navigation__list > li { position: static; }
  #header .manta-navigation__links, #header .manta-navigation__list, #header .manta-navigation__list > li, #header .manta-navigation__list > li > .manta-navigation__row { height: 100%; }
  #header .manta-navigation__list { display: flex; align-items: center; justify-content: center; gap: clamp(22px, 3vw, 50px); }
  #header .manta-navigation__list > li { display: block !important; }
  #header .manta-navigation__list > li > .manta-navigation__row > .manta-navigation__link { position: relative; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; }
  #header .manta-navigation__list > li > .manta-navigation__row > .manta-navigation__link::after { content: ''; position: absolute; left: 0; right: 100%; bottom: 3px; height: 1px; background: var(--manta-accent-deep); transition: right .22s; }
  #header .manta-navigation__list > li > .manta-navigation__row > .manta-navigation__link:hover::after { right: 0; }
  #header .manta-navigation__list > li > .manta-navigation__row > .manta-navigation__toggle { width: 24px; flex-basis: 24px; padding: 7px; display: flex; align-items: center; justify-content: center; }
  #header .manta-navigation__list > li > .manta-navigation__row > .manta-navigation__toggle > .manta-navigation__chevron { transform: translateY(-2px) rotate(45deg); }
  #header .manta-navigation__list > li > .manta-navigation__row > .manta-navigation__toggle[aria-expanded="true"] > .manta-navigation__chevron { transform: translateY(2px) rotate(225deg); }
  #header .manta-navigation__panel { position: absolute; z-index: 60; top: 100%; left: 0; right: 0; background: var(--manta-paper); border-top: 1px solid var(--manta-line); box-shadow: 0 24px 50px rgb(0 0 0 / 12%); max-height: calc(100vh - 130px); overflow-y: auto; }
  #header .manta-navigation__children-shell { grid-template-rows: 1fr; opacity: 1; visibility: visible; pointer-events: auto; transition: none; }
  #header .manta-navigation__panel-inner { width: min(1460px, calc(100% - 72px)); margin: auto; padding: 28px 0 34px; }
  #header .manta-navigation__panel.has-preview .manta-navigation__panel-inner { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.5fr); gap: 46px; align-items: start; }
  #header .manta-navigation__columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 34px; align-items: start; padding-top: 4px; }
  #header .manta-navigation__columns > li > .manta-navigation__row { margin-bottom: 6px; }
  #header .manta-navigation__columns > .manta-navigation__branch > .manta-navigation__row > .manta-navigation__link { color: var(--manta-muted) !important; font: 700 9px/1.2 var(--manta-font-sans); letter-spacing: .17em; text-transform: uppercase; }
  #header .manta-navigation__columns .manta-navigation__toggle, #header .manta-navigation__columns .manta-navigation__chevron { display: none; }
  #header .manta-navigation__children .manta-navigation__children { padding-left: 16px; }
}

@media (max-width: 1199.98px) {
  body.manta-navigation-open { overflow: hidden; }
  body.manta-navigation-open #header { position: fixed !important; top: var(--manta-admin-offset, 0px); left: 0; right: 0; }
  #header > .container { height: 70px; }
  #header > .container, #header .header-grid, #header .header-grid-middle { position: static; }
  #header .header-grid { height: 70px; display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; }
  #header .header-grid-left { display: none; }
  #header .header-grid-middle { grid-column: 3; grid-row: 1; justify-self: end; }
  #header .header-grid-mobile { grid-column: 1; grid-row: 1; display: flex; align-items: center; justify-content: flex-start; }
  #header .header-grid-mobile .navbar-brand { position: static; margin: 0; }
  #header .header-grid-right { grid-column: 2; grid-row: 1; justify-self: end; align-self: center; }
  #header .manta-navigation__mobile-toggle { display: flex; }
  #header .manta-navigation__backdrop { display: block; position: absolute; z-index: 1; top: 100%; left: 0; width: 100%; height: calc(100dvh - var(--manta-navigation-top, 100px)); background: rgb(20 20 19 / 28%); padding: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .26s ease, visibility 0s linear .26s; }
  #header .manta-navigation.is-mobile-open .manta-navigation__backdrop { opacity: 1; visibility: visible; pointer-events: auto; transition: opacity .26s ease, visibility 0s; }
  #header .manta-navigation__links { position: absolute; z-index: 2; top: 100%; right: 0; width: min(92vw, 430px); height: calc(100vh - var(--manta-navigation-top, 100px)); height: calc(100dvh - var(--manta-navigation-top, 100px)); overflow-y: auto; overscroll-behavior: contain; padding: 19px 18px 24px; padding-bottom: max(24px, env(safe-area-inset-bottom)); background: var(--manta-paper); box-shadow: -22px 24px 48px rgb(0 0 0 / 14%); opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(18px); transition: opacity .26s ease, transform .26s ease, visibility 0s linear .26s; }
  #header .manta-navigation.is-mobile-open .manta-navigation__links { opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: opacity .26s ease, transform .26s ease, visibility 0s; }
  #header .manta-navigation__list { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
  #header .manta-navigation__list > li { display: block !important; min-width: 0; }
  #header .manta-navigation__list > .manta-navigation__branch { grid-column: 1 / -1; }
  #header .manta-navigation__list > li:not(.manta-navigation__branch) > .manta-navigation__row { height: 100%; border-radius: 8px; background: var(--manta-cream); }
  #header .manta-navigation__list > li:not(.manta-navigation__branch) .manta-navigation__link { width: 100%; min-height: 42px; display: flex; align-items: center; justify-content: center; padding: 8px 12px; font: 700 10px/1.3 var(--manta-font-sans); letter-spacing: .05em; text-transform: uppercase; text-align: center; }
  #header .manta-navigation__columns { display: block; }
  #header .manta-navigation__row > .manta-navigation__link { flex: 1; min-height: 44px; padding: 7px 0; font: 500 17px/1.1 var(--manta-font-serif); }
  #header .manta-navigation__branch > .manta-navigation__row > .manta-navigation__link { color: var(--manta-muted) !important; font: 700 9px/1.3 var(--manta-font-sans); letter-spacing: .15em; text-transform: uppercase; }
  #header .manta-navigation__columns > .manta-navigation__branch + .manta-navigation__branch { margin-top: 24px; }
  #header .manta-navigation__columns > .manta-navigation__branch > .manta-navigation__row { position: relative; }
  #header .manta-navigation__columns > .manta-navigation__branch > .manta-navigation__row > .manta-navigation__link { display: flex; align-items: center; font-weight: 700 !important; }
  #header .manta-navigation__columns > .manta-navigation__branch > .manta-navigation__row > .manta-navigation__heading { padding-right: 44px; }
  #header .manta-navigation__columns > .manta-navigation__branch > .manta-navigation__row > .manta-navigation__toggle { display: flex; align-items: center; justify-content: center; padding: 0; }
  #header .manta-navigation__columns > .manta-navigation__branch > .manta-navigation__row .manta-navigation__chevron { position: absolute; top: 50%; right: 18px; margin-top: -3.5px; transform: translateY(-2px) rotate(45deg); }
  #header .manta-navigation__columns > .manta-navigation__branch > .manta-navigation__row [aria-expanded="true"] > .manta-navigation__chevron { transform: translateY(2px) rotate(225deg); }
  #header .manta-navigation__children > li > .manta-navigation__row { border-bottom: 1px solid var(--manta-line); }
  #header .manta-navigation__children > li:not(.manta-navigation__branch) > .manta-navigation__row > .manta-navigation__link { display: flex; align-items: center; justify-content: space-between; padding-right: 14px; }
  #header .manta-navigation__children > li:not(.manta-navigation__branch) > .manta-navigation__row > .manta-navigation__link::after { content: '\2192'; flex: 0 0 auto; margin-left: 8px; color: var(--manta-muted); }
  #header .manta-navigation__children > li.new-banner:not(.manta-navigation__branch) > .manta-navigation__row > .manta-navigation__link { justify-content: flex-start; }
  #header .manta-navigation__children > li.new-banner:not(.manta-navigation__branch) > .manta-navigation__row > .manta-navigation__link::after { margin-left: auto; }
  #header .manta-navigation__children { padding-bottom: 12px; }
  #header .manta-navigation__children .manta-navigation__children { padding-left: 12px; }
  #header .manta-navigation__panel-inner { display: flex; flex-direction: column; }
  #header .manta-navigation__panel { display: grid; grid-template-rows: 0fr; overflow: hidden; transform: none; transition: grid-template-rows .26s ease, opacity .22s ease, visibility 0s linear .26s; }
  #header .manta-navigation__item.is-open > .manta-navigation__panel { grid-template-rows: 1fr; transition: grid-template-rows .26s ease, opacity .22s ease, visibility 0s; }
  #header .manta-navigation__panel-inner { min-height: 0; overflow: hidden; }
  #header .manta-navigation__preview { order: 2; margin: 12px 0 16px; min-height: 124px; border-radius: 9px; background: var(--manta-panel-soft); }
  #header .manta-navigation__preview.has-image { grid-template-columns: 42% minmax(0, 1fr); }
  #header .manta-navigation__preview-copy { padding: 12px; justify-content: center; }
  #header .manta-navigation__preview-eyebrow { display: none; }
  #header .manta-navigation__preview strong { margin: 0; font: 500 17px/1.02 var(--manta-font-serif); }
  #header .manta-navigation__preview [data-preview-description] { margin: 6px 0 0; font: 400 10px/1.35 var(--manta-font-serif); }
  #header .manta-navigation__preview.is-product [data-preview-description] { -webkit-line-clamp: 3; }
  #header .manta-navigation__preview small { margin-top: 9px; font-size: 7px; letter-spacing: .08em; }
  #header .manta-navigation__preview img { order: -1; min-height: 124px; }
  #header .manta-navigation__preview.is-product img { padding: 8px; }
}

/* Keep links available if JavaScript is unavailable. */
#header .manta-navigation:not(.is-ready) [hidden] { display: block !important; }
#header .manta-navigation:not(.is-ready) .manta-navigation__preview, #header .manta-navigation:not(.is-ready) .manta-navigation__backdrop { display: none !important; }
#header .manta-navigation:not(.is-ready) .manta-navigation__panel { position: static; }
#header .manta-navigation:not(.is-ready) .manta-navigation__panel, #header .manta-navigation:not(.is-ready) .manta-navigation__children-shell { grid-template-rows: 1fr; overflow: visible; opacity: 1; visibility: visible; pointer-events: auto; transform: none; transition: none; }
#header .manta-navigation:not(.is-ready) .manta-navigation__panel-inner, #header .manta-navigation:not(.is-ready) .manta-navigation__children-inner { overflow: visible; }
#header .manta-navigation:not(.is-ready) .manta-navigation__links { opacity: 1; visibility: visible; pointer-events: auto; transform: none; }
#header .manta-navigation:not(.is-ready) button { display: none; }
#header .manta-navigation:not(.is-ready) .manta-navigation__heading { display: block; }
@media (prefers-reduced-motion: reduce) {
  #header .manta-navigation *, #header .manta-navigation *::after { transition: none !important; }
}

/* The mobile Shop pill mirrors the parent link in Appearance > Menus. */
#header .manta-navigation__mobile-shop-slot { display: none; }
@media (max-width: 1199.98px) {
  #header .header-grid { grid-template-columns: minmax(0, 1fr) auto auto auto; gap: clamp(12px, 3vw, 16px); }
  #header .header-grid-mobile { grid-column: 1; min-width: 0; }
  #header .manta-navigation__mobile-shop-slot:not(:empty) { display: flex; grid-column: 2; grid-row: 1; align-items: center; justify-content: center; }
  #header .header-grid-right { grid-column: 3; }
  #header .header-grid-middle { grid-column: 4; }
  #header .manta-navigation__mobile-shop { min-height: 34px; padding: 0 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 99px; background: var(--manta-ink); color: #fff; font: 700 9px/1 var(--manta-font-sans); letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; text-decoration: none; }
  #header .manta-navigation__mobile-shop:hover, #header .manta-navigation__mobile-shop:focus-visible { background: var(--manta-accent-deep); color: #fff; }
  #header .manta-navigation__mobile-shop:focus-visible { outline: 2px solid var(--manta-ink); outline-offset: 3px; }
  #header .manta-navigation.is-ready .manta-navigation__list > .manta-navigation__mobile-shop-parent > .manta-navigation__row { display: none; }
}
@media (max-width: 360px) {
  #header .header-grid { gap: 12px; }
  #header .manta-navigation__mobile-shop { padding-inline: 16px; }
  #header .manta-navigation__mobile-toggle { min-width: 50px; gap: 3px; }
}

/* Both product templates use the same Flickity gallery on mobile. */
@media (max-width: 599px) {
  body.single-product .product-image-grid .flickity-page-dots {
    position: static !important;
    bottom: auto !important;
    left: auto !important;
    width: min(100%, 304px) !important;
    height: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 12px auto 15px !important;
    padding: 0 12px;
    transform: none;
  }

  body.single-product .product-image-grid .flickity-page-dots .dot {
    flex: 1 1 0;
    width: auto;
    max-width: 24px;
    height: 28px;
    margin: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    opacity: 1;
  }

  body.single-product .product-image-grid .flickity-page-dots .dot::after {
    content: "";
    display: block;
    width: 100%;
    height: 3px;
    margin-top: 12px;
    background: var(--manta-accent-soft);
  }

  body.single-product .product-image-grid .flickity-page-dots .dot.is-selected::after {
    background: var(--manta-ink) !important;
  }
}
