/* Oltre Gaeta - foglio di stile del tema
   Compatibilita: iOS Safari 14+, Android Chrome 90+, Samsung Internet 14+, browser interni (Facebook, Instagram, WhatsApp).
   Regole: niente container query, niente color-mix, -webkit- dove serve, fallback per aspect-ratio, aree sicure del telefono. */

:root{
  --og-paper:#FFFFFF; --og-mist:#EEF4F6; --og-mist-2:#E2ECEF; --og-line:#DCE5E8; --og-ink:#13232A; --og-text:#2C3D44; --og-muted:#5F7177;
  --og-teal:#1F6B85; --og-teal-ink:#154E62; --og-deep:#0D3240; --og-deep-2:#123E4F; --og-gold:#F2B21E; --og-gold-ink:#3B2A00; --og-wa:#177A45;
  --og-serif:"Newsreader","Iowan Old Style","Palatino Linotype",Georgia,serif;
  --og-sans:"Libre Franklin",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --og-gutter:36px;
  --og-safe-b:env(safe-area-inset-bottom,0px);
  color-scheme:light;
}

/* ---------- base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; text-size-adjust:100%; scroll-padding-top:90px}
body{margin:0; background:var(--og-paper); color:var(--og-text); font:17px/1.6 var(--og-sans); -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; overflow-x:hidden}
img{max-width:100%; height:auto; display:block}
a{color:var(--og-teal); -webkit-tap-highlight-color:rgba(31,107,133,.15)}
button{font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent}
:focus-visible{outline:3px solid var(--og-gold); outline-offset:2px}
.og-skip{position:absolute; left:-9999px; top:8px; z-index:100; background:var(--og-ink); color:#fff; padding:10px 14px; border-radius:6px}
.og-skip:focus{left:12px}
.og-sr{position:absolute!important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

.og-wrap{width:100%; max-width:1200px; margin-left:auto; margin-right:auto; padding-left:var(--og-gutter); padding-right:var(--og-gutter)}
.og-label{display:inline-block; font:700 11.5px/1 var(--og-sans); letter-spacing:.12em; text-transform:uppercase; color:var(--og-teal); text-decoration:none}
.og-meta{font:500 13px/1.4 var(--og-sans); color:var(--og-muted); font-variant-numeric:tabular-nums}
.og-meta i{font-style:normal; margin:0 6px; opacity:.6}
.og-h{font-family:var(--og-serif); color:var(--og-ink); font-weight:600; margin:0; letter-spacing:-.005em; text-wrap:balance}
.og-h a{color:inherit; text-decoration:none}
.og-link{font:700 13.5px var(--og-sans); color:var(--og-teal); text-decoration:none; display:inline-flex; align-items:center; white-space:nowrap; min-height:44px}
.og-link::after{content:"\2192"; margin-left:6px; -webkit-transition:transform .2s; transition:transform .2s}
.og-link:hover::after{-webkit-transform:translateX(3px); transform:translateX(3px)}
.og-clamp3{display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden}
.og-btn{display:inline-flex; align-items:center; justify-content:center; border-radius:8px; font:700 14.5px/1 var(--og-sans); padding:14px 20px; min-height:46px; border:2px solid transparent; text-decoration:none; white-space:nowrap; -webkit-appearance:none; appearance:none}
.og-btn svg{width:18px; height:18px; fill:currentColor; margin-right:8px; flex:none}
.og-btn.gold{background:var(--og-gold); color:var(--og-gold-ink)}
.og-btn.teal{background:var(--og-teal); color:#fff}
.og-btn.line{border-color:var(--og-line); color:var(--og-ink); background:var(--og-paper)}
.og-btn.ghost{border-color:rgba(255,255,255,.4); color:#fff; background:transparent}
.og-btn.wa{background:var(--og-wa); color:#fff}
.og-iconbtn{width:44px; height:44px; border-radius:8px; border:1px solid var(--og-line); background:var(--og-paper); display:inline-flex; align-items:center; justify-content:center; color:var(--og-ink); padding:0; flex:none; text-decoration:none}
.og-iconbtn svg{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:2}
.og-iconbtn.fill svg{fill:currentColor; stroke:none}
.og-waves{width:30px; height:30px; flex:none}

/* ---------- cornice immagine (rapporto con fallback) ---------- */
.og-media{position:relative; overflow:hidden; background:var(--og-mist); border-radius:3px; display:block}
.og-media::before{content:""; display:block; padding-top:75%}
@supports (aspect-ratio:1/1){ .og-media::before{display:none} .og-media{aspect-ratio:4/3} }
.og-media.r32::before{padding-top:66.67%} .og-media.r169::before{padding-top:56.25%} .og-media.r11::before{padding-top:100%}
@supports (aspect-ratio:1/1){ .og-media.r32{aspect-ratio:3/2} .og-media.r169{aspect-ratio:16/9} .og-media.r11{aspect-ratio:1/1} }
.og-media img{position:absolute; top:0; left:0; width:100%; height:100%; -o-object-fit:cover; object-fit:cover}
.og-media img.blur{-webkit-filter:blur(20px) saturate(1.15); filter:blur(20px) saturate(1.15); -webkit-transform:scale(1.25); transform:scale(1.25); opacity:.55}
/* nelle card la locandina riempie tutto il riquadro (allineata in alto, dove ci sono titolo e date) */
.og-media[data-fit="poster"] img.main{-o-object-position:50% 0; object-position:50% 0}
.og-media img.blur{display:none}
/* intera, su fondo sfumato dei suoi colori, solo dove va letta: apertura della home e articolo */
.og-lead .og-media[data-fit="poster"] img.blur, .og-zoom[data-fit="poster"] img.blur{display:block}
.og-lead .og-media[data-fit="poster"] img.main, .og-zoom[data-fit="poster"] img.main{-o-object-fit:contain; object-fit:contain; -o-object-position:50% 50%; object-position:50% 50%; padding:5%}
a.og-media:hover img.main{opacity:.94}

