/* Light mode overrides for the program details page. */
html.light-mode .details-hero-section {
    background: #e7edf7;
}

html.light-mode .hero-overlay-content {
    background: linear-gradient(to top, rgba(17, 24, 39, 0.82) 0%, rgba(17, 24, 39, 0.38) 58%, transparent 100%);
}

html.light-mode .details-main-title,
html[data-theme="light"] .details-main-title,
body.light-mode .details-main-title,
body[data-theme="light"] .details-main-title {
    color: #ffffff;
}

html.light-mode .main-content-wrapper {
    color: var(--text-light);
}

html.light-mode .details-section,
html.light-mode .in-page-form,
html.light-mode .modal-content,
html.light-mode .booking-form-modal {
    background: #ffffff;
    border-color: var(--border-color);
    box-shadow: var(--shadow-soft);
}

html.light-mode .stat-item,
html.light-mode .price-header,
html.light-mode .hotel-stars-selector label,
html.light-mode .visit-option-card,
html.light-mode .stepper-item,
html.light-mode .dynamic-calendar,
html.light-mode .pricing-explanation-note,
html.light-mode .step-indicator,
html.light-mode .booking-summary-box,
html.light-mode .summary-row,
html.light-mode .form-progress-bar,
html.light-mode .package-info-row,
html.light-mode .detail-option-card {
    background: rgba(37, 99, 235, 0.06);
    border-color: rgba(37, 99, 235, 0.14);
}

html.light-mode .section-text,
html.light-mode .stat-info span,
html.light-mode .inc-list li,
html.light-mode .price-label,
html.light-mode .price-unit,
html.light-mode .field-label,
html.light-mode .hotel-stars-selector label span,
html.light-mode .hotel-stars-selector label small,
html.light-mode .visit-option-card,
html.light-mode .stepper-item > span,
html.light-mode .pricing-explanation-note p,
html.light-mode .sidebar-info,
html.light-mode .summary-row span,
html.light-mode .form-status {
    color: var(--text-muted);
}

html.light-mode .pricing-explanation-note strong,
html.light-mode .summary-title,
html.light-mode .summary-row strong,
html.light-mode .package-info-row strong {
    color: var(--text-light);
}

html.light-mode .field-label,
html.light-mode .price-header,
html.light-mode .cal-grid span.day-name {
    border-color: var(--border-color);
}

html.light-mode .form-input,
html[data-theme="light"] .form-input,
body.light-mode .form-input,
body[data-theme="light"] .form-input,
html.light-mode .contact-info-fields input,
html[data-theme="light"] .contact-info-fields input,
body.light-mode .contact-info-fields input,
body[data-theme="light"] .contact-info-fields input,
html.light-mode .booking-form-modal input,
html[data-theme="light"] .booking-form-modal input,
body.light-mode .booking-form-modal input,
body[data-theme="light"] .booking-form-modal input,
html.light-mode .booking-form-modal select,
html[data-theme="light"] .booking-form-modal select,
body.light-mode .booking-form-modal select,
body[data-theme="light"] .booking-form-modal select,
html.light-mode .booking-form-modal textarea,
html[data-theme="light"] .booking-form-modal textarea,
body.light-mode .booking-form-modal textarea,
body[data-theme="light"] .booking-form-modal textarea {
    background: #ffffff;
    color: #1f2937;
    border-color: rgba(148, 163, 184, 0.45);
}

