/* ======================================================================
   Srikrishna Padmashali Parinaya Vedika - Production Master Stylesheet
   ====================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700;800;900&family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;1,600&family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&family=Cormorant+Garamond:wght@600;700&family=Merriweather:wght@400;700&family=Montserrat:wght@500;600;700;800&family=Inter:wght@400;500;600;700&family=Lora:ital,wght@0,500;0,600;1,400&family=Poppins:wght@400;500;600;700&display=swap');

:root {
  --primary-color: #800020;       /* Burgundy / Deep Maroon */
  --primary-hover: #660018;
  --secondary-color: #D4AF37;     /* Sacred Gold */
  --secondary-hover: #C5A028;
  --accent-kesari: #E65100;
  --bg-sand: #FFFDF8;
  --card-bg: #FFFFFF;
  --text-heading: #800020;
  --text-dark: #1C1917;
  --text-muted: #57534E;
  --border-gold: #E6DCBF;
  --btn-primary-bg: #800020;
  --btn-primary-text: #FFFFFF;
  --btn-radius: 12px;
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-size-base: 15px;
  --line-height: 1.6;
  --letter-spacing: normal;
}

/* Accessibility & Color Profile Modes */
html.high-contrast-dark {
  --primary-color: #F59E0B;
  --primary-hover: #D97706;
  --secondary-color: #FBBF24;
  --bg-sand: #0A0A0A;
  --card-bg: #171717;
  --text-heading: #F59E0B;
  --text-dark: #FFFFFF;
  --text-muted: #E5E5E5;
  --border-gold: #404040;
  --btn-primary-bg: #F59E0B;
  --btn-primary-text: #000000;
}

html.high-contrast-light {
  --primary-color: #000000;
  --primary-hover: #262626;
  --secondary-color: #000000;
  --bg-sand: #FFFFFF;
  --card-bg: #FFFFFF;
  --text-heading: #000000;
  --text-dark: #000000;
  --text-muted: #171717;
  --border-gold: #000000;
  --btn-primary-bg: #000000;
  --btn-primary-text: #FFFFFF;
}

html.high-contrast-yellow {
  --primary-color: #FFFF00;
  --primary-hover: #E6E600;
  --secondary-color: #FFFF00;
  --bg-sand: #000000;
  --card-bg: #000000;
  --text-heading: #FFFF00;
  --text-dark: #FFFF00;
  --text-muted: #FFFF33;
  --border-gold: #FFFF00;
  --btn-primary-bg: #FFFF00;
  --btn-primary-text: #000000;
}

html.sepia-mode {
  --primary-color: #5C3D2E;
  --primary-hover: #4A3024;
  --secondary-color: #8C6239;
  --bg-sand: #F4ECD8;
  --card-bg: #EDE3CA;
  --text-heading: #5C3D2E;
  --text-dark: #2D241E;
  --text-muted: #6B5B4D;
  --border-gold: #D8C7A5;
  --btn-primary-bg: #5C3D2E;
  --btn-primary-text: #FFFFFF;
}

/* Base Body Styles */
body {
  font-family: var(--font-body);
  font-size: var(--font-size-base);
  background-color: var(--bg-sand);
  color: var(--text-dark);
  line-height: var(--line-height);
  letter-spacing: var(--letter-spacing);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
}

/* Dynamic Font Classes */
.font-serif-heading, h1, h2, h3, .heading-font {
  font-family: var(--font-heading) !important;
}

.font-cinzel {
  font-family: 'Cinzel', serif;
}

.font-sans-body {
  font-family: var(--font-body);
}

/* Dynamic Color Utilities & Universal Tailwind Class Overrides for Active Theme */
.dynamic-primary-bg,
[class*="bg-[#800020]"],
[class*="bg-[#660018]"],
.bg-rose-900,
.theme-primary-bg {
  background-color: var(--primary-color) !important;
}

.dynamic-primary-hover,
[class*="hover:bg-[#660018]"]:hover,
[class*="hover:bg-[#800020]"]:hover,
.hover:bg-rose-950:hover,
.theme-primary-hover:hover {
  background-color: var(--primary-hover) !important;
}

.dynamic-primary-text,
[class*="text-[#800020]"],
[class*="text-[#660018]"],
.text-rose-900,
.theme-primary-text {
  color: var(--primary-color) !important;
}

.dynamic-primary-border,
[class*="border-[#800020]"],
[class*="border-[#660018]"],
.border-rose-900,
.theme-primary-border {
  border-color: var(--primary-color) !important;
}

[class*="focus:border-[#800020]"]:focus {
  border-color: var(--primary-color) !important;
}

.dynamic-secondary-text,
[class*="text-[#D4AF37]"],
.theme-secondary-text {
  color: var(--secondary-color) !important;
}

.dynamic-border-gold,
[class*="border-[#E6DCBF]"],
.theme-border-gold {
  border-color: var(--border-gold) !important;
}

.dynamic-primary-light,
[class*="bg-[#FAF4E6]"],
.theme-primary-light {
  background-color: var(--primary-light) !important;
}

[class*="from-[#800020]"] {
  --tw-gradient-from: var(--primary-color) var(--tw-gradient-from-position, 0%) !important;
  --tw-gradient-to: rgb(0 0 0 / 0) var(--tw-gradient-to-position, 100%) !important;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to) !important;
}

[class*="to-[#4A0012]"],
[class*="to-[#660018]"] {
  --tw-gradient-to: var(--primary-hover) var(--tw-gradient-to-position, 100%) !important;
}

[class*="ring-[#800020]"] {
  --tw-ring-color: var(--primary-color) !important;
}

.dynamic-btn {
  background-color: var(--btn-primary-bg) !important;
  color: var(--btn-primary-text) !important;
  border-radius: var(--btn-radius) !important;
}

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

/* Smooth Scrolling & Anchor Offset */
html {
  scroll-behavior: smooth;
  scroll-padding-top: 80px;
}

/* Gold Gradient Borders and Accents */
.gold-border {
  border-color: var(--secondary-color);
}

.gold-gradient-text {
  background: linear-gradient(135deg, var(--primary-color) 0%, var(--secondary-color) 50%, var(--primary-color) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.gold-badge {
  background: linear-gradient(135deg, var(--primary-color) 0%, #4A0012 100%);
  border: 1px solid var(--secondary-color);
  color: var(--secondary-color);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track {
  background: #F5EFE6;
}
::-webkit-scrollbar-thumb {
  background: #C4A482;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--primary-color);
}

/* Print Stylesheet for Biodata & Export */
@media print {
  body {
    background: #FFFFFF !important;
    color: #000000 !important;
  }
  .no-print, header, footer, .accessibility-toolbar, nav, #sec-announcement {
    display: none !important;
  }
  .print-page {
    page-break-after: always;
    box-shadow: none !important;
    border: 1px solid #000000 !important;
  }
}
