/** Shopify CDN: Minification failed

Line 47:42 Unexpected "*"

**/
/* ============================================================
   MARTEYA — Header & Footer chrome, styled to match the bold-luxe
   home page. Loaded on every page via header.liquid. Restyles
   Dawn's existing header/footer markup — no structural changes,
   so nav / search / cart / localization stay intact.
   ============================================================ */

:root {
  --lxc-display: "Syne", "Tenor Sans", sans-serif;
  --lxc-mono: ui-monospace, "SF Mono", "Roboto Mono", Menlo, monospace;
  --lxc-ease: cubic-bezier(0.19, 1, 0.22, 1);
}

/* ============================================================
   GLOBAL FONT → Tenor Sans everywhere.
   The site's type flows through these font variables. Overriding
   them all (with !important so this wins over the later
   definitions in premium-lux / hero-slideshow, regardless of load
   order) switches every heading, body, label, price, display and
   the hero wordmark to Tenor Sans. The blanket rule mops up any
   literal font-family declaration too. Tenor Sans is the theme's
   configured heading+body font, so it's already loaded site-wide.
   ============================================================ */
:root {
  --font-heading-family: "Tenor Sans", sans-serif !important;
  --font-body-family: "Tenor Sans", sans-serif !important;
  --lxc-display: "Tenor Sans", sans-serif !important;
  --lxc-mono: "Tenor Sans", sans-serif !important;
  --lx-display: "Tenor Sans", sans-serif !important;
  --lx-mono: "Tenor Sans", sans-serif !important;
  --lx-body: "Tenor Sans", sans-serif !important;
  --choice-display: "Tenor Sans", sans-serif !important;
  --choice-serif: "Tenor Sans", sans-serif !important;
}

/* NOTE: a blanket `*,*::before,*::after { font-family: ... !important }` used to
   live here to force Tenor Sans everywhere. It was REMOVED because overriding
   font-family on ::before/::after breaks icon fonts that third-party apps render
   through pseudo-element glyphs (reviews, cart, wishlist, consent, chat widgets).
   The site already renders in Tenor Sans without it: the theme's configured font
   is Tenor Sans, and every custom lux/hero component sets its font via the CSS
   vars overridden above (--lx-*/--choice-*/--font-*), so no literal font-family
   sweep is needed. Do NOT re-add a universal font-family rule. */

