/* Kesharji Luxury Saffron Storefront Bespoke Styles */
@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@400;600;700;800;900&family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap');

:root {
  --color-maroon-950: #14050E;
  --color-maroon-900: #260A1B;
  --color-maroon-800: #3D102C;
  --color-maroon-700: #57163E;
  --color-saffron-500: #D62828;
  --color-gold-300: #FFF1BD;
  --color-gold-400: #F7D377;
  --color-gold-500: #E5AF40;
  --color-gold-600: #C28B23;
  --color-gold-700: #9E6C12;
  --color-ivory: #FDFBF7;
  --color-sand: #F7EFE4;
  --color-border-gold: rgba(229, 175, 64, 0.3);
}

body {
  font-family: 'Plus Jakarta Sans', sans-serif;
  background-color: var(--color-ivory);
  color: #2D2521;
  overflow-x: hidden;
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, .font-serif-royal {
  font-family: 'Cinzel', Georgia, serif;
}

.font-editorial {
  font-family: 'Cormorant Garamond', Georgia, serif;
}

/* Gold Foiling & Gradients */
.gold-gradient-text {
  background: linear-gradient(135deg, #FFF0B8 0%, #F5CD63 25%, #E5A93C 50%, #FAF0CD 75%, #C27D05 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gold-gradient-bg {
  background: linear-gradient(135deg, #E5A93C 0%, #D48806 50%, #9E6103 100%);
}

.gold-shimmer-btn {
  background: linear-gradient(135deg, #E5A93C 0%, #C77D05 50%, #E5A93C 100%);
  background-size: 200% auto;
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  box-shadow: 0 4px 20px rgba(212, 136, 6, 0.35);
}

.gold-shimmer-btn:hover {
  background-position: right center;
  box-shadow: 0 6px 28px rgba(212, 136, 6, 0.55);
  transform: translateY(-2px);
}

.gold-border {
  border: 1px solid var(--color-border-gold);
}

.gold-border-glow:hover {
  border-color: rgba(229, 169, 60, 0.85);
  box-shadow: 0 10px 30px rgba(229, 169, 60, 0.18);
}

/* Hero Background Pattern */
.kashmir-pattern-bg {
  background-color: var(--color-maroon-900);
  background-image: radial-gradient(circle at 50% 30%, #3D0B12 0%, #170407 100%),
                    radial-gradient(rgba(229, 169, 60, 0.08) 1px, transparent 1px);
  background-size: 100% 100%, 28px 28px;
}

.luxury-card-bg {
  background: #FFFFFF;
  border: 1px solid rgba(212, 136, 6, 0.18);
  box-shadow: 0 4px 24px rgba(38, 7, 11, 0.04);
  transition: all 0.3s ease;
}

.luxury-card-bg:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 36px rgba(38, 7, 11, 0.1);
  border-color: rgba(212, 136, 6, 0.45);
}

/* Glassmorphism */
.glass-maroon {
  background: rgba(38, 7, 11, 0.88);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(229, 169, 60, 0.2);
}

/* Saffron Filament Accent */
.saffron-tag {
  background: linear-gradient(135deg, #7C131E 0%, #4A0E17 100%);
  color: #FDFBF7;
  border: 1px solid rgba(229, 169, 60, 0.4);
}

/* Drawer transitions */
.drawer-backdrop {
  transition: opacity 0.35s ease, visibility 0.35s ease;
}

.drawer-panel {
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #F2E8DA;
}
::-webkit-scrollbar-thumb {
  background: #D48806;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #9E6103;
}

/* Toast Container */
#toast-container {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 12px;
  pointer-events: none;
}

.toast {
  pointer-events: auto;
  background: #26070B;
  color: #FFF;
  border: 1px solid #E5A93C;
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.4);
  padding: 14px 20px;
  border-radius: 10px;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  animation: slideInUp 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  max-width: 380px;
}

@keyframes slideInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Weight Badge Active State */
.variant-btn.active {
  background-color: #26070B;
  color: #F5CD63;
  border-color: #E5A93C;
  box-shadow: 0 2px 10px rgba(229, 169, 60, 0.28);
}

/* Pulse Animation */
@keyframes softPulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.04); }
  100% { transform: scale(1); }
}

.soft-pulse {
  animation: softPulse 3s infinite ease-in-out;
}

/* Hero pack-size chips (index.html #hero-size-chips) */
.hero-chip { font-size: 12px; padding: 6px 12px; border-radius: 10px; border: 1px solid rgba(229, 175, 64, 0.4); color: #d6d3d1; transition: border-color .15s, color .15s, background-color .15s; }
.hero-chip:hover { border-color: #E5AF40; color: #fff; }
.hero-chip-active { border: 2px solid #F7D377; color: #FFF1BD; background: rgba(69, 26, 3, 0.8); font-weight: 700; }
.hero-chip:focus-visible, .hero-thumb:focus-visible { outline: 2px solid #F7D377; outline-offset: 2px; }
#hero-add-btn:disabled { opacity: .5; cursor: not-allowed; }

/* Store mode: waitlist (demand test) vs live selling. body class is set by app.js from the server. */
body.mode-waitlist [data-live-only] { display: none !important; }
body.mode-live [data-waitlist-only] { display: none !important; }
