/** Shopify CDN: Minification failed

Line 1525:0 Expected "}" to go with "{"

**/

/* ============================================================
   LUMYRA BRAND SYSTEM v1.0
   Apple x Evergreen x HapePrime — Bioluminescence Luxe
============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Syne:wght@400;700;800&family=Instrument+Serif:ital@0;1&family=DM+Sans:wght@300;400;500&family=Space+Mono:wght@400;700&display=swap');

:root {
  --lm-black:   #04040C;
  --lm-deep:    #070714;
  --lm-blue:    #5BC8F5;
  --lm-violet:  #8B5CF6;
  --lm-white:   #F0F0FF;
  --lm-muted:   #8892A4;
  --lm-glow:    #00D4FF;
}

.lm-section * { box-sizing: border-box; margin: 0; padding: 0; }

.lm-section {
  position: relative;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  background: var(--lm-black);
}

.lm-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.lm-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(4,4,12,0.9) 0%, rgba(4,4,12,0.2) 55%, rgba(4,4,12,0) 100%);
  z-index: 1;
}
.lm-overlay-center {
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at center, rgba(4,4,12,0.15) 0%, rgba(4,4,12,0.72) 100%);
  z-index: 1;
}

.lm-ghost-type {
  position: absolute;
  z-index: 1;
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: clamp(6rem, 20vw, 22rem);
  letter-spacing: -0.04em;
  color: rgba(240,240,255,0.04);
  pointer-events: none;
  user-select: none;
  line-height: 1;
  white-space: nowrap;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
}

/* ── HERO ───────────────────────────────────────────────────── */
.lm-hero-content {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 0 60px 64px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.lm-hero-label {
  font-family: 'Space Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--lm-blue);
  margin-bottom: 14px;
}
.lm-hero-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(5rem, 13vw, 16rem);
  font-weight: 800;
  letter-spacing: -0.025em;
  color: var(--lm-white);
  line-height: 0.88;
  margin: 0;

  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
}
.lm-hero-sub {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.95rem;
  font-weight: 300;
  color: var(--lm-muted);
  margin-top: 16px;
  letter-spacing: 0.05em;
}
.lm-hero-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 20px;
}

/* ── BUTTONS ────────────────────────────────────────────────── */
.lm-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 14px 30px;
  font-family: 'Space Mono', monospace;
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all 0.35s ease;
}
.lm-btn-outline {
  background: transparent;
  border: 1px solid rgba(91,200,245,0.35);
  color: var(--lm-white);
  backdrop-filter: blur(10px);
}
.lm-btn-outline:hover {
  background: rgba(91,200,245,0.08);
  border-color: var(--lm-blue);
  color: var(--lm-blue);
}
.lm-btn-solid {
  background: var(--lm-blue);
  border: 1px solid var(--lm-blue);
  color: #04040C;
  font-weight: 700;
}
.lm-btn-solid:hover {
  background: var(--lm-glow);
  border-color: var(--lm-glow);
  box-shadow: 0 0 40px rgba(0,212,255,0.35);
}
.lm-btn-full { width: 100%; }

/* ── SCROLL HINT ────────────────────────────────────────────── */
.lm-scroll-hint {
  font-family: 'Space Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  color: rgba(240,240,255,0.3);
  animation: lm-scroll-pulse 2.5s ease-in-out infinite;
}
@keyframes lm-scroll-pulse {
  0%,100% { opacity: 0.3; transform: translateY(0); }
  50%      { opacity: 0.7; transform: translateY(5px); }
}

/* ── CENTER SECTIONS ────────────────────────────────────────── */
.lm-center-content {
  position: relative;
  z-index: 2;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 80px 40px;
  text-align: center;
}
.lm-eyebrow {
  font-family: 'Space Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--lm-blue);
  margin-bottom: 32px;
  text-shadow: 0 1px 12px rgba(0,0,0,0.8);
}
.lm-headline {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: clamp(2.5rem, 6vw, 7rem);
  color: var(--lm-white);
  letter-spacing: -0.02em;
  line-height: 1.05;
  max-width: 900px;
  margin-bottom: 0;
  text-shadow: 0 2px 40px rgba(0,0,0,0.75);
}
.lm-headline em {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-weight: 400;
  color: var(--lm-blue);
}
.lm-body-text {
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  font-weight: 300;
  color: rgba(136,146,164,0.92);
  line-height: 1.85;
  max-width: 560px;
  margin-top: 28px;
  text-shadow: 0 1px 8px rgba(0,0,0,0.6);
}

/* ── SHOWCASE PANEL ─────────────────────────────────────────── */
.lm-showcase-content {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 100vh;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 0 60px 80px;
}
.lm-showcase-panel {
  width: 320px;
  padding: 40px;
  background: rgba(7,7,20,0.78);
  border: 1px solid rgba(91,200,245,0.12);
  backdrop-filter: blur(24px);
}
.lm-showcase-name {
  font-family: 'Syne', sans-serif;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--lm-white);
  margin-bottom: 6px;
}
.lm-showcase-price {
  font-family: 'Space Mono', monospace;
  font-size: 1.1rem;
  color: var(--lm-blue);
  margin-bottom: 28px;
}
.lm-showcase-specs {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 32px;
}
.lm-showcase-specs li {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  color: var(--lm-muted);
  display: flex;
  align-items: center;
  gap: 10px;
}
.lm-showcase-specs li::before {
  content: '';
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--lm-blue);
  flex-shrink: 0;
}

