/* ============================================
   PROGRAMMAZIONE E CALENDARIO DELL'AULA
   ============================================

   Due pagine, un foglio: la lista degli eventi mese per mese
   (/programmazione/) e la griglia della disponibilità della sala
   (/affitto-sala/calendario.html). Si appoggia a wiki.css e workshop.css.
   ============================================ */

:root {
    /* I workshop sono la roba mia, quindi prendono il rosso del sito; gli
       eventi di chi affitta l'aula il viola, e quello che tengo fuori sede il
       grigio. Tre colori, e si capisce a colpo d'occhio di chi è la giornata. */
    --cal-course: var(--fb-red);
    --cal-event: #733397;
    --cal-external: #64748b;
    --cal-free: #059669;
    --cal-busy: #b45309;
    --cal-closed: #94a3b8;
}

/* ---- Legenda ---- */
.cal-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1.2rem;
    margin-top: 2rem;
    padding: 1rem 1.3rem;
    background: var(--wiki-card-bg);
    border: 1px solid var(--wiki-glass-border);
    border-radius: var(--wiki-radius);
}

.cal-legend-item {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    font-size: .85rem;
    color: var(--wiki-text-muted);
}

.cal-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    display: inline-block;
    flex-shrink: 0;
}

.cal-dot-course { background: var(--cal-course); }
.cal-dot-event { background: var(--cal-event); }
.cal-dot-external { background: var(--cal-external); }
.cal-dot-free { background: var(--cal-free); }
.cal-dot-busy { background: var(--cal-busy); }
.cal-dot-closed { background: var(--cal-closed); }

/* ---- La lista della programmazione ---- */
.cal-programme { margin-top: 1.5rem; }

.cal-month { margin-top: 2rem; }

.cal-month h2 {
    font-size: 1.15rem;
    font-weight: 800;
    color: var(--wiki-dark);
    text-transform: capitalize;
    margin: 0 0 .9rem;
    padding-bottom: .5rem;
    border-bottom: 2px solid var(--wiki-glass-border);
}

.cal-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .7rem; }

.cal-row {
    display: flex;
    align-items: center;
    gap: 1.1rem;
    flex-wrap: wrap;
    background: var(--wiki-card-bg);
    border: 1px solid var(--wiki-glass-border);
    border-radius: var(--wiki-radius-sm);
    padding: .9rem 1.2rem;
}

/* Le righe fuori sede restano distinte dal fondo, più tenue delle altre. */
.cal-row-external { background: var(--wiki-bg); }

.cal-day {
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 42px;
    line-height: 1.1;
}

.cal-day b { font-size: 1.35rem; font-weight: 800; color: var(--wiki-dark); }
.cal-day span { font-size: .7rem; text-transform: uppercase; letter-spacing: .04em; color: var(--wiki-text-muted); }

.cal-body { flex: 1; min-width: 200px; display: flex; flex-direction: column; gap: .15rem; }
.cal-title { font-size: .98rem; font-weight: 700; color: var(--wiki-dark); }
.cal-sub { font-size: .87rem; color: var(--wiki-text-muted); }
.cal-meta { font-size: .8rem; color: var(--wiki-text-muted); }

.cal-side { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; }
.cal-price { font-size: 1.05rem; font-weight: 800; color: var(--wiki-dark); white-space: nowrap; }

/* Il pulsante di fianco a una data non si chiama più `cal-link`: dal 2026-08-17
   è `fb-iscriviti`, che sta in wiki.css ed è lo stesso dei workshop, cioè quello
   che stava su binatomy.com. Qui non serve più niente. */

/* ---- Sottoscrizione ---- */
.cal-subscribe {
    margin-top: 2.8rem;
    background: var(--wiki-card-bg);
    border: 1px solid var(--wiki-glass-border);
    border-radius: var(--wiki-radius);
    padding: 2rem;
    box-shadow: var(--wiki-shadow);
}

.cal-subscribe h2 {
    display: flex;
    align-items: center;
    gap: .5rem;
    font-size: 1.3rem;
    font-weight: 800;
    margin: 0 0 .5rem;
    color: var(--wiki-dark);
}

.cal-subscribe h2 [data-lucide] { width: 21px; height: 21px; color: var(--wiki-primary); }
.cal-subscribe > p { font-size: .95rem; line-height: 1.65; margin: 0 0 1.2rem; }
.cal-subscribe-actions { display: flex; flex-wrap: wrap; gap: .7rem; }

/* ============================================
   La griglia della disponibilità dell'aula
   ============================================ */

.cal-grid-wrap { margin-top: 1.5rem; }

.cal-grid-month { margin-top: 2rem; }

.cal-grid-month h2 {
    font-size: 1.1rem;
    font-weight: 800;
    color: var(--wiki-dark);
    text-transform: capitalize;
    margin: 0 0 .8rem;
}

.cal-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: .35rem;
    background: var(--wiki-card-bg);
    border: 1px solid var(--wiki-glass-border);
    border-radius: var(--wiki-radius);
    padding: 1rem;
}

.cal-grid-head {
    font-size: .72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--wiki-text-muted);
    text-align: center;
    padding-bottom: .3rem;
}

.cal-cell {
    aspect-ratio: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    border-radius: var(--wiki-radius-xs);
    font-size: .82rem;
    background: var(--wiki-bg);
    color: var(--wiki-text-muted);
}

.cal-cell-empty { background: transparent; }
.cal-cell-free { background: rgba(5, 150, 105, .12); color: #065f46; font-weight: 700; }
.cal-cell-half { background: rgba(180, 83, 9, .14); color: #92400e; font-weight: 700; }
.cal-cell-busy { background: rgba(148, 163, 184, .22); color: #475569; text-decoration: line-through; }
.cal-cell-closed { background: rgba(148, 163, 184, .12); color: var(--cal-closed); }

/* Il pallino sotto il numero dice «mezza giornata libera» senza una legenda in
   più: la cella intera è già colorata, questo distingue il mezzo dal pieno. */
.cal-cell-dot { width: 5px; height: 5px; border-radius: 50%; background: currentColor; opacity: .6; }

@media (max-width: 640px) {
    .cal-subscribe { padding: 1.4rem; }
    .cal-row { gap: .8rem; padding: .8rem 1rem; }
    .cal-grid { padding: .6rem; gap: .25rem; }
    .cal-cell { font-size: .72rem; }
}
