/**
 * ============================================================================
 * NOLA Booking System - Elementor Color Overrides
 * High-specificity fixes to prevent Elementor theme colors from overriding
 * ============================================================================
 */

/* ============================================
   MODAL CLOSE BUTTON
   ============================================ */
.nola-modal-overlay .nola-modal-close,
body .nola-modal-overlay .nola-modal-close,
.elementor .nola-modal-overlay .nola-modal-close {
    color: var(--nola-gold) !important;
    background: none !important;
}

.nola-modal-overlay .nola-modal-close:hover,
body .nola-modal-overlay .nola-modal-close:hover {
    background: rgba(176, 133, 39, 0.2) !important;
}

/* ============================================
   PRIMARY BUTTONS
   ============================================ */
.nola-btn,
.nola-modal-overlay .nola-btn,
.nola-event-detail-container .nola-btn,
.nola-event-cta .nola-btn,
body .nola-btn,
body .nola-event-detail-container .nola-btn,
.elementor .nola-btn,
.elementor-widget-shortcode .nola-btn,
a.nola-btn,
body a.nola-btn {
    background-color: var(--nola-gold) !important;
    color: var(--nola-bg-primary) !important;
    border-color: var(--nola-gold) !important;
    text-decoration: none !important;
}

.nola-btn:hover,
.nola-btn:focus,
.nola-event-detail-container .nola-btn:hover,
.nola-event-cta .nola-btn:hover,
body .nola-btn:hover,
body .nola-btn:focus,
a.nola-btn:hover,
body a.nola-btn:hover {
    background-color: #c9941f !important;
    color: var(--nola-bg-primary) !important;
    border-color: #c9941f !important;
}

/* Secondary Buttons */
.nola-btn-secondary,
body .nola-btn-secondary {
    background: transparent !important;
    border-color: var(--nola-bronze) !important;
    color: var(--nola-text-white) !important;
}

.nola-btn-secondary:hover,
.nola-btn-secondary:focus,
body .nola-btn-secondary:hover {
    border-color: var(--nola-gold) !important;
    background: rgba(176, 133, 39, 0.1) !important;
}

/* ============================================
   TIME SLOTS
   ============================================ */
.nola-slot-btn,
body .nola-slot-btn,
.elementor .nola-slot-btn {
    background: rgba(255, 255, 255, 0.05) !important;
    border-color: var(--nola-bronze) !important;
    color: var(--nola-text-white) !important;
}

.nola-slot-btn:hover,
body .nola-slot-btn:hover {
    border-color: var(--nola-gold) !important;
    background: rgba(176, 133, 39, 0.1) !important;
}

/* Selected Time Slot */
.nola-slot-btn.selected,
.nola-modal-overlay .nola-slot-btn.selected,
body .nola-slot-btn.selected {
    background: var(--nola-gold) !important;
    color: var(--nola-bg-primary) !important;
    border-color: var(--nola-gold) !important;
}

/* ============================================
   PAYMENT OPTIONS
   ============================================ */
.nola-payment-option-content,
body .nola-payment-option-content {
    border-color: var(--nola-bronze) !important;
    background: rgba(255, 255, 255, 0.03) !important;
}

.nola-payment-option:hover .nola-payment-option-content,
body .nola-payment-option:hover .nola-payment-option-content {
    border-color: var(--nola-gold) !important;
    background: rgba(176, 133, 39, 0.08) !important;
}

.nola-payment-option input[type="radio"]:checked + .nola-payment-option-content,
body .nola-payment-option input[type="radio"]:checked + .nola-payment-option-content {
    border-color: var(--nola-gold) !important;
    background: rgba(176, 133, 39, 0.15) !important;
}

.nola-payment-option-content h4,
body .nola-payment-option-content h4 {
    color: var(--nola-gold) !important;
}

/* ============================================
   LINKS
   ============================================ */
.nola-event-detail-container a:not(.nola-btn),
.nola-section-view-details,
body .nola-event-detail-container a:not(.nola-btn),
body .nola-section-view-details {
    color: var(--nola-gold) !important;
}

.nola-event-detail-container a:not(.nola-btn):hover,
body .nola-event-detail-container a:not(.nola-btn):hover {
    color: #c9941f !important;
}

/* Force button text to be dark on gold background */
.nola-event-cta .nola-btn,
.nola-event-cta a.nola-btn,
body .nola-event-cta .nola-btn,
.elementor .nola-event-cta .nola-btn {
    background: var(--nola-gold) !important;
    color: #0e0d0a !important; /* Force dark text */
}

.nola-event-cta .nola-btn:hover,
body .nola-event-cta .nola-btn:hover {
    background: #c9941f !important;
    color: #0e0d0a !important;
}

/* Calendar Event Links - Don't change color */
.nola-calendar-grid a,
.nola-event-indicator,
body .nola-calendar-grid a {
    color: inherit !important;
}

/* ============================================
   SECTION CARDS
   ============================================ */
.nola-section-card,
body .nola-section-card {
    border-color: rgba(124, 92, 29, 0.5) !important;
}

.nola-section-card:hover,
.nola-section-card.selected,
body .nola-section-card:hover,
body .nola-section-card.selected {
    border-color: var(--nola-gold) !important;
}

.nola-section-card h4,
body .nola-section-card h4 {
    color: var(--nola-gold) !important;
}

/* ============================================
   LEGAL CONSENT LINKS
   ============================================ */
.nola-consent a,
body .nola-consent a {
    color: var(--nola-gold) !important;
}

.nola-consent a:hover,
body .nola-consent a:hover {
    color: #c9941f !important;
}

/* ============================================
   SUCCESS SCREEN
   ============================================ */
.nola-success-title,
body .nola-success-title {
    color: var(--nola-gold) !important;
}

.nola-success-icon,
body .nola-success-icon {
    color: var(--nola-gold) !important;
}

/* ============================================
   RSVP MODAL
   ============================================ */
.nola-rsvp-btn,
body .nola-rsvp-btn {
    background: transparent !important;
    border-color: var(--nola-gold) !important;
    color: var(--nola-gold) !important;
}

.nola-rsvp-btn:hover,
body .nola-rsvp-btn:hover {
    background: var(--nola-gold) !important;
    color: var(--nola-bg-primary) !important;
}

/* ============================================
   ENSURE DARK BACKGROUNDS
   ============================================ */
.nola-calendar-grid,
.nola-modal,
.nola-event-detail-container,
body .nola-calendar-grid,
body .nola-modal,
body .nola-event-detail-container {
    background-color: var(--nola-bg-primary) !important;
    color: var(--nola-text-white) !important;
}

/* ============================================
   HEADINGS
   ============================================ */
.nola-modal h3,
.nola-event-description h2,
body .nola-modal h3,
body .nola-event-description h2 {
    color: var(--nola-gold) !important;
}