.fp-hero__name-sans {
  font-family: 'Newsreader', Georgia, serif;
  font-weight: 300;
}
.fp-hero__name-serif {
  font-style: normal !important;
}

/* ============================================================
   LUXELINE — Custom refinements
   ============================================================ */

/* --- 1. Header: permanently opaque so nav is always readable --- */
.site-header {
  background: rgba(253, 248, 243, 0.97);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--line-soft);
}
.site-header__inner {
  padding-top: 1.1rem;
  padding-bottom: 1.1rem;
}
.primary-menu a,
.text-logo,
.site-header__actions a {
  color: var(--dark);
}
/* keep the brand accent on "LINE" */
.text-logo__line { color: var(--pink); }

/* refined underline hover for nav links */
.primary-menu a::after {
  content: "";
  position: absolute;
  left: 0; bottom: 0;
  width: 0; height: 1px;
  background: var(--dark);
  transition: width 0.4s var(--ease);
}
.primary-menu a:hover::after,
.primary-menu .current-menu-item > a::after { width: 100%; }

/* --- 2. Premium buttons (consistent across hero + sections) --- */
.btn {
  position: relative;
  overflow: hidden;
  letter-spacing: 0.32em;
  padding: 1.15em 3.4em;
  border: 1px solid var(--dark);
  color: var(--dark);
  background: transparent;
  z-index: 0;
  transition: color 0.5s var(--ease), border-color 0.5s var(--ease);
}
.btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--dark);
  transform: translateY(101%);
  transition: transform 0.5s var(--ease);
  z-index: -1;
}
.btn:hover {
  color: var(--light);
  border-color: var(--dark);
}
.btn:hover::before { transform: translateY(0); }

/* hero CTA sits on a dark image — keep it light, invert on hover to gold */
.fp-hero__cta.btn {
  border-color: rgba(253, 248, 243, 0.85);
  color: var(--light);
}
.fp-hero__cta.btn::before { background: var(--light); }
.fp-hero__cta.btn:hover {
  color: var(--dark);
  border-color: var(--light);
}

/* --- 3. Remove the pulsing gold scroll indicator --- */
.fp-hero__scroll { display: none !important; }
/* cache-bust */

/* Luxeline hero: simplified title + centered CTA */
section.fp-hero .fp-hero__rule,
section.fp-hero .fp-hero__tagline {
  display: none !important;
}

section.fp-hero .fp-hero__content {
  width: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
}

section.fp-hero .fp-hero__cta {
  margin-top: 2rem;
  align-self: center;
}

/* Desktop hero: centre title and CTA in the viewport */
@media (min-width: 769px) {
  section.fp-hero {
    align-items: center !important;
    justify-content: center !important;
  }

  section.fp-hero .fp-hero__content {
    padding: 0 !important;
  }
}

/* Hero CTA-only layout: thumb-friendly 75% position */
section.fp-hero .fp-hero__name {
  display: none !important;
}

section.fp-hero .fp-hero__content {
  position: absolute !important;
  left: 50% !important;
  top: 75% !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  padding: 0 !important;
  transform: translate(-50%, -50%) !important;
}

section.fp-hero .fp-hero__cta {
  margin: 0 !important;
}

/* Mobile: full opening-screen hero and mathematically centred header logo */
@media (max-width: 768px) {
  section.fp-hero {
    height: 100vh !important;
    min-height: 100vh !important;
    height: 100lvh !important;
    min-height: 100lvh !important;
  }

  .site-header__inner {
    position: relative !important;
  }

  .site-header__logo {
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    grid-column: auto !important;
    grid-row: auto !important;
    justify-self: auto !important;
    z-index: 2;
  }

  .nav-toggle { justify-self: start; }
  .site-header__actions { justify-self: end; }
}

/* Mobile: lock every section to the viewport and remove sideways page drift */
@media (max-width: 768px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden !important;
    overflow-x: clip !important;
    overscroll-behavior-x: none;
  }

  .site-content,
  section,
  .site-header,
  .site-header__inner,
  .site-footer {
    max-width: 100vw;
    box-sizing: border-box;
  }

  .site-content {
    overflow-x: hidden;
    overflow-x: clip;
  }

  .mobile-nav {
    width: 100vw;
    max-width: 100vw;
  }

  section.fp-strip {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    scroll-snap-type: none !important;
    gap: 3px !important;
  }

  .fp-strip__cell {
    flex: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding-top: 0 !important;
    aspect-ratio: 3 / 4 !important;
    scroll-snap-align: none !important;
  }
}

