/** Shopify CDN: Minification failed

Line 1970:33 Unexpected "*"

**/
/* Osharē Base Styles — Luxury Fashion Theme */
/* ============================
   DESIGN TOKENS
============================ */
:root {
  --navy: #0a0f1e;
  --navy-mid: #0f1830;
  --navy-light: #162040;
  --navy-card: #111828;
  --gold: #FFA200;
  --gold-light: #ffb733;
  --gold-dim: #b37100;
  --white: #f5f3ef;
  --white-pure: #ffffff;
  --muted: rgba(245,243,239,0.45);
  --muted-less: rgba(245,243,239,0.7);
  --serif: 'Cormorant Garamond', Georgia, serif;
  --sans: 'Jost', system-ui, sans-serif;
  --transition: all 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-fast: all 0.2s ease;
  --shadow-gold: 0 0 30px rgba(255,162,0,0.15);
  --shadow-deep: 0 20px 60px rgba(0,0,0,0.5);
  --nav-height: 76px;
}

/* ============================
   RESET & BASE
============================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 16px; background: #0a0f1e; }
@keyframes oshare-fadein { from { opacity: 0; } to { opacity: 1; } }
body {
  background: var(--navy);
  color: var(--white);
  animation: oshare-fadein 0.45s ease both;
  font-family: var(--sans);
  font-weight: 300;
  line-height: 1.6;
  overflow-x: hidden;
  cursor: auto; /* custom cursor active */
}
body.no-scroll { overflow: hidden; }
img { display: block; width: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; cursor: auto; }
button { cursor: auto; border: none; background: none; font-family: var(--sans); }
input, textarea, select { font-family: var(--sans); background: transparent; border: none; outline: none; color: var(--white); cursor: auto; }
ul { list-style: none; }
h1,h2,h3,h4 { font-family: var(--serif); font-weight: 300; line-height: 1.1; }
h1 { font-size: clamp(3rem, 8vw, 7rem); letter-spacing: -0.02em; }
h2 { font-size: clamp(2rem, 5vw, 3.8rem); letter-spacing: -0.01em; }
h3 { font-size: clamp(1.4rem, 3vw, 2rem); }

/* ============================
   CUSTOM CURSOR (DESKTOP ONLY)
============================ */
#cursor-dot {
  position: fixed;
  top: 0; left: 0;
  width: 8px; height: 8px;
  background: var(--gold);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
  transition: width 0.2s ease, height 0.2s ease, background 0.2s ease;
  mix-blend-mode: normal;
}
#cursor-ring {
  position: fixed;
  top: 0; left: 0;
  width: 36px; height: 36px;
  border: 1px solid rgba(255,162,0,0.5);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99998;
  transform: translate(-50%, -50%);
  transition: width 0.35s ease, height 0.35s ease, border-color 0.3s ease, opacity 0.3s ease;
}
body.cursor-hover #cursor-dot { width: 12px; height: 12px; background: var(--gold-light); }
body.cursor-hover #cursor-ring { width: 52px; height: 52px; border-color: rgba(255,162,0,0.8); }
body.cursor-click #cursor-dot { width: 6px; height: 6px; }
body.cursor-click #cursor-ring { width: 28px; height: 28px; }

@media (max-width: 1024px) {
  #cursor-dot, #cursor-ring { display: none; }
  body, a, button, input, textarea, select { cursor: auto; }
}

/* ============================
   LOADING SCREEN
============================ */
#loading-screen {
  position: fixed !important; inset: 0 !important; z-index: 99999 !important;
  background: var(--navy) !important;
  display: none; flex-direction: column !important;
  align-items: center !important; justify-content: center !important; gap: 24px !important;
  opacity: 1 !important; visibility: visible !important;
  transition: opacity 0.8s ease, visibility 0.8s ease;
}
#loading-screen.is-active {
  display: flex !important;
}
#loading-screen.fade-out {
  opacity: 0 !important; visibility: hidden !important; pointer-events: none !important;
}
.loading-logo {
  font-family: var(--serif) !important; font-size: 2.8rem !important;
  font-weight: 300 !important; letter-spacing: 0.3em !important;
  color: var(--gold) !important;
  animation: pls 2s ease-in-out infinite !important;
}
.loading-bar-wrap { width: 180px !important; height: 2px !important; background: rgba(255,162,0,0.2) !important; overflow: hidden !important; display: block !important; }
.loading-bar {
  display: block !important;
  height: 100% !important;
  background: #c8962d !important;
  width: 0%;
  animation: lprog 3s ease forwards !important;
}
@keyframes lprog { 0% { width: 0%; } 100% { width: 100%; } }
@keyframes pls { 0%,100%{opacity:.7}50%{opacity:1} }

/* ============================
   COOKIE BANNER
============================ */
#cookie-banner {
  position: fixed; bottom: 0; left: 0; right: 0; z-index: 8000;
  background: var(--navy-mid); border-top: 1px solid rgba(255,162,0,0.2);
  padding: 20px 40px;
  display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
  transform: translateY(100%); transition: transform 0.5s ease;
}
#cookie-banner.visible { transform: translateY(0); }
.cookie-text { font-size: 0.8rem; color: var(--muted-less); max-width: 640px; line-height: 1.5; }
.cookie-text a { color: var(--gold); border-bottom: 1px solid rgba(255,162,0,0.3); }
.cookie-buttons { display: flex; gap: 12px; }
.btn-ca { padding: 10px 24px !important; background: var(--gold) !important; color: var(--navy) !important; font-family: var(--sans) !important; font-size: 0.75rem !important; font-weight: 500 !important; letter-spacing: 0.12em !important; text-transform: uppercase !important; transition: var(--transition-fast) !important; display: inline-block !important; opacity: 1 !important; visibility: visible !important; border: none !important; cursor: pointer !important; }
.btn-ca:hover { background: var(--gold-light) !important; }
.btn-cr { padding: 10px 24px; border: 1px solid rgba(245,243,239,0.2); color: var(--muted-less); font-family: var(--sans); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; transition: var(--transition-fast); }
.btn-cr:hover { border-color: var(--gold); color: var(--gold); }

/* ============================
   PREMIUM NOTIFICATIONS
============================ */
#toast-container {
  position: fixed;
  bottom: 28px; right: 28px;
  z-index: 9000;
  display: flex; flex-direction: column-reverse; gap: 10px;
  pointer-events: none;
}
.toast {
  pointer-events: all;
  display: flex; align-items: center; gap: 12px;
  padding: 13px 16px 13px 14px;
  background: rgba(15, 22, 42, 0.96);
  border-radius: 6px;
  border: 1px solid rgba(255,162,0,0.14);
  box-shadow: 0 8px 32px rgba(0,0,0,0.45), 0 1px 0 rgba(255,255,255,0.03) inset;
  backdrop-filter: blur(16px);
  max-width: 260px;
  min-width: 200px;
  animation: notifIn 0.32s cubic-bezier(0.16,1,0.3,1) forwards;
  position: relative;
  overflow: hidden;
  cursor: pointer;
}
.toast:hover { border-color: rgba(255,162,0,0.3); }
/* Bottom accent line */
.toast::after {
  content: '';
  position: absolute; bottom: 0; left: 0; right: 0;
  height: 1.5px;
  background: var(--gold);
  opacity: 0.5;
}
.toast.success::after { background: var(--gold); }
.toast.error::after { background: #e05050; opacity: 0.6; }
.toast.info::after { background: rgba(255,162,0,0.4); }
/* Icon */
.toast-icon {
  width: 22px; height: 22px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  border-radius: 50%;
}
.toast.success .toast-icon { background: rgba(255,162,0,0.1); color: var(--gold); }
.toast.error .toast-icon { background: rgba(224,80,80,0.1); color: #e05050; }
.toast.info .toast-icon { background: rgba(255,162,0,0.08); color: var(--muted-less); }
.toast-icon svg { width: 11px; height: 11px; stroke-width: 2.5; }
/* Thumbnail */
.toast-thumb {
  width: 32px; height: 40px; flex-shrink: 0;
  background: var(--navy-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem;
  border-radius: 2px;
}
/* Text */
.toast-body { flex: 1; min-width: 0; }
.toast-title {
  font-size: 0.72rem; font-weight: 400; letter-spacing: 0.04em;
  color: var(--white); line-height: 1.3;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.toast-sub {
  font-size: 0.62rem; color: var(--muted); margin-top: 2px;
  letter-spacing: 0.06em; text-transform: uppercase;
}
.toast-cta {
  font-size: 0.58rem; color: var(--gold); margin-top: 3px;
  letter-spacing: 0.1em; text-transform: uppercase;
  opacity: 0.8;
}
/* Dismiss button */
.toast-close {
  width: 16px; height: 16px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: var(--muted); opacity: 0.6;
  transition: opacity 0.15s;
  margin-left: 4px;
  /* stop click from bubbling to toast body */
  position: relative; z-index: 2;
}
.toast-close:hover { opacity: 1; }
.toast-close svg { width: 10px; height: 10px; stroke-width: 2; }
/* Animations */
@keyframes notifIn {
  from { opacity: 0; transform: translateY(10px) scale(0.97); }
  to   { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes notifOut {
  from { opacity: 1; transform: translateY(0) scale(1); max-height: 80px; margin-bottom: 0; }
  to   { opacity: 0; transform: translateY(6px) scale(0.96); max-height: 0; margin-bottom: -10px; }
}
@media (max-width: 480px) {
  #toast-container { bottom: 16px; right: 16px; left: 16px; }
  .toast { max-width: 100%; min-width: 0; }
}

/* ============================
   ═══ HEADER / NAVBAR (ATELIER STYLE) ═══
============================ */
#navbar {
  position: fixed; top: 0; left: 0; right: 0; z-index: 1000;
  height: var(--nav-height);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  padding: 0 48px;
  background: rgba(10,15,30,0.0);
  transition: background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
  border-bottom: 1px solid transparent;
}
#navbar.scrolled {
  background: rgba(10,15,30,0.97);
  border-color: rgba(255,162,0,0.15);
  backdrop-filter: blur(16px);
  box-shadow: 0 4px 40px rgba(0,0,0,0.4);
}

/* Left nav links */
.nav-left {
  display: flex; align-items: center; gap: 0;
}
/* Right nav icons */
.nav-right {
  display: flex; align-items: center; justify-content: flex-end; gap: 4px;
}
/* Center logo */
.nav-center {
  display: flex; align-items: center; justify-content: center;
}
.nav-logo {
  font-family: var(--serif) !important; font-size: 1.6rem !important; font-weight: 400 !important;
  letter-spacing: 0.22em !important; color: #FFA200 !important;
  white-space: nowrap !important;
  transition: opacity 0.3s !important; text-decoration: none !important;
  /* Prevent letter-spacing from displacing diacritics on the final character */
  word-spacing: -0.22em;
}
/* Remove trailing letter-spacing from the last character so macron stays centred */
.nav-logo::after { content: ''; letter-spacing: 0; }
.nav-logo:hover { opacity: 0.85; }

/* Nav main items */
.nav-item {
  position: relative;
  display: flex; align-items: center;
}
.nav-item > a, .nav-item > button {
  display: flex; align-items: center; gap: 5px;
  padding: 0 18px; height: var(--nav-height);
  font-size: 0.7rem; font-weight: 400; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--muted-less); background: none; border: none;
  font-family: var(--sans);
  position: relative; white-space: nowrap;
  transition: color 0.25s ease;
}
.nav-item > a:hover, .nav-item > button:hover,
.nav-item.open > a, .nav-item.open > button { color: var(--white); }
.nav-item > a::after {
  content:''; position:absolute; bottom:18px; left:18px; right:18px;
  height:1px; background:var(--gold);
  transform:scaleX(0); transform-origin:right;
  transition:transform 0.3s ease;
}
.nav-item > a:hover::after,
.nav-item.active-page > a::after { transform:scaleX(1); transform-origin:left; }
.nav-chevron { width:10px;height:10px;transition:transform 0.3s ease;opacity:0.5; }
.nav-item.open .nav-chevron { transform:rotate(180deg); }

/* ============================
   MEGA MENU DROPDOWN (Atelier-style)
============================ */
.mega-menu {
  position: fixed;
  top: var(--nav-height);
  left: 0; right: 0;
  background: var(--navy-mid);
  border-top: 1px solid rgba(255,162,0,0.12);
  border-bottom: 1px solid rgba(255,162,0,0.12);
  box-shadow: 0 20px 60px rgba(0,0,0,0.6);
  opacity: 0; visibility: hidden;
  transform: translateY(-12px);
  transition: opacity 0.3s ease, visibility 0.3s ease, transform 0.3s ease;
  z-index: 999;
  pointer-events: none;
}
.mega-menu.open {
  opacity: 1; visibility: visible;
  transform: translateY(0);
  pointer-events: all;
}
.mega-inner {
  max-width: 1400px; margin: 0 auto;
  padding: 40px 48px;
  display: grid;
  grid-template-columns: 180px 1fr 220px;
  gap: 0;
}
/* Section label */
.mega-heading {
  font-family: var(--serif); font-size: 2rem; font-weight: 300;
  color: var(--gold); letter-spacing: 0.08em;
  padding-right: 40px;
  border-right: 1px solid rgba(255,162,0,0.1);
  display: flex; align-items: flex-start; padding-top: 4px;
}
/* Links columns */
.mega-links-wrap {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0 24px;
  padding: 0 48px;
}
.mega-col-title {
  font-size: 0.6rem; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px; padding-bottom: 10px;
  border-bottom: 1px solid rgba(255,162,0,0.12);
}
.mega-link {
  display: block; padding: 7px 0;
  font-size: 0.82rem; color: var(--muted-less);
  letter-spacing: 0.05em;
  transition: color 0.2s ease, padding-left 0.2s ease;
  position: relative;
}
.mega-link::before {
  content:''; position:absolute; left:0; top:50%; transform:translateY(-50%);
  width:0; height:1px; background:var(--gold);
  transition:width 0.25s ease;
}
.mega-link:hover { color: var(--white); padding-left: 12px; }
.mega-link:hover::before { width: 8px; }
.mega-link.featured { color: var(--gold); font-weight: 400; }
/* Featured image card */
.mega-feature {
  border-left: 1px solid rgba(255,162,0,0.1);
  padding-left: 40px;
}
.mega-feature-img {
  aspect-ratio: 3/4;
  background: var(--navy-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 5rem; margin-bottom: 12px;
  position: relative; overflow: hidden;
  max-height: 180px;
}
.mega-feature-img::after {
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(to top, rgba(10,15,30,0.7) 0%, transparent 50%);
}
.mega-feature-label { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.mega-feature-name { font-family: var(--serif); font-size: 1rem; }
.mega-feature-price { font-size: 0.8rem; color: var(--muted); margin-top: 2px; }
.mega-feature-cta {
  display: inline-flex; align-items: center; gap: 6px;
  margin-top: 8px; font-size: 0.65rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); transition: gap 0.2s;
}
.mega-feature-cta:hover { gap: 10px; }

/* ============================
   SEARCH OVERLAY (Atelier-style)
============================ */
#search-overlay {
  position: fixed; inset: 0; z-index: 2000;
  background: rgba(8,12,24,0.97);
  backdrop-filter: blur(12px);
  opacity: 0; visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  display: flex; flex-direction: column;
  align-items: center; justify-content: flex-start;
  padding-top: 120px;
}
#search-overlay.open { opacity: 1; visibility: visible; }
.search-overlay-close {
  position: absolute; top: 28px; right: 40px;
  display: flex; align-items: center; gap: 8px;
  font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--muted); transition: color 0.2s;
}
.search-overlay-close:hover { color: var(--white); }
.search-overlay-close svg { width: 18px; height: 18px; }
.search-wrap {
  width: 100%; max-width: 680px; padding: 0 24px;
  animation: srchIn 0.5s ease 0.1s both;
}
@keyframes srchIn { from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none} }
.search-label { font-size: 0.65rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 24px; }
.search-input-wrap {
  display: flex; align-items: center; gap: 16px;
  border-bottom: 1px solid rgba(255,162,0,0.3);
  padding-bottom: 16px; margin-bottom: 40px;
}
.search-input-wrap svg { width: 22px; height: 22px; color: var(--muted); flex-shrink: 0; }
#search-main-input {
  flex: 1; font-family: var(--serif); font-size: clamp(1.6rem, 4vw, 2.4rem);
  font-weight: 300; letter-spacing: 0.02em; color: var(--white);
  background: transparent;
}
#search-main-input::placeholder { color: rgba(245,243,239,0.2); }
.search-clear { font-size: 0.65rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--muted); flex-shrink: 0; transition: color 0.2s; }
.search-clear:hover { color: var(--gold); }
.search-suggestions { }
.search-suggest-label { font-size: 0.6rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--muted); margin-bottom: 16px; }
.search-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px; }
.search-tag {
  padding: 7px 16px;
  border: 1px solid rgba(255,162,0,0.2);
  font-size: 0.72rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--muted-less); transition: var(--transition-fast);
}
.search-tag:hover { border-color: var(--gold); color: var(--gold); }
.search-results-preview { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; }
.search-result-card {
  background: var(--navy-card); padding: 12px;
  display: flex; gap: 12px; align-items: center;
  transition: background 0.2s;
}
.search-result-card:hover { background: var(--navy-light); }
.search-result-img { width:44px;height:54px;background:var(--navy-light);display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0; }
.search-result-name { font-family:var(--serif);font-size:0.82rem;margin-bottom:2px; }
.search-result-price { font-size:0.72rem;color:var(--gold); }

