/** Shopify CDN: Minification failed

Line 5002:0 All "@import" rules must come first
Line 8618:0 Unexpected "}"

**/
/* ============================================
   ORBIT TRENDS -- Luxury Fashion Design System
   An elegant, refined e-commerce experience with
   warm cream tones, serif typography, and
   understated sophistication.

   Colour palette:
     --orbit-black:      #1a1a1a
     --orbit-charcoal:   #4a4a4a
     --orbit-cream:      #f5f0eb
     --orbit-cream-warm: #ebe5dd
     --orbit-beige:      #e0d8cf
     --orbit-white:      #ffffff
   ============================================ */

/* ---------- Design Tokens ---------- */

:root {
  /* -- Primary palette -- */
  --orbit-black:       #1a1a1a;
  --orbit-charcoal:    #4a4a4a;
  --orbit-cream:       #f5f0eb;
  --orbit-cream-warm:  #ebe5dd;
  --orbit-cream-light: #faf8f5;
  --orbit-beige:       #e0d8cf;
  --orbit-white:       #ffffff;

  /* -- Deprecated aliases -- kept for backward compatibility only.
       Do NOT use in new code; prefer the primary tokens above. -- */
  --orbit-navy:        #1a1a1a;
  --orbit-navy-dark:   #141414;
  --orbit-navy-mid:    #333333;
  --orbit-gold:        #1a1a1a;
  --orbit-gold-light:  #4a4a4a;
  --orbit-gold-dim:    rgba(26, 26, 26, 0.08);
  --orbit-rose:        #e0d8cf;
  --orbit-glass:       rgba(255, 255, 255, 0.85);
  --orbit-glass-border: rgba(0, 0, 0, 0.06);
  --orbit-shadow-soft: 0 2px 12px rgba(0, 0, 0, 0.04);
  --orbit-shadow-medium: 0 4px 20px rgba(0, 0, 0, 0.06);
  --orbit-shadow-dramatic: 0 8px 30px rgba(0, 0, 0, 0.08);
  --orbit-radius-sm: 0px;
  --orbit-radius-md: 0px;
  --orbit-radius-lg: 0px;
  --orbit-radius-xl: 0px;
  --orbit-ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --orbit-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --orbit-ease-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --orbit-duration-fast: 0.3s;
  --orbit-duration-normal: 0.5s;
  --orbit-duration-slow: 0.9s;
}

/* ---------- Smooth Scroll Behavior ---------- */

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

/* ---------- Keyframe Animations ---------- */

@keyframes orbit-fade-up {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes orbit-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes orbit-scale-in {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes orbit-slide-left {
  from { opacity: 0; transform: translateX(-40px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes orbit-slide-right {
  from { opacity: 0; transform: translateX(40px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes orbit-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes orbit-pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgb(30 58 95 / 0.35); }
  50% { box-shadow: 0 0 28px 6px rgb(30 58 95 / 0.12); }
}

@keyframes orbit-shimmer-sweep {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes orbit-gradient-shift {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

@keyframes orbit-ring-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes orbit-glow-line {
  0% { clip-path: inset(0 100% 0 0); opacity: 0; }
  5% { opacity: 1; }
  100% { clip-path: inset(0 0% 0 0); opacity: 1; }
}

@keyframes orbit-ambient-float {
  0%, 100% { transform: translateY(0) translateX(0); }
  25% { transform: translateY(-6px) translateX(3px); }
  50% { transform: translateY(-2px) translateX(-2px); }
  75% { transform: translateY(-8px) translateX(1px); }
}

@keyframes orbit-card-shine {
  0% { left: -100%; }
  50%, 100% { left: 150%; }
}

/* ---------- Typography & Base ---------- */

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

::selection {
  background: rgb(var(--color-foreground-rgb, 74, 74, 74) / 0.25);
  color: inherit;
}

/* ---------- 3D Canvas Container ---------- */

#orbit-3d-canvas {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--layer-lowest);
  pointer-events: none;
}

/* 2D CSS fallback ambient particles */
.orbit-ambient-particles {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: var(--layer-lowest);
  pointer-events: none;
  overflow: hidden;
}

.orbit-ambient-particle {
  position: absolute;
  border-radius: 50%;
  opacity: 0;
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-ambient-particle {
    animation: orbit-ambient-float 8s ease-in-out infinite;
  }
}

/* ---------- Scroll-Driven Reveal Classes ---------- */

@media (prefers-reduced-motion: no-preference) {
  .orbit-reveal {
    opacity: 0;
    transform: translateY(30px);
  }
  .orbit-reveal.orbit-visible {
    animation: orbit-fade-up var(--orbit-duration-slow) var(--orbit-ease-out) forwards;
  }

  .orbit-reveal-scale {
    opacity: 0;
    transform: scale(0.9);
  }
  .orbit-reveal-scale.orbit-visible {
    animation: orbit-scale-in var(--orbit-duration-slow) var(--orbit-ease-out) forwards;
  }

  .orbit-reveal-left {
    opacity: 0;
    transform: translateX(-40px);
  }
  .orbit-reveal-left.orbit-visible {
    animation: orbit-slide-left var(--orbit-duration-slow) var(--orbit-ease-out) forwards;
  }

  .orbit-reveal-right {
    opacity: 0;
    transform: translateX(40px);
  }
  .orbit-reveal-right.orbit-visible {
    animation: orbit-slide-right var(--orbit-duration-slow) var(--orbit-ease-out) forwards;
  }

  /* Staggered children -- elegant cascade */
  .orbit-stagger > * {
    opacity: 0;
    transform: translateY(30px);
  }
  .orbit-stagger.orbit-visible > * {
    animation: orbit-fade-up 0.8s var(--orbit-ease-out) forwards;
  }
  .orbit-stagger.orbit-visible > *:nth-child(1) { animation-delay: 0s; }
  .orbit-stagger.orbit-visible > *:nth-child(2) { animation-delay: 0.08s; }
  .orbit-stagger.orbit-visible > *:nth-child(3) { animation-delay: 0.16s; }
  .orbit-stagger.orbit-visible > *:nth-child(4) { animation-delay: 0.24s; }
  .orbit-stagger.orbit-visible > *:nth-child(5) { animation-delay: 0.32s; }
  .orbit-stagger.orbit-visible > *:nth-child(6) { animation-delay: 0.40s; }
  .orbit-stagger.orbit-visible > *:nth-child(7) { animation-delay: 0.48s; }
  .orbit-stagger.orbit-visible > *:nth-child(8) { animation-delay: 0.56s; }
}

/* ---------- Smooth Page Load ---------- */

@media (prefers-reduced-motion: no-preference) {
  .content-for-layout {
    animation: orbit-fade-in 1s ease both;
    animation-delay: 0.1s;
  }
}

/* ---------- Premium Product Cards ---------- */

.product-card,
.collection-card {
  border-radius: var(--orbit-radius-md);
  transition:
    transform 0.5s var(--orbit-ease-out),
    box-shadow 0.5s var(--orbit-ease-out);
  overflow: visible;
}

/* Ensure product info is never clipped */
.product-card__content {
  overflow: visible;
}

/* Premium hover: depth + glow ring */
@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card:hover,
  .collection-card:hover {
    box-shadow: var(--orbit-shadow-dramatic);
  }

  /* Elegant shine sweep on card hover */
  .product-card {
    position: relative;
  }

  .product-card::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 60%;
    height: 100%;
    background: linear-gradient(
      105deg,
      transparent 30%,
      rgb(255 255 255 / 0.12) 45%,
      rgb(255 255 255 / 0.2) 50%,
      rgb(255 255 255 / 0.12) 55%,
      transparent 70%
    );
    border-radius: var(--orbit-radius-md);
    pointer-events: none;
    z-index: 2;
    transition: none;
  }

  .product-card:hover::after {
    animation: orbit-card-shine 0.8s ease forwards;
  }

  /* Subtle gold bottom accent on collection cards */
  .collection-card {
    position: relative;
  }
  .collection-card::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 15%;
    right: 15%;
    height: 2px;
    background: linear-gradient(90deg, transparent, var(--orbit-gold), var(--orbit-gold-light), var(--orbit-gold), transparent);
    border-radius: 1px;
    transform: scaleX(0);
    transition: transform 0.5s var(--orbit-ease-out);
    z-index: 3;
  }
  .collection-card:hover::before {
    transform: scaleX(1);
  }
}

/* Card image styling -- proper radius, no clipping content */
.card-gallery,
.collection-card__image,
.product-card__image,
.featured-blog-posts-card__image {
  border-radius: var(--orbit-radius-md);
  overflow: hidden;
}

/* Image hover overlay -- premium gradient */
@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .collection-card__image::after,
  .product-card .card-gallery::after {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to top,
      rgb(0 0 0 / 0.06) 0%,
      transparent 40%
    );
    opacity: 0;
    transition: opacity 0.5s ease;
    pointer-events: none;
    border-radius: var(--orbit-radius-md);
    z-index: 1;
  }
  .collection-card:hover .collection-card__image::after,
  .product-card:hover .card-gallery::after {
    opacity: 1;
  }
}

/* ---------- Premium Title Shimmer on Hover ---------- */

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card__title a:hover,
  .product-card__title:hover {
    background: linear-gradient(
      105deg,
      currentColor 25%,
      var(--orbit-gold) 45%,
      var(--orbit-gold-light) 55%,
      currentColor 75%
    );
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: orbit-shimmer-sweep 2s linear infinite;
  }
}

/* ---------- Premium Button Styles ---------- */

.button--primary,
[class*="button--primary"],
.shopify-payment-button .shopify-payment-button__button {
  transition:
    transform 0.3s var(--orbit-ease-out),
    box-shadow 0.3s var(--orbit-ease-out),
    background-color 0.3s ease;
  border-radius: var(--orbit-radius-sm) !important;
  position: relative;
  overflow: hidden;
}

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button--primary:hover,
  [class*="button--primary"]:hover,
  .shopify-payment-button .shopify-payment-button__button:hover {
    transform: translateY(-3px);
    box-shadow:
      0 8px 28px rgb(0 0 0 / 0.15),
      0 2px 8px rgb(0 0 0 / 0.08);
  }
  .button--primary:active,
  [class*="button--primary"]:active {
    transform: translateY(0) scale(0.97);
    box-shadow: 0 2px 8px rgb(0 0 0 / 0.1);
  }
}

.button--secondary,
[class*="button--secondary"] {
  border-radius: var(--orbit-radius-sm) !important;
  transition:
    transform 0.3s var(--orbit-ease-out),
    box-shadow 0.3s var(--orbit-ease-out),
    border-color 0.3s ease;
}

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button--secondary:hover,
  [class*="button--secondary"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgb(0 0 0 / 0.07);
  }
}

/* ---------- Sticky Header -- Glassmorphism ---------- */

header-component[data-sticky-state="active"] {
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
}

header-component[data-sticky-state="active"] .header-section {
  box-shadow: 0 1px 0 rgb(0 0 0 / 0.04), 0 4px 24px rgb(0 0 0 / 0.06);
}

/* ---------- Hero Section Enhancements ---------- */

.section--height-large,
.section--height-medium,
.section--height-full-screen {
  overflow: hidden;
}

.section-background {
  transition: background-color 0.6s ease;
}

/* ---------- Footer -- Refined ---------- */

footer {
  position: relative;
}

footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 5%;
  right: 5%;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgb(255 255 255 / 0.08) 20%,
    rgb(255 255 255 / 0.12) 50%,
    rgb(255 255 255 / 0.08) 80%,
    transparent 100%
  );
}

/* ---------- Form Enhancements ---------- */

input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
textarea,
select {
  border-radius: var(--orbit-radius-sm);
  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background-color 0.25s ease;
}

input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):focus,
textarea:focus,
select:focus {
  box-shadow: 0 0 0 3px rgb(var(--color-foreground-rgb, 74, 74, 74) / 0.12), 0 0 0 1px rgb(var(--color-foreground-rgb, 74, 74, 74) / 0.2);
}

/* ---------- Badge Enhancement ---------- */

.product-badge,
.badge {
  border-radius: 6px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

/* ---------- Scrollbar -- Minimal ---------- */

::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: transparent;
}

::-webkit-scrollbar-thumb {
  background: rgb(0 0 0 / 0.12);
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgb(0 0 0 / 0.22);
}

/* ---------- Link Underline Animation ---------- */

.footer a:not(.button--primary):not(.button--secondary),
.rte a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-size: 0% 1px;
  background-repeat: no-repeat;
  background-position: left bottom;
  transition: background-size 0.35s var(--orbit-ease-out);
}

.footer a:not(.button--primary):not(.button--secondary):hover,
.rte a:hover {
  background-size: 100% 1px;
}

/* ---------- Logo Section ---------- */

.logo-section {
  transition: opacity 0.6s ease;
}

.logo-section__image {
  transition: transform 0.6s var(--orbit-ease-out);
}

/* ---------- Dialogs & Modals -- Depth ---------- */

dialog {
  border-radius: var(--orbit-radius-lg);
  box-shadow: var(--orbit-shadow-dramatic);
}

dialog::backdrop {
  backdrop-filter: blur(8px) saturate(1.2);
  -webkit-backdrop-filter: blur(8px) saturate(1.2);
}

.cart-drawer {
  border-radius: var(--orbit-radius-lg) 0 0 var(--orbit-radius-lg);
  box-shadow: -12px 0 60px rgb(0 0 0 / 0.12);
}

.quick-add-modal {
  border-radius: var(--orbit-radius-lg);
}

/* ---------- Predictive Search ---------- */

.predictive-search {
  border-radius: var(--orbit-radius-md);
  box-shadow: var(--orbit-shadow-medium);
  overflow: hidden;
}

/* ---------- Collection Grid ---------- */

.resource-list {
  gap: inherit;
}

/* ---------- Announcement Bar ---------- */

@media (prefers-reduced-motion: no-preference) {
  .header-section .color-scheme-3 {
    background-size: 200% 200%;
    animation: orbit-gradient-shift 8s ease infinite;
  }
}

/* ---------- Section Dividers ---------- */

.divider-section hr,
.divider {
  border: none;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent,
    rgb(0 0 0 / 0.08) 20%,
    rgb(0 0 0 / 0.08) 80%,
    transparent
  );
}

/* ---------- Gold Thread Divider ---------- */

.orbit-thread-divider {
  border: none;
  height: 1px;
  background: linear-gradient(
    90deg,
    transparent 0%,
    var(--orbit-beige) 20%,
    var(--orbit-charcoal) 50%,
    var(--orbit-beige) 80%,
    transparent 100%
  );
  margin: 2rem auto;
  max-width: 200px;
  clip-path: inset(0 100% 0 0);
  transition: none;
}

.orbit-thread-divider.orbit-visible {
  animation: orbit-glow-line 0.9s var(--orbit-ease-out) forwards;
}

/* ---------- Swatch ---------- */

.swatch {
  border-radius: 50%;
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease;
}

.swatch:hover {
  transform: scale(1.15);
  box-shadow: 0 2px 10px rgb(0 0 0 / 0.14);
}

/* ---------- Quantity Selector ---------- */

.quantity-selector {
  border-radius: var(--orbit-radius-sm);
  overflow: hidden;
}

/* ---------- Newsletter ---------- */

.email-signup-form input[type="email"] {
  border-radius: var(--orbit-radius-sm);
}

/* ---------- Popover ---------- */

[popover],
.popover {
  border-radius: var(--orbit-radius-md);
  box-shadow: var(--orbit-shadow-medium);
}

/* ---------- Featured Product Gold Accent ---------- */

.featured-product .product-information__title,
.featured-product-information .product-information__title {
  position: relative;
}

.featured-product .product-information__title::after,
.featured-product-information .product-information__title::after {
  content: '';
  display: block;
  width: 48px;
  height: 2px;
  margin-top: 12px;
  background: linear-gradient(90deg, var(--orbit-gold), var(--orbit-gold-light));
  border-radius: 1px;
}

/* ---------- Loader ---------- */

.orbit-hoop-loader {
  display: inline-block;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 2px solid rgba(26, 26, 26, 0.1);
  border-top-color: var(--orbit-black);
  border-right-color: var(--orbit-charcoal);
  animation: orbit-ring-spin 0.9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite;
}

/* ---------- Eyebrow Label ---------- */

.orbit-embroidery-label {
  position: relative;
  display: inline-block;
}

.orbit-embroidery-label::before,
.orbit-embroidery-label::after {
  content: '';
}

.orbit-embroidery-label::after {
  content: '';
}

/* ---------- Sale Price ---------- */

.sale-price,
.price--on-sale .price-item--sale {
  color: var(--orbit-black);
  font-weight: 600;
}

/* ---------- Add-to-Cart Pulse ---------- */

@media (prefers-reduced-motion: no-preference) {
  .button--primary[aria-label*="cart" i],
  form[action*="/cart/add"] .button--primary {
    position: relative;
    overflow: visible;
  }

  .button--primary.orbit-adding::before {
    content: '';
    position: absolute;
    inset: -4px;
    border-radius: 12px;
    border: 2px solid transparent;
    background:
      linear-gradient(transparent, transparent) padding-box,
      linear-gradient(135deg, var(--orbit-gold), var(--orbit-gold-light) 50%, var(--orbit-gold)) border-box;
    animation: orbit-ring-spin 0.8s linear infinite;
  }
}

/* ---------- Marquee ---------- */

.marquee__item {
  transition: color 0.2s ease;
}

/* ---------- Cursor Glow (desktop) ---------- */

.orbit-cursor-glow {
  position: fixed;
  top: 0;
  left: 0;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgb(201 164 85 / 0.06) 0%, transparent 70%);
  pointer-events: none;
  z-index: 9998;
  transition: opacity 0.4s ease;
  will-change: transform;
}

/* ---------- Scroll-to-top Button ---------- */

.orbit-scroll-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 99;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(16px);
  transition:
    opacity 0.4s ease,
    visibility 0.4s ease,
    transform 0.4s var(--orbit-ease-out),
    box-shadow 0.3s ease;
  background: var(--color-primary-button-background, var(--orbit-navy));
  color: var(--color-primary-button-text, #fff);
  box-shadow: 0 4px 20px rgb(0 0 0 / 0.15);
  backdrop-filter: blur(8px);
}

.orbit-scroll-top:hover {
  box-shadow: 0 8px 32px rgb(0 0 0 / 0.2);
  transform: translateY(-2px) !important;
}

.orbit-scroll-top.orbit-scroll-top--visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ---------- Mobile Responsive ---------- */

@media screen and (max-width: 749px) {
  .product-card,
  .collection-card {
    border-radius: 10px;
  }

  .card-gallery,
  .collection-card__image,
  .product-card__image {
    border-radius: 10px;
  }

  /* No card shine on mobile */
  .product-card::after {
    display: none !important;
  }

  .collection-card::before {
    display: none;
  }

  .orbit-cursor-glow {
    display: none;
  }
}

/* ============================================================
   ORBIT TRENDS v1 REVOLUTION -- Extended Design System
   Cinematic Hero - Brand Story - Enhanced Cards - Typography
   ============================================================ */

/* ---------- Hero Cinematic Section ---------- */

.orbit-hero-cinematic {
  position: relative;
  min-height: 85svh;
  min-height: 85vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    var(--orbit-hero-bg-image, none) center center / cover no-repeat,
    linear-gradient(
      180deg,
      #ebe5dd 0%,
      #f5f0eb 40%,
      #f5f0eb 100%
    );
  overflow: hidden;
  isolation: isolate;
}

/* Soft overlay when background image is set */
.orbit-hero-cinematic::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    180deg,
    rgba(235, 229, 221, 0.85) 0%,
    rgba(245, 240, 235, 0.9) 50%,
    rgba(245, 240, 235, 0.95) 100%
  );
  z-index: 1;
}

/* ---------- Thread Pattern Overlay ---------- */

.orbit-hero__thread-pattern {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}

.orbit-hero__thread-svg {
  width: 100%;
  height: 100%;
}

@keyframes orbit-thread-draw {
  from { stroke-dashoffset: 1000; }
  to { stroke-dashoffset: 0; }
}

@keyframes orbit-thread-dot-appear {
  from { opacity: 0; transform: scale(0); }
  to { opacity: 1; transform: scale(1); }
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-thread-path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
    animation: orbit-thread-draw 4s var(--orbit-ease-out) forwards;
  }
  .orbit-thread-path--1 { animation-delay: 0.3s; }
  .orbit-thread-path--2 { animation-delay: 0.8s; }
  .orbit-thread-path--3 { animation-delay: 1.2s; }
  .orbit-thread-path--4 { animation-delay: 0.5s; }
  .orbit-thread-path--5 { animation-delay: 1s; }
  .orbit-thread-dot {
    animation: orbit-thread-dot-appear 0.6s var(--orbit-ease-spring) both;
  }
}

/* ---------- Floating Embroidery Hoop ---------- */

.orbit-hero__hoop {
  position: absolute;
  top: 8%;
  right: 5%;
  width: min(180px, 22vw);
  z-index: 3;
  pointer-events: none;
  opacity: 0.6;
}

@keyframes orbit-hoop-float {
  0%, 100% { transform: translateY(0) rotate(0deg); }
  33% { transform: translateY(-12px) rotate(1.5deg); }
  66% { transform: translateY(-5px) rotate(-1deg); }
}

@keyframes orbit-hoop-appear {
  from { opacity: 0; transform: scale(0.7) rotate(-10deg); }
  to { opacity: 0.6; transform: scale(1) rotate(0deg); }
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__hoop {
    animation:
      orbit-hoop-appear 1.2s var(--orbit-ease-spring) 1s both,
      orbit-hoop-float 7s ease-in-out 2.2s infinite;
  }
}

@media screen and (max-width: 749px) {
  .orbit-hero__hoop {
    width: 90px;
    top: 5%;
    right: 3%;
    opacity: 0.35;
  }
}

/* ---------- Hero Content ---------- */

.orbit-hero__content {
  position: relative;
  z-index: 4;
  text-align: center;
  padding: clamp(2rem, 6vw, 5rem) clamp(1.25rem, 6vw, 5rem);
  max-width: 900px;
  width: 100%;
  color: var(--orbit-black);
}

/* ---------- Eyebrow ---------- */

.orbit-hero__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 2rem;
}

.orbit-hero__eyebrow-text {
  font-size: clamp(0.65rem, 1.5vw, 0.75rem);
  letter-spacing: 0.3em;
  color: var(--orbit-charcoal);
  font-weight: 400;
  text-transform: uppercase;
  white-space: nowrap;
}

.orbit-hero__eyebrow-line {
  display: none;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__eyebrow {
    animation: orbit-fade-up 1s var(--orbit-ease-out) 0.3s both;
  }
}

/* ---------- Headline -- Elegant Serif ---------- */

.orbit-hero__headline {
  font-size: clamp(2.5rem, 7vw, 5rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--orbit-black);
  margin: 0 0 1.5rem;
  text-transform: none;
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif);
}

.orbit-hero__headline em,
.orbit-hero__headline i {
  font-style: italic;
  font-family: var(--font-accent--family, 'Playfair Display', Georgia, serif);
}

.orbit-hero__headline p {
  margin: 0;
}

.orbit-hero__word {
  display: inline-flex;
  overflow: hidden;
}

.orbit-letter {
  display: inline-block;
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-letter {
    opacity: 0;
    transform: translateY(100%);
  }
  .orbit-letter.orbit-letter--visible {
    animation: orbit-letter-drop 0.7s var(--orbit-ease-spring) both;
  }
}

@keyframes orbit-letter-drop {
  from { opacity: 0; transform: translateY(100%); }
  to { opacity: 1; transform: translateY(0); }
}

/* ---------- Thread Accent SVG ---------- */

.orbit-hero__thread-accent {
  width: clamp(180px, 40vw, 400px);
  height: 12px;
  margin: 0.5rem auto 1.5rem;
}

.orbit-hero__thread-accent svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.orbit-hero__accent-path {
  stroke-dasharray: 600;
  stroke-dashoffset: 600;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__accent-path {
    animation: orbit-thread-draw 1.5s var(--orbit-ease-out) 1.4s both;
  }
  .orbit-hero__accent-dot--1 {
    opacity: 0;
    animation: orbit-thread-dot-appear 0.5s var(--orbit-ease-spring) 2s both;
  }
  .orbit-hero__accent-dot--2 {
    opacity: 0;
    animation: orbit-thread-dot-appear 0.5s var(--orbit-ease-spring) 2.3s both;
  }
  .orbit-hero__accent-dot--3 {
    opacity: 0;
    animation: orbit-thread-dot-appear 0.5s var(--orbit-ease-spring) 2.6s both;
  }
}

/* ---------- Sub-headline ---------- */

.orbit-hero__subheadline {
  font-size: clamp(0.9rem, 2vw, 1.05rem);
  color: var(--orbit-charcoal);
  line-height: 1.7;
  margin: 0 auto 2.5rem;
  max-width: 520px;
  font-weight: 400;
  letter-spacing: 0.01em;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__subheadline {
    animation: orbit-fade-up 1s var(--orbit-ease-out) 1.4s both;
  }
}

/* ---------- Hero CTAs ---------- */

.orbit-hero__ctas {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 2.5rem;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__ctas {
    animation: orbit-fade-up 1s var(--orbit-ease-out) 1.7s both;
  }
}

.orbit-hero__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 1rem 2.5rem;
  border-radius: 0;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  transition:
    transform 0.3s var(--orbit-ease-out),
    box-shadow 0.3s var(--orbit-ease-out),
    background-color 0.3s ease,
    color 0.3s ease;
  white-space: nowrap;
}

.orbit-hero__cta--primary {
  background: var(--orbit-black);
  color: var(--orbit-white);
  box-shadow: none;
}

.orbit-hero__cta--primary:hover {
  background: #333333;
  transform: none;
  box-shadow: none;
  color: var(--orbit-white);
  text-decoration: none;
}

.orbit-hero__cta-arrow {
  display: none;
}

.orbit-hero__cta--secondary {
  background: transparent;
  color: var(--orbit-black);
  border: 1px solid var(--orbit-black);
}

.orbit-hero__cta--secondary:hover {
  border-color: var(--orbit-black);
  background: var(--orbit-black);
  color: var(--orbit-white);
  transform: none;
  box-shadow: none;
  text-decoration: none;
}

/* ---------- Trust Bar ---------- */

.orbit-hero__trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__trust-bar {
    animation: orbit-fade-up 0.8s var(--orbit-ease-out) 2.2s both;
  }
}

.orbit-hero__trust-item {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(26, 26, 26, 0.5);
  font-weight: 500;
}

.orbit-hero__trust-dot {
  color: var(--orbit-beige);
  opacity: 0.8;
}

/* ---------- Scroll Indicator ---------- */

.orbit-hero__scroll-indicator {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__scroll-indicator {
    animation: orbit-fade-in 1s ease 2.5s both;
  }
}

@keyframes orbit-scroll-pulse {
  0%, 100% { transform: scaleY(1); opacity: 0.6; }
  50% { transform: scaleY(0.4); opacity: 1; }
}