/* ── FEATURES GRID ──────────────────────────────────────────── */
.lm-features-content {
  position: relative;
  z-index: 2;
  width: 100%;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0 60px 80px;
}
.lm-features-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  font-weight: 800;
  color: var(--lm-white);
  margin-bottom: 40px;
}
.lm-features-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  max-width: 880px;
}
.lm-feat {
  padding: 32px 28px;
  background: rgba(7,7,20,0.72);
  border: 1px solid rgba(91,200,245,0.08);
  backdrop-filter: blur(16px);
  transition: border-color 0.3s, background 0.3s;
}
.lm-feat:hover {
  border-color: rgba(91,200,245,0.25);
  background: rgba(91,200,245,0.04);
}
.lm-feat-icon { font-size: 1.4rem; margin-bottom: 14px; display: block; }
.lm-feat-number {
  font-family: 'Syne', sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--lm-blue);
  line-height: 1;
  margin-bottom: 6px;
}
.lm-feat-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.8rem;
  color: var(--lm-muted);
  font-weight: 300;
}

/* ── EMOTION WORDS ──────────────────────────────────────────── */
.lm-emotion-words {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  font-size: clamp(2.8rem, 6vw, 6.5rem);
  color: var(--lm-white);
  line-height: 1.2;
  margin-bottom: 40px;
}
.lm-emotion-sep {
  color: var(--lm-muted);
  font-family: 'DM Sans', sans-serif;
  font-style: normal;
  font-size: 0.5em;
  letter-spacing: 0.2em;
  vertical-align: middle;
  margin: 0 10px;
}

/* ── PRODUCT CAROUSEL ───────────────────────────────────────── */
.lm-product-section {
  background: var(--lm-black);
  padding: 120px 60px;
  display: flex;
  gap: 80px;
  align-items: flex-start;
  min-height: 100vh;
  flex-direction: row;
}
.lm-carousel-wrap { flex: 1; }
.lm-carousel-main {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--lm-deep);
  border: 1px solid rgba(91,200,245,0.08);
  position: relative;
}
.lm-carousel-main img {
  width: 100%; height: 100%;
  object-fit: cover;
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
}
.lm-carousel-main img.lm-active { opacity: 1; }
.lm-carousel-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}
.lm-thumb {
  width: 68px; height: 68px;
  object-fit: cover;
  opacity: 0.35;
  cursor: pointer;
  transition: opacity 0.25s, outline 0.2s;
  border: 1px solid transparent;
}
.lm-thumb:hover { opacity: 0.65; }
.lm-thumb.lm-active {
  opacity: 1;
  outline: 2px solid var(--lm-blue);
  outline-offset: 2px;
}

/* ── PRODUCT INFO ───────────────────────────────────────────── */
.lm-product-info { width: 380px; flex-shrink: 0; padding-top: 20px; }
.lm-product-badge {
  font-family: 'Space Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--lm-blue);
  background: rgba(91,200,245,0.08);
  border: 1px solid rgba(91,200,245,0.2);
  padding: 5px 12px;
  display: inline-block;
  margin-bottom: 20px;
}
.lm-product-name {
  font-family: 'Syne', sans-serif;
  font-size: 2.4rem;
  font-weight: 800;
  color: var(--lm-white);
  line-height: 1.1;
  margin-bottom: 8px;
}
.lm-product-tagline {
  font-family: 'Instrument Serif', serif;
  font-style: italic;
  color: var(--lm-muted);
  font-size: 1rem;
  margin-bottom: 32px;
}
.lm-product-price {
  font-family: 'Syne', sans-serif;
  font-size: 2.2rem;
  font-weight: 800;
  color: var(--lm-white);
  margin-bottom: 32px;
}
.lm-divider {
  height: 1px;
  background: rgba(91,200,245,0.1);
  margin: 28px 0;
}
.lm-specs-mini {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin-bottom: 28px;
}
.lm-spec-val {
  font-family: 'Syne', sans-serif;
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--lm-blue);
}
.lm-spec-lbl {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  color: var(--lm-muted);
  margin-top: 3px;
}
.lm-cart-form { display: flex; flex-direction: column; gap: 12px; }
.lm-qty-row { display: flex; gap: 12px; align-items: center; }
.lm-qty-input {
  width: 72px; padding: 12px 16px;
  background: rgba(91,200,245,0.05);
  border: 1px solid rgba(91,200,245,0.18);
  color: var(--lm-white);
  font-family: 'Space Mono', monospace;
  font-size: 0.9rem;
  text-align: center;
}
.lm-qty-input:focus { outline: none; border-color: var(--lm-blue); }
.lm-add-btn {
  flex: 1; padding: 14px;
  background: var(--lm-blue);
  border: none;
  color: #04040C;
  font-family: 'Space Mono', monospace;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.3s, box-shadow 0.3s;
}
.lm-add-btn:hover {
  background: var(--lm-glow);
  box-shadow: 0 0 40px rgba(0,212,255,0.3);
}
.lm-guarantee-note {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.75rem;
  color: var(--lm-muted);
  text-align: center;
  margin-top: 12px;
}

