/* --- MOODY INDIAN THEME --- */
:root {
    --bg-dark: #0a0a0a;        /* Near black */
    --bg-panel: #363636;      /* Slightly lighter panel */
    --accent-gold: #c5a059;    /* Muted Luxury Gold */
    --text-light: #ffffff;
    --text-muted: #888888;
    --serif-font: 'Fraunces', serif;
    --sans-font: 'Montserrat', sans-serif;
}

body {
    background-color: var(--bg-dark);
    color: var(--text-light);
    font-family: var(--sans-font);
    overflow-x: hidden;
}

h1, h2, h3, .serif { font-family: var(--serif-font); font-weight: 500; }

/* Custom Underline */
.gold-divider {
    width: 60px;
    height: 1px;
    background: var(--accent-gold);
    margin: 20px auto;
}

/* Menu Grid Card */
/* Update these specific classes in your style.css */

/* --- Optimized High-Contrast Dish Cards --- */
.dish-card {
    position: relative;
    border: 1px solid #1a1a1a;
    background: var(--bg-panel);
    overflow: hidden;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.dish-card:hover {
    border-color: var(--accent-gold);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5);
}

.dish-img {
    height: 320px;
    width: 100%;
    object-fit: cover;
    /* Reduced grayscale, increased contrast for that 'Noir' pop */
    filter: brightness(1) contrast(1.1) saturate(0.9);
    transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.dish-card:hover .dish-img {
    filter: brightness(1.1) contrast(1.05) saturate(1.1);
    transform: scale(1.08);
}

/* Typography fix to ensure text is crisp over the dark cards */
.dish-card h4 {
    letter-spacing: 1px;
    transition: color 0.3s ease;
}

.dish-card:hover h4 {
    color: var(--accent-gold);
}


.menu-item {
    border-bottom: 1px solid #1a1a1a;
    padding-bottom: 15px;
    transition: all 0.3s ease;
}

.menu-item:hover {
    border-color: var(--accent-gold);
}

.menu-item h5 {
    letter-spacing: 2px;
}

.menu-item p {
    font-style: italic;
    opacity: 0.8;
}

/* Ensure the tracking for headers is consistent */
.tracking-widest {
    letter-spacing: 3px !important;
}


/* --- CINEMATIC SLIDER --- */
.hero-slider-wrapper {
    height: 100vh;
    width: 100%;
    overflow: hidden;
}

.mainHeroSwiper {
    width: 100%;
    height: 100%;
}

/* --- LIGHTENED CINEMATIC SLIDER --- */
.slide-inner {
    position: relative;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    /* Optional: boost the image brightness slightly */
    filter: brightness(1.5); 
}

.slide-inner::after {
    content: '';
    position: absolute;
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%;
    /* We changed the opacity from 0.8/0.6 to 0.3/0.5 for a lighter feel */
    background: linear-gradient(
        to bottom, 
        rgba(0,0,0,0.3) 0%, 
        rgba(0,0,0,0.5) 100%
    );
    z-index: 1;
}

.slide-content {
    position: relative;
    z-index: 10; /* Ensures text stays above the gradient */
    padding: 0 15px;
    /* Adding a subtle text-shadow ensures white text is readable on lighter images */
    text-shadow: 0 2px 10px rgba(0,0,0,0.3);
}

/* Cinematic Zoom Effect */
.swiper-slide-active .slide-inner {
    animation: cinematicZoom 10s forwards;
}

@keyframes cinematicZoom {
    from { transform: scale(1); }
    to { transform: scale(1.1); }
}
/* --- ANIMATION HOOKS --- */
.animate-item {
    /* ... existing properties ... */
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.5));
}

.swiper-slide-active .animate-item {
    opacity: 1;
    transform: translateY(0);
}

.swiper-slide-active .animate-item:nth-child(1) { transition-delay: 0.2s; }
.swiper-slide-active .animate-item:nth-child(2) { transition-delay: 0.4s; }
.swiper-slide-active .animate-item:nth-child(3) { transition-delay: 0.6s; }
.swiper-slide-active .animate-item:nth-child(4) { transition-delay: 0.8s; }

/* --- CUSTOM SWIPER NAV --- */
.custom-nav {
    color: var(--accent-gold) !important;
}

.custom-nav::after {
    font-size: 20px !important;
    font-weight: bold;
}

.custom-pagination .swiper-pagination-bullet {
    background: #fff;
    opacity: 0.5;
}

.custom-pagination .swiper-pagination-bullet-active {
    background: var(--accent-gold);
    opacity: 1;
}

/* --- FOOTER & SOCIAL ICONS --- */

/* --- FOOTER & SOCIAL ICONS --- */

/* Footer Links Default State */
.footer-link {
    color: var(--accent-gold) !important; /* Forces the gold color */
    transition: all 0.3s ease;
    display: inline-block;
}

.footer-link:hover {
    color: #ffffff !important; /* Changes to white on hover for contrast */
    padding-left: 8px;
    letter-spacing: 1px;
}

/* Newsletter Form Visibility */
.footer-newsletter-form {
    border-bottom: 1px solid var(--accent-gold) !important; /* Gold underline */
}

.footer-newsletter-form .form-control {
    color: #ffffff !important;
}

.footer-newsletter-form .form-control::placeholder {
    color: rgba(255, 255, 255, 0.5) !important; /* Makes the placeholder readable */
    font-size: 0.85rem;
}

/* Social Icons */
.social-icon {
    color: var(--accent-gold) !important;
}

.social-icon:hover {
    color: #ffffff !important;
    transform: translateY(-3px);
}

#backToTop:hover {
    border-color: var(--accent-gold) !important;
    background-color: var(--bg-panel) !important;
}

/* Reservation Form */
/* --- High-Contrast Input & Placeholder Fix --- */

/* Reset for all inputs to ensure they are visible */
.form-dark .form-control, 
.form-dark .form-select {
    background-color: transparent !important;
    border: none;
    border-bottom: 1px solid #444 !important; /* Visible dark grey line */
    color: #ffffff !important;
    border-radius: 0;
    padding: 12px 0;
}

/* FIX: Ensure placeholders are bright and visible */
.form-dark .form-control::placeholder {
    color: rgba(255, 255, 255, 0.5) !important; /* Semi-transparent white */
    font-size: 0.9rem;
}

/* FIX: Target ONLY the select menu for the Gold Arrow */
.form-dark select.form-select {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23c5a059' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 12px;
    padding-right: 20px;
}

/* Hover & Focus States */
.form-dark .form-control:focus,
.form-dark .form-select:focus {
    border-bottom: 1px solid var(--accent-gold) !important;
    box-shadow: none;
    outline: none;
}

/* Dropdown list items background */
.form-dark .form-select option {
    background-color: #0a0a0a !important; /* Match your bg-dark */
    color: #ffffff !important;
}