/* ============================================================
   SITE.CSS — nuovo sistema grafico "Istituzionale navy".
   Foglio di stile pulito e autonomo per le pagine ridisegnate.
   Non dipende dal vecchio style.css. Bootstrap-icons solo per le icone.
   ============================================================ */
:root{
  --navy:#12304f; --navy-2:#0e2740; --navy-3:#1d4a75;
  --gold:#b08b4f; --gold-dk:#8f6f36; --gold-soft:#f3ecdd;
  --ink:#182430; --body:#3c4652; --muted:#6b7684; --line:#e6e9ee; --line-2:#eef1f5;
  --paper:#f7f8fa; --surface:#ffffff;
  --maxw:1180px;
  --font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --font-title:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --shadow:0 4px 18px rgba(18,48,79,.07); --shadow-lg:0 16px 40px rgba(18,48,79,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--body);
  font-family:var(--font-body);
  font-size:15.5px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3,h4{font-family:var(--font-title);color:var(--navy);
  font-weight:700;line-height:1.14;letter-spacing:.002em;margin:0}
strong,b{font-weight:700;color:inherit}
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-dk)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:11px 22px;border-radius:3px;font-weight:600;
  font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;border:1px solid transparent;cursor:pointer;transition:.16s}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-2)}
.btn-ghost{border-color:var(--line);color:var(--navy)}.btn-ghost:hover{background:var(--navy);color:#fff}
.btn-gold{background:var(--gold);color:#12304f}.btn-gold:hover{background:var(--gold-dk);color:#fff}
.btn-ghost-light{border-color:rgba(255,255,255,.3);color:#fff}.btn-ghost-light:hover{background:#fff;color:var(--navy)}
.more{color:var(--gold-dk);font-weight:600;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase}
.more:hover{color:var(--navy)}

/* ---------------- Header ---------------- */
.s-top{background:var(--navy-2);color:#c4d1de;font-size:.8rem}
.s-top .container{display:flex;align-items:center;gap:16px;min-height:38px;flex-wrap:wrap}
.s-top .date{color:#e7eef7;font-weight:500}
.s-top .sep{opacity:.4}
.s-top .links{margin-left:auto;display:flex;gap:18px}
.s-top a{color:#c4d1de;font-weight:500}.s-top a:hover{color:var(--gold)}
.s-mast{background:#fff;border-bottom:1px solid var(--line)}
.s-mast .container{display:flex;align-items:center;gap:18px;padding:18px 24px}
.s-brand{display:flex;align-items:center;gap:15px}
.s-brand img{height:58px;width:58px;object-fit:contain}
.s-brand .bt{font-family:var(--font-title);font-size:1.36rem;font-weight:600;color:var(--navy);line-height:1.15}
.s-brand .bs{display:block;font-size:.7rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.s-tools{margin-left:auto;display:flex;align-items:center;gap:16px}
.s-tools .ic{color:var(--navy);font-size:1.1rem;opacity:.75}.s-tools .ic:hover{opacity:1;color:var(--gold-dk)}
.s-tools .div{width:1px;height:26px;background:var(--line)}
.s-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:60}
.s-nav .container{display:flex;align-items:center;min-height:52px}
.s-nav .links{display:flex;flex-wrap:wrap;align-items:center}
.s-nav a{color:var(--ink);font-weight:600;font-size:.8rem;letter-spacing:.07em;text-transform:uppercase;
  padding:16px 15px;position:relative}
.s-nav a:hover{color:var(--gold-dk)}
.s-nav a.active{color:var(--navy)}
.s-nav a::after{content:"";position:absolute;left:15px;right:15px;bottom:-1px;height:2px;background:var(--gold);transform:scaleX(0);transition:.2s}
.s-nav a:hover::after,.s-nav a.active::after{transform:scaleX(1)}
.s-nav a.hl{background:var(--navy);color:#fff;border-radius:2px;margin-left:8px;padding:10px 16px}
.s-nav a.hl::after{display:none}.s-nav a.hl:hover{background:var(--navy-2);color:#fff}
.s-toggle{display:none;margin-left:auto;background:none;border:0;color:var(--navy);font-size:1.5rem;cursor:pointer;padding:8px}

/* ---------------- Sezioni ---------------- */
.section{padding:60px 0}
.section.soft{background:var(--surface)}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:28px}
.sec-head h2{font-size:1.85rem}
.sec-head.center{flex-direction:column;align-items:center;text-align:center;gap:10px}
.sec-rule{width:46px;height:3px;background:var(--gold);margin-top:12px}

/* ---------------- Tasti rapidi ---------------- */
.quick-strip{background:var(--surface);border-bottom:1px solid var(--line)}
.quick-strip .qs{display:flex;flex-wrap:wrap}
.quick-strip .qs a{flex:1 1 0;min-width:160px;display:flex;align-items:center;justify-content:center;gap:9px;
  padding:16px 14px;color:var(--ink);font-weight:600;font-size:.82rem;letter-spacing:.03em;
  border-right:1px solid var(--line);transition:.15s}
.quick-strip .qs a:last-child{border-right:0}
.quick-strip .qs a i{color:var(--gold);font-size:1.15rem}
.quick-strip .qs a:hover{background:#faf9f5;color:var(--navy)}

/* ---------------- Lead / notizie ---------------- */
.sec-head.only-link{justify-content:flex-end;margin-bottom:18px}
.lead{display:grid;grid-template-columns:1.7fr 1fr;gap:40px;align-items:start}
.feature .ph{position:relative;aspect-ratio:16/9;border-radius:4px;overflow:hidden;background:var(--line-2)}
.feature .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}.feature:hover .ph img{transform:scale(1.03)}
.feature .cat{position:absolute;top:0;left:0;background:var(--navy);color:#fff;font-size:.66rem;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;padding:7px 13px}
.feature h3{font-size:1.95rem;margin:18px 0 8px;color:var(--navy)}
.feature:hover h3{color:var(--gold-dk)}
.feature p{color:var(--muted);margin:0;font-size:1.03rem}
.feature-wrap{min-width:0}
/* Card copertina: il titolo si adatta allo spazio della card (container query),
   ma non scende mai sotto la dimensione del testo introduttivo; l'introduzione
   resta SEMPRE integrale (mai troncata). Il grande featured del box classico
   (dentro .lead) mantiene la sua dimensione piena. */
.feature{container-type:inline-size}
.feature h3{font-size:clamp(1.05rem,5.2cqi,1.95rem);line-height:1.18}
.feature p{overflow:visible;-webkit-line-clamp:none;display:block;text-overflow:clip}
.lead .feature h3{font-size:1.95rem}
/* Correlati "in home": chip piccoli e condensati, affiancati sulla stessa riga */
.feature-rel{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 8px}
.feature-rel>li{margin:0;padding:0;max-width:100%}
.feature-rel .rel-c{display:inline-flex;align-items:center;gap:5px;max-width:100%;font-size:.82rem;font-weight:600;line-height:1.2;background:#f2f5fa;border:1px solid var(--line);border-radius:16px;padding:4px 11px;white-space:nowrap}
.feature-rel .rel-c i{font-size:.9rem;margin-top:0}
.feature-rel .rel-c span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feature-rel .rel-c:hover{background:#fff;border-color:var(--gold)}
.feature-rel .rel-c:hover span{text-decoration:none}
.aside{display:flex;flex-direction:column;gap:20px}
.saint{position:relative;background:var(--navy);color:#fff;border-radius:4px;overflow:hidden;border-left:3px solid var(--gold);min-height:148px}
.saint-photo{position:absolute;top:0;right:0;bottom:0;width:52%;pointer-events:none}
.saint-photo img{width:100%;height:100%;object-fit:cover;opacity:.5;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.92) 68%);
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.92) 68%)}
.saint-body{position:relative;z-index:1;padding:18px 20px;max-width:72%}
.saint:not(.has-photo) .saint-body{max-width:100%}
.saint .k{font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.saint h4{color:#fff;font-size:1.3rem;margin:6px 0 6px;line-height:1.2}
.saint h4 a{color:#fff}.saint h4 a:hover{color:var(--gold)}
.saint .saint-sub{margin:0 0 13px;color:#c4d1de;font-size:.88rem}
.saint-guida{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);color:#fff;
  border:1px solid rgba(255,255,255,.22);border-radius:3px;padding:8px 14px;font-size:.78rem;font-weight:600;
  letter-spacing:.03em;cursor:pointer;transition:.15s}
.saint-guida:hover{background:var(--gold);border-color:var(--gold);color:#12304f}
.saint-guida i{font-size:.95rem}
/* Mobile: santo lungo → interlinea più stretta, titolo un filo più piccolo e più spazio al testo */
@media(max-width:640px){
  .saint{min-height:0}
  .saint-photo{width:40%}
  .saint-body{max-width:66%;padding:15px 16px}
  .saint h4{font-size:1.06rem;line-height:1.18;margin:4px 0 5px}
  .saint .saint-sub{font-size:.84rem;margin-bottom:10px}
}

/* Modale guida liturgica */
.cpml-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}
.cpml-modal[hidden]{display:none}
.cpml-modal-back{position:absolute;inset:0;background:rgba(10,26,46,.55)}
.cpml-modal-dialog{position:relative;background:#fff;border-radius:6px;max-width:680px;width:100%;max-height:85vh;
  display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(10,26,46,.4);overflow:hidden;animation:cpmlIn .18s ease}
@keyframes cpmlIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.cpml-modal-head{display:flex;align-items:center;justify-content:space-between;padding:15px 22px;border-bottom:1px solid var(--line);background:var(--navy)}
.cpml-modal-head h4{color:#fff;font-size:1.2rem;margin:0}.cpml-modal-head i{color:var(--gold);margin-right:6px}
.cpml-modal-x{background:none;border:0;color:#c4d1de;font-size:1.7rem;line-height:1;cursor:pointer;padding:0 4px}
.cpml-modal-x:hover{color:#fff}
.cpml-modal-body{padding:22px 24px;overflow-y:auto}
.guida-body{color:var(--body);font-size:.96rem;line-height:1.7}
.guida-body h1,.guida-body h2,.guida-body h3,.guida-body h4{font-family:var(--font-title);color:var(--navy);margin:1em 0 .4em;font-weight:600}
.guida-body h3{font-size:1.3rem}.guida-body h4{font-size:1.1rem}
.guida-body p{margin:0 0 .9em}
.guida-body a{color:var(--gold-dk);text-decoration:underline}
.guida-body ul,.guida-body ol{margin:0 0 .9em 1.2em}
.guida-body img{max-width:100%;height:auto;border-radius:4px;margin:.6em 0}
.guida-body hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}
.guida-body .guida-src{font-size:.82rem;color:var(--muted)}
.mini{display:flex;gap:14px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.mini:last-child{border-bottom:0;padding-bottom:0}
.mini .th{flex:0 0 92px;height:70px;border-radius:3px;overflow:hidden;background:var(--line-2)}
.mini .th img{width:100%;height:100%;object-fit:cover}
.mini .cat{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);font-weight:700}
.mini h5{font-family:var(--font-title);font-size:1.12rem;font-weight:700;color:var(--navy);margin:4px 0 0;line-height:1.24}
.mini:hover h5{color:var(--gold-dk)}

/* ---------------- Parrocchie ---------------- */
.par-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.par{display:block;background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:.18s}
.par:hover{border-color:var(--gold);box-shadow:var(--shadow-lg);transform:translateY(-3px)}
.par .par-img{aspect-ratio:4/3;overflow:hidden;background:var(--line-2)}
.par .par-img img{width:100%;height:100%;object-fit:cover;transition:.4s}
.par:hover .par-img img{transform:scale(1.05)}
.par .par-bd{padding:15px 18px}
.par .k{font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dk);font-weight:700}
.par h4{color:var(--navy);font-size:1.1rem;margin:5px 0 5px;line-height:1.22}
.par:hover h4{color:var(--gold-dk)}
.par small{color:var(--muted);font-size:.84rem;display:flex;align-items:center;gap:5px}
.par small i{color:var(--gold)}

/* ---------------- Eventi / volantini ---------------- */
.two{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}
.ev{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.ev:first-child{padding-top:0}.ev:last-child{border-bottom:0}
.ev .date{flex:0 0 58px;align-self:flex-start;text-align:center;border:1px solid var(--line);border-top:3px solid var(--evc,var(--gold));border-radius:3px;padding:7px 4px}
.ev .date .d{font-family:var(--font-title);font-size:1.55rem;font-weight:700;color:var(--navy);line-height:1}
.ev .date .m{font-size:.64rem;font-weight:700;letter-spacing:.1em;color:var(--gold-dk);margin-top:3px}
.ev-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:4px}
.ev h4{font-family:var(--font-title);font-weight:700;font-size:1.2rem;margin:0;line-height:1.2}
.ev-tag{font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 9px;border-radius:20px;
  color:#fff;background:var(--evc,var(--navy));white-space:nowrap}
.ev .sub{font-size:.84rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:12px}
.ev .sub span{display:inline-flex;align-items:center;gap:5px}
.vol-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vol{border:1px solid var(--line);border-radius:4px;overflow:hidden;background:#fff}
.vol .ph{aspect-ratio:3/4;background:#fff}.vol .ph img{width:100%;height:100%;object-fit:contain}
.vol .bd{padding:10px 12px}.vol h5{font-family:var(--font-title);font-weight:700;font-size:1rem;color:var(--navy);margin:0;line-height:1.25}
.empty{color:var(--muted);border:1px dashed var(--line);border-radius:4px;padding:26px;text-align:center}

/* ---------------- Gallery ---------------- */
.gal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gal{position:relative;aspect-ratio:4/3;border-radius:4px;overflow:hidden;background:var(--line-2)}
.gal img{width:100%;height:100%;object-fit:cover;transition:.4s}.gal:hover img{transform:scale(1.05)}
.gal .cap{position:absolute;inset:auto 0 0 0;background:linear-gradient(180deg,transparent,rgba(10,26,46,.9));
  color:#fff;padding:26px 16px 14px;font-family:var(--font-title);font-weight:600}

/* ---------------- Page hero (pagine interne) ---------------- */
.page-hero{background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}
.page-hero .container{padding:52px 24px 46px}
.page-hero .crumbs{font-size:.78rem;color:#8ea3bd;letter-spacing:.03em;margin-bottom:12px}
.page-hero .crumbs a:hover{color:#fff}
.page-hero h1{color:#fff;font-size:2.4rem;margin:10px 0 10px;line-height:1.12}
.page-hero p{color:#c4d1de;max-width:640px;margin:0;font-size:1.05rem}

/* ---------------- Turni sacerdoti ---------------- */
.tt-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end;background:var(--surface);
  border:1px solid var(--line);border-radius:6px;padding:16px 18px;margin-bottom:30px}
.tt-filters .ttf{display:flex;flex-direction:column;gap:5px;min-width:180px;flex:1 1 180px}
.tt-filters label{font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}
.tt-filters select{border:1px solid #d7dde6;border-radius:4px;padding:9px 10px;font-size:.9rem;color:var(--ink);background:#fff}
.tt-filters select:focus{outline:none;border-color:var(--navy)}
.tt-day{margin-bottom:34px}
.tt-day-head{display:flex;align-items:center;gap:16px;margin-bottom:16px}
.tt-day-head h3{font-size:1.35rem;color:var(--navy);white-space:nowrap}
.tt-day-head .line{flex:1;height:1px;background:var(--line)}
.tt-list{display:flex;flex-direction:column;gap:12px}
.tt-item{display:grid;grid-template-columns:78px 1fr 168px;gap:18px;align-items:center;background:var(--surface);
  border:1px solid var(--line);border-radius:6px;padding:16px 18px;transition:.18s}
.tt-item:hover{border-color:var(--gold);box-shadow:0 8px 22px rgba(18,48,79,.07)}
.tt-item.is-past{opacity:.5}
.tt-time{display:flex;flex-direction:column;align-items:center;gap:6px;border-right:1px solid var(--line);padding-right:14px}
.tt-time .hh{font-family:var(--font-title);font-size:1.55rem;font-weight:700;color:var(--navy);line-height:1}
.stato-badge.tt-status{font-family:var(--font-body);font-size:.58rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  padding:2px 8px;border-radius:20px;white-space:nowrap}
.stato-badge.tt-status:empty{display:none}
.tt-status.is-soon{background:var(--gold-soft);color:var(--gold-dk)}
.tt-status.is-live{background:#e2f2ea;color:#1f7a4d}
.tt-status.is-ended{background:#eef1f5;color:var(--muted)}
.tt-tag{display:inline-block;font-family:var(--font-body);font-size:.66rem;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;color:var(--navy);background:var(--gold-soft);border:1px solid #e6dbc0;padding:3px 9px;border-radius:3px;margin-bottom:9px}
.tt-place{display:flex;gap:8px;align-items:flex-start;color:var(--body);font-size:.9rem}
.tt-place i{color:var(--gold);margin-top:2px}
.tt-place strong{color:var(--navy);font-weight:700;display:block}
.tt-place em{font-style:normal;color:var(--muted);font-size:.86rem}
.tt-note{margin-top:6px;font-size:.85rem;color:var(--muted);font-style:italic}
.tt-cel{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.tt-cel img,.tt-cel .tt-cel-ph{width:50px;height:50px;border-radius:50%;object-fit:cover;background:var(--line-2);
  display:grid;place-items:center;color:var(--muted);border:2px solid var(--gold-soft)}
.tt-cel-name{font-family:var(--font-body);font-size:.78rem;font-weight:700;color:var(--navy);line-height:1.25}
.tt-concel{font-size:.71rem;color:var(--muted);line-height:1.3;margin-top:1px}
.tt-empty{margin-top:10px}
@media(max-width:640px){
  .tt-item{grid-template-columns:52px 1fr;gap:12px}
  .tt-time{padding-right:10px;gap:4px}
  .tt-time .hh{font-size:1.1rem}
  .tt-status.tt-status{font-size:.5rem;padding:2px 6px}
  .tt-cel{grid-column:1 / -1;flex-direction:row;justify-content:flex-start;text-align:left;flex-wrap:wrap;
    border-top:1px solid var(--line-2);padding-top:10px;margin-top:4px}
  .tt-cel img,.tt-cel .tt-cel-ph{width:38px;height:38px}
  .tt-concel{flex-basis:100%}
}

/* ---------------- Contatti ---------------- */
.ct-parroco{display:grid;grid-template-columns:200px 1fr;gap:26px;background:var(--navy);color:#fff;
  border-radius:6px;overflow:hidden;border-left:3px solid var(--gold);margin-bottom:36px}
.ct-parroco .ph{background:var(--navy-2)}
.ct-parroco .ph img{width:100%;height:100%;object-fit:cover;min-height:220px}
.ct-parroco .bd{padding:26px 28px}
.ct-parroco .k{font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-weight:700}
.ct-parroco h3{color:#fff;font-size:1.6rem;margin:6px 0 3px}
.ct-parroco .role{color:#c4d1de;margin-bottom:14px}
.ct-parroco .lk{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.ct-parroco .lk a{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:#fff;border-radius:3px;padding:9px 16px;font-size:.85rem;font-weight:600}
.ct-parroco .lk a:hover{background:var(--gold);border-color:var(--gold);color:#12304f}
.ct-parroco .comp{display:flex;flex-wrap:wrap;gap:8px}
.ct-parroco .comp span{font-size:.76rem;color:#c4d1de;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:20px;padding:4px 11px}
.ct-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.ct-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.ct-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;transition:.15s;display:flex;gap:16px}
.ct-card:hover{box-shadow:var(--shadow-lg);border-color:transparent}
.ct-card .av{flex:0 0 64px;height:64px;border-radius:50%;overflow:hidden;background:var(--line-2);display:grid;place-items:center;color:var(--muted);border:2px solid var(--gold-soft)}
.ct-card .av img{width:100%;height:100%;object-fit:cover}
.ct-card .k{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);font-weight:700}
.ct-card h4{color:var(--navy);font-size:1.12rem;margin:2px 0 3px}
.ct-card .role,.ct-card .addr{color:var(--muted);font-size:.86rem;margin-bottom:8px}
.ct-card .lk{display:flex;flex-direction:column;gap:4px;font-size:.86rem}
.ct-card .lk a{color:var(--navy);font-weight:600;display:inline-flex;align-items:center;gap:6px}
.ct-card .lk a:hover{color:var(--gold-dk)}
.ct-card .lk a i{color:var(--gold);flex:0 0 auto}
.ct-card .ct-bd{min-width:0;flex:1}
.ct-card .lk a{word-break:break-word}
.ct-card .lk .brk{word-break:break-all;overflow-wrap:anywhere}

/* parrocchie con sacerdote di riferimento (2 per riga) */
.par2-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.par2-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column}
.p2-head{display:flex;gap:14px;align-items:center;margin-bottom:14px}
.p2-ic{flex:0 0 46px;height:46px;border-radius:10px;background:var(--gold-soft);color:var(--gold-dk);display:grid;place-items:center;font-size:1.2rem}
.p2-head .k{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:700}
.p2-head h3{color:var(--navy);font-size:1.2rem;margin:2px 0 0}
.p2-info{display:flex;flex-direction:column;gap:7px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:16px}
.p2-info p{display:flex;gap:9px;align-items:flex-start;margin:0;color:var(--body);font-size:.9rem;min-width:0}
.p2-info i{color:var(--gold);margin-top:3px;flex:0 0 auto}
.p2-info a{color:var(--navy);font-weight:600;word-break:break-word;overflow-wrap:anywhere}
.p2-info a:hover{color:var(--gold-dk)}
.p2-ref{display:flex;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:16px}
.p2-ref-av{flex:0 0 54px;height:54px;border-radius:50%;overflow:hidden;background:var(--line-2);display:grid;place-items:center;color:var(--muted);border:2px solid var(--gold-soft)}
.p2-ref-av img{width:100%;height:100%;object-fit:cover}
.p2-ref-bd{min-width:0}
.p2-ref-bd .k{font-size:.6rem;letter-spacing:.09em;text-transform:uppercase;color:var(--gold-dk);font-weight:700}
.p2-ref-bd strong{display:block;color:var(--navy);font-size:1rem;margin:1px 0}
.p2-ref-role{color:var(--muted);font-size:.82rem;margin-bottom:6px}
.p2-ref-lk{display:flex;flex-direction:column;gap:3px;font-size:.84rem}
.p2-ref-lk a{color:var(--navy);font-weight:600;display:inline-flex;align-items:center;gap:6px;word-break:break-word;overflow-wrap:anywhere}
.p2-ref-lk a:hover{color:var(--gold-dk)}
.p2-ref-lk i{color:var(--gold);flex:0 0 auto}
.p2-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:auto}
/* modale segreteria */
.pm-h{color:var(--navy);font-size:.95rem;margin:0 0 8px;display:flex;align-items:center;gap:7px}
.pm-h i{color:var(--gold)}
.pm-h + .pm-list, .pm-h + .pm-info{margin-top:0}
.pm-list{margin:0 0 18px;padding-left:20px;color:var(--body);display:flex;flex-direction:column;gap:5px}
.pm-list li{font-size:.9rem}
.pm-info{color:var(--body);font-size:.92rem;margin:0 0 18px}

/* ---------------- Archivio notizie ---------------- */
.cat-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:26px}
.cat-filter button{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:6px 15px;
  font-size:.78rem;font-weight:600;color:var(--ink);cursor:pointer;transition:.15s;font-family:var(--font-body)}
.cat-filter button:hover{border-color:var(--gold)}
.cat-filter button.active{background:var(--navy);border-color:var(--navy);color:#fff}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.news-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.news-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.news-grid.cols-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:960px){.news-grid.cols-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.news-grid,.news-grid.cols-3{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:560px){.news-grid,.news-grid.cols-2,.news-grid.cols-3,.news-grid.cols-4{grid-template-columns:1fr;gap:18px}}
/* Titolo di sezione "solo titolo" (zone designer) */
.sec-head.only-title{display:block;margin-bottom:22px}
.sec-head.only-title h2{margin:0}
/* Elenco articoli compatto (zona "elenco" del layout a zone) */
.home-elenco{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.home-elenco li{border-bottom:1px solid var(--line)}
.home-elenco a{display:flex;align-items:baseline;gap:12px;padding:13px 4px;text-decoration:none;color:var(--navy);transition:.15s}
.home-elenco a:hover{background:rgba(198,161,90,.06);padding-left:10px}
.home-elenco .he-cat{flex:0 0 auto;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}
.home-elenco .he-tit{flex:1 1 auto;font-weight:600;font-size:1rem;line-height:1.35}
@media(max-width:560px){.home-elenco a{flex-wrap:wrap;gap:3px 10px}}
/* Griglia personalizzata (template "custom" del builder home) */
.hl-grid{display:grid;grid-template-columns:repeat(var(--hl-cols,3),1fr);gap:28px;margin-bottom:28px;align-items:start}
.hl-grid:last-child{margin-bottom:0}
.hl-cell{min-width:0}
.hl-cell>.feature,.hl-cell>.news-card,.hl-cell>.hl-card-wrap{height:100%}
@media(max-width:860px){.hl-grid{gap:20px}.hl-grid .hl-cell{grid-column:span 1 !important}.hl-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.hl-grid{grid-template-columns:1fr;gap:18px}}
/* Articolo con correlati "in home" fuori dalle sezioni classiche */
.hl-card-wrap{display:flex;flex-direction:column}
/* Barra ricerca + categorie della pagina Notizie */
.news-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:22px}
.news-search{position:relative;flex:1 1 260px;max-width:420px}
.news-search i{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#8ba0b6}
.news-search input{width:100%;border:1px solid var(--line);border-radius:26px;padding:10px 16px 10px 40px;font-size:.95rem;background:#fff;color:var(--navy)}
.news-search input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(198,161,90,.15)}
.news-toolbar .cat-filter{margin:0}
@media(max-width:560px){.news-toolbar{gap:10px}.news-search{flex-basis:100%;max-width:none}}
.news-card{background:var(--surface);border:1px solid var(--line);border-radius:6px;overflow:hidden;display:flex;flex-direction:column;transition:.18s}
.news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg);border-color:transparent}
.news-card .ph{aspect-ratio:16/10;overflow:hidden;background:var(--line-2)}
.news-card .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}.news-card:hover .ph img{transform:scale(1.04)}
.news-card .bd{padding:18px 20px 20px;display:flex;flex-direction:column;gap:9px;flex:1}
.news-card .cat{font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dk);font-weight:700}
.news-card h3{font-size:1.2rem;color:var(--navy);line-height:1.28}
.news-card:hover h3{color:var(--gold-dk)}
.news-card p{color:var(--muted);font-size:.92rem;margin:0}
.news-card .meta{margin-top:auto;font-size:.78rem;color:#98a2b0;display:flex;align-items:center;gap:6px}

/* ---------------- Articolo ---------------- */
.article{max-width:760px;margin:0 auto}
.article .prose{font-size:1.06rem;line-height:1.78;color:#28323f}
.article .prose h2,.article .prose h3{color:var(--navy);margin:1.6em 0 .5em}
.article .prose p{margin:0 0 1.15em}
.article .prose a{color:var(--gold-dk);text-decoration:underline}
.article .prose img{border-radius:6px;margin:1.4em 0}
.article .prose ul,.article .prose ol{margin:0 0 1.15em 1.2em}
.article .prose blockquote{border-left:3px solid var(--gold);margin:1.4em 0;padding:.3em 1.2em;color:var(--muted);font-style:italic}
.article .lead-sub{font-size:1.22rem;color:var(--navy);line-height:1.5;margin:0 0 24px;font-weight:500}
.article .cover{border-radius:6px;overflow:hidden;margin:0 0 26px;max-height:460px}
.article .cover img{width:100%;height:100%;object-fit:cover}
.rel-block{margin:1.6em 0}
.contenuti-correlati{margin-top:2em;border-top:1px solid var(--line);padding-top:1.4em}
.contenuti-correlati h3{color:var(--navy);margin-bottom:.6em}
.contenuti-correlati .rel-elenco{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rel-foto img,.rel-galleria img{border-radius:6px;max-width:100%}
/* --- Elementi correlati estesi (documento / sacerdote / progetto / proposti) --- */
.rel-documento{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:#fff;max-width:100%}
.rel-documento:hover{border-color:var(--gold)}
.rel-documento img{width:52px;height:70px;object-fit:cover;border-radius:5px;flex:0 0 auto}
.rel-documento .rel-doc-ico,.rel-sac-ico,.rel-prog-ico{width:44px;height:44px;flex:0 0 auto;display:grid;place-items:center;border-radius:8px;background:var(--sand,#f2ede3);color:var(--navy);font-size:1.3rem}
.rel-documento .rel-doc-tit{font-weight:600}
.rel-sacerdote{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.rel-sacerdote img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.rel-sac-body strong{color:var(--navy)}
.rel-sac-ruolo{color:var(--gold);font-weight:600;font-size:.85rem}
.rel-sac-meta{font-size:.85rem;margin-top:2px;display:flex;flex-wrap:wrap;gap:2px 4px}
.rel-sac-meta a{color:var(--navy)}
.rel-progetto{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:10px 14px;background:#fff}
.rel-progetto strong{color:var(--navy)}
.contenuti-proposti{border-top:1px dashed var(--line)}
.contenuti-proposti summary{cursor:pointer;color:var(--navy);font-weight:600;padding:4px 0}
.contenuti-proposti summary:hover{color:var(--gold)}
.contenuti-proposti .rel-elenco{margin-top:12px}

/* --- Pagina articolo: 2 colonne dall'alto, testo a sinistra, 4 modelli --- */
.art-page{padding-top:26px}
.art-layout-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:44px;align-items:start}
.art-col{min-width:0}
.art-page .crumbs{font-size:.86rem;color:#6b7a8d;margin-bottom:12px}
.art-page .crumbs a{color:#6b7a8d}.art-page .crumbs a:hover{color:var(--gold)}
.art-top-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px}
.art-eyebrow{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;padding:4px 12px;border-radius:4px}
.art-cover{margin:0 0 20px}
.art-cover img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;display:block;box-shadow:0 14px 34px rgba(18,48,79,.16)}
.art-title{font-size:clamp(1.7rem,3.2vw,2.5rem);line-height:1.14;color:var(--navy);margin:0 0 14px;text-align:left}
/* Firma: autore a sinistra (con descrizione sotto), data a destra; a tutta larghezza colonna */
.art-byline{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 18px;color:#5a6b7e;font-size:.92rem;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.art-byline-l{display:flex;flex-direction:column;gap:2px;min-width:0}
.art-byline-l .art-autore{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--navy);font-size:1rem}
.art-autore-ruolo{font-weight:400;color:#6b7a8d;font-size:.86rem;padding-left:24px}
.art-byline-r{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:#6b7a8d;padding-top:2px}
/* Titolo, firma e cappello sempre a tutta larghezza della colonna (non affiancati alla foto) */
.art-col>.art-title,.art-col>.art-byline,.art-col>.lead-sub{clear:both;width:100%}
.art-col .lead-sub{font-size:1.14rem;color:var(--navy);line-height:1.6}
.art-col .prose{font-size:1.06rem;line-height:1.8}
.art-clear{clear:both}
/* Modello 4: copertina incorniciata a sinistra; titolo/testo iniziano a lato e poi si allargano */
.art-mod4 .art-figcol{float:left;width:320px;max-width:44%;margin:6px 26px 14px 0}
.art-mod4 .art-figcol .art-cover{margin:0}
.art-mod4 .art-figcol .art-cover img{aspect-ratio:auto;border:6px solid #fff;box-shadow:0 10px 26px rgba(18,48,79,.2),0 0 0 1px var(--line)}
.art-mod4 .art-title{font-size:clamp(1.6rem,2.8vw,2.2rem)}
@media(max-width:620px){.art-mod4 .art-figcol{float:none;width:100%;max-width:100%;margin:0 0 16px}}
/* Correlati "sotto la foto" negli altri modelli: colonna incorniciata a sinistra, testo a lato */
.art-figcol-rel{float:left;width:320px;max-width:46%;margin:4px 28px 14px 0}
@media(max-width:620px){.art-figcol-rel{float:none;width:100%;max-width:100%;margin:0 0 16px}}
/* Barra laterale destra: SEMPRE presente, parte dall'alto */
.art-aside{position:sticky;top:90px;display:flex;flex-direction:column;gap:18px}
@media(max-width:900px){.art-layout-grid{grid-template-columns:1fr}.art-aside{position:static}}
/* Elemento correlato "a link" con icona (stile chiesadimilano) */
.rel-c{display:flex;align-items:flex-start;gap:9px;text-decoration:none;color:var(--navy);font-weight:600;line-height:1.4}
.rel-c i{color:var(--gold);font-size:1.02rem;line-height:inherit;flex:0 0 auto;margin-top:0;-webkit-text-stroke:.4px currentColor;text-stroke:.4px currentColor}
.rel-c span{min-width:0;line-height:inherit}
.rel-c:hover{color:var(--gold)}
.rel-c:hover span{text-decoration:underline;text-underline-offset:2px}
.rel-c-plain{color:#40566e;font-weight:600}
/* Correlati sotto la foto: box INCORNICIATO (bordo + sfondo), separatori sottili */
.contenuti-correlati.rel-underphoto{margin:14px 0 4px;border:1px solid var(--line);background:#f7f9fc;border-radius:14px;padding:6px 16px}
.art-mod4 .art-figcol .contenuti-correlati.rel-underphoto,.art-figcol-rel .contenuti-correlati.rel-underphoto{margin:12px 0 0}
.contenuti-correlati.rel-underphoto .rel-elenco{gap:0}
.contenuti-correlati.rel-underphoto .rel-elenco>li{padding:11px 0;border-bottom:1px solid var(--line)}
.contenuti-correlati.rel-underphoto .rel-elenco>li:first-child{padding-top:6px}
.contenuti-correlati.rel-underphoto .rel-elenco>li:last-child{border-bottom:none}
/* Correlati in fondo (box dedicato) */
.contenuti-correlati.rel-box{background:#f7f9fc;border:1px solid var(--line);border-radius:14px;padding:16px 20px;margin-top:34px}
.contenuti-correlati.rel-box .rel-elenco{gap:0}
.contenuti-correlati.rel-box .rel-elenco>li{padding:11px 0;border-bottom:1px solid var(--line)}
.contenuti-correlati.rel-box .rel-elenco>li:first-child{padding-top:0}
.contenuti-correlati.rel-box .rel-elenco>li:last-child{border-bottom:none}
/* La nota resta un box anche negli elenchi */
.contenuti-correlati .rel-elenco>li:has(.rel-nota){padding:0;border-bottom:none;margin:10px 0}
/* Correlato NOTA (titolo + testo ricco) */
.rel-nota{background:#fbf7ee;border:1px solid #e8dcc2;border-left:4px solid var(--gold);border-radius:10px;padding:14px 18px}
.rel-nota .rel-nota-tit{display:flex;align-items:center;gap:8px;color:var(--navy);font-weight:700;margin:0 0 6px}
.rel-nota .rel-nota-body{color:#3a4d61;line-height:1.65}
.rel-nota .rel-nota-body p:last-child{margin-bottom:0}
/* Note stampate SOTTO l'elenco dei link (anche nel box incorniciato a sinistra) */
.contenuti-correlati .rel-note-list{display:flex;flex-direction:column;gap:12px;margin-top:14px}
/* quando ci sono anche i link sopra, una linea sottile separa le note dall'elenco */
.contenuti-correlati .rel-elenco+.rel-note-list{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
/* nel box incorniciato a sinistra la nota è più compatta e in armonia con la cornice */
.rel-underphoto .rel-note-list,.art-figcol-rel .rel-note-list{gap:10px;margin-top:12px}
.rel-underphoto .rel-elenco+.rel-note-list,.art-figcol-rel .rel-elenco+.rel-note-list{margin-top:12px;padding-top:12px}
.rel-underphoto .rel-note-list .rel-nota,.art-figcol-rel .rel-note-list .rel-nota{padding:12px 14px;border-radius:10px}
.rel-underphoto .rel-note-list .rel-nota-tit,.art-figcol-rel .rel-note-list .rel-nota-tit{font-size:.95rem}
.rel-underphoto .rel-note-list .rel-nota-body,.art-figcol-rel .rel-note-list .rel-nota-body{font-size:.92rem;line-height:1.55}
/* --- Prenotazioni --- */
.badge-prenotazioni{display:inline-flex;align-items:center;gap:7px;background:#1f7a4d;color:#fff;font-weight:600;font-size:.82rem;padding:5px 13px;border-radius:20px;margin-bottom:10px}
.rel-prenotazione{margin:6px 0}
.btn-prenota{display:inline-flex;align-items:center;gap:9px;background:var(--gold);color:var(--navy);font-weight:700;padding:11px 22px;border-radius:26px;text-decoration:none;box-shadow:0 8px 20px rgba(198,161,90,.35)}
.btn-prenota:hover{filter:brightness(1.05);color:var(--navy)}

/* --- Widget / banner personalizzati --- */
.widgets-strip .wdg-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;align-items:start}
.wdg{display:block}
.wdg-banner img{width:100%;height:auto;border-radius:12px;display:block}
.wdg-banner{border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(18,48,79,.08)}
.wdg-testo,.wdg-html{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.wdg-testo h4,.wdg-html h4{color:var(--navy);margin:0 0 8px}
.wdg-testo .wdg-body{color:#40566e;line-height:1.6}
.wdg-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;color:var(--navy);font-weight:600;text-decoration:none}
.wdg-link:hover{color:var(--gold)}
.art-aside .wdg-banner img{border-radius:10px}
/* Widget predefinito: Notiziario (ultimo numero) */
.wdg-notiziario{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 6px 18px rgba(18,48,79,.08)}
.wdg-notiziario .wn-thumb{position:relative;background:#eef2f7;display:flex;align-items:center;justify-content:center;padding:14px 14px 12px;overflow:hidden}
.wdg-notiziario .wn-thumb img{width:auto;max-width:100%;max-height:230px;object-fit:contain;display:block;border-radius:4px;box-shadow:0 5px 16px rgba(18,48,79,.2)}
.wdg-notiziario .wn-badge{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:6px;background:var(--gold);color:var(--navy);font-weight:700;font-size:.7rem;padding:4px 10px;border-radius:20px}
.wdg-notiziario .wn-bd{padding:14px 16px}
.wdg-notiziario .wn-bd h4{color:var(--navy);font-size:1.02rem;margin:0 0 6px;line-height:1.25}
.wdg-notiziario .wn-date{color:#6b7a8d;font-size:.84rem;display:flex;align-items:center;gap:6px;margin-bottom:10px}
.wdg-notiziario .wn-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.wdg-notiziario .wn-all{font-size:.84rem;color:var(--navy);font-weight:600;text-decoration:none}
.wdg-notiziario .wn-all:hover{color:var(--gold)}
/* Santo del giorno nella barra laterale: un filo più compatto */
.art-aside .wdg-santo{min-height:0}
.art-aside .wdg-santo h4{font-size:1.12rem}

/* ---------------- Footer ---------------- */
.s-foot{background:var(--navy-2);color:#aebccb;padding:56px 0 26px}
.s-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px}
.s-foot h5{color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.13em;margin:0 0 14px;font-family:var(--font-body)}
.s-foot a{color:#aebccb;font-size:.9rem;display:block;padding:5px 0}.s-foot a:hover{color:var(--gold)}
.s-foot .fb img{height:48px;margin-bottom:14px}
.s-foot .fb p{font-size:.9rem;color:#8ba0b6;max-width:320px}
.s-foot .social{display:flex;gap:11px;margin-top:14px}
.s-foot .social a{width:34px;height:34px;border:1px solid rgba(255,255,255,.16);border-radius:50%;display:grid;place-items:center;padding:0}
.s-foot .social a:hover{background:var(--gold);border-color:var(--gold);color:#12304f}
.s-foot-bar{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:18px;font-size:.8rem;
  color:#7c90a9;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.s-foot-legal{display:inline-flex;align-items:center;gap:14px}
.s-foot-bar a{display:inline;padding:0;color:#aebccb}
.s-foot-bar a:hover{color:var(--gold)}
.s-foot-credit{margin-left:4px;color:#7c90a9}
.s-foot-credit a{font-weight:600;letter-spacing:.03em;color:#aebccb;padding:2px 7px;border:1px solid rgba(255,255,255,.18);border-radius:4px;margin-left:2px}
.s-foot-credit a:hover{border-color:var(--gold);color:var(--gold)}

/* ---------------- Parrocchia (dettaglio) ---------------- */
.pr-photo{flex:0 0 320px;max-width:320px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,.18);aspect-ratio:4/3;box-shadow:0 14px 34px rgba(0,0,0,.28)}
.pr-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pr-two{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
/* Pagina parrocchia: sinistra matrice 2x2 articoli, destra riferimenti + sacerdote */
.parr-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:28px;align-items:start}
.parr-art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.parr-aside{display:flex;flex-direction:column;gap:18px;position:sticky;top:90px}
.parr-aside .pr-card{padding:22px}
.pr-priest-aside{display:block;text-align:center}
.pr-priest-aside .pr-avatar{width:96px;height:96px;border-radius:50%;object-fit:cover;margin:0 auto 10px;display:block;border:3px solid var(--line)}
.pr-priest-aside .pr-priest-bd{text-align:left}
.pr-priest-aside .pr-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
@media(max-width:900px){
  .parr-layout{grid-template-columns:1fr}
  .parr-aside{position:static}
}
@media(max-width:560px){
  .parr-art-grid{grid-template-columns:1fr}
}
.pr-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px}
.pr-card h2{color:var(--navy);font-size:1.3rem;margin:6px 0 14px}
.pr-contacts{display:flex;flex-direction:column;gap:10px}
.pr-contacts p{display:flex;gap:10px;align-items:flex-start;margin:0;color:var(--body)}
.pr-contacts i{color:var(--gold);margin-top:3px}
.pr-contacts a{color:var(--navy);font-weight:600}.pr-contacts a:hover{color:var(--gold-dk)}
.pr-priest{display:flex;gap:20px}
.pr-avatar{flex:0 0 96px;width:96px;height:96px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}
.pr-priest-bd{min-width:0}
.pr-priest-bd h2{margin:4px 0 2px}
.pr-role{color:var(--gold-dk);font-weight:600;font-size:.9rem;margin-bottom:8px}
.pr-priest-bd>p{color:var(--body);font-size:.92rem;margin:0 0 12px}
.pr-check{display:flex;gap:8px;align-items:center;color:var(--body);font-size:.9rem;margin-bottom:6px}
.pr-check i{color:#5a8f74}
.pr-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.pr-donate{background:var(--navy);border-radius:12px;padding:28px;color:#fff}
.pr-donate h2{color:#fff;font-size:1.3rem;margin:6px 0 12px}
.pr-int{margin:0 0 2px}.pr-int strong{color:#fff}
.pr-bank{color:#c4d1de;font-size:.92rem;margin:0 0 16px}
.pr-iban-wrap{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.pr-iban{flex:1 1 220px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.04em;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:12px 14px;color:#fff;word-break:break-all}
.pr-copy{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;background:var(--gold);color:#12304f;border:0;border-radius:8px;padding:11px 16px;font-weight:600;font-size:.85rem;cursor:pointer;transition:.15s}
.pr-copy:hover{background:var(--gold-dk);color:#fff}
.pr-copy.copied{background:#5a8f74;color:#fff}
.pr-caus{display:block;margin-top:12px;color:#aebccb;font-size:.84rem}
.pr-projects{display:flex;flex-direction:column;gap:16px}
.pr-proj{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:16px}
.pr-proj>strong{display:block;color:var(--navy);margin-bottom:10px}
.pr-evid{position:absolute;top:14px;right:14px;background:var(--gold-soft);color:var(--gold-dk);font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 9px;border-radius:20px}
.pr-bar{height:8px;background:var(--line);border-radius:20px;overflow:hidden;margin-bottom:6px}
.pr-fill{height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-dk));border-radius:20px;transition:width 1s ease}
.pr-proj small{color:var(--muted);font-size:.82rem}
.pr-empty{text-align:center;padding:20px 10px}
.pr-empty-ic{width:56px;height:56px;margin:0 auto 12px;border-radius:50%;background:var(--gold-soft);color:var(--gold-dk);display:grid;place-items:center;font-size:1.4rem}
.pr-empty h3{color:var(--navy);font-size:1.15rem;margin:0 0 6px}
.pr-empty p{color:var(--muted);font-size:.92rem;max-width:360px;margin:0 auto}
.pr-comm-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pr-comm{background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:10px;padding:20px}
.pr-comm h3{color:var(--navy);font-size:1.1rem;margin:0 0 4px}
.pr-comm-date{font-size:.8rem;color:var(--muted);margin-bottom:10px}.pr-comm-date i{color:var(--gold)}
.pr-comm p{color:var(--body);font-size:.92rem;margin:0}

/* ---------------- Notiziario ---------------- */
.btn-sm{padding:8px 14px;font-size:.74rem}
.doc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.doc-card{display:flex;gap:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.doc-thumb{position:relative;flex:0 0 140px;background:var(--paper);border-right:1px solid var(--line)}
.doc-thumb img{width:100%;height:100%;object-fit:cover;min-height:170px;display:block}
.doc-new{position:absolute;top:10px;left:10px;background:var(--gold);color:#12304f;font-size:.64rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:3px 9px;border-radius:20px}
.doc-bd{flex:1;padding:18px 20px;display:flex;flex-direction:column}
.doc-bd h3{color:var(--navy);font-size:1.12rem;margin:0 0 6px}
.doc-date{font-size:.82rem;color:var(--muted);margin-bottom:14px}.doc-date i{color:var(--gold)}
.doc-actions{display:flex;gap:8px;margin-top:auto;flex-wrap:wrap}
.doc-nofile{margin-top:auto;color:var(--gold-dk);font-size:.85rem}.doc-nofile i{color:#c98a2b}

/* ---------------- Bacheca (dettaglio volantino) ---------------- */
#volGrid{grid-template-columns:repeat(4,1fr)}
.vol-card{position:relative;display:block;width:100%;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;cursor:pointer;background:var(--navy);isolation:isolate;transition:.16s}
.vol-card:hover{box-shadow:0 12px 30px rgba(15,23,42,.16);transform:translateY(-3px)}
.vol-card>img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;background:#0d1b2e}
.vol-ov{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(180deg,rgba(7,20,36,0),rgba(7,20,36,.9));color:#fff;text-align:left}
.vol-ov h3{margin:0;font-size:1.05rem;color:#fff}
.vol-ov span{font-size:.74rem;color:var(--gold);text-transform:uppercase;letter-spacing:.05em}
.vol-badge{display:inline-block;background:var(--gold-soft);color:var(--gold-dk);font-size:.74rem;font-weight:700;padding:4px 12px;border-radius:20px;margin-bottom:12px}
.vol-detail-img{display:block;width:100%;border-radius:8px;margin-bottom:14px}
#volModalBody p{color:var(--body);margin:0 0 16px}
#volModalBody .btn{width:100%;justify-content:center}

/* ---------------- Confessioni (statica) ---------------- */
.conf2-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.conf2-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.c2-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.c2-head i{color:var(--gold);font-size:1.2rem}
.c2-head h3{color:var(--navy);font-size:1.2rem;margin:0}
.conf2-card ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.conf2-card li{display:flex;gap:10px;align-items:flex-start;color:var(--body);font-size:.92rem}
.conf2-card li i{color:var(--gold);margin-top:2px}

/* ---------------- Pagine legali ---------------- */
.legal{max-width:820px}
.legal h2{color:var(--navy);font-size:1.3rem;margin:24px 0 10px}
.legal h3{color:var(--navy);font-size:1.1rem;margin:18px 0 8px}

/* ---------------- Gallerie ---------------- */
.hero-flex{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ggrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.gcard{position:relative;display:block;min-height:340px;border-radius:10px;overflow:hidden;color:#fff;background:var(--navy);isolation:isolate;box-shadow:0 12px 30px rgba(15,23,42,.14)}
.gcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gcard::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,20,36,.05) 0%,rgba(7,20,36,.35) 45%,rgba(7,20,36,.9) 100%);z-index:1}
.gcard:hover img{transform:scale(1.06)}
.gcard-bd{position:relative;z-index:2;align-self:end;padding:20px;margin-top:auto;position:absolute;bottom:0;left:0;right:0}
.gcard-meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.gcard-meta span{display:inline-flex;align-items:center;gap:4px;padding:4px 9px;border-radius:20px;background:rgba(255,255,255,.16);color:rgba(255,255,255,.92);font-size:.72rem;font-weight:600;backdrop-filter:blur(8px)}
.gcard h2{margin:0;font-size:1.3rem;line-height:1.15;color:#fff}
.gcard p{margin:8px 0 0;color:rgba(255,255,255,.82);font-size:.9rem}
/* dettaglio */
.g-panel{flex:0 0 300px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:18px}
.gp-meta{display:grid;gap:10px}
.gp-meta div{display:flex;gap:10px;align-items:flex-start;color:#dbe4ee;font-size:.9rem}
.gp-meta i{color:var(--gold);margin-top:2px}
.gp-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.gp-links a{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid rgba(255,255,255,.22);border-radius:20px;color:#fff;font-size:.84rem}
.gp-links a:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.g-note{color:var(--muted);font-size:.84rem}.g-note i{color:#5a8f74;margin-right:4px}
.pgrid{columns:3 260px;column-gap:16px}
.ptile{display:block;width:100%;margin:0 0 16px;padding:0;border:0;border-radius:8px;overflow:hidden;background:var(--line);break-inside:avoid;cursor:zoom-in;box-shadow:0 8px 22px rgba(15,23,42,.1)}
.ptile img{display:block;width:100%;min-height:160px;object-fit:cover;transition:transform .35s ease}
.ptile:hover img{transform:scale(1.04)}
/* lightbox */
.lightbox{position:fixed;inset:0;z-index:3000;background:rgba(8,18,32,.96);display:flex;flex-direction:column}
.lightbox[hidden]{display:none}
.lb-top{display:flex;align-items:center;justify-content:space-between;padding:16px 22px}
.lb-title{color:#fff;font-weight:700}
.lb-counter{color:rgba(255,255,255,.6);font-size:.85rem}
.lb-x{background:none;border:0;color:#fff;font-size:1.4rem;cursor:pointer;padding:4px 8px}
.lb-stage{flex:1;display:flex;align-items:center;justify-content:center;gap:16px;padding:0 16px;min-height:0}
.lb-stage img{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}
.lb-nav{flex:0 0 auto;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.06);color:#fff;font-size:1.2rem;cursor:pointer;display:grid;place-items:center}
.lb-nav:hover{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.lb-caption{color:rgba(255,255,255,.78);text-align:center;padding:16px 22px;min-height:20px}

/* ---------------- Catechesi ---------------- */
.cat-paths{display:flex;flex-direction:column;gap:16px}
.cat-path{display:flex;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.cat-ic{flex:0 0 52px;height:52px;border-radius:12px;display:grid;place-items:center;font-size:1.35rem;color:#fff}
.cat-ic.ic-1{background:var(--navy-3)}
.cat-ic.ic-2{background:#5a8f74}
.cat-ic.ic-3{background:var(--gold)}
.cat-ic.ic-4{background:#6b5b95}
.cat-ic.ic-5{background:#b06a4f}
.cat-body{min-width:0}
.cat-body h3{color:var(--navy);font-size:1.25rem;margin:0 0 8px}
.cat-body>p{color:var(--body);margin:0 0 12px}
.cat-bullets{margin:0 0 4px;padding-left:20px;color:var(--body);display:flex;flex-direction:column;gap:5px}
.cat-bullets li{font-size:.92rem}
.cat-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.cat-badge{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;padding:5px 12px;border-radius:20px;background:var(--paper);border:1px solid var(--line);color:var(--body)}
.cat-badge i{color:var(--gold)}
.cat-badge.is-on{background:var(--navy);border-color:var(--navy);color:#fff}
.cat-badge.is-on i{color:var(--gold)}
.cat-sched{margin-top:16px;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:16px}
.cs-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.cs-head span{font-weight:600;color:var(--navy)}.cs-head span i{color:var(--gold);margin-right:5px}
.cs-head small{color:var(--muted);font-size:.8rem}
.cs-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cs-field label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:5px}
.cat-select{width:100%;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:.9rem;cursor:pointer}
.cat-select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 2px rgba(176,139,79,.18)}
.cs-out{margin-top:14px}
.cs-card{background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:14px 16px}
.cs-card-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.cs-card-top .lbl{font-weight:700;color:var(--navy)}
.cs-warn{background:var(--gold-soft);border:1px solid var(--gold);border-radius:8px;padding:12px 14px;color:var(--gold-dk);font-size:.9rem}
.cs-note{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.82rem;margin-top:12px}
.cs-note i{color:var(--gold);margin-top:2px}
.cat-info{display:flex;gap:14px;background:var(--gold-soft);border:1px solid #e6d8bd;border-radius:10px;padding:18px 20px;margin-top:26px}
.cat-info>i{color:var(--gold-dk);font-size:1.3rem;margin-top:2px}
.cat-info strong{display:block;color:var(--navy);margin-bottom:3px}
.cat-info span{color:var(--body);font-size:.92rem}
.cat-info a{color:var(--gold-dk);font-weight:600}.cat-info a:hover{color:var(--navy)}
.cat-sansone{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.cx-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}
.cx-head .k{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold)}
.cx-help{font-size:.78rem;color:var(--navy);border:1px solid var(--line);border-radius:20px;padding:3px 10px}
.cx-help:hover{background:var(--navy);color:#fff}
.cat-sansone h2{color:var(--navy);font-size:1.25rem;margin:0 0 14px}
.cx-logo{background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:14px;display:grid;place-items:center;margin-bottom:14px}
.cx-logo img{height:56px;width:auto}
.cat-sansone>p{color:var(--body);font-size:.9rem;margin:0 0 16px}
.cx-actions{display:flex;flex-direction:column;gap:9px}
.cx-actions .btn{width:100%;justify-content:center}
.cat-sansone hr{border:0;border-top:1px solid var(--line);margin:20px 0}
.cx-tips strong{color:var(--navy);font-size:.9rem}
.cx-tips ul{margin:8px 0 0;padding-left:18px;color:var(--muted);font-size:.85rem;display:flex;flex-direction:column;gap:6px}
.cx-tips a{color:var(--gold-dk);font-weight:600}

/* ---------------- Carità (card generiche) ---------------- */
.cta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cta-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px 24px;transition:.16s}
.cta-card:hover{border-color:var(--gold);box-shadow:0 8px 24px rgba(18,48,79,.07);transform:translateY(-3px)}
.cta-ic{width:54px;height:54px;border-radius:12px;background:var(--gold-soft);color:var(--gold-dk);display:grid;place-items:center;font-size:1.4rem;margin-bottom:16px}
.cta-card h3{color:var(--navy);font-size:1.2rem;margin:0 0 8px}
.cta-card p{color:var(--body);font-size:.92rem;margin:0}

/* ---------------- Oratori ---------------- */
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.panel-head{margin-bottom:18px}
.panel-head h2{font-size:1.4rem;color:var(--navy);margin:2px 0 0}
.ora-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.ora-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px 22px;text-align:center;transition:.16s}
.ora-card:hover{border-color:var(--gold);box-shadow:0 8px 24px rgba(18,48,79,.08);transform:translateY(-3px)}
.ora-ic{width:56px;height:56px;margin:0 auto 14px;border-radius:50%;background:var(--gold-soft);color:var(--gold-dk);display:grid;place-items:center;font-size:1.5rem}
.ora-town{display:inline-flex;align-items:center;gap:5px;font-size:.76rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.ora-town i{color:var(--gold)}
.ora-card h3{color:var(--navy);font-size:1.12rem;margin:6px 0 0}
.ora-summer{display:grid;grid-template-columns:1fr 260px;gap:32px;align-items:center;background:var(--navy);border-radius:14px;padding:36px;color:#fff}
.os-copy h2{color:#fff;font-size:1.7rem;margin:4px 0 10px}
.os-copy>p{color:#c4d1de;margin:0 0 20px;max-width:560px}
.os-sched{display:flex;flex-direction:column;gap:10px}
.os-item{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--navy-3);border-radius:8px;padding:12px 16px}
.os-item.is-feat{border-left-color:var(--gold);background:rgba(176,139,79,.12)}
.os-place{display:block;font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold);margin-bottom:3px}
.os-item strong{display:block;color:#fff;font-size:1rem}
.os-item em{color:#aebccb;font-size:.86rem;font-style:normal}
.os-logo{display:grid;place-items:center}
.os-logo img{max-width:100%;height:auto;filter:drop-shadow(0 8px 20px rgba(0,0,0,.3))}
.ora-two{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.ora-panel{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:26px}
.ora-open-list,.ora-ev-list{display:flex;flex-direction:column;gap:12px}
.ora-open{display:flex;gap:14px;justify-content:space-between;align-items:flex-start;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--paper)}
.ora-open.muted{opacity:.7}
.oo-main strong{display:block;color:var(--navy);margin-bottom:3px}
.oo-main span{font-size:.88rem;color:var(--body)}
.oo-time{color:var(--gold-dk);font-size:.85rem}.oo-time i{color:var(--gold)}
.oo-badge{flex:0 0 auto;font-style:normal;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-dk);background:var(--gold-soft);padding:4px 10px;border-radius:20px;white-space:nowrap}
.ora-ev{display:flex;gap:14px;border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--paper)}
.oe-date{flex:0 0 54px;text-align:center;background:var(--navy);color:#fff;border-radius:8px;padding:8px 4px;height:fit-content}
.oe-date.soft{background:var(--line);color:var(--muted)}
.oe-date strong{display:block;font-size:1.4rem;line-height:1}
.oe-date span{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.oe-body h3{color:var(--navy);font-size:1.08rem;margin:0 0 4px}
.oe-time{font-size:.85rem;color:var(--gold-dk);font-weight:600;margin-bottom:4px}.oe-time i{color:var(--gold)}
.oe-body p{font-size:.9rem;color:var(--body);margin:0 0 4px}
.oe-place{font-size:.82rem;color:var(--muted)}.oe-place i{color:var(--gold)}

/* ---------------- Fede ---------------- */
.fede-layout{display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.fede-paths{display:flex;flex-direction:column;gap:14px}
.fede-path{display:flex;gap:18px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:22px}
.fp-icon{flex:0 0 52px;height:52px;border-radius:10px;background:var(--gold-soft);color:var(--gold-dk);display:grid;place-items:center;font-size:1.4rem}
.fp-body h3{color:var(--navy);font-size:1.2rem;margin:0 0 6px}
.fp-body p{color:var(--body);margin:0 0 12px}
.fede-note{background:var(--paper);border-left:3px solid var(--gold);border-radius:0 6px 6px 0;padding:10px 14px;font-size:.9rem;color:var(--body)}
.fede-note.small{font-size:.85rem;padding:8px 12px;margin-top:10px}
.fede-tags{display:flex;flex-wrap:wrap;gap:8px}
.fede-tags span{display:inline-flex;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:5px 12px;font-size:.8rem;color:var(--body)}
.fede-tags i{color:var(--gold)}
.fede-cards{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.fede-card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:20px}
.fc-meta{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gold-dk);margin-bottom:8px}
.fede-card h3{color:var(--navy);font-size:1.1rem;margin:0 0 6px}
.fede-card p{color:var(--body);font-size:.92rem;margin:0 0 12px}
.fc-details{display:flex;flex-direction:column;gap:6px}
.fc-details span{display:inline-flex;align-items:center;gap:8px;font-size:.86rem;color:var(--muted)}
.fc-details i{color:var(--gold)}
.fede-side{display:flex;flex-direction:column;gap:20px;position:sticky;top:20px}
.fede-santo{background:var(--navy);border-radius:12px;padding:24px;color:#fff}
.fede-santo .k,.fede-info .k{display:block;font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold);margin-bottom:4px}
.fede-santo h2{color:#fff;font-size:1.25rem;margin:0 0 14px}
.fede-santo .fs-img{display:block;border-radius:8px;overflow:hidden;margin-bottom:14px;aspect-ratio:4/3}
.fede-santo .fs-img img{width:100%;height:100%;object-fit:cover;display:block}
.fede-santo h3{color:#fff;font-size:1.1rem;margin:0 0 8px}
.fede-santo p{color:#c4d1de;font-size:.9rem;margin:0 0 16px}
.fs-actions{display:flex;flex-direction:column;gap:9px}
.fs-actions .btn{width:100%;justify-content:center}
.fede-info{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:24px}
.fede-info h2{color:var(--navy);font-size:1.15rem;margin:0 0 14px}
.fede-info ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px}
.fede-info li{display:flex;gap:12px;font-size:.9rem;color:var(--body)}
.fede-info li i{color:var(--gold);font-size:1.05rem;margin-top:1px}
.fede-info li a{color:var(--gold-dk);font-weight:600}.fede-info li a:hover{color:var(--navy)}

/* ---------------- Orari e celebrazioni ---------------- */
.sec-sub{color:var(--muted);font-size:.98rem;max-width:640px;margin:6px 0 0}
.d-desktop{display:block}.d-mobile{display:none}

.cal-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:0 0 18px;font-size:.82rem;color:var(--body)}
.cal-legend .lg{position:relative;padding-left:20px}
.cal-legend .lg::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:12px;height:12px;border-radius:3px}
.cal-legend .is-festiva::before{background:var(--gold)}
.cal-legend .is-feriale::before{background:var(--navy-3)}
.cal-legend .is-confessione::before{background:#5a8f74}
.cal-legend .cal-hint{margin-left:auto;color:var(--muted);font-size:.8rem}
.cal-legend .cal-hint i{color:var(--gold)}

.cal-week{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.cal-day{border:1px solid var(--line);border-radius:8px;background:var(--surface);overflow:hidden;display:flex;flex-direction:column}
.cal-day.is-today{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}
.cal-day-head{padding:12px 10px;text-align:center;background:var(--paper);border-bottom:1px solid var(--line)}
.cal-day.is-today .cal-day-head{background:var(--navy);}
.cal-day.is-today .cal-day-head .dn,.cal-day.is-today .cal-day-head .dl{color:#fff}
.cal-day-head .dn{display:block;font-weight:700;font-size:.82rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink)}
.cal-day-head .dl{display:block;font-size:.78rem;color:var(--muted);margin-top:2px}
.cal-day-head .dtag{display:inline-block;margin-top:6px;background:var(--gold);color:#12304f;font-size:.64rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:20px}
.cal-day-body{padding:8px;display:flex;flex-direction:column;gap:7px;flex:1}
.cal-empty{color:var(--line);text-align:center;padding:16px 0;font-size:1.2rem}

.cal-ev{display:flex;flex-direction:column;gap:3px;text-align:left;width:100%;cursor:pointer;
  border:1px solid var(--line);border-left:3px solid var(--navy-3);border-radius:6px;background:#fff;padding:8px 9px;transition:.15s}
.cal-ev:hover{background:var(--paper);border-color:var(--line);box-shadow:0 2px 8px rgba(18,48,79,.08)}
.cal-ev.is-festiva{border-left-color:var(--gold)}
.cal-ev.is-confessione{border-left-color:#5a8f74}
.cal-ev .ev-h{font-weight:700;color:var(--ink);font-size:.95rem;display:flex;align-items:center;gap:5px}
.cal-ev .ev-n{background:var(--navy);color:#fff;font-size:.6rem;min-width:16px;height:16px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
.cal-ev .ev-c{display:flex;flex-wrap:wrap;gap:4px 6px}
.cal-ev .ev-c em{font-style:normal;font-size:.76rem;color:var(--muted)}

/* modale dettagli orario */
.om-item{padding:0 0 16px}.om-item + .om-item{border-top:1px solid var(--line);padding-top:16px}
.om-time{font-size:.8rem;font-weight:700;color:var(--gold-dk);text-transform:uppercase;letter-spacing:.05em}
.om-item h4{margin:4px 0 6px;color:var(--navy);font-size:1.1rem}
.om-place{color:var(--body);font-size:.9rem}.om-place i{color:var(--gold)}
.om-note{margin:8px 0 0;color:var(--muted);font-size:.9rem}

/* pannelli proposte + confessioni */
.cal-grid2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cal-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:26px}
.cal-panel.is-conf{background:var(--navy);border-color:var(--navy)}
.cal-panel .panel-head{margin-bottom:18px}
.cal-panel .panel-head h2{font-size:1.4rem;color:var(--navy);margin:2px 0 0}
.cal-panel.is-conf .panel-head h2{color:#fff}
.cal-panel .panel-empty{color:var(--muted);font-size:.92rem}
.cal-panel.is-conf .panel-empty{color:#aebccb}

.prop-list{display:flex;flex-direction:column;gap:14px}
.prop-item{border:1px solid var(--line);border-radius:8px;padding:14px 16px;background:var(--paper)}
.prop-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.prop-badge{background:var(--gold-soft);color:var(--gold-dk);font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:20px;text-transform:capitalize}
.prop-time{font-size:.8rem;color:var(--muted)}.prop-time i{color:var(--gold)}
.prop-item h3{font-size:1.05rem;color:var(--navy);margin:0 0 4px}
.prop-item p{font-size:.9rem;color:var(--body);margin:0}
.prop-place{margin-top:8px;font-size:.85rem;color:var(--muted)}.prop-place i{color:var(--gold)}

.conf-list{display:flex;flex-direction:column;gap:12px}
.conf-day{display:flex;gap:14px;padding:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:8px}
.conf-date{flex:0 0 54px;text-align:center;border-right:1px solid rgba(255,255,255,.12);padding-right:12px}
.conf-date .wd{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gold)}
.conf-date .dd{display:block;font-size:1.5rem;font-weight:700;color:#fff;line-height:1.1}
.conf-date .mm{display:block;font-size:.7rem;text-transform:uppercase;color:#aebccb}
.conf-rows{flex:1;display:flex;flex-direction:column;gap:8px;min-width:0}
.conf-row{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:baseline}
.conf-row .ct{font-weight:700;color:#fff;font-size:.92rem;flex:0 0 auto}
.conf-row .cp,.conf-row .cs{font-size:.82rem;color:#c4d1de}
.conf-row .cp i,.conf-row .cs i{color:var(--gold);margin-right:2px}

/* vista mobile settimana */
.cal-mob-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.cal-mob-title{text-align:center}
.cal-mob-title .dn{display:block;font-weight:700;color:var(--navy);text-transform:capitalize}
.cal-mob-title .dl{display:block;font-size:.82rem;color:var(--muted)}
.cal-mob-actions{display:flex;align-items:center;gap:8px}
.cal-nav{border:1px solid var(--line);background:#fff;color:var(--navy);border-radius:6px;padding:7px 12px;cursor:pointer;font-size:.9rem}
.cal-nav:hover{background:var(--paper)}
.cal-nav.today{background:var(--navy);color:#fff;border-color:var(--navy);font-weight:600}
.cal-mob-body{display:flex;flex-direction:column;gap:9px}
.cal-mob-empty{color:var(--muted);text-align:center;padding:24px 0}
.cal-mev{display:flex;align-items:center;gap:14px;width:100%;text-align:left;cursor:pointer;
  border:1px solid var(--line);border-left:3px solid var(--navy-3);border-radius:8px;background:#fff;padding:12px 14px}
.cal-mev.is-festiva{border-left-color:var(--gold)}
.cal-mev.is-confessione{border-left-color:#5a8f74}
.cal-mev .time{font-weight:700;color:var(--ink);font-size:1rem;display:flex;align-items:center;gap:6px;flex:0 0 auto}
.cal-mev .ev-n{background:var(--navy);color:#fff;font-size:.6rem;min-width:16px;height:16px;border-radius:20px;display:inline-flex;align-items:center;justify-content:center;padding:0 4px}
.cal-mev .info{display:flex;flex-direction:column;min-width:0}
.cal-mev .info .city{color:var(--body);font-size:.9rem}
.cal-mev .info .meta{color:var(--muted);font-size:.78rem}

/* ---------------- Responsive ---------------- */
@media(max-width:992px){
  .cal-grid2{grid-template-columns:1fr}
  .fede-layout{grid-template-columns:1fr}
  .ora-grid{grid-template-columns:repeat(2,1fr)}
  .ora-two{grid-template-columns:1fr}
  .ora-summer{grid-template-columns:1fr}
  .os-logo{max-width:200px;margin:0 auto}
  .cta-grid{grid-template-columns:1fr}
  .ggrid{grid-template-columns:repeat(2,1fr)}
  .g-panel{flex:1 1 100%}
  .pgrid{columns:2 200px}
  .doc-grid{grid-template-columns:1fr}
  .conf2-grid{grid-template-columns:1fr}
  #volGrid{grid-template-columns:repeat(3,1fr)}
  .pr-two{grid-template-columns:1fr}
  .pr-photo{flex:0 0 100%;max-width:100%}
  .pr-comm-grid{grid-template-columns:repeat(2,1fr)}
  .par2-grid{grid-template-columns:1fr}
  .ct-grid.cols-2{grid-template-columns:1fr}
  .fede-side{position:static;flex-direction:row;flex-wrap:wrap}
  .fede-side>section{flex:1 1 280px}
  .d-desktop{display:none}.d-mobile{display:block}
  .lead,.two{grid-template-columns:1fr;gap:28px}
  .par-grid{grid-template-columns:repeat(2,1fr)}
  .gal-grid,.vol-grid{grid-template-columns:1fr 1fr}
  .s-foot-grid{grid-template-columns:1fr 1fr}
  .section{padding:44px 0}
  .s-toggle{display:block}
  .s-nav .links{display:none;width:100%;flex-direction:column;padding-bottom:8px}
  .s-nav .links.open{display:flex}
  .s-nav a{padding:12px 4px;border-top:1px solid var(--line-2)}
  .s-nav a.hl{margin:8px 0 0}
}
@media(max-width:600px){
  .par-grid,.gal-grid,.vol-grid{grid-template-columns:1fr}
  .fede-cards{grid-template-columns:1fr}
  .ora-grid{grid-template-columns:1fr}
  .cs-fields{grid-template-columns:1fr}
  .cat-path{flex-direction:column;gap:14px}
  .ggrid{grid-template-columns:1fr}
  .pgrid{columns:1}
  .gcard{min-height:280px}
  .vol-grid,#volGrid{grid-template-columns:1fr 1fr}
  .pr-comm-grid{grid-template-columns:1fr}
  .pr-priest{flex-direction:column}
  .doc-card{flex-direction:column}
  .doc-thumb{flex:0 0 auto;border-right:0;border-bottom:1px solid var(--line)}
  .doc-thumb img{min-height:200px}
  .fede-side{flex-direction:column}
  .lead .feature h3{font-size:1.6rem}
  .s-brand .bt{font-size:1.12rem}
  .s-top .links{display:none}
  /* Data + santo: quando vanno a capo restano vicini (poco spazio verticale) */
  .s-top .container{gap:2px 10px;min-height:0;padding-top:6px;padding-bottom:6px}
  .s-top .sep{display:none}
}

/* ===== NOTIZIARIO — ultimo in evidenza + filtri anno pastorale (ago 2026) ===== */
.notiz-featured{display:grid;grid-template-columns:320px 1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:36px}
.notiz-featured .nf-thumb{position:relative;background:var(--paper);border-right:1px solid var(--line)}
.notiz-featured .nf-thumb img{width:100%;height:100%;object-fit:cover;min-height:280px;display:block}
.nf-badge{position:absolute;top:14px;left:14px;background:var(--gold);color:#12304f;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:6px 13px;border-radius:20px;display:inline-flex;align-items:center;gap:6px;box-shadow:0 4px 14px rgba(18,48,79,.18)}
.nf-bd{padding:32px 36px;display:flex;flex-direction:column;justify-content:center}
.nf-eyebrow{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dk);font-weight:700;margin-bottom:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nf-nuovo{background:var(--gold-soft);color:var(--gold-dk);border-radius:20px;padding:2px 10px;font-size:.62rem;letter-spacing:.06em}
.nf-bd h2{color:var(--navy);font-size:1.75rem;line-height:1.2;margin:0 0 12px}
.nf-date{font-size:.95rem;color:var(--muted);margin-bottom:24px}.nf-date i{color:var(--gold)}
.archive-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px 22px;margin-bottom:22px}
.archive-head h2{color:var(--navy);font-size:1.5rem;margin:0}
.ap-filter{margin-bottom:0}
@media(max-width:720px){
  .notiz-featured{grid-template-columns:1fr}
  .notiz-featured .nf-thumb{border-right:0;border-bottom:1px solid var(--line)}
  .notiz-featured .nf-thumb img{min-height:220px}
  .nf-bd{padding:24px}
  .nf-bd h2{font-size:1.42rem}
  .archive-head{align-items:flex-start;flex-direction:column}
}


/* --- Prenotazioni: bollino stato + tag + fumetto (fase 7) --- */
.pren-dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}
.pren-badge{display:inline-flex;align-items:center;gap:7px;font-size:.82rem;font-weight:700;position:relative}
.badge-prenotazioni{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700;background:#fff;border:1.5px solid;border-radius:999px;padding:4px 12px;position:relative}
.rel-prenotazione{margin:8px 0}
.rel-prenotazione .pren-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:4px}
.rel-prenotazione .pren-for{font-size:.9rem;color:#3a4d61}
.btn-prenota{display:inline-flex;align-items:center;gap:8px;background:var(--navy,#12233f);color:#fff;font-weight:600;text-decoration:none;padding:9px 16px;border-radius:10px}
.btn-prenota:hover{background:#1b3357}
.btn-prenota.is-off{background:#9aa7b8;pointer-events:none;opacity:.75}
/* fumetto (riusa .has-tip già definito per i correlati; fallback se manca) */
.pren-badge.has-tip,.badge-prenotazioni.has-tip{cursor:help}
.pren-badge.has-tip::after,.badge-prenotazioni.has-tip::after{content:attr(data-tip);position:absolute;left:0;bottom:calc(100% + 9px);z-index:30;background:var(--navy,#12233f);color:#fff;font-weight:500;font-size:.78rem;line-height:1.4;padding:8px 11px;border-radius:9px;box-shadow:0 10px 30px rgba(16,32,58,.24);width:max-content;max-width:250px;white-space:normal;opacity:0;visibility:hidden;transform:translateY(5px);transition:opacity .16s,transform .16s;pointer-events:none}
.pren-badge.has-tip:hover::after,.badge-prenotazioni.has-tip:hover::after{opacity:1;visibility:visible;transform:translateY(0)}
/* deploy-stamp 2026-08-13 prenotazioni v2 */

/* ============================================================
   BACHECA "smart": elenco minimizzato + dettaglio grande
============================================================ */
.bacheca-split{display:grid;grid-template-columns:300px minmax(0,1fr);gap:26px;align-items:start}
.bacheca-list{display:flex;flex-direction:column;gap:8px;position:sticky;top:90px;max-height:calc(100vh - 110px);overflow:auto;padding-right:2px}
.bl-item{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px 10px;cursor:pointer;transition:.15s;width:100%}
.bl-item:hover{border-color:var(--gold)}
.bl-item.active{border-color:var(--navy);box-shadow:0 0 0 2px rgba(18,48,79,.14)}
.bl-thumb{width:46px;height:60px;flex:0 0 auto;border-radius:7px;overflow:hidden;background:#eef2f7;display:flex;align-items:center;justify-content:center;color:#9fb0c2}
.bl-thumb img{width:100%;height:100%;object-fit:cover}
.bl-bd{flex:1 1 auto;min-width:0}
.bl-tit{display:block;font-weight:700;font-size:.92rem;color:var(--navy);line-height:1.2}
.bl-cat{display:block;font-size:.72rem;color:var(--gold);text-transform:uppercase;letter-spacing:.03em;margin-top:2px}
/* Voce "pubblicazione conclusa": in elenco resta offuscata con un tag */
.bl-item.bl-concluso{opacity:.62;filter:grayscale(.35)}
.bl-item.bl-concluso.active{opacity:1;filter:none}
.bl-item.bl-concluso:hover{opacity:.85}
.bl-tag-concluso{display:inline-flex;align-items:center;gap:5px;font-size:.68rem;font-weight:600;color:#8a6d3b;background:#fdf3e3;border:1px solid #efdcbf;border-radius:20px;padding:1px 8px;margin-top:3px;text-transform:none;letter-spacing:0}
.bd-cat.bd-cat-concluso{color:#8a6d3b}
.bd-concluso-note{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#6b5a3a;background:#fdf6ea;border:1px solid #efdcbf;border-radius:10px;padding:9px 14px;margin-bottom:12px}
.pren-dot{flex:0 0 auto;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem}
.pren-dot.pren-open{background:#e3f6ec;color:#1f7a4d}
.pren-dot.pren-soon{background:#fff3d6;color:#8a5a00}
.pren-dot.pren-closed{background:#eef1f5;color:#8090a1}
/* Dettaglio */
.bacheca-detail{min-width:0}
.bd-panel{display:none}
.bd-panel.active{display:block;animation:bdIn .18s ease}
@keyframes bdIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.bd-head .bd-cat{display:inline-block;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.bd-head h2{font-family:var(--font-title);color:var(--navy);margin:0 0 14px;line-height:1.15}
.bd-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px;align-items:start;margin-top:14px}
.bd-cover{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;box-shadow:0 14px 34px rgba(18,48,79,.12)}
.bd-cover img{width:100%;display:block}
.bd-side{min-width:0}
.bd-desc{font-size:1.02rem;line-height:1.7;color:#33404f;margin-bottom:16px}
/* Pulsante "Apri / Scarica il volantino" — elegante, in armonia col resto */
.bd-dl{display:inline-flex;align-items:center;gap:10px;margin-bottom:18px;
  background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dk) 100%);color:#12304f;
  font-weight:700;letter-spacing:.01em;padding:12px 22px;border-radius:30px;text-decoration:none;
  box-shadow:0 10px 24px rgba(198,161,90,.34);transition:transform .14s ease,box-shadow .14s ease,color .14s ease}
.bd-dl i{font-size:1.12rem}
.bd-dl:hover{color:#fff;transform:translateY(-2px);box-shadow:0 14px 30px rgba(198,161,90,.46)}
.bd-dl:active{transform:translateY(0)}
.bd-rel{border-top:1px solid var(--line);padding-top:16px}
.bd-rel-head{display:flex;align-items:center;gap:7px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#5a6b7e;margin-bottom:10px}
.bd-rel-head i{color:var(--gold)}
.bd-rel .rel-elenco{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.bd-rel .rel-elenco>li{padding:0}
.bd-rel .rel-elenco>li .rel-c{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#f8fafc;transition:border-color .14s ease,background .14s ease,transform .14s ease}
.bd-rel .rel-elenco>li .rel-c:hover{border-color:var(--gold);background:#fff;transform:translateX(2px)}
.bd-rel .rel-elenco>li .rel-c.rel-c-plain{background:#f3f5f8;color:#5a6b7e}
/* Banner stato prenotazioni */
.pren-banner{display:flex;flex-wrap:wrap;align-items:center;gap:12px;border-radius:12px;padding:11px 16px;font-weight:600;margin-bottom:6px}
.pren-banner .pb-lbl{display:inline-flex;align-items:center;gap:8px}
.pren-banner.pren-open{background:#e3f6ec;color:#166b42;border:1px solid #bfe6cf}
.pren-banner.pren-soon{background:#fff3d6;color:#7a5100;border:1px solid #f0e0a8}
.pren-banner.pren-closed{background:#eef1f5;color:#5f6f80;border:1px solid #dfe4ea}
.pren-banner .btn-prenota{margin-left:auto}
@media(max-width:860px){
  .bacheca-split{grid-template-columns:1fr;gap:16px}
  .bacheca-list{position:static;flex-direction:row;overflow-x:auto;max-height:none;padding-bottom:6px}
  .bl-item{flex:0 0 220px}
  .bd-main{grid-template-columns:1fr}
}

/* ===== Documentale (albo documenti parrocchia + pagina documento) ===== */
.doc-albo{display:flex;flex-direction:column;gap:12px}
.doc-ramo{border:1px solid #e6e9ef;border-radius:12px;background:#fff;overflow:hidden}
.doc-ramo>summary{list-style:none;cursor:pointer;padding:12px 16px;font-weight:600;color:#12304f;display:flex;align-items:center;gap:8px;background:#f7f9fc}
.doc-ramo>summary::-webkit-details-marker{display:none}
.doc-ramo>summary::after{content:"\F282";font-family:"bootstrap-icons";margin-left:auto;font-size:.8rem;color:#8090a4;transition:transform .15s}
.doc-ramo[open]>summary::after{transform:rotate(180deg)}
.doc-ramo-bd{padding:12px 16px;display:flex;flex-direction:column;gap:10px}
.doc-ramo-bd .doc-ramo{margin-left:10px}
.doc-item{border:1px solid #eef1f6;border-radius:10px;padding:10px 12px;background:#fff}
.doc-item-h{display:flex;align-items:center;gap:8px;color:#20344b;font-weight:600}
.doc-item-h .bi{color:#b08b4f}
.doc-d{font-size:.86rem;color:#6a7789;margin:4px 0 0}
.doc-files{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.doc-file{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:#1d4a75;text-decoration:none;background:#eef4fb;border:1px solid #d9e6f4;border-radius:8px;padding:6px 11px}
.doc-file:hover{background:#e2eefb}
.doc-file.dl{background:#12304f;color:#fff;border-color:#12304f}
.doc-file-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:8px 0;border-bottom:1px solid #f0f3f7}
.doc-file-row:last-child{border-bottom:0}

/* ===== Widget "Celebrazioni di oggi" (navy elegante, come il Santo del giorno) ===== */
.wdg-celebrazioni{background:var(--navy,#12304f);color:#fff;border-radius:4px;border-left:3px solid var(--gold,#b08b4f);padding:18px 20px;margin-bottom:18px}
.wc-k{font-size:.66rem;letter-spacing:.13em;text-transform:uppercase;color:var(--gold,#caa54a);font-weight:700;margin-bottom:13px;display:flex;align-items:center;gap:7px}
.wc-list{list-style:none;margin:0 0 13px;padding:0;display:flex;flex-direction:column;gap:12px}
.wc-item{display:flex;gap:12px}
.wc-ora{flex:0 0 auto;min-width:46px;font-weight:700;color:#fff;font-size:.95rem}
.wc-body{min-width:0;display:flex;flex-direction:column;gap:2px}
.wc-tit{color:#fff;font-size:.95rem;font-weight:600;line-height:1.25}
.wc-luogo{color:#c4d1de;font-weight:400}
.wc-cel{color:#c4d1de;font-size:.82rem;display:inline-flex;align-items:center;gap:5px}
.wc-all{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:6px 12px;font-size:.82rem;text-decoration:none;font-weight:600}
.wc-all:hover{background:var(--gold,#caa54a);border-color:var(--gold,#caa54a);color:#12304f}

/* --- Tabellone: l'ora in colonna, come alla stazione ------------------- */
.wc-item{align-items:flex-start;padding-left:12px;position:relative}
.wc-item::before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:rgba(255,255,255,.16);border-radius:2px}
.wc-ora{min-width:52px;display:flex;flex-direction:column;line-height:1.1;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;letter-spacing:.01em}
.wc-ora small{font-weight:500;font-size:.72rem;color:#9fb3c8}
.wc-ora small::before{content:"→ "}
.wc-flag{margin-left:auto;flex:0 0 auto;align-self:center;font-size:.6rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:#12304f;background:var(--gold,#caa54a);border-radius:20px;padding:2px 8px;white-space:nowrap}
.wc-flag-live{background:#2fa36b;color:#fff}
.wc-flag-off{background:transparent;color:#8b9cb0;border:1px solid rgba(255,255,255,.18)}
.wc-prossima::before{background:var(--gold,#caa54a)}
.wc-corso::before{background:#2fa36b}

/* Concluse: solo il conteggio, come nota sopra l'elenco. */
.wc-past{margin:0 0 11px;padding:0 0 7px;font-size:.74rem;color:#9fb3c8;
  border-bottom:1px dashed rgba(255,255,255,.16);display:flex;align-items:center;gap:7px}
.wc-past::before{content:"\F26D";font-family:"bootstrap-icons";font-size:.82rem;opacity:.8}

@media(max-width:520px){
  .wc-ora{min-width:46px;font-size:.9rem}
  .wc-flag{font-size:.55rem;padding:1px 6px}
}

/* ============================================================
   ATTRIBUZIONE DELLA FONTE (articoli ripresi da altre testate)
   Il riquadro non è testo dell'articolo: è una dichiarazione, e
   si deve leggere come tale — accanto al corpo, non dentro.
============================================================ */
.art-fonte{display:flex;align-items:center;gap:14px;margin-top:2em;padding:14px 18px;
  border:1px solid var(--line);border-left:4px solid var(--gold,#b08b4f);border-radius:12px;background:#f8fafc}
.art-fonte .fonte-logo{width:64px;height:auto;flex:0 0 auto;border-radius:6px}
.art-fonte .fonte-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.art-fonte .fonte-eyebrow{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:#6b7a8d}
.art-fonte .fonte-nome{color:var(--navy,#12304f);font-size:1.02rem}
.art-fonte .fonte-data{font-size:.82rem;color:#6b7a8d}
.art-fonte .fonte-link{font-size:.86rem;font-weight:600;color:var(--navy,#12304f);text-decoration:none;margin-top:2px}
.art-fonte .fonte-link:hover{text-decoration:underline}
@media (max-width:560px){.art-fonte{flex-direction:column;align-items:flex-start}}

/* ============================================================
   ORGANIGRAMMI (consiglio pastorale, consiglio affari economici…)
   Servono due contesti con lo stesso aspetto: la pagina del sito e la
   versione dentro un iframe su un altro sito (organigramma.php?embed=1).
   Per questo il blocco non dipende da nulla che stia fuori: usa solo le
   variabili del tema e non presuppone header, container o griglie della
   pagina ospite.
   Le schede stanno in una griglia "auto-fill": il numero di colonne lo
   decide lo spazio disponibile, non un punto di rottura scritto a mano —
   così l'organigramma si comporta bene anche in una colonna stretta di
   un sito che non conosciamo.
============================================================ */
.og-wrap{max-width:980px}
.og-intro{color:var(--body,#3c4652);margin:0 0 22px;font-size:1.02rem}

.og-sezione{font-size:1.22rem;color:var(--navy,#12304f);margin:34px 0 14px;padding-bottom:9px;
  border-bottom:2px solid var(--gold,#b08b4f);letter-spacing:.01em}
.og-sezione:first-child{margin-top:0}
.og-sottotitolo{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-dk,#8f6f36);margin:24px 0 12px}

.og-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(268px,1fr));margin-bottom:6px}
.og-card{display:flex;align-items:center;gap:13px;background:var(--surface,#fff);
  border:1px solid var(--line,#e6e9ee);border-left:3px solid var(--gold,#b08b4f);
  border-radius:10px;padding:13px 15px;min-width:0}
.og-card-link{transition:.16s}
.og-card-link:hover{border-color:var(--navy,#12304f);border-left-color:var(--gold,#b08b4f);
  box-shadow:var(--shadow,0 4px 18px rgba(18,48,79,.07))}

.og-foto{flex:0 0 auto;width:58px;height:58px;border-radius:50%;overflow:hidden;background:#eef2f7}
.og-foto img{width:100%;height:100%;object-fit:cover}
/* Senza foto restano le iniziali: un cerchio vuoto farebbe "ballare" la
   griglia, perché le schede con e senza immagine avrebbero altezze diverse. */
.og-foto-vuota{display:flex;align-items:center;justify-content:center;
  background:var(--navy,#12304f);color:#fff;font-weight:700;font-size:1.02rem;letter-spacing:.02em}

.og-card-bd{min-width:0;flex:1 1 auto}
.og-nome{color:var(--navy,#12304f);font-weight:700;font-size:1.02rem;line-height:1.25}
.og-ruolo{color:var(--muted,#6b7684);font-size:.86rem;margin-top:2px}
.og-note{color:var(--muted,#6b7684);font-size:.82rem;font-style:italic;margin-top:3px}
.og-contatti{display:flex;flex-direction:column;gap:2px;margin-top:7px}
.og-contatti a{display:inline-flex;align-items:center;gap:6px;font-size:.82rem;color:var(--navy-3,#1d4a75);
  word-break:break-word}
.og-contatti a:hover{color:var(--gold-dk,#8f6f36);text-decoration:underline}
.og-contatti .bi{flex:0 0 auto;opacity:.7}

.og-vuoto{color:var(--muted,#6b7684);font-style:italic}

/* --- Livelli: più peso ai primi gradini della gerarchia --------------
   Non è una scala di dimensioni (le schede resterebbero disallineate fra
   rami diversi): cambia solo il bordo e lo sfondo, così il primo livello
   si riconosce a colpo d'occhio senza rompere la griglia. */
.og-card.og-lv-1{border-left-width:5px;background:linear-gradient(180deg,#fffdf6,var(--surface,#fff) 70%)}
.og-card.og-lv-1 .og-nome{font-size:1.08rem}
.og-card.og-lv-2{border-left-color:var(--navy-3,#1d4a75)}
.og-card.og-lv-3,.og-card.og-lv-4{border-left-color:var(--line,#e6e9ee)}

/* Nell'elenco a gruppi ogni livello ha la sua riga di schede: lo stacco fra
   una riga e la successiva è più largo del passo interno alla griglia, così
   si legge come "un gradino più sotto" e non come una riga andata a capo
   per mancanza di spazio. */
.og-grid-liv + .og-grid-liv{margin-top:16px}

/* --- Vista ALBERO: riquadri collegati da linee -----------------------
   Le linee sono pseudo-elementi, non immagini né SVG: un albero disegnato
   con bordi si ridimensiona col testo e non ha nulla da tenere allineato
   quando cambia il numero di figli.
   overflow-x sul contenitore: con molti figli l'albero è più largo della
   colonna, e scorrere è meglio che vedere i riquadri schiacciati. */
.og-tree{display:flex;flex-direction:column;align-items:center;gap:26px;margin:6px 0 10px;overflow-x:auto;padding-bottom:4px}
.og-node{display:flex;flex-direction:column;align-items:center;min-width:0}
.og-node>.og-card{max-width:300px}
.og-children{display:flex;justify-content:center;align-items:flex-start;padding-top:14px;position:relative}
/* gambo che scende dal padre fino alla barra orizzontale */
.og-children::before{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:2px;height:14px;background:var(--line,#e6e9ee)}
.og-child{position:relative;padding:14px 9px 0;display:flex;flex-direction:column;align-items:center}
/* barra orizzontale che unisce i fratelli: mezza per il primo e per l'ultimo,
   così non sporge oltre la fila */
.og-child::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--line,#e6e9ee)}
/* gambo che scende dalla barra al singolo figlio */
.og-child::after{content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:2px;height:14px;background:var(--line,#e6e9ee)}
.og-child:first-child::before{left:50%}
.og-child:last-child::before{right:50%}
.og-child:only-child::before{display:none}

/* --- Vista RIENTRO: un gradino per livello, senza linee -------------- */
.og-indent{display:flex;flex-direction:column;gap:10px;margin-bottom:6px}
.og-ind-row{position:relative;margin-left:calc((var(--lv,1) - 1) * 28px)}
.og-ind-sub::before{content:"";position:absolute;left:-15px;top:-6px;bottom:-6px;width:2px;
  background:var(--line,#e6e9ee)}

@media (max-width:520px){
  .og-grid{grid-template-columns:1fr}
  .og-sezione{font-size:1.1rem}
  .og-foto{width:50px;height:50px}
  .og-ind-row{margin-left:calc((var(--lv,1) - 1) * 15px)}
  .og-ind-sub::before{left:-9px}
}

/* Sotto i 700px l'albero diventa un elenco rientrato con una guida a
   sinistra: le fila di riquadri affiancati, su un telefono, o escono dallo
   schermo o si riducono a colonne di due parole. */
@media (max-width:700px){
  .og-tree{align-items:stretch;gap:16px;overflow-x:visible}
  .og-node{align-items:stretch}
  .og-node>.og-card{max-width:none}
  .og-children{flex-direction:column;align-items:stretch;padding:10px 0 0 14px;margin-left:14px;
    border-left:2px solid var(--line,#e6e9ee)}
  .og-children::before{display:none}
  .og-child{padding:7px 0 0;align-items:stretch}
  .og-child::before,.og-child::after{display:none}
}

/* ============================================================
   SEZIONI / UFFICI
   Due colonne: la barra della sezione a SINISTRA (è la sua
   identità: chi la segue, che cosa offre) e i contenuti a
   destra. Quando la barra finisce, la fascia "sotto" torna a
   tutta larghezza — è il motivo per cui vive fuori dalla griglia.
============================================================ */
.sez-page{padding-top:26px}
.sez-page .crumbs{font-size:.86rem;color:#6b7a8d;margin-bottom:12px}
.sez-page .crumbs a{color:#6b7a8d}.sez-page .crumbs a:hover{color:var(--gold)}
.sez-head{border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:26px}
.sez-title{font-size:clamp(1.7rem,3.2vw,2.4rem);line-height:1.14;color:var(--navy);margin:0}
.sez-sub{color:#5a6b7e;font-size:1.06rem;margin:.4em 0 0}
.sez-h2{color:var(--navy);font-size:1.28rem;margin:0 0 14px}
.sez-grid{display:grid;grid-template-columns:300px minmax(0,1fr);gap:38px;align-items:start}
.sez-nosidebar .sez-grid{grid-template-columns:1fr}
.sez-main{min-width:0}
.sez-cappello{margin-bottom:22px}
.sez-apertura{margin-bottom:24px}
.sez-sotto{margin-top:38px;padding-top:28px;border-top:1px solid var(--line)}
.sez-mini-list{display:flex;flex-direction:column;gap:14px}
@media(max-width:900px){.sez-grid{grid-template-columns:1fr}}

/* --- La barra della sezione --------------------------------- */
.sez-side{position:sticky;top:90px;display:flex;flex-direction:column;gap:12px}
@media(max-width:900px){.sez-side{position:static}}
.sez-side-head{font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  color:var(--gold);padding-bottom:6px;border-bottom:2px solid var(--gold)}
.sez-box{display:block;border:1px solid var(--line);border-radius:12px;background:#fff;padding:14px 16px;text-decoration:none;color:inherit}
.sez-box-titolo{font-size:.74rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700;color:#6b7a8d;margin:8px 0 -2px}
/* Referente */
.sez-rif .rif-testa{display:flex;align-items:center;gap:12px}
.sez-rif .rif-foto{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.sez-rif .rif-ini{width:56px;height:56px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  background:var(--navy);color:#fff;font-weight:700;font-size:1.3rem}
.sez-rif .rif-chi{display:flex;flex-direction:column;min-width:0}
.sez-rif .rif-eyebrow{font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;color:#8b98a8}
.sez-rif .rif-chi strong{color:var(--navy);line-height:1.25}
.sez-rif .rif-ruolo{font-size:.84rem;color:#6b7a8d}
.sez-rif .rif-contatti{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.sez-rif .rif-riga{display:flex;align-items:center;gap:8px;font-size:.87rem;color:var(--navy);text-decoration:none;word-break:break-word}
.sez-rif .rif-riga i{color:var(--gold)}
.sez-rif .rif-riga:hover{text-decoration:underline}
/* Voce "Info e contatti" */
.sez-info-link{display:flex;align-items:center;gap:10px;font-weight:600;color:var(--navy);transition:.15s}
.sez-info-link:hover{border-color:var(--gold);background:#fbf9f4}
.sez-info-link>i:first-child{color:var(--gold);font-size:1.1rem}
/* Menu delle voci correlate */
.sez-menu{padding:6px 0}
.sez-menu ul{list-style:none;margin:0;padding:0}
.sez-menu li+li{border-top:1px solid var(--line)}
.sez-menu a{display:flex;align-items:center;gap:9px;padding:10px 16px;color:var(--navy);text-decoration:none;font-weight:600;font-size:.92rem;line-height:1.35}
.sez-menu a:hover{background:#f6f9fd}
.sez-menu a>i:first-child{color:var(--gold);flex:0 0 auto}
.sez-menu a span{flex:1;min-width:0}
.sez-menu a .bi-chevron-right{color:#c3cede;font-size:.8rem}
/* Documentale nella barra */
.sez-doc{padding:0}
.sez-doc summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:9px;padding:12px 16px;
  font-weight:700;color:var(--navy);font-size:.92rem}
.sez-doc summary::-webkit-details-marker{display:none}
.sez-doc summary i{color:var(--gold)}
.sez-doc ul{list-style:none;margin:0;padding:0 0 6px;border-top:1px solid var(--line)}
.sez-doc a{display:flex;align-items:flex-start;gap:8px;padding:8px 16px;color:#22364d;text-decoration:none;font-size:.88rem;line-height:1.4}
.sez-doc a:hover{background:#f6f9fd;color:var(--navy)}
.sez-doc a i{color:#8fa3ba;margin-top:2px}
.sez-doc-uno{display:flex;align-items:center;gap:9px;font-weight:600;color:var(--navy);font-size:.9rem}
.sez-doc-uno i{color:var(--gold)}
.sez-doc-uno:hover{border-color:var(--gold);background:#fbf9f4}
/* Info e contatti / documento */
.sez-info-card{border:1px solid var(--line);border-radius:14px;padding:22px 24px;background:#fff}
.ic-persona{display:flex;align-items:center;gap:14px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.ic-persona img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.ic-persona strong{display:block;color:var(--navy);font-size:1.1rem}
.ic-ruolo{color:#6b7a8d;font-size:.9rem}
.ic-dati{display:grid;grid-template-columns:170px minmax(0,1fr);gap:10px 18px;margin:0}
.ic-dati dt{color:#6b7a8d;font-size:.86rem;display:flex;align-items:center;gap:7px}
.ic-dati dt i{color:var(--gold)}
.ic-dati dd{margin:0;color:var(--navy)}
.ic-dati a{color:var(--navy)}
.ic-testo{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:560px){.ic-dati{grid-template-columns:1fr;gap:2px 0}.ic-dati dd{margin-bottom:10px}}
.sez-doc-ramo{color:#6b7a8d;font-size:.9rem;margin-top:-6px}
.sez-file{list-style:none;margin:18px 0 0;padding:0;display:flex;flex-direction:column;gap:8px}
.sez-file a{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:10px;
  padding:12px 16px;color:var(--navy);text-decoration:none;font-weight:600}
.sez-file a:hover{border-color:var(--gold);background:#fbf9f4}
.sez-file i{color:var(--gold);font-size:1.15rem}
.sez-torna{margin-top:30px}

/* --- Articolo di una sezione: barra a SINISTRA, niente colonna destra --- */
.art-con-sezione .art-layout-grid{grid-template-columns:300px minmax(0,1fr);gap:38px}
@media(max-width:900px){.art-con-sezione .art-layout-grid{grid-template-columns:1fr}}

/* --- Barra della sezione: gli elementi correlati "ricchi" ---------------
   Una nota, una foto, un video, un pulsante di prenotazione non sono voci
   di menu: sono contenuto, e nella barra si prendono il loro spazio. Il
   contenitore .sez-ricco non aggiunge cornice — ce l'hanno già i riquadri
   .rel-* della pagina articolo, che qui riusiamo tali e quali. */
.sez-side .sez-ricco{border:0;background:transparent;padding:0}
.sez-side .sez-ricco>*{max-width:100%}
.sez-side .rel-foto{margin:0}
.sez-side .rel-foto img{width:100%;border-radius:12px;display:block}
.sez-side .rel-foto figcaption{font-size:.82rem;color:#6b7a8d;margin-top:6px;line-height:1.4}
.sez-side .rel-galleria{display:block;text-decoration:none;color:var(--navy);font-weight:600;font-size:.9rem}
.sez-side .rel-galleria img{width:100%;border-radius:12px;margin-bottom:6px;display:block}
.sez-side .rel-documento,.sez-side .rel-sacerdote,.sez-side .rel-progetto{display:flex;width:100%}
.sez-side .rel-sacerdote{flex-wrap:wrap}
.sez-side .rel-video iframe,.sez-side .rel-video video{width:100%;aspect-ratio:16/9;border:0;border-radius:10px}
.sez-side .rel-audio audio{width:100%}
.sez-side .rel-prenotazione .btn-prenota{display:flex;width:100%;justify-content:center}
.sez-side .rel-nota{padding:14px 16px}
.sez-side .rel-nota .rel-nota-body{font-size:.9rem;line-height:1.55}
.sez-side .rel-allegato{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;
  padding:10px 14px;background:#fff;text-decoration:none;color:var(--navy);font-weight:600;font-size:.9rem}
.sez-side .rel-allegato:hover{border-color:var(--gold)}

/* ============================================================
   GRUPPI (riquadri componibili) e MENU personalizzati
   Un gruppo è fatto di righe; ogni riga si divide in 1-4 colonne. Sotto gli
   820px le colonne si impilano sempre: due widget affiancati su un telefono
   diventano due colonne strette e illeggibili, che è il contrario del motivo
   per cui li si è messi in fila.
============================================================ */
.grp{display:flex;flex-direction:column;gap:18px}
.grp-riga{display:grid;gap:18px;align-items:start}
.grp-riga.cols-1{grid-template-columns:1fr}
.grp-riga.cols-2{grid-template-columns:1fr 1fr}
.grp-riga.cols-3{grid-template-columns:repeat(3,1fr)}
.grp-riga.cols-4{grid-template-columns:repeat(4,1fr)}
.grp-col{min-width:0}
.grp-col>.wdg-celebrazioni,.grp-col>.saint{margin-bottom:0}
.grp-testo{color:#41506a;line-height:1.6}
.grp-testo h4{color:#12304f;font-size:1.05rem;margin:0 0 6px}
.grp-figura{margin:0}
.grp-figura img{width:100%;border-radius:12px;display:block}
.grp-figura figcaption{margin-top:6px;color:#7c8ba0;font-size:.86rem}
@media(max-width:820px){.grp-riga{grid-template-columns:1fr !important}}

/* --- Menu --------------------------------------------------------------- */
.mnu-tit{font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;color:#b08b4f;font-weight:700;margin-bottom:9px}

/* elenco verticale: le voci della barra laterale */
.mnu-elenco{list-style:none;margin:0;padding:0;background:#fff;border:1px solid #e6e9ef;border-radius:12px;overflow:hidden}
.mnu-elenco li+li{border-top:1px solid #f1f4f8}
.mnu-voce{display:flex;align-items:flex-start;gap:10px;padding:11px 14px;color:#28405c;text-decoration:none;font-size:.92rem;flex-wrap:wrap}
.mnu-voce:hover{background:#f4f8fd;color:#12304f}
.mnu-voce>.bi{color:#b08b4f;margin-top:2px;flex:0 0 auto}
.mnu-voce>span{flex:1;min-width:0}
.mnu-voce small{flex-basis:100%;padding-left:26px;color:#8a97ab;font-size:.8rem}
.mnu-voce.is-plain{color:#7c8ba0}

/* barra orizzontale */
.mnu-barra{display:flex;flex-wrap:wrap;gap:8px}
.mnu-b-voce{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:999px;
  border:1px solid #e0e6ee;background:#fff;color:#28405c;text-decoration:none;font-size:.88rem;font-weight:600}
.mnu-b-voce:hover{border-color:#b08b4f;color:#12304f}
.mnu-b-voce>.bi{color:#b08b4f}

/* piastrelle con icona */
.mnu-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.mnu-tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;padding:18px 12px;
  border:1px solid #e6e9ef;border-radius:14px;background:#fff;color:#12304f;text-decoration:none;transition:.15s}
.mnu-tile:hover{border-color:#b08b4f;box-shadow:0 6px 18px rgba(18,48,79,.08);transform:translateY(-1px)}
.mnu-tile>.bi{font-size:1.6rem;color:#b08b4f}
.mnu-tile>span{font-weight:600;font-size:.9rem;line-height:1.25}
.mnu-tile small{color:#8a97ab;font-size:.78rem}

/* pulsanti in evidenza: uno solo è quello principale */
.mnu-btns{display:flex;flex-wrap:wrap;gap:10px}
.mnu-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;border-radius:10px;
  border:1px solid #12304f;color:#12304f;background:#fff;text-decoration:none;font-weight:600;font-size:.92rem}
.mnu-btn:hover{background:#12304f;color:#fff}
.mnu-btn.is-primo{background:#b08b4f;border-color:#b08b4f;color:#12304f}
.mnu-btn.is-primo:hover{background:#12304f;border-color:#12304f;color:#fff}

/* dentro un riquadro navy (barra laterale scura) il menu si adegua */
.wdg-celebrazioni + .mnu .mnu-elenco,.grp-col .mnu-elenco{background:#fff}

/* ==========================================================================
   CONFESSIONI NELLA PAGINA «ORARI E CELEBRAZIONI» — 16 agosto 2026
   Il riquadro non ha più un disegno suo: usa `cw_tabellone()`, lo stesso del
   widget «Confessioni». Il widget però nasce per la barra laterale chiara e ha
   il fondo navy pieno: dentro un pannello già navy sparirebbe. Qui gli si dà lo
   stesso fondo translucido che il riquadro usava prima, così il disegno resta
   quello del widget e il contrasto non si perde.
   Nessuna regola esistente è stata toccata.
   ========================================================================== */
.cal-panel.is-conf .wdg-celebrazioni{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);
  border-left:3px solid var(--gold,#b08b4f);border-radius:8px;padding:14px 16px;margin-bottom:12px}
.cal-panel.is-conf .wdg-celebrazioni:last-child{margin-bottom:0}
.cal-panel.is-conf .wdg-celebrazioni .wc-k{margin-bottom:10px}
.cal-panel.is-conf .wdg-celebrazioni .wc-list{margin-bottom:0}
.cal-panel.is-conf .wdg-celebrazioni .wc-all{margin-top:11px}
