/* ════════════════════════════════════════════════════════════════
   HANZO — Tema date picker (flatpickr) in stile B/N executive
   Sovrascrive il look di default per un calendario moderno e pulito.
   ════════════════════════════════════════════════════════════════ */

.flatpickr-calendar {
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    box-shadow: 0 18px 48px rgba(16, 24, 40, .16);
    background: #fff;
    padding: 6px;
    width: 19rem;
    font-family: inherit;
}
.flatpickr-calendar.arrowTop:before,
.flatpickr-calendar.arrowTop:after,
.flatpickr-calendar.arrowBottom:before,
.flatpickr-calendar.arrowBottom:after { display: none; }  /* niente freccetta */

/* Header mese/anno */
.flatpickr-months { padding: 4px 2px 8px; align-items: center; }
.flatpickr-months .flatpickr-month { color: #0a0a0a; height: 36px; }
.flatpickr-current-month {
    font-size: .98rem; font-weight: 700; padding-top: 4px; color: #0a0a0a;
}
.flatpickr-current-month .flatpickr-monthDropdown-months { font-weight: 700; }
.flatpickr-current-month input.cur-year { font-weight: 700; color: #0a0a0a; }
.flatpickr-monthDropdown-months { border-radius: 8px; }

/* Frecce navigazione */
.flatpickr-months .flatpickr-prev-month,
.flatpickr-months .flatpickr-next-month {
    width: 32px; height: 32px; padding: 6px;
    border-radius: 9px; top: 5px;
    display: flex; align-items: center; justify-content: center;
    transition: background .15s;
}
.flatpickr-months .flatpickr-prev-month { left: 6px; }
.flatpickr-months .flatpickr-next-month { right: 6px; }
.flatpickr-months .flatpickr-prev-month:hover,
.flatpickr-months .flatpickr-next-month:hover { background: #f1f1f3; }
.flatpickr-months .flatpickr-prev-month svg,
.flatpickr-months .flatpickr-next-month svg { width: 13px; height: 13px; }
.flatpickr-months .flatpickr-prev-month svg path,
.flatpickr-months .flatpickr-next-month svg path { fill: #0a0a0a; }

/* Intestazioni giorni (L M M G V S D) */
.flatpickr-weekdays { margin: 2px 0 4px; }
span.flatpickr-weekday {
    color: #a1a1aa; font-weight: 700; font-size: .68rem;
    text-transform: uppercase; letter-spacing: .4px;
}

/* Griglia giorni: forza ESATTAMENTE 7 colonne per riga, allineate alle
   intestazioni (LUN…DOM). Senza questo, con la larghezza del tema ci stavano
   8 celle per riga e i numeri risultavano sfalsati di un giorno. */
.flatpickr-rContainer,
.flatpickr-days,
.flatpickr-days .dayContainer {
    width: 100%;
    min-width: 0;
    max-width: 100%;
}
/* Giorni */
.flatpickr-day {
    border-radius: 9px; color: #18181b; font-size: .85rem;
    height: 36px; line-height: 36px;
    flex: 0 0 14.2857143%; max-width: 14.2857143%; margin: 0;
    border: 1px solid transparent;
    transition: background .12s, color .12s, border-color .12s;
}
.flatpickr-day:hover,
.flatpickr-day:focus { background: #f4f4f5; border-color: #f4f4f5; }
.flatpickr-day.today {
    border-color: #0a0a0a;
}
.flatpickr-day.today:hover { background: #0a0a0a; color: #fff; }
.flatpickr-day.selected,
.flatpickr-day.selected:hover,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: #0a0a0a; color: #fafafa;
    border-color: #0a0a0a;
    box-shadow: none;
}
/* Range (Dal–Al) */
.flatpickr-day.inRange {
    background: #f4f4f5; border-color: #f4f4f5;
    box-shadow: -5px 0 0 #f4f4f5, 5px 0 0 #f4f4f5;
}
.flatpickr-day.flatpickr-disabled,
.flatpickr-day.prevMonthDay,
.flatpickr-day.nextMonthDay { color: #d4d4d8; }
.flatpickr-day.flatpickr-disabled:hover { background: transparent; border-color: transparent; }

/* Selettore orario (se usato) */
.flatpickr-time input:hover,
.flatpickr-time .flatpickr-am-pm:hover { background: #f4f4f5; }

/* ── Dark mode ── */
html[data-theme="dark"] .flatpickr-calendar {
    background: #18181b; border-color: #27272a;
    box-shadow: 0 18px 48px rgba(0,0,0,.5);
}
html[data-theme="dark"] .flatpickr-months .flatpickr-month,
html[data-theme="dark"] .flatpickr-current-month,
html[data-theme="dark"] .flatpickr-current-month input.cur-year { color: #fafafa; }
html[data-theme="dark"] .flatpickr-months .flatpickr-prev-month svg path,
html[data-theme="dark"] .flatpickr-months .flatpickr-next-month svg path { fill: #fafafa; }
html[data-theme="dark"] .flatpickr-months .flatpickr-prev-month:hover,
html[data-theme="dark"] .flatpickr-months .flatpickr-next-month:hover { background: #27272a; }
html[data-theme="dark"] .flatpickr-day { color: #e4e4e7; }
html[data-theme="dark"] .flatpickr-day:hover,
html[data-theme="dark"] .flatpickr-day:focus { background: #27272a; border-color: #27272a; }
html[data-theme="dark"] .flatpickr-day.today { border-color: #fafafa; }
html[data-theme="dark"] .flatpickr-day.selected {
    background: #fafafa; color: #0a0a0a; border-color: #fafafa;
}
html[data-theme="dark"] .flatpickr-day.inRange {
    background: #27272a; border-color: #27272a;
    box-shadow: -5px 0 0 #27272a, 5px 0 0 #27272a;
}
html[data-theme="dark"] .flatpickr-day.prevMonthDay,
html[data-theme="dark"] .flatpickr-day.nextMonthDay,
html[data-theme="dark"] .flatpickr-day.flatpickr-disabled { color: #52525b; }
html[data-theme="dark"] span.flatpickr-weekday { color: #71717a; }
