/* ============ Font self-hosted ============ */
@font-face{font-family:'Public Sans';src:url('fonts/public-sans-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Public Sans';src:url('fonts/public-sans-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Public Sans';src:url('fonts/public-sans-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:'Public Sans';src:url('fonts/public-sans-700.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-500.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:'Fraunces';src:url('fonts/fraunces-600.woff2') format('woff2');font-weight:600;font-display:swap}

/* ============ Token ============ */
:root{
  --saa-bg:#F6F3EC; --saa-bg-alt:#EFEAE0; --saa-ink:#2A2521; --saa-ink-soft:#5B5349;
  --saa-stone:#8B8378; --saa-slate:#33506B; --saa-slate-dark:#24394C;
  --saa-gold:#A9813F; --saa-terracotta:#A15A3C; --saa-white:#FFFFFF;
  --saa-font-display:'Fraunces',Georgia,serif;
  --saa-font-body:'Public Sans',-apple-system,BlinkMacSystemFont,sans-serif;
  --saa-radius:2px; --saa-container:1180px;
}

/* ============ Base (override mirati su Astra) ============ */
body{ font-family:var(--saa-font-body); color:var(--saa-ink); background:var(--saa-bg); line-height:1.6; }
h1,h2,h3,h4,.saa-page h1,.saa-page h2,.saa-page h3,.saa-page h4{
  font-family:var(--saa-font-display); font-weight:500; color:var(--saa-ink); line-height:1.15; }
.saa-page{ font-family:var(--saa-font-body); color:var(--saa-ink); background:var(--saa-bg); line-height:1.6; }
.saa-page a{ color:inherit; }

.saa-eyebrow{ font-family:var(--saa-font-body); font-weight:700; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--saa-slate); margin:0 0 .4rem; }

/* ============ Bottoni ============ */
.saa-btn .wp-block-button__link,
.saa-btn.wp-block-button__link{ background:var(--saa-slate); color:var(--saa-white); border-radius:var(--saa-radius); border:1.5px solid transparent; padding:12px 26px; font-weight:600; font-size:.92rem; transition:background .18s ease; }
.saa-btn .wp-block-button__link:hover{ background:var(--saa-slate-dark); }
.saa-btn-outline .wp-block-button__link{ background:transparent; color:currentColor; border:1.5px solid currentColor; border-radius:var(--saa-radius); padding:12px 26px; font-weight:600; font-size:.92rem; }
.saa-btn-outline .wp-block-button__link:hover{ background:var(--saa-ink); color:var(--saa-bg); }

/* ============ Front page: via il banner titolo "Home" di Astra ============ */
.home .entry-header,
.home .ast-container > .entry-header{ display:none; }
.home #primary,
.home #content > .ast-container,
.home .site-main,
.home article.ast-article-single,
.home .entry-content{ padding-top:0!important; margin-top:0!important; }
.home article.ast-article-single{ padding-bottom:0!important; }
.home .entry-content > *:first-child{ margin-top:0; }
.home .saa-hero{ margin-top:0; }

/* ============ Header (come il mockup) ============ */
.main-header-bar{
  background:var(--saa-bg);
  border-bottom:1px solid rgba(139,131,120,.28);
  box-shadow:none;
}
.ast-primary-header-bar .main-header-bar,
.main-header-bar-wrap .main-header-bar{ padding-top:12px; padding-bottom:12px; }
.site-header .ast-site-identity{ padding:0; }
.ast-site-title-wrap{ line-height:1; }
/* azzera il padding verticale alto dei link menu di Astra: l'altezza barra
   la governa .main-header-bar */
.main-header-bar .main-header-menu .menu-link,
.ast-hfb-header .main-header-menu .menu-link{ padding-top:6px; padding-bottom:6px; line-height:1.2; }

/* brand compatto: marchietto + nome + sottotitolo */
.saa-brand-link{ display:flex; align-items:center; gap:12px; text-decoration:none; }
.saa-brand-mark{ width:30px; height:34px; flex:0 0 auto; }
.saa-brand-text{ display:flex; flex-direction:column; }
.saa-brand-text strong{
  font-family:var(--saa-font-display); font-weight:600; font-size:1.16rem;
  color:var(--saa-ink); line-height:1.05; letter-spacing:-.01em;
}
.saa-brand-text span{
  font-size:.72rem; color:var(--saa-ink-soft); letter-spacing:.02em; margin-top:2px;
}
.saa-brand-link:hover .saa-brand-text strong{ color:var(--saa-slate); }

/* voci di navigazione */
.ast-hfb-header .main-header-menu .menu-link,
.main-header-bar .main-header-menu .menu-link{
  font-family:var(--saa-font-body); font-size:.86rem; font-weight:600;
  color:var(--saa-ink-soft)!important; text-transform:none; letter-spacing:0;
  border-bottom:2px solid transparent;
}
.ast-hfb-header .main-header-menu .menu-item:hover > .menu-link,
.ast-hfb-header .main-header-menu .current-menu-item > .menu-link,
.ast-hfb-header .main-header-menu .current-menu-ancestor > .menu-link,
.main-header-bar .main-header-menu .menu-item:hover > .menu-link,
.main-header-bar .main-header-menu .current-menu-item > .menu-link{
  color:var(--saa-ink)!important; border-color:var(--saa-gold); background:transparent;
}

/* CTA "Orari Messe" a bottone pieno, centrato verticalmente */
.main-header-menu .saa-nav-cta{ display:flex; align-items:center; }
.main-header-menu .saa-nav-cta > .menu-link,
.saa-nav-cta > a{
  background:var(--saa-slate); color:var(--saa-white)!important;
  border-radius:var(--saa-radius); padding:9px 20px!important;
  font-weight:600; border-bottom:0!important; line-height:1.2;
}
.main-header-menu .saa-nav-cta > .menu-link:hover,
.saa-nav-cta > a:hover{ background:var(--saa-slate-dark)!important; color:var(--saa-white)!important; }

/* ============ Hero ============ */
.saa-hero{ min-height:78vh; display:flex; align-items:flex-end; color:var(--saa-bg);
  background:linear-gradient(180deg,rgba(36,29,20,.15),rgba(24,20,14,.72)),
  repeating-linear-gradient(115deg,#8a7a63 0 3px,#7a6c58 3px 6px); }
.saa-hero .wp-block-cover__inner-container{ padding-bottom:8px; width:100%; max-width:var(--saa-container); margin:0 auto; }
.saa-hero h1{ color:var(--saa-white); font-size:clamp(2.4rem,5.4vw,4.1rem); margin:.2rem 0; }
.saa-hero .saa-eyebrow{ color:var(--saa-gold); }
.saa-hero-luogo{ color:#E7E2D6; font-size:1.05rem; margin-bottom:1.4rem; }

/* ============ Striscia orari ============ */
.saa-strip{ background:var(--saa-slate); color:var(--saa-white); }
.saa-strip .wp-block-group__inner-container,
.saa-strip > .wp-block-group{ max-width:var(--saa-container); margin:0 auto; }
.saa-strip p{ margin:.2rem 0; }
.saa-strip strong{ font-family:var(--saa-font-display); font-size:1.15rem; }
.saa-strip-orari{ color:#CFE0EA; font-size:.86rem; }
.saa-strip-orari b{ color:var(--saa-white); }
.saa-strip h1,.saa-strip h2,.saa-strip h3,.saa-strip p{ color:var(--saa-white); }

/* ============ Divisore campanile ============ */
.saa-divider{ display:flex; justify-content:center; padding:38px 0 6px; opacity:.55; }
.saa-divider svg{ width:34px; height:auto; }

/* ============ Sezioni ============ */
.saa-section{ padding:64px 24px; }
.saa-section--alt{ background:var(--saa-bg-alt); }
.saa-section > *{ max-width:var(--saa-container); margin-left:auto; margin-right:auto; }
.saa-section-head{ max-width:640px; margin-bottom:40px; }
.saa-section-head h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin:.2rem 0; }
.saa-section-head p{ color:var(--saa-ink-soft); }

/* ============ Placeholder immagini ============ */
.saa-ph{ background:repeating-linear-gradient(135deg,#c7bba0 0 4px,#b8ab8d 4px 8px); border:6px solid var(--saa-white); box-shadow:0 14px 34px rgba(36,29,20,.18); }
.saa-ph--4x5{ aspect-ratio:4/5; }
.saa-ph--16x10{ aspect-ratio:16/10; border:0; box-shadow:none; }
.saa-ph--wide{ aspect-ratio:16/7; border:0; box-shadow:none; }

/* ============ Card parroco ============ */
.saa-parroco{ background:var(--saa-white); border:1px solid rgba(139,131,120,.25); padding:22px; display:flex; gap:16px; align-items:center; margin-top:22px; }
.saa-parroco .saa-ph{ width:64px; height:64px; border-radius:50%; border:0; box-shadow:none; flex:0 0 auto; background:linear-gradient(135deg,var(--saa-stone),var(--saa-ink-soft)); }
.saa-parroco strong{ font-family:var(--saa-font-display); display:block; }
.saa-parroco span{ font-size:.82rem; color:var(--saa-ink-soft); }

/* ============ Due chiese ============ */
.saa-chiese-grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.saa-card{ background:var(--saa-white); border:1px solid rgba(139,131,120,.22); }
.saa-card .saa-ph{ border:0; box-shadow:none; aspect-ratio:16/10; }
.saa-card-body{ padding:24px; }
.saa-tag{ display:inline-block; font-size:.68rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--saa-terracotta); margin-bottom:10px; }
.saa-chiesa-link{ font-weight:700; font-size:.86rem; color:var(--saa-slate); border-bottom:1.5px solid var(--saa-slate); }
@media(max-width:780px){ .saa-chiese-grid{ grid-template-columns:1fr; } }

/* ============ Gruppi ============ */
.saa-gruppi-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1px; background:rgba(139,131,120,.25); border:1px solid rgba(139,131,120,.25); }
.saa-gruppo{ background:var(--saa-bg); padding:26px 22px; min-height:150px; display:flex; flex-direction:column; justify-content:space-between; }
.saa-gruppo .saa-tipo{ font-size:.72rem; color:var(--saa-stone); font-weight:700; text-transform:uppercase; letter-spacing:.04em; }
.saa-gruppo h3,.saa-gruppo h4{ font-family:var(--saa-font-display); font-size:1.08rem; margin:14px 0 6px; }
.saa-gruppo p{ font-size:.83rem; color:var(--saa-ink-soft); margin:0; }
.saa-gruppo .saa-referente{ font-size:.78rem; color:var(--saa-stone); margin-top:6px; }

/* ============ Notizie ============ */
.saa-notizie-grid .wp-block-post-template{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.saa-notizia .saa-ph{ border:0; box-shadow:none; aspect-ratio:16/10; margin-bottom:14px; }
.saa-notizia-data{ font-size:.75rem; color:var(--saa-terracotta); font-weight:700; }
.saa-notizia h3{ font-size:1.12rem; margin:6px 0; }
.saa-notizia p{ color:var(--saa-ink-soft); font-size:.9rem; }
@media(max-width:880px){ .saa-notizie-grid .wp-block-post-template{ grid-template-columns:1fr; } }

/* ============ Comunicazioni ============ */
.saa-comunicazioni-list{ list-style:none; margin:0; padding:0; }
.saa-comunicazione{ display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid rgba(139,131,120,.25); }
.saa-comunicazione .saa-data{ font-size:.75rem; color:var(--saa-stone); font-weight:700; }
.saa-comunicazione a.saa-dl{ font-weight:700; font-size:.85rem; color:var(--saa-slate); white-space:nowrap; }

/* ============ Contatti ============ */
.saa-contatti-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:48px; }
.saa-contatti-list{ list-style:none; margin:0; padding:0; }
.saa-contatti-list li{ padding:14px 0; border-bottom:1px solid rgba(139,131,120,.25); }
.saa-contatti-list .saa-label{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; color:var(--saa-stone); font-weight:700; margin-bottom:3px; }
.saa-mappa iframe{ width:100%; min-height:320px; border:1px solid rgba(139,131,120,.3); display:block; }
@media(max-width:880px){ .saa-contatti-grid{ grid-template-columns:1fr; } }

/* ============ Full-bleed helper per blocchi core ============ */
.saa-fullbleed{ margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); }
.saa-fullbleed > *{ max-width:var(--saa-container); margin-left:auto; margin-right:auto; padding-left:24px; padding-right:24px; }

/* ============ Footer a 4 colonne ============ */
/* nasconde il footer bar nativo di Astra (copyright "Powered by Astra"):
   il footer del sito e' reso da saa_footer_render() su astra_footer_after. */
#colophon{ display:none; }
.saa-footer{ background:var(--saa-ink); color:#D9D2C4; padding:52px 24px 26px; font-family:var(--saa-font-body); }
.saa-footer-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; max-width:var(--saa-container); margin:0 auto; }
.saa-footer h5{ color:#fff; text-transform:uppercase; font-size:.82rem; letter-spacing:.06em; margin:0 0 .8rem; font-family:var(--saa-font-body); }
.saa-footer p{ color:#D9D2C4; font-size:.9rem; line-height:1.7; margin:0; }
.saa-footer ul{ list-style:none; margin:0; padding:0; }
.saa-footer li{ padding:4px 0; font-size:.9rem; }
.saa-footer a{ color:#D9D2C4; text-decoration:none; }
.saa-footer a:hover{ color:var(--saa-gold); }
.saa-footer-bottom{ max-width:var(--saa-container); margin:24px auto 0; border-top:1px solid rgba(217,210,196,.15); padding-top:20px; display:flex; justify-content:space-between; font-size:.78rem; color:var(--saa-stone); }
@media(max-width:780px){ .saa-footer-grid{ grid-template-columns:1fr 1fr; } .saa-footer-bottom{ flex-direction:column; gap:8px; } }