/* ============================
   NAV ICON BUTTONS
============================ */
.nav-icon-btn {
  width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center;
  color: var(--muted-less); transition: color 0.2s;
  position: relative;
}
.nav-icon-btn:hover { color: var(--gold); }
.nav-icon-btn svg { width: 19px; height: 19px; }
.cart-count {
  position: absolute; top: 6px; right: 6px;
  width: 15px; height: 15px;
  background: var(--gold); color: var(--navy);
  border-radius: 50%; font-size: 0.55rem; font-weight: 600;
  display: none; align-items: center; justify-content: center;
}
.cart-count.visible { display: flex; }

/* HAMBURGER */
.hamburger { display: none; flex-direction: column; gap: 5px; width: 26px; }
.hamburger span { display:block;height:1px;background:var(--white);transition:var(--transition); }
.hamburger.open span:nth-child(1) { transform:translateY(6px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; }
.hamburger.open span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }

/* MOBILE MENU */
#mobile-menu {
  position: fixed; inset: 0; z-index: 900;
  background: var(--navy);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px;
  transform: translateX(100%); transition: transform 0.5s cubic-bezier(0.77,0,0.175,1);
}
#mobile-menu.open { transform: none; }
#mobile-menu a { font-family:var(--serif);font-size:2rem;letter-spacing:0.08em;color:var(--muted-less);transition:color 0.3s; }
#mobile-menu a:hover { color: var(--gold); }
.mobile-divider { width:40px;height:1px;background:rgba(255,162,0,0.2); }

/* ============================
   MEGA MENU OVERLAY BG
============================ */
#menu-overlay {
  position: fixed; inset: 0; z-index: 998;
  background: rgba(0,0,0,0);
  pointer-events: none;
  transition: background 0.3s ease;
}
#menu-overlay.active { background: rgba(0,0,0,0.4); pointer-events: all; }

/* ============================
   PAGE SYSTEM + TRANSITIONS
============================ */
.page { display: none; }
.page.active { display: block; }
.page.page-enter {
  animation: pageFadeIn 0.38s cubic-bezier(0.32,0,0.16,1) forwards;
}
@keyframes pageFadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ============================
   MARQUEE
============================ */
.marquee-wrap { background: var(--gold); padding: 11px 0; overflow: hidden; white-space: nowrap; }
.marquee-track { display: inline-flex; animation: mq 28s linear infinite; }
.marquee-item { font-size: 0.68rem; font-weight: 500; letter-spacing: 0.25em; text-transform: uppercase; color: var(--navy); padding: 0 36px; }
.marquee-dot { color: var(--navy); opacity: 0.4; }
@keyframes mq { from{transform:translateX(0)}to{transform:translateX(-50%)} }

/* ============================
   HOMEPAGE
============================ */

/* Hero Slideshow */
#hero-slideshow {
  position: relative;
  height: 100vh; min-height: 600px;
  overflow: hidden;
}
.hero-slide {
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity 0.9s ease;
}
.hero-slide.active { opacity: 1; z-index: 2; }
.hero-slide-bg {
  position: absolute; inset: 0;
  background: var(--navy);
}
.hero-slide-bg-1 { background: linear-gradient(135deg, #0a0f1e 0%, #0f1a30 60%, #0d1628 100%); }
.hero-slide-bg-2 { background: linear-gradient(135deg, #10121e 0%, #0a1225 60%, #12100e 100%); }
.hero-slide-bg-3 { background: linear-gradient(135deg, #0c0f1a 0%, #1a1420 60%, #0a0f1e 100%); }
.hero-grid-line {
  position: absolute; inset: 0; z-index: 2;
  background-image: linear-gradient(rgba(255,162,0,0.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,162,0,0.04) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 80% 80% at center, black 30%, transparent 80%);
}
/* Hero background image + dark overlay */
.hero-bg-image {
  position: absolute; inset: 0; width: 100%; height: 100%;
  object-fit: cover; object-position: center top;
  z-index: 1; filter: brightness(0.6);
}
.hero-bg-overlay {
  position: absolute; inset: 0; z-index: 2;
  background: rgba(10, 15, 30, 0.7);
}
.hero-radial { position:absolute;inset:0;z-index:2; }
.hero-r1 { background:radial-gradient(ellipse 60% 80% at 70% 50%, rgba(255,162,0,0.07) 0%, transparent 60%); }
.hero-r2 { background:radial-gradient(ellipse 50% 70% at 30% 60%, rgba(255,162,0,0.06) 0%, transparent 55%); }
.hero-r3 { background:radial-gradient(ellipse 70% 60% at 50% 40%, rgba(255,162,0,0.05) 0%, transparent 65%); }
.hero-content {
  position: relative; z-index: 3;
  text-align: center; padding: 0 24px;
  max-width: 900px;
}
.hero-eyebrow {
  display: inline-flex; align-items: center; gap: 16px;
  font-size: 0.66rem; letter-spacing: 0.35em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 28px;
}
.hero-eyebrow::before, .hero-eyebrow::after { content:'';display:block;width:32px;height:1px;background:var(--gold-dim); }
.hero-title { margin-bottom: 6px; }
.hero-title em { font-style: italic; color: var(--gold); display: block; }
.hero-subtitle { font-size: clamp(0.96rem, 2.2vw, 1.08rem); color: var(--muted); letter-spacing: 0.08em; margin: 24px auto 44px; max-width: 440px; line-height: 1.8; }
.hero-ctas { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.btn-primary { padding: 15px 38px; background: var(--gold); color: var(--navy); font-family: var(--sans); font-size: 0.73rem; font-weight: 500; letter-spacing: 0.2em; text-transform: uppercase; position: relative; overflow: hidden; transition: var(--transition); display: inline-block; }
.btn-primary::after { content:'';position:absolute;inset:0;background:var(--gold-light);transform:scaleX(0);transform-origin:left;transition:transform 0.4s ease;z-index:0; }
.btn-primary:hover::after { transform:scaleX(1); }
.btn-primary span { position:relative;z-index:1; }
/* Secondary / ghost CTA — less dominant than btn-primary */
.btn-ghost {
  padding: 13px 32px;
  border: 1px solid rgba(255,162,0,0.45);
  color: #f5f3ef;
  font-family: var(--sans); font-size: 0.7rem;
  font-weight: 400; letter-spacing: 0.2em; text-transform: uppercase;
  display: inline-block;
  transition: border-color 0.28s ease, color 0.28s ease;
}
.btn-ghost:hover { border-color: var(--gold); color: var(--gold); }
.btn-ghost:active { transform: scale(0.97); }

/* Slideshow Controls */
.slide-controls {
  position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%);
  z-index: 10; display: flex; align-items: center; gap: 20px;
}
.slide-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: rgba(255,162,0,0.3);
  transition: background 0.3s, transform 0.3s;
}
.slide-dot.active { background: var(--gold); transform: scale(1.4); }
.slide-arrow {
  position: absolute; top: 50%; z-index: 10;
  width: 56px; height: 56px;
  border: 1px solid rgba(255,162,0,0.55);
  background: rgba(10,15,30,0.55);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold); transition: var(--transition-fast);
  transform: translateY(-50%);
}
.slide-arrow:hover {
  border-color: var(--gold);
  background: rgba(255,162,0,0.12);
  color: var(--gold-light);
  box-shadow: 0 0 24px rgba(255,162,0,0.2);
}
.slide-arrow.prev { left: 36px; }
.slide-arrow.next { right: 36px; }
.slide-arrow svg { width: 22px; height: 22px; stroke-width: 1.5; }

/* Mobile: arrows at bottom corners, clear but minimal */
@media (max-width: 768px) {
  .slide-arrow {
    width: 38px; height: 38px;
    top: auto; bottom: 80px; transform: none;
    background: rgba(10,15,30,0.72);
    border-color: rgba(255,162,0,0.5);
    backdrop-filter: blur(6px);
  }
  .slide-arrow.prev { left: 20px; }
  .slide-arrow.next { right: 20px; }
  .slide-arrow svg { width: 15px; height: 15px; }
  .hero-content { padding: 0 20px; }
}

/* ============================
   SHARED SECTION STYLES
============================ */
section { padding: 110px 0; }
.container { max-width: 1380px; margin: 0 auto; padding: 0 48px; }
.section-header { text-align: center; margin-bottom: 64px; }
.section-eyebrow { display: inline-block; font-size: 0.66rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold); margin-bottom: 14px; }
.section-title { margin-bottom: 14px; }
.section-desc { font-size: 0.98rem; color: var(--muted); max-width: 460px; margin: 0 auto; line-height: 1.8; }
.gold-line { width: 36px; height: 1px; background: var(--gold); margin: 0 auto 20px; }

/* ============================
   PRODUCT GRID & CARDS
============================ */
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; }
.product-grid-3 { grid-template-columns: repeat(3,1fr); }

.product-card { position: relative; background: var(--navy-card); transition: transform 0.35s ease; }
.product-card:hover { transform: translateY(-4px); }
.product-img-wrap { position: relative; aspect-ratio: 3/4; overflow: hidden; background: var(--navy-light); }
.product-placeholder { display: flex; align-items: center; justify-content: center; width:100%;height:100%; background: var(--navy-light); position: relative; }
.product-placeholder-svg { width: 55%; height: auto; opacity: 0.1; position: absolute; }
.product-placeholder-emoji { font-size: 5rem; position: relative; z-index: 1; }
.product-img-wrap img { width: 100%; height: 100%; object-fit: cover; }
.product-img-link { display: block; width: 100%; height: 100%; }
.product-placeholder, .product-img-wrap img { transition: transform 0.6s ease; }
.product-card:hover .product-placeholder { transform: scale(1.04); }
.product-badge { position: absolute; top: 14px; left: 14px; padding: 4px 10px; background: var(--gold); color: var(--navy); font-size: 0.58rem; font-weight: 600; letter-spacing: 0.15em; text-transform: uppercase; z-index: 2; }
.product-badge.new-badge { background: transparent; color: var(--white); border: 1px solid rgba(245,243,239,0.25); }
.product-actions { position: absolute; top: 14px; right: 14px; display: flex; flex-direction: column; gap: 6px; opacity: 0; transform: translateX(8px); transition: var(--transition); z-index: 2; }
.product-card:hover .product-actions { opacity: 1; transform: none; }
.action-btn { width: 36px !important; height: 36px !important; background: rgba(10,15,30,0.9) !important; border: 1px solid rgba(255,162,0,0.2) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--white) !important; transition: all 0.2s !important; border-radius: 0 !important; padding: 0 !important; }
.action-btn:hover, .action-btn.wishlisted { background: var(--gold) !important; color: var(--navy) !important; border-color: var(--gold) !important; }
.action-btn svg { width: 15px !important; height: 15px !important; }
.product-overlay { position: absolute !important; bottom: 0 !important; left: 0 !important; right: 0 !important; padding: 14px !important; background: rgba(10,15,30,0.95) !important; transform: translateY(100%); transition: transform 0.38s ease !important; z-index: 3 !important; opacity: 1 !important; visibility: visible !important; }
.product-card:hover .product-overlay { transform: translateY(0) !important; }
.overlay-sizes { display: flex !important; gap: 6px !important; margin-bottom: 10px !important; flex-wrap: wrap !important; }
.size-dot { width: 32px !important; height: 32px !important; border: 1px solid rgba(245,243,239,0.2) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 0.62rem !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; color: var(--white) !important; background: transparent !important; transition: all 0.2s !important; border-radius: 0 !important; }
.size-dot:hover, .size-dot.active { background: var(--gold) !important; color: var(--navy) !important; border-color: var(--gold) !important; }
.overlay-add-btn { width: 100% !important; padding: 11px !important; background: var(--gold) !important; color: var(--navy) !important; font-family: var(--sans) !important; font-size: 0.68rem !important; font-weight: 500 !important; letter-spacing: 0.2em !important; text-transform: uppercase !important; transition: background 0.2s !important; border: none !important; border-radius: 0 !important; opacity: 1 !important; visibility: visible !important; display: block !important; }
.overlay-add-btn:hover { background: var(--gold-light) !important; }
.product-info { padding: 18px 0 4px; }
.product-brand { font-size: 0.58rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.product-name { font-family: var(--serif); font-size: 1.05rem; font-weight: 400; margin-bottom: 6px; }
.product-prices { display: flex; align-items: center; gap: 8px; }
.price-current { font-size: 0.9rem; }
.price-old { font-size: 0.78rem; color: var(--muted); text-decoration: line-through; }
.price-save { font-size: 0.62rem; color: var(--gold); letter-spacing: 0.1em; }

/* ============================
   SCROLL REVEAL
============================ */
.sr { opacity: 0; transform: translateY(32px); transition: opacity 0.7s ease, transform 0.7s ease; }
.sr.in { opacity: 1; transform: none; }
.sr-d1 { transition-delay: 0.1s; }
.sr-d2 { transition-delay: 0.2s; }
.sr-d3 { transition-delay: 0.3s; }
.sr-d4 { transition-delay: 0.4s; }

/* ============================
   HERO PRODUCT SLIDE STYLES
============================ */
.hero-product-tag {
  display: inline-block;
  font-size: 0.62rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: rgba(255,162,0,0.7);
  border: 1px solid rgba(255,162,0,0.25);
  padding: 5px 14px; margin-bottom: 20px;
}
.hero-title--product { font-size: clamp(2.8rem, 7vw, 6rem); }
.hero-content--product { max-width: 740px; }

/* ============================
   FEATURED PRODUCT SPOTLIGHT
============================ */
#home-spotlight { }
.spotlight-wrap {
  display: grid; grid-template-columns: 1fr 1fr;
  min-height: 640px;
}
/* Left side: visual */
.spotlight-visual {
  background: var(--navy-card);
  position: relative; overflow: hidden;
}
.spotlight-visual-inner {
  width: 100%; height: 100%;
  display: flex; align-items: stretch;
}
.spotlight-img-main {
  width: 100%; position: relative;
  display: flex; align-items: center; justify-content: center;
  min-height: 520px;
  background: linear-gradient(135deg, #10152a 0%, #0c1220 50%, #131820 100%);
  overflow: hidden;
}
/* Subtle grid atmosphere */
.spotlight-img-main::before {
  content: '';
  position: absolute; inset: 0;
  background-image: linear-gradient(rgba(255,162,0,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,162,0,0.035) 1px, transparent 1px);
  background-size: 48px 48px;
}
.spotlight-img-overlay {
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 80% at 55% 45%, rgba(255,162,0,0.07) 0%, transparent 60%);
}
.spotlight-emoji-wrap {
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: center;
  font-size: 9rem;
  filter: drop-shadow(0 24px 48px rgba(0,0,0,0.5));
}
.spotlight-tag {
  position: absolute; bottom: 28px; left: 28px; z-index: 3;
  display: flex; align-items: center; gap: 10px;
}
.spotlight-tag-label {
  font-size: 0.6rem; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--gold); padding: 6px 14px;
  border: 1px solid rgba(255,162,0,0.3);
  background: rgba(10,15,30,0.7);
  backdrop-filter: blur(4px);
}
/* Right side: product info */
.spotlight-info {
  display: flex; flex-direction: column; justify-content: center;
  padding: 72px 72px;
  background: var(--navy);
  border-left: 1px solid rgba(255,162,0,0.08);
}
.spotlight-eyebrow {
  font-size: 0.6rem; letter-spacing: 0.3em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 10px;
}
.spotlight-divider {
  width: 32px; height: 1px; background: var(--gold-dim); margin-bottom: 20px;
}
.spotlight-product-name {
  font-size: 0.72rem; letter-spacing: 0.18em; text-transform: uppercase;
  color: var(--muted); margin-bottom: 16px;
}
.spotlight-headline {
  font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.2rem);
  font-weight: 300; line-height: 1.1; letter-spacing: -0.01em;
  margin-bottom: 24px; text-align: left;
}
.spotlight-headline em { font-style: italic; color: var(--gold); }
.spotlight-desc {
  font-size: 0.95rem; color: var(--muted-less); line-height: 1.9;
  max-width: 400px; margin-bottom: 32px;
}
.spotlight-detail-row {
  display: flex; flex-direction: column; gap: 12px;
  margin-bottom: 36px; padding: 24px 0;
  border-top: 1px solid rgba(255,162,0,0.1);
  border-bottom: 1px solid rgba(255,162,0,0.1);
}
.spotlight-detail {
  display: flex; align-items: baseline; gap: 12px;
}
.spotlight-detail-label {
  font-size: 0.6rem; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--muted); min-width: 72px; flex-shrink: 0;
}
.spotlight-detail-val { font-size: 0.86rem; color: var(--muted-less); }
.spotlight-actions {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 10px;
  width: 100%;
}
/* Both buttons exactly equal width */
.spotlight-add-btn {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  padding: 17px 16px !important;
  background: var(--gold) !important;
  color: var(--navy) !important;
  font-family: var(--sans) !important; font-size: 0.72rem !important;
  font-weight: 500 !important; letter-spacing: 0.2em !important; text-transform: uppercase !important;
  position: relative !important; overflow: hidden !important;
  transition: background 0.28s ease !important;
  white-space: nowrap !important;
  border: none !important; border-radius: 0 !important;
  cursor: pointer !important; text-decoration: none !important;
  line-height: 1 !important; height: auto !important;
}
.spotlight-add-btn::after {
  content: '';
  position: absolute; inset: 0;
  background: var(--gold-light);
  transform: scaleX(0); transform-origin: left;
  transition: transform 0.35s ease;
  z-index: 0;
}
.spotlight-add-btn:hover::after { transform: scaleX(1); }
.spotlight-add-btn span { position: relative; z-index: 1; }
.spotlight-wish-btn {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important;
  padding: 17px 16px !important;
  border: 1px solid rgba(245,243,239,0.35) !important;
  color: var(--muted-less) !important;
  font-family: var(--sans) !important; font-size: 0.72rem !important;
  font-weight: 400 !important; letter-spacing: 0.14em !important; text-transform: uppercase !important;
  background: transparent !important;
  white-space: nowrap !important;
  transition: all 0.28s cubic-bezier(0.32,0,0.16,1) !important;
  line-height: 1 !important;
  border-radius: 0 !important; cursor: pointer !important;
  text-decoration: none !important; height: auto !important;
}
.spotlight-wish-btn:hover {
  border-color: rgba(255,162,0,0.4);
  color: var(--white);
}
.spotlight-wish-btn.wishlisted {
  background: rgba(255,162,0,0.12);
  color: var(--gold);
  border-color: rgba(255,162,0,0.3);
}
.spotlight-wish-btn svg {
  width: 13px; height: 13px; flex-shrink: 0;
}