.orbit-hero__scroll-line {
  width: 1px;
  height: 36px;
  background: linear-gradient(to bottom, var(--orbit-beige), transparent);
  transform-origin: top;
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-hero__scroll-line {
    animation: orbit-scroll-pulse 2s ease-in-out infinite;
  }
}

.orbit-hero__scroll-text {
  font-size: 0.55rem;
  letter-spacing: 0.25em;
  color: rgba(26, 26, 26, 0.35);
  text-transform: uppercase;
}

@media screen and (max-width: 749px) {
  .orbit-hero__scroll-indicator {
    display: none;
  }
}

/* ---------- Brand Story Section ---------- */

.orbit-brand-story {
  background: var(--orbit-cream);
  overflow: hidden;
  padding: clamp(3rem, 8vw, 6rem) 0 0;
}

.orbit-brand-story__split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(2rem, 5vw, 5rem);
  align-items: start;
  padding: 0 clamp(1.5rem, 6vw, 5rem);
  max-width: 1400px;
  margin: 0 auto;
}

@media screen and (max-width: 900px) {
  .orbit-brand-story__split {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

/* Left column */

.orbit-brand-story__left {
  padding: clamp(1rem, 3vw, 2.5rem) 0;
}

.orbit-brand-story__eyebrow {
  display: inline-block;
  font-size: 0.68rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--orbit-charcoal);
  font-weight: 400;
  margin-bottom: 1.5rem;
}

.orbit-brand-story__heading {
  font-size: clamp(2rem, 5vw, 3.5rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--orbit-black);
  margin: 0 0 1rem;
  letter-spacing: -0.01em;
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif);
}

.orbit-brand-story__thread-underline {
  max-width: 120px;
  margin: 0 0 1.5rem;
}

.orbit-brand-story__body {
  font-size: clamp(0.95rem, 2vw, 1.05rem);
  line-height: 1.75;
  color: var(--orbit-charcoal);
  margin: 0 0 2rem;
  max-width: 420px;
}

.orbit-brand-story__cta {
  display: inline-flex;
  flex-direction: column;
  gap: 4px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--orbit-black);
  text-decoration: none;
  transition: color 0.3s ease;
}

.orbit-brand-story__cta-line {
  display: block;
  height: 1px;
  background: var(--orbit-black);
  width: 0;
  transition: width 0.4s var(--orbit-ease-out);
}

.orbit-brand-story__cta:hover {
  color: var(--orbit-charcoal);
  text-decoration: none;
}

.orbit-brand-story__cta:hover .orbit-brand-story__cta-line {
  width: 100%;
}

/* Right column -- 2x2 highlight grid */

.orbit-brand-story__right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.orbit-brand-story__card {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: 3 / 4;
  background: var(--orbit-cream-warm);
}

.orbit-brand-story__card:nth-child(1) {
  margin-top: 0;
}

.orbit-brand-story__card:nth-child(2) {
  margin-top: 1.5rem;
}

.orbit-brand-story__card-image {
  width: 100%;
  height: 100%;
}

.orbit-brand-story__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--orbit-ease-out);
}

.orbit-brand-story__card:hover .orbit-brand-story__card-img {
  transform: scale(1.06);
}

.orbit-brand-story__card-image--placeholder svg {
  width: 100%;
  height: 100%;
  opacity: 0.3;
}

.orbit-brand-story__card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 0.75rem;
  background: linear-gradient(to top, rgba(26, 26, 26, 0.7) 0%, transparent 100%);
}

.orbit-brand-story__card-label {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orbit-cream);
}

/* ---------- Brand Story Technique Marquee ---------- */

.orbit-brand-story__marquee-wrap {
  margin-top: clamp(2.5rem, 5vw, 4rem);
  border-top: 1px solid rgba(26, 26, 26, 0.08);
  border-bottom: 1px solid rgba(26, 26, 26, 0.08);
  background: var(--orbit-cream-warm);
  padding: 1rem 0;
  overflow: hidden;
}

.orbit-brand-story__marquee {
  overflow: hidden;
  white-space: nowrap;
}

.orbit-brand-story__marquee-track {
  display: inline-flex;
  gap: 0;
}

@keyframes orbit-marquee-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-33.333%); }
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-brand-story__marquee-track {
    animation: orbit-marquee-scroll 28s linear infinite;
  }
}

.orbit-brand-story__marquee-track span {
  padding: 0 2rem;
  font-size: 0.68rem;
  letter-spacing: 0.25em;
  font-weight: 400;
  text-transform: uppercase;
  color: var(--orbit-charcoal);
  opacity: 0.6;
}

/* ---------- Enhanced Product Cards ---------- */

/* Gold border on hover */
.product-card {
  transition:
    transform var(--orbit-duration-normal) var(--orbit-ease-out),
    box-shadow var(--orbit-duration-normal) var(--orbit-ease-out),
    outline-color 0.3s ease;
  outline: 2px solid transparent;
  outline-offset: 0px;
}

@media (any-pointer: fine) and (prefers-reduced-motion: no-preference) {
  .product-card:hover {
    outline-color: rgba(26, 26, 26, 0.15);
  }
}

/* Embroidery badge */
.orbit-product-badge--embroidery {
  position: absolute;
  top: 10px;
  left: 10px;
  background: var(--orbit-black);
  color: var(--orbit-white);
  font-size: 0.6rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 4px;
  z-index: 5;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-4px);
  transition:
    opacity 0.25s ease,
    transform 0.25s var(--orbit-ease-out);
}

.product-card:hover .orbit-product-badge--embroidery,
.product-card:focus-within .orbit-product-badge--embroidery {
  opacity: 1;
  transform: translateY(0);
}

/* ---------- Letter Reveal Helper Classes ---------- */

.orbit-letter-reveal {
  overflow: hidden;
}

/* ---------- Mobile Hero Adjustments ---------- */

@media screen and (max-width: 749px) {
  .orbit-hero-cinematic {
    min-height: 100svh;
    justify-content: flex-start;
    padding-top: calc(var(--header-group-height, 60px) + 2rem);
    align-items: flex-start;
  }

  .orbit-hero__content {
    text-align: left;
    padding: 1.5rem 1.25rem 2rem;
  }

  .orbit-hero__eyebrow {
    justify-content: flex-start;
  }

  .orbit-hero__headline {
    justify-content: flex-start;
    font-size: clamp(2.8rem, 16vw, 4.5rem);
  }

  .orbit-hero__thread-accent {
    margin: 0.5rem 0 1.5rem;
  }

  .orbit-hero__subheadline {
    text-align: left;
    max-width: 100%;
  }

  .orbit-hero__ctas {
    flex-direction: column;
    align-items: flex-start;
  }

  .orbit-hero__cta {
    width: 100%;
    justify-content: center;
  }

  .orbit-hero__trust-bar {
    justify-content: flex-start;
    gap: 0.75rem;
  }

  .orbit-hero__hoop {
    width: 80px;
    top: 3%;
    right: 2%;
  }
}

/* ============================================================
   ORBIT TRENDS -- Overnight Build: Collection, Contact,
   Product, Header, Footer, Mobile Polish
   ============================================================ */

/* ---------- Collection Hero ---------- */

.orbit-collection-hero {
  background: linear-gradient(180deg, var(--orbit-cream-warm) 0%, var(--orbit-cream) 100%);
  padding: clamp(3rem, 8vw, 5rem) clamp(1.5rem, 6vw, 5rem) clamp(2.5rem, 6vw, 4rem);
  text-align: center;
  position: relative;
  overflow: hidden;
}

.orbit-collection-hero::after {
  content: none;
}

.orbit-collection-hero__inner {
  position: relative;
  z-index: 1;
  max-width: 700px;
  margin: 0 auto;
}

.orbit-collection-hero__eyebrow {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-bottom: 1rem;
}

.orbit-collection-hero__eyebrow-text {
  font-size: 0.65rem;
  letter-spacing: 0.35em;
  color: var(--orbit-charcoal);
  font-weight: 400;
  text-transform: uppercase;
}

.orbit-collection-hero__line {
  display: none;
}

.orbit-collection-hero__title {
  font-size: clamp(2rem, 6vw, 3.5rem);
  font-weight: 400;
  color: var(--orbit-black);
  margin: 0 0 0.5rem;
  letter-spacing: -0.01em;
  text-transform: none;
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif);
}

.orbit-collection-hero__divider {
  width: 60px;
  height: 1px;
  background: var(--orbit-beige);
  margin: 1rem auto;
}

.orbit-collection-hero__thread {
  display: none;
}

.orbit-collection-hero__desc {
  font-size: clamp(0.9rem, 2vw, 1.05rem);
  color: var(--orbit-charcoal);
  max-width: 500px;
  margin: 0 auto 0.75rem;
  line-height: 1.65;
}

.orbit-collection-hero__count {
  font-size: 0.7rem;
  letter-spacing: 0.2em;
  color: var(--orbit-charcoal);
  text-transform: uppercase;
  font-weight: 400;
  opacity: 0.6;
}

/* ---------- Collection Grid Enhancements ---------- */

/* Filter bar styling */
.facets-wrapper,
.search-form {
  border-bottom: 1px solid rgba(0,0,0,0.06);
  padding-bottom: 1rem;
  margin-bottom: 1.5rem;
}

/* Product grid spacing */
.product-grid {
  gap: clamp(16px, 2.5vw, 28px);
}

/* Sort/filter label uppercase tracking */
.facets__heading,
.facets label {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
}

/* Active filter pills */
.active-facets__button {
  border-radius: 0;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  border: 1px solid var(--color-primary, var(--orbit-black));
  transition: all 0.2s ease;
}

.active-facets__button:hover {
  background: var(--color-primary, var(--orbit-black));
  color: var(--color-primary-button-text, #fff);
}

/* ---------- Product Page Enhancements ---------- */

/* Product title */
.product-information .product-information__title,
.product__title {
  font-size: clamp(1.5rem, 4vw, 2.4rem);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.15;
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif);
}

/* Price display */
.price--large {
  font-size: clamp(1.2rem, 3vw, 1.6rem);
  font-weight: 700;
}

/* Variant labels */
.variant-picker__label {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--orbit-navy);
}

/* Add to cart button -- gold treatment */
.product-information form .button--primary,
.product-form__submit {
  background: var(--orbit-navy) !important;
  border-color: var(--orbit-navy) !important;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 1rem 2.5rem;
  transition: all 0.3s var(--orbit-ease-out) !important;
}

.product-information form .button--primary:hover,
.product-form__submit:hover {
  background: var(--orbit-gold) !important;
  border-color: var(--orbit-gold) !important;
  color: var(--orbit-navy-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(201, 164, 85, 0.35) !important;
}

/* Product media gallery -- rounded, shadow */
.product-media-modal .product-media,
.product__media-item {
  border-radius: var(--orbit-radius-md);
  overflow: hidden;
}

/* Product description */
.product__description,
.product-information .rte {
  font-size: 0.95rem;
  line-height: 1.8;
  color: rgba(45, 45, 45, 0.8);
}

/* Trust badges below ATC */
.orbit-product-trust {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  padding: 1rem 0;
  border-top: 1px solid rgba(0,0,0,0.06);
  margin-top: 0.5rem;
  flex-wrap: wrap;
}

.orbit-product-trust__item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.7rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(45,45,45,0.6);
  font-weight: 500;
}

.orbit-product-trust__item svg {
  color: var(--orbit-gold);
  flex-shrink: 0;
}

/* ---------- Contact Page ---------- */

.orbit-contact {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 80vh;
  max-width: 1400px;
  margin: 0 auto;
  padding: clamp(3rem, 8vw, 5rem) clamp(1.5rem, 6vw, 4rem);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: start;
}

@media screen and (max-width: 900px) {
  .orbit-contact {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

/* Left panel */
.orbit-contact__brand {
  position: sticky;
  top: calc(var(--header-group-height, 80px) + 2rem);
  position: relative;
}

.orbit-contact__eyebrow {
  display: inline-block;
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--orbit-gold);
  font-weight: 600;
  margin-bottom: 1.25rem;
}

.orbit-contact__heading {
  font-size: clamp(2.5rem, 6vw, 4rem);
  font-weight: 900;
  color: var(--orbit-navy-dark);
  margin: 0 0 0.5rem;
  letter-spacing: -0.03em;
  line-height: 1.05;
}

.orbit-contact__divider {
  margin: 1rem 0 1.5rem;
}

.orbit-contact__body {
  font-size: clamp(0.95rem, 2vw, 1.05rem);
  line-height: 1.75;
  color: rgba(15, 34, 51, 0.65);
  max-width: 380px;
  margin-bottom: 2rem;
}

.orbit-contact__details {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.orbit-contact__detail-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.9rem;
  color: var(--orbit-navy);
}

.orbit-contact__detail-icon {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(201, 164, 85, 0.1);
  border-radius: 8px;
  flex-shrink: 0;
}

.orbit-contact__detail-link {
  color: var(--orbit-navy);
  text-decoration: none;
  font-weight: 500;
  transition: color 0.2s ease;
}

.orbit-contact__detail-link:hover {
  color: var(--orbit-gold);
}

.orbit-contact__hoop {
  position: absolute;
  bottom: -20px;
  right: -20px;
  width: 180px;
  height: 180px;
  pointer-events: none;
  color: var(--orbit-navy);
}

/* Right: Form */
.orbit-contact__form-wrap {
  background: #fff;
  border-radius: var(--orbit-radius-xl);
  padding: clamp(2rem, 4vw, 3rem);
  box-shadow: var(--orbit-shadow-medium);
  border: 1px solid rgba(0,0,0,0.04);
}

.orbit-contact__fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.25rem;
}

.orbit-contact__field {
  grid-column: 1 / -1;
}

.orbit-contact__field--half {
  grid-column: span 1;
}

@media screen and (max-width: 600px) {
  .orbit-contact__field--half {
    grid-column: 1 / -1;
  }
}

.orbit-contact__label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--orbit-navy);
  margin-bottom: 0.5rem;
}

.orbit-contact__label span {
  color: var(--orbit-gold);
}

.orbit-contact__input {
  width: 100%;
  padding: 0.85rem 1rem;
  border: 1.5px solid rgba(0,0,0,0.1);
  border-radius: var(--orbit-radius-sm);
  font-size: 0.95rem;
  color: var(--orbit-navy-dark);
  background: #fafafa;
  transition: border-color 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  box-sizing: border-box;
}

.orbit-contact__input:focus {
  outline: none;
  border-color: var(--orbit-gold);
  box-shadow: 0 0 0 3px rgba(201, 164, 85, 0.12);
  background: #fff;
}

.orbit-contact__textarea {
  resize: vertical;
  min-height: 140px;
  line-height: 1.6;
}

.orbit-contact__select {
  background-image: url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231E3A5F' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  padding-right: 2.5rem;
  cursor: pointer;
}

.orbit-contact__submit {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 1rem 2.5rem;
  background: var(--orbit-navy);
  color: #fff;
  border: none;
  border-radius: var(--orbit-radius-sm);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.3s var(--orbit-ease-out);
  width: 100%;
  justify-content: center;
  font-family: inherit;
}

.orbit-contact__submit:hover {
  background: var(--orbit-gold);
  color: var(--orbit-navy-dark);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(201, 164, 85, 0.35);
}

.orbit-contact__submit-arrow {
  transition: transform 0.3s var(--orbit-ease-out);
}

.orbit-contact__submit:hover .orbit-contact__submit-arrow {
  transform: translateX(4px);
}

/* Success state */
.orbit-contact__success {
  text-align: center;
  padding: 3rem 1rem;
}

.orbit-contact__success-icon {
  margin-bottom: 1rem;
}

.orbit-contact__success h3 {
  font-size: 1.5rem;
  font-weight: 800;
  color: var(--orbit-navy);
  margin: 0 0 0.5rem;
}

.orbit-contact__success p {
  color: rgba(15,34,51,0.65);
  font-size: 0.95rem;
}

/* Errors */
.orbit-contact__errors {
  background: rgba(220, 53, 69, 0.06);
  border: 1px solid rgba(220, 53, 69, 0.2);
  border-radius: var(--orbit-radius-sm);
  padding: 0.75rem 1rem;
  margin-bottom: 1.25rem;
  font-size: 0.85rem;
  color: #c0392b;
}

/* ---------- Header Enhancements ---------- */

/* Logo area -- ensure SVG scales properly */
.header__logo img,
.header__logo svg {
  max-height: 44px;
  width: auto;
}

/* Nav link hover -- gold underline */
.header__menu-item > a,
.header-menu__item > a {
  position: relative;
  transition: color 0.25s ease;
}

.header__menu-item > a::after,
.header-menu__item > a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1.5px;
  background: var(--orbit-gold);
  transition: width 0.35s var(--orbit-ease-out);
}

.header__menu-item > a:hover::after,
.header-menu__item > a:hover::after {
  width: 100%;
}

/* Announcement bar -- gold on navy */
.header-section .color-scheme-3 {
  background: var(--orbit-navy) !important;
}

/* ---------- Footer Redesign ---------- */

footer .footer {
  padding-top: clamp(3rem, 6vw, 4.5rem);
}

/* Footer logo */
.footer__logo {
  margin-bottom: 1rem;
}

/* Footer section headings */
.footer__heading,
.footer__block-heading {
  font-size: 0.68rem !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin-bottom: 1rem !important;
  color: inherit;
  opacity: 0.5;
}

/* Footer links */
.footer__list-item a,
.footer__block a {
  font-size: 0.9rem;
  opacity: 0.75;
  transition: opacity 0.2s ease, color 0.2s ease;
}

.footer__list-item a:hover,
.footer__block a:hover {
  opacity: 1;
  color: var(--orbit-gold);
  text-decoration: none;
}

/* Footer bottom bar */
.footer__copyright {
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  opacity: 0.45;
}

/* ---------- Search Page ---------- */

.search-header__title {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.02em;
}

/* ---------- 404 Page ---------- */

.main-404 {
  text-align: center;
  padding: clamp(4rem, 10vw, 8rem) 1.5rem;
}

/* ---------- Cart Enhancements ---------- */

.cart__title {
  font-size: clamp(1.5rem, 4vw, 2rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
}

/* Cart item image */
.cart-item__image {
  border-radius: var(--orbit-radius-sm);
  overflow: hidden;
}

/* Checkout button */
.cart__checkout-button {
  background: var(--orbit-navy) !important;
  border-color: var(--orbit-navy) !important;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
  font-weight: 700;
  padding: 1.1rem 2rem !important;
  transition: all 0.3s var(--orbit-ease-out) !important;
}

.cart__checkout-button:hover {
  background: var(--orbit-gold) !important;
  border-color: var(--orbit-gold) !important;
  color: var(--orbit-navy-dark) !important;
}

/* ---------- Improved Mobile Polish ---------- */

@media screen and (max-width: 749px) {
  /* Collection hero */
  .orbit-collection-hero {
    padding: 3rem 1.25rem 2rem;
  }

  .orbit-collection-hero__title {
    font-size: 2.2rem;
  }

  /* Contact */
  .orbit-contact {
    padding: 2.5rem 1.25rem;
  }

  .orbit-contact__form-wrap {
    padding: 1.5rem;
    border-radius: var(--orbit-radius-lg);
  }

  .orbit-contact__hoop {
    display: none;
  }

  /* Product */
  .product-information form .button--primary {
    width: 100%;
    justify-content: center;
  }

  /* Footer */
  .footer__blocks {
    gap: 2rem;
  }
}

/* ---------- Page Transitions ---------- */

@media (prefers-reduced-motion: no-preference) {
  .shopify-section {
    animation: orbit-fade-in 0.5s ease both;
  }
}

/* ---------- Announcement Bar Gold Pulse ---------- */

@media (prefers-reduced-motion: no-preference) {
  .header-section [class*="color-scheme-3"] .marquee__item {
    color: var(--orbit-gold-light);
  }
}

/* ---------- Quick Add Button ---------- */

.quick-add__submit {
  border-radius: var(--orbit-radius-sm) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  font-weight: 700 !important;
  background: var(--orbit-navy) !important;
  color: #fff !important;
  transition: all 0.25s ease !important;
}

.quick-add__submit:hover {
  background: var(--orbit-gold) !important;
  color: var(--orbit-navy-dark) !important;
}

/* ---------- Predictive Search Polish ---------- */

.predictive-search__heading {
  font-size: 0.65rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-weight: 700;
  opacity: 0.5;
}

/* ---------- Orbit Trust Strip (reusable) ---------- */

.orbit-trust-strip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
  padding: clamp(1.5rem, 3vw, 2rem) clamp(1.5rem, 5vw, 4rem);
  background: var(--orbit-cream);
  border-top: 1px solid rgba(0,0,0,0.05);
  border-bottom: 1px solid rgba(0,0,0,0.05);
  flex-wrap: wrap;
}

.orbit-trust-strip__item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--orbit-navy);
}

.orbit-trust-strip__item svg {
  color: var(--orbit-gold);
  flex-shrink: 0;
}

/* ============================================================
   ORBIT TRENDS -- Performance & Final Polish Pass
   ============================================================ */

/* ---------- Critical Rendering Performance ---------- */

/* Prevent layout shift on images */
img {
  content-visibility: auto;
}

/* Lazy load images that are off-screen */
.product-card__image img,
.collection-card__image img,
.orbit-brand-story__card-img {
  loading: lazy;
}

/* Reduce paint complexity on scroll */
.orbit-hero-cinematic,
.orbit-brand-story,
.orbit-collection-hero {
  contain: layout style;
}

/* ---------- Typography Refinements ---------- */

/* Heading refinement -- tighten tracking on large headings */
h1 { letter-spacing: -0.025em; }
h2 { letter-spacing: -0.018em; }
h3 { letter-spacing: -0.01em; }

/* Better paragraph spacing */
.rte p + p {
  margin-top: 0.85em;
}

/* ---------- Focus Visible States (Accessibility) ---------- */

:focus-visible {
  outline: 2px solid var(--color-primary, var(--orbit-gold));
  outline-offset: 3px;
  border-radius: 3px;
}

button:focus-visible,
a:focus-visible {
  outline: 2px solid var(--color-primary, var(--orbit-gold));
  outline-offset: 3px;
}

/* ---------- Announcement Bar Polish ---------- */

.header-announcements__message a {
  color: var(--orbit-gold-light);
  font-weight: 600;
}

/* ---------- Product Page Polish ---------- */

/* Breadcrumb */
.breadcrumb:not(.orbit-breadcrumbs):not(.orbit-breadcrumbs *),
.breadcrumbs:not(.orbit-breadcrumbs):not(.orbit-breadcrumbs *) {
  font-size: 0.72rem;
  letter-spacing: 0.05em;
  opacity: 0.55;
  margin-bottom: 1rem;
}

/* Sticky product info panel on desktop */
@media screen and (min-width: 990px) {
  .product-information {
    position: sticky;
    top: calc(var(--header-group-height, 80px) + 2rem);
    max-height: calc(100vh - var(--header-group-height, 80px) - 4rem);
    overflow-y: auto;
    scrollbar-width: none;
  }
  .product-information::-webkit-scrollbar {
    display: none;
  }
}

/* Variant selector polish */
.variant-picker {
  border-top: 1px solid rgba(0,0,0,0.06);
  padding-top: 1.25rem;
  margin-top: 0.5rem;
}

/* ---------- Collection Sorting ---------- */

.sort-by__label {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 600;
}

/* ---------- Pagination ---------- */

.pagination .page-link,
.pagination__item a {
  border-radius: var(--orbit-radius-sm);
  font-size: 0.8rem;
  font-weight: 600;
  transition: all 0.2s ease;
}

.pagination .page-link:hover,
.pagination__item a:hover {
  background: var(--orbit-navy);
  color: #fff;
  border-color: var(--orbit-navy);
}

/* ---------- Image Zoom Enhancement ---------- */

@media (any-pointer: fine) {
  .product-media-modal .product-media img {
    cursor: zoom-in;
    transition: transform 0.5s var(--orbit-ease-out);
  }
}

/* ---------- Back-to-Top Button Polish ---------- */

.orbit-scroll-top svg {
  width: 18px;
  height: 18px;
  transition: transform 0.3s var(--orbit-ease-out);
}

.orbit-scroll-top:hover svg {
  transform: translateY(-2px);
}

/* ---------- Final Mobile Tweaks ---------- */

@media screen and (max-width: 749px) {
  /* Ensure hero CTA full width on small screens */
  .orbit-hero__cta {
    min-width: 0;
    width: 100%;
  }

  /* Tighter product grid on mobile */
  .product-grid {
    gap: 12px;
  }

  /* Brand story marquee slower on mobile */
  .orbit-brand-story__marquee-track {
    animation-duration: 40s;
  }

  /* Fix contact form on mobile */
  .orbit-contact__fields {
    grid-template-columns: 1fr;
  }

  /* Collection hero tighter */
  .orbit-collection-hero {
    text-align: left;
  }

  .orbit-collection-hero__eyebrow {
    justify-content: flex-start;
  }
}

/* ---------- Print Styles ---------- */

@media print {
  .orbit-hero-cinematic,
  .orbit-brand-story__marquee-wrap,
  #orbit-3d-canvas,
  .orbit-ambient-particles,
  .orbit-cursor-glow,
  .orbit-scroll-top {
    display: none !important;
  }
}

/* ============================================================
   ORBIT TRENDS -- Product Descriptions & Footer Polish
   ============================================================ */

/* ---------- Product Description Styling ---------- */

.orbit-product-desc {
  font-size: 0.95rem;
  line-height: 1.75;
  color: rgba(15, 34, 51, 0.82);
}

.orbit-product-desc__hook {
  font-size: 1.15rem;
  line-height: 1.5;
  color: var(--orbit-navy-dark);
  margin-bottom: 0.75rem;
}

.orbit-product-desc__hook strong {
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.orbit-product-desc p {
  margin-bottom: 1rem;
}

.orbit-product-desc h3 {
  font-size: 0.72rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: var(--orbit-navy) !important;
  margin: 1.5rem 0 0.75rem !important;
  padding-bottom: 0.4rem;
  border-bottom: 1px solid rgba(201, 164, 85, 0.2);
}

.orbit-product-desc ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.orbit-product-desc ul li {
  padding-left: 1.25rem;
  position: relative;
}

.orbit-product-desc ul li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--orbit-gold);
}

.orbit-product-desc ul li strong {
  color: var(--orbit-navy-dark);
  font-weight: 700;
}

.orbit-product-desc em {
  font-size: 0.85rem;
  color: rgba(15, 34, 51, 0.5);
  font-style: italic;
}

/* ---------- Footer -- Full Redesign ---------- */

.footer-section,
.shopify-section-group-footer-group {
  background: #1a1a1a;
}

/* Footer logo area */
.footer .footer__brand-logo {
  max-height: 40px;
  width: auto;
  margin-bottom: 1rem;
}

/* Footer brand description */
.footer .footer__brand-description,
.footer .text-block {
  font-size: 0.88rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.5);
  max-width: 280px;
}