/* ---------- barra superiore + header ---------- */
.og-topbar{background:var(--og-deep); color:#BFD8E0; font:500 12.5px/1 var(--og-sans)}
.og-topbar .og-wrap{display:flex; justify-content:space-between; align-items:center; height:36px}
.og-topbar nav{display:flex; align-items:center}
.og-topbar nav > * + *{margin-left:20px}
.og-topbar a{color:#BFD8E0; text-decoration:none}
.og-social{display:flex; align-items:center}
.og-social a{display:inline-flex; align-items:center; justify-content:center; color:inherit; min-width:32px; min-height:32px}
.og-social svg{width:16px; height:16px; fill:currentColor; display:block}
.og-header{position:-webkit-sticky; position:sticky; top:0; z-index:30; background:rgba(255,255,255,.97); border-bottom:1px solid var(--og-line); padding-top:env(safe-area-inset-top,0px)}
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){ .og-header{background:rgba(255,255,255,.9); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px)} }
.og-header .og-wrap{display:flex; align-items:center; height:78px}
.og-logo{display:block; width:152px; flex:none}
.og-logo img{width:100%; height:auto}
.og-nav{display:flex; flex:1; margin-left:36px; font:600 15.5px var(--og-sans)}
.og-nav a{color:var(--og-ink); text-decoration:none; padding:28px 0 25px; border-bottom:3px solid transparent; margin-right:24px}
.og-nav a:hover{color:var(--og-teal)}
.og-nav a.on{color:var(--og-teal); border-bottom-color:var(--og-gold)}
.og-hd-act{display:flex; align-items:center; margin-left:auto}
.og-hd-act > * + *{margin-left:10px}
.og-burger{display:none}