/* Mobile Safari: safe-area video overscan */
@media (max-width: 768px) {
  html,
  body {
    background: #080808 !important;
  }

  section.fp-hero {
    height: calc(100vh + 96px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(100vh + 96px + env(safe-area-inset-bottom, 0px)) !important;
    height: calc(100lvh + 96px + env(safe-area-inset-bottom, 0px)) !important;
    min-height: calc(100lvh + 96px + env(safe-area-inset-bottom, 0px)) !important;
    background: #080808 !important;
  }

  .fp-hero__bg,
  .fp-hero__bg video {
    min-height: 100% !important;
    background: #080808 !important;
  }
}

/* Luxeline desktop: give the centred logo more breathing room */
@media (min-width: 1024px) {
  .site-header__inner .site-nav--left {
    padding-right: clamp(32px, 3vw, 44px) !important;
  }

  .site-header__inner .site-nav--right {
    padding-left: clamp(32px, 3vw, 44px) !important;
  }
}
	

/* Luxeline footer: cinematic black finish */
.site-footer {
  margin-top: 0 !important;
  padding: clamp(72px, 7vw, 104px) clamp(24px, 6vw, 96px) calc(32px + env(safe-area-inset-bottom, 0px)) !important;
  background: #050505 !important;
  color: rgba(244, 238, 232, 0.72) !important;
  overflow: hidden !important;
}

.site-footer__rule {
  width: 100% !important;
  height: 1px !important;
  margin: 0 0 clamp(52px, 6vw, 78px) !important;
  background: linear-gradient(90deg, transparent 0%, rgba(232, 132, 176, 0.9) 18%, rgba(232, 132, 176, 0.35) 72%, transparent 100%) !important;
}

.site-footer__grid {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto clamp(56px, 6vw, 84px) !important;
  grid-template-columns: minmax(0, 1.15fr) minmax(140px, 0.5fr) minmax(0, 1.15fr) !important;
  gap: clamp(48px, 6vw, 88px) !important;
}

.site-footer__grid > *,
.site-footer__brand,
.site-footer__col {
  min-width: 0 !important;
}

.text-logo--footer {
  margin-bottom: 1.4rem !important;
  color: #f4eee8 !important;
  font-size: clamp(19px, 1.7vw, 25px) !important;
  letter-spacing: 0.32em !important;
}

.site-footer .text-logo__line {
  color: #e884b0 !important;
}

.site-footer__tagline {
  max-width: 34ch !important;
  margin-bottom: 1rem !important;
  color: rgba(244, 238, 232, 0.78) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

.site-footer__origin {
  margin: 0 !important;
  font-size: 0 !important;
}

.site-footer__origin::after {
  content: "DESIGNED IN AUSTRALIA · WORN WORLDWIDE";
  color: rgba(232, 132, 176, 0.78) !important;
  font-size: 10px !important;
  line-height: 1.6 !important;
  letter-spacing: 0.25em !important;
}

.site-footer__heading {
  margin-bottom: 1.65rem !important;
  color: rgba(232, 132, 176, 0.9) !important;
  font-size: 0 !important;
  letter-spacing: 0.26em !important;
}

.site-footer__grid > .site-footer__col:nth-child(2) .site-footer__heading::after {
  content: "DISCOVER";
  font-size: 10px;
}

.site-footer__grid > .site-footer__col:nth-child(3) .site-footer__heading::after {
  content: "FOLLOW LUXELINE";
  font-size: 10px;
}

.footer-menu,
.site-footer__social {
  width: 100% !important;
  min-width: 0 !important;
}

.footer-menu li {
  margin-bottom: 0.8rem !important;
}

.site-footer a,
.footer-menu a,
.site-footer__social a {
  color: rgba(244, 238, 232, 0.68) !important;
  transition: color 0.25s ease !important;
}

.site-footer a:hover,
.footer-menu a:hover,
.site-footer__social a:hover {
  color: #f4eee8 !important;
}

.site-footer__social {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 1rem 2rem !important;
  margin: 0 !important;
}

.site-footer__social li {
  min-width: 0 !important;
  margin: 0 !important;
}

.site-footer__social a {
  gap: 0.65rem !important;
  white-space: nowrap;
}

.site-footer__social svg {
  flex: 0 0 auto !important;
}

.site-footer__bottom {
  width: 100% !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding-top: 30px !important;
  border-top: 1px solid rgba(244, 238, 232, 0.12) !important;
}

.site-footer__copy {
  color: rgba(244, 238, 232, 0.42) !important;
  letter-spacing: 0.2em !important;
}

@media (max-width: 768px) {
  .site-footer {
    width: 100% !important;
    max-width: 100% !important;
    padding: 64px 22px calc(28px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .site-footer__rule {
    margin-bottom: 46px !important;
  }

  .site-footer__grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 42px !important;
    margin-bottom: 48px !important;
  }

  .site-footer__grid > *,
  .site-footer__brand,
  .site-footer__col,
  .footer-menu,
  .site-footer__social {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .site-footer__brand {
    text-align: center !important;
  }

  .site-footer__tagline {
    max-width: 30ch !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .site-footer__col {
    padding-top: 34px !important;
    border-top: 1px solid rgba(244, 238, 232, 0.12) !important;
  }

  .site-footer__heading {
    margin-bottom: 26px !important;
    text-align: center !important;
  }

  .footer-menu {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px 24px !important;
    padding: 0 !important;
  }

  .footer-menu li {
    margin: 0 !important;
    text-align: center !important;
  }

  .site-footer__social {
    justify-content: center !important;
    gap: 16px 24px !important;
  }

  .site-footer__social li:last-child {
    flex: 0 0 100% !important;
  }

  .site-footer__social li:last-child a {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    justify-content: center !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .site-footer__bottom {
    padding-top: 28px !important;
    text-align: center !important;
  }

  .site-footer__copy {
    font-size: 9px !important;
    line-height: 1.8 !important;
  }

  .reveal {
    opacity: 1 !important;
    transform: none !important;
  }
}

/* 2026-08-27: Colour swatch shape and mobile product fit */
.sp-colour-dot,
.lx-colour-dot {
  box-sizing: border-box;
  inline-size: 34px !important;
  block-size: 34px !important;
  min-inline-size: 34px;
  min-block-size: 34px;
  flex: 0 0 34px;
  aspect-ratio: 1 / 1;
  border-radius: 50% !important;
  overflow: hidden;
  background-clip: padding-box;
}

.lx-colour-btn > input[type="checkbox"][name="filter_pa_colour"] {
  display: none !important;
}

@media (max-width: 1024px) {
  .single-product-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .single-product-layout > *,
  .single-product-layout__summary,
  .single-product-layout__gallery,
  .single-product-layout__summary .variations_form,
  .single-product-layout__summary table.variations {
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  .single-product-layout__summary table.variations {
    table-layout: fixed;
  }

  .single-product-layout__summary .lx-pills {
    min-width: 0;
    max-width: 100%;
  }
}


/* Scroll progress indicator removed site-wide v1 */
#scroll-progress { display: none !important; }

/* Luxeline homepage typography and mobile navigation refinement v2 */
body.home .lx-home-v2 h2,
body.home .lx-home-v2__intro li strong,
body.home .lx-home-v2__collection-title {
  font-family: "Newsreader", "Times New Roman", serif !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
}

body.home .lx-home-v2 h2 {
  font-size: clamp(2.4rem, 3.6vw, 3rem) !important;
  line-height: 1.05 !important;
  text-wrap: balance;
}

body.home .lx-home-v2__intro li strong {
  font-size: clamp(1.3rem, 1.8vw, 1.65rem) !important;
  line-height: 1.08 !important;
}

body.home .lx-home-v2__collection-title {
  font-size: clamp(1.45rem, 2vw, 1.8rem) !important;
  line-height: 1.08 !important;
}

@media (max-width: 900px) {
  .mobile-menu {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }

  .mobile-menu li {
    border-bottom: 0 !important;
  }

  .mobile-menu .current-menu-item a {
    text-decoration: none !important;
  }

  .mobile-menu a {
    padding: 1.05rem 2rem;
  }
}

@media (max-width: 620px) {
  body.home .lx-home-v2 h2 {
    font-size: 2.125rem !important;
    line-height: 1.05 !important;
  }

  body.home .lx-home-v2__intro li strong {
    font-size: 1.35rem !important;
  }

  body.home .lx-home-v2__collection-title {
    font-size: 1.45rem !important;
  }
}

/* Contact campaign video cache refresh 2026-08-28 */

/* About hero viewport cache refresh 2026-08-28 */