/* ── VIDEO BLOCKS (product page) ────────────────────────────── */
.lm-video-block {
  position: relative;
  height: 80vh;
  overflow: hidden;
  display: flex;
  align-items: flex-end;
  background: var(--lm-black);
}
.lm-video-block video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.lm-video-caption {
  position: relative;
  z-index: 2;
  padding: 48px 60px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  width: 100%;
}
.lm-caption-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(1.5rem, 3vw, 2.8rem);
  font-weight: 800;
  color: var(--lm-white);
  max-width: 500px;
}
.lm-caption-sub {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
  color: var(--lm-muted);
  margin-top: 8px;
  font-weight: 300;
}

/* ── TRUST BAR ──────────────────────────────────────────────── */
.lm-trust-bar {
  background: var(--lm-deep);
  border-top: 1px solid rgba(91,200,245,0.08);
  border-bottom: 1px solid rgba(91,200,245,0.08);
  padding: 28px 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
  flex-wrap: wrap;
}
.lm-trust-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.8rem;
  color: var(--lm-muted);
}

/* ── RESPONSIVE ─────────────────────────────────────────────── */
@media (max-width: 900px) {
  .lm-hero-content { padding: 0 24px 44px; flex-direction: column; align-items: flex-start; gap: 28px; }
  .lm-hero-title { font-size: clamp(3.5rem, 18vw, 8rem); }
  .lm-features-grid { grid-template-columns: 1fr; }
  .lm-features-content, .lm-showcase-content { padding: 0 24px 60px; }
  .lm-showcase-panel { width: 100%; }
  .lm-center-content { padding: 60px 24px; }
  .lm-product-section { flex-direction: column; padding: 60px 24px; gap: 40px; }
  .lm-product-info { width: 100%; }
  .lm-video-caption { padding: 28px 24px; flex-direction: column; align-items: flex-start; gap: 16px; }
  .lm-trust-bar { padding: 20px 24px; gap: 20px; }
}


/* ── MOBILE CALIBRATION FIXES ──────────────────────────────── */
@media (max-width: 480px) {
  .lm-hero-title { font-size: clamp(2.8rem, 20vw, 5rem) !important; }
  .lm-ghost-type { display: none; }
  .lm-hero-content { padding: 0 20px 36px !important; }
  .lm-headline { font-size: clamp(2rem, 10vw, 3.5rem) !important; }
  .lm-center-content { padding: 50px 20px !important; }
  .lm-features-content { padding: 0 20px 50px !important; }
  .lm-showcase-content { padding: 0 20px 50px !important; }
  .lm-showcase-panel { width: 100% !important; padding: 24px !important; }
  .lm-features-grid { grid-template-columns: 1fr !important; gap: 2px !important; }
  .lm-feat { padding: 22px 18px !important; }
  .lm-feat-number { font-size: 2rem !important; }
  .lm-product-section { padding: 48px 20px !important; }
  .lm-video-caption { padding: 24px 20px !important; }
  .lm-trust-bar { padding: 16px 20px !important; gap: 14px !important; }
  .lm-emotion-words { font-size: clamp(2rem, 9vw, 3.5rem) !important; }
  .lm-btn { padding: 12px 22px !important; font-size: 0.65rem !important; }
  .lm-specs-mini { grid-template-columns: 1fr 1fr !important; }
  .lm-carousel-thumbs { gap: 6px !important; }
  .lm-thumb { width: 56px !important; height: 56px !important; }
}

/* ── VIDEO: prevent overflow on mobile ──────────────────────── */
.lm-section { overflow: hidden !important; }
.lm-video { min-height: 100%; min-width: 100%; }

