/* Debrief del Segretariato (21/10/2026), nello stile v2: la testata del Segretariato è la stessa sui due siti
   (marchio, aree a pillola, «Il Summit 2026» sempre in evidenza, burger a tre linee del menu generale);
   sul sito di Roma, sotto, la navigazione del Summit con i colori del manifesto. Caricato per ultimo. */


/* Carattere ufficiale del Segretariato (manuale WSNPL): Optima, per i titoli del sito principale e del menu generale.
   ponytail: per ora quello installato sul dispositivo (Mac, iPhone, iPad); altrove si vede Host Grotesk.
   Con la licenza webfont (Optima nova, Linotype/Monotype) basta un @font-face qui, senza toccare altro. */
:root{--title:Optima,'Optima nova','Host Grotesk',ui-sans-serif,system-ui,sans-serif}
.context-institution :is(h1,h2,h3),.general-menu .menu-area h2,.menu-summit-text strong,.home-summit-title,.journey-home .stop .year{font-family:var(--title);letter-spacing:0}
.site-top{position:sticky;top:0;z-index:40;background:var(--paper);transition:background-color .35s var(--ease-out),box-shadow .35s var(--ease-out)}
.site-top.is-scrolled{box-shadow:0 1px 0 var(--line)}
.inst-bar.site-header{display:flex;align-items:center;gap:24px;height:88px;padding:0 var(--gutter);border:0;background:transparent}

