/**
 * Flatpickr Orange Theme for OrdinalNews Form
 * Based on Flatpickr dark theme with orange accents
 */

/* Main calendar container */
.flatpickr-calendar {
    background: #2c2f34 !important;
    border: 2px solid #ff7a00 !important;
    border-radius: 8px !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4) !important;
}

.flatpickr-calendar.open {
    z-index: 99999 !important;
}

/* Month navigation */
.flatpickr-months {
    background: #2c2f34 !important;
    border-bottom: 1px solid #3a3d42 !important;
    padding: 15px 10px !important;
}

.flatpickr-month {
    background: transparent !important;
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
}

.flatpickr-current-month {
    color: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
}

/* Static month selector styling */
.flatpickr-monthDropdown-month {
    background: #2c2f34 !important;
    color: #ffffff !important;
    border: 2px solid #ff7a00 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    margin: 0 5px !important;
    min-width: 120px !important;
    text-align: center !important;
}

.flatpickr-monthDropdown-month:hover {
    background: #ff7a00 !important;
    border-color: #e66f00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
}

.flatpickr-monthDropdown-month.selected {
    background: #ff7a00 !important;
    border-color: #e66f00 !important;
}

/* Force override all month dropdown styling */
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-monthDropdown-months,
select.flatpickr-monthDropdown-months {
    background: #2c2f34 !important;
    background-color: #2c2f34 !important;
    color: #ffffff !important;
    border: 2px solid #ff7a00 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    outline: none !important;
    min-width: 120px !important;
    box-shadow: none !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-monthDropdown-months:hover,
select.flatpickr-monthDropdown-months:hover {
    background: #ff7a00 !important;
    background-color: #ff7a00 !important;
    border-color: #e66f00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months:focus,
.flatpickr-monthDropdown-months:focus,
select.flatpickr-monthDropdown-months:focus {
    background: #ff7a00 !important;
    background-color: #ff7a00 !important;
    border-color: #e66f00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
}

/* Style the dropdown options with more specificity */
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option,
.flatpickr-monthDropdown-months option,
select.flatpickr-monthDropdown-months option {
    background: #2c2f34 !important;
    background-color: #2c2f34 !important;
    color: #ffffff !important;
    padding: 8px 12px !important;
    border: none !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option:hover,
.flatpickr-monthDropdown-months option:hover,
select.flatpickr-monthDropdown-months option:hover {
    background: #ff7a00 !important;
    background-color: #ff7a00 !important;
    color: #ffffff !important;
}

.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option:checked,
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months option:selected,
.flatpickr-monthDropdown-months option:checked,
.flatpickr-monthDropdown-months option:selected,
select.flatpickr-monthDropdown-months option:checked,
select.flatpickr-monthDropdown-months option:selected {
    background: #ff7a00 !important;
    background-color: #ff7a00 !important;
    color: #ffffff !important;
}

.flatpickr-current-month input.cur-year {
    background: #2c2f34 !important;
    color: #ffffff !important;
    border: 2px solid #ff7a00 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    outline: none !important;
    min-width: 80px !important;
    text-align: center !important;
}

.flatpickr-current-month input.cur-year:hover {
    background: #ff7a00 !important;
    border-color: #e66f00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
}

.flatpickr-current-month input.cur-year:focus {
    background: #ff7a00 !important;
    border-color: #e66f00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
}

/* Navigation arrows */
.flatpickr-prev-month,
.flatpickr-next-month {
    color: #ffffff !important;
    fill: #ffffff !important;
}

.flatpickr-prev-month:hover,
.flatpickr-next-month:hover {
    color: #ff7a00 !important;
    fill: #ff7a00 !important;
}

/* Weekdays header */
.flatpickr-weekdays {
    background: #2c2f34 !important;
    border-bottom: 1px solid #3a3d42 !important;
}

.flatpickr-weekday {
    background: transparent !important;
    color: #cccccc !important;
    font-weight: 600 !important;
}

/* Days container */
.flatpickr-days {
    background: #2c2f34 !important;
}

.flatpickr-day {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
}

.flatpickr-day:hover {
    background: #ff7a00 !important;
    color: #ffffff !important;
}

.flatpickr-day.selected {
    background: #ff7a00 !important;
    color: #ffffff !important;
    border-color: #ff7a00 !important;
}

.flatpickr-day.selected:hover {
    background: #e66f00 !important;
    color: #ffffff !important;
}

.flatpickr-day.today {
    background: #3a3d42 !important;
    color: #ff7a00 !important;
    border-color: #ff7a00 !important;
}

.flatpickr-day.today:hover {
    background: #ff7a00 !important;
    color: #ffffff !important;
}

.flatpickr-day.today.selected {
    background: #ff7a00 !important;
    color: #ffffff !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: #666666 !important;
}

.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
    background: #ff7a00 !important;
    color: #ffffff !important;
}

.flatpickr-day.disabled {
    color: #444444 !important;
}

/* Time picker */
.flatpickr-time {
    background: #2c2f34 !important;
    border-top: 1px solid #3a3d42 !important;
}

.flatpickr-time input {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
    font-size: 16px !important;
}

.flatpickr-time input:hover {
    background: #3a3d42 !important;
}

.flatpickr-time input:focus {
    background: #3a3d42 !important;
    outline: none !important;
}

.flatpickr-time .flatpickr-time-separator {
    color: #ffffff !important;
}

.flatpickr-time .flatpickr-am-pm {
    background: transparent !important;
    color: #ffffff !important;
    border: none !important;
}

.flatpickr-time .flatpickr-am-pm:hover {
    background: #ff7a00 !important;
    color: #ffffff !important;
}

/* Time increment/decrement arrows */
.flatpickr-time .arrowUp,
.flatpickr-time .arrowDown {
    color: #ffffff !important;
}

.flatpickr-time .arrowUp:hover,
.flatpickr-time .arrowDown:hover {
    color: #ff7a00 !important;
}

/* Input field styling when flatpickr is active */
.flatpickr-input {
    background: transparent !important;
    color: #ffffff !important;
    border: 2px solid #2c2f34 !important;
    border-radius: 8px !important;
}

.flatpickr-input:focus {
    border-color: #ff7a00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
    outline: none !important;
}

/* Clear and today buttons */
.flatpickr-calendar .flatpickr-clear,
.flatpickr-calendar .flatpickr-today {
    background: #3a3d42 !important;
    color: #ffffff !important;
    border: 1px solid #ff7a00 !important;
    border-radius: 4px !important;
    margin: 5px !important;
    padding: 8px 12px !important;
}

.flatpickr-calendar .flatpickr-clear:hover,
.flatpickr-calendar .flatpickr-today:hover {
    background: #ff7a00 !important;
    color: #ffffff !important;
}

/* Disabled state */
.flatpickr-input:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    background-color: transparent !important;
    color: #666666 !important;
    border-color: #2c2f34 !important;
}

/* Custom class for JavaScript-styled month dropdown */
.ordinalnews-custom-month-dropdown {
    background: #2c2f34 !important;
    background-color: #2c2f34 !important;
    color: #ffffff !important;
    border: 2px solid #ff7a00 !important;
    border-radius: 6px !important;
    padding: 8px 12px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    appearance: none !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    outline: none !important;
    min-width: 120px !important;
    box-shadow: none !important;
}

.ordinalnews-custom-month-dropdown:hover {
    background: #ff7a00 !important;
    background-color: #ff7a00 !important;
    border-color: #e66f00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
}

.ordinalnews-custom-month-dropdown:focus {
    background: #ff7a00 !important;
    background-color: #ff7a00 !important;
    border-color: #e66f00 !important;
    box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
}

/* Mobile responsive */
@media screen and (max-width: 768px) {
    .flatpickr-calendar {
        font-size: 16px !important;
        width: 90vw !important;
        max-width: 350px !important;
        position: fixed !important;
        top: 50% !important;
        left: 50% !important;
        transform: translate(-50%, -50%) !important;
        z-index: 99999 !important;
        box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6) !important;
    }
    
    .flatpickr-calendar.open {
        display: block !important;
    }
    
    /* Larger touch targets for mobile */
    .flatpickr-day {
        height: 44px !important;
        line-height: 44px !important;
        font-size: 16px !important;
        min-width: 44px !important;
    }
    
    /* Month navigation for mobile */
    .flatpickr-months {
        padding: 20px 15px !important;
    }
    
    .flatpickr-prev-month,
    .flatpickr-next-month {
        width: 44px !important;
        height: 44px !important;
        line-height: 44px !important;
    }
    
    /* Month and year dropdowns for mobile */
    .flatpickr-monthDropdown-months,
    .flatpickr-current-month input.cur-year,
    .ordinalnews-custom-month-dropdown {
        font-size: 16px !important;
        padding: 12px 16px !important;
        min-height: 44px !important;
        min-width: 140px !important;
    }
    
    /* Time picker for mobile */
    .flatpickr-time {
        padding: 20px 15px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 10px !important;
    }
    
    .flatpickr-time .numInputWrapper {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        position: relative !important;
    }
    
    .flatpickr-time input {
        font-size: 24px !important;
        padding: 8px 12px !important;
        min-height: 50px !important;
        text-align: center !important;
        line-height: 50px !important;
        width: 60px !important;
        border-radius: 8px !important;
        background: #3a3d42 !important;
        border: 2px solid #ff7a00 !important;
        margin: 0 !important;
    }
    
    .flatpickr-time input:focus {
        background: #ff7a00 !important;
        border-color: #e66f00 !important;
        box-shadow: 0 0 0 2px rgba(255, 122, 0, 0.2) !important;
    }
    
    .flatpickr-time .flatpickr-time-separator {
        font-size: 24px !important;
        font-weight: bold !important;
        color: #ff7a00 !important;
        line-height: 50px !important;
        height: 50px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 5px !important;
    }
    
    .flatpickr-time .flatpickr-am-pm {
        font-size: 18px !important;
        padding: 12px 16px !important;
        min-height: 50px !important;
        line-height: 50px !important;
        border-radius: 8px !important;
        background: #3a3d42 !important;
        border: 2px solid #ff7a00 !important;
        margin-left: 10px !important;
    }
    
    .flatpickr-time .flatpickr-am-pm:hover,
    .flatpickr-time .flatpickr-am-pm:focus {
        background: #ff7a00 !important;
        border-color: #e66f00 !important;
    }
    
    /* Time arrows for mobile */
    .flatpickr-time .arrowUp,
    .flatpickr-time .arrowDown {
        width: 50px !important;
        height: 25px !important;
        line-height: 25px !important;
        font-size: 16px !important;
        background: #2c2f34 !important;
        border: 1px solid #ff7a00 !important;
        border-radius: 4px !important;
        margin: 2px 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .flatpickr-time .arrowUp:hover,
    .flatpickr-time .arrowDown:hover {
        background: #ff7a00 !important;
        color: #ffffff !important;
    }
    
    /* Weekday headers for mobile */
    .flatpickr-weekday {
        font-size: 14px !important;
        padding: 10px 0 !important;
    }
    
    /* Input field styling for mobile */
    .flatpickr-input {
        font-size: 16px !important;
        padding: 12px 16px !important;
        min-height: 44px !important;
        -webkit-user-select: none !important;
        -moz-user-select: none !important;
        -ms-user-select: none !important;
        user-select: none !important;
        -webkit-touch-callout: none !important;
    }
    
    /* Prevent text selection and zoom on mobile */
    .flatpickr-input:focus {
        -webkit-user-select: none !important;
        -moz-user-select: none !important;
        -ms-user-select: none !important;
        user-select: none !important;
        -webkit-touch-callout: none !important;
        transform: scale(1) !important;
    }
    
    /* Mobile overlay to prevent background interaction */
    .flatpickr-calendar.open::before {
        content: '' !important;
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        background: rgba(0, 0, 0, 0.5) !important;
        z-index: -1 !important;
    }
}

/* iOS specific fixes */
@supports (-webkit-touch-callout: none) {
    .flatpickr-input {
        -webkit-touch-callout: none !important;
        -webkit-user-select: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }
    
    .flatpickr-input:focus {
        -webkit-user-select: none !important;
        -webkit-touch-callout: none !important;
        -webkit-tap-highlight-color: transparent !important;
    }
}

/* Android specific fixes */
@media screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 1) {
    .flatpickr-input {
        -webkit-appearance: none !important;
        appearance: none !important;
    }
} 