/* Footer column headings */
.footer .footer__heading,
.footer [class*="h5"],
.footer [class*="h6"] {
  font-size: 0.65rem !important;
  letter-spacing: 0.3em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  color: rgba(255,255,255,0.35) !important;
  margin-bottom: 1.25rem !important;
}

/* Footer links */
.footer a,
.footer .footer__list-item a,
.footer nav a {
  font-size: 0.88rem;
  color: rgba(255, 255, 255, 0.65) !important;
  text-decoration: none;
  transition: color 0.2s ease;
  line-height: 1;
}

.footer a:hover,
.footer .footer__list-item a:hover,
.footer nav a:hover {
  color: var(--orbit-gold) !important;
  text-decoration: none;
}

/* Footer list spacing */
.footer ul li,
.footer .footer__list-item {
  margin-bottom: 0.7rem;
}

/* Footer social icons */
.footer .social-links a,
.footer [class*="social"] a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,0.15);
  color: rgba(255,255,255,0.6) !important;
  transition: all 0.25s ease;
  margin-right: 6px;
}

.footer .social-links a:hover,
.footer [class*="social"] a:hover {
  border-color: var(--orbit-gold);
  color: var(--orbit-gold) !important;
  background: rgba(201, 164, 85, 0.08);
}

/* Footer divider top */
.footer-section::before,
footer::before {
  content: '';
  display: block;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201, 164, 85, 0.3) 20%,
    rgba(201, 164, 85, 0.5) 50%,
    rgba(201, 164, 85, 0.3) 80%,
    transparent 100%
  );
}

/* Footer bottom bar */
.footer__bottom,
.footer-utilities,
.footer [class*="utilities"] {
  border-top: 1px solid rgba(255,255,255,0.06);
  padding-top: 1.25rem;
  margin-top: 2rem;
}

.footer__bottom p,
.footer [class*="copyright"],
.footer [class*="utilities"] p {
  font-size: 0.72rem;
  color: rgba(255,255,255,0.25);
  letter-spacing: 0.04em;
}

/* Footer payment icons */
.footer [class*="payment"] svg,
.footer [class*="payment"] img {
  opacity: 0.4;
  transition: opacity 0.2s ease;
  filter: grayscale(1);
}

.footer [class*="payment"]:hover svg,
.footer [class*="payment"]:hover img {
  opacity: 0.7;
  filter: grayscale(0);
}

/* ---------- Newsletter Form in Footer ---------- */

.footer .email-signup input[type="email"],
.footer [class*="newsletter"] input[type="email"] {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  color: #fff !important;
  border-radius: var(--orbit-radius-sm);
  font-size: 0.85rem;
}

.footer .email-signup input::placeholder,
.footer [class*="newsletter"] input::placeholder {
  color: rgba(255,255,255,0.35);
}

.footer .email-signup input:focus,
.footer [class*="newsletter"] input:focus {
  border-color: var(--color-primary, var(--orbit-gold)) !important;
  box-shadow: 0 0 0 2px rgb(var(--color-foreground-rgb, 74, 74, 74) / 0.15) !important;
}

.footer .email-signup .button,
.footer [class*="newsletter"] .button {
  background: var(--color-primary-button-background, var(--orbit-gold)) !important;
  border-color: var(--color-primary-button-background, var(--orbit-gold)) !important;
  color: var(--color-primary-button-text, #fff) !important;
  font-weight: 700;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
}

/* ---------- Orbit Footer Brand Strip ---------- */

.orbit-footer-brand-strip {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.75rem;
}

.orbit-footer-motto {
  font-size: 0.65rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--orbit-gold);
  opacity: 0.7;
  font-weight: 600;
}

/* ============================================================
   ORBIT TRENDS -- Mobile Hero Fixes (from live screenshot)
   ============================================================ */

/* Fix: Hero too tall on mobile -- reduce min-height so no dead space */
@media screen and (max-width: 749px) {
  .orbit-hero-cinematic {
    min-height: auto !important;
    height: 100svh;
    height: 100vh;
    padding-top: calc(var(--header-group-height, 56px) + 1.5rem);
    padding-bottom: 2rem;
    justify-content: flex-start;
    align-items: flex-start;
  }

  /* Tighter content spacing on mobile */
  .orbit-hero__content {
    padding: 1.25rem 1.25rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 0;
  }

  /* Eyebrow tighter */
  .orbit-hero__eyebrow {
    margin-bottom: 0.75rem;
  }

  /* Headline tighter */
  .orbit-hero__headline {
    margin-bottom: 0;
    font-size: clamp(3rem, 18vw, 5rem);
    line-height: 0.92;
  }

  /* Thread accent less gap */
  .orbit-hero__thread-accent {
    margin: 0.6rem 0 0.9rem;
    width: clamp(140px, 55vw, 280px);
  }

  /* Sub-headline tighter */
  .orbit-hero__subheadline {
    margin-bottom: 1.5rem;
    font-size: 0.95rem;
  }

  /* CTAs */
  .orbit-hero__ctas {
    margin-bottom: 1.5rem;
    gap: 0.65rem;
  }

  .orbit-hero__cta {
    padding: 0.85rem 1.5rem;
    font-size: 0.75rem;
    border-radius: 10px;
  }

  /* Ghost button -- add visible gold border */
  .orbit-hero__cta--secondary {
    border-color: rgba(201, 164, 85, 0.5) !important;
    color: rgba(251, 249, 246, 0.9) !important;
  }

  .orbit-hero__cta--secondary:hover {
    border-color: var(--orbit-gold) !important;
  }

  /* Trust bar tighter */
  .orbit-hero__trust-bar {
    gap: 0.6rem;
  }

  /* Hoop -- make more visible on mobile */
  .orbit-hero__hoop {
    width: 100px;
    opacity: 0.55;
    top: 4%;
    right: 3%;
  }

  /* Remove scroll indicator on mobile */
  .orbit-hero__scroll-indicator {
    display: none;
  }
}

/* Fix: Header logo area on mobile */
@media screen and (max-width: 749px) {
  /* Ensure logo SVG is visible in header */
  .header__logo,
  .header__logo--image {
    max-height: 36px;
  }

  /* Header height consistent */
  .header {
    min-height: 56px;
  }
}

/* Fix: Ghost button gold border on desktop too */
.orbit-hero__cta--secondary {
  border-color: rgba(201, 164, 85, 0.4);
}

/* ============================================================
   ORBIT TRENDS -- Critical QA Fixes
   Product card text contrast, scroll-to-top position,
   footer white bar, collection placeholder removal
   ============================================================ */

/* Fix: Product card title -- ensure readable dark text on light bg */
.product-card__content,
.product-card [class*="product-title"],
.product-card [class*="price"],
product-card .text-block,
product-card p,
product-card h2,
product-card h3,
product-card h4,
product-card h5 {
  color: #1a1a1a !important;
}

/* Fix: Product title links */
.product-card a,
.product-card__title,
.product-card__title a {
  color: #1a1a1a !important;
  text-decoration: none;
}

/* Fix: Price text always dark */
.price,
.price-item,
.price__regular,
.price__sale,
[class*="price--"] {
  color: var(--orbit-navy-dark) !important;
}

/* Fix: Scroll-to-top button -- move away from content */
.orbit-scroll-top {
  bottom: 20px !important;
  right: 16px !important;
  width: 40px !important;
  height: 40px !important;
  opacity: 0.85;
  z-index: 90 !important; /* below nav, not over cards */
}

/* Fix: footer white gap -- remove any white utility section */
.shopify-section-group-footer-group > .shopify-section:not(:last-child):not(:first-child) {
  background: #141414 !important;
}

/* Ensure all footer sections use dark bg */
.shopify-section-group-footer-group .shopify-section,
.shopify-section-group-footer-group section,
.shopify-section-group-footer-group > div {
  background-color: #141414 !important;
}

/* Fix: utilities bar in footer (Shopify branding bar) */
footer-utilities,
.footer-utilities,
[class*="footer-utilities"] {
  background: #141414 !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}

footer-utilities *,
.footer-utilities *,
[class*="footer-utilities"] * {
  color: rgba(255,255,255,0.35) !important;
  font-size: 0.7rem !important;
}

/* Fix: collection-list placeholder styles -- hide broken icons */
.collection-card:not(:has(img)) .collection-card__image,
.collection-card__placeholder {
  background: linear-gradient(135deg, var(--orbit-navy) 0%, var(--orbit-navy-dark) 100%) !important;
}

/* Fix: collection placeholders -- show collection title prominently */
.collection-card__title,
.collection-title {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

/* Fix: product grid section gap -- too much top padding */
.orbit-brand-story + .shopify-section,
[id*="collection_list_FFV7jq"] {
  margin-top: 0 !important;
  padding-top: 2rem !important;
}

/* Fix: Remove excess section padding causing blank gaps */
.shopify-section + .shopify-section {
  margin-top: 0;
}

/* Fix: goes well with / recommendations text contrast */
.product-recommendations *,
[class*="recommendations"] h2,
[class*="recommendations"] h3,
[class*="recommendations"] p {
  color: var(--orbit-navy-dark) !important;
}

/* Fix: Trust bar items in hero -- ensure readable */
.orbit-hero__trust-item {
  color: rgba(251, 249, 246, 0.75) !important;
}

/* Fix: brand story section -- ensure text is dark on cream */
.orbit-brand-story__heading,
.orbit-brand-story__body,
.orbit-brand-story__eyebrow {
  color: var(--orbit-navy-dark) !important;
}

.orbit-brand-story__body {
  color: rgba(15, 34, 51, 0.75) !important;
}

/* Mobile: reduce hero headline size to avoid cramping */
@media screen and (max-width: 390px) {
  .orbit-hero__headline {
    font-size: clamp(2.5rem, 15vw, 3.5rem) !important;
  }
}

/* Fix: marquee section -- no overlap with footer */
.orbit-brand-story__marquee-wrap,
[id*="marquee"] {
  margin-bottom: 0 !important;
}

/* ============================================================
   ORBIT TRENDS -- Final QA Fix Pass
   ============================================================ */

/* Fix: product description text must be dark on light background */
.product-information .rte,
.product-information .rte p,
.product-information .rte li,
.product-information .rte h3,
.product-information .rte strong,
.orbit-product-desc,
.orbit-product-desc p,
.orbit-product-desc li,
.orbit-product-desc h3,
.orbit-product-desc__hook {
  color: var(--orbit-navy-dark) !important;
}

/* Fix: Ensure product section background is always light */
.product-section,
.product-page,
[class*="product-information"],
.featured-product-information {
  background: var(--orbit-cream) !important;
}

/* Fix: force light scheme on product info section */
.color-scheme-3 .product-information .rte,
.color-scheme-3 .orbit-product-desc {
  color: #fff !important;
}

.color-scheme-1 .product-information .rte,
.color-scheme-1 .orbit-product-desc {
  color: var(--orbit-navy-dark) !important;
}

/* Fix: collection-card hover area */
.collection-card {
  cursor: pointer;
}

/* Fix: collection title pill label */
.collection-card .collection-title-block,
.collection-card [class*="collection-title"] {
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--orbit-navy-dark) !important;
  background: #fff !important;
  border-radius: 8px !important;
  padding: 4px 10px !important;
  display: inline-block;
}

/* Fix: collection grid placeholder state */
.collection-card__image:not(:has(img)) {
  background: linear-gradient(135deg, #1a1a1a 0%, #141414 100%) !important;
  min-height: 200px;
}

/* Fix: header logo text overlap -- constrain SVG width in header */
.header-logo .orbit-header-logo-svg {
  height: 36px !important;
  width: auto !important;
  max-width: 280px !important;
}

@media screen and (max-width: 749px) {
  .header-logo .orbit-header-logo-svg {
    height: 30px !important;
    max-width: 220px !important;
  }
}

/* Fix: scroll-to-top -- ensure it doesn't overlap product/collection cards */
.orbit-scroll-top {
  z-index: 50 !important;
  right: 12px !important;
  bottom: 16px !important;
}

/* Fix: footer white gap removal -- aggressive */
.shopify-section-group-footer-group {
  background: #141414 !important;
}

.shopify-section-group-footer-group > * {
  background: #141414 !important;
}

/* Fix: footer link text readable */
.footer a {
  color: rgba(251, 249, 246, 0.7) !important;
}

.footer a:hover {
  color: var(--orbit-gold) !important;
}

/* Fix: footer section headings readable */
.footer .footer__heading {
  color: rgba(255,255,255,0.5) !important;
}

/* Fix: Ensure brand story text blocks are dark */
.orbit-brand-story .orbit-reveal-left *,
.orbit-brand-story .orbit-brand-story__left * {
  color: var(--orbit-navy-dark) !important;
}

.orbit-brand-story .orbit-brand-story__eyebrow {
  color: var(--orbit-gold) !important;
}

/* ============================================================
   ORBIT TRENDS -- Aggressive Fix Pass (v3)
   ============================================================ */

/* ---- PRODUCT PAGE: Force light background & dark text ---- */

/* The product-information section must ALWAYS be light */
#shopify-section-template--27603133300083__main,
#shopify-section-template--27603133300083__main .color-scheme-3,
#shopify-section-template--27603133300083__main .color-scheme-5,
[id*="__main"].shopify-section,
[id*="__main"].shopify-section .color-scheme-3 {
  background-color: var(--orbit-cream) !important;
  color: var(--orbit-navy-dark) !important;
}

/* Force ALL text in product sections to be dark */
.product-information,
.product-information *:not(button):not(.button),
.product-information p,
.product-information li,
.product-information h1,
.product-information h2,
.product-information h3,
.product-information h4,
.product-information h5,
.product-information h6,
.product-information span,
.product-information .rte,
.product-information .rte * {
  color: var(--orbit-navy-dark) !important;
}

/* Except gold accent elements */
.product-information .orbit-product-desc h3 {
  color: var(--orbit-navy) !important;
  border-bottom-color: rgba(201, 164, 85, 0.25) !important;
}

.product-information .orbit-product-desc ul li::before {
  background: var(--orbit-gold) !important;
}

/* Background override for scheme-3 on product page */
.product-section .color-scheme-3,
.product-page .color-scheme-3,
.template-product .color-scheme-3,
body[class*="product"] .color-scheme-3 {
  --color-background: var(--orbit-cream) !important;
  --color-foreground: var(--orbit-navy-dark) !important;
  background-color: var(--orbit-cream) !important;
  color: var(--orbit-navy-dark) !important;
}

/* ---- FOOTER: Eliminate white gap ---- */

/* Kill any white/light element between main content and footer */
body > footer,
#MainContent + footer,
main + footer {
  background: #141414 !important;
}

.shopify-section-group-footer-group {
  background: #141414 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Remove any section margin above footer */
.shopify-section:last-of-type {
  margin-bottom: 0 !important;
}

/* Target the utilities section specifically */
.shopify-section[id*="utilities"],
.shopify-section[id*="logo_"] {
  background: #141414 !important;
}

/* ---- COLLECTION TITLES: Force real names to show ---- */

/* When Shopify renders a collection-card with no collection assigned,
   it shows placeholder text. We can't fix this without the editor,
   but we can style the placeholder to be less embarrassing */
.collection-card__placeholder-text,
.collection-card [data-placeholder],
.collection-card .jumbo-text:empty {
  font-size: 0 !important; /* hide the placeholder text */
  opacity: 0 !important;
}

/* ---- GLOBAL BACKGROUND FIXES ---- */

/* Ensure cream background throughout site */
.template-index main,
.template-collection main,
.template-product main {
  background: var(--orbit-cream) !important;
}

/* ---- PRODUCT CARD TEXT ---- */

.product-card .text-block,
.product-card [class*="product-title"],
.product-card [class*="price"],
.product-card h1, .product-card h2,
.product-card h3, .product-card h4,
.product-card h5, .product-card a {
  color: var(--orbit-navy-dark) !important;
}

/* ---------- Orbit Category Showcase ---------- */
.orbit-categories {
  padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 5vw, 4rem);
  background: var(--orbit-cream);
}

.orbit-categories__header {
  text-align: center;
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.orbit-categories__eyebrow {
  font-size: 0.65rem;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  color: var(--orbit-charcoal);
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.orbit-categories__heading {
  font-size: clamp(1.5rem, 4vw, 2.5rem);
  font-weight: 400;
  color: var(--orbit-black);
  letter-spacing: -0.01em;
  margin: 0;
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif);
}

.orbit-categories__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  max-width: 1400px;
  margin: 0 auto;
}

@media screen and (max-width: 900px) {
  .orbit-categories__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media screen and (max-width: 480px) {
  .orbit-categories__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
  }
}

.orbit-categories__card {
  position: relative;
  border-radius: 0;
  overflow: hidden;
  aspect-ratio: 3/4;
  background: var(--orbit-cream-warm);
  text-decoration: none;
  display: block;
  transition: transform 0.4s var(--orbit-ease-out), box-shadow 0.4s var(--orbit-ease-out);
}

@media (any-pointer: fine) {
  .orbit-categories__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--orbit-shadow-dramatic);
  }
  .orbit-categories__card:hover .orbit-categories__card-img {
    transform: scale(1.05);
  }
}

.orbit-categories__card-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s var(--orbit-ease-out);
}

.orbit-categories__card-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, var(--orbit-cream-warm) 0%, var(--orbit-beige) 100%);
}

.orbit-categories__card-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 1rem;
  background: linear-gradient(to top, rgba(26, 26, 26, 0.75) 0%, transparent 100%);
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.orbit-categories__card-label {
  font-size: clamp(0.75rem, 2vw, 0.9rem);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.2;
}

.orbit-categories__card-sublabel {
  font-size: 0.68rem;
  color: rgba(255,255,255,0.65);
  letter-spacing: 0.03em;
}

/* ============================================================
   ORBIT TRENDS -- Final Polish Pass
   ============================================================ */

/* Reduce hero bottom padding on mobile to eliminate dead space */
@media screen and (max-width: 749px) {
  .orbit-hero-cinematic {
    padding-bottom: 1.5rem !important;
    min-height: 95svh !important;
    min-height: 95vh !important;
  }

  .orbit-hero__content {
    padding-bottom: 1rem !important;
  }
}

/* Remove Powered by Shopify from footer (CSS only) */
.shopify-section[id*="utilities"] a[href*="shopify.com"],
.footer-utilities a[href*="shopify.com"],
[class*="powered-by"] {
  display: none !important;
}

/* Footer logo -- increase contrast */
.orbit-logo-link .orbit-logo-svg,
.orbit-logo-svg {
  opacity: 1 !important;
}

/* Footer logo section -- ensure dark background */
.shopify-section[id*="logo_Rpw4dD"] {
  background: #141414 !important;
}