/* ============================
   OSHARĒ STANDARD SECTION
============================ */
.standard-wrap {
  display: grid;
  /* Left column is narrower — just enough for the text */
  grid-template-columns: 5fr 7fr;
  gap: 0;
  max-width: 1380px; margin: 0 auto;
  padding: 96px 48px;
  align-items: start;
}
.standard-left {
  padding-right: 64px;
  padding-top: 4px;
}
.standard-headline {
  font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 300; line-height: 1.1; letter-spacing: -0.01em;
  margin-bottom: 24px; text-align: left;
}
.standard-headline em { font-style: italic; color: var(--gold); }
.standard-body {
  font-size: 0.95rem; color: var(--muted-less); line-height: 1.9;
  margin-bottom: 14px; max-width: 420px;
}
.standard-stats {
  display: flex; gap: 32px; margin-top: 44px; padding-top: 28px;
  border-top: 1px solid rgba(255,162,0,0.12);
}
.standard-stat-num {
  font-family: var(--serif); font-size: 1.9rem; color: var(--gold);
  line-height: 1; margin-bottom: 3px;
}
.standard-stat-label {
  font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--muted);
}
/* Right side: clean 2×2 grid */
.standard-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 1px;
  background: rgba(255,162,0,0.1);
}
.standard-block {
  background: var(--navy-mid);
  padding: 36px 32px;
  transition: background 0.3s ease;
}
.standard-block:hover { background: #101c34; }
.standard-block-icon {
  width: 52px; height: 52px; margin-bottom: 18px;
}
.standard-block-icon svg { width: 52px; height: 52px; display: block; }
.standard-block-title {
  font-family: var(--serif); font-size: 1rem; font-weight: 400;
  margin-bottom: 10px; letter-spacing: 0.02em;
}
.standard-block-desc {
  font-size: 0.78rem; color: var(--muted); line-height: 1.75;
}

/* ============================
   HOMEPAGE SPECIFIC
============================ */

/* Best sellers */
#home-bestsellers { padding-top: 100px; }

/* Category card classes kept for potential use */
.cat-showcase {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 2px;
}
.cat-card {
  position: relative; cursor: auto;
  aspect-ratio: 2/3; overflow: hidden;
  background: var(--navy-card);
}
.cat-card-bg-1 { background: linear-gradient(160deg, #1a2040 0%, #0f1830 100%); }
.cat-card-bg-2 { background: linear-gradient(160deg, #12203a 0%, #0a1525 100%); }
.cat-card-bg-3 { background: linear-gradient(160deg, #1c1830 0%, #110f25 100%); }
.cat-card-bg-4 { background: linear-gradient(160deg, #152035 0%, #0d1828 100%); }
.cat-card-visual { position:absolute;inset:0;display:flex;align-items:center;justify-content:center;transition:transform 0.6s ease;font-size:5rem; }
.cat-card:hover .cat-card-visual { transform:scale(1.06); }
.cat-card-overlay { position:absolute;inset:0;background:linear-gradient(to top, rgba(10,15,30,0.92) 30%, rgba(10,15,30,0.15) 100%);transition:opacity 0.4s; }
.cat-card:hover .cat-card-overlay { opacity:0.75; }
.cat-card-content { position:absolute;bottom:0;left:0;right:0;padding:24px 20px;z-index:2; }
.cat-card-sub { font-size:0.6rem;letter-spacing:0.25em;text-transform:uppercase;color:var(--gold);margin-bottom:4px; }
.cat-card-title { font-family:var(--serif);font-size:1.5rem;font-weight:300;margin-bottom:12px; }
.cat-card-btn {
  display:inline-flex;align-items:center;gap:6px;
  font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;
  color:var(--white);padding:8px 16px;
  border:1px solid rgba(255,162,0,0.4);
  transition:var(--transition-fast);
  opacity:0;transform:translateY(8px);
  transition:opacity 0.35s ease, transform 0.35s ease, border-color 0.2s, color 0.2s;
}
.cat-card:hover .cat-card-btn { opacity:1;transform:none; }
.cat-card-btn:hover { border-color:var(--gold);color:var(--gold); }

/* Editorial Strip */
#home-editorial { background:var(--navy); }
.editorial-split { display:grid;grid-template-columns:1fr 1fr;min-height:520px;gap:0; }
.editorial-visual { background:var(--navy-mid);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;min-height:400px; }
.editorial-text { display:flex;flex-direction:column;justify-content:center;padding:80px 72px; }
.editorial-text h2 { text-align:left;margin-bottom:20px; }
.editorial-text p { font-size:0.98rem;color:var(--muted-less);line-height:1.9;margin-bottom:16px;max-width:380px; }
.editorial-stats { display:flex;gap:36px;margin-top:36px;padding-top:28px;border-top:1px solid rgba(255,162,0,0.12); }
.stat-num { font-family:var(--serif);font-size:2rem;color:var(--gold);line-height:1;margin-bottom:2px; }
.stat-label { font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted); }

/* Newsletter */
#home-newsletter,
.oshare-newsletter-section {
  background:linear-gradient(135deg, rgba(255,162,0,0.07) 0%, rgba(10,15,30,0) 60%);
  border-top:1px solid rgba(255,162,0,0.1);
  border-bottom:1px solid rgba(255,162,0,0.1);
  padding:88px 0;text-align:center;
}
#home-newsletter h2,
.oshare-newsletter-section h2 { margin-bottom:12px; }
#home-newsletter p,
.oshare-newsletter-section p { color:var(--muted);max-width:420px;margin:0 auto 36px;font-size:0.95rem; }
.newsletter-form { display:flex !important;gap:0 !important;max-width:440px !important;margin:0 auto !important;flex-direction:row !important;align-items:stretch !important; }
.newsletter-form input[type="email"] { flex:1 !important;padding:0 18px !important;height:48px !important;border:1px solid rgba(255,162,0,0.25) !important;border-right:none !important;font-size:0.82rem !important;background:transparent !important;color:var(--white) !important;border-radius:0 !important;font-family:var(--sans) !important;line-height:48px !important;box-sizing:border-box !important; }
.newsletter-form input::placeholder { color:var(--muted) !important; }
.newsletter-form input:focus { border-color:var(--gold) !important;outline:none !important; }
.newsletter-form button[type="submit"] { padding:0 24px !important;height:48px !important;background:var(--gold) !important;color:var(--navy) !important;font-size:0.68rem !important;font-weight:500 !important;letter-spacing:0.2em !important;text-transform:uppercase !important;white-space:nowrap !important;transition:background 0.2s !important;border:1px solid var(--gold) !important;border-radius:0 !important;font-family:var(--sans) !important;line-height:48px !important;box-sizing:border-box !important; }
.newsletter-form button:hover { background:var(--gold-light) !important; }
/* Hide Shopify's default arrow icon in newsletter button */
.newsletter-form .svg-wrapper,
.newsletter-form .field__button .svg-wrapper { display:none !important; }

/* ============================
   CATEGORY PAGE
============================ */
.cat-page-header {
  padding-top: calc(var(--nav-height) + 60px);
  padding-bottom: 48px;
  text-align: center;
  background: var(--navy-mid);
  border-bottom: 1px solid rgba(255,162,0,0.1);
  position: relative;
}
.cat-page-header::before {
  content:'';position:absolute;inset:0;
  background-image: linear-gradient(rgba(255,162,0,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,162,0,0.03) 1px, transparent 1px);
  background-size: 48px 48px;
}
.cat-page-header .container { position:relative;z-index:2; }
.cat-breadcrumb { font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:16px; }
.cat-breadcrumb a { color:var(--gold);transition:opacity 0.2s; }
.cat-breadcrumb a:hover { opacity:0.8; }
.cat-breadcrumb span { margin:0 8px;opacity:0.4; }
.cat-page-count { font-size:0.7rem;letter-spacing:0.15em;color:var(--muted);margin-top:10px; }

.cat-toolbar {
  display:flex;align-items:center;justify-content:space-between;
  padding:20px 0;
  border-bottom:1px solid rgba(255,162,0,0.08);
  margin-bottom:40px;
  flex-wrap:wrap;gap:12px;
}
.cat-filter-tags { display:flex;gap:8px;flex-wrap:wrap; }

/* Standard filter chips — used on category pages (new/sale filters) */
.filter-chip {
  padding:7px 16px;
  font-size:0.65rem;letter-spacing:0.15em;text-transform:uppercase;
  border:1px solid rgba(255,162,0,0.15);color:var(--muted-less);
  transition:var(--transition-fast);
}
.filter-chip:hover, .filter-chip.active { border-color:var(--gold);color:var(--gold);background:rgba(255,162,0,0.05); }

/* Minimal text-tab filters — used on the collection page for category switching */
.filter-tab-minimal {
  padding: 6px 2px;
  font-size: 0.68rem; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--muted); background: none; border: none;
  border-bottom: 1px solid transparent;
  margin-right: 20px;
  transition: color 0.22s ease, border-color 0.22s ease;
  font-family: var(--sans);
}
.filter-tab-minimal:hover { color: var(--muted-less); }
.filter-tab-minimal.active {
  color: var(--white);
  border-bottom-color: var(--gold);
}
.cat-sort {
  display:flex;align-items:center;gap:10px;
  font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);
}
.cat-sort select { font-size:0.68rem;letter-spacing:0.1em;color:var(--muted-less);border:1px solid rgba(255,162,0,0.15);padding:6px 12px;background:transparent;appearance:none; }
.cat-sort select:focus { border-color:var(--gold); }
.cat-sort select option { background:var(--navy-mid);color:var(--white); }

.cat-products-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:80px; }

/* ============================
   PRODUCT DETAIL PAGE
============================ */
.pdp-wrap {
  padding-top: calc(var(--nav-height) + 48px);
  min-height: 100vh;
}
.pdp-breadcrumb { padding:0 48px 32px;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted); }
.pdp-breadcrumb a { color:var(--gold);transition:opacity 0.2s; }
.pdp-breadcrumb a:hover { opacity:0.8; }
.pdp-breadcrumb span { margin:0 8px;opacity:0.4; }
.pdp-grid { display:grid;grid-template-columns:1fr 1fr;gap:0;max-width:1380px;margin:0 auto; }
.pdp-gallery { padding:0 24px 0 48px; }
.pdp-main-img { aspect-ratio:3/4;background:var(--navy-light);display:flex;align-items:center;justify-content:center;font-size:10rem;margin-bottom:12px;position:relative;overflow:hidden; }
.pdp-thumb-row { display:flex;gap:8px; }
.pdp-thumb { width:72px;height:90px;background:var(--navy-card);display:flex;align-items:center;justify-content:center;font-size:2rem;border:1px solid transparent;cursor:none;transition:border-color 0.2s; }
.pdp-thumb.active { border-color:var(--gold); }
.pdp-thumb:hover { border-color:rgba(255,162,0,0.4); }
.pdp-info { padding:0 48px 0 60px; }
.pdp-brand { font-size:0.62rem;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:8px; }
.pdp-name { font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:16px;line-height:1.1; }
.pdp-price { font-size:1.4rem;margin-bottom:28px;display:flex;align-items:center;gap:12px; }
.pdp-price-old { font-size:1rem;color:var(--muted);text-decoration:line-through; }
.pdp-price-badge { font-size:0.65rem;letter-spacing:0.1em;padding:3px 8px;background:rgba(255,162,0,0.15);color:var(--gold); }
.pdp-desc { font-size:0.95rem;color:var(--muted-less);line-height:1.9;margin-bottom:32px;max-width:440px; }
.pdp-label { font-size:0.62rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:12px; }
.pdp-colors { display:flex;gap:10px;margin-bottom:28px; }
.color-swatch { width:28px;height:28px;border-radius:50%;border:2px solid rgba(245,243,239,0.25);cursor:none;transition:var(--transition-fast);box-shadow:0 0 0 1px rgba(0,0,0,0.3) inset; }
.color-swatch.active { border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset; }
.pdp-sizes { display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px; }
.size-btn { padding:9px 16px !important;border:1px solid rgba(255,162,0,0.2) !important;color:var(--muted-less) !important;font-size:0.7rem !important;letter-spacing:0.1em !important;text-transform:uppercase !important;transition:all 0.2s !important;background:transparent !important;border-radius:0 !important;display:inline-flex !important;align-items:center !important;justify-content:center !important; }
.size-btn:hover, .size-btn.active { background:var(--gold) !important;color:var(--navy) !important;border-color:var(--gold) !important; }
.pdp-add-btn { width:100% !important;padding:16px !important;background:var(--gold) !important;color:var(--navy) !important;font-family:var(--sans) !important;font-size:0.74rem !important;font-weight:500 !important;letter-spacing:0.2em !important;text-transform:uppercase !important;margin-bottom:12px !important;transition:background 0.2s !important;display:flex !important;align-items:center !important;justify-content:center !important;border:none !important;border-radius:0 !important;opacity:1 !important;visibility:visible !important; }
.pdp-add-btn:hover { background:var(--gold-light) !important; }
.pdp-add-btn--sold-out { background:rgba(200,150,45,0.35) !important;color:rgba(245,243,239,0.5) !important;cursor:not-allowed !important;pointer-events:none !important; }
.pdp-wish-btn { width:100% !important;padding:16px !important;border:1px solid rgba(245,243,239,0.15) !important;color:var(--muted-less) !important;font-size:0.74rem !important;letter-spacing:0.2em !important;text-transform:uppercase !important;transition:all 0.2s !important;display:flex !important;align-items:center !important;justify-content:center !important;gap:8px !important;background:transparent !important;border-radius:0 !important; }
.pdp-wish-btn:hover, .pdp-wish-btn.active { border-color:var(--gold) !important;color:var(--gold) !important; }
.pdp-wish-btn svg { width:15px !important;height:15px !important; }
.pdp-meta { margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,162,0,0.1); }
.pdp-meta-item { display:flex;align-items:center;gap:8px;font-size:0.74rem;color:var(--muted);padding:8px 0; }
.pdp-meta-item svg { width:14px;height:14px;color:var(--gold); }
.pdp-accordions { margin-top:32px; }
.pdp-accordion { border-top:1px solid rgba(255,162,0,0.1); }
.pdp-accordion-btn { width:100%;padding:16px 0;display:flex;align-items:center;justify-content:space-between;font-size:0.7rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted-less);transition:color 0.2s; }
.pdp-accordion-btn:hover { color:var(--white); }
.pdp-accordion-btn svg { width:14px;height:14px;transition:transform 0.3s; }
.pdp-accordion-btn.open svg { transform:rotate(180deg); }
.pdp-accordion-content { max-height:0;overflow:hidden;transition:max-height 0.4s ease; }
.pdp-accordion-content p { font-size:0.9rem;color:var(--muted-less);line-height:1.8;padding-bottom:16px; }

/* You may also like */
.pdp-related { padding:80px 0;border-top:1px solid rgba(255,162,0,0.08); }

/* ============================
   ABOUT / STORY PAGE
============================ */
.about-hero {
  padding-top: calc(var(--nav-height) + 0px);
  min-height: 70vh;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  position: relative; overflow: hidden;
  background: var(--navy-mid);
}
.about-hero-content { position:relative;z-index:2;max-width:700px;padding:80px 24px; }
.about-hero h1 { margin-bottom:20px; }
.about-hero p { font-size:1.06rem;color:var(--muted-less);line-height:1.9;max-width:540px;margin:0 auto; }
.about-sections { }
.about-split { display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:center; }
.about-split-img { aspect-ratio:4/3;background:var(--navy-card);display:flex;align-items:center;justify-content:center;font-size:8rem;position:relative;overflow:hidden; }
.about-split-text { padding:80px 72px; }
.about-split-text .section-eyebrow { text-align:left; }
.about-split-text h2 { text-align:left;margin-bottom:20px; }
.about-split-text p { font-size:0.97rem;color:var(--muted-less);line-height:1.9;margin-bottom:16px;max-width:440px; }
.about-values-grid { display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,162,0,0.08); }
.about-value { padding:48px 36px;background:var(--navy); }
.about-value-icon { font-size:1.6rem;margin-bottom:16px; }
.about-value-title { font-family:var(--serif);font-size:1.1rem;margin-bottom:8px; }
.about-value-desc { font-size:0.78rem;color:var(--muted);line-height:1.7; }
.about-team { padding:100px 0;background:var(--navy-mid); }
.team-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:28px; }
.team-card { text-align:center; }
.team-img { aspect-ratio:1;background:var(--navy-light);display:flex;align-items:center;justify-content:center;font-size:4rem;margin-bottom:20px; }
.team-name { font-family:var(--serif);font-size:1.1rem;margin-bottom:4px; }
.team-role { font-size:0.65rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold); }