html.light-mode .form-input:focus,
html[data-theme="light"] .form-input:focus,
body.light-mode .form-input:focus,
body[data-theme="light"] .form-input:focus,
html.light-mode .booking-form-modal input:focus,
html[data-theme="light"] .booking-form-modal input:focus,
body.light-mode .booking-form-modal input:focus,
body[data-theme="light"] .booking-form-modal input:focus,
html.light-mode .booking-form-modal select:focus,
html[data-theme="light"] .booking-form-modal select:focus,
body.light-mode .booking-form-modal select:focus,
body[data-theme="light"] .booking-form-modal select:focus,
html.light-mode .booking-form-modal textarea:focus,
html[data-theme="light"] .booking-form-modal textarea:focus,
body.light-mode .booking-form-modal textarea:focus,
body[data-theme="light"] .booking-form-modal textarea:focus {
    border-color: rgba(37, 99, 235, 0.75);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

html.light-mode select.form-input option,
html[data-theme="light"] select.form-input option,
body.light-mode select.form-input option,
body[data-theme="light"] select.form-input option,
html.light-mode .booking-form-modal select option,
html[data-theme="light"] .booking-form-modal select option,
body.light-mode .booking-form-modal select option,
body[data-theme="light"] .booking-form-modal select option {
    background: #ffffff;
    color: #1f2937;
}

html.light-mode select.form-input option:checked,
html[data-theme="light"] select.form-input option:checked,
body.light-mode select.form-input option:checked,
body[data-theme="light"] select.form-input option:checked {
    background: var(--primary);
    color: #ffffff;
}

html.light-mode .form-input::placeholder,
html[data-theme="light"] .form-input::placeholder,
body.light-mode .form-input::placeholder,
body[data-theme="light"] .form-input::placeholder,
html.light-mode .booking-form-modal input::placeholder,
html[data-theme="light"] .booking-form-modal input::placeholder,
body.light-mode .booking-form-modal input::placeholder,
body[data-theme="light"] .booking-form-modal input::placeholder,
html.light-mode .booking-form-modal textarea::placeholder,
html[data-theme="light"] .booking-form-modal textarea::placeholder,
body.light-mode .booking-form-modal textarea::placeholder,
body[data-theme="light"] .booking-form-modal textarea::placeholder {
    color: #667085;
    opacity: 1;
}

html.light-mode .form-input[type="date"]::-webkit-calendar-picker-indicator,
html[data-theme="light"] .form-input[type="date"]::-webkit-calendar-picker-indicator,
body.light-mode .form-input[type="date"]::-webkit-calendar-picker-indicator,
body[data-theme="light"] .form-input[type="date"]::-webkit-calendar-picker-indicator {
    filter: none;
    opacity: 0.72;
}

html.light-mode .slide-nav,
html.light-mode .modal .close-btn {
    background: rgba(255, 255, 255, 0.88);
    color: var(--text-light);
    border: 1px solid var(--border-color);
}

html.light-mode .slide-nav:hover,
html.light-mode .modal .close-btn:hover {
    background: var(--primary);
    color: #ffffff;
}

html.light-mode .thumb-item {
    background: #ffffff;
}

html.light-mode .day-tag,
html.light-mode .hotel-stars-selector input:checked + label,
html.light-mode .visit-option-checkbox:checked + .visit-option-card,
html.light-mode .cal-grid span.active,
html.light-mode .step-nav-btn.next,
html.light-mode .reserve-btn,
html.light-mode .submit-booking-btn {
    color: #ffffff;
}

html.light-mode .hotel-stars-selector label,
html.light-mode .visit-option-card,
html[data-theme="light"] .hotel-stars-selector label,
html[data-theme="light"] .visit-option-card,
body.light-mode .hotel-stars-selector label,
body.light-mode .visit-option-card,
body[data-theme="light"] .hotel-stars-selector label,
body[data-theme="light"] .visit-option-card {
    cursor: pointer;
    user-select: none;
}

html.light-mode .hotel-stars-selector input:checked + label,
html.light-mode .visit-option-checkbox:checked + .visit-option-card,
html[data-theme="light"] .hotel-stars-selector input:checked + label,
html[data-theme="light"] .visit-option-checkbox:checked + .visit-option-card,
body.light-mode .hotel-stars-selector input:checked + label,
body.light-mode .visit-option-checkbox:checked + .visit-option-card,
body[data-theme="light"] .hotel-stars-selector input:checked + label,
body[data-theme="light"] .visit-option-checkbox:checked + .visit-option-card {
    background: var(--primary-gradient);
    border-color: transparent;
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(37, 99, 235, 0.22);
}

html.light-mode .hotel-stars-selector input:checked + label span,
html[data-theme="light"] .hotel-stars-selector input:checked + label span,
body.light-mode .hotel-stars-selector input:checked + label span,
body[data-theme="light"] .hotel-stars-selector input:checked + label span,
html.light-mode .hotel-stars-selector input:checked + label small,
html[data-theme="light"] .hotel-stars-selector input:checked + label small,
body.light-mode .hotel-stars-selector input:checked + label small,
body[data-theme="light"] .hotel-stars-selector input:checked + label small {
    color: #ffffff;
}

html.light-mode .visit-tooltip-panel,
html[data-theme="light"] .visit-tooltip-panel,
body.light-mode .visit-tooltip-panel,
body[data-theme="light"] .visit-tooltip-panel {
    background: #111827;
    border-color: rgba(17, 24, 39, 0.15);
    color: #ffffff;
}

html.light-mode .progress-fill {
    background: var(--primary-gradient);
}

html.light-mode .booking-form-overlay,
html[data-theme="light"] .booking-form-overlay,
body.light-mode .booking-form-overlay,
body[data-theme="light"] .booking-form-overlay {
    background: rgba(255, 255, 255, 0.96);
    color: var(--primary);
    border: 1px solid rgba(37, 99, 235, 0.14);
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
}

html.light-mode .age-confirm-panel,
html[data-theme="light"] .age-confirm-panel,
body.light-mode .age-confirm-panel,
body[data-theme="light"] .age-confirm-panel {
    background: #ffffff;
    border-color: rgba(15, 23, 42, 0.14);
    color: #111827;
}

html.light-mode .age-confirm-panel p,
html[data-theme="light"] .age-confirm-panel p,
body.light-mode .age-confirm-panel p,
body[data-theme="light"] .age-confirm-panel p {
    color: #4b5563;
}

html.light-mode .booking-form-overlay strong,
html.light-mode .booking-form-overlay small,
html[data-theme="light"] .booking-form-overlay strong,
html[data-theme="light"] .booking-form-overlay small,
body.light-mode .booking-form-overlay strong,
body.light-mode .booking-form-overlay small,
body[data-theme="light"] .booking-form-overlay strong,
body[data-theme="light"] .booking-form-overlay small {
    color: var(--primary);
}

html.light-mode .booking-submit-loader,
html[data-theme="light"] .booking-submit-loader,
body.light-mode .booking-submit-loader,
body[data-theme="light"] .booking-submit-loader {
    border-color: rgba(37, 99, 235, 0.18);
    border-top-color: var(--primary);
}
