.cal{max-width:var(--wide-width);margin-inline:auto}.cal__nav{justify-content:center;align-items:center;gap:12px;margin-bottom:16px;display:flex}.cal__month-title{font-size:var(--font-size-lg);text-transform:uppercase;color:var(--color-gold);text-align:center;min-width:220px;letter-spacing:var(--tracking-widest);cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius);background:0 0;margin:0;padding:6px 12px;font-family:inherit;font-weight:700;transition:all .2s}.cal__month-title:hover,.cal__month-title[aria-expanded=true]{border-color:var(--color-gold);color:var(--color-gold);background:#c9a84c1a}.cal__nav-btn{border:1px solid var(--color-border);color:var(--color-contrast);font-size:1.5rem;line-height:var(--leading-none);border-radius:var(--radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.cal__nav-btn:hover{border-color:var(--color-gold);color:var(--color-gold);background:#c9a84c1a}.cal__today-btn{border:1px solid var(--color-border);color:var(--color-muted);font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);border-radius:var(--radius);cursor:pointer;background:0 0;padding:6px 12px;font-weight:600;transition:all .2s}.cal__today-btn:hover{border-color:var(--color-gold);color:var(--color-gold);background:#c9a84c1a}.cal__grid{border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);grid-template-columns:repeat(7,1fr);display:grid}.cal__dh{font-size:var(--font-size-2xs);text-transform:uppercase;color:var(--color-muted);letter-spacing:var(--tracking-wider);text-align:center;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#ffffff05;padding:10px 0;font-weight:700}.cal__cell{aspect-ratio:1;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-direction:column;padding:6px;display:flex;position:relative;overflow:hidden}.cal__cell--empty{background:var(--color-base)}.cal__cell--today{box-shadow:inset 0 0 0 2px var(--color-gold)}.cal__cell--event{cursor:pointer;transition:transform .15s,box-shadow .2s}.cal__cell--event:hover{z-index:2;transform:scale(1.04);box-shadow:0 4px 20px #00000080}.cal__cell--event:focus-visible{z-index:2;outline:2px solid var(--color-gold);outline-offset:-2px}.cal__cell-bg{background-position:top;background-size:cover;position:absolute;inset:0}.cal__cell[data-cat=altro] .cal__cell-bg{background-position:0}.cal__cell-overlay{background:linear-gradient(#0000 0% 40%,#000000f2 75%,#000 100%);position:absolute;inset:0}.cal__cell-day{z-index:1;font-size:var(--font-size-sm);color:var(--color-muted);font-weight:700;line-height:var(--leading-none);position:relative}.cal__cell--event .cal__cell-day{color:#fff;text-shadow:0 1px 3px #000000b3}.cal__cell--today .cal__cell-day{color:var(--color-gold)}.cal__cell-dot{display:none}.cal__cell-label{z-index:1;font-size:var(--font-size-3xs);font-weight:700;line-height:var(--leading-tight);text-shadow:0 1px 4px #000c;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:auto;display:-webkit-box;position:relative;overflow:hidden}.cal__popup{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cal__popup[hidden]{display:none}.cal__popup-inner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;width:100%;max-width:420px;animation:.2s calPopupIn;position:relative;overflow:hidden}@keyframes calPopupIn{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.cal__popup-close{z-index:10;color:#fff;font-size:var(--font-size-lg);line-height:var(--leading-none);cursor:pointer;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:background .2s;display:flex;position:absolute;top:8px;right:8px}.cal__popup-close:hover{background:#000c}.cal__popup-img{aspect-ratio:16/9;object-fit:contain;background:var(--color-surface-alt,#1a1a1a);width:100%;max-height:420px;display:block}.cal__popup-body{flex-direction:column;gap:6px;padding:16px 20px 20px;display:flex}.cal__popup-cat{font-size:var(--font-size-3xs);text-transform:uppercase;letter-spacing:var(--tracking-wider);font-weight:700}.cal__popup-title{font-size:var(--font-size-md);color:var(--color-contrast);font-weight:700;line-height:var(--leading-snug)}.cal__popup-info{border-top:1px solid var(--color-border);flex-direction:column;gap:5px;margin-top:6px;padding-top:8px;display:flex}.cal__popup-row{font-size:var(--font-size-xs);color:var(--color-muted);line-height:var(--leading-snug);align-items:flex-start;gap:8px;display:flex}.cal__popup-row svg{color:var(--color-gold);flex-shrink:0;margin-top:1px}.cal__popup-row--sub{font-size:var(--font-size-2xs);color:var(--color-muted);opacity:.7;padding-left:22px}.cal__popup-row--desc{font-size:var(--font-size-2xs);color:var(--color-muted);line-height:var(--leading-normal);text-align:justify}.cal__popup-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.cal__popup-cta{font-size:var(--font-size-2xs);color:#fff;background:var(--color-accent);border-radius:var(--radius);letter-spacing:var(--tracking-wide);white-space:nowrap;align-items:center;gap:4px;padding:6px 16px;font-weight:700;text-decoration:none;transition:background .2s;display:inline-flex}.cal__popup-cta:hover{background:var(--color-accent-hover);color:#fff}.cal__popup-btn{font-size:var(--font-size-2xs);color:var(--color-muted);border:1px solid var(--color-border);border-radius:var(--radius);white-space:nowrap;align-items:center;gap:4px;padding:5px 12px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.cal__popup-btn:hover{color:var(--color-contrast);background:#c9a84c0f;border-color:#c9a84c4d}.cal__popup-btn svg{flex-shrink:0}.cal__picker{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cal__picker[hidden]{display:none}.cal__picker-inner{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;width:100%;max-width:340px;padding:24px;animation:.15s calPopupIn;position:relative}.cal__picker-year-nav{justify-content:center;align-items:center;gap:16px;margin-bottom:12px;display:flex}.cal__picker-year{font-size:var(--font-size-md);color:var(--color-gold);text-align:center;min-width:60px;font-weight:700}.cal__picker-year-btn{border:1px solid var(--color-border);color:var(--color-contrast);font-size:var(--font-size-lg);line-height:var(--leading-none);border-radius:var(--radius);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.cal__picker-year-btn:hover{border-color:var(--color-gold);color:var(--color-gold);background:#c9a84c1a}.cal__picker-months{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.cal__picker-month{border:1px solid var(--color-border);color:var(--color-contrast);font-size:var(--font-size-xs);border-radius:var(--radius);cursor:pointer;text-transform:capitalize;background:0 0;padding:8px 4px;font-weight:600;transition:all .2s}.cal__picker-month:hover{border-color:var(--color-gold);color:var(--color-gold);background:#c9a84c1a}.cal__picker-month--active{background:var(--color-gold);color:var(--color-base);border-color:var(--color-gold)}.cal__picker-month--active:hover{background:var(--color-gold);color:var(--color-base)}.cal__legend{border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:16px;padding-top:12px;display:flex}.cal__legend-item{font-size:var(--font-size-3xs);color:var(--color-muted);text-transform:uppercase;letter-spacing:var(--tracking-wide);align-items:center;gap:6px;font-weight:600;display:flex}.cal__legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}@media (width<=640px){.cal__month-title{min-width:160px;font-size:1rem}.cal__cell{aspect-ratio:auto;align-items:center;min-height:44px;padding:6px 4px}.cal__cell-bg{display:none}.cal__cell-day{font-size:var(--font-size-xs);text-align:center}.cal__cell--event .cal__cell-day{color:var(--color-contrast);text-shadow:none}.cal__cell-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:4px;display:block}.cal__cell-label{display:none}.cal__cell--event{background:#ffffff0a}.cal__cell--event:hover{box-shadow:none;background:#ffffff14;transform:none}.cal__dh{font-size:var(--font-size-3xs);padding:8px 0}.cal__popup{padding:12px}.cal__popup-actions{flex-wrap:wrap}}