/* ---------- Announcement bar: mono, letter-spaced ---------- */
.announcement-bar__message,
.utility-bar__message {
  font-family: var(--lxc-mono);
  font-size: 11px !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

/* ---------- Header: refined mono nav ---------- */
.header__inline-menu .header__menu-item,
.header__menu-item {
  font-family: var(--lxc-mono);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}
.header__menu-item span { text-decoration-thickness: 1px; }
/* underline hover for top-level links */
.header__inline-menu .header__menu-item:hover span { text-underline-offset: 4px; }

/* Mobile drawer menu items to match */
.menu-drawer__menu-item {
  font-family: var(--lxc-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 700;
}

/* ---------- Header: bolder icons (search / account / cart / hamburger) ----------
   Dawn's header icons are FILL-based silhouettes (no strokes), so we embolden
   them by painting a currentColor stroke over the fill. non-scaling-stroke keeps
   the added weight a constant on-screen thickness across icons whose viewBoxes
   differ (hamburger 18x16 ... cart-empty 40x40). */
.header__icons .icon,
.header__icon--menu .icon,
.header__icons .icon path,
.header__icon--menu .icon path {
  stroke: currentColor;
  stroke-width: 0.6px;
  vector-effect: non-scaling-stroke;
  paint-order: stroke fill;
}

/* ============================================================
   FOOTER — dark ink block (color scheme accent-1) tuned to
   the home page's type system.
   ============================================================ */
.footer {
  --lxc-line: rgba(255, 255, 255, 0.16);
}

/* Section headings → Syne, uppercase, tight */
.footer .footer-block__heading {
  font-family: var(--lxc-display) !important;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: clamp(1.05rem, 1.6vw, 1.4rem);
  margin-bottom: 1.6rem;
}

/* Newsletter heading a touch larger */
.footer .footer-block--newsletter .footer-block__heading {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  letter-spacing: -0.01em;
}

/* Menu / detail links → mono, muted, hover to full */
.footer .footer-block__details-content a,
.footer .footer__list-social a,
.footer .list-menu__item--link,
.footer .footer-block__details-content .link {
  font-family: var(--lxc-mono);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62) !important;
  transition: color 0.3s var(--lxc-ease);
}
.footer .footer-block__details-content a:hover,
.footer .list-menu__item--link:hover {
  color: #fff !important;
}
.footer .footer-block__details-content li { margin-bottom: 0.9rem; }
.footer .footer-block__newsletter-subtext {
  color: rgba(255, 255, 255, 0.62);
  line-height: 1.7;
}

/* Newsletter field → bordered pill matching the home style */
.footer .newsletter-form {
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 999px;
  overflow: hidden;
  max-width: 26rem;
  margin-top: 1.6rem;
}
.footer .newsletter-form__field-wrapper .field {
  border: 0;
  background: transparent;
}
.footer .newsletter-form__field-wrapper .field:before,
.footer .newsletter-form__field-wrapper .field:after { display: none; }
.footer .newsletter-form__field-wrapper input.field__input {
  border: 0;
  background: transparent;
  color: #fff;
  font-family: var(--lxc-mono);
  font-size: 13px;
  letter-spacing: 0.04em;
  box-shadow: none;
}
.footer .newsletter-form__field-wrapper input.field__input::placeholder { color: rgba(255,255,255,0.5); }
.footer .newsletter-form__label { color: rgba(255,255,255,0.5); }
.footer .newsletter-form__button { color: #fff; }

/* Dividers + bottom bar */
.footer .footer__content-bottom { border-top: 1px solid var(--lxc-line); }
.footer .footer__content-bottom-wrapper { padding-top: 2rem; }
.footer .footer__copyright,
.footer .copyright__content,
.footer .policies {
  font-family: var(--lxc-mono);
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}
.footer .copyright__content a { color: rgba(255,255,255,0.7); }

/* Social icons + localisation contrast on dark */
.footer .footer__list-social .list-social__link,
.footer .localization-form__select {
  color: #fff;
}

/* ============================================================
   PREMIUM MOTION + STATEMENT PIECES
   ============================================================ */

/* ---- Header: animated underline nav ---- */
.header__inline-menu .header__menu-item {
  position: relative;
  text-decoration: none;
}
.header__inline-menu .header__menu-item span { text-decoration: none !important; }
.header__inline-menu .header__menu-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -5px;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.4s var(--lxc-ease);
}
.header__inline-menu .header__menu-item:hover::after,
.header__inline-menu .header__active-menu-item::after { transform: scaleX(1); transform-origin: left; }

/* ---- Sticky header refinement on scroll ---- */
.shopify-section-header-sticky .header-wrapper {
  background: #fff !important;
  box-shadow: 0 1px 0 rgba(16, 16, 16, 0.08), 0 8px 30px rgba(16, 16, 16, 0.04);
}

/* ---- CHOICE-style desktop header: logo left · nav centered · icons right ---- */
@media screen and (min-width: 990px) {
  .header.header--middle-left {
    grid-template-columns: auto 1fr auto;
    grid-template-areas: "heading nav icons";
    align-items: center;
    column-gap: 3rem;
  }
  .header.header--middle-left .header__heading {
    grid-area: heading;
    margin: 0;
  }
  .header.header--middle-left .header__inline-menu {
    grid-area: nav;
    justify-self: center;
    margin: 0;
  }
  .header.header--middle-left .header__icons {
    grid-area: icons;
    justify-self: end;
  }
  /* Keep a single search — the one inside the right-hand icon cluster.
     Dawn also renders a left-of-logo search when customer accounts are on. */
  .header.header--middle-left > .header__search {
    display: none;
  }
  /* Give the two-cluster nav breathing room between items, like CHOICE */
  .header.header--middle-left .header__inline-menu .list-menu--inline {
    column-gap: 3.5rem;
  }

  /* Slimmer desktop header. `.header-wrapper .header` (0,2,0) beats header.liquid's
     inline `.header { padding: 20px }` (0,1,0), which otherwise wins by source order. */
  .header-wrapper .header {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}

/* Country/currency selector → globe icon only (hide "United States | USD $").
   The text span itself becomes the icon: text collapsed to 0, filled with
   currentColor and masked to a globe, so it inherits the header text colour
   (white over the hero, dark once solid). Desktop wrapper only. */
.desktop-localization-wrapper .localization-form__select svg {
  display: none;
}
/* Vertically centre the localization button on the icon row (its nested form
   containers otherwise bottom-align it, dropping the globe a few px). */
.desktop-localization-wrapper > localization-form,
.desktop-localization-wrapper .localization-form,
.desktop-localization-wrapper .localization-form > div {
  display: flex !important;
  align-items: center !important;
  height: 100%;
}
/* Match the other header icons' box (44px) so spacing is uniform/symmetrical */
.desktop-localization-wrapper {
  width: 4.4rem !important;
  justify-content: center !important;
}
.desktop-localization-wrapper .localization-form__select {
  width: 4.4rem !important;
  padding: 0 !important;
  justify-content: center !important;
}
.desktop-localization-wrapper .localization-form__select > span {
  display: inline-block !important;
  flex: 0 0 2.1rem !important;
  width: 2.1rem !important;
  min-width: 2.1rem !important;
  height: 2.1rem !important;
  font-size: 0 !important;
  line-height: 0 !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cellipse cx='12' cy='12' rx='4.2' ry='9'/%3E%3Cpath d='M3.2 12h17.6'/%3E%3C/svg%3E")
    center / contain no-repeat !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cellipse cx='12' cy='12' rx='4.2' ry='9'/%3E%3Cpath d='M3.2 12h17.6'/%3E%3C/svg%3E")
    center / contain no-repeat !important;
}

/* CHOICE-style mobile header: search moves to the right cluster (with cart), off
   the left — so the hamburger + morphing wordmark logo own the left side without
   the search icon colliding with the logo. */
@media screen and (max-width: 749px) {
  .header.header--middle-left > .header__search {
    display: none !important;
  }
  .header.header--middle-left .header__icons > .header__search {
    display: flex !important;
  }

  /* Currency/country dropdown fix: component-localization-form.css sets a
     non-media-scoped `top:100%` on the header disclosure (correct for the desktop
     absolute-positioned dropdown). On mobile the .country-selector wrapper becomes
     position:fixed, so `top:100%` = 100vh and the panel renders off the bottom of
     the screen ("nothing shows"). Restore Dawn's mobile bottom-sheet placement. */
  .header-localization:not(.menu-drawer__localization) .disclosure__list-wrapper.country-selector {
    top: auto;
    bottom: -1rem;
  }
}

/* ---- Footer link underline slide ---- */
.footer .footer-block__details-content a,
.footer .list-menu__item--link {
  position: relative;
  display: inline-block;
  padding-bottom: 2px;
}
.footer .footer-block__details-content a::after,
.footer .list-menu__item--link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #fff;
  transform: scaleX(0);
  transform-origin: right;
  transition: transform 0.35s var(--lxc-ease);
}
.footer .footer-block__details-content a:hover::after,
.footer .list-menu__item--link:hover::after { transform: scaleX(1); transform-origin: left; }

/* ---- Footer: oversized brand wordmark ---- */
.footer__wordmark {
  font-family: var(--lxc-display);
  font-weight: 800;
  text-transform: uppercase;
  text-align: center;
  line-height: 0.78;
  letter-spacing: -0.03em;
  font-size: clamp(3.4rem, 19vw, 17rem);
  color: rgba(255, 255, 255, 0.07);
  margin: clamp(2.5rem, 6vw, 5rem) 0 clamp(0.5rem, 2vw, 1.5rem);
  padding: 0 var(--lxc-page, 1.25rem);
  white-space: nowrap;
  overflow: hidden;
  user-select: none;
  pointer-events: none;
}

/* Give the newsletter block a touch more presence */
.footer .footer-block--newsletter { max-width: 30rem; }
.footer .newsletter-form__field-wrapper { margin-top: 0; }

/* ---- USP / trust bar ---- */
.footer-usp {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
  padding-bottom: clamp(2.4rem, 4vw, 3.4rem);
  margin-bottom: clamp(2.4rem, 4vw, 3.4rem);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.footer-usp__item { display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; }
.footer-usp__ico { width: 26px; height: 26px; color: #fff; margin-bottom: 0.5rem; }
.footer-usp__t {
  font-family: var(--lxc-display); font-weight: 700; text-transform: uppercase;
  font-size: 14px; letter-spacing: 0.02em; line-height: 1.1;
}
.footer-usp__s {
  font-family: var(--lxc-mono); font-size: 11px; letter-spacing: 0.08em;
  text-transform: uppercase; color: rgba(255, 255, 255, 0.55);
}
@media (max-width: 749px) {
  .footer-usp {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem 1.2rem;
    margin-bottom: clamp(0.4rem, 4vw, 3.4rem);
    border-bottom: 0;
  }
  /* `.header-wrapper .header` (0,2,0) beats header.liquid's inline `.header` (0,1,0) */
  .header-wrapper .header {
    padding: 10px 1rem;
  }
}

/* ---- Columns fill the row (no empty column) ---- */
@media screen and (min-width: 990px) {
  .footer .footer__blocks-wrapper.grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 2.5rem !important;
  }
}
.footer .footer-block__details-content p { margin: 0 0 0.9rem; }
.footer .footer-block__details-content p:last-child { margin-bottom: 0; }

/* ---- Payment icons + policies on dark ---- */
/* The theme hides .footer__column--info (which now holds only payment icons) — reveal it */
.footer .footer__column--info { display: block !important; text-align: center; margin: 0 !important; }
.footer .footer__payment { margin-top: 0; display: flex; justify-content: center; }
.footer .footer__payment .list-payment { flex-wrap: wrap; justify-content: center; }

/* Stack + center the bottom bar (country selector, payment icons, copyright) for symmetry */
.footer .footer__content-bottom-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.6rem;
  text-align: center;
}
.footer .footer__localization { margin: 0 !important; justify-content: center; }
.footer .footer__payment .caption { color: rgba(255, 255, 255, 0.5); font-family: var(--lxc-mono); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; }
.footer .list-payment { gap: 0.5rem; }
.footer .list-payment__item svg { border-radius: 4px; overflow: hidden; }
.footer .policies .list-menu__item--link { opacity: 0.6; }

/* ---- Tighter wordmark so it doesn't read as empty ---- */
.footer__wordmark { margin: clamp(1.5rem, 4vw, 3rem) 0 clamp(0.5rem, 3.5vw, 4.2rem) !important; }

/* ============================================================
   FOOTER — collapsible link columns (accordion) on mobile only.
   JS (initFooterAccordions) adds .footer-block--accordion + is-open.
   Desktop is untouched — columns always open, headings inert.
   ============================================================ */
@media screen and (max-width: 749px) {
  /* Full-bleed divider rules; let the rows carry their own inset */
  .footer .footer__content-top {
    padding-bottom: 0rem;
    padding-left: 0;
    padding-right: 0;
  }

  .footer .footer-block--accordion {
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    padding: 0.4rem 0;
    margin: 0;
  }
  .footer .footer-block--accordion:last-of-type {
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  /* Heading becomes a full-width tappable row with a chevron */
  .footer .footer-block--accordion .footer-block__heading--toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    margin: 0 !important;
    padding: 1.6rem 1.2rem;
    cursor: pointer;
    user-select: none;
  }
  .footer .footer-block--accordion .footer-block__heading--toggle::after {
    content: "";
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    border-right: 1.5px solid currentColor;
    border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg);
    transform-origin: center;
    transition: transform 0.35s var(--lxc-ease);
    margin-right: 0.4rem;
  }
  .footer .footer-block--accordion.is-open .footer-block__heading--toggle::after {
    transform: rotate(-135deg);
  }

  /* Collapsible content: JS drives max-height for a smooth open/close */
  .footer .footer-block--accordion .footer-block__details-content {
    overflow: hidden;
    max-height: 0;
    transition: max-height 0.4s var(--lxc-ease);
  }
  .footer .footer-block--accordion.is-open .footer-block__details-content {
    padding-bottom: 1.4rem;
    padding-left: 15px;
    padding-right: 15px;
  }
}

