/* =========================================================
   WP Weekly Calendar — GRID layout (no Bootstrap cols)
   Requisiti:
   - Il container si restringe quando una colonna è nascosta (d-none / is-empty)
   - Responsive: Desktop = 1 riga; Tablet = 2 colonne per riga; Mobile = 1 colonna per riga
   - Niente "stretch": la larghezza del container è la somma delle colonne visibili
========================================================= */

/* ---------- Variabili ---------- */
:root{
  --wpwc-border:#12131D;

  /* larghezze colonna suggerite per leggibilità */
  --wpwc-colw-xs: 320px;  /* mobile */
  --wpwc-colw-md: 240px;  /* tablet */
  --wpwc-colw-lg: 200px;  /* desktop */
}

/* ---------- Toolbar (opzionale, base) ---------- */
.wpwc-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.wpwc-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #e5e7eb;border-radius:999px;background:#fff;text-decoration:none;color:inherit}
.wpwc-chip.is-active{background:#12131D;color:#fff}
.wpwc-chip .dot{width:10px;height:10px;border-radius:50%;display:inline-block}

.wpwc-filter-toggle{display:inline-block;margin:0 0 10px 0}
@media (min-width:1024px){
  .wpwc-filter-toggle{display:none !important;}
  .wpwc-collapse.collapse{display:block !important;height:auto !important;visibility:visible !important;}
}

/* ---------- Wrapper scroll ---------- */
#wpwc-grid{ overflow-x:auto; }  /* se in desktop hai molte colonne, si può scrollare */

/* ---------- GRID: container righe/colonne ---------- */
/* Mobile default: 1 colonna per riga (matrice 1×N), shrink-to-fit */
.wpwc-row{
  display:inline-grid;                         /* shrink-to-fit: la larghezza segue le colonne visibili */
  grid-template-columns: repeat(1, var(--wpwc-colw-xs));
  gap:0;
  justify-content:start;                       /* niente centrature forzate */
  align-items:start;
}

/* Tablet: 2 colonne per riga (matrice 2×N) */
@media (min-width:768px) and (max-width:1023.98px){
  .wpwc-row{
    grid-template-columns: repeat(2, var(--wpwc-colw-md));
  }
}

/* Desktop: 1 riga con tutte le colonne (flow a colonne) */
@media (min-width:1024px){
  .wpwc-row{
    grid-template-columns:none;                /* disattiva la matrice fissa */
    grid-auto-flow:column;                     /* una traccia per ogni .wpwc-col */
    grid-auto-columns: var(--wpwc-colw-lg);    /* larghezza fissa per colonna */
  }
}

/* ---------- Colonna (giorno) ---------- */
.wpwc-col{
  display:flex; flex-direction:column; min-width:0;
  border-right:1px solid var(--wpwc-border);
}
@media (min-width:1024px){
  .wpwc-col:last-child{ border-right:none; }
}

/* Supporto esplicito a Bootstrap d-none (oltre alla tua .is-empty) */
.wpwc-col.d-none, .wpwc-col.is-empty{ display:none !important; }

/* ---------- Header giorno ---------- */
.wpwc-day{
  position:sticky; top:0; z-index:1;
  background:#fff;
  border-top:1px solid var(--wpwc-border);
  border-bottom:1px solid var(--wpwc-border);
  line-height:1.2; font-weight:700;
}

/* ---------- Corpo colonna ---------- */
.wpwc-cell{ min-height:20px; }

/* ---------- Evento ---------- */
.wpwc-event{ margin:0 0 .75rem 0 }
.wpwc-event .title{ margin:0; line-height:1.3 }
.wpwc-event .subtitle{ margin:2px 0 4px 0; line-height:1.2; opacity:.85 }

/* ---------- Effetti / filtro client-side ---------- */
.wpwc-fade{ transition:opacity 80ms cubic-bezier(.2,0,.2,1) }
.wpwc-fade.is-out{ opacity:0 }
.wpwc-event.is-hidden{ display:none }

.filter-button {
  transition: 0.25s linear;
}

.filter-button-hidden {
    opacity: 0;
    width: 0;
    margin: 0;
    padding: 0!Important;
    border-width: 0 !important;
}

.wpwc-wrap .offcanvas {
  max-height: 85vh;
  width: 95vw!important;
}
/* helper per range orario */
.time-range{opacity:.75}
