.agenda-empty{text-align:center;padding:64px 24px;color:var(--fg-soft);font-size:1.05rem}.agenda-filters{position:sticky;top:64px;z-index:20;background:var(--bg);border-bottom:1px solid var(--border);margin:0 0 32px;backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px)}.agenda-filters-inner{display:flex;flex-wrap:nowrap;gap:8px;overflow-x:auto;overflow-y:hidden;padding:14px 4px;scrollbar-width:thin;scroll-padding-inline:16px;-webkit-overflow-scrolling:touch}.agenda-filters-inner::-webkit-scrollbar{height:4px}.agenda-filters-inner::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:2px}.agenda-filter{appearance:none;flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border-strong);background:var(--bg-elev-1);color:var(--fg-soft);border-radius:var(--radius-full);padding:8px 14px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background var(--dur-fast) var(--ease-out-soft),color var(--dur-fast) var(--ease-out-soft),border-color var(--dur-fast) var(--ease-out-soft),transform var(--dur-base) var(--ease-spring);min-height:36px;white-space:nowrap}.agenda-filter:hover{color:var(--fg);border-color:var(--brand);transform:translateY(-1px)}.agenda-filter:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.agenda-filter.is-active{background:var(--brand);border-color:var(--brand);color:#fff}.agenda-filter--cat.is-active{background:var(--cat-tint, var(--brand));border-color:var(--cat-tint, var(--brand));color:#fff}.agenda-filter-dot{width:8px;height:8px;border-radius:50%;background:var(--cat-tint, currentColor);display:inline-block;flex-shrink:0}.agenda-filter.is-active .agenda-filter-dot{background:#ffffffd9}.agenda-filter-count{font-size:11px;font-weight:600;color:var(--fg-soft);background:var(--bg-elev-2);padding:1px 7px;border-radius:var(--radius-full);margin-left:2px;font-variant-numeric:tabular-nums}.agenda-filter.is-active .agenda-filter-count{background:#fff3;color:#fff}.agenda-filter-sep{color:var(--fg-mute);align-self:center;padding:0 4px}.agenda-month+.agenda-month{margin-top:48px}.agenda-month-label{font-family:var(--font-display);font-size:clamp(1.4rem,2.4vw,1.9rem);font-weight:500;color:var(--brand);margin:0 0 20px;text-transform:capitalize;letter-spacing:-.01em}.agenda-grid{list-style:none;padding:0;margin:0;display:grid;gap:24px;grid-template-columns:1fr}@media(min-width:640px){.agenda-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.agenda-grid{grid-template-columns:repeat(3,1fr);gap:28px}}.agenda-card{border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-elev-1);border:1px solid var(--border);transition:transform var(--dur-base) var(--ease-spring),box-shadow var(--dur-base) var(--ease-out-soft),border-color var(--dur-fast) var(--ease-out-soft);position:relative;isolation:isolate}.agenda-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-2);border-color:var(--cat-tint, var(--brand))}.agenda-card-link{display:block;text-decoration:none;color:inherit;height:100%}.agenda-card-media{position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(135deg,var(--cat-tint, var(--brand)) 0%,var(--brand) 100%);display:grid;place-items:center;color:#ffffff8c}.agenda-card-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out-soft)}.agenda-card:hover .agenda-card-media img{transform:scale(1.04)}.agenda-card-glyph svg{width:56px;height:56px;opacity:.85}.agenda-card-cat-pill{position:absolute;top:12px;left:12px;z-index:1;background:#08293fc7;color:#fff;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:4px 10px;border-radius:var(--radius-full);border-left:3px solid var(--cat-tint, var(--brand))}.agenda-card-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px}.agenda-card-status{margin:-4px 0 4px;padding:8px 12px;border-radius:var(--radius-md);font-size:12px;line-height:1.4;display:flex;flex-direction:column;gap:2px}.agenda-card-status strong{font-family:var(--font-display);font-weight:500;letter-spacing:.06em;text-transform:uppercase;font-size:10.5px}.agenda-card-status--cancelled{background:#c53a2a1f;color:#b03021}.agenda-card-status--postponed{background:#c77e1c24;color:#8a5510}.agenda-card-status--rescheduled{background:#1d7aa61f;color:#155a7d}.agenda-card-status--movedOnline{background:#2b8a5221;color:#1f6940}.agenda-card-date{margin:0;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--accent-strong);font-variant-numeric:tabular-nums}.agenda-card-title{margin:0;font-family:var(--font-display);font-size:clamp(1.15rem,1.6vw,1.35rem);line-height:1.2;font-weight:500;color:var(--brand)}.agenda-card-loc{margin:0;font-size:13px;color:var(--fg-soft);line-height:1.4}.agenda-card-cta{margin-top:auto;padding-top:8px;font-family:var(--font-body);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cat-tint, var(--brand));transition:transform var(--dur-base) var(--ease-spring);display:inline-block}.agenda-card:hover .agenda-card-cta{transform:translate(3px)}:root[data-theme=dark] .agenda-card-cta{color:var(--heading)}:root[data-theme=dark] .agenda-month-label,html.dark .agenda-month-label,:root[data-theme=dark] .agenda-card-title,html.dark .agenda-card-title{color:var(--heading)}:root[data-theme=dark] .agenda-filter.is-active,html.dark .agenda-filter.is-active{background:var(--heading);border-color:var(--heading);color:var(--cream)}:root[data-theme=dark] .agenda-filter.is-active .agenda-filter-count,html.dark .agenda-filter.is-active .agenda-filter-count{background:#0d18224d;color:var(--cream)}:root[data-theme=dark] .agenda-filter:hover,html.dark .agenda-filter:hover{border-color:var(--heading)}:root[data-theme=dark] .agenda-card-status--cancelled,html.dark .agenda-card-status--cancelled{background:#c53a2a38;color:#f3a299}:root[data-theme=dark] .agenda-card-status--postponed,html.dark .agenda-card-status--postponed{background:#c77e1c38;color:#f1c779}:root[data-theme=dark] .agenda-card-status--rescheduled,html.dark .agenda-card-status--rescheduled{background:#1d7aa638;color:#8ec7e6}:root[data-theme=dark] .agenda-card-status--movedOnline,html.dark .agenda-card-status--movedOnline{background:#2b8a5238;color:#9ad6b3}[data-agenda-root][data-active-filter^="loc:local"] [data-event-card]:not([data-location=local]){display:none}[data-agenda-root][data-active-filter^="loc:nearby"] [data-event-card]:not([data-location=nearby]){display:none}[data-agenda-root][data-active-filter="cat:religiosa"] [data-event-card]:not([data-cat=religiosa]){display:none}[data-agenda-root][data-active-filter="cat:musica"] [data-event-card]:not([data-cat=musica]){display:none}[data-agenda-root][data-active-filter="cat:sagra"] [data-event-card]:not([data-cat=sagra]){display:none}[data-agenda-root][data-active-filter="cat:sport"] [data-event-card]:not([data-cat=sport]){display:none}[data-agenda-root][data-active-filter="cat:cultura"] [data-event-card]:not([data-cat=cultura]){display:none}[data-agenda-root][data-active-filter="cat:mostra"] [data-event-card]:not([data-cat=mostra]){display:none}[data-agenda-root][data-active-filter="cat:mercato"] [data-event-card]:not([data-cat=mercato]){display:none}[data-agenda-root][data-active-filter="cat:natura"] [data-event-card]:not([data-cat=natura]){display:none}[data-agenda-root][data-active-filter="cat:spettacolo"] [data-event-card]:not([data-cat=spettacolo]){display:none}[data-agenda-root][data-active-filter="cat:comunita"] [data-event-card]:not([data-cat=comunita]){display:none}[data-agenda-root][data-active-filter="cat:altro"] [data-event-card]:not([data-cat=altro]){display:none}.agenda-month:has([data-event-card]:not([style*="display: none"]):not([style*="display:none"])){display:block}.page-hero-actions{margin:24px 0 0}.page-hero-ics-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-elev-1);border:1px solid var(--border-strong);color:var(--fg);border-radius:var(--radius-full);text-decoration:none;font-family:var(--font-body);font-size:13px;font-weight:500;transition:background var(--dur-fast) var(--ease-out-soft),border-color var(--dur-fast) var(--ease-out-soft),transform var(--dur-base) var(--ease-spring)}.page-hero-ics-btn:hover{background:var(--bg-elev-2);border-color:var(--brand);transform:translateY(-1px)}.page-hero-ics-btn svg{width:16px;height:16px}
