/*
Theme Name: Valme
Description: Tema moderno per la Parrocchia di Nostra Signora di Valme. Menu, orari ed evento in evidenza si gestiscono da Aspetto > Personalizza.
Version: 1.8.6
Text Domain: valme
*/
:root{--blue:#16325c;--blue-d:#0d2142;--gold:#b98a2e;--gold-l:#f1dfb4;--sky:#eef3f9;--ink:#14202e;--mute:#5a687a;--line:#d8e0ea;--r:14px;
--serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box}
body{margin:0;font:17px/1.65 var(--sans);color:var(--ink);background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:var(--blue)}
h1,h2,h3{font-family:var(--serif);line-height:1.15;margin:0 0 .5em;color:var(--blue-d)}
.wrap{width:min(1120px,92%);margin-inline:auto}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.btn{display:inline-block;padding:.7em 1.3em;border-radius:99px;background:var(--gold);color:#1b1405;font-weight:600;text-decoration:none}
.btn.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.6)}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:72px}
.brand{font:700 1.15rem/1.2 var(--serif);color:var(--blue-d);text-decoration:none}
.brand small{display:block;font:500 .78rem var(--sans);color:var(--mute)}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:.5em .8em;font:inherit}
.menu,.menu ul{list-style:none;margin:0;padding:0}
.menu{display:flex;gap:.25rem}
.menu>li{position:relative}
.menu a{display:block;padding:.6em .8em;color:var(--ink);text-decoration:none;font-weight:500;font-size:.95rem;border-radius:8px}
.menu a:hover,.menu .current-menu-item>a{background:var(--sky);color:var(--blue)}
.menu .sub-menu{display:none;position:absolute;left:0;top:100%;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:.4rem;box-shadow:0 12px 30px rgba(13,33,66,.14)}
.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu{display:block}
/* hero */
.hero{background:var(--blue-d);color:#fff;padding:clamp(2.5rem,7vw,5.5rem) 0}
.hero .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
.hero h1{color:#fff;font-size:clamp(2.2rem,5vw,3.8rem)}
.hero p{color:#cfd9e8;max-width:46ch;font-size:1.1rem}
.hero .actions{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.5rem}
.orari{background:#fff;color:var(--ink);border-radius:var(--r);padding:1.6rem;border-top:5px solid var(--gold)}
.orari h2{font-size:1.3rem}
.orari dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.5rem 1.2rem}
.orari dt{font-weight:600}.orari dd{margin:0;color:var(--mute)}
/* event */
.evento{background:var(--gold-l);border-bottom:1px solid #e3cd96}
.evento .wrap{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;flex-wrap:wrap}
.evento strong{font-family:var(--serif);font-size:1.15rem;color:var(--blue-d)}
/* sections */
.section{padding:clamp(2.5rem,6vw,4.5rem) 0}
.section.alt{background:var(--sky)}
.section-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1.5rem}
.section-head h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0}
.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.card img{aspect-ratio:16/10;object-fit:cover;width:100%}
.card .body{padding:1.1rem 1.2rem 1.3rem}
.card h3{font-size:1.2rem;margin-bottom:.3em}
.card h3 a{text-decoration:none;color:inherit}
.card time{font-size:.85rem;color:var(--mute)}
.tiles{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.tile{display:block;padding:1.4rem;border-radius:var(--r);background:#fff;border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.tile:hover{border-color:var(--blue)}
.tile b{display:block;font:700 1.25rem var(--serif);color:var(--blue-d)}
.tile span{font-size:.92rem;color:var(--mute)}
.sostieni{background:var(--blue);color:#fff;text-align:center}
.sostieni h2{color:#fff}.sostieni p{max-width:56ch;margin:0 auto 1.5rem;color:#d6e0ef}
/* content */
.entry{padding:3rem 0;max-width:760px;margin-inline:auto}
.entry h1{font-size:clamp(2rem,4vw,2.8rem)}
.entry .thumb{border-radius:var(--r);margin:1.5rem 0}
.entry p,.entry li{font-family:var(--serif);font-size:1.12rem}
/* footer */
.site-footer{background:var(--blue-d);color:#b9c6da;padding:3rem 0 2rem;font-size:.95rem}
.site-footer a{color:#fff}
.site-footer .cols{display:grid;gap:2rem;grid-template-columns:1.4fr 1fr 1fr}
.site-footer h3{color:#fff;font-size:1.05rem}
.site-footer .menu{flex-direction:column;gap:0}.site-footer .menu a{color:#b9c6da;padding:.25em 0}
.site-footer .menu a:hover{background:none;color:#fff}
.copy{margin-top:2rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.15);font-size:.85rem}
@media(max-width:860px){
.hero .wrap,.site-footer .cols{grid-template-columns:1fr}
.nav-toggle{display:block}
.main-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--line);padding:.5rem 4%;max-height:75vh;overflow:auto}
.nav-open .main-nav{display:block}
.menu{flex-direction:column}
.menu .sub-menu{display:block;position:static;border:0;box-shadow:none;padding:0 0 0 1rem}}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}

/* intestazione originale, carosello, banner, flussi */
.topbanner{display:block;line-height:0}
.topbanner img{display:block;width:100%;height:auto}
.slide-sec{padding-bottom:0}
.slider{display:flex;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.6rem}
.slider a{flex:0 0 min(560px,88%);scroll-snap-align:start}
.slider img{width:100%;border-radius:var(--r)}
.calendario img{border-radius:var(--r);margin-inline:auto;max-width:820px;width:100%;border:1px solid var(--line)}
.banners{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}
.banners a{display:block;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}
.banners img{width:100%}
.infocols{display:grid;gap:2.5rem;grid-template-columns:1fr 1fr}
.feedlist{list-style:none;margin:0;padding:0}
.feedlist li{padding:.7rem 0;border-bottom:1px solid var(--line)}
.feedlist a{text-decoration:none;color:var(--ink);font-weight:500}
.feedlist a:hover{color:var(--blue);text-decoration:underline}
.sostieni .actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
@media(max-width:860px){.infocols{grid-template-columns:1fr}}

/* barra del menu a tutta larghezza */
.site-header .wrap{width:100%;max-width:none;padding-inline:clamp(1rem,2.5vw,2.5rem)}
@media(min-width:861px){
.main-nav{flex:1;margin-left:2rem}
.main-nav>.menu{justify-content:space-between}
.main-nav>.menu>li:nth-last-child(-n+2)>.sub-menu{left:auto;right:0}
}

/* immagini mai ritagliate */
.card img{aspect-ratio:auto;object-fit:contain;height:auto}
.grid{align-items:start}


/* ---------- corpo principale + colonna laterale ---------- */
[hidden]{display:none!important}
.layout{width:min(1240px,94%);margin:2.5rem auto 3rem;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.5rem;align-items:start}
.main>.block,.main>.entry{margin-bottom:2.8rem}
.layout .entry{max-width:none;padding:0;margin:0}
.layout h1.h2{font-size:clamp(1.6rem,3vw,2.2rem);margin:0}
.grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.tiles{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.sidebar{display:grid;gap:1.1rem}
.widget{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1rem}
.widget h3{font-size:1.1rem;margin:0 0 .7rem}
.widget p{margin:0 0 .6rem;font-size:.95rem;color:var(--mute)}
.widget img{display:block;width:100%;border-radius:10px}
.widget.bn{padding:0;overflow:hidden}
.widget.bn a{display:block}
.widget.bn img{border-radius:0}
.widget .btn{display:block;text-align:center;margin-top:.5rem}
.widget .btn.ghost{color:var(--blue);border-color:var(--blue)}
.sidebar .feedlist li{padding:.5rem 0;font-size:.95rem}
.sidebar .feedlist li:last-child{border-bottom:0}

/* finestra incorporata (webcam): stessa dimensione della pagina */
.embed-wrap{width:100%;border-radius:var(--r);overflow:hidden;background:#0d1b30}
.embed{display:block;width:100%;aspect-ratio:16/9;border:0}
.embed-wrap.fit .embed{aspect-ratio:auto;max-width:none;transform-origin:0 0}

@media(max-width:960px){.layout{grid-template-columns:1fr}}

/* testata a carosello: tutta larghezza, immagini mai ritagliate */
.hero-carousel{position:relative;background:var(--blue-d);line-height:0}
.hc-track{display:flex;align-items:flex-start;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.hc-track::-webkit-scrollbar{display:none}
.hc-slide{flex:0 0 100%;scroll-snap-align:start;display:block}
.hc-slide img{display:block;width:100%;height:auto}
.hc-btn{display:none;position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(13,33,66,.65);color:#fff;font-size:1.1rem;line-height:44px;padding:0;cursor:pointer}
.hc-btn:hover{background:rgba(13,33,66,.9)}
.hc-prev{left:12px}.hc-next{right:12px}
.hc-dots{display:none;position:absolute;left:0;right:0;bottom:10px;justify-content:center;gap:8px;line-height:0}
.hc-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.55);cursor:pointer}
.hc-dot[aria-current="true"]{background:#fff}
.hero-carousel.js .hc-btn{display:block}
.hero-carousel.js .hc-dots{display:flex}
.hero-carousel.single .hc-btn,.hero-carousel.single .hc-dots{display:none!important}
@media(prefers-reduced-motion:no-preference){.hc-track{transition:height .25s}}
@media(max-width:600px){.hc-btn{width:34px;height:34px;line-height:34px;font-size:.9rem}.hc-prev{left:6px}.hc-next{right:6px}.hc-dots{bottom:5px}}


/* ---------- pagine interne (v1.7) ---------- */
body.page:not(.home) .layout .entry{--pad:clamp(1.3rem,3.5vw,2.6rem);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 var(--pad) var(--pad);overflow:hidden;box-shadow:0 12px 32px rgba(13,33,66,.07)}
body.page:not(.home) .layout .entry::after{content:"";display:table;clear:both}
body.page:not(.home) .layout .entry > h1{position:relative;margin:0 calc(-1*var(--pad)) 2rem;padding:clamp(1.8rem,4.5vw,3rem) var(--pad);background:linear-gradient(135deg,var(--blue-d) 0%,var(--blue) 100%);color:#fff;font-size:clamp(1.9rem,4.2vw,3rem);border-bottom:4px solid var(--gold);overflow:hidden}
body.page:not(.home) .layout .entry > h1::before{content:"Parrocchia Nostra Signora di Valme";display:block;margin-bottom:.5em;font:600 .78rem/1.2 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-l)}
body.page:not(.home) .layout .entry > h1::after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;border-radius:50%;border:34px solid rgba(241,223,180,.09)}
body.page:not(.home) .layout .entry *{max-width:100%}
body.page:not(.home) .layout .entry div,body.page:not(.home) .layout .entry p,body.page:not(.home) .layout .entry li,body.page:not(.home) .layout .entry td{font-family:var(--serif);font-size:1.1rem;line-height:1.75}
body.page:not(.home) .layout .entry [style*="width"]:not(iframe){width:auto!important}
body.page:not(.home) .layout .entry [style*="background-color: white"],body.page:not(.home) .layout .entry [style*="background-color: rgb(255, 255, 255)"],body.page:not(.home) .layout .entry [style*="background: white"]{background:transparent!important}
body.page:not(.home) .layout .entry [style*="#333333"],body.page:not(.home) .layout .entry [style*="rgb(51, 51, 51)"]{color:inherit!important}
body.page:not(.home) .layout .entry [style*="justify"]{text-align:left!important}
body.page:not(.home) .layout .entry [style*="padding-left: 15px"],body.page:not(.home) .layout .entry [style*="padding: 5px 15px"]{padding-left:0!important;padding-right:0!important}
body.page:not(.home) .layout .entry h2,body.page:not(.home) .layout .entry h3,body.page:not(.home) .layout .entry h4{font-family:var(--serif)!important;color:var(--blue-d)!important;font-weight:700!important;line-height:1.2;padding:0!important;margin:1.8em 0 .7em!important;clear:none!important}
body.page:not(.home) .layout .entry h2{font-size:1.65rem}body.page:not(.home) .layout .entry h3{font-size:1.4rem}body.page:not(.home) .layout .entry h4{font-size:1.2rem}
body.page:not(.home) .layout .entry h2::after,body.page:not(.home) .layout .entry h3::after{content:"";display:block;width:52px;height:3px;margin-top:.45em;border-radius:3px;background:var(--gold)}
body.page:not(.home) .layout .entry > h1 + *, body.page:not(.home) .layout .entry > h1 + * > :first-child{margin-top:0!important}
body.page:not(.home) .layout .entry [style*="#b85b5a"],body.page:not(.home) .layout .entry [style*="#cc0000"],body.page:not(.home) .layout .entry [style*="rgb(184, 91, 90)"]{color:var(--blue)!important;font-weight:700}
body.page:not(.home) .layout .entry [style*="color: red"],body.page:not(.home) .layout .entry [style*="#ff0000"]{color:#a8322d!important}
body.page:not(.home) .layout .entry b,body.page:not(.home) .layout .entry strong{color:var(--blue-d)}
body.page:not(.home) .layout .entry a{color:var(--blue);text-decoration-color:var(--gold);text-underline-offset:3px}
body.page:not(.home) .layout .entry img{border-radius:12px;box-shadow:0 10px 26px rgba(13,33,66,.16)}
body.page:not(.home) .layout .entry a[style*="float: left"],body.page:not(.home) .layout .entry img[style*="float: left"]{margin:.3rem 1.6rem 1rem 0!important}
body.page:not(.home) .layout .entry a[style*="float: right"],body.page:not(.home) .layout .entry img[style*="float: right"]{margin:.3rem 0 1rem 1.6rem!important}
body.page:not(.home) .layout .entry .separator{margin:1.2rem 0}
body.page:not(.home) .layout .entry table{border-collapse:separate;border-spacing:0;width:100%!important;border-radius:var(--r);overflow:hidden;margin:1.5rem 0}
body.page:not(.home) .layout .entry table:not([bgcolor]){background:var(--sky)!important;border:1px solid var(--line)}
body.page:not(.home) .layout .entry table:not([bgcolor]) td{color:inherit!important}
body.page:not(.home) .layout .entry td{padding:.9rem 1.1rem;vertical-align:top}
body.page:not(.home) .layout .entry ul,body.page:not(.home) .layout .entry ol{padding-left:1.3rem;margin:1rem 0}
body.page:not(.home) .layout .entry li{margin:.35em 0}
body.page:not(.home) .layout .entry li::marker{color:var(--gold)}
body.page:not(.home) .layout .entry hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
body.page:not(.home) .layout .entry iframe{max-width:100%;border:0;border-radius:var(--r)}
body.page:not(.home) .layout .entry em{color:var(--mute)}
@media(max-width:640px){
body.page:not(.home) .layout .entry a[style*="float"],body.page:not(.home) .layout .entry img[style*="float"]{float:none!important;display:block;margin:0 0 1.2rem!important}
body.page:not(.home) .layout .entry div,body.page:not(.home) .layout .entry p,body.page:not(.home) .layout .entry li,body.page:not(.home) .layout .entry td{font-size:1.03rem}
}
body.page:not(.home) .layout .entry > h1{max-width:none}

body.page:not(.home) .layout .entry h2 *,body.page:not(.home) .layout .entry h3 *,body.page:not(.home) .layout .entry h4 *{color:inherit!important;font-weight:inherit!important;background:transparent!important}

body.page:not(.home) .layout .entry blockquote{margin:1.6rem 0;padding:1.1rem 1.4rem;background:var(--sky);border-left:4px solid var(--gold);border-radius:0 var(--r) var(--r) 0;color:var(--ink)}
body.page:not(.home) .layout .entry blockquote *{color:inherit}
body.page:not(.home) .layout .entry th{padding:.9rem 1.1rem;text-align:left;background:var(--blue);color:#fff;font-family:var(--sans);font-size:.95rem}
body.page:not(.home) .layout .entry th *{color:#fff!important}
body.page:not(.home) .layout .entry td{border-top:1px solid var(--line)}
body.page:not(.home) .layout .entry .separator{text-align:center}

/* intestazione con percorso (attiva quando page.php v1.7 è caricato) */
body.page:not(.home) .layout .entry > .entry-head{position:relative;margin:0 calc(-1*var(--pad)) 2rem;padding:clamp(1.6rem,4vw,2.6rem) var(--pad);background:linear-gradient(135deg,var(--blue-d) 0%,var(--blue) 100%);border-bottom:4px solid var(--gold);overflow:hidden;max-width:none}
body.page:not(.home) .layout .entry > .entry-head::after{content:"";position:absolute;right:-50px;top:-50px;width:200px;height:200px;border-radius:50%;border:34px solid rgba(241,223,180,.09)}
body.page:not(.home) .layout .entry > .entry-head h1{margin:.3em 0 0;color:#fff;font-size:clamp(1.9rem,4.2vw,3rem)}
body.page:not(.home) .layout .entry > .entry-head .crumbs{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:.5em;font:600 .78rem/1.3 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:#cfd9e8}
body.page:not(.home) .layout .entry > .entry-head .crumbs a{color:var(--gold-l);text-decoration:none}
body.page:not(.home) .layout .entry > .entry-head .crumbs a:hover{text-decoration:underline}
body.page:not(.home) .layout .entry > .entry-head + *,body.page:not(.home) .layout .entry > .entry-head + * > :first-child{margin-top:0!important}

/* ---------- articoli (v1.7.2) ---------- */
body.single-post .layout .entry{--pad:clamp(1.3rem,3.5vw,2.6rem);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 var(--pad) var(--pad);overflow:hidden;box-shadow:0 12px 32px rgba(13,33,66,.07)}
body.single-post .layout .entry::after{content:"";display:table;clear:both}
body.single-post .layout .entry > time{display:block;max-width:none;margin:0 calc(-1*var(--pad));padding:clamp(1.4rem,3.5vw,2.2rem) var(--pad) 0;background:var(--blue-d);font:600 .78rem/1.3 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--gold-l)}
body.single-post .layout .entry > time::before{content:"Notizie · ";color:#cfd9e8}
body.single-post .layout .entry > h1{position:relative;max-width:none;margin:0 calc(-1*var(--pad)) 2rem;padding:.45em var(--pad) clamp(1.5rem,3.5vw,2.4rem);background:linear-gradient(180deg,var(--blue-d) 0%,var(--blue) 100%);color:#fff;font-size:clamp(1.7rem,3.8vw,2.7rem);border-bottom:4px solid var(--gold);overflow:hidden}
body.single-post .layout .entry > h1::after{content:"";position:absolute;right:-50px;top:-90px;width:200px;height:200px;border-radius:50%;border:34px solid rgba(241,223,180,.09)}
body.single-post .layout .entry > h1 + *,body.single-post .layout .entry > h1 + * > :first-child{margin-top:0!important}
body.single-post .layout .entry .thumb{border-radius:var(--r);margin:0 0 1.5rem}
body.single-post .layout .entry{--pad:clamp(1.3rem,3.5vw,2.6rem);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:0 var(--pad) var(--pad);overflow:hidden;box-shadow:0 12px 32px rgba(13,33,66,.07)}
body.single-post .layout .entry::after{content:"";display:table;clear:both}
body.single-post .layout .entry *{max-width:100%}
body.single-post .layout .entry div,body.single-post .layout .entry p,body.single-post .layout .entry li,body.single-post .layout .entry td{font-family:var(--serif);font-size:1.1rem;line-height:1.75}
body.single-post .layout .entry [style*="width"]:not(iframe){width:auto!important}
body.single-post .layout .entry [style*="background-color: white"],body.single-post .layout .entry [style*="background-color: rgb(255, 255, 255)"],body.single-post .layout .entry [style*="background: white"]{background:transparent!important}
body.single-post .layout .entry [style*="#333333"],body.single-post .layout .entry [style*="rgb(51, 51, 51)"]{color:inherit!important}
body.single-post .layout .entry [style*="justify"]{text-align:left!important}
body.single-post .layout .entry [style*="padding-left: 15px"],body.single-post .layout .entry [style*="padding: 5px 15px"]{padding-left:0!important;padding-right:0!important}
body.single-post .layout .entry h2,body.single-post .layout .entry h3,body.single-post .layout .entry h4{font-family:var(--serif)!important;color:var(--blue-d)!important;font-weight:700!important;line-height:1.2;padding:0!important;margin:1.8em 0 .7em!important;clear:none!important}
body.single-post .layout .entry h2{font-size:1.65rem}body.single-post .layout .entry h3{font-size:1.4rem}body.single-post .layout .entry h4{font-size:1.2rem}
body.single-post .layout .entry h2::after,body.single-post .layout .entry h3::after{content:"";display:block;width:52px;height:3px;margin-top:.45em;border-radius:3px;background:var(--gold)}
body.single-post .layout .entry [style*="#b85b5a"],body.single-post .layout .entry [style*="#cc0000"],body.single-post .layout .entry [style*="rgb(184, 91, 90)"]{color:var(--blue)!important;font-weight:700}
body.single-post .layout .entry [style*="color: red"],body.single-post .layout .entry [style*="#ff0000"]{color:#a8322d!important}
body.single-post .layout .entry b,body.single-post .layout .entry strong{color:var(--blue-d)}
body.single-post .layout .entry a{color:var(--blue);text-decoration-color:var(--gold);text-underline-offset:3px}
body.single-post .layout .entry img{border-radius:12px;box-shadow:0 10px 26px rgba(13,33,66,.16)}
body.single-post .layout .entry a[style*="float: left"],body.single-post .layout .entry img[style*="float: left"]{margin:.3rem 1.6rem 1rem 0!important}
body.single-post .layout .entry a[style*="float: right"],body.single-post .layout .entry img[style*="float: right"]{margin:.3rem 0 1rem 1.6rem!important}
body.single-post .layout .entry .separator{margin:1.2rem 0}
body.single-post .layout .entry table{border-collapse:separate;border-spacing:0;width:100%!important;border-radius:var(--r);overflow:hidden;margin:1.5rem 0}
body.single-post .layout .entry table:not([bgcolor]){background:var(--sky)!important;border:1px solid var(--line)}
body.single-post .layout .entry table:not([bgcolor]) td{color:inherit!important}
body.single-post .layout .entry td{padding:.9rem 1.1rem;vertical-align:top}
body.single-post .layout .entry ul,body.single-post .layout .entry ol{padding-left:1.3rem;margin:1rem 0}
body.single-post .layout .entry li{margin:.35em 0}
body.single-post .layout .entry li::marker{color:var(--gold)}
body.single-post .layout .entry hr{border:0;border-top:1px solid var(--line);margin:2rem 0}
body.single-post .layout .entry iframe{max-width:100%;border:0;border-radius:var(--r)}
body.single-post .layout .entry em{color:var(--mute)}
body.single-post .layout .entry h2 *,body.single-post .layout .entry h3 *,body.single-post .layout .entry h4 *{color:inherit!important;font-weight:inherit!important;background:transparent!important}
body.single-post .layout .entry blockquote{margin:1.6rem 0;padding:1.1rem 1.4rem;background:var(--sky);border-left:4px solid var(--gold);border-radius:0 var(--r) var(--r) 0;color:var(--ink)}
body.single-post .layout .entry blockquote *{color:inherit}
body.single-post .layout .entry th{padding:.9rem 1.1rem;text-align:left;background:var(--blue);color:#fff;font-family:var(--sans);font-size:.95rem}
body.single-post .layout .entry th *{color:#fff!important}
body.single-post .layout .entry td{border-top:1px solid var(--line)}
body.single-post .layout .entry .separator{text-align:center}
@media(max-width:640px){
body.single-post .layout .entry a[style*="float"],body.single-post .layout .entry img[style*="float"]{float:none!important;display:block;margin:0 0 1.2rem!important}
body.single-post .layout .entry div,body.single-post .layout .entry p,body.single-post .layout .entry li,body.single-post .layout .entry td{font-size:1.03rem}
}
body.single-post .layout .entry > time + h1{margin-top:-1px;box-shadow:none}
body.single-post .layout .entry > time{border:0}

/* ---------- gallerie a carosello negli articoli (v1.7.5) ---------- */
body.single-post .layout .entry .gal{margin:1rem 0 2.2rem}
body.single-post .layout .entry .gal-stage{position:relative}
body.single-post .layout .entry .gal-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;border-radius:var(--r);background:var(--blue-d);outline-offset:3px}
body.single-post .layout .entry .gal-track::-webkit-scrollbar{display:none}
body.single-post .layout .entry .gal-slide{flex:0 0 100%;scroll-snap-align:center;display:flex;align-items:center;justify-content:center;height:min(68vh,560px)}
body.single-post .layout .entry .gal-slide img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:0;box-shadow:none;display:block;margin:0}
body.single-post .layout .entry .gal-btn{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;border:0;background:rgba(255,255,255,.9);color:var(--blue-d);font-size:1.1rem;line-height:46px;padding:0;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
body.single-post .layout .entry .gal-btn:hover{background:#fff}
body.single-post .layout .entry .gal-prev{left:12px}body.single-post .layout .entry .gal-next{right:12px}
body.single-post .layout .entry .gal-count{position:absolute;right:12px;bottom:12px;padding:.25em .7em;border-radius:99px;background:rgba(13,33,66,.78);color:#fff;font:600 .85rem/1.4 var(--sans)}
body.single-post .layout .entry .gal-thumbs{display:flex;gap:.5rem;overflow-x:auto;padding:.7rem 0 .2rem;scrollbar-width:thin}
body.single-post .layout .entry .gal-thumbs button{flex:0 0 76px;height:56px;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;background:var(--sky);cursor:pointer;opacity:.6;transition:opacity .15s}
body.single-post .layout .entry .gal-thumbs button:hover{opacity:1}
body.single-post .layout .entry .gal-thumbs button[aria-current="true"]{border-color:var(--gold);opacity:1}
body.single-post .layout .entry .gal-thumbs img{width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none;margin:0}
@media(max-width:640px){body.single-post .layout .entry .gal-slide{height:66vw}body.single-post .layout .entry .gal-btn{width:36px;height:36px;line-height:36px;font-size:.9rem}body.single-post .layout .entry .gal-prev{left:6px}body.single-post .layout .entry .gal-next{right:6px}body.single-post .layout .entry .gal-thumbs button{flex-basis:60px;height:44px}}

body.single-post .layout .entry .gal{display:block;width:100%;max-width:100%;contain:inline-size}
body.single-post .layout .entry .gal-track,body.single-post .layout .entry .gal-thumbs{max-width:100%}

/* ---------- webcam: link alternativo alla diretta YouTube (v1.7.6) ---------- */
.embed-alt{margin:.7rem 0 0;font-size:.95rem}
.embed-alt a{display:inline-flex;align-items:center;gap:.45em;color:var(--blue);font-weight:600;text-decoration-color:var(--gold);text-underline-offset:3px}
.embed-alt a::before{content:"\25B6";font-size:.75em;color:#c4302b}

/* === Colonne indipendenti nello scorrimento (solo computer, schermi oltre 960 px) ===
   La colonna di destra resta ferma sotto il menu e scorre per conto suo;
   la colonna principale scorre con la pagina. --valme-top e' l'altezza del menu fisso
   (+ barra di WordPress per chi e' collegato), calcolata da uno script in header.php. */
@media (min-width: 961px) {
  .layout > .sidebar {
    position: sticky;
    top: calc(var(--valme-top, 76px) + 16px);
    max-height: calc(100vh - var(--valme-top, 76px) - 32px);
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 8px;
    scrollbar-width: thin;
    scrollbar-color: #c9a54b transparent;
  }
  .layout > .sidebar::-webkit-scrollbar { width: 6px; }
  .layout > .sidebar::-webkit-scrollbar-thumb { background: #c9a54b; border-radius: 6px; }
  .layout > .sidebar::-webkit-scrollbar-track { background: transparent; }
}

/* === Pagine importate da valme.net: impaginazione comune (classi vp-) ===
   Usata dalle pagine Orari Messe e Adorazione, Archivio catechesi, Rosario meditato,
   Catechismo on-line, Catechismo per i bambini, Catechesi Cresima.
   Stesso stile della pagina Canali WhatsApp e Telegram. */
.vp{--vp-gold:#c9a54b;--vp-blue:#0d2142;--vp-line:#d8e0ea}
.vp .vp-hero{margin:0 0 1.4rem}
.vp .vp-hero img{display:block;width:100%;height:auto;border-radius:14px!important;border:2px solid var(--vp-gold);box-shadow:none!important;margin:0}
.vp .vp-hero.vp-narrow{max-width:600px;margin-left:auto;margin-right:auto}
.vp .vp-lead{font-size:1.12rem!important;line-height:1.7!important;margin:0 0 1.6rem}
.vp .vp-card{background:#fff;border:1px solid var(--vp-line);border-top:5px solid var(--vp-gold);border-radius:14px;box-shadow:0 8px 22px rgba(13,33,66,.08);padding:1.1rem 1.3rem 1.3rem;margin:0 0 1.4rem}
.layout .entry .vp .vp-card > h2:first-child,.layout .entry .vp .vp-card > h3:first-child{margin-top:.1rem!important}
.layout .entry .vp .vp-section > h3{margin-top:1.4rem!important}
.vp .vp-card p,.vp .vp-card li,.vp .vp-card dd,.vp .vp-card dt{font-size:1rem!important;line-height:1.6!important}
.vp .vp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem;align-items:stretch;margin:0 0 1.4rem}
.vp .vp-grid > .vp-card{margin:0}
.vp .vp-section{margin:2rem 0 1rem}
.vp .vp-section > h2{margin-bottom:.4rem!important}
.vp .vp-sub{color:#5a687a;margin:0 0 1rem!important;font-style:italic}
.vp .vp-videos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin:1rem 0 1.4rem}
.vp .vp-video{margin:0;background:#fff;border:1px solid var(--vp-line);border-radius:14px;overflow:hidden;box-shadow:0 6px 16px rgba(13,33,66,.07);display:flex;flex-direction:column}
.vp .vp-video iframe{display:block;width:100%!important;max-width:none!important;aspect-ratio:16/9;height:auto!important;border:0;border-radius:0!important;margin:0!important}
.vp .vp-video a.vp-thumb{display:block}
.vp .vp-video a.vp-thumb img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0!important;box-shadow:none!important;margin:0}
.vp .vp-video figcaption{padding:.7rem .9rem .8rem;font-family:var(--serif,Georgia,serif);font-weight:700;color:var(--vp-blue);line-height:1.35;font-size:1rem}
.vp .vp-video figcaption small{display:block;margin-top:.25rem;font-family:var(--sans,system-ui,sans-serif);font-weight:500;font-size:.85rem;color:#5a687a;letter-spacing:.02em}
.vp .vp-note{background:#f6efd9;border-left:4px solid var(--vp-gold);padding:.7rem .9rem;border-radius:0 10px 10px 0;margin:1rem 0}
.vp dl.vp-times{margin:.4rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem}
.vp dl.vp-times dt{font-weight:700;color:var(--vp-blue)}
.vp dl.vp-times dd{margin:0}
.vp a.vp-btn{display:inline-flex;justify-content:center;align-items:center;gap:.4rem;margin-top:.6rem;padding:.75rem 1.2rem;background:var(--vp-blue);color:#fff!important;border:2px solid var(--vp-gold);border-radius:12px;font-weight:700;text-decoration:none!important;transition:background .2s,color .2s}
.vp a.vp-btn:hover,.vp a.vp-btn:focus-visible{background:var(--vp-gold);color:var(--vp-blue)!important}
@media (hover:none){.vp a.vp-btn:hover{background:var(--vp-blue);color:#fff!important}}
.vp .vp-links{display:grid;gap:.8rem;margin:1rem 0 0}
.vp .vp-links a.vp-btn{display:flex;margin:0;text-align:center}
.vp .vp-cta{text-align:center;background:var(--vp-blue);color:#fff;border-radius:14px;padding:1.2rem 1.3rem 1.4rem;margin:2rem 0 1rem;border-bottom:4px solid var(--vp-gold)}
.vp .vp-cta p{color:#fff!important;margin:0 0 .4rem!important;font-size:1.05rem!important}
.vp .vp-cta a.vp-btn{background:var(--vp-gold);color:var(--vp-blue)!important}
.vp .vp-cta a.vp-btn:hover,.vp .vp-cta a.vp-btn:focus-visible{background:#fff}
.vp .vp-end{margin:1.4rem 0 0}
.vp .vp-end img{display:block;width:100%;height:auto;border-radius:14px!important;box-shadow:none!important;margin:0}
@media (max-width:820px){.vp .vp-grid,.vp .vp-videos{grid-template-columns:1fr}}

/* === Galleria fotografica: foto grande + miniature (classe vg) ===
   Uso in una pagina: <div class="vg"> con <a class="vg-thumb" href="FOTO GRANDE"><img src="MINIATURA"></a> */
.vg{margin:1.2rem 0 1.6rem;max-width:860px}
.vg-stage{position:relative;background:var(--blue-d,#0d2142);border-radius:var(--r,14px);overflow:hidden;aspect-ratio:4/3}
.vg-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;transition:opacity .25s ease}
.vg-stage img.vg-loading{opacity:.35}
.vg-btn{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border:0;border-radius:50%;background:rgba(13,33,66,.65);color:#fff;font-size:28px;line-height:44px;text-align:center;cursor:pointer;padding:0}
.vg-btn:hover,.vg-btn:focus-visible{background:var(--gold,#b98a2e);outline:none}
.vg-prev{left:10px}.vg-next{right:10px}
.vg-count{position:absolute;right:10px;bottom:10px;background:rgba(13,33,66,.7);color:#fff;font:600 13px/1 var(--sans,sans-serif);padding:6px 10px;border-radius:999px}
.vg-open{position:absolute;left:10px;bottom:10px;background:rgba(13,33,66,.7);color:#fff !important;font:600 13px/1 var(--sans,sans-serif);padding:6px 10px;border-radius:999px;text-decoration:none !important}
.vg-thumbs{position:relative;display:flex;gap:8px;overflow-x:auto;padding:10px 2px 6px;scroll-snap-type:x mandatory;scrollbar-width:thin}
.vg-thumb{flex:0 0 auto;width:92px;height:69px;border-radius:8px;overflow:hidden;border:3px solid transparent;scroll-snap-align:center;opacity:.7;transition:opacity .2s,border-color .2s;display:block}
.vg-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vg-thumb:hover,.vg-thumb:focus-visible{opacity:1;outline:none}
.vg-thumb.is-active{border-color:var(--gold,#b98a2e);opacity:1}
/* senza JavaScript: solo la griglia delle miniature, che aprono la foto */
.vg:not(.js) .vg-stage{display:none}
.vg:not(.js) .vg-thumbs{flex-wrap:wrap;overflow:visible}
@media (max-width:600px){.vg-thumb{width:72px;height:54px}.vg-btn{width:38px;height:38px;line-height:38px;font-size:24px}}
.vg-cap{position:absolute;left:10px;top:10px;max-width:calc(100% - 20px);background:rgba(13,33,66,.75);color:#fff;font:600 14px/1.3 var(--sans,sans-serif);padding:7px 12px;border-radius:10px}
.vg-cap[hidden]{display:none}
.vg-didascalia{margin:-.8rem 0 1.4rem;font-size:.9em;color:var(--mute,#5a687a);font-style:italic}
