/* CathyZen — calendrier Flatpickr compact et responsive.
   Ne pas étirer le calendrier avec des unités vw : Flatpickr calcule
   déjà sa position par rapport au champ de date. */

/* Champ de saisie, y compris le champ alternatif créé par Flatpickr. */
.form-input.flatpickr-input,
.form-input.flatpickr-alt-input {
    cursor: pointer;
    width: 100%;
    padding: 0.75rem 1rem;
    border: 2px solid #fed7aa;
    border-radius: 20px;
    font-size: 1rem;
    background: #fff;
}

.form-input.flatpickr-input:focus,
.form-input.flatpickr-alt-input:focus {
    outline: none;
    border-color: #ea580c;
}

/* Dimensions normales : sous le champ, jamais en plein écran. */
.flatpickr-calendar {
    width: 307.875px !important;
    max-width: calc(100vw - 24px) !important;
    box-sizing: border-box !important;
    font-size: 14px !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.18) !important;
}

/* Contenu toujours à la largeur réelle du calendrier. */
.flatpickr-calendar .flatpickr-innerContainer,
.flatpickr-calendar .flatpickr-rContainer,
.flatpickr-calendar .flatpickr-weekdays,
.flatpickr-calendar .flatpickr-days,
.flatpickr-calendar .dayContainer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Sept colonnes égales, sans padding qui ferait déborder les jours. */
.flatpickr-calendar .dayContainer {
    display: flex !important;
    flex-wrap: wrap !important;
    padding: 1px 0 !important;
}

.flatpickr-calendar .flatpickr-day {
    flex: 0 0 calc(100% / 7) !important;
    width: calc(100% / 7) !important;
    max-width: none !important;
    min-width: 0 !important;
    height: 39px !important;
    line-height: 37px !important;
    padding: 0 !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
}

/* Couleurs d'origine CathyZen. */
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #ea580c !important;
    border-color: #ea580c !important;
    color: #fff !important;
}

.flatpickr-day.inRange {
    background: rgba(234, 88, 12, 0.10) !important;
    box-shadow: -5px 0 0 rgba(234, 88, 12, 0.10),
                 5px 0 0 rgba(234, 88, 12, 0.10) !important;
}

.flatpickr-day:hover,
.flatpickr-day:focus {
    background: rgba(234, 88, 12, 0.16) !important;
}

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

.flatpickr-day.flatpickr-disabled,
.flatpickr-day.flatpickr-disabled:hover {
    color: #b8b8b8 !important;
    background: transparent !important;
    cursor: not-allowed !important;
}

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

@media (max-width: 360px) {
    .flatpickr-calendar .flatpickr-day {
        height: 36px !important;
        line-height: 34px !important;
    }
}