/* ============================
   CONTACT PAGE
============================ */
.contact-page-wrap { padding-top: calc(var(--nav-height) + 0px); }
.contact-hero { background:var(--navy-mid);padding:80px 0;text-align:center;border-bottom:1px solid rgba(255,162,0,0.1); }
.contact-grid { display:grid;grid-template-columns:1fr 1.5fr;gap:0;max-width:1100px;margin:80px auto;padding:0 48px; }
.contact-info { padding-right:72px;border-right:1px solid rgba(255,162,0,0.1); }
.contact-info h3 { font-size:1.6rem;margin-bottom:24px; }
.contact-info-item { display:flex;align-items:flex-start;gap:14px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid rgba(255,162,0,0.06); }
.contact-info-item:last-of-type { border:none; }
.contact-info-icon { width:36px;height:36px;border:1px solid rgba(255,162,0,0.2);display:flex;align-items:center;justify-content:center;flex-shrink:0; }
.contact-info-icon svg { width:15px;height:15px;color:var(--gold); }
.contact-info-label { font-size:0.6rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);margin-bottom:4px; }
.contact-info-val { font-size:0.86rem;color:var(--muted-less);line-height:1.6; }
.contact-social { display:flex;gap:10px;margin-top:8px; }
.contact-soc-btn { width:36px;height:36px;border:1px solid rgba(255,162,0,0.2);display:flex;align-items:center;justify-content:center;color:var(--muted-less);transition:var(--transition-fast); }
.contact-soc-btn:hover { border-color:var(--gold);color:var(--gold); }
.contact-soc-btn svg { width:15px;height:15px; }
.contact-form-side { padding-left:72px; }
.contact-form-side h3 { font-size:1.6rem;margin-bottom:28px; }
.cf-group { margin-bottom:22px; }
.cf-group label { display:block;font-size:0.6rem;letter-spacing:0.22em;text-transform:uppercase;color:var(--muted);margin-bottom:8px; }
.cf-group input, .cf-group select, .cf-group textarea {
  width:100%;padding:12px 0;
  border-bottom:1px solid rgba(255,162,0,0.18);
  font-size:0.88rem;color:var(--white);background:transparent;
  transition:border-color 0.2s;
}
.cf-group select option { background:var(--navy-mid);color:var(--white); }
.cf-group textarea { height:120px;resize:none; }
.cf-group input:focus, .cf-group select:focus, .cf-group textarea:focus { border-color:var(--gold); }
.cf-group input::placeholder, .cf-group textarea::placeholder { color:rgba(245,243,239,0.2); }
.cf-row { display:grid;grid-template-columns:1fr 1fr;gap:20px; }
.cf-submit { width:100%;padding:15px;background:var(--gold);color:var(--navy);font-family:var(--sans);font-size:0.75rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;margin-top:8px;transition:background 0.2s; }
.cf-submit:hover { background:var(--gold-light); }

/* ============================
   CART SIDEBAR (UNCHANGED STRUCTURE)
============================ */
#cart-overlay { position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,0.6);opacity:0;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s ease;backdrop-filter:blur(4px); }
#cart-overlay.open { opacity:1;visibility:visible; }
#cart-sidebar { position:fixed;top:0;right:0;bottom:0;z-index:3001;width:min(440px,100%);background:var(--navy-mid);border-left:1px solid rgba(255,162,0,0.15);transform:translateX(100%);transition:transform 0.5s cubic-bezier(0.77,0,0.175,1);display:flex;flex-direction:column; }
#cart-sidebar.open { transform:none; }
.cart-header { display:flex;align-items:center;justify-content:space-between;padding:26px 30px;border-bottom:1px solid rgba(255,162,0,0.1); }
.cart-title { font-family:var(--serif);font-size:1.35rem;letter-spacing:0.06em; }
.cart-close { width:34px;height:34px;display:flex;align-items:center;justify-content:center;color:var(--muted-less);transition:color 0.2s; }
.cart-close:hover { color:var(--gold); }
.cart-close svg { width:18px;height:18px; }
.cart-items-list { flex:1;overflow-y:auto;padding:22px 30px; }
.cart-items-list::-webkit-scrollbar { width:3px; }
.cart-items-list::-webkit-scrollbar-thumb { background:var(--gold-dim); }
.cart-empty { text-align:center;padding:60px 0;color:var(--muted); }
.cart-empty svg { width:44px;height:44px;margin:0 auto 14px;opacity:0.3; }
.cart-empty p { font-size:0.88rem;line-height:1.6; }
.cart-empty a { color:var(--gold); }
.cart-item { display:grid;grid-template-columns:76px 1fr auto;gap:14px;align-items:start;padding:18px 0;border-bottom:1px solid rgba(245,243,239,0.05);animation:fadeIn 0.3s ease; }
@keyframes fadeIn { from{opacity:0}to{opacity:1} }
.cart-item-img { width:76px;height:96px;background:var(--navy-light);display:flex;align-items:center;justify-content:center;font-size:2rem;flex-shrink:0; }
.cart-item-name { font-family:var(--serif);font-size:0.95rem;margin-bottom:3px; }
.cart-item-meta { font-size:0.68rem;color:var(--muted);letter-spacing:0.08em;margin-bottom:10px; }
.cart-item-qty { display:flex;align-items:center;gap:10px; }
.qty-btn { width:26px;height:26px;border:1px solid rgba(255,162,0,0.2);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:0.9rem;transition:var(--transition-fast); }
.qty-btn:hover { border-color:var(--gold);color:var(--gold); }
.qty-num { font-size:0.82rem;min-width:18px;text-align:center; }
.cart-item-price { font-size:0.88rem; }
.remove-item { font-size:0.58rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);text-decoration:underline;margin-top:5px;display:block; }
.remove-item:hover { color:#e55; }
.cart-footer { padding:22px 30px;border-top:1px solid rgba(255,162,0,0.1); }
.cart-subtotal { display:flex;justify-content:space-between;align-items:center;margin-bottom:6px; }
.cart-subtotal-label { font-size:0.72rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted); }
.cart-subtotal-val { font-family:var(--serif);font-size:1.25rem; }
.cart-shipping-note { font-size:0.7rem;color:var(--gold);margin-bottom:18px;text-align:center; }
.cart-promo { display:flex;gap:8px;margin-bottom:14px; }
.cart-promo input { flex:1;padding:9px 12px;border:1px solid rgba(255,162,0,0.2);font-size:0.78rem;letter-spacing:0.08em;text-transform:uppercase;transition:border-color 0.2s; }
.cart-promo input:focus { border-color:var(--gold); }
.cart-promo input::placeholder { color:var(--muted); }
.promo-apply { padding:9px 14px;border:1px solid rgba(255,162,0,0.4);color:var(--gold);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;transition:var(--transition-fast); }
.promo-apply:hover { background:var(--gold);color:var(--navy);border-color:var(--gold); }
.promo-msg { font-size:0.7rem;margin-bottom:10px; }
.promo-msg.success { color:#5cb85c; }
.promo-msg.error { color:#e74c3c; }
.checkout-btn { width:100%;padding:15px;background:var(--gold);color:var(--navy);font-family:var(--sans);font-size:0.76rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;transition:background 0.3s;margin-bottom:8px; }
.checkout-btn:hover { background:var(--gold-light); }
.continue-btn { width:100%;padding:11px;border:1px solid rgba(245,243,239,0.12);color:var(--muted-less);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;transition:var(--transition-fast); }
.continue-btn:hover { border-color:var(--gold);color:var(--gold); }

/* ============================
   CHECKOUT MODAL (UNCHANGED)
============================ */
#checkout-modal { position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,0.85);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s ease;backdrop-filter:blur(6px);padding:24px; }
#checkout-modal.open { opacity:1;visibility:visible; }
.checkout-box { background:var(--navy-mid);border:1px solid rgba(255,162,0,0.15);width:100%;max-width:660px;max-height:90vh;overflow-y:auto;padding:44px;position:relative;animation:scIn 0.4s ease; }
@keyframes scIn { from{transform:scale(0.95);opacity:0}to{transform:scale(1);opacity:1} }
.checkout-box h2 { font-size:1.7rem;margin-bottom:6px; }
.checkout-steps { display:flex;gap:0;margin:24px 0 36px;border-bottom:1px solid rgba(255,162,0,0.1); }
.checkout-step { flex:1;padding:9px 0;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);text-align:center;border-bottom:2px solid transparent;transition:var(--transition-fast);cursor:none; }
.checkout-step.active { color:var(--gold);border-color:var(--gold); }
.checkout-step.done { color:var(--gold-dim);border-color:var(--gold-dim); }
.checkout-section { display:none; }
.checkout-section.active { display:block; }
.form-row { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.form-group { margin-bottom:18px; }
.form-group label { display:block;font-size:0.62rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);margin-bottom:7px; }
.form-group input,.form-group select { width:100%;padding:11px 0;border-bottom:1px solid rgba(255,162,0,0.2);font-size:0.88rem;color:var(--white);background:transparent;transition:border-color 0.2s; }
.form-group select option { background:var(--navy-mid);color:var(--white); }
.form-group input:focus,.form-group select:focus { border-color:var(--gold); }
.form-group input::placeholder { color:rgba(245,243,239,0.22); }
.checkout-order-summary { background:rgba(255,162,0,0.04);border:1px solid rgba(255,162,0,0.1);padding:18px;margin-bottom:22px; }
.order-line { display:flex;justify-content:space-between;font-size:0.82rem;padding:5px 0;border-bottom:1px solid rgba(245,243,239,0.05); }
.order-line:last-child { border:none; }
.order-line.total { font-family:var(--serif);font-size:1.1rem;margin-top:4px;padding-top:10px;border-top:1px solid rgba(255,162,0,0.18); }
.payment-methods { display:flex;gap:10px;margin-bottom:22px;flex-wrap:wrap; }
.pay-method { flex:1;min-width:110px;padding:11px;border:1px solid rgba(255,162,0,0.2);display:flex;align-items:center;justify-content:center;gap:7px;cursor:none;transition:var(--transition-fast);font-size:0.72rem;letter-spacing:0.1em; }
.pay-method:hover,.pay-method.active { border-color:var(--gold);color:var(--gold); }
.checkout-nav { display:flex;gap:10px;justify-content:space-between;margin-top:22px; }
.btn-co-back { padding:13px 26px;border:1px solid rgba(245,243,239,0.12);color:var(--muted-less);font-size:0.68rem;letter-spacing:0.15em;text-transform:uppercase;transition:var(--transition-fast); }
.btn-co-back:hover { border-color:var(--gold);color:var(--gold); }
.btn-co-next { padding:13px 30px;background:var(--gold);color:var(--navy);font-size:0.72rem;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;transition:background 0.2s; }
.btn-co-next:hover { background:var(--gold-light); }
.modal-close-x { position:absolute;top:18px;right:22px;font-size:1.4rem;color:var(--muted);cursor:none;transition:color 0.2s; }
.modal-close-x:hover { color:var(--gold); }
.secure-badge { display:flex;align-items:center;justify-content:center;gap:6px;font-size:0.62rem;letter-spacing:0.15em;text-transform:uppercase;color:var(--muted);margin-top:14px; }
.secure-badge svg { width:13px;height:13px;color:var(--gold); }
.order-success { text-align:center;padding:36px 0; }
.success-icon { width:66px;height:66px;border:2px solid var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 22px; }
.success-icon svg { width:28px;height:28px;color:var(--gold); }
.order-success h3 { font-size:1.7rem;margin-bottom:10px; }
.order-success p { color:var(--muted-less);line-height:1.7;font-size:0.88rem; }
.order-num { display:inline-block;margin:18px 0;padding:9px 22px;border:1px solid rgba(255,162,0,0.3);font-family:var(--serif);font-size:1.05rem;letter-spacing:0.08em;color:var(--gold); }

/* Account Modal */
#account-modal { position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,0.8);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s ease;backdrop-filter:blur(6px);padding:24px; }
#account-modal.open { opacity:1;visibility:visible; }
.account-box { background:var(--navy-mid);border:1px solid rgba(255,162,0,0.15);width:100%;max-width:420px;padding:44px;position:relative;animation:scIn 0.4s ease; }
.account-tabs { display:flex;gap:0;margin-bottom:28px;border-bottom:1px solid rgba(255,162,0,0.1); }
.account-tab { flex:1;padding:9px 0;text-align:center;font-size:0.7rem;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted);cursor:none;border-bottom:2px solid transparent;transition:var(--transition-fast); }
.account-tab.active { color:var(--gold);border-color:var(--gold); }
.account-form { display:none; }
.account-form.active { display:block; }
.account-form h3 { font-size:1.55rem;margin-bottom:26px; }

/* Wishlist */
#wishlist-panel { position:fixed;inset:0;z-index:3000;background:rgba(0,0,0,0.55);opacity:0;visibility:hidden;transition:opacity 0.4s ease,visibility 0.4s ease;backdrop-filter:blur(4px); }
#wishlist-panel.open { opacity:1;visibility:visible; }
#wishlist-sidebar { position:absolute;top:0;right:0;bottom:0;width:min(410px,100%);background:var(--navy-mid);border-left:1px solid rgba(255,162,0,0.15);transform:translateX(100%);transition:transform 0.5s cubic-bezier(0.77,0,0.175,1);display:flex;flex-direction:column; }
#wishlist-panel.open #wishlist-sidebar { transform:none; }
.wishlist-grid { display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:22px 28px;overflow-y:auto;flex:1; }
.wishlist-item { position:relative;background:var(--navy-light); }
.wishlist-item-img { aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;font-size:3rem;background:var(--navy-card); }
.wishlist-item-info { padding:8px 10px; }
.wishlist-item-name { font-family:var(--serif);font-size:0.82rem;margin-bottom:2px; }
.wishlist-item-price { font-size:0.72rem;color:var(--gold); }
.wishlist-remove { position:absolute;top:6px;right:6px;width:26px;height:26px;background:rgba(10,15,30,0.8);display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:none;transition:color 0.2s; }
.wishlist-remove:hover { color:#e74c3c; }
.wishlist-remove svg { width:12px;height:12px; }
.wishlist-empty { padding:60px 24px;text-align:center;color:var(--muted);font-size:0.88rem;grid-column:1/-1; }

/* ============================
   FOOTER
============================ */
footer { background:#060b16;padding:72px 0 0;border-top:1px solid rgba(255,162,0,0.1); }
.footer-grid { display:grid;grid-template-columns:1.8fr 1fr 1fr 1fr;gap:44px;margin-bottom:52px; }
.footer-brand .nav-logo { font-size:1.8rem;display:block;margin-bottom:14px; }
.footer-brand p { font-size:0.82rem;color:var(--muted);line-height:1.8;max-width:260px;margin-bottom:24px; }
.social-links { display:flex;gap:10px; }
.social-link { width:36px;height:36px;border:1px solid rgba(255,162,0,0.2);display:flex;align-items:center;justify-content:center;color:var(--muted-less);transition:var(--transition-fast); }
.social-link:hover { border-color:var(--gold);color:var(--gold); }
.social-link svg { width:15px;height:15px; }
.footer-col h5 { font-size:0.62rem;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold);margin-bottom:18px; }
.footer-col ul { display:flex;flex-direction:column;gap:9px; }
.footer-col ul li a { font-size:0.8rem;color:var(--muted);transition:color 0.2s; }
.footer-col ul li a:hover { color:var(--white); }
.footer-bottom { padding:22px 0;border-top:1px solid rgba(255,162,0,0.07);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px; }
.footer-bottom p { font-size:0.7rem;color:var(--muted);letter-spacing:0.05em; }
.footer-bottom-links { display:flex;gap:18px; }
.footer-bottom-links a { font-size:0.68rem;color:var(--muted);transition:color 0.2s; }
.footer-bottom-links a:hover { color:var(--gold); }

/* ============================
   PREMIUM INTERACTION TRANSITIONS
============================ */
#cart-sidebar { transition: transform 0.5s cubic-bezier(0.32,0,0.16,1); }
#cart-overlay { transition: opacity 0.4s ease, visibility 0.4s ease; }
#wishlist-sidebar { transition: transform 0.5s cubic-bezier(0.32,0,0.16,1); }
#wishlist-panel { transition: opacity 0.4s ease, visibility 0.4s ease; }
#search-overlay { transition: opacity 0.38s cubic-bezier(0.32,0,0.16,1), visibility 0.38s ease; }
.checkout-box, .account-box { animation-timing-function: cubic-bezier(0.32,0,0.16,1); }
.btn-primary, .btn-outline, .overlay-add-btn, .checkout-btn,
.spotlight-wish-btn, .cf-submit, .btn-co-next, .btn-ca {
  transition: all 0.28s cubic-bezier(0.32,0,0.16,1);
}
.btn-primary:active { transform: scale(0.97); }
.btn-outline:active { transform: scale(0.97); }

/* ============================
   CART / WISHLIST MICRO-ANIMATIONS
============================ */
/* Luxury press — subtle, premium, consistent across all add/save buttons */
@keyframes luxPress {
  0%   { transform: scale(1);    opacity: 1; }
  35%  { transform: scale(0.95); opacity: 0.9; }
  70%  { transform: scale(1.02); opacity: 1; }
  100% { transform: scale(1);    opacity: 1; }
}
@keyframes cartBounce {
  0%   { transform: scale(1); }
  30%  { transform: scale(1.22); }
  60%  { transform: scale(0.92); }
  80%  { transform: scale(1.06); }
  100% { transform: scale(1); }
}
@keyframes wishPop {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.3); }
  65%  { transform: scale(0.88); }
  85%  { transform: scale(1.1); }
  100% { transform: scale(1); }
}
@keyframes rippleGold {
  0%   { box-shadow: 0 0 0 0 rgba(255,162,0,0.45); }
  70%  { box-shadow: 0 0 0 14px rgba(255,162,0,0); }
  100% { box-shadow: 0 0 0 0 rgba(255,162,0,0); }
}
.action-btn.cart-anim,
.overlay-add-btn.cart-anim,
.pdp-add-btn.cart-anim,
.spotlight-add-btn.cart-anim { animation: luxPress 0.35s cubic-bezier(0.32,0,0.16,1) both; }

