/* flatpickr overrides para manter responsividade, respiro no calendário e alinhamento com o padrão visual do projeto */
.flatpickr-calendar.inline {
    width: 100%;
    max-width: 315px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
    border: 1px solid #ebebeb;
    border-radius: 8px;
    font-family: 'Poppins', sans-serif;
    color: #001E27;
}
.flatpickr-months {
    padding-top: 12px;
    padding-bottom: 12px;
    display: flex;
    align-items: center;
    background-color: transparent;
    border-radius: 8px 8px 0 0;
}
.flatpickr-months .flatpickr-month {
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #001E27;
    fill: #001E27;
}
.flatpickr-current-month {
    padding: 0 !important;
    display: flex !important;
    align-items: center;
    justify-content: center;
    height: 100%;
    font-size: 110%;
    font-weight: 500;
}
.flatpickr-current-month .flatpickr-monthDropdown-months {
    margin-right: 5px;
    padding: 2px;
    height: auto;
    vertical-align: middle;
    font-weight: 600;
    color: #001E27;
}
.flatpickr-current-month .numInputWrapper {
    width: 80px;
    height: auto;
    vertical-align: middle;
}
.flatpickr-current-month input.cur-year {
    padding: 0 18px 0 0 !important;
    margin-left: 5px;
    box-sizing: border-box;
    text-align: left !important;
    font-weight: 600;
    color: #001E27;
}
.flatpickr-months .flatpickr-prev-month, 
.flatpickr-months .flatpickr-next-month {
    color: #001E27;
    fill: #001E27;
    padding: 10px;
}
.flatpickr-months .flatpickr-prev-month:hover svg, 
.flatpickr-months .flatpickr-next-month:hover svg {
    fill: #5E16FF;
}

/* Weekdays */
span.flatpickr-weekday {
    color: #8c8c8c;
    font-weight: 500;
}

/* Days */
.flatpickr-day {
    color: #001E27;
}
.flatpickr-day.inRange, 
.flatpickr-day.prevMonthDay.inRange, 
.flatpickr-day.nextMonthDay.inRange, 
.flatpickr-day.today.inRange, 
.flatpickr-day.prevMonthDay.today.inRange, 
.flatpickr-day.nextMonthDay.today.inRange, 
.flatpickr-day:hover, 
.flatpickr-day.prevMonthDay:hover, 
.flatpickr-day.nextMonthDay:hover, 
.flatpickr-day:focus, 
.flatpickr-day.prevMonthDay:focus, 
.flatpickr-day.nextMonthDay:focus {
    background: #ebebeb;
    border-color: #ebebeb;
    color: #001E27;
}

.flatpickr-day.today {
    border-color: #5E16FF;
    font-weight: 600;
}

.flatpickr-day.selected, 
.flatpickr-day.startRange, 
.flatpickr-day.endRange, 
.flatpickr-day.selected.inRange, 
.flatpickr-day.startRange.inRange, 
.flatpickr-day.endRange.inRange, 
.flatpickr-day.selected:focus, 
.flatpickr-day.startRange:focus, 
.flatpickr-day.endRange:focus, 
.flatpickr-day.selected:hover, 
.flatpickr-day.startRange:hover, 
.flatpickr-day.endRange:hover, 
.flatpickr-day.selected.prevMonthDay, 
.flatpickr-day.startRange.prevMonthDay, 
.flatpickr-day.endRange.prevMonthDay, 
.flatpickr-day.selected.nextMonthDay, 
.flatpickr-day.startRange.nextMonthDay, 
.flatpickr-day.endRange.nextMonthDay {
    background: #5E16FF;
    border-color: #5E16FF;
    color: #fff;
}

.flatpickr-day.selected.startRange + .endRange:not(:nth-child(7n+1)), 
.flatpickr-day.startRange.startRange + .endRange:not(:nth-child(7n+1)), 
.flatpickr-day.endRange.startRange + .endRange:not(:nth-child(7n+1)) {
    box-shadow: -10px 0 0 #5E16FF;
}

.flatpickr-day.flatpickr-disabled, 
.flatpickr-day.flatpickr-disabled:hover, 
.flatpickr-day.prevMonthDay, 
.flatpickr-day.nextMonthDay, 
.flatpickr-day.notAllowed, 
.flatpickr-day.notAllowed.prevMonthDay, 
.flatpickr-day.notAllowed.nextMonthDay {
    color: #c0c0c0;
}