/* Explain: CSS variables defining color palettes and typography. */
:root {
    --primary-color: #4A6B53;
    --primary-hover: #A5BA95;
    --secondary-color: #E9EDDF;
    --accent-color: #588157;
    --logo-subtitle-color: #543323;
    --button-color: #C0CFB2;
    --background-color: #FAF9F6;
    --surface-color: #F1F4EB;
    --footer-bg: #EAEEDF;
    --text-color: #1F2E23;
    --text-muted: #4B6353;
    --border-color: rgba(31, 46, 35, 0.12);
    --glass-bg: rgba(250, 249, 246, 0.72);
    --glass-border: rgba(88, 129, 87, 0.32);
    --nav-bg: rgba(250, 249, 246, 0.78);
    --field-bg: rgba(255, 255, 255, 0.6);
    --sage-soft: rgba(88, 129, 87, 0.15);
    --sage-dark: #3A5A40;
    --terracotta-soft: rgba(163, 177, 138, 0.22);
    --shadow-soft: 0 22px 70px rgba(31, 46, 35, 0.08);
    --shadow-button: 0 16px 36px rgba(88, 129, 87, 0.25);
    --font-heading: 'Lora', serif;
    --font-body: 'Montserrat', sans-serif;
    --font-logo: 'Playfair Display', serif;
}

[data-theme="dark"] {
    --primary-color: #A5BA95;
    --primary-hover: #4A6B53;
    --secondary-color: #2A362D;
    --accent-color: #8CA98B;
    --logo-subtitle-color: #D3C1B6;
    --button-color: #3A5A40;
    --background-color: #121914;
    --surface-color: #1A241D;
    --footer-bg: #151E17;
    --text-color: #FAF9F6;
    --text-muted: #A3B18A;
    --border-color: rgba(250, 249, 246, 0.12);
    --glass-bg: rgba(18, 25, 20, 0.72);
    --glass-border: rgba(163, 177, 138, 0.25);
    --nav-bg: rgba(18, 25, 20, 0.85);
    --field-bg: rgba(0, 0, 0, 0.25);
    --sage-soft: rgba(163, 177, 138, 0.12);
    --sage-dark: #A3B18A;
    --terracotta-soft: rgba(163, 177, 138, 0.1);
    --shadow-soft: 0 22px 70px rgba(0, 0, 0, 0.4);
    --shadow-button: 0 16px 36px rgba(0, 0, 0, 0.5);
    
    --header-gradient: linear-gradient(180deg, rgba(18, 25, 20, 0.95), rgba(18, 25, 20, 0.75));
    --glass-gradient: linear-gradient(145deg, rgba(26, 36, 29, 0.78), rgba(18, 25, 20, 0.48));
    --arch-inner: rgba(250, 249, 246, 0.15);
    --quiet-bg: rgba(26, 36, 29, 0.58);
    --status-success: #679273;
    --status-error: #C16757;
    --mobile-book-bg: rgba(18, 25, 20, 0.92);
    --overlay-bg: rgba(0, 0, 0, 0.7);
    
    --hero-bg: linear-gradient(115deg, rgba(18, 25, 20, 0.96) 0%, rgba(18, 25, 20, 0.78) 52%, rgba(163, 177, 138, 0.12) 100%);
    --orb-sage: rgba(163, 177, 138, 0.15);
    --orb-terra: rgba(163, 177, 138, 0.15);
    --contact-bg: radial-gradient(circle at 8% 16%, rgba(163, 177, 138, 0.15), transparent 24rem), linear-gradient(180deg, var(--background-color), var(--surface-color));
}