.action-btn.wish-anim,
.spotlight-wish-btn.wish-anim,
.pdp-wish-btn.wish-anim { animation: luxPress 0.35s cubic-bezier(0.32,0,0.16,1) both; }
#cart-count.bump, .cart-count.bump { animation: luxPress 0.35s cubic-bezier(0.32,0,0.16,1); }
#cart-count-mobile.bump, .cart-count-mobile.bump { animation: luxPress 0.35s cubic-bezier(0.32,0,0.16,1); }
#wishlist-count.bump { animation: luxPress 0.35s cubic-bezier(0.32,0,0.16,1); }

/* ============================
   FAQ STYLES
============================ */
#home-faq {
  padding: 80px 0 64px;
  border-top: 1px solid rgba(255,162,0,0.08);
}
.faq-preview-header { text-align: center; margin-bottom: 48px; }
.faq-list { max-width: 700px; margin: 0 auto; }
.faq-item { border-bottom: 1px solid rgba(255,162,0,0.1); }
.faq-item:first-child { border-top: 1px solid rgba(255,162,0,0.1); }
.faq-question {
  width: 100%; padding: 22px 0;
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  font-family: var(--serif); font-size: 1.05rem; font-weight: 400;
  color: var(--white); text-align: left;
  transition: color 0.25s ease;
}
.faq-question:hover { color: var(--gold); }
.faq-icon {
  width: 22px; height: 22px; flex-shrink: 0;
  border: 1px solid rgba(255,162,0,0.3); border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  transition: transform 0.35s cubic-bezier(0.32,0,0.16,1), border-color 0.25s, background 0.25s;
}
.faq-icon svg { width: 10px; height: 10px; color: var(--gold); }
.faq-item.open .faq-icon { transform: rotate(45deg); border-color: var(--gold); background: rgba(255,162,0,0.08); }
.faq-answer {
  max-height: 0; overflow: hidden;
  transition: max-height 0.42s cubic-bezier(0.32,0,0.16,1);
}
.faq-answer-inner { padding-bottom: 20px; }
.faq-answer p { font-size: 0.86rem; color: var(--muted-less); line-height: 1.85; max-width: 600px; }
.faq-view-all { text-align: center; margin-top: 40px; }
.faq-view-all-btn {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 0.68rem; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); padding-bottom: 3px;
  border-bottom: 1px solid rgba(255,162,0,0.35);
  transition: gap 0.28s ease, border-color 0.28s;
}
.faq-view-all-btn:hover { gap: 13px; border-color: var(--gold); }
.faq-view-all-btn svg { width: 13px; height: 13px; }
/* FAQ full page */
.faq-page-wrap { padding-top: calc(var(--nav-height) + 0px); min-height: 100vh; }
.faq-page-hero { background: var(--navy-mid); padding: 80px 0; text-align: center; border-bottom: 1px solid rgba(255,162,0,0.1); }
.faq-sections { max-width: 760px; margin: 0 auto; padding: 80px 48px; }
.faq-group-label {
  font-size: 0.6rem; letter-spacing: 0.3em; text-transform: uppercase; color: var(--gold);
  margin-bottom: 2px; margin-top: 56px; padding-bottom: 12px;
  border-bottom: 1px solid rgba(255,162,0,0.12);
}
.faq-group-label:first-child { margin-top: 0; }

/* ============================
   RESPONSIVE
============================ */
@media (max-width: 1100px) {
  .nav-links-left, .nav-links-right { display: none; }
  .hamburger { display: flex; }
  #navbar { grid-template-columns: auto 1fr auto; }
  .nav-center { justify-content: center; }
  .nav-left, .nav-right { display: none; }
  #navbar .nav-right-mobile { display: flex !important; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .cat-products-grid { grid-template-columns: repeat(2,1fr); }
  .pdp-grid { grid-template-columns: 1fr; }
  .pdp-gallery { padding: 0 48px; margin-bottom: 40px; }
  .pdp-info { padding: 0 48px; }
  .editorial-split { grid-template-columns: 1fr; }
  .about-split { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .about-values-grid { grid-template-columns: repeat(2,1fr); }
  .contact-grid { grid-template-columns: 1fr; }
  .contact-info { border: none; padding-right: 0; margin-bottom: 48px; }
  .contact-form-side { padding-left: 0; }
  .mega-inner { grid-template-columns: 1fr; padding: 28px 24px; }
  .mega-heading { border: none; padding: 0 0 16px 0; font-size: 1.4rem; }
  .mega-links-wrap { grid-template-columns: 1fr 1fr; }
  .mega-feature { display: none; }
  .standard-wrap { grid-template-columns: 1fr; padding: 72px 40px; }
  .standard-left { padding-right: 0; margin-bottom: 48px; }
  .standard-grid { grid-template-columns: 1fr 1fr; }
  .spotlight-wrap { grid-template-columns: 1fr; }
  .spotlight-info { padding: 48px 40px; }
  .spotlight-img-main { min-height: 400px; }
}
@media (max-width: 768px) {
  :root { --nav-height: 62px; }
  #navbar { padding: 0 20px; }
  .container { padding: 0 20px; }
  section { padding: 56px 0; }
  #home-bestsellers { padding-top: 56px; }
  /* Hero */
  .hero-content { padding: 0 24px; }
  /* Products — 2 col, kill all hover on touch */
  .product-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .cat-products-grid { grid-template-columns: repeat(2,1fr); gap: 12px; }
  .product-card:hover { transform: none !important; }
  .product-card:hover .product-placeholder { transform: none !important; }
  .product-card:hover .product-actions { opacity: 0 !important; transform: translateX(8px) !important; pointer-events: none; }
  .product-card:hover .product-overlay { transform: translateY(100%) !important; }
  .product-placeholder-emoji { font-size: 3.5rem; }
  .product-name { font-size: 0.85rem; }
  .product-brand { font-size: 0.5rem; letter-spacing: 0.15em; }
  .price-current { font-size: 0.8rem; }
  .product-info { padding: 10px 0 2px; }
  /* Sections */
  .editorial-text { padding: 40px 20px; }
  .about-split-text { padding: 40px 20px; }
  /* Standard section */
  .standard-wrap { padding: 52px 20px; }
  .standard-left { padding-right: 0; margin-bottom: 36px; }
  .standard-grid { grid-template-columns: 1fr 1fr; }
  .standard-block { padding: 24px 20px; }
  .standard-block-icon { width: 52px; height: 52px; margin-bottom: 14px; }
  .standard-block-icon svg { width: 52px; height: 52px; }
  .standard-block-title { font-size: 0.92rem; }
  .standard-block-desc { font-size: 0.74rem; }
  /* Spotlight */
  .spotlight-wrap { grid-template-columns: 1fr; }
  .spotlight-info { padding: 32px 20px; }
  .spotlight-img-main { min-height: 280px; }
  .spotlight-emoji-wrap { font-size: 5.5rem; }
  .spotlight-headline { font-size: 2rem; }
  .spotlight-desc { font-size: 0.9rem; }
  /* Checkout */
  .checkout-box { padding: 24px 18px; }
  .form-row { grid-template-columns: 1fr; }
  /* About */
  .team-grid { grid-template-columns: 1fr 1fr; gap: 16px; }
  .about-values-grid { grid-template-columns: 1fr 1fr; }
  /* Search */
  .search-results-preview { grid-template-columns: repeat(2,1fr); }
  /* Newsletter — keep same as desktop */
  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; margin-bottom: 36px; }
  .footer-brand { grid-column: 1 / -1; }
  /* PDP */
  .pdp-gallery { padding: 0 20px; margin-bottom: 24px; }
  .pdp-info { padding: 0 20px; }
  .pdp-name { font-size: 1.5rem; }
  /* PDP — wishlist beside Add to Bag on mobile */
  .pdp-btn-row { display: flex; flex-direction: row; gap: 10px; align-items: stretch; margin-bottom: 12px; }
  .pdp-add-btn { width: auto; flex: 1; margin-bottom: 0; }
  .pdp-wish-btn { width: auto; flex: 1; min-width: 0; }
  /* Cat toolbar */
  .cat-toolbar { flex-direction: column; align-items: flex-start; gap: 12px; }
  /* Contact */
  .contact-grid { padding: 0 20px; margin: 40px auto; }
  /* FAQ */
  .faq-sections { padding: 48px 20px; }
  .faq-question { font-size: 0.9rem; padding: 18px 0; }
  #home-faq { padding: 60px 0 48px; }
  /* Section header */
  .section-header { margin-bottom: 36px; }
  h2 { font-size: clamp(1.6rem, 7vw, 2.6rem); }
}
@media (max-width: 480px) {
  .product-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }
  .cat-products-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }
  .footer-grid { grid-template-columns: 1fr; }
  .standard-grid { grid-template-columns: 1fr; }
  .about-values-grid { grid-template-columns: 1fr; }
  .team-grid { grid-template-columns: 1fr; }
  .search-results-preview { grid-template-columns: 1fr; }
  /* Keep arrows visible at tiny screens, just even smaller */
  .slide-arrow { width: 34px; height: 34px; bottom: 72px; }
  .slide-arrow svg { width: 13px; height: 13px; }
}