/* Keyboard focus affordance for the toggle heading */
.footer .footer-block__heading--toggle:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.6);
  outline-offset: 4px;
}

/* ---- Mobile-only footer tweaks ---- */
@media screen and (max-width: 749px) {
  /* Newsletter column wraps the NL + Social accordion blocks. It's a column
     flex with align-items:flex-start (desktop), which shrinks its children to
     content width. On mobile the accordions must be full-bleed rows like the
     link columns, so stretch children and drop the centering/max-width. */
  .footer .footer-block--newsletter {
    display: flex;
    flex-direction: column;
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    margin: 0;
    /* !important beats the section's inline ID-selector rule
       (#shopify-section-…__footer .footer-block--newsletter{align-items:flex-start}) */
    align-items: center !important;
    gap: 0;
  }
  /* Drop the trailing gap under the footer link/newsletter columns on mobile */
  .footer .footer__blocks-wrapper {
    margin-bottom: 0 !important;
  }
  /* The NL + Social blocks themselves + their collapsible content: full width
     so the accordion divider rules span edge-to-edge and match SHOP/CONTACT. */
  .footer .footer-block--nl,
  .footer .footer-block--social,
  .footer .footer-block--newsletter .footer-block__newsletter,
  .footer .footer-block--newsletter .footer__newsletter {
    width: 100%;
    max-width: 100%;
  }
  .footer__wordmark {
    font-size: clamp(3.4rem, 10vw, 17rem);
  }
}

