﻿@charset "UTF-8";
/* =====================================================================
   scheda-date-libere.css - DATE LIBERE nei calendari della scheda Dormire
   (2026-10-24). Classi aggiunte da App_Script/scheda-date-libere.js ai
   giorni flatpickr (tema airbnb della pagina):
     .elm-dl-occ  notte occupata (grigio caldo barrato, non selezionabile)
     .elm-dl-arr  primo giorno occupato: mezza cella, vale come partenza
     .elm-dl-dep  partenza dell'altro ospite: mezza cella, vale come arrivo
   Le regole non toccano i giorni gia' scelti (selected/inRange).
   Testi della legenda >= 12px (regola del sito).
   ===================================================================== */
.flatpickr-calendar.elm-dl-on {
    --elm-dl-bg: #efebe5;
    --elm-dl-half: #e2dbd1;
    --elm-dl-stripe: rgba(90, 78, 64, .10);
    --elm-dl-ink: #857d72;
}

.elm-dl-on .flatpickr-day.elm-dl-occ:not(.selected):not(.startRange):not(.endRange):not(.inRange) {
    background-color: var(--elm-dl-bg);
    background-image: repeating-linear-gradient(135deg, var(--elm-dl-stripe) 0, var(--elm-dl-stripe) 3px, transparent 3px, transparent 7px);
    border-color: transparent;
    color: var(--elm-dl-ink);
    text-decoration: line-through;
    text-decoration-color: rgba(90, 78, 64, .45);
    cursor: not-allowed;
}
.elm-dl-on .flatpickr-day.elm-dl-occ.flatpickr-disabled:hover,
.elm-dl-on .flatpickr-day.elm-dl-occ.flatpickr-disabled:focus {
    background-color: var(--elm-dl-bg);
    border-color: transparent;
}

/* primo giorno di un periodo occupato: mattina libera (partenza possibile) */
.elm-dl-on .flatpickr-day.elm-dl-arr:not(.selected):not(.startRange):not(.endRange):not(.inRange) {
    background-color: transparent;
    background-image: linear-gradient(to bottom right, transparent 49.5%, var(--elm-dl-half) 50.5%);
}
/* quando vale come partenza (arrivo gia' scelto) torna leggibile e cliccabile */
.elm-dl-on .flatpickr-day.elm-dl-arr:not(.flatpickr-disabled):not(.selected):not(.startRange):not(.endRange) {
    color: #3b3530;
    text-decoration: none;
    cursor: pointer;
}

/* giorno di partenza dell'altro ospite: mattina occupata, arrivo possibile */
.elm-dl-on .flatpickr-day.elm-dl-dep:not(.selected):not(.startRange):not(.endRange):not(.inRange):not(.flatpickr-disabled) {
    background-image: linear-gradient(to bottom right, var(--elm-dl-half) 49.5%, transparent 50.5%);
}

/* ---------- legenda sotto il calendario ---------- */
.elm-dl-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 16px;
    padding: 10px 12px 12px;
    border-top: 1px solid #eee8e1;
    font-size: 12.5px;
    line-height: 1.4;
    color: #5b544c;
    text-align: left;
}
.elm-dl-key { display: inline-flex; align-items: center; gap: 7px; }
.elm-dl-sw { display: inline-block; width: 16px; height: 16px; border-radius: 5px; flex: 0 0 auto; }
.elm-dl-sw--free { background: #fff; border: 1px solid #d8d0c6; }
.elm-dl-sw--occ {
    background-color: #efebe5;
    background-image: repeating-linear-gradient(135deg, rgba(90, 78, 64, .16) 0, rgba(90, 78, 64, .16) 2px, transparent 2px, transparent 5px);
    border: 1px solid #ddd5ca;
}
.elm-dl-note { flex: 1 1 100%; margin: 0; font-size: 12px; color: #6f675d; }
.elm-dl-msg {
    flex: 1 1 100%;
    margin: 0;
    padding: 7px 10px;
    border-radius: 8px;
    background: #fff4e5;
    color: #7a4a00;
    font-size: 12.5px;
}
.elm-dl-msg[hidden] { display: none; }