/* ============================
   QUICK VIEW MODAL
============================ */
#quick-view-modal {
  position: fixed; inset: 0; z-index: 4500;
  background: rgba(0,0,0,0.82);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity 0.38s cubic-bezier(0.32,0,0.16,1), visibility 0.38s ease;
  backdrop-filter: blur(8px);
  padding: 24px;
}
#quick-view-modal.open { opacity: 1; visibility: visible; }
.qv-box {
  background: var(--navy-mid);
  border: 1px solid rgba(255,162,0,0.15);
  width: 100%; max-width: 820px;
  max-height: 88vh;
  display: grid; grid-template-columns: 1fr 1fr;
  overflow: hidden;
  animation: scIn 0.38s cubic-bezier(0.32,0,0.16,1);
  position: relative;
}
@keyframes scIn { from{transform:scale(0.96);opacity:0}to{transform:scale(1);opacity:1} }
.qv-img {
  background: var(--navy-light);
  display: flex; align-items: center; justify-content: center;
  font-size: 9rem; min-height: 380px;
  position: relative;
}
.qv-img::after {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse 70% 70% at 55% 45%, rgba(255,162,0,0.06) 0%, transparent 60%);
}
.qv-info {
  padding: 40px 36px;
  overflow-y: auto; display: flex; flex-direction: column; gap: 0;
}
.qv-info::-webkit-scrollbar { width: 3px; }
.qv-info::-webkit-scrollbar-thumb { background: var(--gold-dim); }
.qv-brand { font-size: 0.6rem; letter-spacing: 0.28em; text-transform: uppercase; color: var(--gold); margin-bottom: 7px; }
.qv-name { font-family: var(--serif); font-size: clamp(1.4rem,2.5vw,1.9rem); margin-bottom: 12px; line-height: 1.1; }
.qv-price { font-size: 1.2rem; margin-bottom: 18px; display: flex; align-items: center; gap: 10px; }
.qv-price-old { font-size: 0.9rem; color: var(--muted); text-decoration: line-through; }
.qv-desc { font-size: 0.92rem; color: var(--muted-less); line-height: 1.85; margin-bottom: 24px; }
.qv-label { font-size: 0.6rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.qv-sizes { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 24px; }
.qv-size-btn { padding: 8px 14px; border: 1px solid rgba(255,162,0,0.2); color: var(--muted-less); font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase; transition: var(--transition-fast); }
.qv-size-btn:hover, .qv-size-btn.active { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.qv-add-btn { width:100%!important;padding:15px!important;background:#FFA200!important;color:var(--navy)!important;font-family:var(--sans)!important;font-size:0.74rem!important;font-weight:500!important;letter-spacing:0.2em!important;text-transform:uppercase!important;margin-bottom:10px!important;transition:background 0.2s!important;border:none!important;border-radius:0!important;cursor:pointer!important;display:block!important;opacity:1!important;visibility:visible!important; }
.qv-add-btn:hover { background:var(--gold-light)!important; }
.qv-wish-btn { width:100%!important;padding:13px!important;border:1px solid rgba(245,243,239,0.15)!important;color:var(--muted-less)!important;font-size:0.66rem!important;letter-spacing:0.15em!important;text-transform:uppercase!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;transition:var(--transition-fast)!important;background:transparent!important;border-radius:0!important; }
.qv-wish-btn:hover, .qv-wish-btn.wishlisted { border-color:var(--gold)!important;color:var(--gold)!important; }
.qv-wish-btn svg { width: 14px; height: 14px; }
.qv-view-full { text-align: center; margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255,162,0,0.08); }
.qv-view-full a { font-size: 0.62rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); display: inline-flex; align-items: center; gap: 6px; transition: color 0.2s; }
.qv-view-full a:hover { color: var(--gold); }
.qv-view-full svg { width: 12px; height: 12px; }
.qv-close {
  position: absolute; top: 14px; right: 14px; z-index: 10;
  width: 32px; height: 32px;
  border: 1px solid rgba(255,162,0,0.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--muted-less); transition: var(--transition-fast);
  background: rgba(10,15,30,0.5);
}
.qv-close:hover { border-color: var(--gold); color: var(--gold); }
.qv-close svg { width: 14px; height: 14px; }
@media (max-width: 768px) {
  .qv-box { grid-template-columns: 1fr; max-height: 92vh; overflow-y: auto; }
  .qv-img { min-height: 220px; font-size: 6rem; }
  .qv-info { padding: 24px 20px; }
}

/* ============================
   SHOPIFY / DAWN OVERRIDES
============================ */
/* Override Dawn's body styles */
body.oshare-theme {
  background: var(--navy) !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  overflow-x: hidden;
  font-size: 16px !important;
  letter-spacing: 0 !important;
}
/* Hide Dawn's default elements when Osharē header/footer is active */
.oshare-theme .header-wrapper,
.oshare-theme .shopify-section-header,
.oshare-theme .announcement-bar-section { display: none !important; }

/* Ensure main content flows properly under fixed nav */
.oshare-theme .content-for-layout { margin-top: 0; }
.oshare-theme main.content-for-layout { background: var(--navy); }

/* Fix Dawn's link colors and remove Dawn's default transitions */
.oshare-theme a { color: inherit; text-decoration: none; }
.oshare-theme h1, .oshare-theme h2, .oshare-theme h3, .oshare-theme h4 {
  font-family: var(--serif) !important;
  font-weight: 300 !important;
  line-height: 1.1 !important;
  letter-spacing: -0.02em !important;
  color: var(--white) !important;
}

/* Override Dawn's button resets that kill hover effects */
.oshare-theme button,
.oshare-theme .button,
.oshare-theme [type="button"] {
  background: none;
  border: none;
  font-family: var(--sans);
  letter-spacing: inherit;
}

/* Ensure Osharē transitions are not overridden by Dawn's animate--hover classes */
.oshare-theme .product-card,
.oshare-theme .btn-primary,
.oshare-theme .btn-ghost,
.oshare-theme .pdp-add-btn,
.oshare-theme .overlay-add-btn,
.oshare-theme .spotlight-add-btn,
.oshare-theme .action-btn,
.oshare-theme .nav-icon-btn,
.oshare-theme .size-btn,
.oshare-theme .size-dot,
.oshare-theme .color-swatch,
.oshare-theme .filter-chip,
.oshare-theme .filter-tab-minimal,
.oshare-theme .faq-question,
.oshare-theme .pdp-accordion-btn {
  transition: var(--transition) !important;
}

/* Product card hover — ensure it works over Dawn */
.oshare-theme .product-card { position: relative; background: var(--navy-card); transition: transform 0.35s ease !important; }
.oshare-theme .product-card:hover { transform: translateY(-4px) !important; }
.oshare-theme .product-card:hover .product-actions { opacity: 1 !important; transform: none !important; }
.oshare-theme .product-card:hover .product-overlay { transform: translateY(0) !important; }
.oshare-theme .product-card:hover .product-placeholder,
.oshare-theme .product-card:hover .product-img-wrap img { transform: scale(1.04) !important; }

/* btn-primary hover sweep effect — must override Dawn */
.oshare-theme .btn-primary { position: relative; overflow: hidden; transition: var(--transition) !important; }
.oshare-theme .btn-primary::after {
  content: '' !important;
  position: absolute !important; inset: 0 !important;
  background: var(--gold-light) !important;
  transform: scaleX(0) !important; transform-origin: left !important;
  transition: transform 0.4s ease !important; z-index: 0 !important;
}
.oshare-theme .btn-primary:hover::after { transform: scaleX(1) !important; }
.oshare-theme .btn-primary span { position: relative; z-index: 1; }

/* Gold hover effects for buttons */
.oshare-theme .pdp-add-btn:hover,
.oshare-theme .overlay-add-btn:hover,
.oshare-theme .spotlight-add-btn:hover,
.oshare-theme .checkout-btn:hover,
.oshare-theme .newsletter-form button:hover,
.oshare-theme .cf-submit:hover,
.oshare-theme .btn-ca:hover { background: var(--gold-light) !important; }

/* Ghost/outline button hover */
.oshare-theme .btn-ghost:hover { border-color: var(--gold) !important; color: var(--gold) !important; }
.oshare-theme .btn-ghost:active,
.oshare-theme .btn-primary:active { transform: scale(0.97) !important; }

/* Size/swatch active + hover */
.oshare-theme .size-btn:hover,
.oshare-theme .size-btn.active { background: var(--gold) !important; color: var(--navy) !important; border-color: var(--gold) !important; }
.oshare-theme .size-dot:hover,
.oshare-theme .size-dot.active { background: var(--gold) !important; color: var(--navy) !important; border-color: var(--gold) !important; }
.oshare-theme .color-swatch.active { border-color: var(--gold) !important; }

/* Nav hover effects */
.oshare-theme .nav-icon-btn:hover { color: var(--gold) !important; }
.oshare-theme .nav-item > a:hover,
.oshare-theme .nav-item > button:hover { color: var(--white) !important; }

/* Standard block hover */
.oshare-theme .standard-block:hover { background: #101c34 !important; }

/* Slide arrow hover */
.oshare-theme .slide-arrow:hover {
  border-color: var(--gold) !important;
  background: rgba(255,162,0,0.12) !important;
  box-shadow: 0 0 24px rgba(255,162,0,0.2) !important;
}

/* Page transitions — CSS fade-in animation on body */
.page { display: block; }

/* ============================
   DAWN DARK THEME — GLOBAL OVERRIDES
   Force ALL Dawn pages/components to use Osharē dark palette
============================ */
/* All Dawn color scheme backgrounds */
.oshare-theme .color-background-1,
.oshare-theme .color-background-2,
.oshare-theme [class*="color-"],
.oshare-theme .collection-list__item,
.oshare-theme .card,
.oshare-theme .card__inner,
.oshare-theme .card__content,
.oshare-theme .card__information,
.oshare-theme .collection-card-wrapper,
.oshare-theme .collection-card__info {
  background: var(--navy-card) !important;
  color: var(--white) !important;
  border-color: rgba(255,162,0,0.12) !important;
}

/* Collection list page */
.oshare-theme .collection-list-wrapper,
.oshare-theme .collection-list,
.oshare-theme .collections-grid { background: var(--navy) !important; }
.oshare-theme .collection-list__item .card { background: var(--navy-card) !important; border: 1px solid rgba(255,162,0,0.12) !important; }
.oshare-theme .collection-list__item .card__content { background: var(--navy-card) !important; }
.oshare-theme .collection-list__item a { color: var(--white) !important; }
.oshare-theme .collection-list__item h3,
.oshare-theme .collection-list__item h2 { color: var(--white) !important; }

/* Dawn card images */
.oshare-theme .card__media,
.oshare-theme .media { background: var(--navy-light) !important; }
.oshare-theme .card--standard .card__media { border-bottom: 1px solid rgba(255,162,0,0.08); }

/* Cart drawer — Osharē dark styling */
/* Overlay — semi-transparent, not opaque white */
.oshare-theme .cart-drawer__overlay,
.oshare-theme #CartDrawer-Overlay {
  background: rgba(0,0,0,0.55) !important;
  backdrop-filter: blur(4px) !important;
}

/* Drawer panel — dark background */
.oshare-theme cart-drawer .drawer__inner,
.oshare-theme .drawer__inner,
.oshare-theme .drawer__inner.gradient {
  background: var(--navy-mid) !important;
  color: var(--white) !important;
  border-left: 1px solid rgba(255,162,0,0.15) !important;
}
.oshare-theme cart-drawer,
.oshare-theme .drawer,
.oshare-theme .cart-drawer,
.oshare-theme #CartDrawer { color: var(--white) !important; }

/* Header */
.oshare-theme cart-drawer .drawer__header,
.oshare-theme .drawer__header { background: transparent !important; border-bottom: 1px solid rgba(255,162,0,0.1) !important; }
.oshare-theme cart-drawer h2,
.oshare-theme cart-drawer .drawer__heading,
.oshare-theme .drawer__heading { color: var(--white) !important; font-family: var(--serif) !important; font-size: 1.35rem !important; }

/* Close button */
.oshare-theme cart-drawer .drawer__close,
.oshare-theme .drawer__close { color: var(--muted-less) !important; }
.oshare-theme cart-drawer .drawer__close:hover { color: var(--gold) !important; }

/* Cart items */
.oshare-theme cart-drawer .cart-item,
.oshare-theme cart-drawer cart-drawer-items,
.oshare-theme cart-drawer .cart-items { background: transparent !important; color: var(--white) !important; }
.oshare-theme cart-drawer .cart-item { border-bottom: 1px solid rgba(245,243,239,0.05) !important; }
.oshare-theme cart-drawer .cart-item__media { background: var(--navy-light) !important; }
.oshare-theme cart-drawer a,
.oshare-theme cart-drawer .cart-item__name { color: var(--white) !important; font-family: var(--serif) !important; }
.oshare-theme cart-drawer .cart-item__details { color: var(--muted) !important; }
.oshare-theme cart-drawer .price,
.oshare-theme cart-drawer .cart-item__price,
.oshare-theme cart-drawer .cart-item__totals { color: var(--white) !important; }

/* Quantity controls */
.oshare-theme cart-drawer .quantity { border: 1px solid rgba(255,162,0,0.2) !important; background: transparent !important; }
.oshare-theme cart-drawer .quantity__button { color: var(--white) !important; background: transparent !important; }
.oshare-theme cart-drawer .quantity__input { color: var(--white) !important; background: transparent !important; }
.oshare-theme cart-drawer .quantity__button:hover { color: var(--gold) !important; }

/* Remove link */
.oshare-theme cart-drawer cart-remove-button a { color: var(--gold) !important; font-size: 0.58rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; }

/* Footer / totals */
.oshare-theme cart-drawer .drawer__footer {
  background: transparent !important; border-top: 1px solid rgba(255,162,0,0.1) !important;
  padding: 22px 30px !important;
}
.oshare-theme cart-drawer .cart-drawer__footer { background: transparent !important; }
.oshare-theme cart-drawer .totals { border-color: rgba(255,162,0,0.1) !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
.oshare-theme cart-drawer .totals__subtotal,
.oshare-theme cart-drawer .totals__total { color: var(--muted) !important; font-size: 0.72rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important; font-weight: 400 !important; }
.oshare-theme cart-drawer .totals__subtotal-value,
.oshare-theme cart-drawer .totals__total-value { color: var(--white) !important; font-family: var(--serif) !important; font-size: 1.25rem !important; }
.oshare-theme cart-drawer .tax-note,
.oshare-theme cart-drawer .tax-note a { color: var(--muted) !important; font-size: 0.7rem !important; }
.oshare-theme cart-drawer .tax-note a { color: var(--gold) !important; }

/* Checkout button */
.oshare-theme cart-drawer .cart__ctas { padding: 0 !important; margin-top: 10px !important; }
.oshare-theme cart-drawer .button,
.oshare-theme cart-drawer [name="checkout"],
.oshare-theme cart-drawer .cart__checkout-button {
  background: var(--gold) !important; color: var(--navy) !important;
  font-family: var(--sans) !important; font-weight: 500 !important;
  font-size: 0.76rem !important;
  letter-spacing: 0.22em !important; text-transform: uppercase !important;
  border: none !important; border-radius: 0 !important;
  padding: 15px !important; width: 100% !important;
  margin-bottom: 8px !important;
}
.oshare-theme cart-drawer .button:hover,
.oshare-theme cart-drawer [name="checkout"]:hover { background: var(--gold-light) !important; }

/* Continue shopping */
.oshare-theme cart-drawer .button--secondary {
  background: transparent !important; color: var(--muted-less) !important;
  border: 1px solid rgba(245,243,239,0.12) !important;
  font-size: 0.68rem !important; letter-spacing: 0.15em !important;
  padding: 11px !important;
}
.oshare-theme cart-drawer .button--secondary:hover { border-color: var(--gold) !important; color: var(--gold) !important; }

/* Discount / promo code field */
.oshare-theme cart-drawer .cart-discount-field,
.oshare-theme cart-drawer [id*="discount"],
.oshare-theme cart-drawer details summary { color: var(--muted-less) !important; }
.oshare-theme cart-drawer details summary .svg-wrapper { color: var(--muted) !important; }
.oshare-theme cart-drawer .field__input,
.oshare-theme cart-drawer .text-area { background: transparent !important; color: var(--white) !important; border-color: rgba(255,162,0,0.2) !important; }
.oshare-theme cart-drawer .field__input:focus,
.oshare-theme cart-drawer .text-area:focus { border-color: var(--gold) !important; }

/* Empty state */
.oshare-theme cart-drawer .drawer__inner-empty,
.oshare-theme cart-drawer .drawer__inner-empty .gradient {
  background: var(--navy-mid) !important;
  display: flex !important; flex-direction: column !important;
  height: 100% !important;
}
.oshare-theme cart-drawer .cart-drawer__warnings {
  display: flex !important; flex-direction: column !important;
  align-items: center !important; justify-content: center !important;
  flex: 1 !important; padding: 40px 30px !important;
}
.oshare-theme cart-drawer .cart-drawer__empty-content {
  text-align: center !important; width: 100% !important;
}
.oshare-theme cart-drawer .cart__empty-text {
  color: var(--muted) !important; font-family: var(--serif) !important;
  font-size: 1.1rem !important; margin-bottom: 28px !important;
}
/* Empty state close button — top right */
.oshare-theme cart-drawer .drawer__inner-empty .drawer__close {
  position: absolute !important; top: 20px !important; right: 20px !important;
  color: var(--muted-less) !important;
}
.oshare-theme cart-drawer .drawer__inner-empty .drawer__close:hover { color: var(--gold) !important; }
/* Continue shopping button in empty state */
.oshare-theme cart-drawer .drawer__inner-empty .button {
  width: 100% !important; max-width: 320px !important; margin: 0 auto 12px !important;
  padding: 15px !important; font-size: 0.76rem !important;
}
/* Login section in empty state */
.oshare-theme cart-drawer .cart__login-title {
  color: var(--white) !important; font-family: var(--serif) !important;
  font-size: 1.15rem !important; margin-top: 40px !important; margin-bottom: 8px !important;
}
.oshare-theme cart-drawer .cart__login-paragraph {
  color: var(--muted) !important; font-size: 0.82rem !important;
}
.oshare-theme cart-drawer .cart__login-paragraph a { color: var(--gold) !important; }
.oshare-theme cart-drawer .is-empty a,
.oshare-theme cart-drawer .drawer__inner-empty a:not(.button) { color: var(--gold) !important; }
.oshare-theme cart-drawer .drawer__inner-empty svg { color: var(--muted) !important; opacity: 0.3 !important; }

/* Dawn section wrappers */
.oshare-theme .section-template--*,
.oshare-theme .shopify-section,
.oshare-theme .spaced-section { background: transparent !important; }

/* Dawn page titles */
.oshare-theme .collection-hero,
.oshare-theme .collection-hero__inner,
.oshare-theme .page-header { background: var(--navy-mid) !important; }
.oshare-theme .collection-hero__title,
.oshare-theme .page-header h1 { color: var(--white) !important; }

/* Dawn product grid (for non-custom pages) */
.oshare-theme .product-grid .grid__item .card { background: var(--navy-card) !important; }
.oshare-theme .card__heading a { color: var(--white) !important; }
.oshare-theme .price { color: var(--white) !important; }
.oshare-theme .price--on-sale .price-item--regular { color: var(--muted) !important; }
.oshare-theme .badge { background: var(--gold) !important; color: var(--navy) !important; }

/* Dawn text/richtext sections */
.oshare-theme .rich-text,
.oshare-theme .rich-text__wrapper { background: var(--navy) !important; }
.oshare-theme .rich-text p,
.oshare-theme .rich-text h2 { color: var(--white) !important; }

/* Dawn form elements on ALL pages */
.oshare-theme .field__input,
.oshare-theme .select__select,
.oshare-theme .customer input,
.oshare-theme .form__label { background: transparent !important; color: var(--white) !important; border-color: rgba(255,162,0,0.2) !important; }
.oshare-theme .field__label { color: var(--muted) !important; }

/* 404 page */
.oshare-theme .shopify-section--404 { background: var(--navy) !important; }

/* Account/login pages */
.oshare-theme .customer { background: var(--navy) !important; color: var(--white) !important; }
.oshare-theme .customer h1,
.oshare-theme .customer h2 { color: var(--white) !important; }
.oshare-theme .customer a { color: var(--gold) !important; }

/* Quantity inputs everywhere */
.oshare-theme .quantity { border-color: rgba(255,162,0,0.2) !important; }
.oshare-theme .quantity__input { color: var(--white) !important; background: transparent !important; }
.oshare-theme .quantity__button { color: var(--white) !important; }

/* ============================
   CUSTOM CURSOR — progressive enhancement via JS class
============================ */
body.oshare-cursor, body.oshare-cursor a, body.oshare-cursor button,
body.oshare-cursor input, body.oshare-cursor textarea, body.oshare-cursor select,
body.oshare-cursor [onclick], body.oshare-cursor .product-card,
body.oshare-cursor .nav-item, body.oshare-cursor .action-btn,
body.oshare-cursor label, body.oshare-cursor * { cursor: none !important; }
@media (max-width: 1024px) {
  body.oshare-cursor, body.oshare-cursor *,
  body.oshare-cursor a, body.oshare-cursor button,
  body.oshare-cursor input, body.oshare-cursor textarea, body.oshare-cursor select,
  body.oshare-cursor [onclick], body.oshare-cursor .product-card,
  body.oshare-cursor label { cursor: auto !important; }
}

/* Force cursor elements visible */
#cursor-dot, #cursor-ring { display: block !important; }
@media (max-width: 1024px) {
  #cursor-dot, #cursor-ring { display: none !important; }
}

/* ============================
   WISHLIST COUNT BADGE
============================ */
.wishlist-count {
  position: absolute; top: -4px; right: -4px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--gold); color: var(--navy);
  font-size: 0.52rem; font-weight: 600;
  display: none; align-items: center; justify-content: center;
}
.wishlist-count.visible { display: flex; }

/* ============================
   WISHLIST DRAWER
============================ */
#wishlist-panel {
  position: fixed; inset: 0; z-index: 3000;
  background: rgba(0,0,0,0.55);
  opacity: 0; visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
  backdrop-filter: blur(4px);
}
#wishlist-panel.open { opacity: 1; visibility: visible; }
#wishlist-sidebar {
  position: absolute; top: 0; right: 0; bottom: 0;
  width: min(410px, 100%);
  background: var(--navy-mid);
  border-left: 1px solid rgba(255,162,0,0.15);
  transform: translateX(100%);
  transition: transform 0.5s cubic-bezier(0.77,0,0.175,1);
  display: flex; flex-direction: column;
}
#wishlist-panel.open #wishlist-sidebar { transform: none; }
.wishlist-grid {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 14px; padding: 22px 28px;
  overflow-y: auto; flex: 1;
}
.wishlist-empty {
  grid-column: 1 / -1; text-align: center;
  padding: 60px 0; color: var(--muted);
  font-size: 0.88rem; line-height: 1.8;
}
.wishlist-item {
  position: relative; background: var(--navy-light);
  transition: transform 0.2s;
}
.wishlist-item:hover { transform: translateY(-2px); }
.wishlist-item-img {
  aspect-ratio: 3/4; overflow: hidden; background: var(--navy-card);
}
.wishlist-item-img img { width: 100%; height: 100%; object-fit: cover; }
.wishlist-item-info { padding: 8px 10px; }
.wishlist-item-name { font-family: var(--serif); font-size: 0.82rem; margin-bottom: 2px; color: var(--white); }
.wishlist-item-price { font-size: 0.72rem; color: var(--gold); }
.wishlist-remove {
  position: absolute; top: 6px; right: 6px;
  width: 26px; height: 26px;
  background: rgba(10,15,30,0.8);
  display: flex; align-items: center; justify-content: center;
  color: var(--muted); transition: color 0.2s;
}
.wishlist-remove:hover { color: #e74c3c; }
.wishlist-remove svg { width: 12px; height: 12px; }

/* ============================
   QUICK VIEW MODAL
============================ */
#quick-view-modal {
  position: fixed; inset: 0; z-index: 4500;
  background: rgba(0,0,0,0.82);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; visibility: hidden;
  transition: opacity 0.38s cubic-bezier(0.32,0,0.16,1), visibility 0.38s ease;
  backdrop-filter: blur(8px);
  padding: 24px;
}
#quick-view-modal.open { opacity: 1; visibility: visible; }
.qv-box {
  background: var(--navy-mid);
  border: 1px solid rgba(255,162,0,0.15);
  width: 100%; max-width: 820px; max-height: 88vh;
  display: grid; grid-template-columns: 1fr 1fr;
  position: relative; overflow: hidden;
  transform: scale(0.92) translateY(20px);
  transition: transform 0.4s cubic-bezier(0.32,0,0.16,1);
}
#quick-view-modal.open .qv-box { transform: none; }
.qv-img {
  aspect-ratio: 3/4; background: var(--navy-light);
  display: flex; align-items: center; justify-content: center;
  overflow: hidden;
}
.qv-img img { width: 100%; height: 100%; object-fit: cover; }
.qv-info {
  padding: 36px 32px;
  overflow-y: auto;
  display: flex; flex-direction: column; gap: 0;
}
.qv-close {
  position: absolute; top: 16px; right: 16px;
  width: 36px; height: 36px; color: var(--muted-less);
  display: flex; align-items: center; justify-content: center;
  transition: color 0.2s;
}
.qv-close:hover { color: var(--gold); }
.qv-close svg { width: 18px; height: 18px; }
.qv-brand { font-size: 0.58rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold); margin-bottom: 6px; }
.qv-name { font-family: var(--serif); font-size: 1.6rem; font-weight: 400; margin-bottom: 10px; color: var(--white); }
.qv-price { font-size: 1.1rem; margin-bottom: 14px; color: var(--white); }
.qv-price-old { font-size: 0.85rem; color: var(--muted); text-decoration: line-through; margin-left: 8px; }
.qv-desc { font-size: 0.82rem; color: var(--muted-less); line-height: 1.7; margin-bottom: 20px; }
.qv-label { font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; }
.qv-sizes { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.qv-size-btn {
  padding: 8px 14px;
  border: 1px solid rgba(255,162,0,0.2);
  color: var(--muted-less);
  font-size: 0.68rem; letter-spacing: 0.1em; text-transform: uppercase;
  transition: all 0.2s;
}
.qv-size-btn:hover, .qv-size-btn.active { background: var(--gold); color: var(--navy); border-color: var(--gold); }
.qv-size-btn.unavailable { opacity: 0.3; pointer-events: none; }
.qv-add-btn {
  width: 100% !important; padding: 15px !important;
  background: #FFA200 !important; color: var(--navy) !important;
  font-family: var(--sans) !important; font-size: 0.74rem !important; font-weight: 500 !important;
  letter-spacing: 0.2em !important; text-transform: uppercase !important;
  margin-bottom: 10px !important; transition: background 0.2s !important;
  border: none !important; border-radius: 0 !important; cursor: pointer !important;
  display: block !important; opacity: 1 !important; visibility: visible !important;
}
.qv-add-btn:hover { background: var(--gold-light) !important; }
.qv-wish-btn {
  width: 100% !important; padding: 13px !important;
  border: 1px solid rgba(245,243,239,0.15) !important;
  color: var(--muted-less) !important;
  font-size: 0.66rem !important; letter-spacing: 0.15em !important; text-transform: uppercase !important;
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 7px !important;
  transition: all 0.2s !important; background: transparent !important; border-radius: 0 !important;
}
.qv-wish-btn:hover, .qv-wish-btn.wishlisted { border-color: var(--gold) !important; color: var(--gold) !important; }
.qv-wish-btn svg { width: 14px; height: 14px; }
.qv-view-full { margin-top: 16px; text-align: center; }
.qv-view-full a {
  font-size: 0.68rem; letter-spacing: 0.15em; text-transform: uppercase;
  color: var(--muted); display: inline-flex; align-items: center; gap: 6px;
  transition: color 0.2s;
}
.qv-view-full a:hover { color: var(--gold); }
.qv-view-full svg { width: 14px; height: 14px; }

@media (max-width: 768px) {
  .qv-box { grid-template-columns: 1fr; max-height: 92vh; }
  .qv-img { aspect-ratio: 1/1; max-height: 280px; }
  .qv-info { padding: 24px 20px; }
}

/* ============================
   CONTACT PAGE
============================ */
.contact-page-wrap { padding-top: 0; }
.contact-hero {
  background: var(--navy-mid); padding: 80px 0;
  text-align: center;
  border-bottom: 1px solid rgba(255,162,0,0.1);
}
.contact-grid {
  display: grid; grid-template-columns: 1fr 1.5fr; gap: 0;
  max-width: 1100px; margin: 80px auto; padding: 0 48px;
}
.contact-info { padding-right: 72px; border-right: 1px solid rgba(255,162,0,0.1); }
.contact-info h3 { font-family: var(--serif); font-size: 1.6rem; margin-bottom: 24px; color: var(--white); }
.contact-info-item {
  display: flex; align-items: flex-start; gap: 14px;
  margin-bottom: 28px; padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,162,0,0.06);
}
.contact-info-item:last-of-type { border: none; }
.contact-info-icon {
  width: 36px; height: 36px;
  border: 1px solid rgba(255,162,0,0.2);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.contact-info-icon svg { width: 15px; height: 15px; color: var(--gold); }
.contact-info-label { font-size: 0.6rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--gold); margin-bottom: 4px; }
.contact-info-val { font-size: 0.86rem; color: var(--muted-less); line-height: 1.6; }
.contact-social { display: flex; gap: 10px; margin-top: 8px; }
.contact-soc-btn {
  width: 36px; height: 36px;
  border: 1px solid rgba(255,162,0,0.2);
  display: flex; align-items: center; justify-content: center;
  color: var(--muted-less); transition: all 0.2s;
}
.contact-soc-btn:hover { border-color: var(--gold); color: var(--gold); }
.contact-soc-btn svg { width: 15px; height: 15px; }
.contact-form-side { padding-left: 72px; }
.contact-form-side h3 { font-family: var(--serif); font-size: 1.6rem; margin-bottom: 28px; color: var(--white); }
.cf-group { margin-bottom: 22px; }
.cf-group label {
  display: block; font-size: 0.6rem; letter-spacing: 0.22em;
  text-transform: uppercase; color: var(--muted); margin-bottom: 8px;
}
.cf-group input, .cf-group select, .cf-group textarea {
  width: 100%; padding: 12px 0;
  border: none; border-bottom: 1px solid rgba(255,162,0,0.18);
  font-size: 0.88rem; color: var(--white); background: transparent;
  transition: border-color 0.2s;
  font-family: var(--sans);
}
.cf-group select option { background: var(--navy-mid); color: var(--white); }
.cf-group textarea { height: 120px; resize: none; }
.cf-group input:focus, .cf-group select:focus, .cf-group textarea:focus { border-color: var(--gold); outline: none; }
.cf-group input::placeholder, .cf-group textarea::placeholder { color: rgba(245,243,239,0.2); }
.cf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.cf-submit {
  width: 100% !important; padding: 15px !important;
  background: var(--gold) !important; color: var(--navy) !important;
  font-family: var(--sans) !important; font-size: 0.75rem !important; font-weight: 500 !important;
  letter-spacing: 0.22em !important; text-transform: uppercase !important;
  margin-top: 8px !important; transition: background 0.2s !important; border: none !important;
  display: block !important; opacity: 1 !important; visibility: visible !important;
  cursor: pointer !important;
}
.cf-submit:hover { background: var(--gold-light) !important; }

