/* =========================================================
   Flatpickr date picker — site theme (#5e0281)
   Used by: auth/register, course-categories/create + edit
   Load AFTER flatpickr.min.css.
   ========================================================= */

/* ---------- Input ---------- */
input.flatpickr-input:not([type=hidden]),
input.flatpickr-input.form-control[readonly] {
    cursor: pointer;
    background-color: #fff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%235e0281' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Crect x='3' y='4' width='18' height='18' rx='2'/%3E%3Cpath d='M16 2v4M8 2v4M3 10h18'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    padding-right: 40px;
}

/* ---------- Calendar box ---------- */
.flatpickr-calendar {
    font-family: 'Figtree', inherit;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    box-shadow: 0 10px 25px rgba(94, 2, 129, 0.15);
    padding-bottom: 6px;
}
.flatpickr-calendar.arrowTop:before    { border-bottom-color: #e5e7eb; }
.flatpickr-calendar.arrowTop:after     { border-bottom-color: #5e0281; }
.flatpickr-calendar.arrowBottom:before { border-top-color: #e5e7eb; }
.flatpickr-calendar.arrowBottom:after  { border-top-color: #fff; }

/* ---------- Header (month / year) ---------- */
.flatpickr-months {
    background: #5e0281;
    border-radius: 11px 11px 0 0;
    padding: 4px 0;
}
.flatpickr-months .flatpickr-month,
.flatpickr-current-month .flatpickr-monthDropdown-months,
.flatpickr-current-month input.cur-year {
    color: #fff;
    fill: #fff;
    font-weight: 600;
}
.flatpickr-current-month .flatpickr-monthDropdown-months { background: #5e0281; }
.flatpickr-current-month .flatpickr-monthDropdown-months option { background: #fff; color: #374151; }
.flatpickr-current-month .flatpickr-monthDropdown-months:hover,
.flatpickr-current-month span.cur-month:hover { background: #4a0167; }
.flatpickr-current-month .numInputWrapper span.arrowUp:after   { border-bottom-color: #fff; }
.flatpickr-current-month .numInputWrapper span.arrowDown:after { border-top-color: #fff; }

/* Undo the site's global input/select styles inside the calendar header */
.flatpickr-calendar .flatpickr-current-month {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    height: 34px;
    padding: 0;
    font-size: 16px;
}
.flatpickr-calendar .flatpickr-current-month input.cur-year,
.flatpickr-calendar .flatpickr-current-month .flatpickr-monthDropdown-months {
    min-height: 0;
    height: 30px;
    line-height: 30px;
    padding: 0 4px;
    margin: 0;
    border: 0 !important;
    border-radius: 6px;
    box-shadow: none;
    font-size: 16px;
    vertical-align: middle;
}
.flatpickr-calendar .flatpickr-current-month input.cur-year { background: transparent; }
.flatpickr-calendar .flatpickr-current-month .numInputWrapper { width: 64px; height: 30px; }
.flatpickr-calendar .flatpickr-current-month input.cur-year:focus { outline: none !important; }
.flatpickr-months .flatpickr-month { height: 42px; }
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    height: 42px;
    padding: 13px 12px;
    color: #fff;
    fill: #fff;
}
.flatpickr-months .flatpickr-prev-month:hover svg,
.flatpickr-months .flatpickr-next-month:hover svg { fill: #e9d5f5; }

/* ---------- Weekday labels ---------- */
span.flatpickr-weekday {
    color: #5e0281;
    font-weight: 600;
}

/* ---------- Days ---------- */
.flatpickr-day {
    color: #374151;
    border-radius: 8px;
    border-color: transparent;
    margin-top: 2px;
}
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay { color: #c4c7cc; }

.flatpickr-day:hover,
.flatpickr-day:focus,
.flatpickr-day.prevMonthDay:hover,
.flatpickr-day.nextMonthDay:hover {
    background: rgba(94, 2, 129, 0.12);
    border-color: transparent;
    color: #5e0281;
}
.flatpickr-day.today { border-color: #5e0281; }
.flatpickr-day.today:hover { background: rgba(94, 2, 129, 0.12); color: #5e0281; }

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

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

/* ---------- Limited calendars (only some dates bookable, e.g. register) ---------- */
.flatpickr-calendar.fp-limited .flatpickr-day:not(.flatpickr-disabled) {
    font-weight: 600;
    color: #374151;
    background: rgba(94, 2, 129, 0.08);
}
.flatpickr-calendar.fp-limited .flatpickr-day:not(.flatpickr-disabled):hover {
    background: rgba(94, 2, 129, 0.18);
    color: #5e0281;
}
.flatpickr-calendar.fp-limited .flatpickr-day.selected,
.flatpickr-calendar.fp-limited .flatpickr-day.selected:hover {
    background: #5e0281;
    color: #fff;
}