/* menu a schermo intero (telefono) */
.og-drawer{position:fixed; top:0; right:0; bottom:0; left:0; z-index:90; background:var(--og-deep); color:#fff; overflow-y:auto; -webkit-overflow-scrolling:touch; overscroll-behavior:contain; padding:calc(16px + env(safe-area-inset-top,0px)) 22px calc(28px + env(safe-area-inset-bottom,0px))}
.og-drawer[hidden]{display:none}
.og-drawer .top{display:flex; justify-content:space-between; align-items:center}
.og-drawer .og-logo{width:130px}
.og-drawer .og-iconbtn{background:transparent; border-color:rgba(255,255,255,.3); color:#fff}
.og-drawer form{margin-top:20px; display:flex; align-items:center; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.2); border-radius:8px; padding:0 6px 0 14px}
.og-drawer form svg{width:18px; height:18px; stroke:#BFD8E0; fill:none; stroke-width:2; flex:none}
.og-drawer input{flex:1; min-width:0; background:transparent; border:0; color:#fff; font:16px var(--og-sans); padding:14px 10px; -webkit-appearance:none; appearance:none; border-radius:0}
.og-drawer input::placeholder{color:#9DC1CD}
.og-drawer .sec{margin-top:26px}
.og-drawer .sec p{font:700 11px var(--og-sans); letter-spacing:.14em; text-transform:uppercase; color:#8FBCCB; margin:0 0 4px}
.og-drawer .sec a{display:flex; justify-content:space-between; align-items:center; min-height:52px; border-bottom:1px solid rgba(255,255,255,.12); color:#fff; text-decoration:none; font:600 22px/1.2 var(--og-serif)}
.og-drawer .sec a small{font:500 12.5px var(--og-sans); color:#8FBCCB}
.og-drawer .cta{margin-top:26px; display:flex; flex-direction:column}
.og-drawer .og-social{margin-top:22px; color:#BFD8E0}
.og-drawer .og-social a{min-width:46px; min-height:46px}
.og-drawer .og-social svg{width:22px; height:22px}
.og-drawer .legal{margin-top:16px; font-size:13px; display:flex; flex-wrap:wrap}
.og-drawer .legal a{color:#8FBCCB; text-decoration:none; margin:0 16px 8px 0}
html.og-lock, html.og-lock body{overflow:hidden}

/* ---------- intestazioni di sezione ---------- */
.og-sechd{display:flex; justify-content:space-between; align-items:center; padding-bottom:8px; border-bottom:2px solid var(--og-ink)}
.og-sechd h2, .og-sechd h3{font:600 23px/1.15 var(--og-serif); color:var(--og-ink); margin:0}
.og-sechd h2 a, .og-sechd h3 a{color:inherit; text-decoration:none}

/* ---------- home: apertura ---------- */
.og-open{display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); grid-gap:44px; gap:44px; padding-top:36px}
.og-lead .t{margin-top:18px; display:flex; flex-wrap:wrap; align-items:center}
.og-lead .t > *{margin-right:12px}
.og-lead h2{font-size:40px; line-height:1.1; margin-top:12px}
.og-lead .ex{margin:14px 0 0; font-size:18px; line-height:1.6; color:var(--og-text); max-width:62ch}
.og-item{display:grid; grid-template-columns:minmax(0,1fr) 92px; grid-gap:16px; gap:16px; padding:16px 0; border-bottom:1px solid var(--og-line); align-items:start}
.og-item h3, .og-item h4{font:600 18px/1.25 var(--og-serif); color:var(--og-ink); margin:7px 0 6px}
.og-item h3 a, .og-item h4 a{color:inherit; text-decoration:none}
.og-item .og-media::before{padding-top:100%}
@supports (aspect-ratio:1/1){ .og-item .og-media{aspect-ratio:1/1} }

/* ---------- agenda (fascia in home) ---------- */
.og-agenda{margin-top:52px; background:var(--og-deep); color:#fff; position:relative; overflow:hidden}
.og-agenda::before{content:""; position:absolute; right:-120px; top:-120px; width:420px; height:420px; border-radius:50%; box-shadow:0 0 0 28px rgba(242,178,30,.06),0 0 0 70px rgba(242,178,30,.045),0 0 0 120px rgba(242,178,30,.03); pointer-events:none}
.og-agenda .og-wrap{padding-top:42px; padding-bottom:46px; position:relative}
.og-agenda .hd{display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap}
.og-agenda .hd .l{display:flex; align-items:center}
.og-agenda .hd .l svg{margin-right:14px}
.og-agenda h2{font:600 34px/1.05 var(--og-serif); color:#fff; margin:0}
.og-agenda .hd p{margin:6px 0 0; color:#A9CAD5; font-size:15px}
.og-agenda .og-link{color:var(--og-gold)}
.og-agrid{display:grid; grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); grid-gap:30px; gap:30px; margin-top:28px}
.og-evfeat{display:grid; grid-template-columns:200px minmax(0,1fr); grid-gap:24px; gap:24px; background:var(--og-deep-2); border:1px solid rgba(255,255,255,.1); border-radius:6px; padding:18px; color:#fff}
.og-evfeat .og-media{background:#0A2731}
.og-evfeat .og-media::before{padding-top:100%}
@supports (aspect-ratio:1/1){ .og-evfeat .og-media{aspect-ratio:1/1} }
.og-evfeat h3{font:600 26px/1.12 var(--og-serif); color:#fff; margin:10px 0 0}
.og-evfeat h3 a{color:inherit; text-decoration:none}
.og-evfeat dl{margin:16px 0 0; display:grid; grid-template-columns:62px minmax(0,1fr); grid-gap:6px 12px; gap:6px 12px; font-size:14.5px}
.og-evfeat dt{color:#8FBCCB} .og-evfeat dd{margin:0; color:#fff; font-weight:500}
.og-evfeat .acts{display:flex; flex-wrap:wrap; margin-top:18px}
.og-evfeat .acts > *{margin:0 10px 10px 0}
.og-tag{display:inline-block; font:600 12.5px/1 var(--og-sans); padding:6px 9px; border-radius:6px; white-space:nowrap; letter-spacing:0}
.og-tag.up{background:#E3EFF3; color:var(--og-teal-ink)}
.og-tag.live{background:#FBEFCF; color:#5C4100}
.og-tag.past{background:var(--og-mist); color:var(--og-muted)}
.og-tag.dark.up, .og-tag.dark.live{background:rgba(242,178,30,.16); color:var(--og-gold)}
.og-tag.dark.past{background:rgba(255,255,255,.1); color:#BFD8E0}
.og-past .k{margin:0 0 2px; font:700 11px var(--og-sans); letter-spacing:.14em; text-transform:uppercase; color:#8FBCCB}
.og-prow{display:grid; grid-template-columns:64px minmax(0,1fr); grid-gap:14px; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.12); align-items:center; text-decoration:none}
.og-prow h4{font:600 16.5px/1.25 var(--og-serif); color:#fff; margin:0}
.og-prow p{margin:3px 0 0; font-size:13px; color:#A9CAD5}
.og-date{display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; border-radius:4px; padding:8px 4px; font-variant-numeric:tabular-nums; background:#fff; color:var(--og-ink); line-height:1}
.og-date b{font:600 21px/1 var(--og-serif); white-space:nowrap; letter-spacing:-.01em}
.og-date.range b{font-size:17px}
.og-date span{font:700 10px/1.2 var(--og-sans); letter-spacing:.1em; text-transform:uppercase; color:var(--og-teal); margin-top:4px}
.og-date.gold{background:var(--og-gold)} .og-date.gold span{color:var(--og-gold-ink)}
.og-date.dim{background:rgba(255,255,255,.1); color:#fff} .og-date.dim span{color:#8FBCCB}
.og-date.mist{background:var(--og-mist)}

/* ---------- righe per sezione (carosello a scorrimento su telefono) ---------- */
.og-rub{padding-top:46px}
.og-rail{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-gap:24px; gap:24px; margin-top:20px}
.og-rail.r3{grid-template-columns:repeat(3,minmax(0,1fr))}
.og-card .og-media::before{padding-top:125%}
@supports (aspect-ratio:1/1){ .og-card .og-media{aspect-ratio:4/5} }
.og-card h3, .og-card h4{font:600 18px/1.25 var(--og-serif); color:var(--og-ink); margin:12px 0 6px}
.og-card a{color:inherit; text-decoration:none}

/* ---------- fasce finali ---------- */
.og-follow{margin-top:52px; background:var(--og-mist)}
.og-follow .og-wrap{padding-top:34px; padding-bottom:34px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap}
.og-follow h2{font:600 26px/1.15 var(--og-serif); color:var(--og-ink); margin:0}
.og-follow p{margin:6px 0 0; color:var(--og-muted); font-size:15px}
.og-fbtns{display:flex; flex-wrap:wrap; margin:10px -5px 0}
.og-fbtns .og-btn{margin:5px}
.og-signal{padding-top:46px; padding-bottom:46px}
.og-signal .box{display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); grid-gap:32px; gap:32px; align-items:center; border:1px solid var(--og-line); border-radius:8px; padding:30px 32px}
.og-signal h2{font:600 30px/1.1 var(--og-serif); color:var(--og-ink); margin:8px 0 0}
.og-signal p{margin:10px 0 0}
.og-signal .opts > * + *{margin-top:10px}
.og-opt{display:flex; justify-content:space-between; align-items:center; padding:14px 16px; min-height:56px; border-radius:6px; background:var(--og-mist); text-decoration:none; color:var(--og-ink); font-weight:600}
.og-opt small{display:block; font-weight:400; color:var(--og-muted); font-size:13.5px; margin-top:2px}
.og-opt::after{content:"\2192"; color:var(--og-teal); font-weight:700; margin-left:12px}

/* ---------- footer ---------- */
.og-footer{background:var(--og-deep); color:#BFD8E0; font-size:14.5px}
.og-footer .og-wrap{padding-top:50px; padding-bottom:calc(26px + var(--og-safe-b))}
.og-fgrid{display:grid; grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr)); grid-gap:32px; gap:32px}
.og-footer .og-logo{width:152px}
.og-footer p{margin:14px 0 0; max-width:36ch; line-height:1.6}
.og-footer h2{font:700 11px var(--og-sans); letter-spacing:.14em; text-transform:uppercase; color:#8FBCCB; margin:4px 0 10px}
.og-footer ul{list-style:none; margin:0; padding:0}
.og-footer li a{display:inline-block; padding:5px 0; color:#fff; text-decoration:none}
.og-footer .og-social{margin-left:-8px}
.og-footer .og-social a{min-width:44px; min-height:44px}
.og-footer .og-social svg{width:20px; height:20px}
.og-fbase{margin-top:34px; padding-top:18px; border-top:1px solid rgba(255,255,255,.12); display:flex; flex-wrap:wrap; justify-content:space-between; font-size:12.5px; color:#8FBCCB}
.og-fbase > *{margin-bottom:6px}
.og-fbase nav a{color:#BFD8E0; text-decoration:none; margin-right:16px; display:inline-block; padding:4px 0}

/* ---------- articolo ---------- */
.og-art{padding-top:34px}
.og-crumbs{font:500 13.5px var(--og-sans); color:var(--og-muted); margin:0}
.og-crumbs a{color:var(--og-teal); text-decoration:none}
.og-ahead{max-width:820px; margin:0 auto}
.og-ahead h1{font-size:44px; line-height:1.1; margin-top:14px}
.og-ahead .stand{margin:16px 0 0; font:italic 400 21px/1.5 var(--og-serif); color:var(--og-text)}
.og-byline{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; margin-top:22px; padding:12px 0; border-top:1px solid var(--og-line); border-bottom:1px solid var(--og-line)}
.og-byline .who{display:flex; align-items:center}
.og-byline .av{width:40px; height:40px; border-radius:50%; background:var(--og-mist); display:inline-flex; align-items:center; justify-content:center; font:700 13px var(--og-sans); color:var(--og-teal); margin-right:12px; flex:none}
.og-byline .who b{display:block; font:600 14.5px var(--og-sans); color:var(--og-ink)}
.og-share{display:flex}
.og-share > * + *{margin-left:8px}
.og-share .wa{background:var(--og-wa); border-color:var(--og-wa); color:#fff}
.og-hero{max-width:1040px; margin:30px auto 0}
.og-hero figcaption, .og-body figcaption, .og-capt{margin-top:8px; font:500 13.5px/1.45 var(--og-sans); color:var(--og-muted)}
.og-body{max-width:680px; margin:34px auto 0; font:18px/1.72 var(--og-sans); color:var(--og-text); overflow-wrap:break-word}
.og-body > * + *{margin-top:1.15em}
.og-body p, .og-body ul, .og-body ol{margin-bottom:0}
.og-body h2{font:600 27px/1.2 var(--og-serif); color:var(--og-ink); margin-top:1.7em}
.og-body h3{font:600 22px/1.25 var(--og-serif); color:var(--og-ink); margin-top:1.5em}
.og-body strong{color:var(--og-ink)}
.og-body a{color:var(--og-teal); text-decoration-thickness:1px; text-underline-offset:3px}
.og-body ul, .og-body ol{padding-left:1.3em}
.og-body li + li{margin-top:.45em}
.og-body blockquote{margin:1.6em 0; padding:4px 0 4px 26px; border-left:3px solid var(--og-gold); font:italic 400 23px/1.45 var(--og-serif); color:var(--og-ink)}
.og-body blockquote p{margin:0}
.og-body blockquote p + p{margin-top:.6em}
.og-body figure{margin:1.8em 0 0}
.og-body figure + *{margin-top:1.8em}
.og-body figure img{width:100%; border-radius:3px; cursor:zoom-in}
.og-body .wp-block-spacer{display:none}
.og-body table{width:100%; border-collapse:collapse; font-size:15.5px; display:block; overflow-x:auto}
.og-body td, .og-body th{border:1px solid var(--og-line); padding:8px 10px; text-align:left}
.og-body code{font-size:.9em; background:var(--og-mist); padding:1px 5px; border-radius:3px}
.og-rubs{max-width:680px; margin:34px auto 0; display:flex; flex-wrap:wrap}
.og-rubs a{margin:0 8px 8px 0}
.og-chip{display:inline-flex; align-items:center; min-height:40px; font:600 13.5px var(--og-sans); color:var(--og-ink); text-decoration:none; border:1px solid var(--og-line); background:var(--og-paper); border-radius:8px; padding:0 15px}
.og-chip.on{background:var(--og-teal); border-color:var(--og-teal); color:#fff}
.og-next{max-width:1040px; margin:40px auto 0; display:grid; grid-template-columns:1fr 1fr; grid-gap:16px; gap:16px}
.og-next a{display:block; padding:18px 20px; border:1px solid var(--og-line); border-radius:6px; text-decoration:none}
.og-next a span{font:700 11px var(--og-sans); letter-spacing:.12em; text-transform:uppercase; color:var(--og-muted)}
.og-next a b{display:block; margin-top:6px; font:600 17px/1.3 var(--og-serif); color:var(--og-ink)}
.og-next .nx{text-align:right; grid-column:2}
.og-related{background:var(--og-mist); margin-top:50px}
.og-related .og-wrap{padding-top:40px; padding-bottom:46px}
.og-sharebar{display:none}

/* galleria (creata dallo script dalle immagini consecutive) */
.og-gal{position:relative; margin:1.8em 0 0}
.og-gal .track{display:flex; overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; scrollbar-width:none; border-radius:3px}
.og-gal .track::-webkit-scrollbar{display:none}
.og-gal .track figure{flex:0 0 100%; margin:0; scroll-snap-align:center}
.og-gal .track figure + figure{margin-left:12px}
.og-gal .ctrl{display:flex; justify-content:space-between; align-items:center; margin-top:8px}
.og-gal .n{font:600 13.5px var(--og-sans); color:var(--og-muted); font-variant-numeric:tabular-nums}
.og-gal .b > * + *{margin-left:8px}
.og-lightbox{position:fixed; top:0; right:0; bottom:0; left:0; z-index:95; background:rgba(6,18,24,.96); display:flex; align-items:center; justify-content:center; padding:calc(56px + env(safe-area-inset-top,0px)) 12px calc(56px + env(safe-area-inset-bottom,0px))}
.og-lightbox[hidden]{display:none}
.og-lightbox img{max-width:100%; max-height:100%; width:auto; height:auto; -o-object-fit:contain; object-fit:contain}
.og-lightbox .x{position:absolute; top:calc(10px + env(safe-area-inset-top,0px)); right:12px; background:transparent; color:#fff; border-color:rgba(255,255,255,.35)}
.og-lightbox .nv{position:absolute; bottom:calc(10px + env(safe-area-inset-bottom,0px)); left:0; right:0; display:flex; justify-content:center; align-items:center; color:#BFD8E0; font:600 14px var(--og-sans)}
.og-lightbox .nv .og-iconbtn{background:transparent; color:#fff; border-color:rgba(255,255,255,.35); margin:0 14px}

/* articolo evento */
.og-evlayout{max-width:1040px; margin:30px auto 0; display:grid; grid-template-columns:minmax(0,1fr) 320px; grid-gap:44px; gap:44px; align-items:start}
.og-evlayout .og-body{margin:0; max-width:none}
.og-evcard{position:-webkit-sticky; position:sticky; top:100px; border:1px solid var(--og-line); border-radius:8px; background:var(--og-paper); padding:18px 20px 20px}
.og-evcard .hd{display:flex; justify-content:space-between; align-items:flex-start; padding-bottom:14px; border-bottom:2px solid var(--og-ink)}
.og-evname{margin:0 12px 0 0; font:600 20px/1.25 var(--og-serif); color:var(--og-ink)}
.og-evcard .hd .og-tag{margin-top:2px; flex:none}
.og-evcard dl{margin:0}
.og-evcard dl > div{display:grid; grid-template-columns:64px minmax(0,1fr); grid-gap:12px; gap:12px; padding:12px 0; border-bottom:1px solid var(--og-line)}
.og-evcard dt{font:500 14px/1.45 var(--og-sans); color:var(--og-muted)}
.og-evcard dd{margin:0; font:500 15.5px/1.45 var(--og-sans); color:var(--og-ink)}
.og-evcard .acts{padding-top:16px}
.og-evcard .acts > *{width:100%}
.og-evcard .acts > * + *{margin-top:8px}
.og-evcard .og-cal{position:relative}
.og-evcard .og-cal .og-btn{width:100%}
.og-evcard .og-cal-menu{margin-top:8px; border:1px solid var(--og-line); border-radius:8px; overflow:hidden}
.og-evcard .og-cal-menu[hidden]{display:none}
.og-evcard .og-cal-menu a{display:flex; align-items:center; min-height:46px; padding:0 14px; color:var(--og-ink); text-decoration:none; font-weight:600; font-size:14.5px}
.og-evcard .og-cal-menu a + a{border-top:1px solid var(--og-line)}

/* ---------- rubrica ---------- */
.og-rhead{background:var(--og-mist); border-bottom:1px solid var(--og-line)}
.og-rhead .og-wrap{padding-top:40px; padding-bottom:34px}
.og-rhead h1{font-size:52px; line-height:1; margin-top:12px}
.og-rhead p{margin:14px 0 0; max-width:60ch; font-size:18px}
.og-rhead .chips{display:flex; flex-wrap:wrap; margin-top:22px}
.og-rhead .chips a{margin:0 8px 8px 0}
.og-rgrid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-gap:36px 28px; gap:36px 28px; padding-top:36px}
.og-rgrid .first{grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); grid-gap:32px; gap:32px; align-items:center; padding-bottom:36px; border-bottom:1px solid var(--og-line)}
.og-rgrid .first h2{font-size:34px; line-height:1.12; margin-top:10px}
.og-rgrid .first p{margin:12px 0 0}
.og-pager{display:flex; justify-content:center; padding:30px 0 56px}
.og-pager > * + *{margin-left:10px}
.og-empty{text-align:center; padding:60px 0 70px; max-width:560px; margin:0 auto}
.og-empty svg{width:56px; height:56px; margin:0 auto}
.og-empty h2{font:600 30px/1.15 var(--og-serif); color:var(--og-ink); margin:16px 0 0}
.og-empty p{margin:12px 0 0; color:var(--og-muted)}
.og-empty .og-btn{margin-top:22px}

/* ---------- agenda (pagina) ---------- */
.og-ahd{background:var(--og-deep); color:#fff; position:relative; overflow:hidden}
.og-ahd::before{content:""; position:absolute; right:-80px; bottom:-160px; width:420px; height:420px; border-radius:50%; box-shadow:0 0 0 28px rgba(242,178,30,.07),0 0 0 70px rgba(242,178,30,.05),0 0 0 120px rgba(242,178,30,.035); pointer-events:none}
.og-ahd .og-wrap{padding-top:44px; padding-bottom:40px; position:relative}
.og-ahd .og-label{color:var(--og-gold)}
.og-ahd h1{color:#fff; font-size:52px; line-height:1; margin-top:12px}
.og-ahd p{margin:14px 0 0; color:#A9CAD5; max-width:56ch; font-size:18px}
.og-filters{display:flex; flex-wrap:wrap; margin-top:24px}
.og-filters button{margin:0 8px 8px 0; min-height:44px; border:1px solid rgba(255,255,255,.3); background:transparent; color:#fff; border-radius:8px; padding:0 18px; font:600 14px var(--og-sans)}
.og-filters button[aria-pressed="true"]{background:var(--og-gold); border-color:var(--og-gold); color:var(--og-gold-ink)}
.og-month{padding-top:34px}
.og-month h2{font:600 14.5px var(--og-sans); letter-spacing:.14em; text-transform:uppercase; color:var(--og-muted); margin:0; padding-bottom:12px; border-bottom:2px solid var(--og-ink); display:flex; justify-content:space-between}
.og-arow{display:grid; grid-template-columns:78px minmax(0,1fr) 120px; grid-gap:22px; gap:22px; padding:20px 0; border-bottom:1px solid var(--og-line); align-items:center; text-decoration:none; color:inherit}
.og-arow h3{font:600 21px/1.2 var(--og-serif); color:var(--og-ink); margin:6px 0 4px}
.og-arow .where{font-size:14.5px; color:var(--og-muted)}
.og-arow .og-media::before{padding-top:100%}
@supports (aspect-ratio:1/1){ .og-arow .og-media{aspect-ratio:1/1} }
.og-arow.past .og-date{opacity:.75}
.og-note{margin-top:22px}

/* ---------- chi siamo, pagine, ricerca, 404 ---------- */
.og-about-hero{position:relative; min-height:300px; background:var(--og-deep) center/cover no-repeat; display:flex; align-items:flex-end}
.og-about-hero::after{content:""; position:absolute; top:0; right:0; bottom:0; left:0; background:linear-gradient(180deg,rgba(13,50,64,0) 30%,rgba(13,50,64,.86))}
.og-about-hero .og-wrap{position:relative; z-index:2; padding-top:120px; padding-bottom:32px}
.og-about-hero .og-label{color:var(--og-gold)}
.og-about-hero h1{color:#fff; font-size:56px; line-height:1; margin-top:10px}
.og-about{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-gap:56px; gap:56px; padding-top:48px; padding-bottom:20px}
.og-about .big{font:400 26px/1.45 var(--og-serif); color:var(--og-ink)}
.og-about .big p{margin:0}
.og-about .big p + p{margin-top:.7em}
.og-rlist a{display:grid; grid-template-columns:minmax(0,1fr) auto; grid-gap:4px 16px; gap:4px 16px; padding:16px 0; border-bottom:1px solid var(--og-line); text-decoration:none}
.og-rlist b{font:600 22px var(--og-serif); color:var(--og-ink)}
.og-rlist span{grid-column:1; color:var(--og-muted); font-size:15px}
.og-rlist i{grid-row:1 / span 2; grid-column:2; align-self:center; font-style:normal; color:var(--og-teal); font-weight:700; font-variant-numeric:tabular-nums}
.og-contact{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-gap:16px; gap:16px; margin-top:20px}
.og-contact .c{border:1px solid var(--og-line); border-radius:8px; padding:20px}
.og-contact .c h3{font:600 20px var(--og-serif); color:var(--og-ink); margin:0}
.og-contact .c p{margin:8px 0 6px; color:var(--og-muted); font-size:15px}
.og-mail{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; background:var(--og-mist); border-radius:8px; padding:14px 20px; margin:16px 0 50px}
.og-mail b{font:600 21px var(--og-serif); color:var(--og-ink); -webkit-user-select:all; user-select:all}
.og-mail .og-social{color:var(--og-teal)}
.og-mail .og-social a{min-width:44px; min-height:44px}
.og-mail .og-social svg{width:22px; height:22px}
.og-plain{max-width:720px; margin:0 auto; padding:44px var(--og-gutter) 56px}
.og-plain h1{font-size:44px; line-height:1.1; margin-top:10px}
.og-plain .og-body{margin-top:26px}
.og-plain .og-body h2{font-size:23px; color:var(--og-teal-ink)}
.og-search{display:flex; margin-top:22px}
.og-search label{flex:1; display:flex; align-items:center; border:2px solid var(--og-ink); border-radius:8px; padding:0 8px 0 18px; background:#fff}
.og-search svg{width:19px; height:19px; stroke:var(--og-ink); fill:none; stroke-width:2; flex:none}
.og-search input{flex:1; min-width:0; border:0; background:transparent; font:17px var(--og-sans); color:var(--og-ink); padding:13px 10px; -webkit-appearance:none; appearance:none; border-radius:0}
.og-search input:focus{outline:none}
.og-search label:focus-within{box-shadow:0 0 0 3px var(--og-gold)}
.og-search .og-btn{margin-left:10px}
.og-res{margin-top:24px}
.og-res .og-item{grid-template-columns:120px minmax(0,1fr)}
.og-res .og-item .og-media{-webkit-box-ordinal-group:0; order:-1}
.og-res .og-item .og-media::before{padding-top:75%}
@supports (aspect-ratio:1/1){ .og-res .og-item .og-media{aspect-ratio:4/3} }
.og-404{text-align:center; padding:70px 0 60px}
.og-404 .n{font:500 120px/1 var(--og-serif); color:var(--og-mist-2)}
.og-404 h1{font-size:38px; margin-top:-6px}
.og-404 p{color:var(--og-muted); max-width:46ch; margin:14px auto 0}
.og-404 .acts{display:flex; justify-content:center; flex-wrap:wrap; margin-top:22px}
.og-404 .acts > *{margin:5px}

/* ======================= TABLET ======================= */
@media (max-width:1024px){
  :root{--og-gutter:28px}
  .og-nav{margin-left:24px}
  .og-nav a{margin-right:16px; font-size:14.5px}
  .og-hd-act .og-btn{display:none}
  .og-open{gap:30px}
  .og-lead h2{font-size:34px}
  .og-rail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .og-rail.r3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .og-evlayout{grid-template-columns:minmax(0,1fr) 290px; gap:30px}
  .og-fgrid{grid-template-columns:1fr 1fr; gap:28px}
}

/* ======================= TELEFONO ======================= */
@media (max-width:760px){
  :root{--og-gutter:18px}
  html{scroll-padding-top:74px}
  body{font-size:16.5px}
  .og-topbar{display:none}
  .og-header .og-wrap{height:62px}
  .og-logo{width:120px}
  .og-nav{display:none}
  .og-burger{display:inline-flex}
  .og-open{grid-template-columns:1fr; gap:22px; padding-top:18px}
  .og-lead h2{font-size:27px; line-height:1.14}
  .og-lead .ex{font-size:16.5px}
  .og-item{grid-template-columns:minmax(0,1fr) 80px; gap:14px}
  .og-item h3, .og-item h4{font-size:17px}
  .og-agenda{margin-top:30px}
  .og-agenda .og-wrap{padding-top:28px; padding-bottom:32px}
  .og-agenda h2{font-size:26px}
  .og-agrid{grid-template-columns:1fr; gap:20px; margin-top:20px}
  .og-evfeat{grid-template-columns:1fr; gap:14px; padding:14px}
  .og-evfeat .og-media::before{padding-top:62.5%}
  @supports (aspect-ratio:1/1){ .og-evfeat .og-media{aspect-ratio:16/10} }
  .og-evfeat h3{font-size:22px}
  .og-rub{padding-top:34px}
  .og-rail, .og-rail.r3{display:flex; overflow-x:auto; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; margin-left:-18px; margin-right:-18px; padding-left:18px; padding-right:18px; scroll-padding-left:18px; scrollbar-width:none}
  .og-rail::-webkit-scrollbar{display:none}
  .og-rail > *{flex:0 0 74%; scroll-snap-align:start}
  .og-rail > * + *{margin-left:14px}
  .og-rail::after{content:""; flex:0 0 4px}
  .og-follow .og-wrap{padding-top:26px; padding-bottom:26px}
  .og-signal{padding-top:30px; padding-bottom:34px}
  .og-signal .box{grid-template-columns:1fr; padding:22px 18px; gap:20px}
  .og-signal h2{font-size:25px}
  .og-fgrid{grid-template-columns:1fr 1fr; gap:24px}
  .og-fgrid > :first-child{grid-column:1 / -1}
  .og-art{padding-top:18px}
  .og-ahead h1{font-size:29px; line-height:1.14}
  .og-ahead .stand{font-size:18px}
  .og-byline .og-share{display:none}
  .og-hero{margin:20px -18px 0}
  .og-hero .og-media{border-radius:0}
  .og-hero figcaption{padding:0 18px}
  .og-body{font-size:17.5px; line-height:1.7; margin-top:24px}
  .og-body h2{font-size:23px}
  .og-body blockquote{font-size:20px; padding-left:18px}
  .og-body figure{margin-left:-18px; margin-right:-18px}
  .og-body figure img{border-radius:0}
  .og-body figure figcaption{padding:0 18px}
  .og-gal{margin-left:-18px; margin-right:-18px}
  .og-gal .track{border-radius:0}
  .og-gal .track figure{margin:0!important}
  .og-gal .ctrl{padding:0 18px}
  .og-next{grid-template-columns:1fr}
  .og-next .nx{grid-column:auto; text-align:left}
  .og-related .og-wrap{padding-top:30px; padding-bottom:34px}
  .og-sharebar{display:flex; position:-webkit-sticky; position:sticky; bottom:0; z-index:25; padding:10px 14px calc(10px + var(--og-safe-b)); background:rgba(255,255,255,.98); border-top:1px solid var(--og-line)}
  .og-sharebar > *{flex:1}
  .og-sharebar > * + *{margin-left:8px}
  .og-sharebar .wa{flex:1.7}
  .og-evlayout{grid-template-columns:1fr; gap:22px; margin-top:20px}
  .og-evcard{position:static; -webkit-box-ordinal-group:0; order:-1}
  .og-rhead h1, .og-ahd h1{font-size:36px}
  .og-rhead .og-wrap, .og-ahd .og-wrap{padding-top:28px; padding-bottom:24px}
  .og-rhead p, .og-ahd p{font-size:16.5px}
  .og-rgrid{grid-template-columns:1fr; gap:0; padding-top:20px}
  .og-rgrid .first{gap:14px; grid-template-columns:1fr; padding-bottom:22px; margin-bottom:6px}
  .og-rgrid .first h2{font-size:25px}
  .og-rgrid .og-card{display:grid; grid-template-columns:minmax(0,1fr) 92px; gap:14px; align-items:start; padding:16px 0; border-bottom:1px solid var(--og-line)}
  .og-rgrid .og-card .og-media{-webkit-box-ordinal-group:3; order:2}
  .og-rgrid .og-card .og-media::before{padding-top:100%}
  @supports (aspect-ratio:1/1){ .og-rgrid .og-card .og-media{aspect-ratio:1/1} }
  .og-rgrid .og-card h3{margin-top:2px; font-size:17px}
  .og-arow{grid-template-columns:64px minmax(0,1fr); gap:14px}
  .og-arow .og-media{display:none}
  .og-arow h3{font-size:18px}
  .og-about-hero{min-height:260px}
  .og-about-hero h1{font-size:40px}
  .og-about{grid-template-columns:1fr; gap:26px; padding-top:30px}
  .og-about .big{font-size:21px}
  .og-contact{grid-template-columns:1fr}
  .og-plain{padding-top:26px; padding-bottom:40px}
  .og-plain h1{font-size:32px}
  .og-res .og-item{grid-template-columns:92px minmax(0,1fr)}
  .og-search .og-btn{padding:14px 16px}
  .og-404 .n{font-size:90px}
  .og-404 h1{font-size:28px}
}
@media (max-width:360px){
  .og-lead h2{font-size:25px}
  .og-ahead h1{font-size:26px}
  .og-rail > *{flex-basis:82%}
  .og-fgrid{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
  .og-link::after{-webkit-transition:none; transition:none}
}
@media print{
  .og-topbar,.og-header,.og-drawer,.og-sharebar,.og-related,.og-footer,.og-agenda,.og-follow,.og-signal{display:none!important}
}
