@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&family=Great+Vibes&family=Cinzel:wght@300;400;500;600;700;800;900&family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;0,700;1,400;1,600&family=Noto+Sans+Telugu:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap');

:root {
    --maroon-900: #4A0E17;
    --maroon-800: #6B1422;
    --maroon-700: #8C1B2D;
    --maroon-600: #A82339;
    --gold-500: #D4AF37;
    --gold-400: #E5C358;
    --gold-300: #F3DF8A;
    --gold-600: #B38F22;
    --gold-gradient: linear-gradient(135deg, #BF953F 0%, #FCF6BA 25%, #B38F20 50%, #FBF5B7 75%, #AA771C 100%);
    --maroon-gradient: linear-gradient(135deg, #4A0E17 0%, #7A1C2B 50%, #4A0E17 100%);
    --bg-cream: #FFFDF9;
    --bg-sand: #FAF5EE;
    --bg-card: #FFFFFF;
}

body {
    font-family: 'Plus Jakarta Sans', sans-serif;
    background-color: var(--bg-cream);
    color: #2D2626;
    overflow-x: hidden;
    scroll-behavior: smooth;
}

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

.font-script {
    font-family: 'Great Vibes', cursive;
}

.font-script-alex {
    font-family: 'Alex Brush', cursive;
}

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

.font-telugu {
    font-family: 'Noto Sans Telugu', sans-serif;
}

/* Gold Text Gradient */
.text-gold-gradient {
    background: var(--gold-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Gold Border Shimmer */
.border-gold-gradient {
    border-image: linear-gradient(135deg, #D4AF37, #F3DF8A, #B38F22) 1;
}

/* Traditional Glass & Card Shadows */
.traditional-card {
    background: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(212, 175, 55, 0.3);
    box-shadow: 0 10px 30px -5px rgba(74, 14, 23, 0.08), 0 0 15px rgba(212, 175, 55, 0.15);
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.traditional-card:hover {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.7);
    box-shadow: 0 20px 40px -10px rgba(74, 14, 23, 0.15), 0 0 25px rgba(212, 175, 55, 0.25);
}

.maroon-card {
    background: var(--maroon-gradient);
    color: #FFFDF9;
    border: 1px solid rgba(243, 223, 138, 0.4);
    box-shadow: 0 15px 35px rgba(74, 14, 23, 0.25);
}

/* Floating Animation */
@keyframes floatSlow {
    0%, 100% { transform: translateY(0px) rotate(0deg); }
    50% { transform: translateY(-8px) rotate(1deg); }
}

.animate-float {
    animation: floatSlow 6s ease-in-out infinite;
}

@keyframes pulseGlow {
    0%, 100% { opacity: 0.6; transform: scale(1); }
    50% { opacity: 1; transform: scale(1.03); }
}

.animate-pulse-glow {
    animation: pulseGlow 3s ease-in-out infinite;
}

/* Shimmer Light */
@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.shimmer-effect {
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(243,223,138,0.3) 50%, rgba(255,255,255,0) 100%);
    background-size: 200% 100%;
    animation: shimmer 4s infinite;
}

/* Marigold Petals Falling Effect */
.petal {
    position: absolute;
    background: radial-gradient(circle, #FFA500 0%, #FF8C00 60%, #E65100 100%);
    border-radius: 50% 0 50% 50%;
    opacity: 0.7;
    pointer-events: none;
    animation: fall linear infinite;
}

@keyframes fall {
    0% {
        top: -10%;
        transform: translateX(0) rotate(0deg);
        opacity: 0.8;
    }
    100% {
        top: 105%;
        transform: translateX(100px) rotate(360deg);
        opacity: 0.2;
    }
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #FAF5EE;
}
::-webkit-scrollbar-thumb {
    background: #8C1B2D;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #4A0E17;
}

/* Frame Corner Motifs */
.corner-motif {
    width: 32px;
    height: 32px;
    position: absolute;
    border-color: var(--gold-500);
    pointer-events: none;
}
.corner-tl { top: 8px; left: 8px; border-top: 2px solid; border-left: 2px solid; }
.corner-tr { top: 8px; right: 8px; border-top: 2px solid; border-right: 2px solid; }
.corner-bl { bottom: 8px; left: 8px; border-bottom: 2px solid; border-left: 2px solid; }
.corner-br { bottom: 8px; right: 8px; border-bottom: 2px solid; border-right: 2px solid; }
