/* --- SHAKTI GURU LIGHT THEME STYLES --- */

/* Typography */
.font-heading { font-family: 'Cinzel', serif; }
.font-body { font-family: 'Quicksand', sans-serif; }

/* Light Nebula Background */
.bg-nebula {
    background: linear-gradient(-45deg, #ffffff, #e0f2fe, #f0f9ff, #fff7ed);
    background-size: 400% 400%;
    animation: nebula-move 20s ease infinite;
}
@keyframes nebula-move { 
    0% { background-position: 0% 50%; } 
    50% { background-position: 100% 50%; } 
    100% { background-position: 0% 50%; } 
}

/* Glassmorphism - Light Mode */
.glass-panel { 
    background: rgba(255, 255, 255, 0.85); 
    backdrop-filter: blur(12px); 
    border: 1px solid rgba(226, 232, 240, 0.8); 
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.05), 0 4px 6px -2px rgba(0, 0, 0, 0.025);
}

/* Slider */
.slider-container { position: relative; height: 100vh; overflow: hidden; }
.slide { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.5s ease-in-out, transform 6s ease-out; transform: scale(1.05); z-index: 1; }
.slide.active { opacity: 1; transform: scale(1); z-index: 2; }
.slide-content { z-index: 10; position: relative; }
/* Dark overlay specifically for hero slides to ensure white text readability */
.slide-overlay { background: linear-gradient(to bottom, rgba(0,0,0,0.3), rgba(2,6,23,0.6)); position: absolute; inset: 0; }

/* Ticker - Light Mode */
.ticker-wrap { width: 100%; overflow: hidden; background-color: #ffffff; border-top: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; padding: 1.5rem 0; position: relative; z-index: 20; }
.ticker { display: inline-block; white-space: nowrap; animation: ticker 160s linear infinite; }
.ticker-item { display: inline-block; padding: 0 2rem; font-family: 'Cinzel', serif; color: #64748b; font-size: 1.1rem; letter-spacing: 0.1em; transition: all 0.3s ease; cursor: default; }
.ticker-item:hover { color: #0891b2; transform: scale(1.1); }
@keyframes ticker { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }

/* Animations */
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }
.typing-cursor::after { content: '|'; animation: blink 1s step-end infinite; color: #0891b2; }
@keyframes blink { 50% { opacity: 0; } }

/* --- MODAL POPUP STYLES (CRITICAL FOR POPUPS) --- */
.modal-backdrop { 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    background: rgba(0, 0, 0, 0.6); /* Darker backdrop for better contrast */
    backdrop-filter: blur(5px); 
    z-index: 100; 
    opacity: 0; 
    pointer-events: none; 
    transition: opacity 0.3s ease; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
}

.modal-backdrop.open { 
    opacity: 1; 
    pointer-events: auto; 
}

.modal-content { 
    background: #ffffff; 
    border: 1px solid #cbd5e1; 
    border-radius: 1rem; 
    width: 90%; 
    max-width: 600px; /* Constrain width for popup feel */
    max-height: 85vh; 
    overflow-y: auto; 
    transform: scale(0.95) translateY(20px); 
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1); 
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25); 
    position: relative; /* Ensure it stacks correctly */
    margin: auto; /* Centering fallback */
}

.modal-backdrop.open .modal-content { 
    transform: scale(1) translateY(0); 
}

/* Dropdowns - Light Mode */
.dropdown { position: relative; display: inline-block; }
.dropdown-content { visibility: hidden; position: absolute; background-color: #ffffff; backdrop-filter: blur(15px); min-width: 220px; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); z-index: 50; border: 1px solid #e2e8f0; border-radius: 0.75rem; top: 100%; left: 0; padding: 0.5rem 0; margin-top: 0.5rem; opacity: 0; transform: translateY(-10px); transition: all 0.3s ease; }
.dropdown-content::before { content: ""; position: absolute; top: -1rem; left: 0; width: 100%; height: 1rem; }
.dropdown:hover .dropdown-content { visibility: visible; opacity: 1; transform: translateY(0); }
.dropdown-item { color: #475569; padding: 12px 20px; text-decoration: none; display: flex; align-items: center; gap: 10px; font-size: 0.9rem; transition: all 0.2s; cursor: pointer; }
.dropdown-item:hover { background-color: #f1f5f9; color: #0891b2; padding-left: 25px; }

/* AI Trigger */
.ai-trigger { cursor: pointer; padding: 12px 16px; border-radius: 8px; transition: all 0.2s; display: flex; align-items: center; gap: 12px; background: #f8fafc; border: 1px solid #e2e8f0; }
.ai-trigger:hover { background: #e0f2fe; color: #0891b2; border-color: #0891b2; transform: translateX(5px); }

/* FAQ - Light Mode */
.faq-item { border-bottom: 1px solid #e2e8f0; padding: 1.5rem 0; }
.faq-question { cursor: pointer; display: flex; justify-content: space-between; align-items: center; color: #1e293b; font-weight: 600; font-size: 1.1rem; }
.faq-question:hover { color: #0891b2; }
.faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.5s ease; color: #64748b; line-height: 1.6; }
.faq-item.active .faq-answer { max-height: 500px; margin-top: 1rem; }
.faq-icon { transition: transform 0.3s; }
.faq-item.active .faq-icon { transform: rotate(180deg); color: #0891b2; }

/* Reviews */
.reviews-slider { scrollbar-width: none; -ms-overflow-style: none; }
.reviews-slider::-webkit-scrollbar { display: none; }

/* Booking - Light Mode */
.step-indicator { width: 2rem; height: 2rem; border-radius: 9999px; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 0.875rem; }
.step-indicator.active { background-color: #0891b2; color: white; box-shadow: 0 0 15px rgba(8, 145, 178, 0.3); }
.step-indicator.inactive { background-color: #f1f5f9; color: #94a3b8; }
.step-indicator.completed { background-color: #dcfce7; color: #16a34a; border: 1px solid #86efac; }

.service-card { border: 1px solid #e2e8f0; background: white; border-radius: 0.75rem; padding: 1rem; cursor: pointer; transition: all 0.3s ease; }
.service-card:hover { background-color: #f0f9ff; border-color: #0891b2; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); }
.service-card.selected { background-color: #e0f2fe; border-color: #0891b2; box-shadow: 0 0 0 2px #0891b2; }
.service-card:hover .price-display { color: #0891b2; transform: scale(1.1); }
.price-display { transition: all 0.3s ease; display: inline-block; color: #334155; }

.calendar-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; text-align: center; }
.calendar-day { padding: 8px; border-radius: 8px; cursor: pointer; transition: all 0.2s; color: #334155; }
.calendar-day:hover:not(.disabled) { background-color: #e0f2fe; color: #0891b2; }
.calendar-day.selected { background-color: #0891b2; color: white; }
.calendar-day.disabled { opacity: 0.3; cursor: not-allowed; color: #cbd5e1; }

/* Text Color Overrides */
.bg-cyan-600 .text-white, 
.bg-green-600 .text-white,
.bg-blue-600 .text-white,
.bg-gradient-to-r .text-white,
.slide .text-white,
button.text-white,
.step-indicator.active {
    color: #ffffff !important;
}

.hero-text { color: white !important; }
.hero-sub { color: #f1f5f9 !important; }