/**
 * Flatpickr Date Picker Styling
 * Styles for blocked/unavailable dates
 */

/* CRITICAL: Force Flatpickr calendar to display */
.flatpickr-calendar.open,
.flatpickr-calendar.animate.open,
.flatpickr-calendar.arrowTop.open,
.flatpickr-calendar.arrowLeft.open,
div.flatpickr-calendar.open {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 999999 !important;
}

/* Override inline styles */
.flatpickr-calendar[style*="display: none"].open {
    display: block !important;
}

.flatpickr-calendar.animate.open {
    animation: fpFadeInDown 300ms cubic-bezier(0.23, 1, 0.32, 1);
}

@keyframes fpFadeInDown {
    from {
        opacity: 0;
        transform: translate3d(0, -20px, 0);
    }
    to {
        opacity: 1;
        transform: translate3d(0, 0, 0);
    }
}

/* Ensure calendar appears above modal */
.flatpickr-calendar {
    z-index: 999999 !important;
    position: absolute !important;
}

/* Blocked dates - with strikethrough (fully blocked dates only) */
.flatpickr-day.blocked-date {
    background-color: transparent !important;
    color: inherit !important;
    cursor: pointer !important;
    text-decoration: line-through !important;
    position: relative;
}

.flatpickr-day.blocked-date:hover {
    background-color: #f3f4f6 !important;
    text-decoration: line-through !important;
}

/* Checkout dates - available for check-in, NO strikethrough */
.flatpickr-day.checkout-date {
    background-color: transparent !important;
    color: inherit !important;
    cursor: pointer !important;
    text-decoration: none !important;
    position: relative;
}

.flatpickr-day.checkout-date:hover {
    background-color: #f3f4f6 !important;
    text-decoration: none !important;
}

/* Only truly disabled dates (past dates, etc) should look disabled */
.flatpickr-day.flatpickr-disabled {
    background-color: #fee2e2 !important;
    border-color: #fecaca !important;
    cursor: not-allowed !important;
}

/* Booking summary details styling */
.booking-summary-details {
    margin-top: 20px;
    padding: 20px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
}

.booking-summary-details .summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 12px;
    color: white;
    font-size: 14px;
}

.booking-summary-details .summary-row span {
    opacity: 0.9;
}

.booking-summary-details .summary-row strong {
    font-weight: 600;
}

.booking-summary-details hr {
    border: none;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin: 15px 0;
}

.booking-summary-details .summary-row.total {
    font-size: 18px;
    font-weight: bold;
    margin-top: 10px;
    padding-top: 10px;
}

/* Flatpickr calendar customization to match theme */
.flatpickr-calendar {
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    border-radius: 8px;
}

.flatpickr-day.selected {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
    border-color: #667eea !important;
}

.flatpickr-day.selected:hover {
    background: linear-gradient(135deg, #5568d3 0%, #5e3a82 100%) !important;
}

.flatpickr-day.today {
    border-color: #667eea !important;
}

.flatpickr-day:hover:not(.blocked-date):not(.flatpickr-disabled):not(.checkout-date) {
    background: #f3f4f6;
}

/* Make sure date inputs trigger Flatpickr */
input[name="checkin-date"],
input[name="checkout-date"] {
    cursor: pointer;
}