/* ==========================================================================
   MY PANDIT G - GLOBAL BASE STYLESHEET (style.css)
   Clean Root Variables, Base Reset, Typography & Preloader
   ========================================================================== */

:root {
  /* Brand Palette */
  --primary-maroon: #580B14;
  --secondary-maroon: #6B0F1A;
  --maroon-dark: #35050A;
  --maroon-light: #7A121E;
  
  --gold-primary: #D4AF37;
  --gold-bright: #E5B83B;
  --gold-light: #FFF4D9;
  --gold-dark: #B88E1A;
  --gold-glow: rgba(212, 175, 55, 0.35);
  
  --cream-bg: #FFF8EE;
  --cream-surface: #FFFDF9;
  --cream-card: rgba(255, 253, 249, 0.94);
  
  --dark-brown: #22140E;
  --text-muted: #6C5B52;
  --text-dark: #1A0D07;
  
  --border-gold-subtle: rgba(212, 175, 55, 0.35);
  --border-gold-strong: rgba(212, 175, 55, 0.7);
  
  /* Radii */
  --radius-sm: 10px;
  --radius-md: 16px;
  --radius-24: 24px;
  --radius-pill: 50px;
  
  /* Shadows */
  --shadow-sm: 0 4px 12px rgba(0, 0, 0, 0.04);
  --shadow-luxury: 0 16px 40px rgba(88, 11, 20, 0.08);
  --shadow-hover: 0 24px 50px rgba(88, 11, 20, 0.16);
  --shadow-gold: 0 10px 30px rgba(212, 175, 55, 0.3);
  
  /* Fonts */
  --font-cinzel: 'Cinzel', serif;
  --font-poppins: 'Poppins', sans-serif;
  --font-hindi: 'Noto Sans Devanagari', sans-serif;
  
  /* Motion & Transitions */
  --transition-fast: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
  --transition-smooth: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  --transition-bounce: all 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* --------------------------------------------------------------------------
   BASE RESET (NO GLOBAL OVERRIDES ON BOOTSTRAP CONTAINER, ROW, COL, CARD, BTN, IMG)
   -------------------------------------------------------------------------- */
html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-poppins);
  background-color: var(--cream-bg);
  color: var(--dark-brown);
  line-height: 1.65;
  overflow-x: hidden;
}

.font-hindi {
  font-family: var(--font-hindi);
}

.font-cinzel {
  font-family: var(--font-cinzel);
}

.text-maroon {
  color: var(--primary-maroon) !important;
}

.text-gold {
  color: var(--gold-bright) !important;
}

.bg-cream {
  background-color: var(--cream-bg) !important;
}

/* Focus outline accessibility */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 3px solid var(--gold-bright) !important;
  outline-offset: 2px !important;
}

/* --------------------------------------------------------------------------
   PAGE PRELOADER
   -------------------------------------------------------------------------- */
#pageLoader {
  position: fixed;
  inset: 0;
  background: var(--cream-bg);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: opacity 0.5s ease, visibility 0.5s ease;
}

#pageLoader.fade-out {
  opacity: 0;
  visibility: hidden;
}

.loader-logo-container {
  position: relative;
  margin-bottom: 20px;
}

.loader-logo-img {
  width: 90px;
  height: 90px;
  border-radius: 50%;
  border: 3px solid var(--gold-primary);
  box-shadow: var(--shadow-gold);
  object-fit: cover;
  animation: pulseLogo 1.8s ease-in-out infinite alternate;
}

.loader-spinner {
  width: 120px;
  height: 120px;
  position: absolute;
  top: -15px;
  left: -15px;
  border: 3px solid transparent;
  border-top-color: var(--gold-primary);
  border-bottom-color: var(--primary-maroon);
  border-radius: 50%;
  animation: spinLoader 1.2s linear infinite;
}

@keyframes pulseLogo {
  0% { transform: scale(0.95); box-shadow: 0 0 15px rgba(212, 175, 55, 0.3); }
  100% { transform: scale(1.05); box-shadow: 0 0 30px rgba(212, 175, 55, 0.7); }
}

@keyframes spinLoader {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