/* marchio: emblema e nome come nel manuale («World Summit» verde, logo del 3/11/2026) */
.inst-bar .brand{display:flex;align-items:center;gap:12px;flex:none;width:auto;color:#005896;text-decoration:none}
.inst-bar .brand img{display:block;width:56px;height:56px;filter:none}
.inst-bar .brand-mark-light{display:none!important}
.brand-name{display:grid;font:400 19px/1.1 'Libre Baskerville',Georgia,serif;letter-spacing:-.01em;white-space:nowrap}
.brand-name>span:first-child{color:#2bae6f}
.brand-name i{font-size:.85em}

/* aree del Segretariato: la pillola del riferimento */
.bar-nav{margin:0 auto}
.bar-nav ul{display:flex;gap:2px;margin:0;padding:5px;list-style:none;border-radius:14px;background:var(--soft)}
.bar-nav a{display:flex;align-items:center;min-height:40px;padding:0 15px;border-radius:10px;font:500 15.5px/1 var(--sans);color:var(--ink);white-space:nowrap;transition:background-color .15s}
.bar-nav a:hover{background:color-mix(in srgb,currentColor 9%,transparent)}
.bar-nav a[aria-current]{background:color-mix(in srgb,currentColor 12%,transparent)}

.bar-tools{display:flex;align-items:center;gap:14px;margin-left:auto}
.bar-nav+.bar-tools{margin-left:0}
/* il Summit in corso: pulsante pieno con il punto «dal vivo»; pieno azzurro quando ci si è dentro */
.bar-summit{display:inline-flex;align-items:center;gap:10px;min-height:46px;padding:0 20px;border-radius:999px;background:var(--ink);color:var(--paper);font:500 15.5px/1 var(--sans);white-space:nowrap;transition:background-color .25s var(--ease-out),color .25s var(--ease-out)}
.bar-summit:hover{background:#005896;color:#fff}
.bar-summit-dot{width:8px;height:8px;border-radius:50%;background:#30bbdb;box-shadow:0 0 0 0 rgba(48,187,219,.6);animation:bar-pulse 2.4s ease-out infinite}
@keyframes bar-pulse{to{box-shadow:0 0 0 8px rgba(48,187,219,0)}}
.inst-bar .menu-toggle{display:grid;place-items:center;flex:none;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--paper);color:var(--ink);cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.inst-bar .menu-toggle:hover{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.inst-bar .menu-toggle .icon{width:22px;height:22px}

/* testata sopra la foto d'apertura (home del principale): trasparente e chiara, poi piena scorrendo */
/* 22/10: niente barra piena sulla home (copriva il globo e i testi). Le pillole restano dove sono: chiare sul fondo scuro (hero e notte
   dell'introduzione), in vetro chiaro sul cielo; .is-scrolled qui vuol dire «fondo chiaro» e lo decide home.js. Scorrendo in giù la testata
   si ritira, risalendo torna. */
.journey-home .site-top{position:fixed;left:0;right:0;background:transparent;transition:transform .45s var(--ease-out)}
.journey-home .site-top.is-scrolled{box-shadow:none}
.journey-home .site-top.is-hidden{transform:translateY(-100%)}
/* 23/10: staccata dall'apertura (.is-floating), anche marchio e lingue hanno la loro pillola in vetro: si leggono su foto e titoli.
   Sul fondo scuro vetro scuro e testi bianchi, sul chiaro vetro chiaro (home.js sceglie secondo cosa passa sotto). */
.journey-home .site-top .brand,.journey-home .site-top .language-switcher{border-radius:999px;transition:background-color .35s,box-shadow .35s}
.journey-home .site-top.is-floating .brand{margin-left:-6px;padding:5px 14px 5px 6px}
.journey-home .site-top.is-floating .language-switcher{padding:0 8px}
.journey-home .site-top.is-floating:not(.is-scrolled) :is(.brand,.language-switcher,.bar-nav ul){background:rgba(4,24,46,.62);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.journey-home .site-top.is-floating.is-scrolled :is(.brand,.language-switcher,.bar-nav ul){background:color-mix(in srgb,var(--paper) 90%,transparent);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:inset 0 0 0 1px var(--line)}
.journey-home .site-top.is-scrolled .bar-nav ul{background:color-mix(in srgb,var(--paper) 78%,transparent);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);box-shadow:inset 0 0 0 1px var(--line)}
.journey-home .site-top:not(.is-scrolled) .brand,.journey-home .site-top:not(.is-scrolled) .language-switcher{color:#fff}
.journey-home .site-top:not(.is-scrolled) .brand-mark{display:none!important}
.journey-home .site-top:not(.is-scrolled) .brand-mark-light{display:block!important}
.journey-home .site-top:not(.is-scrolled) .brand-name>span:first-child{color:#7fd6a8}
.journey-home .site-top:not(.is-scrolled) .bar-nav ul{background:rgba(255,255,255,.13);backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2)}
.journey-home .site-top:not(.is-scrolled) .bar-nav a{color:#fff}
.journey-home .site-top:not(.is-scrolled) .bar-summit{background:#fff;color:#0d1726}
.journey-home .site-top:not(.is-scrolled) .bar-summit:hover{background:#30bbdb;color:#0d1726}
.journey-home .site-top:not(.is-scrolled) .menu-toggle{border-color:rgba(255,255,255,.4);background:transparent;color:#fff}
.journey-home .site-top:not(.is-scrolled) .menu-toggle:hover{background:#fff;color:#0d1726}

/* sito di Roma: una sola testata sul fondo del manifesto; emblema del Segretariato | logo 20th, voci del Summit nella pillola crema */
.brand-pair{display:flex;align-items:center;gap:14px;flex:none}
.inst-bar.is-edition .brand img{width:60px;height:60px} /* stesso peso del logo 20th (cliente, 22/10) */
.brand-sep{width:1px;height:40px;background:var(--line)}
.summit-brand{flex:none}
.summit-brand img{display:block;width:auto;max-width:none;height:60px}
.inst-bar.is-edition .bar-nav ul{gap:2px;background:var(--crema)}
.inst-bar.is-edition .bar-nav a{color:var(--blu-poster,#2c5ea9)}
.inst-bar.is-edition .bar-nav .current-menu-item>a{background:var(--avorio,#fbf5ea);box-shadow:0 1px 2px rgba(44,94,169,.15)}
.inst-bar.is-edition .bar-nav a::after{display:none}
.inst-bar.is-edition .header-cta{display:inline-flex;align-items:center;min-height:46px;padding:0 22px;border-radius:999px;background:var(--blu-poster,#2c5ea9);color:#fff;font:500 15.5px/1 var(--sans);white-space:nowrap}
.inst-bar.is-edition .header-cta:hover{background:var(--viola,#80549b)}

/* menu generale: schermo pieno, chiaro; il Summit come scheda fotografica, poi le aree */
.general-menu.menu-dialog{inset:0;width:100%;height:100dvh;max-height:100dvh;padding:24px var(--gutter) 32px;background:var(--paper);color:var(--ink);overflow-y:auto}
.general-menu::backdrop{background:rgba(13,23,38,.35);backdrop-filter:blur(4px)}
.general-menu[open]{display:flex;flex-direction:column}
.general-menu .dialog-top{flex:none;display:flex;align-items:center;justify-content:space-between;margin-bottom:clamp(24px,4vw,48px)}
.general-menu .dialog-tools{display:flex;align-items:center;gap:14px;margin-left:auto} /* il nome del menu è solo per i lettori di schermo: gli strumenti restano a destra */
.general-menu .close-menu{width:46px;height:46px}
.general-menu .close-menu .icon{width:20px;height:20px}
.general-menu-body{flex:1 0 auto;align-content:center;display:grid;grid-template-columns:minmax(260px,clamp(360px,26vw,460px)) minmax(0,1fr);gap:clamp(28px,5vw,96px);align-items:start}
.menu-summit-card{position:relative;display:flex;flex-direction:column;justify-content:flex-end;gap:18px;min-height:clamp(460px,60vh,720px);padding:24px;overflow:hidden;border-radius:var(--radius-lg);color:#fff;text-decoration:none;isolation:isolate}
.menu-summit-photo{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:scale .8s var(--ease-out)}
.menu-summit-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,42,69,.1) 20%,rgba(11,42,69,.88))}
.menu-summit-card:hover .menu-summit-photo{scale:1.04}
.menu-summit-logo{position:absolute;top:22px;left:22px;width:auto;height:64px}
.menu-summit-text{display:grid;gap:4px}
.menu-summit-text small{font-size:14px;opacity:.85}
.menu-summit-text strong{font-size:30px;font-weight:400;line-height:1.05;letter-spacing:-.025em}
.menu-summit-text span{font-size:15.5px;opacity:.9}
.menu-summit-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border-radius:999px;background:#fff;color:#0d1726;font-weight:500}
.menu-summit-go .icon{width:16px;height:16px;transition:translate .25s var(--ease-out)}
.menu-summit-card:hover .menu-summit-go .icon{translate:3px 0}
.menu-areas{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:clamp(36px,6vh,72px) clamp(24px,3vw,56px)}
.menu-area h2{margin:0 0 14px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:clamp(26px,2.3vw,40px);font-weight:400;letter-spacing:-.025em;line-height:1.05}
.menu-area h2 a,.menu-area li a{color:inherit;text-decoration:none}
.menu-area h2 a:hover{color:#005896}
.general-menu .menu-area ul{display:grid;gap:2px;margin:0;padding:0;list-style:none}
.general-menu .menu-area li a{display:block;padding:clamp(7px,.9vh,11px) 0;border:0;font-size:clamp(16px,1.1vw,19px);line-height:1.3;letter-spacing:-.005em;color:var(--muted);transition:color .2s,translate .2s var(--ease-out)}
.general-menu .menu-area li a:hover{translate:4px 0;color:var(--ink)}
.general-menu-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:48px;padding-top:24px;border-top:1px solid var(--line)}
.bar-social{display:flex;align-items:center;gap:4px}
.bar-social a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:var(--ink)}
.bar-social a:hover{background:var(--soft)}
.bar-social .icon{width:20px;height:20px}
.menu-summit{display:grid;gap:16px}
/* sito di Roma: al posto della scheda, il menu del Summit in grande nella pillola crema del manifesto */
.menu-summit-nav{display:grid;gap:18px;padding:22px;border-radius:var(--radius-lg);background:#f2e8d5;color:#2c5ea9}
.menu-summit-home{display:flex;align-items:center;gap:16px;color:inherit;text-decoration:none}
.menu-summit-home img{width:auto;height:64px}
.menu-summit-home span{font-size:15px;line-height:1.35}
.menu-summit-nav ul{display:grid;margin:0;padding:0;list-style:none}
.general-menu .menu-summit-nav li a{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-top:1px solid rgba(44,94,169,.18);font-size:clamp(24px,2.2vw,30px);letter-spacing:-.025em;line-height:1.1;color:#2c5ea9;text-decoration:none;transition:color .2s,translate .2s var(--ease-out)}
.general-menu .menu-summit-nav li a:hover{translate:4px 0;color:#80549b}
.general-menu .menu-summit-nav .current-menu-item>a{color:#80549b}
.menu-summit-register{justify-content:center;background:#2c5ea9;color:#fff}
.menu-summit-register:hover{background:#80549b;color:#fff}
.menu-areas-title{grid-column:1 / -1;display:flex;align-items:center;gap:14px;margin:0;color:#005896} /* il marchio su due righe come nella testata del Segretariato */
.menu-areas-title img{width:60px;height:60px}
.menu-areas-title .brand-name{font-size:22px}
/* sul sito di Roma il menu generale resta del Segretariato */
.edition-2026 .general-menu{--paper:#fff;--ink:#0d1726;--muted:#566272;--line:#e1e6ec;--soft:#f1f4f8;font-family:'Host Grotesk',ui-sans-serif,system-ui,sans-serif}
.edition-2026 .general-menu h2{font-family:var(--title);letter-spacing:0} /* il menu del Segretariato resta nel suo carattere anche a Roma */

/* animazione del menu generale: si apre a cerchio dal burger (--mx/--my da site.js), i contenuti entrano in sequenza */
.general-menu[open]{animation:menu-iris .7s cubic-bezier(.65,0,.15,1) both}
.general-menu[open]::backdrop{animation:menu-fade .5s ease both}
.general-menu[open] .dialog-top,.general-menu[open] .menu-summit,.general-menu[open] .menu-areas>*,.general-menu[open] .general-menu-foot{animation:menu-rise .7s var(--ease-out) both;animation-delay:calc(.22s + var(--i,0) * 45ms)}
.general-menu .dialog-top{--i:0}.general-menu .menu-summit{--i:1}
.general-menu .menu-areas>:nth-child(1){--i:2}.general-menu .menu-areas>:nth-child(2){--i:3}.general-menu .menu-areas>:nth-child(3){--i:4}.general-menu .menu-areas>:nth-child(4){--i:5}.general-menu .menu-areas>:nth-child(5){--i:6}.general-menu .menu-areas>:nth-child(6){--i:7}
.general-menu .general-menu-foot{--i:8}
.general-menu[open] .close-menu .icon{animation:menu-x .6s var(--ease-out) .25s both}
.general-menu.is-closing{animation:menu-iris-out .45s cubic-bezier(.65,0,.35,1) both}
.general-menu.is-closing::backdrop{animation:menu-fade .45s ease reverse both}
.general-menu.is-closing>*{animation:menu-fade .2s ease reverse both!important}
@keyframes menu-iris{from{clip-path:circle(0 at var(--mx,calc(100% - 48px)) var(--my,44px))}to{clip-path:circle(150% at var(--mx,calc(100% - 48px)) var(--my,44px))}}
@keyframes menu-iris-out{from{clip-path:circle(150% at var(--mx,calc(100% - 48px)) var(--my,44px))}to{clip-path:circle(0 at var(--mx,calc(100% - 48px)) var(--my,44px))}}
@keyframes menu-rise{from{opacity:0;translate:0 18px}}
@keyframes menu-fade{from{opacity:0}}
@keyframes menu-x{from{opacity:0;rotate:-90deg;scale:.6}}
@media(prefers-reduced-motion:reduce){
  .general-menu[open]{animation:menu-fade .2s ease both}
  .general-menu[open] .dialog-top,.general-menu[open] .menu-summit,.general-menu[open] .menu-areas>*,.general-menu[open] .general-menu-foot,.general-menu[open] .close-menu .icon{animation:none}
}

/* fino a 1600px la barra si stringe un po' («Summit Giovani» è più lungo, 22/10; pillole di marchio e lingue, 23/10): sotto i 1360 le aree passano nel burger */
@media(max-width:1600px){.inst-bar.site-header:not(.is-edition){gap:10px}.inst-bar:not(.is-edition) .bar-nav a{padding:0 9px}.inst-bar:not(.is-edition) .bar-tools{gap:8px}.inst-bar:not(.is-edition) .brand-name{font-size:16px}}
@media(max-width:1360px){.bar-nav{display:none}.bar-tools{margin-left:auto!important}}
.inst-bar.is-edition .bar-nav{display:block} /* le voci del Summit sono poche: restano fino al tablet */
@media(max-width:1100px){.inst-bar.is-edition .bar-nav{display:none}}
@media(max-width:860px){
  .inst-bar.site-header{height:68px;gap:10px;padding:0 16px}
  .inst-bar.is-edition .bar-nav{display:none}
  .inst-bar.is-edition .brand img{width:50px;height:50px}
  .brand-pair{gap:10px}
  .brand-sep{height:30px}
  .summit-brand img{height:50px}
  .inst-bar.is-edition .header-cta{min-height:42px;padding:0 16px;font-size:14px}
  .inst-bar .brand img{width:44px;height:44px}
  .brand-name{display:none}
  .journey-home .site-top.is-floating .brand{margin-left:-5px;padding:5px} /* senza il nome la pillola del marchio è un cerchio (29/10/2026) */
  .bar-tools{gap:8px}
  .bar-summit{min-height:42px;padding:0 14px;font-size:14px}
  .general-menu-body{grid-template-columns:minmax(0,1fr)}
  .menu-summit-card{min-height:300px}
}
@media(max-width:520px){
  .inst-bar .language-switcher{display:none}
}
@media(prefers-reduced-motion:reduce){.bar-summit-dot{animation:none}.menu-summit-photo,.general-menu .menu-area li a{transition:none}.menu-summit-card:hover .menu-summit-photo{scale:none}}
@media print{.site-top{position:static}}

/* Testate con foto (debrief 21/10): testo a sinistra, foto arrotondata a destra; su mobile la foto sotto il titolo */
.page-heading.has-photo{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);column-gap:clamp(32px,5vw,80px);align-items:end}
.page-heading.has-photo>*{grid-column:1}
.page-heading.has-photo .heading-bottom{display:block}
.page-heading .heading-gallery{justify-self:start;margin-top:28px}
.page-heading .heading-gallery svg{width:16px;height:16px}
.page-heading .heading-logo{display:block;width:auto;height:clamp(150px,15vw,210px);margin-top:32px}
.page-heading.has-photo .heading-bottom .print-menu{margin-top:24px}
.heading-photo{grid-column:2!important;grid-row:1 / span 4;align-self:stretch;min-height:clamp(240px,26vw,420px);margin:0;overflow:hidden;border-radius:20px;background:var(--soft)}
.heading-photo img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:800px){
  .page-heading.has-photo{grid-template-columns:minmax(0,1fr)}
  .heading-photo{grid-column:1!important;grid-row:auto;min-height:0;aspect-ratio:16/10;margin-top:28px}
}
@media print{.heading-photo{display:none}}

/* Stampa del programma: una voce sola con la scelta giornata / programma completo */
.print-menu{position:relative;display:inline-block}
.print-menu summary{list-style:none;cursor:pointer;gap:8px}
.print-menu summary::-webkit-details-marker{display:none}
.print-menu summary .icon{width:18px;height:18px}
.print-menu[open] summary .icon:last-child{rotate:180deg}
.print-options{position:absolute;z-index:20;top:calc(100% + 8px);left:0;display:grid;min-width:240px;padding:6px;border-radius:16px;background:#fff;box-shadow:0 18px 40px -16px rgba(13,23,38,.35),0 0 0 1px rgba(13,23,38,.06)}
.print-options a{padding:12px 14px;border:0;border-radius:10px;background:none;color:var(--ink);font:500 15px/1.2 var(--sans);text-align:left;cursor:pointer}
.print-options a:hover{background:var(--soft)}
@media print{.print-menu{display:none!important}}

/* Invito finale (21/10): pannello chiaro nei colori del sito, titolo e date a sinistra, due pillole a destra */
.site-footer .footer-invitation{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px clamp(32px,5vw,80px);overflow:hidden;padding:clamp(36px,5vw,72px);background:#eaf2f9;color:#0b2a45;isolation:isolate}
.site-footer .footer-invitation>div{display:block}
.footer-invitation h2{margin:0;font-size:clamp(40px,4.6vw,72px);font-weight:400;letter-spacing:-.035em;line-height:1}
.footer-invitation h2 em{color:#005896}
.footer-invitation-text p{margin:20px 0 0;font-size:17px;color:#40607e}
.site-footer .footer-invitation>.footer-invitation-actions{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px}
.invitation-primary{gap:10px;background:#0d1726;color:#fff}
.invitation-primary:hover{background:#005896;color:#fff}
.invitation-primary .icon{width:16px;height:16px}
.invitation-secondary{border:1px solid color-mix(in srgb,currentColor 35%,transparent);background:transparent;color:inherit}
.invitation-secondary:hover{background:#0d1726;border-color:#0d1726;color:#fff}
/* sito di Roma: il crema del manifesto, blu e viola, la colomba a nodi che esce dal pannello */
.edition-2026 .site-footer .footer-invitation{background:var(--crema);color:var(--blu-poster,#2c5ea9)}
.edition-2026 .footer-invitation h2 em{color:var(--viola,#80549b)}
.edition-2026 .footer-invitation-text p{color:var(--blu-poster,#2c5ea9);opacity:.85}
.edition-2026 .invitation-primary{background:var(--blu-poster,#2c5ea9)}
.edition-2026 .invitation-primary:hover{background:var(--viola,#80549b)}
.edition-2026 .invitation-secondary:hover{background:var(--blu-poster,#2c5ea9);border-color:var(--blu-poster,#2c5ea9)}
.edition-2026 .site-footer .footer-invitation{grid-template-columns:minmax(0,1fr) minmax(0,.75fr);align-items:center;row-gap:32px}
.edition-2026 .footer-invitation-text,.edition-2026 .footer-invitation-actions{grid-column:1}
.footer-invitation-dove{grid-column:2;grid-row:1 / span 2;width:100%;max-width:560px;height:auto;justify-self:end;pointer-events:none}
@media(max-width:800px){
  .site-footer .footer-invitation{grid-template-columns:minmax(0,1fr);align-items:start}
  .edition-2026 .site-footer .footer-invitation{grid-template-columns:minmax(0,1fr)}
  .footer-invitation-dove{grid-column:1;grid-row:auto;justify-self:center;max-width:320px}
}

/* giornata selezionata del programma: in hover resta piena (prima diventava crema su crema) */


/* Correzioni dal controllo di tutte le pagine (22/10) */
/* pillole a testo: stessa misura ovunque (nelle colonne laterali erano a 12 px) */
body .text-link,body .editorial-sidebar>.text-link{font-size:15.5px;letter-spacing:-.005em;text-transform:none}
/* «Programma provvisorio»: pillola staccata dal testo, non un rettangolo da nota di lavorazione */
.page-meta .demo-tag,.demo-tag{display:inline-flex;align-items:center;margin:0 0 0 10px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;font:500 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--muted);vertical-align:middle}
/* corsivi nel testo: corsivi veri, non colorati come i link */
.prose em,.prose i{font-style:italic;color:inherit}
/* riga del PDF della Dichiarazione: il paragrafo dopo non si attacca alla riga */
.prose .pdf-link{margin-bottom:24px}
/* scheda Categoria/Ruolo: niente riga sotto l'ultima voce */
.detail-facts>div:last-child{border-bottom:0;padding-bottom:0}
/* filtri del programma: leggibili, e su iOS niente zoom al tocco (selettori a 16 px) */



/* «Crediti fotografici»: si capisce che si apre */
.photo-credits summary{gap:8px;font:500 15px/1.3 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);text-decoration:underline;text-underline-offset:4px}
.photo-credits summary::after{content:'';width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;rotate:45deg;translate:0 -2px;transition:rotate .2s}
.photo-credits[open] summary::after{rotate:225deg;translate:0 2px}

/* piede del menu: contatti e policy */
.menu-foot-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 22px}
.menu-foot-links a:not(.pill),.menu-foot-links button{padding:0;border:0;background:none;font:400 15px/1.3 var(--sans);color:var(--muted);text-decoration:none;cursor:pointer}
.menu-foot-links a:not(.pill):hover,.menu-foot-links button:hover{color:var(--ink);text-decoration:underline;text-underline-offset:4px}

/* Registrazioni non ancora aperte: al posto del pulsante un avviso (ps_register), riconoscibile ma non cliccabile */
body .is-soon{display:inline-flex;align-items:center;gap:9px;background:transparent!important;color:inherit!important;border:1px dashed color-mix(in srgb,currentColor 45%,transparent)!important;box-shadow:none!important;cursor:default;font-weight:500}
body .is-soon:hover{background:transparent!important;color:inherit!important}
.soon-dot{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55}
.inst-bar.is-edition .header-cta.is-soon{color:var(--blu-poster,#2c5ea9)!important}
@media(max-width:480px){.inst-bar.is-edition .header-cta.is-soon{display:none}} /* su telefono l'avviso resta nel menu */

/* Caroselli (22/10): stesso comportamento ovunque. Primo elemento allineato al testo (non al bordo), scorrimento solo
   orizzontale con aggancio a ogni scheda, niente «elastico» che trascina la pagina o fa tornare indietro il browser. */
.carousel-track,.journey-home .track{overscroll-behavior-x:contain;scroll-snap-type:x mandatory;touch-action:pan-x pan-y}
/* caroselli orizzontali: con overflow-x il browser rende scorrevole anche l'asse verticale (schede che sporgono di pochi px), col trackpad si muovevano su e giù */
.journey-home .track,.carousel-track{overflow-y:hidden}
@media(max-width:900px){.journey-home .tiles{overflow-y:hidden;padding-bottom:24px}} /* le schede sporgono in basso: margine, non taglio */
.journey-home .track{padding-top:6px;padding-bottom:8px}
.carousel-track>*,.journey-home .track>*{scroll-snap-stop:always}
@media(max-width:900px){
  .journey-home .tiles{overscroll-behavior-x:contain;scroll-padding-inline:var(--g);touch-action:pan-x pan-y}
  .journey-home .tile{scroll-snap-stop:always}
}
/* footer del sito di Roma: logo del 20° più grande */
.site-footer .footer-main>.brand.brand-edition img{height:clamp(96px,9vw,132px)}
@media(max-width:700px){.site-footer .footer-main>.brand.brand-edition img{height:96px}}

/* Gallery delle edizioni (blocco Galleria del CMS): foto uguali, didascalie sotto e non sopra l'immagine */
.prose .wp-block-gallery.has-nested-images{gap:24px 16px}
.prose .wp-block-gallery.has-nested-images figure.wp-block-image{flex-direction:column;justify-content:flex-start}
.prose .wp-block-gallery.has-nested-images figure.wp-block-image img{aspect-ratio:3/2;height:auto;object-fit:cover;border-radius:8px}
.prose .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before{display:none}
.prose .wp-block-gallery.has-nested-images figure.wp-block-image figcaption{position:static;max-height:none;overflow:visible;margin:0;padding:8px 0 0;background:none;-webkit-mask-image:none;mask-image:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--muted);font-size:13.5px;line-height:1.4;text-align:left;text-shadow:none}

/* footer: niente linea sotto la scheda d'invito, che già separa il footer dalla pagina */
.footer-invitation+.footer-main{border-top:0}
