/* Holiday Villam - canlı villa takvimi görünüm düzeltmesi
   Yalnızca görseldir; takvim durumları ve tarih seçimi bu dosyada değiştirilmez. */

.calendar-month-grid .calendar-day {
    position: relative !important;
    isolation: isolate;
    overflow: hidden !important;
    min-width: 0 !important;
    height: 54px !important;
    min-height: 54px !important;
    padding: 6px 2px !important;
    gap: 4px !important;
    border: 1px solid #dce7e9 !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}

.calendar-month-grid .calendar-day-number,
.calendar-month-grid .calendar-day-price {
    position: relative;
    z-index: 2;
}

.calendar-month-grid .calendar-day-number {
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.calendar-month-grid .calendar-day-price {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 1px 1px !important;
    overflow: hidden !important;
    font-size: 9px !important;
    font-weight: 500 !important;
    line-height: 1.2 !important;
    letter-spacing: -.3px !important;
    font-variant-numeric: tabular-nums;
    text-align: center;
    text-overflow: clip !important;
    white-space: nowrap !important;
}

.calendar-month-grid .calendar-day.available {
    border-color: #c9eadc !important;
    background: #e5f8ef !important;
    color: #075b4a !important;
}

.calendar-month-grid .calendar-day.booked:not(.booked-start):not(.booked-end) {
    border-color: #ef4444 !important;
    background: #ef4444 !important;
    color: #fff !important;
}

.calendar-month-grid .calendar-day.option:not(.option-start):not(.option-end) {
    border-color: #e99a08 !important;
    background: #f59e0b !important;
    color: #4b2d00 !important;
}

/* Rezervasyon başlangıcı: sabah çıkışa açık, öğleden sonra dolu. */
.calendar-month-grid .calendar-day.booked-start {
    border-color: #e5a3a3 !important;
    background: linear-gradient(135deg, #e5f8ef 0 49%, #ef4444 51% 100%) !important;
    color: #102f35 !important;
}

/* Rezervasyon bitişi: sabah dolu, öğleden sonra yeni girişe açık. */
.calendar-month-grid .calendar-day.booked-end {
    border-color: #e5a3a3 !important;
    background: linear-gradient(135deg, #ef4444 0 49%, #e5f8ef 51% 100%) !important;
    color: #102f35 !important;
}

.calendar-month-grid .calendar-day.option-start {
    border-color: #edc36d !important;
    background: linear-gradient(135deg, #e5f8ef 0 49%, #f59e0b 51% 100%) !important;
    color: #102f35 !important;
}

.calendar-month-grid .calendar-day.option-end {
    border-color: #edc36d !important;
    background: linear-gradient(135deg, #f59e0b 0 49%, #e5f8ef 51% 100%) !important;
    color: #102f35 !important;
}

/* Yarım günlerde rakam ve fiyat iki rengin üzerinde de okunur. */
.calendar-month-grid .calendar-day.booked-start .calendar-day-number,
.calendar-month-grid .calendar-day.booked-end .calendar-day-number,
.calendar-month-grid .calendar-day.option-start .calendar-day-number,
.calendar-month-grid .calendar-day.option-end .calendar-day-number {
    min-width: 21px;
    padding: 2px 4px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .88);
    color: #173743 !important;
}

.calendar-month-grid .calendar-day.booked-start .calendar-day-price,
.calendar-month-grid .calendar-day.booked-end .calendar-day-price,
.calendar-month-grid .calendar-day.option-start .calendar-day-price,
.calendar-month-grid .calendar-day.option-end .calendar-day-price {
    border-radius: 4px !important;
    background: rgba(255, 255, 255, .84) !important;
    color: #173743 !important;
}

.calendar-month-grid .calendar-day.booked:not(.booked-start):not(.booked-end) .calendar-day-price {
    color: #fff !important;
}

.calendar-month-grid .calendar-day.option:not(.option-start):not(.option-end) .calendar-day-price {
    color: #4b2d00 !important;
}

.calendar-month-grid .calendar-day.past {
    opacity: .58 !important;
}

@media (min-width: 1100px) {
    .calendar-box.is-dual-mode {
        padding-right: 12px !important;
        padding-left: 12px !important;
    }

    .calendar-month-panel {
        padding-right: 7px !important;
        padding-left: 7px !important;
    }

    .calendar-month-weekdays,
    .calendar-month-grid {
        gap: 3px !important;
    }
}

@media (max-width: 1099px) {
    #calendar .calendar-day {
        position: relative !important;
        isolation: isolate;
        overflow: hidden !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 56px !important;
        height: 56px !important;
        padding: 5px 2px !important;
        gap: 4px !important;
        border: 1px solid #dce7e9 !important;
        border-radius: 9px !important;
        box-shadow: none !important;
    }

    #calendar .calendar-day-number,
    #calendar .calendar-day-price {
        position: relative;
        z-index: 2;
    }

    #calendar .calendar-day-number {
        font-size: 13px !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }

    #calendar .calendar-day-price {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 1px !important;
        overflow: hidden !important;
        font-size: 8px !important;
        font-weight: 500 !important;
        line-height: 1.2 !important;
        letter-spacing: -.3px !important;
        text-align: center !important;
        text-overflow: clip !important;
        white-space: nowrap !important;
    }

    #calendar .calendar-day.available {
        border-color: #c9eadc !important;
        background: #e5f8ef !important;
        color: #075b4a !important;
    }

    #calendar .calendar-day.booked:not(.booked-start):not(.booked-end) {
        border-color: #ef4444 !important;
        background: #ef4444 !important;
        color: #fff !important;
    }

    #calendar .calendar-day.option:not(.option-start):not(.option-end) {
        border-color: #e99a08 !important;
        background: #f59e0b !important;
        color: #4b2d00 !important;
    }

    #calendar .calendar-day.booked-start {
        border-color: #e5a3a3 !important;
        background: linear-gradient(135deg, #e5f8ef 0 49%, #ef4444 51% 100%) !important;
        color: #102f35 !important;
    }

    #calendar .calendar-day.booked-end {
        border-color: #e5a3a3 !important;
        background: linear-gradient(135deg, #ef4444 0 49%, #e5f8ef 51% 100%) !important;
        color: #102f35 !important;
    }

    #calendar .calendar-day.option-start {
        border-color: #edc36d !important;
        background: linear-gradient(135deg, #e5f8ef 0 49%, #f59e0b 51% 100%) !important;
        color: #102f35 !important;
    }

    #calendar .calendar-day.option-end {
        border-color: #edc36d !important;
        background: linear-gradient(135deg, #f59e0b 0 49%, #e5f8ef 51% 100%) !important;
        color: #102f35 !important;
    }

    #calendar .calendar-day.booked-start .calendar-day-number,
    #calendar .calendar-day.booked-end .calendar-day-number,
    #calendar .calendar-day.option-start .calendar-day-number,
    #calendar .calendar-day.option-end .calendar-day-number {
        min-width: 21px;
        padding: 2px 4px;
        border-radius: 999px;
        background: rgba(255, 255, 255, .88);
        color: #173743 !important;
    }

    #calendar .calendar-day.booked-start .calendar-day-price,
    #calendar .calendar-day.booked-end .calendar-day-price,
    #calendar .calendar-day.option-start .calendar-day-price,
    #calendar .calendar-day.option-end .calendar-day-price {
        border-radius: 4px !important;
        background: rgba(255, 255, 255, .84) !important;
        color: #173743 !important;
    }

    #calendar .calendar-day.booked:not(.booked-start):not(.booked-end) .calendar-day-price {
        color: #fff !important;
    }

    #calendar .calendar-day.option:not(.option-start):not(.option-end) .calendar-day-price {
        color: #4b2d00 !important;
    }
}

@media (max-width: 430px) {
    #calendar .calendar-day {
        height: 50px !important;
        min-height: 50px !important;
    }

    #calendar .calendar-day-price {
        font-size: 7.5px !important;
    }
}
