/* Holiday highlight */
.flatpickr-day.is-holiday {
    background: rgba(255, 215, 0, .25);
    border-radius: 4px;
}

/* Dot indicator (kampen aanwezig) */
.flatpickr-day .fp-dot {
    position: absolute;
    left: 50%;
    bottom: 3px;
    width: 6px;
    height: 6px;
    margin-left: -3px;
    border-radius: 50%;
    background: currentColor;
    opacity: .7;
}
.flatpickr-day[data-has-camps="1"] {
    color: #198754; /* groen */
}

/* Flatpickr ↔ Bootstrap 5 look */
.flatpickr-calendar {
    border: 0px solid var(--bs-border-color, #dee2e6);
    box-shadow: none;
    border-radius: 0;
    font-family: var(--bs-body-font-family, system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans","Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");
}

.flatpickr-months {
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
    padding: .25rem .5rem;
}

.flatpickr-current-month {
    font-weight: 600;
}

.flatpickr-monthDropdown-months, .numInput.cur-year {
    /* lijk op .form-select / .form-control-sm */
    border: 1px solid var(--bs-border-color, #ced4da);
    border-radius: .375rem;
    padding: .25rem .5rem;
    font-size: .875rem;
    height: calc(1.5em + .5rem + 2px);
    line-height: 1.5;
    background-color: #fff;
    color: var(--bs-body-color, #212529);
}
.numInputWrapper { border: none; } /* randje rond jaarinput weg */

.flatpickr-weekdays {
    background: var(--bs-light, #f8f9fa);
    border-bottom: 1px solid var(--bs-border-color, #dee2e6);
}
.flatpickr-weekday {
    color: var(--bs-secondary-color, #6c757d);
    font-weight: 600;
}

.flatpickr-days {
    padding: .5rem;
}

.flatpickr-day {
    border-radius: .325rem;
    color: var(--bs-body-color, #212529);
}
.flatpickr-day:hover {
    background: rgba(var(--bs-primary-rgb, 13,110,253), .08);
}


/* Vandaag subtieler: grijze stip i.p.v. rode rand */
.flatpickr-day.today {
    border-color: #ccc !important;
    box-shadow: none !important;
    color: #333;
}


.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: var(--bs-primary, #0d6efd);
    border-color: var(--bs-primary, #0d6efd);
    color: #fff;
}
/* Hover iets zachter maken */
.flatpickr-day:hover {
    background: #ef9a9a !important;
    border-color: #ef9a9a !important;
    color: #000 !important;
}
/* Disabled / buiten maand */
.flatpickr-day.disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay {
    color: var(--bs-secondary-color, #6c757d);
    opacity: .5;
}

/* Holiday highlight (zoals eerder) */
.flatpickr-day.is-holiday {
    background: rgba(255, 193, 7, .25); /* bs-warning translucenter */
    border-radius: .35rem;
}

/* Dots voor “heeft kampen” (zoals eerder) */
.flatpickr-day .fp-dot {
    position: absolute; left: 50%; bottom: 3px;
    width: 6px; height: 6px; margin-left: -3px;
    border-radius: 50%;
    background: var(--bs-success, #198754);
    opacity: .8;
}

/* Dag met kampen in groene tint */
.flatpickr-day[data-has-camps="1"] { color: var(--bs-success, #198754); }

/* Container en kolommen kleiner en fluïde */
.sidebar-calendar .flatpickr-calendar {
    width: 100% !important;
    max-width: 280px;            /* jouw sidebarbreedte */
    box-shadow: none;            /* optioneel compacter */
    font-size: 12px;             /* alles iets kleiner */
}

.sidebar-calendar .flatpickr-months { height: 32px; }
.sidebar-calendar .flatpickr-current-month {
    padding-top: 2px;
    font-size: 13px;
}
.sidebar-calendar .flatpickr-weekdays .flatpickr-weekday {
    font-size: 11px;
}

/* Dag-grid compacter */
.sidebar-calendar .flatpickr-days,
.sidebar-calendar .flatpickr-innerContainer,
.sidebar-calendar .flatpickr-rContainer,
.sidebar-calendar .dayContainer {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

.sidebar-calendar .flatpickr-day {
    height: 39px;                /* standaard ~39px */
    line-height: 30px;
    margin: 0;                   /* minder witruimte */
    font-size: 12px;
}

/* Optioneel: ruimte winnen door tijd/clear-knoppen te verbergen als je ze niet gebruikt */
.sidebar-calendar .flatpickr-time,
.sidebar-calendar .flatpickr-clear {
    display: none !important;
}

.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay,
.flatpickr-day.flatpickr-disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

/* Donkere modus – optioneel, als je BS dark gebruikt */
@media (prefers-color-scheme: dark) {
    .flatpickr-calendar {
        background: var(--bs-body-bg, #212529);
        color: var(--bs-body-color, #e9ecef);
        border-color: #343a40;
    }
    .flatpickr-weekdays { background: #2b3035; border-bottom-color: #343a40; }
    .flatpickr-day { color: var(--bs-body-color, #e9ecef); }
    .flatpickr-day:hover { background: rgba(13,110,253,.2); }
    .flatpickr-day.selected { background: var(--bs-primary, #0d6efd); border-color: var(--bs-primary, #0d6efd); color:#fff; }
}