/* Public programme: content first, compact controls, site-owned brand tokens. */
.pne.pne-calendar{--pnc-paper:var(--pn-white,#fff);--pnc-line:var(--pn-line,#d9dedb);--pne-ink:var(--pn-ink,#202321);--pne-muted:var(--pn-muted,#5c625e);--pne-red:var(--pn-accent,#c52c30);max-width:1440px;padding-block:24px 64px;background:var(--pnc-paper);font-family:var(--pn-font,"Helvetica Neue",sans-serif)}
.pne-calendar .pne-calendar-intro{display:block;margin-bottom:24px}
.pne-calendar .pne-intro-copy{min-width:0}
.pne-calendar .pnc-eyebrow{font-size:12px;font-weight:600;color:var(--pne-muted);margin-bottom:10px;letter-spacing:.03em}
.pne-calendar .pne-intro-copy h1{font-family:"PN Display",var(--pn-font);font-size:clamp(44px,5vw,72px);font-weight:800;line-height:1;letter-spacing:-.01em;text-transform:uppercase;max-width:none;text-wrap:balance}
.pne-calendar .pnc-controlbar{display:flex;align-items:center;gap:16px;position:relative;margin-bottom:24px}
.pne-calendar .pne-count{font-size:13px;margin:0 0 0 auto;white-space:nowrap;color:var(--pne-muted)}
.pne-calendar .pne-count strong{color:var(--pne-ink)}
.pne-calendar .pnc-views{display:inline-flex;align-items:center;gap:4px;padding:4px;border-radius:4px;background:var(--pn-snow,#f4f5f4);flex:none}
.pne-calendar .pnc-views>a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;border-radius:2px;font-size:13px;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s}
.pne-calendar .pnc-views>a[aria-current]{background:var(--pne-ink);color:#fff}
.pne-calendar .pnc-views>a:hover:not([aria-current]){background:var(--pn-line)}
.pne-calendar .pnc-tools{flex:none}
.pne-calendar .pnc-tools>summary{display:flex;align-items:center;gap:10px;list-style:none;cursor:pointer;min-height:44px;padding:8px 16px;border:1px solid var(--pnc-line);border-radius:4px;font-size:13px;font-weight:600;color:var(--pne-ink);background:#fff}
.pne-calendar .pnc-tools>summary::-webkit-details-marker{display:none}
.pne-calendar .pnc-tools>summary svg{width:20px;height:20px;flex:none}
.pne-calendar .pnc-tools[open]>summary{border-color:var(--pne-ink);background:var(--pn-snow)}
.pne-calendar .pnc-filter-mobile{display:none}
.pne-calendar .pnc-filter-count{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;border-radius:50%;background:var(--pne-red);color:#fff;font-size:11px}
.pne-calendar .pnc-tools-content{position:absolute;top:calc(100% + 12px);right:0;z-index:20;width:min(760px,100%);padding:24px;border:1px solid var(--pnc-line);border-radius:6px;background:#fff;box-shadow:0 12px 40px #20232120}
.pne-calendar .pne-tabs{gap:24px;margin-bottom:18px}
.pne-calendar .pne-tabs>a{padding:8px 0;min-height:44px}
.pne-calendar .pne-month-nav{gap:8px;margin:0;flex-wrap:wrap;overflow:visible;padding-bottom:0}
.pne-calendar .pne-month-nav>a{padding:8px 12px;border:1px solid var(--pnc-line);border-radius:3px;background:#fff;font-size:12px;min-height:44px}
.pne-calendar .pne-month-nav>a[aria-current]{border-color:var(--pne-ink);color:var(--pne-ink);font-weight:600}
.pne-calendar .pne-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;gap:16px;padding:0;margin:20px 0 0;border:0;background:#fff}
.pne-calendar .pne-filters label{font-size:12px}
.pne-calendar .pne-filters :is(input,select){background:#fff;border-color:#bfc4bb;border-radius:3px;height:46px}
.pne-calendar .pne-filters>a{justify-self:end;min-height:44px;display:flex;align-items:center;font-size:12px}
.pne-calendar .pne-filters>button{justify-self:start}
.pne-calendar .pnc-selection{margin:-8px 0 20px;font-size:13px;color:var(--pne-muted)}
.pne-calendar :is(.pnc-views>a,.pnc-tools>summary,.pnc-month-controls>a,.pnc-day-number):focus-visible{outline:2px solid var(--pne-red);outline-offset:3px}
.pne-calendar .pne-calendar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.pne-calendar .pne-event-card{--pnc-category:#c52c30;border-radius:6px;overflow:hidden;border:1px solid #d2d5ce;background:#fff}
.pne-calendar [data-pnc-category="sport"]{--pnc-category:#1e70a1}
.pne-calendar [data-pnc-category="gusto"]{--pnc-category:#946d20}
.pne-calendar [data-pnc-category="famiglie"]{--pnc-category:#327258}
.pne-calendar .pne-card-link{display:flex;flex-direction:column;position:relative;isolation:isolate;min-height:410px;aspect-ratio:4/5;color:#fff;background:#1b211f}
.pne-calendar .pne-card-image{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;z-index:-1;background:#1b211f}
.pne-calendar .pne-card-image::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,13,17,.12),rgba(6,13,17,.05) 20%,rgba(6,13,17,.82) 62%,rgba(6,13,17,.97));pointer-events:none}
.pne-calendar .pne-card-image>img{height:100%;width:100%;object-fit:cover}
.pne-calendar .pne-card-date{top:18px;left:18px;padding:12px;min-width:74px;border-top:4px solid var(--pnc-category);border-radius:2px}
.pne-calendar .pne-card-date>strong{font-size:30px}
.pne-calendar .pne-card-date>span{font-size:11px}
.pne-calendar .pne-card-open{display:none}
.pne-calendar .pne-card-copy{margin-top:auto;padding:145px 24px 24px;position:relative}
.pne-calendar .pne-card-copy .pne-meta{color:#fff;font-size:11px;font-weight:700;letter-spacing:.035em;text-transform:uppercase;gap:8px;display:flex;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.pne-calendar .pne-card-copy .pne-meta::before{content:"";width:8px;height:8px;flex:none;border-radius:50%;background:var(--pnc-category);box-shadow:0 0 0 1px #fff8}
.pne-calendar .pne-card-copy h2{font-size:clamp(25px,2.3vw,36px);line-height:1.04;color:#fff;font-weight:700;letter-spacing:-.025em;overflow-wrap:break-word}
.pne-calendar .pne-card-subtitle{color:#f4f5f2;font-size:14px;line-height:1.5;margin-top:12px}
.pne-calendar .pne-card-location{color:#f4f5f2;font-size:12px;line-height:1.5;margin-top:18px}
.pne-calendar .pne-card-copy .pne-badge{color:#fff;background:#ffffff26;border:1px solid #ffffff55;padding:3px 6px;border-radius:3px;font-size:10px;text-transform:none}
.pne-calendar .pnc-card-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;font-size:12px;font-weight:700;letter-spacing:.025em;padding-top:16px;margin-top:16px;border-top:1px solid #ffffff66}
.pne-calendar .pnc-card-cta>span{font-size:22px;line-height:1}
.pne-calendar .pne-card-link:hover{color:#fff}
.pne-calendar .pne-card-link:focus-visible{outline-offset:-6px;outline-color:#fff}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-calendar-grid,.pne-calendar[data-pnc-layout="month"]:not(.pnc-ready) .pne-calendar-grid{grid-template-columns:1fr;gap:14px}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-link,.pne-calendar[data-pnc-layout="month"]:not(.pnc-ready) .pne-card-link{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px;min-height:0;aspect-ratio:auto;padding:16px;background:#fff;color:var(--pne-ink)}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-image,.pne-calendar[data-pnc-layout="month"]:not(.pnc-ready) .pne-card-image{position:relative;inset:auto;z-index:auto;aspect-ratio:4/3;border-radius:3px}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-image::after,.pne-calendar[data-pnc-layout="month"]:not(.pnc-ready) .pne-card-image::after{display:none}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-copy,.pne-calendar[data-pnc-layout="month"]:not(.pnc-ready) .pne-card-copy{padding:8px 12px 8px 0;align-self:center;margin:0}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-copy :is(h2,.pne-meta,.pne-card-subtitle,.pne-card-location,.pne-badge){color:var(--pne-ink)}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-copy h2{font-size:28px}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-badge{border-color:#ccd1c8;background:var(--pnc-paper)}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pnc-card-cta{border-color:var(--pnc-line);max-width:360px}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-date{top:10px;left:10px;padding:8px;min-width:58px}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-date>strong{font-size:23px}
.pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-date>span{font-size:9px}
.pne-calendar.pnc-ready[data-pnc-layout="month"] .pne-calendar-grid{display:none}
.pne-calendar .pnc-results{position:relative;scroll-margin-top:100px}
.pne-calendar .pnc-month[hidden]{display:none}
.pne-calendar .pnc-month{scroll-margin-top:100px}
.pne-calendar .pnc-month-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}
.pne-calendar .pnc-month-header h2{font-family:"PN Display",var(--pn-font);font-weight:800;font-size:36px;letter-spacing:-.01em;text-transform:uppercase}
.pne-calendar .pnc-month-controls{display:flex;align-items:center;gap:8px}
.pne-calendar .pnc-month-controls :is(a,select){min-height:42px;border:1px solid var(--pnc-line);border-radius:3px;background:#fff;padding:8px 12px;color:var(--pne-ink);font-size:13px;text-decoration:none}
.pne-calendar .pnc-month-controls>a[aria-disabled]{opacity:.4;pointer-events:none}
.pne-calendar .pnc-month-table{table-layout:fixed;width:100%;border-collapse:collapse;border:1px solid var(--pnc-line);margin:0;background:#fff}
.pne-calendar .pnc-month-table th{padding:12px 4px;background:var(--pne-ink);color:#fff;font-size:12px;font-weight:600;border:0;text-align:center}
.pne-calendar .pnc-month-table td{height:130px;vertical-align:top;border:1px solid var(--pnc-line);padding:8px;min-width:0}
.pne-calendar .pnc-month-table td.pnc-outside{background:#edeee9}
.pne-calendar .pnc-day-number{display:flex;align-items:center;justify-content:center;width:30px;height:30px;font-size:13px;font-weight:600;border:0;background:transparent;color:var(--pne-ink);border-radius:50%;padding:0;margin:0 0 6px}
.pne-calendar button.pnc-day-number{background:#edf2f4;cursor:pointer}
.pne-calendar .pnc-day-number[aria-pressed="true"]{background:var(--pne-red);color:#fff}
.pne-calendar .pnc-today .pnc-day-number{box-shadow:0 0 0 1px var(--pne-red)}
.pne-calendar .pnc-month-entry{display:block;margin-top:5px;padding:6px 7px;border-left:3px solid var(--pne-red);background:#f0f2ed;border-radius:2px;font-size:11px;font-weight:600;line-height:1.3;text-decoration:none;overflow-wrap:anywhere}
.pne-calendar .pnc-month-entry>small{display:block;color:var(--pne-muted);font-size:10px;font-weight:400;margin-bottom:3px}
.pne-calendar .pnc-day-dot{display:none;width:5px;height:5px;border-radius:50%;background:var(--pne-red);margin:auto}
.pne-calendar .pnc-day-panel{margin-top:18px;border:1px solid var(--pnc-line);border-radius:6px;background:#fff;padding:24px}
.pne-calendar .pnc-day-panel>h3{font-size:23px;margin-bottom:18px}
.pne-calendar .pnc-day-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;list-style:none;padding:0;margin:0}
.pne-calendar .pnc-day-list>li{padding:16px;background:var(--pnc-paper);border-left:3px solid var(--pne-red)}
.pne-calendar .pnc-day-list a{display:block;text-decoration:none;font-size:18px;font-weight:700;line-height:1.3}
.pne-calendar .pnc-day-list p{font-size:13px;line-height:1.5;color:var(--pne-muted);margin-top:8px}
.pne-calendar .pnc-periods{margin:18px 0;padding:20px;border:1px solid var(--pnc-line);background:#fff}
.pne-calendar .pnc-periods>h3{font-size:19px;margin-bottom:12px}
.pne-calendar .pnc-periods>a{display:block;font-size:14px;padding:10px 0;border-top:1px solid var(--pnc-line)}
.pne-calendar .pne-archive-link{margin-top:36px;padding-top:24px}
.pnc-sr{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
/* The next real event leads the board; it remains the same single catalogue entry. */
.pne-calendar[data-pnc-layout="poster"] [data-pnc-feature]{grid-column:span 2}
.pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-link{aspect-ratio:auto;height:100%;min-height:430px}
.pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-copy{padding:160px 32px 32px;max-width:560px}
.pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-copy h2{font-family:"PN Display",var(--pn-font);font-size:clamp(44px,5vw,72px);font-weight:800;letter-spacing:0;line-height:.98;text-transform:uppercase}
.pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-image::after{background:linear-gradient(90deg,rgba(6,13,17,.88),rgba(6,13,17,.4) 70%,rgba(6,13,17,.15)),linear-gradient(0deg,rgba(6,13,17,.65),transparent 65%)}
.pne-calendar .pnc-feature-label{display:none}
.pne-calendar[data-pnc-layout="poster"] .pnc-feature-label{display:inline-flex;align-self:start;width:max-content;max-width:100%;background:var(--pne-red);color:#fff;font-size:11px;font-weight:700;line-height:1.5;padding:5px 9px;margin-bottom:14px;border-radius:2px}
@media(max-width:1000px){.pne-calendar[data-pnc-layout="poster"] [data-pnc-feature]{grid-column:span 2}.pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-link{min-height:420px}}

@media(max-width:1000px){.pne-calendar .pne-calendar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pne-calendar .pnc-month-table td{height:110px;padding:5px}}
@media(max-width:650px){
 .pne.pne-calendar{padding-block:20px 48px}
 .pne-calendar .pne-calendar-intro{margin-bottom:18px}
 .pne-calendar .pne-intro-copy h1{font-size:clamp(34px,10.5vw,52px)}
 .pne-calendar .pnc-eyebrow{font-size:11px;margin-bottom:8px}
 .pne-calendar .pnc-controlbar{gap:10px;flex-wrap:wrap;justify-content:space-between;margin-bottom:18px}
 .pne-calendar .pne-count{display:none}
 .pne-calendar .pnc-views{gap:2px;padding:3px}
 .pne-calendar .pnc-views>a{padding:8px 11px;min-height:44px;font-size:12px}
 .pne-calendar .pnc-tools>summary{padding:8px 10px;gap:7px;font-size:12px}
 .pne-calendar .pnc-filter-desktop{display:none}
 .pne-calendar .pnc-filter-mobile{display:inline}
 .pne-calendar .pnc-tools[open]{flex-basis:100%}
 .pne-calendar .pnc-tools[open]>summary{width:max-content;margin-left:auto}
 .pne-calendar .pnc-tools-content{position:static;width:100%;padding:18px;margin-top:12px;box-shadow:none}
 .pne-calendar .pne-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:0;gap:12px;margin-top:18px}
 .pne-calendar .pne-filters label{grid-column:1/-1}
 .pne-calendar .pne-filters :is(input,select){font-size:16px}
 .pne-calendar .pnc-selection{font-size:12px;margin:0 0 16px}
 .pne-calendar .pne-calendar-grid{grid-template-columns:1fr;gap:18px}
 .pne-calendar .pne-card-link{aspect-ratio:4/5;min-height:390px}
 .pne-calendar[data-pnc-layout="poster"] [data-pnc-feature]{grid-column:auto}
 .pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-link{aspect-ratio:4/5;min-height:430px}
 .pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-copy{padding:145px 22px 22px;max-width:none}
 .pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-copy h2{font-size:48px}
 .pne-calendar[data-pnc-layout="poster"] [data-pnc-feature] .pne-card-image::after{background:linear-gradient(180deg,rgba(6,13,17,.1),rgba(6,13,17,.2) 20%,rgba(6,13,17,.88) 62%,rgba(6,13,17,.97))}
 .pne-calendar .pne-card-copy{padding:130px 22px 22px}
 .pne-calendar .pne-card-copy h2{font-size:32px}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-link{grid-template-columns:100px minmax(0,1fr);gap:16px;padding:12px}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-image{aspect-ratio:3/4;height:100%;min-height:140px}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-copy{padding:2px 0}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-copy h2{font-size:23px}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-date{top:6px;left:6px;right:6px;padding:6px;min-width:0}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-date>strong{font-size:22px}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-date>span{font-size:8px}
 .pne-calendar:is([data-pnc-layout="agenda"],[data-pnc-layout="month"]:not(.pnc-ready)) .pne-card-subtitle{font-size:12px}
 .pne-calendar .pnc-month-header{align-items:start;flex-direction:column;gap:12px}
 .pne-calendar .pnc-month-header h2{font-size:32px}
 .pne-calendar .pnc-month-controls{width:100%}
 .pne-calendar .pnc-month-controls select{flex:1;min-width:0;font-size:16px}
 .pne-calendar .pnc-month-table th{font-size:11px;padding:10px 2px}
 .pne-calendar .pnc-month-table td{height:64px;padding:6px 2px;text-align:center}
 .pne-calendar .pnc-day-number{margin:0 auto 5px;width:30px;height:30px}
 .pne-calendar .pnc-month-entry{display:none}
 .pne-calendar .pnc-day-dot{display:block}
 .pne-calendar .pnc-day-panel{padding:18px}
 .pne-calendar .pnc-day-list{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){.pne-calendar .pne-card-image>img{transition:none;transform:none!important}.pne-calendar .pnc-views>a{transition:none}}