/* ============================================================
   BACK TO TOP — floating arrow button (all pages, JS-injected)
   ============================================================ */
.lx-totop {
  position: fixed;
  right: clamp(1.2rem, 3vw, 2.6rem);
  bottom: clamp(1.2rem, 3vw, 2.6rem);
  z-index: 50;
  width: clamp(46px, 4.4vw, 56px);
  height: clamp(46px, 4.4vw, 56px);
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--lx-ink, #101010);
  color: #fff;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(14px);
  transition: opacity 0.4s var(--lxc-ease), transform 0.4s var(--lxc-ease), background 0.3s var(--lxc-ease);
  box-shadow: 0 10px 30px rgba(16, 16, 16, 0.22);
}
.lx-totop.is-visible {
  opacity: 1;
  visibility: visible;
  transform: none;
}
.lx-totop:hover {
  background: #000;
  transform: translateY(-3px);
}
.lx-totop:focus-visible {
  outline: 2px solid var(--lx-ink, #101010);
  outline-offset: 3px;
}
.lx-totop svg {
  width: 42%;
  height: 42%;
  display: block;
}
@media (prefers-reduced-motion: reduce) {
  .lx-totop { transition: opacity 0.2s linear; }
  .lx-totop:hover { transform: none; }
}

@media screen and (max-width: 749px) {
  .footer-block.grid__item {
    padding: 0;
    margin: 0rem 0 !important;
    width: 100%;
  }
  .footer-block__details-content {
    margin-bottom: 0rem !important;
  }
}