/* ============================
   CUSTOM FORM VALIDATION TOOLTIP
============================ */
.oshare-validation-msg {
  position: fixed;
  background: var(--navy-card);
  border: 1px solid rgba(255,162,0,0.3);
  color: var(--gold);
  font-family: var(--sans);
  font-size: 0.75rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  padding: 10px 18px;
  white-space: nowrap;
  z-index: 99999;
  pointer-events: none;
  animation: oshare-tooltip-in 0.3s ease both;
}
.oshare-validation-msg::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 6px solid transparent;
  border-top-color: rgba(255,162,0,0.3);
}
@keyframes oshare-tooltip-in {
  from { opacity: 0; transform: translateX(-50%) translateY(4px); }
  to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

@media (max-width: 768px) {
  .contact-grid { grid-template-columns: 1fr; padding: 0 24px; margin: 40px auto; }
  .contact-info { padding-right: 0; border-right: none; border-bottom: 1px solid rgba(255,162,0,0.1); padding-bottom: 40px; margin-bottom: 40px; }
  .contact-form-side { padding-left: 0; }
  .cf-row { grid-template-columns: 1fr; gap: 0; }
}

/* ============================
   PRODUCT CARD — WISHLISTED STATE
============================ */
.action-btn.wishlisted { background: var(--gold); color: var(--navy); border-color: var(--gold); }

/* ============================
   CUSTOMER LOGIN / ACCOUNT PAGES
============================ */
/* Override Shopify's new account login (hosted externally) is not stylable.
   But the classic customer login/register templates can be styled: */
.oshare-theme .shopify-section--main-login,
.oshare-theme .customer,
.oshare-theme #MainContent .customer {
  background: var(--navy) !important;
  color: var(--white) !important;
  min-height: 80vh;
  display: flex; align-items: center; justify-content: center;
}
.oshare-theme .customer .field,
.oshare-theme .customer .field__input {
  background: transparent !important;
  color: var(--white) !important;
  border-color: rgba(255,162,0,0.2) !important;
  border-radius: 0 !important;
}
.oshare-theme .customer .field__label { color: var(--muted) !important; }
.oshare-theme .customer .field__input:focus { border-color: var(--gold) !important; }
.oshare-theme .customer h1,
.oshare-theme .customer h2 {
  font-family: var(--serif) !important;
  color: var(--white) !important;
}
.oshare-theme .customer .button,
.oshare-theme .customer button[type="submit"] {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border: none !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  font-size: 0.74rem !important;
  padding: 16px !important;
}
.oshare-theme .customer .button:hover,
.oshare-theme .customer button[type="submit"]:hover {
  background: var(--gold-light) !important;
}
.oshare-theme .customer a {
  color: var(--gold) !important;
}
.oshare-theme .customer p,
.oshare-theme .customer label {
  color: var(--muted-less) !important;
}

/* ============================
   MOBILE: NO HOVER OVERLAY ON PRODUCT CARDS
============================ */
@media (max-width: 1024px) {
  .product-overlay { display: none !important; }
  .product-actions { opacity: 1 !important; transform: none !important; }
  .product-img-wrap { cursor: pointer; }
}

/* ============================
   OSHARĒ WELCOME POPUP
============================ */
.oshare-popup-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(5,8,18,0.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  z-index: 99990;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.4s ease;
}
.oshare-popup-overlay.is-active {
  display: flex !important;
  opacity: 1;
}
.oshare-popup-overlay.fade-out {
  opacity: 0;
}
.oshare-popup {
  position: relative;
  background: var(--navy-card);
  border: 1px solid rgba(255,162,0,0.15);
  max-width: 440px;
  width: 90%;
  padding: 52px 44px;
  text-align: center;
  animation: oshare-popup-in 0.5s cubic-bezier(0.16,1,0.3,1) both;
  box-shadow: 0 30px 80px rgba(0,0,0,0.5), 0 0 60px rgba(255,162,0,0.05);
}
@keyframes oshare-popup-in {
  from { opacity: 0; transform: translateY(20px) scale(0.97); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
.oshare-popup-close {
  position: absolute !important;
  top: 18px !important;
  right: 18px !important;
  background: none !important;
  border: none !important;
  color: var(--muted) !important;
  cursor: pointer !important;
  padding: 4px !important;
  transition: color 0.2s !important;
  display: flex !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.oshare-popup-close:hover { color: var(--gold) !important; }
.oshare-popup-logo {
  font-family: var(--serif);
  font-size: 1.1rem;
  font-weight: 400;
  letter-spacing: 0.35em;
  color: var(--gold);
  margin-bottom: 20px;
}
.oshare-popup-divider {
  width: 40px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold), transparent);
  margin: 0 auto 24px;
}
.oshare-popup-title {
  font-family: var(--serif) !important;
  font-size: clamp(1.6rem, 3.5vw, 2.2rem) !important;
  font-weight: 300 !important;
  color: var(--white) !important;
  line-height: 1.2 !important;
  margin-bottom: 14px !important;
}
.oshare-popup-title em {
  font-style: italic;
  color: var(--gold);
}
.oshare-popup-text {
  font-family: var(--sans);
  font-size: 0.82rem;
  color: var(--muted);
  line-height: 1.7;
  max-width: 320px;
  margin: 0 auto 28px;
}
.oshare-popup-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.oshare-popup-form input[type="email"] {
  width: 100% !important;
  padding: 14px 18px !important;
  background: transparent !important;
  border: 1px solid rgba(255,162,0,0.25) !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-size: 0.86rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  outline: none !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s ease !important;
}
.oshare-popup-form input[type="email"]:focus {
  border-color: var(--gold) !important;
}
.oshare-popup-form input[type="email"]::placeholder {
  color: var(--muted) !important;
}
.oshare-popup-form button {
  width: 100% !important;
  padding: 15px !important;
  background: var(--gold) !important;
  color: var(--navy) !important;
  font-family: var(--sans) !important;
  font-size: 0.73rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
  transition: background 0.3s ease !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.oshare-popup-form button:hover {
  background: var(--gold-light) !important;
}
.oshare-popup-form button span {
  position: relative;
  z-index: 1;
}
.oshare-popup-privacy {
  font-family: var(--sans);
  font-size: 0.66rem;
  color: var(--muted);
  letter-spacing: 0.04em;
  margin-top: 16px !important;
  margin-bottom: 0 !important;
}
@media (max-width: 480px) {
  .oshare-popup { padding: 40px 28px; }
}

/* ============================
   TRACK ORDER PAGE
============================ */
.track-order-wrap { max-width: 600px; margin: 0 auto; padding: 0 20px 80px; }
.track-form-card {
  background: var(--navy-card) !important;
  border: 1px solid rgba(255,162,0,0.1);
  padding: 48px 40px;
  text-align: center;
  margin-bottom: 56px;
}
.track-form-icon { margin-bottom: 28px; }
.track-form { display: flex; flex-direction: column; gap: 16px; margin-bottom: 16px; }
.track-input-group { text-align: left; }
.track-label {
  display: block;
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  text-transform: uppercase;
  color: var(--muted);
  margin-bottom: 8px;
}
.track-form input[type="text"] {
  width: 100% !important;
  padding: 14px 18px !important;
  background: transparent !important;
  border: 1px solid rgba(255,162,0,0.2) !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-size: 0.88rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  transition: border-color 0.3s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
}
.track-form input[type="text"]:focus {
  border-color: var(--gold) !important;
}
.track-form input[type="text"]::placeholder {
  color: var(--muted) !important;
  font-weight: 300 !important;
}
.track-submit-btn {
  width: 100% !important;
  padding: 15px !important;
  text-align: center !important;
  background: var(--gold) !important;
  color: var(--navy) !important;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-family: var(--sans) !important;
  font-size: 0.73rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
}
.track-submit-btn:hover {
  background: var(--gold-light) !important;
}
.track-account-btn {
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  padding: 14px 32px !important;
  box-sizing: border-box !important;
  border: 1px solid rgba(255,162,0,0.45) !important;
  color: #f5f3ef !important;
  font-family: var(--sans) !important;
  font-size: 0.7rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
}
.track-hint {
  font-size: 0.75rem;
  color: var(--muted);
  line-height: 1.6;
}
.track-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 28px 0;
}
.track-divider::before,
.track-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: rgba(255,162,0,0.1);
}
.track-divider span {
  font-size: 0.7rem;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: var(--muted);
}
/* duplicate removed — see main .track-account-btn above */

