/* ==========================================================================
   Catholica India - Official Catholic Church in India Web Portal Styles
   ========================================================================== */

:root {
    --gold-primary: #C5A059;
    --gold-dark: #9A7B38;
    --gold-light: #F4E8C1;
    --burgundy-dark: #660B1B;
    --burgundy-deep: #4A0510;
    --burgundy-bright: #8B1E2D;
    --cream-bg: #FDFBF7;
    --card-bg: #FFFFFF;
    --navy-dark: #0F172A;
    --navy-deep: #080D1A;
    --text-main: #1E293B;
    --text-muted: #64748B;
    --liturgical-green: #15803D;
    --liturgical-purple: #7E22CE;
    --liturgical-red: #B91C1C;
    --liturgical-white: #E2E8F0;
    --border-color: rgba(197, 160, 89, 0.25);
}

* {
    box-sizing: border-box;
}

body {
    font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
    background-color: var(--cream-bg);
    color: var(--text-main);
    overflow-x: hidden;
    scroll-behavior: smooth;
}

h1, h2, h3, h4, .font-serif-sacred {
    font-family: 'Cinzel', 'Playfair Display', Georgia, serif;
}

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

/* Sacred Vatican / Clerical Gradient Banners */
.bg-vatican-gradient {
    background-color: #4A0510 !important;
    background-image: linear-gradient(135deg, #4A0510 0%, #660B1B 45%, #2B070E 100%) !important;
}

.bg-gold-gradient {
    background: linear-gradient(135deg, #FBF6EB 0%, #F5E8C9 50%, #EDE0BC 100%);
}

.bg-papal-gold {
    background: linear-gradient(135deg, #E6CA65 0%, #C5A059 60%, #9E7D36 100%);
}

.border-sacred-gold {
    border-color: rgba(197, 160, 89, 0.4);
}

.text-gold {
    color: #D4AF37;
}

.text-vatican-gold {
    color: #C5A059;
}

/* Glassmorphism & Elevation */
.glass-panel {
    background: rgba(255, 255, 255, 0.88);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(197, 160, 89, 0.25);
}

.glass-panel-dark {
    background: rgba(15, 23, 42, 0.85);
    backdrop-filter: blur(14px);
    border: 1px solid rgba(197, 160, 89, 0.35);
}

.shadow-sacred {
    box-shadow: 0 10px 30px -5px rgba(74, 5, 16, 0.08), 0 4px 6px -2px rgba(197, 160, 89, 0.05);
}

.shadow-sacred-hover {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.shadow-sacred-hover:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 35px -5px rgba(74, 5, 16, 0.14), 0 8px 12px -2px rgba(197, 160, 89, 0.12);
}

/* Cross pattern backdrop */
.sacred-cross-pattern {
    background-color: #4A0510 !important;
    background-image: radial-gradient(rgba(197, 160, 89, 0.2) 1.2px, transparent 1.2px),
                      radial-gradient(rgba(197, 160, 89, 0.12) 1.2px, transparent 1.2px),
                      linear-gradient(135deg, #4A0510 0%, #660B1B 45%, #2B070E 100%) !important;
    background-size: 32px 32px, 32px 32px, 100% 100% !important;
    background-position: 0 0, 16px 16px, 0 0 !important;
}

/* Badge Pulse */
@keyframes pulse-urgent {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.85; transform: scale(1.05); }
}
.badge-urgent {
    animation: pulse-urgent 2s infinite ease-in-out;
}

/* Modal Transitions */
.modal-backdrop {
    background: rgba(8, 13, 26, 0.75);
    backdrop-filter: blur(6px);
}

/* Tab active state */
.nav-tab.active {
    background: #660B1B;
    color: #FFFFFF;
    border-color: #C5A059;
}

/* Liturgy seasonal indicators */
.liturgy-green { border-left: 5px solid #15803D; }
.liturgy-red { border-left: 5px solid #B91C1C; }
.liturgy-purple { border-left: 5px solid #7E22CE; }
.liturgy-white { border-left: 5px solid #D4AF37; }

/* Custom Button Styles */
.btn-sacred-gold {
    background: linear-gradient(135deg, #D4AF37 0%, #C5A059 50%, #B38E46 100%);
    color: #2A0808;
    font-weight: 600;
    transition: all 0.2s ease;
}
.btn-sacred-gold:hover {
    background: linear-gradient(135deg, #E6BF48 0%, #D4AF37 50%, #C5A059 100%);
    box-shadow: 0 4px 14px rgba(197, 160, 89, 0.4);
    transform: translateY(-1px);
}

.btn-burgundy {
    background: linear-gradient(135deg, #7A1224 0%, #660B1B 100%);
    color: #FFFFFF;
    transition: all 0.2s ease;
}
.btn-burgundy:hover {
    background: linear-gradient(135deg, #8F172C 0%, #720C1F 100%);
    box-shadow: 0 4px 14px rgba(102, 11, 27, 0.35);
    transform: translateY(-1px);
}

/* Toast Notifications */
#toast-container {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    pointer-events: none;
}
.toast-msg {
    pointer-events: auto;
    animation: toast-slide 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes toast-slide {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Print Styles */
@media print {
    header, footer, #toast-container, .no-print {
        display: none !important;
    }
    body {
        background: #FFF;
        color: #000;
    }
}

/* Seamless Google Translate Styling */
.goog-te-banner-frame,
.goog-te-banner-frame.skiptranslate,
iframe.goog-te-banner-frame {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
}

body {
    top: 0px !important;
    position: static !important;
}

.goog-te-gadget {
    display: none !important;
}

#goog-gt-tt,
.goog-te-balloon-frame {
    display: none !important;
}

.goog-text-highlight {
    background: none !important;
    box-shadow: none !important;
}