/* Category cards -- add images from product collection as bg when no image set */
.orbit-categories__card-placeholder {
  background: linear-gradient(160deg, #ebe5dd 0%, #f5f0eb 100%) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

.orbit-categories__card-placeholder::after {
  content: '';
  display: block;
  width: 60px;
  height: 60px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60' fill='none'%3E%3Crect x='10' y='10' width='40' height='40' stroke='%234a4a4a' stroke-width='1' opacity='0.2'/%3E%3Cline x1='10' y1='30' x2='50' y2='30' stroke='%234a4a4a' stroke-width='0.5' opacity='0.15'/%3E%3Cline x1='30' y1='10' x2='30' y2='50' stroke='%234a4a4a' stroke-width='0.5' opacity='0.15'/%3E%3C/svg%3E") center center no-repeat;
  opacity: 0.4;
}

/* Brand story cards -- use cream bg when no image */
.orbit-brand-story__card-image--placeholder {
  background: linear-gradient(135deg, #ebe5dd 0%, #f5f0eb 100%) !important;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Product card -- title line clamp for consistency */
.product-card [class*="product-title"],
.product-card__title {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Colour swatch selected -- ring treatment */
.swatch[aria-checked="true"],
.swatch--active {
  box-shadow: 0 0 0 2px #fff, 0 0 0 3px var(--orbit-black) !important;
  transform: scale(1.05) !important;
}

/* Footer newsletter placeholder text */
.footer input[type="email"]::placeholder {
  color: rgba(255,255,255,0.4) !important;
}

/* Announcement bar -- ensure visible on mobile */
.header-announcements {
  background: var(--orbit-cream-warm) !important;
}

.header-announcements * {
  color: var(--orbit-charcoal) !important;
}

/* Scroll-to-top -- always above footer */
.orbit-scroll-top {
  bottom: 24px !important;
  right: 16px !important;
}

/* ============================================================
   FIX: Hero section -- add padding-top on desktop to prevent
   header from cutting into content
   ============================================================ */
.orbit-hero-cinematic {
  padding-top: calc(var(--header-group-height, 60px) + 1.5rem);
}

/* ============================================================
   FIX: Logo SVG -- refined proportions, cleaner render
   ============================================================ */
.orbit-logo-link {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.orbit-logo-svg {
  height: 32px !important;
  width: auto !important;
  max-width: 320px !important;
  display: block;
}

/* Header logo -- sized to show logo with proper spacing */
.header-logo .orbit-logo-svg,
.header__heading .orbit-logo-svg,
.header .orbit-logo-svg,
.header-logo .orbit-header-logo-svg,
.header__heading .orbit-header-logo-svg,
.header .orbit-header-logo-svg {
  height: 36px !important;
  width: auto !important;
  max-width: 320px !important;
}

@media screen and (max-width: 749px) {
  .header-logo .orbit-logo-svg,
  .header__heading .orbit-logo-svg,
  .header .orbit-logo-svg,
  .header-logo .orbit-header-logo-svg,
  .header__heading .orbit-header-logo-svg,
  .header .orbit-header-logo-svg {
    height: 30px !important;
    width: auto !important;
    max-width: 240px !important;
  }
}

/* ============================================================
   FIX: Scroll-reveal fallback -- ensure all sections visible
   even without JS intersection observer (SSR/headless/slow JS)
   ============================================================ */
/* Ensure sections visible without JS; scoped so orbit-js-ready can override.
   NOTE: .orbit-stagger > * is intentionally included here — without JS the
   stagger children would remain at opacity:0 forever (the original bug). */
body:not(.orbit-js-ready) .orbit-reveal,
body:not(.orbit-js-ready) .orbit-reveal-scale,
body:not(.orbit-js-ready) .orbit-reveal-left,
body:not(.orbit-js-ready) .orbit-reveal-right,
body:not(.orbit-js-ready) .orbit-stagger > * {
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

/* Re-enable animations only after JS adds .orbit-js-ready to body */
body.orbit-js-ready .orbit-reveal:not(.orbit-visible) {
  opacity: 0;
  transform: translateY(30px);
  animation: none;
}
body.orbit-js-ready .orbit-reveal-scale:not(.orbit-visible) {
  opacity: 0;
  transform: scale(0.9);
  animation: none;
}
body.orbit-js-ready .orbit-reveal-left:not(.orbit-visible) {
  opacity: 0;
  transform: translateX(-40px);
  animation: none;
}
body.orbit-js-ready .orbit-reveal-right:not(.orbit-visible) {
  opacity: 0;
  transform: translateX(40px);
  animation: none;
}

/* ============================================================
   FIX: Hero -- reduce min-height on desktop so brand story
   and products are closer to the fold
   ============================================================ */
@media screen and (min-width: 750px) {
  .orbit-hero-cinematic {
    min-height: 90vh !important;
  }
}

/* ============================================================
   FIX: Logo -- ensure proper sizing
   ============================================================ */
.header .orbit-logo-svg,
.header-logo .orbit-logo-svg,
.header__heading .orbit-logo-svg,
.header .orbit-header-logo-svg,
.header-logo .orbit-header-logo-svg,
.header__heading .orbit-header-logo-svg {
  height: 36px !important;
  width: auto !important;
  max-width: 320px !important;
}

/* Variant selected border -- use scheme color */
.variant-option__button-label:has(:checked):not(.variant-option__button-label--has-swatch) {
  border-color: var(--color-selected-variant-border, #1a1a1a) !important;
}

/* ============================================================
   BEST-IN-CLASS UPGRADE -- 2026-04-14
   ============================================================ */

/* -- Announcement Bar -- */
.shopify-section[id*="announcement"],
.header-announcement,
.announcement-bar {
  background: var(--orbit-cream-warm, #ebe5dd) !important;
  color: var(--orbit-charcoal, #4a4a4a) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.15em !important;
  font-weight: 400 !important;
  text-align: center !important;
  padding: 10px 1rem !important;
}

/* -- Navigation -- Premium Fashion Style -- */
.header__row {
  backdrop-filter: blur(20px) saturate(1.5);
  -webkit-backdrop-filter: blur(20px) saturate(1.5);
}

.header-link, .header__link, nav a {
  font-size: 0.72rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  transition: color 0.2s ease, opacity 0.2s ease !important;
}

.header-link:hover, .header__link:hover, nav a:hover {
  opacity: 0.6 !important;
}

/* -- Product Cards -- Hover Image Swap & Premium Feel -- */
.card--product,
.product-card,
[class*="product-card"] {
  transition: transform 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.card--product:hover,
[class*="product-card"]:hover {
  transform: translateY(-4px) !important;
}

.card__media, .card-image, [class*="card__media"] {
  overflow: hidden !important;
  border-radius: 0 !important;
}

.card__media img, [class*="card__media"] img {
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.card--product:hover .card__media img,
[class*="product-card"]:hover [class*="card__media"] img {
  transform: scale(1.06) !important;
}

/* -- Product Card Info Typography -- */
.card__heading, [class*="card__heading"],
.card-information__text, [class*="card-information"] h3,
[class*="product-card"] .h3 {
  font-size: 0.85rem !important;
  letter-spacing: 0.02em !important;
  line-height: 1.4 !important;
  font-weight: 400 !important;
}

.price, .price__container, [class*="price"] {
  font-size: 0.82rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
}

/* -- Product Page -- Best in Class -- */
.product__title, [class*="product-title"] h1 {
  font-size: clamp(1.4rem, 3vw, 2rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  font-family: var(--font-heading--family) !important;
}

/* Breadcrumb on product pages — scoped so it does not affect the
   premium orbit-breadcrumbs nav added in 2026-05. */
.breadcrumb:not([class*="orbit-"]),
[class*="breadcrumb"]:not([class*="orbit-"]) {
  font-size: 0.75rem !important;
  letter-spacing: 0.06em !important;
  opacity: 0.6 !important;
  margin-bottom: 0.5rem !important;
}

/* -- Trust Badges Strip -- */
.orbit-trust-strip {
  display: flex;
  gap: 1.5rem;
  flex-wrap: wrap;
  padding: 1rem 0;
  border-top: 1px solid rgba(26, 26, 26, 0.08);
  border-bottom: 1px solid rgba(26, 26, 26, 0.08);
  margin: 1rem 0;
}

.orbit-trust-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--orbit-black, #1a1a1a);
  opacity: 0.6;
}

.orbit-trust-badge svg {
  flex-shrink: 0;
  opacity: 0.7;
}

/* -- Collection Page -- Grid Improvements -- */
.collection-page .card,
[id*="collection"] .card--product {
  display: flex !important;
  flex-direction: column !important;
}

/* -- Homepage Sections -- Better Spacing -- */
.shopify-section + .shopify-section {
  margin-top: 0 !important;
}

/* Product list section heading */
.section-resource-list__header {
  padding-bottom: 1rem !important;
  border-bottom: 1px solid rgba(26, 26, 26, 0.08) !important;
  margin-bottom: 2rem !important;
}

.section-resource-list__header .h2,
.section-resource-list__header h2 {
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* -- Footer -- Full Premium Footer -- */
footer .footer__content-top {
  padding-block: 3rem 2rem !important;
}

.footer-block__heading {
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin-bottom: 1rem !important;
  opacity: 0.5 !important;
}

.footer-block a, .footer-block li {
  font-size: 0.85rem !important;
  line-height: 2 !important;
  opacity: 0.8 !important;
  transition: opacity 0.2s !important;
}

.footer-block a:hover {
  opacity: 1 !important;
}

/* -- "New" / "Sale" Badges on product cards -- */
.card__badge, [class*="badge"] {
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  padding: 4px 8px !important;
  border-radius: 2px !important;
}

/* -- Wishlist / Save button -- */
.card__like-button,
[class*="wishlist"],
[class*="like-button"] {
  opacity: 0 !important;
  transition: opacity 0.2s ease !important;
}

.card--product:hover .card__like-button,
.card--product:hover [class*="wishlist"] {
  opacity: 1 !important;
}

/* -- Quick Add Button -- */
.quick-add-button, [class*="quick-add"] {
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

/* -- Product Description Typography -- */
.product__description p,
.rte p,
[class*="description"] p {
  font-size: 0.92rem !important;
  line-height: 1.75 !important;
  color: #444 !important;
}

.product__description ul,
.rte ul {
  padding-left: 1.2em !important;
}

.product__description li,
.rte li {
  font-size: 0.88rem !important;
  line-height: 1.8 !important;
  color: #555 !important;
}

/* -- Refined Add to Cart Button -- */
.product-form__submit,
button[name="add"] {
  font-size: 0.82rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}

/* -- Price Comparison Styling -- */
.price--on-sale .price__compare {
  font-size: 0.78rem !important;
  opacity: 0.5 !important;
  text-decoration: line-through !important;
}

.price--on-sale .price__last {
  color: #c0392b !important;
}

/* -- Section Headings -- Consistent Style -- */
.orbit-section-title {
  font-size: 0.72rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  opacity: 0.5 !important;
  margin-bottom: 0.5rem !important;
}

/* -- Mobile Refinements -- */
@media screen and (max-width: 749px) {
  .product__title h1,
  [class*="product-title"] h1 {
    font-size: 1.4rem !important;
  }

  .orbit-trust-strip {
    gap: 1rem !important;
  }

  .orbit-trust-badge {
    font-size: 0.68rem !important;
  }

  .section-resource-list__header .h2 {
    font-size: 0.95rem !important;
  }
}

/* -- Smooth page transitions -- */
.shopify-section {
  transition: opacity 0.3s ease !important;
}

/* -- Loading shimmer for images -- */
.card__media::before {
  content: '';
  display: block;
  padding-top: 125%;
}

/* -- "As Seen In" / Social proof strip (placeholder) -- */
.orbit-social-proof {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  padding: 2rem 1rem;
  opacity: 0.3;
  flex-wrap: wrap;
}

.orbit-social-proof__item {
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}


/* ============================================================
   HIDE: collection-links section on product page
   (placeholder "Collection title" content - removal in progress)
   ============================================================ */
[id*="collection_links_9Pc4EL"],
[id*="shopify-section"][id*="collection_links"] {
  display: none !important;
}

/* ============================================================
   COLLECTION PAGE: ensure product grid always visible
   Override any animation/opacity hiding
   ============================================================ */
.collection .card,
.collection [class*="product-card"],
.product-grid-container .card,
.product-grid-container [class*="card"] {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

/* Category nav strip active state */
.orbit-cat-nav__link.active {
  border-bottom-color: var(--color-primary, var(--orbit-black, #1a1a1a)) !important;
  opacity: 1 !important;
}

/* ============================================================
   CRITICAL FIX: product-card custom element visibility
   Force display immediately without waiting for JS hydration
   ============================================================ */
product-card {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  min-height: 300px;
  position: relative;
}

product-card .product-card__link {
  display: flex !important;
  flex-direction: column !important;
  text-decoration: none !important;
  height: 100% !important;
}

/* Force product images to show */
product-card img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
}

product-card .product-card__content {
  display: flex !important;
  flex-direction: column !important;
  padding: 0.75rem 0 !important;
  visibility: visible !important;
}

/* Variant pill -- default state (theme handles this) */

.variant-option__button-label:has(:checked) .variant-option__button-label__text {
  color: var(--color-selected-variant-text, #1a1a1a) !important;
  font-weight: 700 !important;
  position: relative !important;
  z-index: 2 !important;
}

/* Size guide table -- fix mobile wrapping */
.orbit-size-guide__table {
  table-layout: auto !important;
}

.orbit-size-guide__table td,
.orbit-size-guide__table th {
  white-space: nowrap !important;
  padding: 8px 10px !important;
}

@media screen and (max-width: 480px) {
  .orbit-size-guide__inner {
    padding: 1.25rem 0.75rem !important;
  }
  .orbit-size-guide__table td,
  .orbit-size-guide__table th {
    padding: 7px 8px !important;
    font-size: 0.82rem !important;
  }
}

/* ============================================================
   FIX BATCH -- 2026-04-14 evening
   ============================================================ */

/* 1. Category nav -- center on desktop, scroll on mobile */
.orbit-cat-nav__inner {
  justify-content: center !important;
  padding: 0 !important;
  -webkit-overflow-scrolling: touch !important;
}

.orbit-cat-nav__link:first-child {
  padding-left: 1rem !important;
}

.orbit-cat-nav__link:last-child {
  padding-right: 1rem !important;
}

/* 2. Logo -- ensure visible on header */
.header__heading a,
.header-logo a,
.header__heading .orbit-logo-svg,
header-component .orbit-logo-svg,
.header__heading .orbit-header-logo-svg,
header-component .orbit-header-logo-svg {
  color: var(--color-foreground, #1a1a1a) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Header text/nav contrast on transparent hero */
.header--transparent .header__link,
.header--transparent nav a {
  color: var(--color-foreground, #1a1a1a) !important;
  text-shadow: none !important;
}

/* 3. Brand story cards -- gradient fallback when no image */
.orbit-brand-story__card-image--placeholder {
  background: linear-gradient(135deg, #ebe5dd 0%, #f5f0eb 100%) !important;
  min-height: 260px !important;
  display: block !important;
}

/* Brand story card images -- ensure they fill properly */
.orbit-brand-story__card-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  min-height: 240px !important;
}

.orbit-brand-story__card-image {
  overflow: hidden !important;
  min-height: 240px !important;
}

/* 4. Size guide modal -- scrollable, not cut off */
.orbit-size-guide__modal {
  max-height: 85vh !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
}

.orbit-size-guide__inner {
  padding-bottom: 2rem !important;
}

/* 5. Collection page -- remove duplicate title styling */
/* The orbit-collection-hero already shows the title */
.shopify-section[id*="__section"] .h1,
.shopify-section[id*="__section"] h1 {
  display: none !important;
}

/* 6. Variant selected -- use scheme-aware colors */
.variant-option__button-label:has(input:checked):not(.variant-option__button-label--has-swatch) {
  background: var(--color-selected-variant-background, #f5f0eb) !important;
  border-color: var(--color-selected-variant-border, #1a1a1a) !important;
  border-width: 2px !important;
}

.variant-option__button-label:has(input:checked) .variant-option__button-label__text {
  color: var(--color-selected-variant-text, #1a1a1a) !important;
  font-weight: 700 !important;
  position: relative !important;
  z-index: 3 !important;
}

/* Variant pill - only apply background when selected */
.variant-option__button-label:has(input:checked) .variant-option__button-label__pill {
  background: var(--color-selected-variant-background, #f5f0eb) !important;
  opacity: 1 !important;
}

/* 7. Product-card -- force render immediately */
product-card,
product-card * {
  visibility: visible !important;
}

product-card .product-card__link {
  display: flex !important;
  flex-direction: column !important;
}


/* ============================================================
   FIX: Category nav -- not sticky, sits naturally after header
   Hero needs extra top padding to account for category nav
   ============================================================ */
.orbit-cat-nav {
  position: relative !important;
  top: auto !important;
}

/* Homepage hero -- add top padding for header + category nav combined */
.template-index .orbit-hero-cinematic {
  padding-top: calc(var(--header-group-height, 60px) + 44px + 1.5rem) !important;
}

/* Other pages -- standard padding just for header */
.template-collection .orbit-hero-cinematic,
.template-product .orbit-hero-cinematic {
  padding-top: calc(var(--header-group-height, 60px) + 1rem) !important;
}


/* ============================================================
   Size guide -- inline with variant label row
   ============================================================ */
.orbit-size-guide__inline-trigger {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: var(--orbit-black, #1a1a1a);
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  margin-left: 0.75rem;
  opacity: 0.6;
  transition: opacity 0.2s;
}

.orbit-size-guide__inline-trigger:hover { opacity: 1; }

/* Size guide trigger -- keep visible */
.orbit-size-guide__trigger {
  display: inline-flex;
}

/* ============================================================
   PHASE 1 UX UPGRADE -- Shein/Temu inspired
   ============================================================ */

/* Star ratings removed -- will use real reviews via Judge.me */

/* === Product Grid -- Badge improvements === */
.card__badge.badge--sale,
.badge--sale {
  background: #c0392b !important;
  color: #fff !important;
  font-size: 0.65rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.08em !important;
  border-radius: 3px !important;
  padding: 3px 7px !important;
}

/* === Sticky ATC -- improved for mobile === */
.sticky-add-to-cart__bar {
  border-radius: 16px 16px 0 0 !important;
  box-shadow: 0 -4px 24px rgba(15, 34, 51, 0.15) !important;
}

.sticky-add-to-cart__button {
  border-radius: 12px !important;
  font-size: 0.8rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.12em !important;
}

/* === Urgency stock messaging === */
.orbit-stock-urgency {
  font-size: 0.78rem;
  color: #c0392b;
  font-weight: 600;
  display: flex;
  align-items: center;
  gap: 5px;
  margin: 0.35rem 0;
}

.orbit-stock-urgency::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #c0392b;
  display: inline-block;
  flex-shrink: 0;
}

/* === Social proof on product page === */
.orbit-social-proof {
  margin: 0.25rem 0 0.5rem;
}

/* === Product page -- image gallery improvements === */
.product__media-item img {
  border-radius: 0 !important;
}

/* === Collection grid -- hover quick info === */
.card--product:hover .card__information {
  background: #fff;
}

/* === Better price display === */
.price__sale,
.price--on-sale .price__last {
  color: #c0392b !important;
  font-weight: 700 !important;
}

.price__compare-at,
.price--on-sale .price__compare {
  font-size: 0.78rem !important;
  opacity: 0.5 !important;
}

/* === "New" badge on recently added products === */
.card__badge.badge--custom {
  background: #1a1a1a !important;
  color: #fff !important;
}

/* === Product description accordion style === */
.product__description .orbit-what-included {
  border-left: 3px solid #1a1a1a !important;
}

/* ============================================================
   ORBIT TRENDS -- Brands / Distinguished Houses Marquee
   Dark, elegant section with scrolling brand names and dot
   separators. Matches luxury fashion reference sites.
   ============================================================ */

.orbit-brands-marquee {
  background: #1a1a1a;
  color: #fff;
  padding: clamp(3rem, 6vw, 5rem) 0;
  overflow: hidden;
  position: relative;
}

.orbit-brands-marquee__inner {
  text-align: center;
  padding: 0 clamp(1.25rem, 5vw, 4rem);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.orbit-brands-marquee__eyebrow {
  font-size: 0.65rem;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  font-weight: 400;
  margin: 0 0 0.75rem;
}

.orbit-brands-marquee__heading {
  font-size: clamp(1.8rem, 5vw, 3rem);
  font-weight: 400;
  color: #fff;
  margin: 0;
  letter-spacing: -0.01em;
  line-height: 1.15;
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif);
}

/* Scrolling track */
.orbit-brands-marquee__scroll-wrap {
  overflow: hidden;
  white-space: nowrap;
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 8%,
    black 92%,
    transparent 100%
  );
}

.orbit-brands-marquee__track {
  display: inline-flex;
  align-items: center;
  gap: 0;
  will-change: transform;
}

@keyframes orbit-brands-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-33.333%); }
}

@media (prefers-reduced-motion: no-preference) {
  .orbit-brands-marquee__track {
    animation: orbit-brands-scroll 40s linear infinite;
  }
}

.orbit-brands-marquee__brand {
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif);
  font-size: clamp(1.2rem, 3vw, 1.8rem);
  font-weight: 400;
  color: rgba(255, 255, 255, 0.7);
  letter-spacing: 0.02em;
  white-space: nowrap;
  padding: 0 clamp(0.75rem, 2vw, 1.5rem);
  transition: color 0.4s ease;
}

.orbit-brands-marquee__dot {
  font-size: clamp(0.6rem, 1.5vw, 0.9rem);
  color: rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
  user-select: none;
}

/* CTA link */
.orbit-brands-marquee__cta-wrap {
  text-align: center;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

.orbit-brands-marquee__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
  transition: color 0.3s ease;
}

.orbit-brands-marquee__cta:hover {
  color: rgba(255, 255, 255, 0.9);
  text-decoration: none;
}

.orbit-brands-marquee__cta-arrow {
  transition: transform 0.3s var(--orbit-ease-out, ease);
}

.orbit-brands-marquee__cta:hover .orbit-brands-marquee__cta-arrow {
  transform: translateX(4px);
}

/* Mobile adjustments */
@media screen and (max-width: 749px) {
  .orbit-brands-marquee {
    padding: clamp(2rem, 5vw, 3rem) 0;
  }

  .orbit-brands-marquee__brand {
    font-size: 1.1rem;
    padding: 0 0.6rem;
  }
}

/* === Variant label + size guide inline === */
.variant-option legend,
.variant-option [class*="legend"] {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
}


/* ============================================================
   LUXURY REBRAND -- 2026-04-18
   Full luxury visual system upgrade
   ============================================================ */

/* === Core Luxury Palette Override === */
:root {
  --luxury-black: #0a0a0a;
  --luxury-white: #fafaf8;
  --luxury-cream: #f5f2ed;
  --luxury-gold: #8B6F4E;
  --luxury-gold-light: #C4A882;
  --luxury-gray: #6b6b6b;
  --luxury-border: rgba(0,0,0,0.1);
}

/* === Body & Global === */
body {
  background: var(--luxury-white) !important;
  color: var(--luxury-black) !important;
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
}

/* === Header -- Pure luxury (black on white) === */
.header__row.color-scheme-3,
.header-section .color-scheme-3,
header-component .header-section {
  background: #f5f0eb !important;
  border-bottom: 1px solid var(--luxury-border) !important;
}

.header__link,
.header-link,
nav a.header__link {
  color: var(--luxury-black) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.15em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
}

/* Header icons */
.header-actions__action svg {
  color: var(--luxury-black) !important;
}

/* === Logo on white header === */
.header .orbit-logo-svg,
.header-logo .orbit-header-logo-svg,
header-component .orbit-logo-svg {
  color: var(--luxury-black) !important;
}

/* === Product Cards -- Editorial Style === */
.card--product,
product-card {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

.card__media,
product-card .product-card__link > div:first-child {
  border-radius: 0 !important;
  overflow: hidden !important;
  background: var(--luxury-cream) !important;
  aspect-ratio: 3/4 !important;
}

.card__media img,
product-card img {
  object-fit: cover !important;
  transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}

.card--product:hover .card__media img,
product-card:hover img {
  transform: scale(1.04) !important;
}

/* Card info */
.card__information,
.product-card__content,
product-card [class*="content"] {
  padding: 0.75rem 0 1rem !important;
  background: transparent !important;
}

/* Brand name (vendor) -- small, uppercase, gold */
.card__vendor,
product-card .vendor,
[class*="vendor"] {
  font-size: 0.6rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--luxury-gold) !important;
  font-weight: 500 !important;
  margin-bottom: 4px !important;
  display: block !important;
}

/* Product title */
.card__heading,
product-card h3,
product-card .h3 {
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  color: var(--luxury-black) !important;
  line-height: 1.4 !important;
  margin: 0 0 4px !important;
}

/* Price */
.price__sale,
.price__regular,
.price__container {
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  color: var(--luxury-gray) !important;
  letter-spacing: 0.04em !important;
}

/* === Product Page -- Luxury PDP === */
.product__title h1,
[class*="product-title"] h1 {
  font-size: clamp(1.4rem, 3vw, 2.2rem) !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em !important;
  line-height: 1.2 !important;
  color: var(--luxury-black) !important;
}

/* Vendor/brand on product page */
.product__vendor,
[class*="product-vendor"],
.breadcrumb:not([class*="orbit-"]) a {
  font-size: 0.65rem !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--luxury-gold) !important;
  font-weight: 600 !important;
}

/* Product description */
.product__description,
.rte,
[class*="description"] p {
  font-size: 0.88rem !important;
  line-height: 1.85 !important;
  color: var(--luxury-gray) !important;
  font-weight: 400 !important;
}

/* === Add to Cart Button -- Black, refined === */
.product-form__submit,
button[name="add"] {
  background: var(--luxury-black) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  transition: background 0.3s ease !important;
  width: 100% !important;
}

.product-form__submit:hover,
button[name="add"]:hover {
  background: #333 !important;
}

/* === Hide/Minimise Shop Pay (cheapens luxury feel) === */
.shopify-payment-button__button--branded,
.shopify-payment-button,
[data-shopify="payment-button"] {
  display: none !important;
}

/* === Variant Selector -- Refined === */
.variant-option__button-label {
  border-radius: 0 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  font-weight: 500 !important;
  border-color: var(--luxury-border) !important;
}

.variant-option__button-label:has(:checked):not(.variant-option__button-label--has-swatch) {
  border-color: var(--luxury-black) !important;
  border-width: 1.5px !important;
  background: transparent !important;
}

/* === Collection Page -- Gallery Grid === */
/* product-grid-container gap handled by ul.product-grid */

/* Only target the product grid list, NOT the layout container */
ul.product-grid {
  gap: clamp(12px, 1.5vw, 24px) !important;
}

@media screen and (min-width: 1200px) {
  ul.product-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: clamp(12px, 1.5vw, 24px) !important;
  }
}

@media screen and (min-width: 750px) and (max-width: 1199px) {
  ul.product-grid {
    grid-template-columns: repeat(3, 1fr) !important;
    gap: clamp(10px, 1.2vw, 20px) !important;
  }
}

@media screen and (max-width: 749px) {
  ul.product-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: clamp(8px, 1vw, 12px) !important;
  }
}

/* === Footer -- Luxury Black === */
footer,
.footer {
  background: var(--luxury-black) !important;
  color: rgba(255,255,255,0.7) !important;
}

.footer a,
.footer-block a {
  color: rgba(255,255,255,0.6) !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  transition: color 0.2s !important;
}

.footer a:hover,
.footer-block a:hover {
  color: #fff !important;
}

.footer-block__heading {
  color: rgba(255,255,255,0.35) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
}

/* === Announcement Bar -- Gold on Black === */
.header-announcements,
.announcement-bar {
  background: var(--luxury-black) !important;
  color: var(--luxury-gold-light) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

/* === Category Nav -- White bar === */
.orbit-cat-nav {
  background: #fff !important;
  border-bottom: 1px solid var(--luxury-border) !important;
}

/* === marquee-component cream variant removed — overrode scheme-5 === */

/* === Remove old embroidery/teemdrop specific styles that clash === */
.orbit-hero__thread-pattern,
.orbit-hero__hoop,
.orbit-thread-divider,
.orbit-embroidery-label {
  display: none !important;
}

/* === Buyer protection strip -- minimal luxury === */
.orbit-buyer-protection {
  border: 1px solid var(--luxury-border) !important;
  border-radius: 0 !important;
}

.orbit-bp__item {
  font-size: 0.65rem !important;
  letter-spacing: 0.12em !important;
  color: var(--luxury-gray) !important;
}

/* === Collection page hero -- clean, editorial === */
.orbit-collection-hero {
  background: var(--luxury-cream) !important;
}

.orbit-collection-hero__title {
  color: var(--luxury-black) !important;
  font-weight: 300 !important;
  letter-spacing: 0.08em !important;
}


/* ============================================================
   LUXURY REFINEMENT -- 2026-04-18
   Fix: animations, header transparency, italic fonts, mega nav
   ============================================================ */

/* === 1. ANIMATIONS -- Replace spring/bounce with Apple-smooth === */
:root {
  /* Override all easing with smooth iOS-style curves */
  --orbit-ease-out: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  --orbit-ease-spring: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  --orbit-ease-smooth: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  --orbit-duration-slow: 0.45s !important;
  --orbit-duration-medium: 0.3s !important;
  --orbit-duration-fast: 0.18s !important;
}

/* Kill ALL bouncy/spring animations globally */
*,
*::before,
*::after {
  animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

/* Specific overrides for known bouncy elements */
.orbit-hero__word,
.orbit-letter-reveal,
[class*="spring"],
[class*="bounce"] {
  animation-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
}

/* Hover transitions -- silky smooth */
a, button, .card, product-card, .card__media, img {
  transition-timing-function: cubic-bezier(0.25, 0.1, 0.25, 1) !important;
  transition-duration: 0.25s !important;
}

/* === 2. HEADER -- Fix transparency conflict on homepage === */
header-component,
.header-section,
.header__row {
  background: #f5f0eb !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Remove any transparency that causes the hero to bleed through */
header-component[data-transparent-header],
.header--transparent,
[data-transparent="always"],
[data-transparent="not-sticky"] {
  background: #ffffff !important;
}

/* Ensure header stays on top properly */
#shopify-section-sections--27603133006195__header_section,
.header-section {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  background: #f5f0eb !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.08) !important;
}

/* Category nav directly below header, no gap */
.orbit-cat-nav {
  position: sticky !important;
  top: var(--header-group-height, 60px) !important;
  z-index: 999 !important;
  background: #ffffff !important;
  box-shadow: 0 1px 0 rgba(0,0,0,0.06) !important;
}

/* Hero section -- push down to account for solid header */
.template-index .orbit-hero-cinematic {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* === 3. NAVIGATION FONT -- Fix italic/heading font === */
/* Force all nav links to use clean sans-serif, NOT italic heading font */
.header-link,
.header__link,
nav a,
.menu-list__link,
[class*="menu"] a,
[class*="nav"] a,
.header__menu a {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 400 !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
}

/* Override heading font (which may be italic) */
.header .font-heading,
.header [class*="heading"],
.header h1, .header h2, .header h3,
.header-link.font-heading {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-style: normal !important;
}

/* === 4. MEGA NAV -- Mytheresa-style dropdown === */
.orbit-mega-nav {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid rgba(0,0,0,0.08);
  box-shadow: 0 8px 40px rgba(0,0,0,0.08);
  padding: 2.5rem 4rem;
  display: none;
  z-index: 998;
}

.orbit-mega-nav.active {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  animation: megaFadeIn 0.2s cubic-bezier(0.25, 0.1, 0.25, 1);
}

@keyframes megaFadeIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.orbit-mega-nav__col-title {
  font-size: 0.6rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid rgba(0,0,0,0.08);
}

.orbit-mega-nav__link {
  display: block;
  font-size: 0.78rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #1a1a1a;
  text-decoration: none;
  padding: 0.3rem 0;
  transition: color 0.15s ease;
  font-style: normal !important;
}

.orbit-mega-nav__link:hover {
  color: #8B6F4E;
}

.orbit-mega-nav__link--featured {
  font-weight: 500;
  color: #8B6F4E;
}

/* Overlay when mega nav open */
.orbit-mega-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.15);
  z-index: 997;
  display: none;
  animation: overlayFadeIn 0.2s ease;
}

.orbit-mega-overlay.active { display: block; }

@keyframes overlayFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}


/* ============================================================
   FIX: Hide Shopify default header nav (top bar with MORE)
   Keep only our custom mega nav below
   ============================================================ */

/* Hide the default Shopify menu in the header row */
.header__menu,
.header-menu,
[class*="header__menu"],
[id*="header-menu"],
header-component .menu-list,
header-component [class*="menu-list"] {
  display: none !important;
}

/* Also hide the overflow/MORE button */
.overflow-menu,
[class*="overflow-menu"],
.menu-list__list-item[slot="overflow"] {
  display: none !important;
}

/* Ensure header is clean -- just logo + icons */
.header__row--top .header__menu-container,
.header__row--top nav {
  display: none !important;
}


/* === Marquee -- integrated with footer (same dark as footer rgb(20,20,20) so they read as one continuous dark band) === */
marquee-component,
marquee-component .section-background {
  background: #141414 !important;
  background-color: #141414 !important;
  color: rgba(245, 240, 235, 0.65) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  padding: 14px 0 !important;
  border-top: none !important;
  border-bottom: none !important;
}

marquee-component p, marquee-component a, marquee-component span {
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: rgba(245, 240, 235, 0.65) !important;
  font-style: normal !important;
  font-family: 'Inter', system-ui, sans-serif !important;
}

/* === Footer -- fix missing links visibility === */
.footer-block a,
.footer a,
footer a {
  color: rgba(255,255,255,0.55) !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  line-height: 2 !important;
  display: block !important;
}

.footer-block a:hover,
footer a:hover {
  color: rgba(255,255,255,0.9) !important;
}

.footer-block__heading {
  color: rgba(255,255,255,0.3) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 1.2rem !important;
  display: block !important;
}

/* === Fix truncated filter labels === */
.facets__label,
[class*="facet"] label,
.filter-group__label,
[class*="filter"] label {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.06em !important;
}

/* Filter sidebar wider to show full brand names */
.facets__form,
.facets-container {
  min-width: 200px !important;
}

/* Collection hero -- reduce gap before products */
.orbit-collection-hero,
.collection-hero,
[class*="collection-hero"] {
  padding-bottom: 1rem !important;
  margin-bottom: 0 !important;
}

/* Filter section heading style */
.facets__heading,
.filter-group__heading {
  font-size: 0.7rem !important;
  letter-spacing: 0.14em !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
}


/* ============================================================
   FOOTER LINK COLOUR FIX -- links are near-black on dark bg
   ============================================================ */

/* Target footer links with maximum specificity */
footer a,
footer li a,
.footer a,
.footer li a,
[id*="shopify-section"][id*="footer"] a,
[id*="shopify-section"][id*="footer"] li a,
.shopify-section-group-footer-group a,
.shopify-section-group-footer-group li a {
  color: rgba(220, 210, 195, 0.75) !important;
  text-decoration: none !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  display: block !important;
  line-height: 2.2 !important;
  transition: color 0.2s ease !important;
}

footer a:hover,
.footer a:hover,
[id*="shopify-section"][id*="footer"] a:hover,
.shopify-section-group-footer-group a:hover {
  color: rgba(255, 255, 255, 0.95) !important;
}

/* Footer headings */
footer [class*="heading"],
footer [class*="block__heading"],
.footer [class*="heading"],
.shopify-section-group-footer-group [class*="heading"] {
  color: rgba(255, 255, 255, 0.35) !important;
  font-size: 0.6rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  margin-bottom: 1rem !important;
  display: block !important;
}

/* Footer body text */
footer p,
.footer p,
.shopify-section-group-footer-group p {
  color: rgba(220, 210, 195, 0.55) !important;
  font-size: 0.82rem !important;
  line-height: 1.75 !important;
}

/* Footer brand name */
footer strong,
.footer strong {
  color: rgba(255,255,255,0.6) !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

/* Newsletter input */
footer input[type="email"],
.footer input[type="email"] {
  background: rgba(255,255,255,0.06) !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  color: #fff !important;
  padding: 0.75rem 1rem !important;
}

footer input[type="email"]::placeholder,
.footer input[type="email"]::placeholder {
  color: rgba(255,255,255,0.35) !important;
}

/* Newsletter button */
footer button[type="submit"],
.footer button[type="submit"] {
  background: rgba(196,168,130,0.9) !important;
  color: #1a1a1a !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.18em !important;
  font-weight: 600 !important;
  border: none !important;
}


/* ============================================================
   ORBIT-TRENDS-LUXURY DESIGN SYSTEM PORT
   Ported from: github.com/iEngineGlobal/orbit-trends-luxury
   Fonts: Playfair Display (serif) + Inter (sans)
   ============================================================ */

/* === Google Fonts Import === */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Inter:wght@300;400;500;600&display=swap');

/* === Design Tokens === */
:root {
  --ot-ivory: oklch(0.98 0.005 80);
  --ot-foreground: oklch(0.18 0.01 260);
  --ot-muted: oklch(0.50 0.01 260);
  --ot-border: oklch(0.90 0.01 80);
  --ot-secondary: oklch(0.96 0.008 80);
  --ot-gold: oklch(0.72 0.10 75);
  --ot-ease: cubic-bezier(0.25, 0.1, 0.25, 1);
}

/* === Body & Typography === */
body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  background-color: var(--ot-ivory) !important;
  color: var(--ot-foreground) !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
}

h1, h2, h3, h4, h5, h6,
.font-serif,
.product__title,
[class*="product-title"],
.orbit-collection-hero__title,
.orbit-hero__headline,
.card__heading,
product-card h3 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-weight: 300 !important;
  letter-spacing: -0.01em !important;
}

/* === Luxury Transition Utility === */
*, *::before, *::after {
  transition-timing-function: var(--ot-ease) !important;
}

/* === Navigation -- exact match to luxury app === */
/* Top utility bar */
.header-announcements,
.announcement-bar,
[class*="announcement"] {
  background: var(--ot-ivory) !important;
  border-bottom: 1px solid var(--ot-border) !important;
  color: var(--ot-muted) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.69rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-weight: 400 !important;
}

/* Header -- transparent until scrolled (like the luxury app) */
header-component {
  background: rgba(249, 247, 244, 0.95) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom: 1px solid var(--ot-border) !important;
}

/* Nav links -- Inter, no italic, clean underline reveal */
.orbit-top-nav__link,
.header__link,
.header-link {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(46, 40, 35, 0.8) !important;
  position: relative !important;
}

/* Animated underline on hover -- from luxury app */
.orbit-top-nav__link::after {
  content: '' !important;
  position: absolute !important;
  bottom: -2px !important;
  left: 0 !important;
  width: 0 !important;
  height: 1px !important;
  background: var(--ot-foreground) !important;
  transition: width 0.4s var(--ot-ease) !important;
}

.orbit-top-nav__link:hover::after,
.orbit-top-nav__link.active::after {
  width: 100% !important;
}

/* === Hero Section -- blur-in animation === */
@keyframes ot-blur-in {
  0% { opacity: 0; filter: blur(12px); transform: translateY(16px); }
  100% { opacity: 1; filter: blur(0); transform: translateY(0); }
}

@keyframes ot-drift {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(2%, -2%, 0) scale(1.05); }
}

.orbit-hero-cinematic {
  background: var(--ot-ivory) !important;
  position: relative !important;
  overflow: hidden !important;
}

/* Gold blur orbs -- from luxury app hero */
.orbit-hero-cinematic::before {
  content: '' !important;
  position: absolute !important;
  top: -8rem !important;
  left: -8rem !important;
  width: 30rem !important;
  height: 30rem !important;
  border-radius: 50% !important;
  background: oklch(0.72 0.10 75 / 0.15) !important;
  filter: blur(80px) !important;
  animation: ot-drift 20s ease-in-out infinite !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

.orbit-hero-cinematic::after {
  content: '' !important;
  position: absolute !important;
  bottom: -10rem !important;
  right: -8rem !important;
  width: 32rem !important;
  height: 32rem !important;
  border-radius: 50% !important;
  background: oklch(0.18 0.01 260 / 0.04) !important;
  filter: blur(80px) !important;
  animation: ot-drift 20s ease-in-out infinite !important;
  animation-delay: -10s !important;
  pointer-events: none !important;
  z-index: 0 !important;
}

/* Hero content blur-in */
.orbit-hero__content,
.orbit-hero-cinematic > * {
  position: relative !important;
  z-index: 1 !important;
  animation: ot-blur-in 1.4s var(--ot-ease) both !important;
}

/* Hero headline */
.orbit-hero__headline,
.orbit-hero-cinematic h1 {
  font-family: 'Playfair Display', serif !important;
  font-size: clamp(2.5rem, 6vw, 5rem) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.01em !important;
  color: var(--ot-foreground) !important;
  animation: ot-blur-in 1.4s var(--ot-ease) 200ms both !important;
}

/* Scroll indicator line */
.orbit-hero-cinematic .orbit-scroll-indicator::after {
  content: '' !important;
  display: block !important;
  width: 1px !important;
  height: 3rem !important;
  background: oklch(0.18 0.01 260 / 0.2) !important;
  margin: 0 auto !important;
  animation: pulse 2s ease-in-out infinite !important;
}

/* === Scroll Reveal -- IntersectionObserver driven === */
@keyframes ot-reveal {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

.shopify-section {
  opacity: 1 !important;
}

/* Product cards and sections fade in on scroll */
product-card,
.card--product,
.shopify-section:not(.header-section) > * {
  animation: ot-reveal 1s var(--ot-ease) both !important;
}

/* === Product Card -- exact port from luxury app === */
product-card,
.card--product {
  display: block !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
}

/* Image container -- 3:4 aspect, secondary image on hover */
product-card .product-card__link > div:first-child,
.card__media {
  aspect-ratio: 3/4 !important;
  background: var(--ot-secondary) !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  position: relative !important;
}

product-card img,
.card__media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.5s var(--ot-ease) !important;
}

product-card:hover img,
.card--product:hover .card__media img {
  transform: scale(1.03) !important;
}

/* Vendor -- 10px, 0.2em tracking, muted, uppercase */
.card__vendor,
product-card [class*="vendor"],
[class*="product-card"] [class*="vendor"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.625rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: var(--ot-muted) !important;
  font-weight: 400 !important;
  display: block !important;
  margin-bottom: 0.25rem !important;
}

/* Product title -- Playfair, light, small */
.card__heading,
product-card h3,
[class*="product-card"] h3 {
  font-family: 'Playfair Display', serif !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  color: var(--ot-foreground) !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
}

/* Price */
.price__sale,
.price__regular {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 400 !important;
  color: var(--ot-foreground) !important;
}

.price__compare-at,
.price--on-sale .price__compare {
  font-size: 0.75rem !important;
  color: var(--ot-muted) !important;
  text-decoration: line-through !important;
}

/* Discount badge -- black rectangle like luxury app */
.card__badge.badge--sale,
.badge--sale {
  background: var(--ot-foreground) !important;
  color: var(--ot-ivory) !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.625rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 3px 8px !important;
  font-weight: 400 !important;
}

/* Quick-add button -- circle, appears on hover */
.quick-add-button,
[class*="quick-add"] {
  width: 2.25rem !important;
  height: 2.25rem !important;
  border-radius: 50% !important;
  background: rgba(249, 247, 244, 0.9) !important;
  backdrop-filter: blur(4px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0 !important;
  transform: translateY(0.5rem) !important;
  transition: opacity 0.3s var(--ot-ease), transform 0.3s var(--ot-ease) !important;
  font-size: 0 !important;
  border: none !important;
}

product-card:hover .quick-add-button,
.card--product:hover [class*="quick-add"] {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* === Add to Cart -- clean black === */
.product-form__submit,
button[name="add"] {
  font-family: 'Inter', sans-serif !important;
  background: var(--ot-foreground) !important;
  color: var(--ot-ivory) !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  transition: background 0.4s var(--ot-ease) !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}

/* Gold sweep on hover -- from luxury app CTA */
.product-form__submit::after,
button[name="add"]::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: var(--ot-gold) !important;
  transform: translateY(100%) !important;
  transition: transform 0.4s var(--ot-ease) !important;
  z-index: 0 !important;
}

.product-form__submit:hover::after,
button[name="add"]:hover::after {
  transform: translateY(0) !important;
}

.product-form__submit span,
button[name="add"] > * {
  position: relative !important;
  z-index: 1 !important;
}

/* === Category Grid -- 3:4 cards with hover reveal === */
.orbit-categories__card {
  aspect-ratio: 3/4 !important;
  overflow: hidden !important;
  border-radius: 0 !important;
  background: var(--ot-secondary) !important;
}

.orbit-categories__card-img {
  transition: transform 0.6s var(--ot-ease) !important;
}

.orbit-categories__card:hover .orbit-categories__card-img {
  transform: scale(1.08) !important;
}

.orbit-categories__card-overlay {
  background: linear-gradient(to top, oklch(0.18 0.01 260 / 0.8) 0%, oklch(0.18 0.01 260 / 0.2) 50%, transparent 100%) !important;
  opacity: 0.9 !important;
  transition: opacity 0.4s var(--ot-ease) !important;
}

.orbit-categories__card:hover .orbit-categories__card-overlay {
  opacity: 1 !important;
}

.orbit-categories__card-label {
  font-family: 'Playfair Display', serif !important;
  font-size: 1.2rem !important;
  font-weight: 300 !important;
  color: var(--ot-ivory) !important;
  letter-spacing: 0 !important;
}

/* === Footer -- luxury app style === */
footer, .footer {
  background: var(--ot-foreground) !important;
  color: oklch(0.65 0.01 260) !important;
}

/* === Ken Burns for any hero background image === */
@keyframes ot-ken-burns {
  0% { transform: scale(1) translate3d(0, 0, 0); }
  100% { transform: scale(1.08) translate3d(-1%, -1%, 0); }
}

.orbit-hero-cinematic img,
.orbit-collection-hero img {
  animation: ot-ken-burns 18s ease-out forwards !important;
}



/* === orbit-launch-polish: footer menu breakpoint fix === */
@media (min-width: 750px) {
  .footer .menu__heading__accordion,
  .footer .menu__heading__toggle {
    display: none !important;
  }
  .footer summary.menu__heading {
    list-style: none;
    cursor: default;
  }
  .footer summary.menu__heading::-webkit-details-marker { display: none; }
  .footer details.menu > ul,
  .footer details.menu > .menu__list {
    display: block !important;
  }
}
@media (max-width: 749px) {
  .footer .menu__heading__default { display: none !important; }
}
/* === /orbit-launch-polish: footer menu breakpoint fix === */


/* === orbit-launch-polish: hero + cursor artifact fix === */
/* The cursor-glow element is a gold radial gradient that sits at (0,0) until the
   mouse moves, creating a visible peach-coloured blur artifact in the top-left of
   the hero on page load. The editorial cream direction does not want this effect
   at all. Hide it here; the underlying JS in orbit-animations.js will be removed
   in the subsequent cleanup pass. */
.orbit-cursor-glow { display: none !important; }

/* Safety override for scroll-reveal: if IntersectionObserver never fires (slow
   network, reduced motion, non-JS), the hero content would stay blurred. Force
   the resolved state so the hero is always legible. */
.orbit-hero__content,
.orbit-hero__content * {
  filter: none !important;
}
.orbit-hero__content {
  opacity: 1 !important;
  transform: none !important;
}
/* === /orbit-launch-polish: hero + cursor artifact fix === */


/* === orbit-launch-polish-2: footer menu fix v2 === */
/* Corrects earlier fix: DOM has no .footer ancestor; use actual selectors. */
@media (min-width: 750px) {
  details.menu__details .menu__heading__accordion,
  details.menu__details .menu__heading__toggle,
  accordion-custom.menu .menu__heading__accordion,
  accordion-custom.menu .menu__heading__toggle {
    display: none !important;
  }
  details.menu__details > summary.menu__heading {
    list-style: none;
    cursor: default;
    pointer-events: none;
  }
  details.menu__details > summary.menu__heading::-webkit-details-marker { display: none; }
  details.menu__details[open] ~ *,
  details.menu__details > ul,
  details.menu__details > .menu__list,
  accordion-custom.menu .menu__list { display: block !important; }
}
@media (max-width: 749px) {
  details.menu__details .menu__heading__default,
  accordion-custom.menu .menu__heading__default { display: none !important; }
}
/* === /orbit-launch-polish-2: footer menu fix v2 === */


/* === orbit-launch-polish-2: ambient particle killswitch === */
/* 2D CSS fallback particles show up as pink traces. Hide the whole motion layer. */
.orbit-ambient-particle,
.orbit-particles,
.orbit-particle-canvas,
#orbit-three-canvas,
#orbit-particle-canvas {
  display: none !important;
}
/* === /orbit-launch-polish-2: ambient particle killswitch === */


/* === orbit-launch-polish-4: kill product-card hover circus =================
   Fixes the "squish" + image flicker on PLP product cards. Editorial-cream
   direction = no motion gimmicks. Removes:
   - hover transform/transition (no scale, no lift)
   - hover outline + box-shadow (the "border appears + card looks bigger")
   - ::after diagonal shine-sweep animation
   - image hover overlay gradient
   - title gold-shimmer on hover
   - collection-card ::before bottom gold accent
   - embroidery badge fade-in (we're not using embroidery branding)
   Pairs with settings_data.json:
   - card_hover_effect: "none"
   - show_second_image_on_hover: false
   The proper deletion of the underlying noise is task #7 (dormant code stripout).
   ========================================================================= */

.product-card,
.collection-card {
  transition: none !important;
  outline: 0 !important;
  box-shadow: none !important;
}

.product-card:hover,
.product-card:focus-within,
.collection-card:hover,
.collection-card:focus-within {
  outline: 0 !important;
  box-shadow: none !important;
  transform: none !important;
}

.product-card::after,
.product-card:hover::after {
  display: none !important;
  content: none !important;
  animation: none !important;
}

.collection-card::before,
.collection-card:hover::before {
  display: none !important;
  content: none !important;
  transform: none !important;
}

.collection-card__image::after,
.product-card .card-gallery::after,
.product-card:hover .card-gallery::after,
.collection-card:hover .collection-card__image::after {
  display: none !important;
  content: none !important;
  opacity: 0 !important;
}

.product-card__title a,
.product-card__title,
.product-card__title a:hover,
.product-card__title:hover {
  background: none !important;
  -webkit-background-clip: initial !important;
  background-clip: initial !important;
  -webkit-text-fill-color: currentColor !important;
  color: currentColor !important;
  animation: none !important;
}

.orbit-product-badge--embroidery {
  display: none !important;
}

/* Image-zoom override: also defang the Ritual base hover-zoom in case
   admin re-enables it. Editorial direction = static images. */
.card-hover-effect-subtle-zoom .product-card:hover .card-gallery,
.card-hover-effect-subtle-zoom .product-card:hover .product-card__image,
.card-hover-effect-subtle-zoom .collection-card:hover .collection-card__image,
.card-hover-effect-scale .product-card:hover,
.card-hover-effect-scale .collection-card:hover,
.card-hover-effect-lift .product-card:hover,
.card-hover-effect-lift .collection-card:hover {
  transform: none !important;
}

/* Subtle, editorial hover affordance: hairline underline on the title link
   only — no movement, no scale, no shadow. Cursor and underline are enough
   to signal it's clickable. */
@media (any-pointer: fine) {
  .product-card__title a {
    text-decoration: none;
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-size: 0 1px;
    background-repeat: no-repeat;
    transition: background-size 0.3s ease;
  }
  .product-card:hover .product-card__title a,
  .product-card__title a:hover,
  .product-card:focus-within .product-card__title a {
    background-size: 100% 1px;
  }
}
/* === /orbit-launch-polish-4 =============================================== */

/* === orbit-launch-polish-5: kill header glassmorphism + unify surface =======
   User bug: hovering nav menu shows gray bands stacked on the header,
   and the cart icon looks like it has a hard white box behind it.
   
   Root cause:
   - header-component had THREE layered backdrop-filter blur rules
     (lines 421, 3499, 5054) and a semi-transparent rgba(249,247,244,0.95)
     background. When the mega-menu opens beneath, page content bleeds
     through the blur producing the perceived "gray".
   - Cart-icon button has a solid white background that reads as opaque
     against the glassy header — the "white box".
   - Multiple stacked .header__row / .header-section borders compound
     into visible gray dividers between rows.
   
   Fix: solid white header (matches mega-menu surface), zero blur, zero
   inter-row dividers, transparent action-button backgrounds. The whole
   header + mega-menu region reads as one continuous luxury surface.
   This is part of the dormant glassmorphism stripout (task #7) — same
   pattern as polish-1/2/4.
   ========================================================================= */

/* Wipe glassmorphism + transparency from every header layer */
header-component,
header-component[data-sticky-state="active"],
header-component .header-section,
.header-section,
.header__row,
.header__row--top,
.header__row--bottom {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: #f5f0eb !important;
  background-color: #f5f0eb !important;
  box-shadow: none !important;
}

/* Inter-row dividers off — single hairline only at the header/page seam */
.header__row,
.header__row + .header__row,
.header-section .header__row {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

header-component .header-section,
.header-section {
  border-top: 0 !important;
  border-bottom: 0.5px solid rgba(26, 26, 26, 0.08) !important;
}

/* Header action buttons (search / account / cart) — transparent, just icons */
.header-actions__action,
.header-actions__action > button,
.header-actions__action > a,
.header-actions__list > * > button,
.header-actions__list > * > a,
button.cart-bubble,
.cart-bubble,
[is="cart-bubble"],
button[aria-label*="cart" i],
button[aria-label*="search" i],
button[aria-label*="account" i],
a[aria-label*="cart" i],
a[aria-label*="account" i] {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
}

/* Empty cart-bubble notification badge — hide entirely */
.cart-bubble:empty,
.cart-bubble[data-cart-count="0"],
[data-cart-count="0"] .cart-bubble {
  display: none !important;
}

/* Mega-menu surface matches the header — single continuous white surface */
.mega-menu,
.mega-menu__content,
.mega-menu__inner,
header-component .mega-menu {
  background: #f5f0eb !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-top: 0.5px solid rgba(26, 26, 26, 0.06) !important;
  box-shadow: 0 8px 24px rgba(26, 26, 26, 0.04) !important;
}
/* === /orbit-launch-polish-5 =============================================== */

/* === orbit-launch-polish-6: target the actual underlay system =============
   Polish-5 didn't bite because the Ritual theme's .header__row is
   `background-color: transparent` — visible color comes from
   .header__underlay-closed / .header__underlay-open paint a
   linear-gradient between --color-scheme-top-row and --color-scheme-bottom-row.
   Source: sections/header.liquid lines 587-650.
   
   Approach: force both row-color CSS variables AND the underlay
   backgrounds to a single solid color, with high-specificity selectors
   that beat the inline {% stylesheet %} :has() rules in header.liquid.
   ========================================================================= */

/* Force the row-color variables — wins because last-defined of equal specificity */
header-component,
#header-component,
.header,
.header-section,
.header__columns,
.header__row,
.header__row--top,
.header__row--bottom,
.header__row--mid,
.header__underlay,
.header__underlay-closed,
.header__underlay-open {
  --color-scheme-top-row: #f5f0eb !important;
  --color-scheme-bottom-row: #f5f0eb !important;
  --color-submenu: #f5f0eb !important;
}

/* Underlay solid-paint — replaces the linear gradient entirely */
.header__underlay,
.header__underlay-closed,
.header__underlay-open,
header-component .header__underlay,
header-component .header__underlay-closed,
header-component .header__underlay-open,
#header-component .header__underlay,
#header-component .header__underlay-closed,
#header-component .header__underlay-open {
  background: #f5f0eb !important;
  background-image: none !important;
  background-color: #f5f0eb !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Underlay-open's ::after carries the popover shadow on submenu open —
   downsize from dramatic to a quiet hairline for the editorial feel */
.header__underlay-open::after,
header-component .header__underlay-open::after,
#header-component .header__underlay-open::after {
  box-shadow: 0 6px 18px rgba(26, 26, 26, 0.05) !important;
}

/* Defensively kill any leftover transparent-header-on-hover state changes
   that flip background colors mid-interaction */
header-component:hover,
header-component:focus-within,
header-component:has(.menu-list__link:hover),
header-component:has(.menu-list__link[aria-expanded='true']),
header-component:has(.mega-menu__list:hover) {
  background: #f5f0eb !important;
  background-color: #f5f0eb !important;
  --color-scheme-top-row: #f5f0eb !important;
  --color-scheme-bottom-row: #f5f0eb !important;
  --color-submenu: #f5f0eb !important;
}
/* === /orbit-launch-polish-6 =============================================== */

/* === orbit-launch-polish-7: cart-icon "white box" fix ====================
   Account button has class color-scheme-1 (paints cream #f5f0eb), but
   cart-drawer-component doesn't carry that class. With the header forced
   to pure white earlier, the cart sat on white while account sat on
   cream — visible as a "white box around the cart icon". This polish
   moves all header surfaces and cart-related elements to a single
   uniform cream so there's no contrast between elements or between
   header and hero.
   ========================================================================= */

cart-drawer-component,
cart-drawer-component .cart-drawer,
.header-actions__cart-icon,
.account-button,
.header-actions__action,
.header-actions {
  background: transparent !important;
  background-color: transparent !important;
}
/* === /orbit-launch-polish-7 =============================================== */

/* === orbit-launch-polish-8: footer column heading typography ==============
   User report: footer column headings ('Shop', 'Help & Info') are smaller
   and dimmer than the links beneath them — inverted hierarchy.
   
   Live values: .menu__heading__default at 9.6px / weight 600 / color
   rgba(255,255,255,0.35). Links at 13.12px / weight 400 / color
   rgba(220,210,195,0.75). Heading should dominate the column.
   
   Fix: refined editorial heading style. Larger, brighter, fine
   letter-spacing, proper margin-bottom for breathing room.
   ========================================================================= */

footer .menu__heading,
.footer .menu__heading,
.footer-content .menu__heading,
footer .menu__heading h3,
.footer .menu__heading h3,
footer .menu__heading__default,
.footer .menu__heading__default,
.footer-content .menu__heading__default {
  font-family: 'Didot', 'Bodoni 72', 'Bodoni MT', 'Playfair Display', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: rgba(255, 255, 255, 0.92) !important;
  margin: 0 0 1rem !important;
  display: block !important;
  line-height: 1.2 !important;
}

/* Ensure links sit at refined-luxury body size beneath the heading */
footer .footer-block a,
.footer .footer-block a,
.footer-content .footer-block a,
footer .menu a,
.footer .menu a {
  font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.02em !important;
  line-height: 2 !important;
  color: rgba(220, 210, 195, 0.65) !important;
  transition: color 0.25s ease !important;
}

footer .footer-block a:hover,
.footer .footer-block a:hover,
.footer-content .footer-block a:hover,
footer .menu a:hover,
.footer .menu a:hover {
  color: rgba(220, 210, 195, 1) !important;
  text-decoration: none !important;
}

/* Ensure the column gap is generous on desktop */
@media (min-width: 750px) {
  footer .footer-content,
  .footer .footer-content {
    gap: clamp(2rem, 5vw, 4.5rem) !important;
  }
}

/* The brand_text block (first column) — refined paragraph */
footer .footer-block:first-child p,
.footer .footer-block:first-child p,
.footer-content .footer-block:first-child p {
  font-family: 'Inter', 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.01em !important;
  line-height: 1.85 !important;
  color: rgba(220, 210, 195, 0.7) !important;
}

footer .footer-block:first-child strong,
.footer .footer-block:first-child strong,
.footer-content .footer-block:first-child strong {
  font-family: 'Didot', 'Bodoni 72', 'Bodoni MT', 'Playfair Display', Georgia, serif !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  color: rgba(255, 255, 255, 0.92) !important;
}
/* === /orbit-launch-polish-8 =============================================== */

/* === orbit-launch-polish-9: force mobile drawer items visible ===========
   User-reported critical bug (still): tapping the burger menu opens a
   blank drawer with no nav items.
   
   Root cause from live DOM inspection: items have animation
   "menu-drawer-nav-open 0.2s ease-in-out 0.2s backwards" which interpolates
   from visibility:hidden/opacity:0 to visibility:visible/opacity:1.
   But the items remain at visibility:hidden/opacity:0 even after the
   animation has completed (animationPlayState: running, but values
   not applied). animation-fill-mode: backwards means the element keeps
   the FIRST keyframe state during delay; after the animation completes,
   the element should revert to normal CSS — and normal CSS doesn't set
   visibility, so default should be visible. But Chrome's compositor is
   keeping the items hidden in this configuration.
   
   Fix: when drawer is open (.menu-open ancestor), force items to
   visibility:visible / opacity:1 / transform:none, OVERRIDING the
   animation. Also kill the animation entirely on these items so we
   don't fight it. Trade-off: no slide-in animation, but customers can
   actually use the menu (which they can't right now).
   ========================================================================= */

/* Cover BOTH .menu-open class AND the underlying [open] attribute on
   details so we catch every state where the drawer is showing. */
details.menu-drawer-container[open] .menu-drawer,
details.menu-drawer-container[open] .menu-drawer__menu,
details.menu-drawer-container[open] .menu-drawer__menu-item,
details.menu-drawer-container[open] .menu-drawer__animated-element,
details.menu-drawer-container[open] .menu-drawer__list-item,
details.menu-drawer-container[open] .menu-drawer__menu-item--mainlist,
details.menu-drawer-container[open] .menu-drawer__menu-item--child,
details.menu-drawer-container[open] .menu-drawer__navigation,
.menu-open .menu-drawer,
.menu-open .menu-drawer__menu,
.menu-open .menu-drawer__menu-item,
.menu-open .menu-drawer__animated-element,
.menu-open .menu-drawer__list-item {
  visibility: visible !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  animation-name: none !important;
  animation-duration: 0s !important;
}

/* Drawer container — make sure the panel itself is visible AND positioned */
details.menu-drawer-container[open] .menu-drawer,
.menu-open > .menu-drawer {
  visibility: visible !important;
  opacity: 1 !important;
  transform: translateX(0) !important;
}

/* Menu list size — ensure it actually paints (was 0x0 in DOM) */
details.menu-drawer-container[open] .menu-drawer__menu,
.menu-open .menu-drawer__menu {
  width: 100% !important;
  min-height: 1px !important;
  display: block !important;
}

/* === /orbit-launch-polish-9 =============================================== */

/* === orbit-launch-polish-10: bigger mobile logo ===========================
   User report: logo looks small/unreadable on mobile. Bump to 44px tall on
   mobile so the wordmark is legible and properly editorial.
   ========================================================================= */

@media screen and (max-width: 749px) {
  .orbit-header-logo-svg,
  .header__heading svg.orbit-header-logo-svg,
  .header-logo svg.orbit-header-logo-svg {
    height: 48px !important;
    max-width: 320px !important;
    width: auto !important;
  }
}
/* === /orbit-launch-polish-10 =============================================== */

/* === orbit-launch-polish-9c: force drawer NAV display ===================
   The .menu-drawer__navigation <nav> element has display:none from some
   Ritual rule we haven't located yet. Even with items at visibility:visible,
   if the parent NAV is display:none, items render at 0x0.
   ========================================================================= */
details.menu-drawer-container[open] .menu-drawer__navigation,
details.menu-drawer-container[open] .menu-drawer__inner-container,
details.menu-drawer-container[open] .menu-drawer__navigation-container,
.menu-open .menu-drawer__navigation,
.menu-open .menu-drawer__inner-container,
.menu-open .menu-drawer__navigation-container {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: auto !important;
}

/* List items also need to lay out properly */
details.menu-drawer-container[open] .menu-drawer__list-item,
details.menu-drawer-container[open] .menu-drawer__list-item--flat,
details.menu-drawer-container[open] .menu-drawer__list-item--deep,
.menu-open .menu-drawer__list-item,
.menu-open .menu-drawer__list-item--flat,
.menu-open .menu-drawer__list-item--deep {
  display: flex !important;
  width: 100% !important;
}

/* And the menu-item links themselves get explicit padding to read as nav */
details.menu-drawer-container[open] .menu-drawer__menu-item,
.menu-open .menu-drawer__menu-item {
  display: flex !important;
  width: 100% !important;
  min-height: 48px !important;
  padding: 12px 24px !important;
  font-size: 1rem !important;
  align-items: center !important;
}
/* === /orbit-launch-polish-9c =============================================== */

/* === orbit-launch-polish-11: ATC text visibility + EXPLORE DESIGNERS button =====
   Two user-reported bugs:
   1. Add-to-cart button text is invisible (black-on-black). Root cause:
      a rule .product-information :not(button):not(.button) forces all
      descendants except button itself to color:var(--orbit-navy-dark).
      This catches spans INSIDE the ATC button, overriding the ivory
      color the button itself has.
   2. EXPLORE DESIGNERS button on hero has color rgba(251,249,246,0.9)
      (cream-white) on transparent bg — invisible against the cream page.
      Designed for a dark hero image background.
   ============================================================================== */

/* ATC text — force ivory on every descendant of the button */
.product-information button[name="add"],
.product-information button[name="add"] *,
.product-information .product-form__submit,
.product-information .product-form__submit *,
button[name="add"] *,
.product-form__submit * {
  color: var(--ot-ivory, #f5f0eb) !important;
}

/* And explicitly handle the deepest text spans */
button[name="add"] .add-to-cart-text,
button[name="add"] .add-to-cart-text *,
button[name="add"] .add-to-cart-text__content,
button[name="add"] .add-to-cart-text__content * {
  color: var(--ot-ivory, #f5f0eb) !important;
}

/* Make sure ATC text sits above the gold sweep ::after */
button[name="add"] .add-to-cart-text,
button[name="add"] .add-to-cart-text *,
button[name="add"] > span,
.product-form__submit > span {
  position: relative !important;
  z-index: 2 !important;
}

/* EXPLORE DESIGNERS — secondary hero CTA on cream page needs dark text */
.orbit-hero__cta--secondary,
a.orbit-hero__cta--secondary,
button.orbit-hero__cta--secondary {
  color: rgba(26, 26, 26, 0.85) !important;
  background: transparent !important;
  border: 1px solid rgba(168, 138, 92, 0.6) !important;
}

.orbit-hero__cta--secondary:hover,
a.orbit-hero__cta--secondary:hover,
button.orbit-hero__cta--secondary:hover {
  color: rgba(26, 26, 26, 1) !important;
  border-color: rgba(168, 138, 92, 1) !important;
  background: rgba(168, 138, 92, 0.08) !important;
}
/* === /orbit-launch-polish-11 ================================================= */

/* === orbit-launch-polish-12: judge.me review widget editorial styling ====
   The "Write a review" button on PDPs is rendered by the Judge.me Shopify
   app, not in the theme. By default it's bright green which clashes with
   the editorial cream brand. Override the third-party widget's button +
   surrounding chrome to match the brand.
   ========================================================================= */

/* Judge.me primary button (green by default) */
.jdgm-btn,
.jdgm-write-rev-link,
.jdgm-rev-widg__summary-text + .jdgm-write-rev-link,
button.jdgm-btn-solid,
.jdgm-form-wrapper button[type="submit"] {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  color: #f5f0eb !important;
  border: 0 !important;
  border-radius: 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  padding: 12px 28px !important;
  font-weight: 400 !important;
  text-shadow: none !important;
}

.jdgm-btn:hover,
.jdgm-write-rev-link:hover,
button.jdgm-btn-solid:hover {
  background: #2c2c2c !important;
  color: #f5f0eb !important;
}

/* Star rating colour: brand gold instead of default yellow */
.jdgm-star.jdgm--on,
.jdgm-rev__rating .jdgm-star.jdgm--on {
  color: #a88a5c !important;
}

/* Review widget container — let the cream page show through, drop boxes */
.jdgm-rev-widg,
.jdgm-rev-widg__header,
.jdgm-rev-widg__summary {
  background: transparent !important;
  border: 0 !important;
}

.jdgm-rev-widg__title {
  font-family: 'Didot', 'Bodoni 72', 'Bodoni MT', 'Playfair Display', Georgia, serif !important;
  font-size: 1.4rem !important;
  letter-spacing: 0.02em !important;
  font-weight: 400 !important;
  color: var(--ot-foreground, #1a1a1a) !important;
}

/* Form inputs match the editorial direction */
.jdgm-form input,
.jdgm-form textarea {
  background: #fdfaf3 !important;
  border: 0.5px solid rgba(26,26,26,0.15) !important;
  border-radius: 0 !important;
  color: #1a1a1a !important;
}
/* === /orbit-launch-polish-12 =============================================== */

/* === orbit-launch-polish-13: strip craft ornaments, fix contact layout ===
   Audit findings: the brand-direction shift to editorial cream wasn't
   fully reflected in the .orbit-thread-divider (gold gradient line) or
   .orbit-embroidery-label (pseudo-element decorations) classes used
   throughout the marketing sections (about, contact, brand-story, faq).
   These read as artisan/craft, not luxury maison.
   ========================================================================= */

/* Thread-divider: gold gradient line -> minimal hairline */
.orbit-thread-divider {
  background: rgba(26, 26, 26, 0.12) !important;
  background-image: none !important;
  height: 1px !important;
  max-width: 60px !important;
  margin: 1rem auto !important;
  animation: none !important;
}

/* Embroidery-label: kill decorative pseudo-elements, leave a clean uppercase eyebrow */
.orbit-embroidery-label {
  position: relative !important;
  display: inline-block !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(26, 26, 26, 0.55) !important;
  font-weight: 500 !important;
}

.orbit-embroidery-label::before,
.orbit-embroidery-label::after {
  display: none !important;
  content: none !important;
}

/* Contact page — drop residual embroidery-hoop styling and prevent
   left/right column overlap on narrow viewports */
.orbit-contact__hoop {
  display: none !important;
}

@media screen and (max-width: 749px) {
  .orbit-contact {
    display: flex !important;
    flex-direction: column !important;
  }
  .orbit-contact__left,
  .orbit-contact__right {
    width: 100% !important;
    position: relative !important;
  }
  .orbit-contact__details {
    margin-bottom: 2rem !important;
  }
  /* Each detail item on its own line so badges don't crowd */
  .orbit-contact__detail-item {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 0 !important;
  }
}

/* Brand-story section: same craft tells need neutralizing */
.orbit-brand-story__thread-underline {
  background: rgba(26, 26, 26, 0.12) !important;
  background-image: none !important;
  height: 1px !important;
  max-width: 60px !important;
  margin: 1rem auto !important;
}

/* === /orbit-launch-polish-13 =============================================== */

/* === orbit-launch-polish-14: size guide bugs ============================
   Audit findings from live screenshot:
   1. Trigger button stretches full-width on desktop (some
      .product-information button rule sets width:100%)
   2. Modal table headers render black-on-black — the
      .product-information :not(button) descendant-color rule overrides
      the local color:#fff with !important
   ========================================================================= */

/* Trigger button: constrain to content width, refined editorial pill */
.orbit-size-guide__trigger {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  background: transparent !important;
  border: 0.5px solid rgba(26, 26, 26, 0.25) !important;
  border-radius: 999px !important;
  padding: 8px 18px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(26, 26, 26, 0.8) !important;
  cursor: pointer !important;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.orbit-size-guide__trigger:hover {
  background: rgba(26, 26, 26, 0.05) !important;
  border-color: rgba(26, 26, 26, 0.4) !important;
  color: #1a1a1a !important;
}

/* Modal table header: force white text on dark bg, override the
   .product-information :not(button) descendant-color rule */
.orbit-size-guide__table th,
.orbit-size-guide__modal .orbit-size-guide__table th {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Modal cells: make sure body text is also visible (was inheriting from
   the same parent rule, so safer to lock down explicitly) */
.orbit-size-guide__table td,
.orbit-size-guide__modal .orbit-size-guide__table td {
  color: #1a1a1a !important;
}

/* Modal headings: drop dark navy var, use plain dark for editorial */
.orbit-size-guide__title,
.orbit-size-guide__section-title,
.orbit-size-guide__modal .orbit-size-guide__title,
.orbit-size-guide__modal .orbit-size-guide__section-title {
  color: #1a1a1a !important;
  font-family: 'Didot', 'Bodoni 72', 'Bodoni MT', 'Playfair Display', Georgia, serif !important;
  font-weight: 400 !important;
}

/* Tip block: drop the dark navy left-border, use brand cream-to-gold subtle */
.orbit-size-guide__tip {
  border-left: 2px solid #a88a5c !important;
  background: #fdfaf3 !important;
}
/* === /orbit-launch-polish-14 =============================================== */

/* === orbit-launch-polish-15: ATC click-state alignment ====================
   Pratik reported the ATC text appears misaligned/shifts position after
   tapping the button on mobile. Root cause: Ritual base CSS animates
   .add-to-cart-text via @keyframes atc-slide using CSS variables
   --atc-opacity:0 and --atc-destination:-1em — meaning on click, the
   text fades + slides UP by 1em while a checkmark burst animates in.
   On mobile this looks like a glitchy misalignment.
   
   Editorial direction: the button should stay static. Drop the slide
   animation, drop the gold sweep ::after which is fighting with the
   text z-index.
   ========================================================================= */

/* Lock the ATC text in place — no slide-up, no fade on tap */
.add-to-cart-text,
button[name="add"] .add-to-cart-text,
[data-added="true"] .add-to-cart-text,
[data-added="true"] .add-to-cart__added {
  --atc-opacity: 1 !important;
  --atc-destination: 0px !important;
  animation: none !important;
  animation-name: none !important;
  clip-path: none !important;
  filter: none !important;
  translate: 0 0 !important;
  transform: none !important;
  opacity: 1 !important;
}

/* Hide the checkmark-burst overlay entirely — clean editorial buttons
   don't need a celebratory burst, the cart-bubble counter increments */
.add-to-cart__added,
.checkmark-burst,
[data-added="true"] .add-to-cart__added {
  display: none !important;
}

/* Kill the gold-sweep ::after on the ATC button — it was the cause of the
   "button changes color when clicked" issue and serves no editorial purpose */
.product-form__submit::after,
button[name="add"]::after {
  display: none !important;
  content: none !important;
}

/* Ensure ATC text remains centered in the button at all times */
button[name="add"],
.product-form__submit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}
button[name="add"] .add-to-cart-text {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}
/* === /orbit-launch-polish-15 =============================================== */

/* === orbit-launch-polish-16: V2-E logo presence + footer centering ======
   User screenshots showed:
   1. Header logo rendering smaller than expected — Shopify CSS variables
      (--header-logo-image-height) were constraining it under the inline
      style override.
   2. Footer logo rendered LEFT-ALIGNED instead of centered, leaving
      visible whitespace on the right of the wide dark footer band.
   ========================================================================= */

/* Header — force the desired rendered heights and stop Shopify variables
   from shrinking the inline SVG. */
.header-logo svg.orbit-header-logo-svg,
.header__heading svg.orbit-header-logo-svg,
header-component svg.orbit-header-logo-svg {
  height: 72px !important;
  max-width: 540px !important;
  width: auto !important;
  --header-logo-image-height: 72px !important;
  --header-logo-image-width: 405px !important;
}

@media screen and (max-width: 749px) {
  .header-logo svg.orbit-header-logo-svg,
  .header__heading svg.orbit-header-logo-svg,
  header-component svg.orbit-header-logo-svg {
    height: 56px !important;
    max-width: 360px !important;
    --header-logo-image-height: 56px !important;
  }
}

/* Footer logo — force centered, bigger, and override any
   alignment_horizontal/Shopify-injected width-constraints */
.shopify-section-group-footer-group .logo-section,
footer .logo-section,
[class*="footer"] .logo-section {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.shopify-section-group-footer-group .logo-section svg.orbit-logo-svg,
footer .logo-section svg.orbit-logo-svg,
.logo-section svg.orbit-logo-svg {
  height: 96px !important;
  max-width: 560px !important;
  width: auto !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Logo-section wrapping div (often has --logo-width restricting layout) */
.logo-section {
  --logo-width: auto !important;
  --logo-height: auto !important;
}

@media screen and (max-width: 749px) {
  .shopify-section-group-footer-group .logo-section svg.orbit-logo-svg,
  footer .logo-section svg.orbit-logo-svg,
  .logo-section svg.orbit-logo-svg {
    height: 64px !important;
    max-width: 380px !important;
  }
}
/* === /orbit-launch-polish-16 =============================================== */

/* === orbit-launch-polish-17: gold squiggle ornaments on section headings ==
   Pratik wants the editorial heading flourishes back across the site.
   These attach as ::before/::after pseudo-elements on the canonical
   section heading classes — one tasteful gold double-wave on each side,
   drawn in via stroke-dasharray on scroll-reveal.
   ========================================================================= */

.orbit-brands-marquee__heading,
.orbit-categories__heading,
.orbit-brand-story__heading,
.orbit-contact__heading,
.orbit-trust-newsletter__title,
.orbit-collection-hero__title,
.orbit-section-heading {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.85rem !important;
  flex-wrap: nowrap !important;
}

.orbit-brands-marquee__inner,
.orbit-categories__header,
.orbit-brand-story__inner,
.orbit-trust-newsletter__news {
  text-align: center !important;
}

.orbit-brands-marquee__heading::before,
.orbit-brands-marquee__heading::after,
.orbit-categories__heading::before,
.orbit-categories__heading::after,
.orbit-brand-story__heading::before,
.orbit-brand-story__heading::after,
.orbit-trust-newsletter__title::before,
.orbit-trust-newsletter__title::after,
.orbit-collection-hero__title::before,
.orbit-collection-hero__title::after,
.orbit-contact__heading::before,
.orbit-contact__heading::after,
.orbit-section-heading::before,
.orbit-section-heading::after {
  content: '';
  display: inline-block;
  width: 36px;
  height: 14px;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 14' fill='none'%3E%3Cpath d='M1 7 C 5 1, 9 13, 13 7 C 17 1, 21 13, 25 7 C 29 1, 33 13, 35 7' stroke='%23a88a5c' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  flex-shrink: 0;
  opacity: 0.95;
  vertical-align: middle;
}

/* On dark sections (Distinguished Houses, footer), use brighter gold */
.orbit-brands-marquee__heading::before,
.orbit-brands-marquee__heading::after {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 14' fill='none'%3E%3Cpath d='M1 7 C 5 1, 9 13, 13 7 C 17 1, 21 13, 25 7 C 29 1, 33 13, 35 7' stroke='%23c9a861' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Mobile: scale ornaments slightly smaller so they don't crowd narrow headings */
@media screen and (max-width: 749px) {
  .orbit-brands-marquee__heading::before,
  .orbit-brands-marquee__heading::after,
  .orbit-categories__heading::before,
  .orbit-categories__heading::after,
  .orbit-brand-story__heading::before,
  .orbit-brand-story__heading::after,
  .orbit-trust-newsletter__title::before,
  .orbit-trust-newsletter__title::after,
  .orbit-collection-hero__title::before,
  .orbit-collection-hero__title::after,
  .orbit-contact__heading::before,
  .orbit-contact__heading::after {
    width: 24px;
    height: 10px;
  }
}
/* === /orbit-launch-polish-17 =============================================== */

/* === orbit-launch-polish-18: inline announcement strip styles ============
   Strip is rendered directly in layout/theme.liquid (not via {% section %})
   so it never depends on Shopify admin registration. Styles need to live
   in orbit-enhancements.css since the section's {% stylesheet %} block
   isn't being used.
   ========================================================================= */

.orbit-announcement-strip {
  background: #1a1a1a !important;
  color: #c9a861 !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
  padding: 12px 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  line-height: 1.4 !important;
}
.orbit-announcement-strip__track {
  display: flex !important;
  width: max-content !important;
  white-space: nowrap !important;
  animation: orbit-announcement-scroll 35s linear infinite !important;
  will-change: transform !important;
}
.orbit-announcement-strip__item {
  padding-inline: 2.5rem !important;
  color: #c9a861 !important;
  display: inline-block !important;
}
@keyframes orbit-announcement-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-33.333%); }
}
@media (prefers-reduced-motion: reduce) {
  .orbit-announcement-strip__track { animation: none !important; }
}
/* === /orbit-launch-polish-18 =============================================== */

/* === orbit-launch-polish-19: squiggle draw-in animation + strip/footer refinement ==
   1. Animate the heading squiggle ornaments — clip-path reveal, drawn
      from the heading center outward. Runs once on page load.
   2. Drop gold from announcement strip text → cream/ivory (less gaudy,
      more refined-luxury). Strip stays dark, type tightens.
   3. Footer typography hierarchy + a subtle gold hairline above footer
      columns to separate from announcement strip.
   ========================================================================= */

/* === Squiggle draw-in animation ==========================================
   Pseudo-elements can't animate stroke-dashoffset, but they CAN animate
   clip-path. Reveals the SVG from the center outward toward the heading
   in a single arc on page load. */
@keyframes orbit-squiggle-draw-left {
  0% {
    clip-path: inset(0 0 0 100%);
    opacity: 0;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 0.95;
  }
}
@keyframes orbit-squiggle-draw-right {
  0% {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
  }
  100% {
    clip-path: inset(0 0 0 0);
    opacity: 0.95;
  }
}

.orbit-brands-marquee__heading::before,
.orbit-categories__heading::before,
.orbit-brand-story__heading::before,
.orbit-trust-newsletter__title::before,
.orbit-collection-hero__title::before,
.orbit-contact__heading::before {
  animation: orbit-squiggle-draw-left 1.4s cubic-bezier(0.65, 0, 0.35, 1) 0.4s both;
}
.orbit-brands-marquee__heading::after,
.orbit-categories__heading::after,
.orbit-brand-story__heading::after,
.orbit-trust-newsletter__title::after,
.orbit-collection-hero__title::after,
.orbit-contact__heading::after {
  animation: orbit-squiggle-draw-right 1.4s cubic-bezier(0.65, 0, 0.35, 1) 0.4s both;
}
@media (prefers-reduced-motion: reduce) {
  .orbit-brands-marquee__heading::before,
  .orbit-brands-marquee__heading::after,
  .orbit-categories__heading::before,
  .orbit-categories__heading::after,
  .orbit-brand-story__heading::before,
  .orbit-brand-story__heading::after,
  .orbit-trust-newsletter__title::before,
  .orbit-trust-newsletter__title::after {
    animation: none !important;
    clip-path: none !important;
    opacity: 0.95 !important;
  }
}

/* === Announcement strip: drop gold for cream (refined luxury) =============
   Gold-on-dark reads "duty-free / casino" not "Brunello / Mr Porter".
   Cream-on-near-black with refined kerning is the move. */
.orbit-announcement-strip {
  background: #0d0d0d !important;
  color: #d8cfc1 !important;
  padding: 14px 0 !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.32em !important;
  font-weight: 400 !important;
  border-bottom: 0.5px solid rgba(168, 138, 92, 0.18) !important;
}
.orbit-announcement-strip__item {
  color: #d8cfc1 !important;
  padding-inline: 3rem !important;
  opacity: 0.95 !important;
}

/* === Footer luxury polish =================================================
   - Subtle gold hairline above the columns (separates from announcement strip)
   - Tighten column heading hierarchy (already in polish-13/14, refine here)
   - Better vertical rhythm in column links */
.shopify-section-group-footer-group .footer,
.shopify-section-group-footer-group .footer-content {
  position: relative;
}

/* Top gold hairline accent on the footer columns block */
.shopify-section-group-footer-group [id*="footer_QAE7jb"]::before {
  content: '' !important;
  display: block !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(168, 138, 92, 0.35) 25%,
    rgba(168, 138, 92, 0.55) 50%,
    rgba(168, 138, 92, 0.35) 75%,
    transparent 100%
  ) !important;
  width: 80% !important;
  margin: 0 auto 3rem !important;
  max-width: 600px !important;
}

/* Footer column heading: refined Didot serif at 1rem, brighter brand cream */
.shopify-section-group-footer-group .menu__heading,
.shopify-section-group-footer-group .menu__heading__default {
  font-family: 'Didot', 'Bodoni 72', 'Bodoni MT', 'Playfair Display', Georgia, serif !important;
  font-size: 1rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.03em !important;
  text-transform: none !important;
  color: rgba(245, 240, 235, 0.9) !important;
  margin-bottom: 1rem !important;
  display: block !important;
}

/* Column links: slightly lighter, more breathing room */
.shopify-section-group-footer-group .menu__list a,
.shopify-section-group-footer-group footer a,
footer .footer-block a {
  color: rgba(245, 240, 235, 0.6) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.02em !important;
  line-height: 2.2 !important;
  text-decoration: none !important;
  transition: color 0.25s ease !important;
}
.shopify-section-group-footer-group .menu__list a:hover,
.shopify-section-group-footer-group footer a:hover {
  color: rgba(245, 240, 235, 0.95) !important;
}

/* Footer copyright + policy strip — subdued, smaller */
.shopify-section-group-footer-group [id*="utilities"] .footer__copyright,
.shopify-section-group-footer-group [id*="utilities"] {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: rgba(245, 240, 235, 0.4) !important;
}

/* Footer policy list links */
.policy-list-trigger {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  color: rgba(245, 240, 235, 0.4) !important;
  font-weight: 400 !important;
}
/* === /orbit-launch-polish-19 =============================================== */

/* === orbit-launch-polish-20: scroll-triggered reveal + global smoothness =====
   Replaces polish-17/19's auto-firing animations with .orbit-revealed
   class triggered by IntersectionObserver in orbit-reveal.js.
   Animations now fire when the user actually scrolls to the section.
   Plus global smoothness improvements (smooth-scroll, GPU layers).
   ========================================================================= */

/* Squiggle pseudo-elements: hidden by default, drawn in when parent
   has .orbit-revealed class (added by IntersectionObserver) */
.orbit-brands-marquee__heading::before,
.orbit-brands-marquee__heading::after,
.orbit-categories__heading::before,
.orbit-categories__heading::after,
.orbit-brand-story__heading::before,
.orbit-brand-story__heading::after,
.orbit-trust-newsletter__title::before,
.orbit-trust-newsletter__title::after,
.orbit-collection-hero__title::before,
.orbit-collection-hero__title::after,
.orbit-contact__heading::before,
.orbit-contact__heading::after {
  /* override polish-19's auto-firing animation */
  animation: none !important;
  clip-path: inset(0 50% 0 50%) !important;
  opacity: 0 !important;
  transition: clip-path 1.2s cubic-bezier(0.22, 0.61, 0.36, 1),
              opacity 0.6s ease-out !important;
  will-change: clip-path, opacity !important;
}

/* When the heading is revealed, draw the squiggles outward */
.orbit-brands-marquee__heading.orbit-revealed::before,
.orbit-categories__heading.orbit-revealed::before,
.orbit-brand-story__heading.orbit-revealed::before,
.orbit-trust-newsletter__title.orbit-revealed::before,
.orbit-collection-hero__title.orbit-revealed::before,
.orbit-contact__heading.orbit-revealed::before,
.orbit-brands-marquee__heading.orbit-revealed::after,
.orbit-categories__heading.orbit-revealed::after,
.orbit-brand-story__heading.orbit-revealed::after,
.orbit-trust-newsletter__title.orbit-revealed::after,
.orbit-collection-hero__title.orbit-revealed::after,
.orbit-contact__heading.orbit-revealed::after {
  clip-path: inset(0 0 0 0) !important;
  opacity: 0.95 !important;
}

@media (prefers-reduced-motion: reduce) {
  .orbit-brands-marquee__heading::before,
  .orbit-brands-marquee__heading::after,
  .orbit-categories__heading::before,
  .orbit-categories__heading::after,
  .orbit-brand-story__heading::before,
  .orbit-brand-story__heading::after,
  .orbit-trust-newsletter__title::before,
  .orbit-trust-newsletter__title::after,
  .orbit-collection-hero__title::before,
  .orbit-collection-hero__title::after,
  .orbit-contact__heading::before,
  .orbit-contact__heading::after {
    transition: none !important;
    clip-path: inset(0 0 0 0) !important;
    opacity: 0.95 !important;
  }
}

/* === GLOBAL SMOOTHNESS — Apple feel ====================================
   Smooth scrolling, GPU layers, refined easing curves. */

html {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  -webkit-overflow-scrolling: touch; /* iOS momentum scrolling */
}

/* Force GPU layer on common animated elements (cards, drawer, modals) */
.product-card,
.collection-card,
.menu-drawer,
dialog,
.cart-drawer__dialog,
header-component,
.header__row,
.orbit-trust-newsletter__btn,
.orbit-announcement-strip__track {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Subtle hover transitions everywhere (refined easing curve) */
a, button, input, select, textarea {
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-duration: 0.25s;
}

/* Generic [data-orbit-reveal] fade-up reveal target — opt-in for
   future sections that want a smooth entrance */
[data-orbit-reveal] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.9s cubic-bezier(0.22, 0.61, 0.36, 1),
              transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
  will-change: opacity, transform;
}
[data-orbit-reveal].orbit-revealed {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-orbit-reveal] { opacity: 1 !important; transform: none !important; }
}
/* === /orbit-launch-polish-20 =============================================== */

/* ============================================================
   LAUNCH POLISH — 2026-04-26
   Based on full site audit — critical fixes
   ============================================================ */

/* === 1. Fix homepage New Arrivals section gaps === */
.section-resource-list,
[id*="product_list"] {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* === 2. Product grid — tighten spacing, make it feel premium === */
ul.product-grid {
  gap: clamp(16px, 2vw, 28px) !important;
}

/* === 3. Price display — cleaner, less noisy === */
.price--on-sale .price__last,
.price__sale {
  color: #1a1a1a !important;
  font-weight: 500 !important;
}

.price--on-sale .price__compare,
.price__compare-at {
  font-size: 0.75rem !important;
  color: rgba(26,26,26,0.4) !important;
  text-decoration: line-through !important;
  margin-left: 6px !important;
}

/* Remove aggressive sale badge visual noise on collection grid */
.card__badge.badge--sale {
  background: #1a1a1a !important;
  color: #fff !important;
  font-size: 0.58rem !important;
  letter-spacing: 0.15em !important;
  padding: 2px 6px !important;
  border-radius: 0 !important;
  font-weight: 500 !important;
}

/* === 4. Product page — description area polish === */
.orbit-product-description {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 0.88rem !important;
  line-height: 1.8 !important;
  color: #444 !important;
}

.orbit-product-description p {
  margin-bottom: 1rem !important;
  color: #333 !important;
}

/* === 5. Size selector — more refined === */
.variant-option__button-label {
  min-width: 44px !important;
  text-align: center !important;
  border-radius: 0 !important;
  font-size: 0.72rem !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  padding: 0.6rem 0.85rem !important;
  transition: all 0.2s cubic-bezier(0.25,0.1,0.25,1) !important;
  border: 1px solid rgba(26,26,26,0.2) !important;
}

.variant-option__button-label:has(:checked) {
  border-color: #1a1a1a !important;
  border-width: 1.5px !important;
}

/* === 6. Filter panel refinements === */
.facets__heading,
[class*="filter"] [class*="heading"] {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #1a1a1a !important;
  margin-bottom: 0.75rem !important;
}

.facets label,
[class*="filter"] label {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  color: #444 !important;
  letter-spacing: 0.02em !important;
}

/* === 7. Add to Cart — gold hover sweep === */
.product-form__submit,
button[name="add"] {
  background: #1a1a1a !important;
  color: #faf9f6 !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: 'Inter', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  padding: 1rem 2rem !important;
  width: 100% !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  transition: color 0.4s cubic-bezier(0.25,0.1,0.25,1) !important;
}

.product-form__submit::after,
button[name="add"]::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: #c4a882 !important;
  transform: translateY(100%) !important;
  transition: transform 0.4s cubic-bezier(0.25,0.1,0.25,1) !important;
  z-index: 0 !important;
}

.product-form__submit:hover::after,
button[name="add"]:hover::after {
  transform: translateY(0) !important;
}

.product-form__submit > *,
button[name="add"] > * {
  position: relative !important;
  z-index: 1 !important;
}

/* === 8. Trust signal strip on PDP === */
.orbit-buyer-protection {
  border: 1px solid rgba(26,26,26,0.1) !important;
  border-radius: 0 !important;
  margin: 1rem 0 !important;
}

.orbit-bp__item {
  font-family: 'Inter', sans-serif !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.1em !important;
  color: #555 !important;
}

/* === 9. Collection page — header polish === */
.orbit-collection-hero__title,
[class*="collection-hero"] h1,
[class*="collection-hero"] .h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-weight: 300 !important;
  font-size: clamp(2rem, 5vw, 3.5rem) !important;
  letter-spacing: 0.02em !important;
}

/* === 10. Mobile — tighten product cards === */
@media screen and (max-width: 749px) {
  .card__heading,
  product-card h3 {
    font-size: 0.78rem !important;
    line-height: 1.35 !important;
  }
  
  .price__sale, .price__regular {
    font-size: 0.78rem !important;
  }
  
  .orbit-buyer-protection {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* === Authenticity badge block === */
.orbit-authenticity-badge {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 1rem 1.25rem;
  border: 1px solid rgba(196, 168, 130, 0.3);
  background: rgba(196, 168, 130, 0.05);
  margin: 0.75rem 0;
}

.orbit-authenticity-badge__icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
  color: #c4a882;
}

.orbit-authenticity-badge__text {
  font-family: 'Inter', sans-serif;
  font-size: 0.78rem;
  line-height: 1.6;
  color: #555;
}

.orbit-authenticity-badge__title {
  font-weight: 600;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #1a1a1a;
  display: block;
  margin-bottom: 2px;
}

/* Category grid — ensure images show */
.orbit-categories__card {
  background: #f0ede8 !important;
  min-height: 300px !important;
}

.orbit-categories__card-img {
  display: block !important;
  opacity: 1 !important;
}


/* ============================================================
   FOOTER — v5 SOLID COLORS (no rgba, bypasses CSS variable system)
   2026-04-26 — Shopify color-scheme-5 overrides rgba base RGB
   so we use fully opaque solid hex instead
   ============================================================ */

/* 1. Announcement strip */
footer .orbit-announcement-strip {
  background: #1a1a1a !important;
  border-bottom: 1px solid rgba(196,168,130,0.15) !important;
  overflow: hidden !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
}
footer .orbit-announcement-strip__track {
  display: flex !important;
  align-items: center !important;
  white-space: nowrap !important;
  animation: orbit-strip-scroll 40s linear infinite !important;
}
footer .orbit-announcement-strip__item {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #c4a882 !important;
  padding: 0 3rem !important;
  white-space: nowrap !important;
}
@keyframes orbit-strip-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-33.333%); }
}

/* 2. All footer backgrounds → #141414 */
footer,
.shopify-section-group-footer-group,
.shopify-section-group-footer-group .section-background,
.shopify-section-group-footer-group .section,
.shopify-section-group-footer-group .color-scheme-5,
.shopify-section-group-footer-group ~ div,
.shopify-section-group-footer-group ~ div .section-background,
.shopify-section-group-footer-group ~ div .color-scheme-5 {
  background-color: #141414 !important;
  background: #141414 !important;
}

/* 3. Hide empty social icons block */
body .shopify-section-group-footer-group .social-icons__wrapper {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
}

/* 4. Grid — 3 real columns */
body .shopify-section-group-footer-group .footer-content {
  display: grid !important;
  grid-template-columns: 1.4fr 1fr 1fr !important;
  gap: 4rem !important;
  align-items: start !important;
}
@media screen and (max-width: 989px) {
  body .shopify-section-group-footer-group .footer-content {
    grid-template-columns: 1fr 1fr !important;
    gap: 2.5rem !important;
  }
}
@media screen and (max-width: 599px) {
  body .shopify-section-group-footer-group .footer-content {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

/* 5. Force Inter on all footer text */
body .shopify-section-group-footer-group * {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-style: normal !important;
}

/* 6. Brand text block — SOLID opaque colors */
body .shopify-section-group-footer-group rte-formatter {
  color: #c8c1b8 !important;
}
body .shopify-section-group-footer-group rte-formatter p {
  font-size: 0.82rem !important;
  line-height: 1.85 !important;
  color: #c8c1b8 !important;
  margin: 0 0 0.8rem !important;
}
body .shopify-section-group-footer-group rte-formatter strong,
body .shopify-section-group-footer-group rte-formatter p strong {
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: #f0ece6 !important;
  display: block !important;
  margin-bottom: 1rem !important;
}

/* 7. Menu headings — SOLID opaque colors */
body .shopify-section-group-footer-group summary.menu__heading .menu__heading__default,
body .shopify-section-group-footer-group .menu__heading__default {
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #9e9690 !important;
  display: block !important;
  margin-bottom: 1.5rem !important;
}
@media screen and (min-width: 990px) {
  body .shopify-section-group-footer-group .menu__heading__accordion {
    display: none !important;
  }
  body .shopify-section-group-footer-group .menu__heading__default {
    display: block !important;
  }
}

/* 8. Menu links — SOLID opaque colors, gold hover */
body .shopify-section-group-footer-group .menu__item {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 2.3 !important;
}
body .shopify-section-group-footer-group .menu__item a,
body .shopify-section-group-footer-group .details-content .menu__item a {
  font-size: 0.82rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em !important;
  color: #d8d2c8 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  display: block !important;
}
body .shopify-section-group-footer-group .menu__item a:hover,
body .shopify-section-group-footer-group .details-content .menu__item a:hover {
  color: #c4a882 !important;
}

/* 9. Logo section — thin divider */
body .shopify-section-group-footer-group ~ div .logo-section {
  border-top: 1px solid rgba(255,255,255,0.07) !important;
}

/* 10. Utilities — copyright / policy */
body footer [class*="copyright"] *,
body footer [class*="policy"] * {
  font-family: 'Inter', -apple-system, sans-serif !important;
  font-size: 0.6rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #756e68 !important;
}
body footer a[class*="policy"]:hover,
body footer [class*="utilities"] a:hover {
  color: #c4a882 !important;
}

/* 11. Kill "Powered by Shopify" */
body footer a[href*="shopify.com"],
body footer [class*="powered"] {
  display: none !important;
}

/* 12. Kill the caret icons inside footer menus on desktop */
@media screen and (min-width: 990px) {
  body .shopify-section-group-footer-group .menu__heading__toggle {
    display: none !important;
  }
}

/* ============================================================
   MOBILE RESPONSIVENESS FIXES — 2026-04-26
   Issues found via automated audit across iPhone SE/14/Android
   ============================================================ */

/* ── 1. HEADER: Logo overflow fix ───────────────────────────
   SVG was forcing 315px wide on screens < 430px, pushing
   account/cart icons completely off screen.
   Fix: make SVG fill its grid cell (center column) and scale. */

@media screen and (max-width: 749px) {
  .orbit-header-logo-svg {
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 48px !important;
  }

  a.header-logo,
  .header-logo.size-style {
    min-width: 0 !important;
    overflow: visible !important;
    width: 100% !important;
  }

  /* The header grid center column — prevent blowout */
  .header__column--center,
  .header__columns .header-logo {
    min-width: 0 !important;
    overflow: hidden !important;
  }
}

/* ── 2. HERO: Excessive top padding on small screens ─────── */
@media screen and (max-width: 390px) {
  .orbit-hero,
  [class*="orbit-hero"],
  section[class*="hero"] .spacing-style {
    --padding-block-start: max(16px, calc(var(--spacing-scale) * 40px)) !important;
  }
}

/* ── 3. COLLECTION PAGE: Product card improvements ──────────
   Cards too cramped at 2-col on mobile */
@media screen and (max-width: 749px) {
  /* Ensure product title doesn't get cut off */
  .product-card__title,
  [class*="product-card"] .h3,
  [class*="product-card"] p {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: unset !important;
    -webkit-line-clamp: unset !important;
  }

  /* Better card padding on mobile */
  .product-card,
  [class*="product-card"] {
    padding-bottom: 0.5rem !important;
  }
}

/* ── 4. PDP: Prevent hero image from dominating entire screen */
@media screen and (max-width: 749px) {
  /* Constrain gallery height so buying actions are visible sooner */
  .product-media-wrapper,
  [class*="product-media-wrapper"],
  [class*="product-gallery"] .media-wrapper {
    max-height: 65vh !important;
    overflow: hidden !important;
  }

  .product-media-wrapper img,
  [class*="product-media-wrapper"] img {
    max-height: 65vh !important;
    object-fit: contain !important;
    width: 100% !important;
  }
}

/* ── 5. PDP: Trust badges — less cramped on mobile ──────────
   IMPORTANT: do NOT use [class*="orbit-trust"] — it matches the newsletter section too */
@media screen and (max-width: 749px) {
  .orbit-trust-badges,
  [class*="trust-badge"] {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
    font-size: 0.72rem !important;
  }
  /* Force newsletter trust section to SINGLE column (3 items stack) */
  .orbit-trust-newsletter__trust {
    grid-template-columns: 1fr !important;
    text-align: center !important;
  }
}

/* ── 6. Mega nav — ensure closed on mobile (hamburger only) ─ */
@media screen and (max-width: 749px) {
  .orbit-top-nav,
  .orbit-mega-nav {
    display: none !important;
  }
}

/* ── 7. Footer on mobile — single column ────────────────────*/
@media screen and (max-width: 599px) {
  .shopify-section-group-footer-group .footer-content {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

/* ── 8. Announcement strip — no clip on mobile ──────────────*/
@media screen and (max-width: 749px) {
  footer .orbit-announcement-strip {
    height: 36px !important;
  }
  footer .orbit-announcement-strip__item {
    font-size: 0.55rem !important;
    padding: 0 1.5rem !important;
  }
}

/* ============================================================
   MOBILE FIX v2 — 2026-04-26 (from Pratz screenshots)
   ============================================================ */

/* 1. Hero: remove forced 100vh — shrink to content height on mobile */
@media screen and (max-width: 749px) {
  .orbit-hero-cinematic {
    height: auto !important;
    min-height: 0 !important;
    padding-top: calc(var(--header-group-height, 56px) + 2rem) !important;
    padding-bottom: 3rem !important;
  }
}

/* 2. Logo clip fix — use vw-based max-width instead of percentage chain */
@media screen and (max-width: 749px) {
  .orbit-header-logo-svg {
    max-width: calc(100vw - 200px) !important;
    width: auto !important;
    height: auto !important;
    max-height: 44px !important;
  }
  a.header-logo,
  .header-logo.size-style {
    max-width: calc(100vw - 200px) !important;
    overflow: visible !important;
  }
}

/* 3. Category cards: ensure images show on mobile */
@media screen and (max-width: 749px) {
  .orbit-categories__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
  }
  .orbit-categories__card {
    min-height: 200px !important;
  }
  .orbit-categories__card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
  }
}

/* 4. Brand story: ensure right column images show on mobile */
@media screen and (max-width: 900px) {
  .orbit-brand-story__card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
    opacity: 1 !important;
  }
  .orbit-brand-story__right {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
}

/* ============================================================
   NEW ARRIVALS SECTION — spacing + squiggle heading ornaments
   Section class: ui-test-product-list
   ============================================================ */

/* Top spacing — breathing room above the section */
.shopify-section.ui-test-product-list {
  padding-top: clamp(3rem, 8vw, 5rem) !important;
}

/* Heading: match orbit-section-heading style + squiggle ornaments */
.ui-test-product-list h3 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.85rem !important;
  flex-wrap: nowrap !important;
}

.ui-test-product-list h3::before,
.ui-test-product-list h3::after {
  content: '' !important;
  display: inline-block !important;
  width: 36px !important;
  height: 14px !important;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 36 14' fill='none'%3E%3Cpath d='M1 7 C 5 1, 9 13, 13 7 C 17 1, 21 13, 25 7 C 29 1, 33 13, 35 7' stroke='%23a88a5c' stroke-width='1' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  flex-shrink: 0 !important;
  opacity: 0.95 !important;
  vertical-align: middle !important;
  animation: orbit-squiggle-draw-left 1.4s cubic-bezier(0.65, 0, 0.35, 1) 0.4s both !important;
}

.ui-test-product-list h3::after {
  animation-name: orbit-squiggle-draw-right !important;
}

/* Mobile: slightly smaller squiggles */
@media screen and (max-width: 749px) {
  .ui-test-product-list h3::before,
  .ui-test-product-list h3::after {
    width: 24px !important;
    height: 10px !important;
  }
  .shopify-section.ui-test-product-list {
    padding-top: 2.5rem !important;
  }
}

/* New Arrivals squiggle positioning fix — on mobile, hide right ornament
   since "SHOP ALL" shares the same flex row and creates visual confusion */
@media screen and (max-width: 749px) {
  .ui-test-product-list h3::after {
    display: none !important;
  }
  /* Left squiggle: vertically center with heading text */
  .ui-test-product-list h3::before {
    align-self: center !important;
  }
}

/* ============================================================
   PRE-LAUNCH VISUAL FIXES — 2026-04-27
   ============================================================ */

/* 1. Product card titles: max 2 lines with ellipsis */
.product-card__title,
.product-card__name,
.card__heading,
.card__heading a,
[class*="product-card"] h3,
[class*="product-card"] .h3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  line-height: 1.4 !important;
}

/* 2. Consistent 3:4 product image aspect ratio in grid */
.product-card .media,
.card__media,
[class*="product-card"] .media,
.product-card__image-wrapper,
product-card .media {
  aspect-ratio: 3/4 !important;
  overflow: hidden !important;
  background: #f5f0eb !important;
}
.product-card .media img,
.card__media img,
[class*="product-card"] .media img,
product-card .media img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center top !important;
}

/* 3. Footer accordion heading — safety fallback */
.shopify-section-group-footer-group summary .menu__heading__accordion,
.shopify-section-group-footer-group .menu__heading__accordion {
  display: none !important;
}

/* 4. Collection hero: reduce excessive top/bottom space */
.orbit-collection-hero,
[class*="collection-hero"] .spacing-style,
.collection-hero .spacing-style {
  padding-block: clamp(1.5rem, 4vw, 3rem) !important;
  min-height: 0 !important;
}

/* 5. New Arrivals: hide right squiggle, center align heading row */
.ui-test-product-list h3::after {
  display: none !important;
}
.ui-test-product-list .layout-panel-flex--row {
  align-items: center !important;
}

/* 6. Product card vendor/brand: visible above title */
.product-card__vendor,
.card__vendor,
[class*="product-card"] .vendor {
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: rgba(26,26,26,0.45) !important;
  margin-bottom: 0.15rem !important;
  display: block !important;
}

/* 7. Payment icons in footer */
.shopify-section-group-footer-group ~ div [class*="payment"],
.shopify-section-group-footer-group ~ div [class*="payment-icon"] {
  opacity: 0.65 !important;
  filter: grayscale(30%) !important;
}

/* ============================================================
   ORBIT DESCRIPTION FORMATTER — Premium PDP Spec Layout
   ============================================================ */

/* Hide the raw description table/paragraph while JS reformats */
.product-details .rte table {
  display: none !important;
}

/* Formatted wrapper */
.orbit-pdp-description {
  font-family: var(--font-body--family, 'Inter', sans-serif);
  color: #1a1a1a;
  margin-top: 1.5rem;
}

/* ── Intro paragraph ── */
.orbit-pdp-intro {
  margin-bottom: 1.5rem;
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(26,26,26,0.1);
}
.orbit-pdp-intro p {
  font-size: 0.875rem;
  line-height: 1.75;
  color: rgba(26,26,26,0.78);
  margin: 0;
  font-style: italic;
  letter-spacing: 0.01em;
}

/* ── Spec groups (eyewear) ── */
.orbit-spec-groups {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.orbit-spec-group {
  background: #faf8f5;
  border: 1px solid rgba(26,26,26,0.08);
  border-radius: 2px;
  overflow: hidden;
}

.orbit-spec-group__title {
  font-size: 0.6rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(26,26,26,0.4);
  padding: 0.65rem 1rem 0.5rem;
  border-bottom: 1px solid rgba(26,26,26,0.07);
  background: rgba(26,26,26,0.025);
}

/* ── Spec grid (rows) ── */
.orbit-spec-grid {
  display: grid;
  grid-template-columns: 1fr;
}

.orbit-spec-row {
  display: grid;
  grid-template-columns: 10rem 1fr;
  align-items: baseline;
  padding: 0.6rem 1rem;
  border-bottom: 1px solid rgba(26,26,26,0.05);
  transition: background 0.15s ease;
}
.orbit-spec-row:last-child {
  border-bottom: none;
}
.orbit-spec-row:hover {
  background: rgba(26,26,26,0.025);
}

.orbit-spec-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(26,26,26,0.45);
  padding-right: 1rem;
}

.orbit-spec-value {
  font-size: 0.8rem;
  color: #1a1a1a;
  letter-spacing: 0.01em;
  line-height: 1.5;
}

/* ── Clothing variant — no group title, tighter ── */
.orbit-spec-group--clothing {
  background: transparent;
  border: 1px solid rgba(26,26,26,0.1);
  border-radius: 2px;
}
.orbit-spec-group--clothing .orbit-spec-row {
  padding: 0.55rem 1rem;
}

/* ── Sparse / minimal ── */
.orbit-pdp-sparse .orbit-pdp-intro {
  border-bottom: none;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* ── Mobile ── */
@media screen and (max-width: 749px) {
  .orbit-spec-row {
    grid-template-columns: 8rem 1fr;
    padding: 0.55rem 0.85rem;
  }
  .orbit-spec-label {
    font-size: 0.62rem;
  }
  .orbit-spec-value {
    font-size: 0.75rem;
  }
  .orbit-pdp-intro p {
    font-size: 0.82rem;
  }
}

/* ============================================================
   ORBIT PDP DESCRIPTION — CSS-ONLY LUXURY STYLING
   SCOPED TO .template-product ONLY — avoids footer/newsletter
   ============================================================ */

/* Container: undo raw table display:none from earlier rule */
.template-product .product-details rte-formatter table {
  display: table !important;
}

/* ── CLOTHING: First <p> = editorial intro ── */
.template-product .product-details rte-formatter.rte > p:first-of-type {
  font-size: 0.875rem !important;
  line-height: 1.8 !important;
  color: rgba(26,26,26,0.72) !important;
  font-style: italic !important;
  letter-spacing: 0.01em !important;
  padding-bottom: 1.25rem !important;
  margin-bottom: 1.25rem !important;
  border-bottom: 1px solid rgba(26,26,26,0.08) !important;
}

/* When only one <p> (sparse: Versace), no border */
.template-product .product-details rte-formatter.rte > p:first-of-type:last-of-type {
  border-bottom: none !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* ── Spec lines: light tinted panel ── */
.template-product .product-details rte-formatter.rte > p + p {
  display: block !important;
  font-size: 0.78rem !important;
  line-height: 2.2 !important;
  color: rgba(26,26,26,0.65) !important;
  background: #faf8f5 !important;
  border: 1px solid rgba(26,26,26,0.07) !important;
  border-radius: 2px !important;
  padding: 0.6rem 1rem !important;
  margin-top: 0.75rem !important;
  letter-spacing: 0.01em !important;
}

/* ── EYEWEAR: HTML table styling ── */
/* Eyewear table — product pages only */
.template-product .product-details rte-formatter.rte table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-top: 0.75rem !important;
  font-size: 0.78rem !important;
}

.template-product .product-details rte-formatter.rte table tr {
  border-bottom: 1px solid rgba(26,26,26,0.06) !important;
  transition: background 0.12s ease !important;
}
.template-product .product-details rte-formatter.rte table tr:last-child {
  border-bottom: none !important;
}
.template-product .product-details rte-formatter.rte table tr:hover {
  background: rgba(26,26,26,0.02) !important;
}

.template-product .product-details rte-formatter.rte table td {
  padding: 0.55rem 0.75rem !important;
  vertical-align: middle !important;
  line-height: 1.4 !important;
}

.template-product .product-details rte-formatter.rte table td:first-child {
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: rgba(26,26,26,0.38) !important;
  width: 45% !important;
}

/* Eyewear: scoped to product pages only */
.template-product .product-details rte-formatter.rte table td:last-child {
  font-size: 0.78rem !important;
  color: #1a1a1a !important;
  letter-spacing: 0.01em !important;
}

/* PRODUCT DETAILS label above spec panel — product pages only */
.template-product .product-details rte-formatter.rte > p + p::before {
  content: 'PRODUCT DETAILS' !important;
  display: block !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(26,26,26,0.32) !important;
  padding: 0.75rem 1rem 0.5rem !important;
  border-bottom: 1px solid rgba(26,26,26,0.06) !important;
  margin-bottom: 0 !important;
  background: rgba(26,26,26,0.025) !important;
}

/* ── Mobile: product pages only ── */
@media screen and (max-width: 749px) {
  .template-product .product-details rte-formatter.rte > p:first-of-type {
    font-size: 0.82rem !important;
    padding-bottom: 1rem !important;
    margin-bottom: 1rem !important;
  }
  .template-product .product-details rte-formatter.rte > p + p {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.75rem !important;
  }
  .template-product .product-details rte-formatter.rte table td:first-child {
    width: 40% !important;
  }
}

/* ============================================================
   ORBIT MOBILE PERFORMANCE — CRITICAL OVERRIDE
   Disables ALL GPU-intensive effects on mobile.
   Eliminates backdrop-filter, filter:blur, animations, will-change.
   These are the primary cause of janky scrolling and slow UI.
   ============================================================ */

@media screen and (max-width: 749px) {

  /* ── Kill all keyframe animations ── */
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-delay: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.12s !important;
    transition-delay: 0ms !important;
  }

  /* ── Kill backdrop-filter (major GPU killer) ── */
  [class*="orbit-hero"] *,
  [class*="orbit-nav"] *,
  .orbit-mega-nav,
  .orbit-mega-nav *,
  [class*="overlay"],
  [class*="blur"],
  [class*="glass"] {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* ── Kill filter:blur (second biggest GPU killer) ── */
  [class*="orbit-hero"] .orbit-hero__bg,
  [class*="orbit-hero"] img,
  [class*="orbit-orb"],
  .orbit-drift-orb,
  [class*="drift-orb"] {
    filter: none !important;
    -webkit-filter: none !important;
  }

  /* ── Kill will-change (forces unnecessary compositing layers) ── */
  * {
    will-change: auto !important;
  }

  /* ── Kill Ken Burns / parallax on hero ── */
  .orbit-hero-cinematic,
  [class*="orbit-hero"] {
    transform: none !important;
  }
  .orbit-hero-cinematic .orbit-hero__bg,
  .orbit-hero-cinematic img,
  [class*="orbit-hero"] .orbit-hero__bg {
    animation: none !important;
    transform: none !important;
    filter: none !important;
  }

  /* ── Hide decorative drift orbs entirely on mobile ── */
  .orbit-drift-orb,
  [class*="drift-orb"],
  [class*="orbit-orb"] {
    display: none !important;
  }

  /* ── Kill stagger animations — show everything immediately ── */
  .orbit-stagger > *,
  [class*="orbit-stagger"] > *,
  .orbit-reveal,
  [class*="orbit-reveal"] {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  /* ── Simplify hero on mobile: no complex gradients ── */
  .orbit-hero-cinematic::before,
  .orbit-hero-cinematic::after,
  [class*="orbit-hero"]::before,
  [class*="orbit-hero"]::after {
    animation: none !important;
    filter: none !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  /* ── CSS containment for product cards (reduces layout scope) ── */
  product-card,
  .product-card {
    contain: layout style !important;
  }

  /* ── Simplify nav on mobile ── */
  .orbit-mega-nav,
  [class*="mega-nav"] {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    background: rgba(10, 8, 8, 0.97) !important;
  }

  /* ── Brand story images: no blur-in ── */
  .orbit-brand-story__image,
  [class*="orbit-brand-story"] img {
    filter: none !important;
    opacity: 1 !important;
    transform: none !important;
  }

  /* ── Category cards: no hover transform ── */
  .orbit-categories__card,
  [class*="orbit-categories__card"] {
    transform: none !important;
    transition: none !important;
  }

}

/* ============================================================
   ORBIT MOBILE — REFINED LUXURY MOTION
   Simple opacity/transform animations that don't hit the GPU.
   These preserve the editorial feel without causing jank.
   No backdrop-filter. No blur. No parallax.
   ============================================================ */

@media screen and (max-width: 749px) {

  /* ── Restore tasteful fade-in for sections ── */
  /* Sections that weren't yet visible gracefully appear */
  .orbit-brand-story,
  .orbit-categories,
  .orbit-trust-newsletter,
  .orbit-new-arrivals-section {
    animation: orbit-mobile-fadein 0.5s cubic-bezier(0.25,0.1,0.25,1) both !important;
  }

  @keyframes orbit-mobile-fadein {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ── Product cards: clean press feedback on tap ── */
  product-card,
  .product-card {
    transition: opacity 0.15s ease !important;
  }
  product-card:active,
  .product-card:active {
    opacity: 0.8 !important;
  }

  /* ── Product images: subtle load reveal ── */
  product-card img,
  .product-card img {
    transition: opacity 0.3s ease !important;
  }

  /* ── Add to Cart button: smooth press ── */
  .product-form__submit,
  [class*="add-to-cart"],
  button[name="add"] {
    transition: background 0.2s ease, transform 0.1s ease !important;
  }
  .product-form__submit:active,
  button[name="add"]:active {
    transform: scale(0.98) !important;
  }

  /* ── Heading reveal: simple, clean, no GPU ── */
  .orbit-revealed {
    animation: orbit-heading-reveal 0.6s cubic-bezier(0.25,0.1,0.25,1) both !important;
  }
  @keyframes orbit-heading-reveal {
    from { opacity: 0; transform: translateY(12px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* ── Page load: hero text fades in cleanly ── */
  .orbit-hero-cinematic .orbit-hero__content,
  [class*="orbit-hero"] .orbit-hero__content {
    animation: orbit-mobile-fadein 0.7s 0.2s cubic-bezier(0.25,0.1,0.25,1) both !important;
  }

}

/* ============================================================
   ORBIT MOBILE-FIRST OVERHAUL — Comprehensive UX Fix
   Addresses every mobile issue found in audit.
   All rules scoped to max-width: 749px unless noted.
   ============================================================ */

/* ═══════════════════════════════════════════════════════════
   1. SIZE / VARIANT SELECTOR — Make tap targets proper size
   ═══════════════════════════════════════════════════════════ */
@media screen and (max-width: 749px) {

  /* Bigger, more tappable size buttons */
  .variant-option__button-label {
    min-height: 48px !important;
    min-width: 48px !important;
    padding: 0.6rem 0.9rem !important;
    font-size: 0.78rem !important;
    letter-spacing: 0.08em !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 2px !important;
  }

  /* Make selected state crystal clear */
  .variant-option__button-label:has(input:checked),
  .variant-option__button-label--selected,
  .variant-option__button-label[data-selected] {
    background: #1a1a1a !important;
    color: #f5f0eb !important;
    border-color: #1a1a1a !important;
    font-weight: 600 !important;
  }

  /* Increase spacing between size buttons */
  .variant-option__buttons,
  .variant-option [class*="buttons"] {
    gap: 0.5rem !important;
    flex-wrap: wrap !important;
  }

  /* Size guide link — make more visible */
  .variant-option legend,
  .variant-option__label {
    font-size: 0.7rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin-bottom: 0.75rem !important;
    color: rgba(26,26,26,0.6) !important;
  }

/* ═══════════════════════════════════════════════════════════
   2. ADD TO CART — Sticky, always visible
   ═══════════════════════════════════════════════════════════ */

  /* ATC button — larger, more prominent */
  .button.add-to-cart-button,
  button[name="add"],
  .product-form__submit {
    min-height: 56px !important;
    font-size: 0.85rem !important;
    letter-spacing: 0.15em !important;
    border-radius: 2px !important;
    width: 100% !important;
  }

  /* Quantity + ATC row — ensure full width */
  .product-form__controls,
  [class*="product-form__controls"],
  .quantity-add-to-cart,
  [class*="quantity-add-to-cart"] {
    gap: 0.75rem !important;
  }

  .quantity-selector-wrapper {
    min-height: 56px !important;
    min-width: 90px !important;
  }

/* ═══════════════════════════════════════════════════════════
   3. TRUST STRIP — More visible near purchase zone
   ═══════════════════════════════════════════════════════════ */

  .orbit-trust-strip {
    margin-top: 1rem !important;
    padding: 0.75rem 0 !important;
    border-top: 1px solid rgba(26,26,26,0.08) !important;
    border-bottom: 1px solid rgba(26,26,26,0.08) !important;
  }

  .orbit-trust-strip__item {
    font-size: 0.72rem !important;
    font-weight: 500 !important;
    color: rgba(26,26,26,0.7) !important;
    padding: 0.4rem 0 !important;
  }

/* ═══════════════════════════════════════════════════════════
   4. COLLECTION PAGE — Filter/sort bar & product grid
   ═══════════════════════════════════════════════════════════ */

  /* Filter + sort bar: larger tap targets */
  [class*="collection-filter"],
  [class*="filter-toggle"],
  [class*="collection-sort"],
  [class*="filter-sort"],
  .collection-toolbar button,
  .collection-toolbar summary,
  [class*="toolbar"] button,
  [class*="toolbar"] summary {
    min-height: 44px !important;
    min-width: 44px !important;
    padding: 0.6rem 1rem !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.1em !important;
  }

  /* Product grid: comfortable 2-col with breathing room */
  ul.product-grid,
  .product-grid {
    gap: 1rem !important;
    padding-inline: 1rem !important;
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Product card: more padding */
  product-card,
  .product-card {
    border-radius: 2px !important;
  }

  /* Product card title: already 2-line clamp — ensure it sticks */
  .card__heading,
  .card__heading a,
  [class*="card__heading"] {
    font-size: 0.72rem !important;
    line-height: 1.35 !important;
    font-weight: 500 !important;
    letter-spacing: 0.02em !important;
    margin-top: 0.5rem !important;
    -webkit-line-clamp: 2 !important;
    display: -webkit-box !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
  }

  /* Price: clean hierarchy */
  .card__price,
  [class*="card__price"],
  [class*="product-card__price"] {
    font-size: 0.78rem !important;
    margin-top: 0.2rem !important;
    gap: 0.35rem !important;
  }

  /* Vendor/brand label on cards */
  .card__vendor,
  [class*="card__vendor"] {
    font-size: 0.58rem !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    color: rgba(26,26,26,0.4) !important;
    margin-top: 0.4rem !important;
    display: block !important;
  }

  /* Card content area */
  .card__information,
  [class*="card__information"] {
    padding: 0.6rem 0.4rem 0.8rem !important;
  }

/* ═══════════════════════════════════════════════════════════
   5. HERO SECTION — Tighter, less wasteful on mobile
   ═══════════════════════════════════════════════════════════ */

  .orbit-hero-cinematic {
    min-height: 85vh !important;
    max-height: 95vh !important;
  }

  .orbit-hero-cinematic .orbit-hero__content,
  [class*="orbit-hero"] .orbit-hero__content {
    padding: 2rem 1.5rem 3rem !important;
  }

  /* Headline: tighter, cleaner break */
  .orbit-hero__headline,
  [class*="orbit-hero__headline"],
  .orbit-hero-cinematic h1,
  .orbit-hero-cinematic h2 {
    font-size: clamp(2rem, 9vw, 2.8rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -0.02em !important;
    margin-bottom: 0.75rem !important;
    word-break: break-word !important;
  }

  /* Subheadline */
  .orbit-hero__sub,
  [class*="orbit-hero__sub"] {
    font-size: 0.78rem !important;
    line-height: 1.65 !important;
    max-width: 100% !important;
    margin-bottom: 1.5rem !important;
  }

  /* CTA buttons: full width, stacked */
  .orbit-hero__ctas,
  [class*="orbit-hero__ctas"],
  .orbit-hero-cinematic .orbit-btn-group {
    flex-direction: column !important;
    gap: 0.75rem !important;
    width: 100% !important;
  }

  .orbit-hero__ctas a,
  .orbit-hero__ctas button,
  .orbit-hero-cinematic .orbit-btn-group a,
  .orbit-hero-cinematic .orbit-btn-group button {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 0.78rem !important;
    text-align: center !important;
    justify-content: center !important;
  }

/* ═══════════════════════════════════════════════════════════
   6. CATEGORY TILES — Bigger labels, clearer CTAs
   ═══════════════════════════════════════════════════════════ */

  /* Category card labels: bigger and readable */
  .orbit-categories__card-title,
  [class*="orbit-categories__card"] h3,
  [class*="orbit-categories__card"] .h3,
  [class*="orbit-categories__card"] [class*="title"],
  [class*="orbit-categories__card"] [class*="label"] {
    font-size: 1rem !important;
    letter-spacing: 0.08em !important;
    font-weight: 600 !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.5) !important;
    padding: 0.5rem !important;
  }

  /* Category grid: 2 columns, square-ish tiles */
  .orbit-categories__grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.5rem !important;
  }

  /* Tiles: min height for tappability */
  .orbit-categories__card {
    min-height: 160px !important;
  }

/* ═══════════════════════════════════════════════════════════
   7. BRAND STORY / SECTIONS — Reduce excessive whitespace
   ═══════════════════════════════════════════════════════════ */

  /* Reduce oversized section padding */
  .shopify-section {
    --section-padding: 3rem !important;
  }

  /* Headings in sections: appropriate mobile size */
  .orbit-brand-story__heading,
  .orbit-categories__heading,
  .orbit-trust-newsletter__title,
  [class*="orbit-section-heading"] {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 1rem !important;
  }

/* ═══════════════════════════════════════════════════════════
   8. IMAGE GALLERY ON PDP — Better swipe affordance
   ═══════════════════════════════════════════════════════════ */

  /* Gallery dots: larger tap targets */
  [class*="media-gallery"] [class*="dot"],
  [class*="media-gallery"] li[class*="slide"],
  [class*="slideshow__dot"],
  .gallery-dots li,
  [class*="pagination"] li {
    min-width: 8px !important;
    min-height: 8px !important;
    margin: 0 4px !important;
  }

  /* Swipe hint text on first load */
  .product-media-gallery::after {
    content: 'Swipe ›' !important;
    position: absolute !important;
    bottom: 0.75rem !important;
    right: 1rem !important;
    font-size: 0.65rem !important;
    letter-spacing: 0.12em !important;
    color: rgba(255,255,255,0.7) !important;
    text-transform: uppercase !important;
    pointer-events: none !important;
  }

/* ═══════════════════════════════════════════════════════════
   9. FOOTER — Clean, readable on mobile
   ═══════════════════════════════════════════════════════════ */

  /* Footer: single column, proper spacing */
  .shopify-section-group-footer-group .footer-columns,
  [class*="footer-columns"],
  [class*="footer__columns"] {
    grid-template-columns: 1fr !important;
    gap: 1.5rem !important;
  }

  /* Footer links: bigger tap targets */
  .footer a,
  [class*="footer"] a {
    display: block !important;
    padding: 0.35rem 0 !important;
    font-size: 0.82rem !important;
    min-height: 36px !important;
    line-height: 2 !important;
  }

/* ═══════════════════════════════════════════════════════════
   10. NEWSLETTER SECTION — Better mobile form
   ═══════════════════════════════════════════════════════════ */

  .orbit-trust-newsletter__form,
  [class*="newsletter"] form,
  [class*="newsletter__form"] {
    flex-direction: column !important;
    gap: 0.75rem !important;
  }

  [class*="newsletter"] input[type="email"],
  [class*="email-input"],
  .orbit-trust-newsletter__input {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 1rem !important;
    padding: 0 1.25rem !important;
    border-radius: 2px !important;
    -webkit-appearance: none !important;
  }

  [class*="newsletter"] button[type="submit"],
  .orbit-trust-newsletter__btn {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 0.82rem !important;
    letter-spacing: 0.15em !important;
    border-radius: 2px !important;
  }

} /* end @media (max-width: 749px) */
/* ============================================================
   Orbit Luxury App Port — Editorial Film Strip Hero
   Source inspiration: orbit-trends-luxury/src/components/HeroFilmStrip.tsx
   Shopify-safe: no framework dependency, poster-first video, reduced motion.
   ============================================================ */

@keyframes orbit-lux-blur-in {
  0% { opacity: 0; filter: blur(12px); transform: translateY(16px); }
  100% { opacity: 1; filter: blur(0); transform: translateY(0); }
}

@keyframes orbit-lux-gold-sweep {
  0% { opacity: 0; transform: translateY(-100%) scaleX(0.55); }
  12% { opacity: 1; }
  55% { opacity: 1; }
  100% { opacity: 0; transform: translateY(54rem) scaleX(1); }
}

.orbit-film-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(7rem, 10vw, 9rem) clamp(1.25rem, 4vw, 3rem) clamp(4rem, 8vw, 6.5rem);
  background: linear-gradient(180deg, rgba(26, 26, 26, 0.03) 0%, transparent 32%, transparent 100%), var(--orbit-cream, #f5f0eb);
  color: var(--orbit-black, #1a1a1a);
  isolation: isolate;
}

.orbit-film-hero__wash {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 12%, rgba(255, 255, 255, 0.62), transparent 30%),
    radial-gradient(circle at 82% 35%, rgba(224, 216, 207, 0.42), transparent 34%);
  z-index: -1;
}

.orbit-film-hero__inner {
  max-width: 1400px;
  margin: 0 auto;
}

.orbit-film-hero__header,
.orbit-film-hero__footer {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.orbit-film-hero__eyebrow {
  margin: 0 0 1.25rem;
  font-size: 0.68rem;
  line-height: 1.3;
  letter-spacing: 0.35em;
  text-transform: uppercase;
  color: var(--orbit-charcoal, #4a4a4a);
}

.orbit-film-hero__heading {
  margin: 0;
  font-family: var(--font-heading--family, "Playfair Display", Georgia, serif);
  font-size: clamp(2.65rem, 6vw, 5.8rem);
  font-weight: 300;
  line-height: 1.04;
  letter-spacing: -0.045em;
  color: var(--orbit-black, #1a1a1a);
}

.orbit-film-hero__heading em {
  font-weight: 400;
  font-style: italic;
}

.orbit-film-hero__strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(0.75rem, 1.6vw, 1.5rem);
  margin: clamp(1.75rem, 4vw, 3.2rem) auto 0;
}

.orbit-film-hero__panel {
  position: relative;
  aspect-ratio: 9 / 16;
  overflow: hidden;
  background: rgba(26, 26, 26, 0.06);
  transform: translateZ(0);
  box-shadow: 0 22px 50px rgba(26, 26, 26, 0.08);
}

.orbit-film-hero__slot,
.orbit-film-hero__video,
.orbit-film-hero__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.orbit-film-hero__video,
.orbit-film-hero__poster {
  object-fit: cover;
  transition: transform 1.2s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)), filter 1.2s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

.orbit-film-hero__poster {
  z-index: 0;
  opacity: 1;
}

.orbit-film-hero__video {
  z-index: 1;
  opacity: 0;
}

.orbit-film-hero__video--current.is-ready {
  opacity: 1;
}

.orbit-film-hero__video:not(.is-ready) {
  opacity: 0 !important;
}

.orbit-film-hero__video--next {
  opacity: 0;
  transition: opacity 0.8s ease-out, transform 1.2s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)), filter 1.2s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

.orbit-film-hero__panel--swapping .orbit-film-hero__video--current.is-ready {
  opacity: 0;
}

.orbit-film-hero__panel--swapping .orbit-film-hero__video--next.is-ready {
  opacity: 1;
}

.orbit-film-hero__panel:hover .orbit-film-hero__video,
.orbit-film-hero__panel:hover .orbit-film-hero__poster {
  transform: scale(1.045);
  filter: saturate(1.03) contrast(1.02);
}

.orbit-film-hero__frame,
.orbit-film-hero__vignette,
.orbit-film-hero__sweep {
  position: absolute;
  pointer-events: none;
}

.orbit-film-hero__frame {
  inset: 0;
  z-index: 3;
  border: 1px solid rgba(201, 168, 76, 0.48);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.12);
}

.orbit-film-hero__vignette {
  inset: 0;
  z-index: 2;
  background: linear-gradient(180deg, transparent 0%, transparent 66%, rgba(26, 26, 26, 0.16) 100%);
}

.orbit-film-hero__sweep {
  inset-inline: 0;
  top: 0;
  z-index: 4;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(201, 168, 76, 0.95), transparent);
  opacity: 0;
}

.orbit-film-hero__subheading {
  margin: clamp(2.25rem, 4vw, 3.5rem) auto 0;
  max-width: 680px;
  color: var(--orbit-charcoal, #4a4a4a);
  font-size: clamp(1rem, 1.4vw, 1.16rem);
  line-height: 1.75;
}

.orbit-film-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2rem;
}

.orbit-film-hero__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  padding: 0.95rem 2.35rem;
  font-size: 0.72rem;
  line-height: 1;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  transition: color 0.5s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)), background 0.5s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)), border-color 0.5s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

.orbit-film-hero__cta--primary {
  position: relative;
  overflow: hidden;
  background: var(--orbit-black, #1a1a1a);
  color: var(--orbit-cream, #f5f0eb);
}

.orbit-film-hero__cta--primary span {
  position: relative;
  z-index: 2;
  transition: transform 0.5s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

.orbit-film-hero__cta--primary span + span {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--orbit-black, #1a1a1a);
  transform: translateY(100%);
}

.orbit-film-hero__cta--primary::before {
  content: '';
  position: absolute;
  inset: 0;
  background: #c9a84c;
  transform: translateY(100%);
  transition: transform 0.5s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

.orbit-film-hero__cta--primary:hover::before,
.orbit-film-hero__cta--primary:focus-visible::before,
.orbit-film-hero__cta--primary:hover span + span,
.orbit-film-hero__cta--primary:focus-visible span + span {
  transform: translateY(0);
}

.orbit-film-hero__cta--primary:hover span:first-child,
.orbit-film-hero__cta--primary:focus-visible span:first-child {
  transform: translateY(-140%);
}

.orbit-film-hero__cta--secondary {
  border: 1px solid var(--orbit-black, #1a1a1a);
  color: var(--orbit-black, #1a1a1a);
  background: transparent;
}

.orbit-film-hero__cta--secondary:hover,
.orbit-film-hero__cta--secondary:focus-visible {
  background: var(--orbit-black, #1a1a1a);
  color: var(--orbit-cream, #f5f0eb);
}

@media (prefers-reduced-motion: no-preference) {
  marquee-component .marquee__wrapper {
    animation: marquee-motion var(--marquee-speed, 24s) linear infinite var(--marquee-direction, normal) !important;
    will-change: transform;
  }

  .orbit-brands-marquee__track {
    animation: orbit-brands-scroll 36s linear infinite !important;
    will-change: transform;
  }
}

marquee-component .marquee__wrapper,
.orbit-brands-marquee__track {
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
}

/* Restore editorial icons for the homepage Trust Signals custom block. */
[id*='section_yag4Vj'] h3::before {
  content: '';
  display: block;
  width: 30px;
  height: 30px;
  margin: 0 auto 0.65rem;
  background-color: #a88a5c;
  -webkit-mask: var(--orbit-trust-icon) center / contain no-repeat;
  mask: var(--orbit-trust-icon) center / contain no-repeat;
  opacity: 0.92;
}

[id*='section_yag4Vj'] h3 {
  font-family: var(--font-heading--family, 'Playfair Display', Georgia, serif) !important;
  font-weight: 400 !important;
}

[id*='section_yag4Vj'] h3:has(+ *)::before,
[id*='section_yag4Vj'] h3::before {
  --orbit-trust-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14 3L4 7v6c0 6 4 11 10 12 6-1 10-6 10-12V7l-10-4z' fill='none' stroke='black' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E");
}

[id*='section_yag4Vj'] h3:nth-of-type(2)::before {
  --orbit-trust-icon: url("data:image/svg+xml,%3Csvg viewBox='0 0 28 28' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='2' y='9' width='14' height='10' rx='1.5' fill='none' stroke='black' stroke-width='1.4'/%3E%3Cpath d='M16 12h6l3 4v3h-9V12z' fill='none' stroke='black' stroke-width='1.4' stroke-linejoin='round'/%3E%3Ccircle cx='7' cy='22' r='2.5' fill='none' stroke='black' stroke-width='1.4'/%3E%3Ccircle cx='20' cy='22' r='2.5' fill='none' stroke='black' stroke-width='1.4'/%3E%3C/svg%3E");
}

  .orbit-film-hero__eyebrow,
  .orbit-film-hero__heading,
  .orbit-film-hero__strip,
  .orbit-film-hero__subheading,
  .orbit-film-hero__ctas {
    animation: orbit-lux-blur-in 1.25s cubic-bezier(0.25, 0.1, 0.25, 1) both;
  }
  .orbit-film-hero__heading { animation-delay: 0.14s; }
  .orbit-film-hero__strip { animation-delay: 0.28s; }
  .orbit-film-hero__subheading { animation-delay: 0.44s; }
  .orbit-film-hero__ctas { animation-delay: 0.58s; }
  .orbit-film-hero__panel--swapping .orbit-film-hero__sweep {
    animation: orbit-lux-gold-sweep 0.8s ease-in-out both;
  }
}

@media screen and (max-width: 989px) {
  .orbit-film-hero__strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .orbit-film-hero__panel--3 { display: none; }
}

@media screen and (max-width: 640px) {
  .orbit-film-hero {
    padding-top: 7.25rem;
    padding-bottom: 4.25rem;
  }
  .orbit-film-hero__eyebrow {
    letter-spacing: 0.28em;
    margin-bottom: 1rem;
  }
  .orbit-film-hero__heading {
    font-size: clamp(2.35rem, 13vw, 3.45rem);
    line-height: 1.02;
  }
  .orbit-film-hero__strip { grid-template-columns: 1fr; }
  .orbit-film-hero__panel {
    width: min(100%, 310px);
    max-height: 58vh;
    margin-inline: auto;
  }
  .orbit-film-hero__panel--2,
  .orbit-film-hero__panel--3 { display: none; }
  .orbit-film-hero__subheading {
    margin-top: 1.75rem;
    font-size: 0.98rem;
    line-height: 1.65;
  }
  .orbit-film-hero__ctas { flex-direction: column; align-items: stretch; }
  .orbit-film-hero__cta {
    width: 100%;
    min-height: 2.9rem;
    padding: 0.9rem 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .orbit-film-hero__video { animation: none; }
  .orbit-film-hero__sweep { display: none; }
}

/* ============================================================
   Orbit Luxury App Port — Product Cards + Collection Toolbar
   Source inspiration: ProductCard.tsx / collections.$handle.tsx.
   ============================================================ */

@keyframes orbit-luxe-sheen {
  0% { transform: translateX(-120%) skewX(-12deg); }
  100% { transform: translateX(220%) skewX(-12deg); }
}

.orbit-img-reveal {
  opacity: 0;
  filter: blur(10px);
  transform: scale(1.015);
  transition:
    opacity 0.75s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
    filter 0.75s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)),
    transform 0.9s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1));
}

.orbit-img-reveal.is-loaded {
  opacity: 1;
  filter: blur(0);
  transform: scale(1);
}

.orbit-card-rise {
  opacity: 0;
  transform: translateY(22px);
  transition:
    opacity 0.8s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) var(--orbit-card-rise-delay, 0ms),
    transform 0.8s var(--orbit-ease-out, cubic-bezier(0.16, 1, 0.3, 1)) var(--orbit-card-rise-delay, 0ms);
}

.orbit-card-rise.orbit-card-rise-done,
.orbit-card-rise-done {
  opacity: 1;
  transform: translateY(0);
}

.product-grid__item .card-gallery,
product-card .card-gallery {
  background: linear-gradient(110deg, rgba(235, 229, 221, 0.72), rgba(255, 255, 255, 0.88), rgba(235, 229, 221, 0.72));
}

.product-grid__item .card-gallery::before,
product-card .card-gallery::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.42), transparent);
  transform: translateX(-120%) skewX(-12deg);
}

@media (prefers-reduced-motion: no-preference) {
  .product-grid__item:not(.orbit-card-rise-done) .card-gallery::before,
  product-card:not(.orbit-card-rise-done) .card-gallery::before {
    animation: orbit-luxe-sheen 1.35s ease-in-out infinite;
  }
}

.product-grid__item .card-gallery > *,
product-card .card-gallery > * {
  position: relative;
  z-index: 1;
}

.product-grid__item product-price,
product-card product-price,
.product-grid__item .price,
product-card .price {
  letter-spacing: 0.02em;
}

.product-grid__item .badge,
product-card .badge,
.product-grid__item [class*='badge'],
product-card [class*='badge'] {
  border-radius: 0 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.product-grid__item :is(a, button):focus-visible,
product-card :is(a, button):focus-visible {
  outline: 1px solid #c9a84c;
  outline-offset: 4px;
  box-shadow: 0 0 0 5px rgba(201, 168, 76, 0.16);
}

.facets-controls-wrapper,
.facets-toggle,
.facets-mobile-wrapper {
  background: rgba(245, 240, 235, 0.82) !important;
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-block: 1px solid rgba(26, 26, 26, 0.08);
}

.facets--horizontal.facets-controls-wrapper {
  position: sticky;
  top: var(--header-height, 0px);
  z-index: 15;
}

.facets__summary,
.facets-toggle__button,
.sorting-filter__select,
.facets__clear-all-link,
.filter-remove-buttons a,
.filter-remove-buttons button {
  font-size: 0.72rem !important;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.filter-count-bubble__background,
.facets__bubble {
  background: #c9a84c !important;
  color: #1a1a1a !important;
}

.facets__clear-all-link,
.filter-remove-buttons a,
.filter-remove-buttons button {
  color: var(--orbit-charcoal, #4a4a4a) !important;
}

.facets__clear-all-link:hover,
.filter-remove-buttons a:hover,
.filter-remove-buttons button:hover {
  color: var(--orbit-black, #1a1a1a) !important;
}

@media (prefers-reduced-motion: reduce) {
  .orbit-img-reveal,
  .orbit-card-rise {
    opacity: 1;
    filter: none;
    transform: none;
    transition: none;
  }
  .product-grid__item .card-gallery::before,
  product-card .card-gallery::before {
    display: none;
  }
}

/* version: 1777652603 - forced cache hash change */