/* ── TRACK ORDER PAGE — dark theme override ─────────────────── */
.template-page .track-order-form,
body .track-order-form {
  background: #04040C !important;
  color: #F0F0FF !important;
}
.track-order-form * {
  font-family: 'DM Sans', sans-serif !important;
}
.track-order-form h2,
.track-order-form .title {
  font-family: 'Syne', sans-serif !important;
  color: #F0F0FF !important;
}
.track-order-form input[type="text"],
.track-order-form input[type="email"] {
  background: rgba(91,200,245,0.05) !important;
  border: 1px solid rgba(91,200,245,0.25) !important;
  color: #F0F0FF !important;
  border-radius: 0 !important;
}
.track-order-form input::placeholder { color: #8892A4 !important; }
.track-order-form button,
.track-order-form .button {
  background: #5BC8F5 !important;
  color: #04040C !important;
  border: none !important;
  font-family: 'Space Mono', monospace !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  border-radius: 0 !important;
}
.track-order-form button:hover { background: #00D4FF !important; }
.gradient.color-accent-1,
.gradient.color-accent-2,
.gradient.color-background-2,
.gradient.color-inverse { background: #04040C !important; color: #F0F0FF !important; }

/* ── FOOTER DARK OVERRIDE ───────────────────────────────────── */
.lm-footer {
  background: #04040C;
  border-top: 1px solid rgba(91,200,245,0.08);
}

/* ── BRANDS BAR ─────────────────────────────────────────────── */
.lm-brands-bar {
  background: #070714;
  border-top: 1px solid rgba(91,200,245,0.06);
  border-bottom: 1px solid rgba(91,200,245,0.06);
  padding: 28px 0;
  overflow: hidden;
}
.lm-brands-label {
  font-family: 'Space Mono', monospace;
  font-size: 0.6rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: #8892A4;
  text-align: center;
  margin-bottom: 20px;
}
.lm-brands-track-wrap { overflow: hidden; position: relative; }
.lm-brands-track {
  display: flex;
  gap: 64px;
  animation: lm-scroll-brands 28s linear infinite;
  width: max-content;
  align-items: center;
}
.lm-brands-track:hover { animation-play-state: paused; }
.lm-brand-item {
  font-family: 'Syne', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(240,240,255,0.18);
  white-space: nowrap;
  transition: color 0.3s;
}
.lm-brand-item:hover { color: rgba(91,200,245,0.55); }
.lm-brand-sep {
  color: rgba(91,200,245,0.15);
  font-size: 0.5rem;
}
@keyframes lm-scroll-brands {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ── REVIEWS SECTION DARK ───────────────────────────────────── */
.lm-reviews {
  background: #04040C;
  padding: 100px 60px;
}
.lm-reviews-header {
  text-align: center;
  margin-bottom: 64px;
}
.lm-reviews-title {
  font-family: 'Syne', sans-serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  color: #F0F0FF;
  margin-bottom: 12px;
}
.lm-reviews-sub {
  font-family: 'DM Sans', sans-serif;
  font-size: 1rem;
  color: #8892A4;
  font-weight: 300;
}
.lm-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2px;
  margin-bottom: 48px;
}
.lm-review-card {
  padding: 32px 28px;
  background: #070714;
  border: 1px solid rgba(91,200,245,0.06);
  transition: border-color 0.3s, transform 0.3s;
}
.lm-review-card:hover {
  border-color: rgba(91,200,245,0.18);
  transform: translateY(-3px);
}
.lm-review-stars {
  color: #5BC8F5;
  font-size: 0.85rem;
  letter-spacing: 2px;
  margin-bottom: 14px;
}
.lm-review-text {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.9rem;
  color: rgba(240,240,255,0.75);
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 20px;
}
.lm-review-author {
  font-family: 'Space Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.15em;
  color: #8892A4;
  text-transform: uppercase;
}
.lm-review-verified {
  font-size: 0.6rem;
  color: #5BC8F5;
  margin-left: 8px;
}
.lm-reviews-score {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 48px;
  padding: 40px 60px;
  background: #070714;
  border: 1px solid rgba(91,200,245,0.08);
}
.lm-score-big {
  font-family: 'Syne', sans-serif;
  font-size: 3.5rem;
  font-weight: 800;
  color: #F0F0FF;
  line-height: 1;
}
.lm-score-label {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.8rem;
  color: #8892A4;
  margin-top: 4px;
}
.lm-score-stat {
  text-align: center;
}

@media (max-width: 768px) {
  .lm-reviews { padding: 60px 24px; }
  .lm-reviews-grid { grid-template-columns: 1fr; }
  .lm-reviews-score { flex-direction: column; gap: 24px; padding: 28px 24px; }
}

/* ── CUSTOM FOOTER ──────────────────────────────────────────── */
.lm-footer-wrap {
  background: #04040C;
  border-top: 1px solid rgba(91,200,245,0.07);
  padding: 80px 60px 40px;
  font-family: 'DM Sans', sans-serif;
}
.lm-footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 1fr;
  gap: 60px;
  margin-bottom: 60px;
}
.lm-footer-brand-name {
  font-family: 'Syne', sans-serif;
  font-size: 1.8rem;
  font-weight: 800;
  color: #F0F0FF;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}
.lm-footer-tagline {
  font-size: 0.85rem;
  color: #8892A4;
  line-height: 1.7;
  font-weight: 300;
  margin-bottom: 24px;
  max-width: 260px;
}
.lm-footer-socials { display: flex; gap: 16px; margin-bottom: 24px; }
.lm-footer-social {
  width: 36px; height: 36px;
  border: 1px solid rgba(91,200,245,0.18);
  display: flex; align-items: center; justify-content: center;
  color: #8892A4; font-size: 0.85rem; text-decoration: none;
  transition: border-color 0.25s, color 0.25s;
}
.lm-footer-social:hover { border-color: #5BC8F5; color: #5BC8F5; }
.lm-footer-col-title {
  font-family: 'Space Mono', monospace;
  font-size: 0.62rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #5BC8F5;
  margin-bottom: 20px;
}
.lm-footer-links { list-style: none; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.lm-footer-links a {
  font-size: 0.85rem;
  color: rgba(240,240,255,0.55);
  text-decoration: none;
  transition: color 0.2s;
  line-height: 1.4;
}
.lm-footer-links a:hover { color: #5BC8F5; }
.lm-footer-bottom {
  border-top: 1px solid rgba(91,200,245,0.07);
  padding-top: 28px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
}
.lm-footer-copy {
  font-size: 0.75rem;
  color: rgba(240,240,255,0.25);
}
.lm-footer-bottom-links { display: flex; gap: 24px; }
.lm-footer-bottom-links a {
  font-size: 0.72rem;
  color: rgba(240,240,255,0.3);
  text-decoration: none;
  transition: color 0.2s;
}
.lm-footer-bottom-links a:hover { color: #5BC8F5; }
.lm-track-order-bar {
  background: #070714;
  border: 1px solid rgba(91,200,245,0.1);
  padding: 32px 40px;
  margin-bottom: 60px;
}
.lm-track-order-bar h3 {
  font-family: 'Syne', sans-serif;
  font-size: 1.1rem;
  font-weight: 800;
  color: #F0F0FF;
  margin-bottom: 16px;
}
.lm-track-form { display: flex; gap: 12px; flex-wrap: wrap; }
.lm-track-input {
  flex: 1; min-width: 180px;
  padding: 12px 16px;
  background: rgba(91,200,245,0.04);
  border: 1px solid rgba(91,200,245,0.18);
  color: #F0F0FF;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.85rem;
}
.lm-track-input::placeholder { color: #8892A4; }
.lm-track-input:focus { outline: none; border-color: #5BC8F5; }
.lm-track-btn {
  padding: 12px 24px;
  background: #5BC8F5;
  border: none;
  color: #04040C;
  font-family: 'Space Mono', monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.25s;
}
.lm-track-btn:hover { background: #00D4FF; }
.lm-track-result {
  margin-top: 12px;
  font-size: 0.85rem;
  color: #8892A4;
  display: none;
}

@media (max-width: 768px) {
  .lm-footer-wrap { padding: 60px 24px 32px; }
  .lm-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px; }
  .lm-footer-bottom { flex-direction: column; align-items: flex-start; }
  .lm-track-order-bar { padding: 24px 20px; }
  .lm-footer-bottom-links { flex-wrap: wrap; gap: 16px; }
}
@media (max-width: 480px) {
  .lm-footer-grid { grid-template-columns: 1fr; }
}


/* ==============================================================
   LUMYRA MOBILE CALIBRATION & HEADER FIXES
============================================================== */

.lm-section, .lm-section * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Header dark override */
.section-header, .header__wrapper {
  background: rgba(4,4,12,0.96) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border-bottom: 1px solid rgba(91,200,245,0.08) !important;
}

/* Hide announcement bar */
.announcement-bar,
.shopify-section-group-header-group .announcement-bar,
.jf-ticker, .jf-urgency {
  display: none !important;
}

/* Nav links style */
.header__menu-item,
.header__active-menu-item {
  font-family: 'DM Sans', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
}

/* Logo style */
.header__heading-logo-text,
.header__heading-link .h2,
.header__heading .h2 {
  font-family: 'Syne', sans-serif !important;
  font-weight: 800 !important;
  font-size: 1.35rem !important;
  letter-spacing: -0.02em !important;
  color: #F0F0FF !important;
}

/* Remove section spacing gaps */
.shopify-section { margin: 0 !important; }

/* Mobile 600px and below */
@media (max-width: 600px) {
  .lm-hero-content {
    padding: 0 20px 36px;
    flex-direction: column;
    gap: 20px;
  }
  .lm-hero-title { font-size: clamp(2.8rem, 20vw, 5rem); }
  .lm-hero-label { font-size: 0.55rem; letter-spacing: 0.22em; }
  .lm-hero-sub { font-size: 0.82rem; }
  .lm-hero-side { align-items: flex-start; }
  .lm-btn { padding: 12px 20px; font-size: 0.62rem; letter-spacing: 0.15em; }
  .lm-center-content { padding: 48px 20px; min-height: 80vh; }
  .lm-headline { font-size: clamp(1.7rem, 9vw, 3rem); }
  .lm-body-text { font-size: 0.85rem; }
  .lm-eyebrow { font-size: 0.55rem; }
  .lm-ghost-type { display: none; }
  .lm-showcase-content { padding: 0 20px 48px; }
  .lm-showcase-panel { width: 100%; padding: 24px 18px; }
  .lm-features-content { padding: 0 20px 48px; }
  .lm-features-title { font-size: 1.2rem; }
  .lm-features-grid { grid-template-columns: 1fr; }
  .lm-feat { padding: 22px 18px; }
  .lm-feat-number { font-size: 2rem; }
  .lm-emotion-words { font-size: clamp(1.8rem, 8vw, 3rem); }
  .lm-product-section { padding: 44px 20px; flex-direction: column; gap: 28px; }
  .lm-product-name { font-size: 1.7rem; }
  .lm-product-price { font-size: 1.7rem; margin-bottom: 20px; }
  .lm-product-info { width: 100%; padding-top: 0; }
  .lm-carousel-thumbs { gap: 6px; }
  .lm-thumb { width: 52px; height: 52px; }
  .lm-video-block { height: 55vh; }
  .lm-video-caption { padding: 20px; flex-direction: column; gap: 12px; }
  .lm-caption-title { font-size: 1.2rem; }
  .lm-reviews-section { padding: 48px 20px; }
  .lm-reviews-grid { grid-template-columns: 1fr; }
  .lm-review-card { padding: 20px; }
  .lm-reviews-title { font-size: 1.7rem; }
  .lm-global-number { font-size: 2.8rem; }
  .lm-brand-item { padding: 0 28px; }
  .lm-footer { padding: 48px 20px 28px; }
  .lm-footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .lm-footer-bottom { flex-direction: column; gap: 16px; align-items: flex-start; }
  .lm-footer-logo { font-size: 1.4rem; }
  .lm-footer-legal { flex-wrap: wrap; gap: 12px; }
  .lm-footer-payments { flex-wrap: wrap; gap: 8px; }
  .lm-track-order-section { padding: 48px 20px; }
  .lm-track-title { font-size: 1.5rem; }
  .lm-track-form { gap: 12px; }
  .lm-track-input { padding: 14px 16px; font-size: 0.85rem; }
  .lm-reviews-cta .lm-btn { width: 100%; }
}

/* Scrollbar */
::-webkit-scrollbar { width: 4px; }
::-webkit-scrollbar-track { background: #04040C; }
::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, #8B5CF6, #5BC8F5);
  border-radius: 2px;
}


/* ==============================================================
   IMAGE & VIDEO FRAMING FIXES
============================================================== */

/* Video focal points per section */
.lm-hero .lm-video      { object-position: center center; }
.lm-immersion .lm-video { object-position: center 30%; }
.lm-showcase .lm-video  { object-position: center center; }
.lm-features .lm-video  { object-position: center 40%; }
.lm-lifestyle .lm-video { object-position: center 25%; }
.lm-emotion .lm-video   { object-position: center 20%; }

/* Video block focal points (product page) */
.lm-video-block:nth-child(1) video { object-position: center 35%; }
.lm-video-block:nth-child(2) video { object-position: center center; }
.lm-video-block:nth-child(3) video { object-position: center 45%; }

/* Before/after responsive */
@media (max-width: 600px) {
  .jf-ba-wrap { aspect-ratio: 4/3; }
  .jf-ba-stats { grid-template-columns: 1fr; gap: 12px; }
  .jf-ba-section { padding: 48px 20px; }
}


/* ==============================================================
   JELLYFISH SECTIONS — TYPOGRAPHY MOBILE FIX
============================================================== */
@media (max-width: 767px) {
  /* FAQ */
  .jf-faq-question {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    padding: 18px 16px !important;
  }
  .jf-faq-answer {
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
    padding: 0 16px 18px !important;
  }
  .jf-faq-title {
    font-size: 1.875rem !important;
    line-height: 1.15 !important;
  }

  /* Bundle */
  .jf-bundle-title, .jf-bundle-card-title {
    font-size: 1.375rem !important;
    line-height: 1.2 !important;
  }
  .jf-bundle-price {
    font-size: 1.5rem !important;
  }
  .jf-bundle-card { padding: 28px 20px !important; }

  /* Blog preview */
  .jf-blog-title-text, .jf-blog-card-title {
    font-size: 1.125rem !important;
    line-height: 1.4 !important;
  }
  .jf-blog-excerpt {
    font-size: 0.9375rem !important;
    line-height: 1.65 !important;
  }

  /* Guarantee */
  .jf-guarantee-title {
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
  }
  .jf-guarantee-text {
    font-size: 0.9375rem !important;
    line-height: 1.7 !important;
  }

  /* Final CTA */
  .jf-cta-title {
    font-size: clamp(1.5rem, 8vw, 2.5rem) !important;
    line-height: 1.15 !important;
  }
  .jf-cta-sub {
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }

  /* Before/After section title & stats */
  .jf-ba-title { font-size: 1.875rem !important; }
  .jf-ba-stat-num { font-size: 2.25rem !important; }
  .jf-ba-stat-txt { font-size: 0.9375rem !important; }

  /* General jf- buttons */
  .jf-btn-primary, .jf-btn-ghost {
    min-height: 48px !important;
    font-size: 0.875rem !important;
    padding: 13px 24px !important;
  }

  /* Score bar */
  .jf-score-title {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }
  .jf-score-number {
    font-size: 2.5rem !important;
  }
}


/* ==============================================================
   HOMEPAGE FORMAT FIXES — section spacing & proportions
============================================================== */

/* Remove ALL gaps between sections */
.shopify-section { margin: 0 !important; padding: 0 !important; display: block !important; }
.shopify-section + .shopify-section { margin-top: 0 !important; }

/* Hero: exact viewport height */
.lm-hero {
  height: 100vh !important;
  min-height: 600px !important;
  max-height: 1000px !important;
}

/* Immersion, showcase, features, lifestyle, emotion: 100vh */
.lm-section {
  min-height: 100vh !important;
}

/* Brands slider: compact, no wasted space */
.lm-brands-section {
  min-height: unset !important;
  padding: 24px 0 !important;
}

/* Center sections: vertical center alignment improved */
.lm-center-content {
  justify-content: center !important;
  text-align: center !important;
  gap: 0 !important;
}
.lm-center-content > * + * { margin-top: 0 !important; }
.lm-center-content .lm-eyebrow { margin-bottom: 20px !important; }
.lm-center-content .lm-headline { margin-bottom: 0 !important; }
.lm-center-content .lm-body-text { margin-top: 20px !important; }
.lm-center-content .lm-btn { margin-top: 36px !important; }

/* Showcase panel — don't overlap logo on mobile */
@media (max-width: 767px) {
  .lm-showcase-content {
    padding: 0 16px 48px !important;
    align-items: flex-end !important;
  }
  .lm-showcase-panel {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Features: full height section, content at bottom */
.lm-features-content {
  min-height: 100vh !important;
  padding-bottom: 72px !important;
}

@media (max-width: 767px) {
  /* Reduce section height on mobile — 85vh feels better than 100vh */
  .lm-section { min-height: 85vh !important; }
  .lm-hero    { height: 100vh !important; min-height: 100vh !important; max-height: unset !important; }
  .lm-center-content { min-height: 85vh !important; }

  /* Better mobile padding for content at bottom of section */
  .lm-hero-content { padding-bottom: 52px !important; }
  .lm-features-content { min-height: 85vh !important; padding-bottom: 56px !important; }
  .lm-showcase-content { min-height: 85vh !important; padding-bottom: 52px !important; }
/* Smooth color transitions on all color-bearing elements */
body, .lm-section, header, .header, .lm-footer,
.jf-review-card, .jf-bundle-card, .lm-review-card,
.jf-spec-item, .lm-glass-panel, .jf-faq-item,
.jf-hero, .jf-gallery, .jf-bundle, .jf-faq {
  transition:
    background-color 0.45s ease,
    color            0.35s ease,
    border-color     0.35s ease,
    box-shadow       0.35s ease !important;
}

.lm-icon-moon,
.lm-icon-sun {
  width: 22px;
  height: 22px;
  pointer-events: none;
}

/* ================================================================
   MOBILE TYPOGRAPHY v2 -- Readable at every size
================================================================ */

@media (max-width: 767px) {

  html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

  body,
  p, li, td, label {
    font-size: 17px !important;
    line-height: 1.7 !important;
  }

  .lm-eyebrow,
  .jf-eyebrow {
    font-size: 0.8125rem !important;
    letter-spacing: 0.18em !important;
  }

  .lm-headline,
  .jf-headline,
  .jf-section-title,
  h1, .h1 { font-size: clamp(2.1rem, 8.5vw, 3.2rem) !important; line-height: 1.1 !important; }

  h2, .h2,
  .jf-subheadline { font-size: clamp(1.6rem, 6.5vw, 2.4rem) !important; line-height: 1.2 !important; }

  h3, .h3 { font-size: clamp(1.2rem, 5vw, 1.75rem) !important; }
  h4, .h4 { font-size: 1.1rem !important; }

  .lm-body-text,
  .jf-section-sub,
  .jf-intro-text { font-size: 1.0625rem !important; line-height: 1.72 !important; }

  .lm-btn,
  .jf-btn-primary,
  .jf-btn-ghost,
  button[type="submit"],
  input[type="submit"] {
    font-size: 1rem    !important;
    min-height: 52px   !important;
    padding: 14px 28px !important;
    line-height: 1.3   !important;
  }

  .header__menu-item,
  .header a { font-size: 0.9375rem !important; }
  .header__heading-logo-text { font-size: 1.2rem !important; }

  .lm-product-title  { font-size: 1.8rem  !important; line-height: 1.15 !important; }
  .lm-product-price  { font-size: 1.5rem  !important; }
  .lm-product-desc,
  .lm-product-info p { font-size: 1rem    !important; line-height: 1.72 !important; }

  .lm-review-text,
  .jf-review-text,
  .jf-review-card p,
  .lm-review-card p  { font-size: 1rem    !important; line-height: 1.7  !important; }
  .lm-review-name,
  .jf-review-name    { font-size: 0.9375rem !important; font-weight: 600 !important; }
  .lm-review-date,
  .jf-review-date    { font-size: 0.8125rem !important; }

  .jf-spec-value     { font-size: 1.6rem  !important; }
  .jf-spec-label     { font-size: 0.875rem !important; }

  .lm-feat-title,
  .jf-hiw-title      { font-size: 1.1rem  !important; }
  .lm-feat-text,
  .jf-hiw-text       { font-size: 0.9375rem !important; line-height: 1.65 !important; }

  .jf-faq-q,
  .jf-accordion-trigger { font-size: 1rem !important; }
  .jf-faq-a,
  .jf-accordion-content { font-size: 0.9375rem !important; line-height: 1.72 !important; }

  .jf-bundle-title   { font-size: 1.25rem !important; }
  .jf-bundle-price   { font-size: 1.5rem  !important; }
  .jf-bundle-desc    { font-size: 0.9375rem !important; }

  .lm-stat-number    { font-size: 2.6rem  !important; line-height: 1 !important; }
  .lm-stat-label     { font-size: 0.8125rem !important; }

  .jf-blog-title     { font-size: 1.1rem  !important; }
  .jf-blog-excerpt   { font-size: 0.9375rem !important; }

  input, textarea, select {
    font-size: 1rem !important;
    line-height: 1.5 !important;
  }

  .shopify-section p,
  .shopify-section li { font-size: 1rem !important; line-height: 1.7 !important; }
}

@media (max-width: 390px) {
  .lm-headline,
  h1, .h1 { font-size: 2rem   !important; }
  h2, .h2 { font-size: 1.5rem !important; }
  .lm-btn,
  .jf-btn-primary { padding: 13px 22px !important; }
}



/* ================================================================
   TEXT PLACEMENT FIX -- tiers inferieur cinematique
   Toutes les sections: texte ancre en bas avec gradient overlay
================================================================ */

/* Hero: readable label */
.lm-hero-label { font-size: 0.75rem !important; }
.lm-scroll-hint {
  display: block;
  font-family: 'Space Mono', monospace;
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--lm-muted);
  opacity: 0.55;
  margin-top: 12px;
}

/* Center sections: ancrer en bas (tiers inferieur)
   Override de justify-content:center precedent */
.lm-center-content {
  justify-content: flex-end !important;
  align-items: center !important;
  padding-bottom: 96px !important;
  padding-top: 0 !important;
  gap: 0 !important;
}

/* Vertical rhythm inside center sections */
.lm-center-content .lm-eyebrow    { margin-bottom: 16px !important; margin-top: 0 !important; }
.lm-center-content .lm-headline   { margin-bottom: 22px !important; margin-top: 0 !important; }
.lm-center-content .lm-body-text  { margin-bottom: 36px !important; margin-top: 0 !important; max-width: 560px; }
.lm-center-content .lm-btn        { margin-top: 0 !important; }

/* Body text: max-width pour lisibilite desktop */
.lm-center-content .lm-body-text,
.lm-body-text { max-width: 560px; margin-left: auto; margin-right: auto; }

/* Features section: proper gap between content and bottom */
.lm-features-content {
  justify-content: flex-end !important;
  padding-bottom: 96px !important;
  padding-left: 60px !important;
  padding-right: 60px !important;
  gap: 0 !important;
}
.lm-features-title   { margin-bottom: 40px !important; }
.lm-features-content .lm-features-grid { margin-top: 0 !important; }

/* Showcase: bottom-right panel, clean spacing */
.lm-showcase-content {
  padding-bottom: 88px !important;
  padding-right: 60px !important;
  padding-left: 60px !important;
}
.lm-showcase-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.lm-showcase-name  { font-size: 1rem !important; margin-bottom: 0 !important; }
.lm-showcase-price { font-size: 1.75rem !important; font-weight: 700 !important; margin-bottom: 0 !important; }
.lm-showcase-specs { font-size: 0.875rem !important; line-height: 1.7 !important; margin-bottom: 0 !important; }

/* Emotion words: proper size and spacing */
.lm-emotion-words {
  font-size: clamp(2.6rem, 5.5vw, 6rem) !important;
  line-height: 1.1 !important;
  margin-bottom: 44px !important;
}

/* Emotion fine print: readable */
.lm-center-content p[style] { font-size: 0.8125rem !important; margin-top: 16px !important; }

/* Hero side: vertical alignment */
.lm-hero-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  padding-bottom: 2px;
}

/* ── MOBILE ─────────────────────────────────────────────────── */
@media (max-width: 767px) {

  /* All center sections: bottom anchored */
  .lm-center-content {
    justify-content: flex-end !important;
    padding: 16px 20px 64px !important;
    text-align: center !important;
    align-items: center !important;
  }

  .lm-center-content .lm-body-text {
    max-width: 100% !important;
    font-size: 1rem !important;
    line-height: 1.7 !important;
    margin-bottom: 28px !important;
  }

  .lm-center-content .lm-headline { margin-bottom: 16px !important; }
  .lm-center-content .lm-eyebrow  { margin-bottom: 12px !important; }

  /* Hero: single column, bottom anchored */
  .lm-hero-content {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 28px !important;
    padding: 0 20px 56px !important;
  }
  .lm-hero-brand { width: 100%; }
  .lm-hero-side  {
    width: 100%;
    align-items: flex-start !important;
    gap: 14px !important;
  }
  .lm-scroll-hint { display: none !important; }

  /* Features: proper gap, bottom anchor */
  .lm-features-content {
    min-height: 85vh !important;
    padding: 16px 20px 60px !important;
    justify-content: flex-end !important;
  }
  .lm-features-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .lm-features-title { font-size: clamp(1.4rem, 6vw, 2rem) !important; margin-bottom: 28px !important; }

  /* Showcase: full-width panel, bottom */
  .lm-showcase-content {
    min-height: 85vh !important;
    padding: 16px 16px 56px !important;
    justify-content: flex-end !important;
    align-items: flex-end !important;
  }
  .lm-showcase-panel {
    width: 100% !important;
    padding: 24px 20px !important;
  }
  .lm-showcase-price { font-size: 1.5rem !important; }

  /* Emotion words: scaled down for mobile */
  .lm-emotion-words {
    font-size: clamp(1.9rem, 9vw, 3rem) !important;
    margin-bottom: 28px !important;
  }

  /* Ghost type: hidden on mobile (clutter) */
  .lm-ghost-type { display: none !important; }

  /* Hero title: readable but not overflow */
 .lm-hero-title {
  font-size: clamp(2.4rem, 15vw, 4.8rem) !important;
  line-height: 0.95 !important;
  white-space: nowrap !important;
}
  .lm-hero-sub {
    font-size: 1rem !important;
    margin-top: 10px !important;
    opacity: 0.7;
  }
  .lm-hero-label { font-size: 0.75rem !important; letter-spacing: 0.25em !important; }
}

/* ── TABLET (768-1024px) ────────────────────────────────────── */
@media (min-width: 768px) and (max-width: 1024px) {
  .lm-center-content { padding-bottom: 80px !important; }
  .lm-hero-content   { padding: 0 40px 64px !important; }
  .lm-features-content,
  .lm-showcase-content { padding-left: 40px !important; padding-right: 40px !important; }
  .lm-showcase-panel { width: 280px !important; }
}


/* Trust note below CTA */
.lm-trust-note {
  font-family: 'DM Sans', sans-serif;
  font-size: 0.8125rem !important;
  color: var(--lm-muted);
  margin-top: 16px !important;
  opacity: 0.75;
  letter-spacing: 0.02em;
}

/* Lifestyle button spacing (no <br> needed) */
.lm-center-content .lm-btn-outline {
  margin-top: 0 !important;
}

/* Emotion words: keep accent colors */
.lm-emotion-sep {
  color: var(--lm-muted);
  font-family: 'DM Sans', sans-serif;
  font-style: normal;
  font-size: 0.45em;
  letter-spacing: 0.2em;
  vertical-align: middle;
  margin: 0 10px;
}