/* Track Order Steps */
.track-steps { display: flex; flex-direction: column; gap: 0; }
.track-step {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255,162,0,0.07);
}
.track-step:first-child { border-top: 1px solid rgba(255,162,0,0.07); }
.track-step-num {
  font-family: var(--serif);
  font-size: 1.6rem;
  color: var(--gold);
  opacity: 0.5;
  min-width: 40px;
  line-height: 1;
  padding-top: 2px;
}
.track-step-text h4 {
  font-family: var(--sans) !important;
  font-size: 0.88rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.06em !important;
  color: var(--white) !important;
  margin-bottom: 6px !important;
}
.track-step-text p {
  font-size: 0.8rem;
  color: var(--muted);
  line-height: 1.7;
}

@media (max-width: 480px) {
  .track-form-card { padding: 32px 24px; }
}

/* ============================
   SEARCH: Remove white focus outline
============================ */
.oshare-theme input:focus,
.oshare-theme textarea:focus,
.oshare-theme select:focus,
.oshare-theme button:focus,
.oshare-theme [type="search"]:focus,
.oshare-theme .search__input:focus,
.oshare-theme .field__input:focus {
  outline: none !important;
  box-shadow: none !important;
}
.oshare-theme .search-modal__form,
.oshare-theme .search__input,
.oshare-theme .field__input {
  outline: none !important;
  box-shadow: none !important;
  border-color: rgba(255,162,0,0.3) !important;
}
.oshare-theme .search__input:focus,
.oshare-theme .field__input:focus {
  border-color: var(--gold) !important;
}

/* ============================
   HIDE hCaptcha badge
============================ */
#shop-hcaptcha-badge-container,
.hcaptcha-box,
[data-hcaptcha-widget-id],
iframe[src*="hcaptcha"],
iframe[src*="newassets.hcaptcha"],
iframe[title*="hCaptcha"],
.h-captcha,
div[style*="hcaptcha"],
iframe[data-hcaptcha-widget-id],
div.grecaptcha-badge,
.shopify-challenge__container {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: fixed !important;
  bottom: -9999px !important;
  right: -9999px !important;
}

/* ============================
   FOOTER: Match original store with 4-column grid
============================ */
.oshare-footer-section footer { background: #060b16 !important; padding: 72px 0 0 !important; border-top: 1px solid rgba(255,162,0,0.1) !important; }
.oshare-footer-section .footer-grid { display: grid !important; grid-template-columns: 1.8fr 1fr 1fr 1fr !important; gap: 44px !important; margin-bottom: 52px !important; }
.oshare-footer-section .footer-brand p { font-size: 0.82rem !important; color: var(--muted) !important; line-height: 1.8 !important; max-width: 260px !important; margin-bottom: 24px !important; }
.oshare-footer-section .footer-col h5 { font-size: 0.62rem !important; letter-spacing: 0.3em !important; text-transform: uppercase !important; color: var(--gold) !important; margin-bottom: 18px !important; }
.oshare-footer-section .footer-col ul { display: flex !important; flex-direction: column !important; gap: 9px !important; list-style: none !important; padding: 0 !important; margin: 0 !important; }
.oshare-footer-section .footer-col ul li a { font-size: 0.8rem !important; color: var(--muted) !important; transition: color 0.2s !important; text-decoration: none !important; }
.oshare-footer-section .footer-col ul li a:hover { color: var(--white) !important; }
.oshare-footer-section .footer-bottom { padding: 22px 0 !important; border-top: 1px solid rgba(255,162,0,0.07) !important; display: flex !important; align-items: center !important; justify-content: space-between !important; flex-wrap: wrap !important; gap: 10px !important; }
.oshare-footer-section .footer-bottom p { font-size: 0.7rem !important; color: var(--muted) !important; letter-spacing: 0.05em !important; }
.oshare-footer-section .footer-bottom-links { display: flex !important; gap: 18px !important; }
.oshare-footer-section .footer-bottom-links a { font-size: 0.68rem !important; color: var(--muted) !important; transition: color 0.2s !important; text-decoration: none !important; }
.oshare-footer-section .footer-bottom-links a:hover { color: var(--gold) !important; }
.oshare-footer-section .social-links { display: flex !important; gap: 10px !important; }
.oshare-footer-section .social-link { width: 36px !important; height: 36px !important; border: 1px solid rgba(255,162,0,0.2) !important; display: flex !important; align-items: center !important; justify-content: center !important; color: var(--muted-less) !important; transition: var(--transition-fast) !important; background: transparent !important; }
.oshare-footer-section .social-link:hover { border-color: var(--gold) !important; color: var(--gold) !important; }
.oshare-footer-section .social-link svg { width: 15px !important; height: 15px !important; }
@media (max-width: 768px) {
  .oshare-footer-section .footer-grid { grid-template-columns: 1fr 1fr !important; gap: 28px !important; margin-bottom: 36px !important; }
  .oshare-footer-section .footer-brand { grid-column: 1 / -1 !important; }
}
@media (max-width: 480px) {
  .oshare-footer-section .footer-grid { grid-template-columns: 1fr !important; }
}

/* ============================
   CUSTOMER PAGES — Osharē Dark Theme
   Login, Register, Account, Order
============================ */

/* Global customer page wrapper */
.oshare-theme .customer {
  background: var(--navy) !important;
  color: var(--white) !important;
  min-height: 60vh;
  padding: 60px 20px 80px !important;
  max-width: 480px !important;
  margin: 0 auto !important;
}
.oshare-theme .customer.account,
.oshare-theme .customer.order {
  max-width: 900px !important;
}

/* Page titles */
.oshare-theme .customer h1,
.oshare-theme .customer .customer__title {
  font-family: var(--serif) !important;
  font-size: clamp(2rem, 4vw, 3rem) !important;
  font-weight: 300 !important;
  color: var(--white) !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  letter-spacing: -0.01em !important;
}
.oshare-theme .customer h2 {
  font-family: var(--sans) !important;
  font-size: 0.65rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--gold) !important;
  margin-bottom: 20px !important;
  margin-top: 32px !important;
}

/* Subtext / descriptions */
.oshare-theme .customer p {
  font-family: var(--sans) !important;
  font-size: 0.86rem !important;
  color: var(--muted) !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

/* Links */
.oshare-theme .customer a {
  color: var(--gold) !important;
  font-family: var(--sans) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.04em !important;
  transition: color 0.2s !important;
  text-decoration: none !important;
}
.oshare-theme .customer a:hover {
  color: var(--gold-light) !important;
}

/* Form fields */
.oshare-theme .customer .field {
  margin-bottom: 16px !important;
  position: relative !important;
}
.oshare-theme .customer .field input,
.oshare-theme .customer input[type="email"],
.oshare-theme .customer input[type="password"],
.oshare-theme .customer input[type="text"],
.oshare-theme .customer input[type="tel"] {
  width: 100% !important;
  padding: 16px 18px !important;
  background: transparent !important;
  border: 1px solid rgba(255,162,0,0.2) !important;
  color: var(--white) !important;
  font-family: var(--sans) !important;
  font-size: 0.88rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.04em !important;
  transition: border-color 0.3s ease !important;
  outline: none !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
  -webkit-appearance: none !important;
}
.oshare-theme .customer .field input:focus,
.oshare-theme .customer input:focus {
  border-color: var(--gold) !important;
  box-shadow: none !important;
  outline: none !important;
}
.oshare-theme .customer .field input::placeholder,
.oshare-theme .customer input::placeholder {
  color: var(--muted) !important;
  font-weight: 300 !important;
}

/* Labels */
.oshare-theme .customer .field label,
.oshare-theme .customer label {
  font-family: var(--sans) !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  position: absolute !important;
  top: -8px !important;
  left: 14px !important;
  background: var(--navy) !important;
  padding: 0 6px !important;
  pointer-events: none !important;
}

/* Buttons */
.oshare-theme .customer button,
.oshare-theme .customer .button {
  width: 100% !important;
  padding: 16px !important;
  background: var(--gold) !important;
  color: var(--navy) !important;
  font-family: var(--sans) !important;
  font-size: 0.73rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border: none !important;
  cursor: pointer !important;
  transition: background 0.3s ease !important;
  margin-top: 8px !important;
  display: block !important;
  text-align: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}
.oshare-theme .customer button:hover,
.oshare-theme .customer .button:hover {
  background: var(--gold-light) !important;
}

/* Recover password section — hidden by default, shown via #recover */
.oshare-theme .customer #recover {
  margin-bottom: 12px !important;
}

/* Error / success messages */
.oshare-theme .customer .form__message {
  font-family: var(--sans) !important;
  font-size: 0.82rem !important;
  color: var(--gold) !important;
  text-align: center !important;
  margin-bottom: 16px !important;
}
.oshare-theme .customer .form__message .svg-wrapper {
  display: inline-block !important;
  vertical-align: middle !important;
  margin-right: 6px !important;
}
.oshare-theme .customer .form__message svg {
  width: 16px !important;
  height: 16px !important;
  fill: var(--gold) !important;
}
.oshare-theme .customer ul {
  list-style: none !important;
  padding: 0 !important;
}
.oshare-theme .customer .errors li,
.oshare-theme .customer form > ul li {
  color: #e85c5c !important;
  font-size: 0.8rem !important;
  text-align: center !important;
  margin-bottom: 6px !important;
}

/* Dividers */
.oshare-theme .customer hr {
  border: none !important;
  border-top: 1px solid rgba(255,162,0,0.1) !important;
  margin: 32px 0 !important;
}

/* ============================
   CUSTOMER ACCOUNT PAGE — Order History Table
============================ */
.oshare-theme .customer.account > div {
  display: flex !important;
  flex-direction: column !important;
}
.oshare-theme .customer.account > div > div:first-child {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-bottom: 32px !important;
}
.oshare-theme .customer.account > div > div:first-child h1 {
  text-align: left !important;
  margin-bottom: 0 !important;
}

/* Order history table */
.oshare-theme .customer table,
.oshare-theme .customer .order-history,
.oshare-theme .customer .order-details {
  width: 100% !important;
  border-collapse: collapse !important;
  font-family: var(--sans) !important;
}
.oshare-theme .customer table thead {
  border-bottom: 1px solid rgba(255,162,0,0.15) !important;
}
.oshare-theme .customer table th {
  font-family: var(--sans) !important;
  font-size: 0.6rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: var(--muted) !important;
  padding: 12px 16px 12px 0 !important;
  text-align: left !important;
  background: transparent !important;
}
.oshare-theme .customer table td {
  font-family: var(--sans) !important;
  font-size: 0.84rem !important;
  color: var(--muted-less) !important;
  padding: 16px 16px 16px 0 !important;
  border-bottom: 1px solid rgba(255,162,0,0.06) !important;
  background: transparent !important;
}
.oshare-theme .customer table td a {
  font-size: 0.84rem !important;
}
.oshare-theme .customer table tfoot td {
  font-weight: 400 !important;
  color: var(--white) !important;
}

/* Account details section */
.oshare-theme .customer.account address {
  font-family: var(--sans) !important;
  font-size: 0.84rem !important;
  color: var(--muted-less) !important;
  line-height: 1.8 !important;
  font-style: normal !important;
}

/* Order page — billing/shipping address grid */
.oshare-theme .customer.order > div > div:last-child {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 32px !important;
  margin-top: 40px !important;
  padding-top: 32px !important;
  border-top: 1px solid rgba(255,162,0,0.1) !important;
}
.oshare-theme .customer.order address {
  font-family: var(--sans) !important;
  font-size: 0.84rem !important;
  color: var(--muted-less) !important;
  line-height: 1.8 !important;
  font-style: normal !important;
}
.oshare-theme .customer.order strong {
  color: var(--white) !important;
  font-weight: 400 !important;
}

/* Fulfillment tracking info */
.oshare-theme .customer .fulfillment {
  margin-top: 8px !important;
  font-size: 0.78rem !important;
  color: var(--muted) !important;
}
.oshare-theme .customer .fulfillment a {
  color: var(--gold) !important;
}

/* Pagination */
.oshare-theme .customer .pagination {
  margin-top: 32px !important;
  text-align: center !important;
}
.oshare-theme .customer .pagination ul {
  display: flex !important;
  justify-content: center !important;
  gap: 8px !important;
}
.oshare-theme .customer .pagination a,
.oshare-theme .customer .pagination span {
  padding: 8px 14px !important;
  font-size: 0.8rem !important;
  color: var(--muted) !important;
  border: 1px solid rgba(255,162,0,0.15) !important;
  transition: all 0.2s !important;
}
.oshare-theme .customer .pagination a:hover {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
}
.oshare-theme .customer .pagination span[aria-current="page"] {
  background: var(--gold) !important;
  color: var(--navy) !important;
  border-color: var(--gold) !important;
}

/* Sign in with Shop button — hide or style */
.oshare-theme .customer section[name="sign-in-with-shop-provider"] {
  margin-bottom: 20px !important;
}
.oshare-theme .customer section[name="sign-in-with-shop-provider"] p {
  margin: 16px 0 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* Guest login section */
.oshare-theme .customer > div:last-child hr {
  margin: 40px 0 24px !important;
}

/* Properties (variant info on order page) */
.oshare-theme .customer .properties span {
  font-size: 0.78rem !important;
  color: var(--muted) !important;
  display: block !important;
}

/* Discount badges */
.oshare-theme .customer .cart-discount {
  color: var(--gold) !important;
}
.oshare-theme .customer .cart-discount svg {
  width: 14px !important;
  height: 14px !important;
  fill: var(--gold) !important;
}

/* Regular / sale price */
.oshare-theme .customer .regular-price s {
  color: var(--muted) !important;
}

@media (max-width: 768px) {
  .oshare-theme .customer.account,
  .oshare-theme .customer.order {
    max-width: 100% !important;
    padding: 40px 16px 60px !important;
  }
  .oshare-theme .customer.order > div > div:last-child {
    grid-template-columns: 1fr !important;
  }
  .oshare-theme .customer table {
    font-size: 0.78rem !important;
  }
}

/* ============================
   MOBILE: Prevent iOS zoom on input focus (requires font-size >= 16px)
============================ */
@media (max-width: 1024px) {
  input[type="text"],
  input[type="email"],
  input[type="password"],
  input[type="tel"],
  input[type="search"],
  input[type="number"],
  input[type="url"],
  textarea,
  select,
  .newsletter-form input,
  .cf-group input,
  .cf-group textarea,
  .cf-group select,
  .track-form input,
  .oshare-popup-form input,
  .search__input,
  .field__input {
    font-size: 16px !important;
  }
}

/* ============================
   CONTACT FORM: Custom Consent Checkbox
============================ */
.cf-consent {
  margin-bottom: 20px !important;
}
.cf-consent-label {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  cursor: pointer !important;
  font-size: 0.8rem !important;
  color: var(--muted) !important;
  line-height: 1.6 !important;
}
.cf-consent-checkbox {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}
.cf-consent-check {
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  border: 1px solid rgba(255,162,0,0.3) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.2s ease !important;
  margin-top: 1px !important;
  background: transparent !important;
}
.cf-consent-check svg {
  opacity: 0;
  transform: scale(0.5);
  transition: all 0.2s ease;
  color: var(--navy);
}
.cf-consent-checkbox:checked ~ .cf-consent-check {
  background: var(--gold) !important;
  border-color: var(--gold) !important;
}
.cf-consent-checkbox:checked ~ .cf-consent-check svg {
  opacity: 1;
  transform: scale(1);
}
.cf-consent-text {
  flex: 1 !important;
}
.cf-consent-text a {
  color: var(--gold) !important;
  border-bottom: 1px solid rgba(255,162,0,0.3) !important;
  text-decoration: none !important;
  transition: border-color 0.2s !important;
}
.cf-consent-text a:hover {
  border-color: var(--gold) !important;
}

/* ============================
   HIDE Shopify's built-in cookie consent banner
============================ */
.shopify-pc__banner,
.shopify-pc__prefs,
#shopify-pc__banner,
#shopify-privacy-banner,
.shopify-cleanslate,
div[id*="shopify-pc"],
div[class*="shopify-pc"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  position: fixed !important;
  bottom: -9999px !important;
}

/* ============================
   VALIDATION: Inline message for mobile
============================ */
.oshare-validation-inline {
  position: static !important;
  display: block !important;
  margin-top: 8px !important;
  padding: 10px 14px !important;
  background: var(--navy-card) !important;
  border: 1px solid rgba(255,162,0,0.3) !important;
  color: var(--gold) !important;
  font-family: var(--sans) !important;
  font-size: 0.78rem !important;
  font-weight: 400 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.5 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  animation: oshare-tooltip-in 0.3s ease both !important;
}
