/**
 * Cattedrale di Noto — Design System (porting da cattedrale-suite/design-system.css)
 * Identità stabile: font, palette, bottoni, form. Layout e spaziature sono in SP Page Builder.
 */
@font-face{font-family:"Cormorant Garamond";font-style:normal;font-weight:300 600;font-display:swap;src:url("../fonts/cormorant-garamond-light.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:300 600;font-display:swap;src:url("../fonts/jost.woff2") format("woff2")}

:root{
    --cat-ivory:#FDFCF9;
    --cat-ivory-soft:#FAF8F4;
    --cat-ivory2:#FAF8F4;
    --cat-soft:#FAF8F4;
    --cat-travertine:#F2EDE4;
    --cat-border:#E6DDD0;
    --cat-gold:#C9A84C;
    --cat-dark:#302D2A;
    --cat-black:#1A1714;
    --cat-muted:#7A7268;
    --cat-muted-soft:#9A9089;
    --cat-light-text:#D8CEC3;
    --cat-font-display:"Cormorant Garamond",Georgia,"Times New Roman",serif;
    --cat-font-ui:"Jost",Arial,Helvetica,sans-serif;
}

/* ---------- Tipografia di base sulle pagine SP Page Builder ---------- */
body.site .sp-page-builder,
body.site .sp-page-builder .sppb-addon-content{font-family:var(--cat-font-ui);color:var(--cat-muted)}
body.site .sp-page-builder h1.sppb-addon-title,
body.site .sp-page-builder h2.sppb-addon-title,
body.site .sp-page-builder h3.sppb-addon-title,
body.site .sp-page-builder h4.sppb-addon-title,
body.site .sp-page-builder h5.sppb-addon-title,
body.site .sp-page-builder h6.sppb-addon-title{font-family:var(--cat-font-display);font-weight:300;margin:0}
body.site .sp-page-builder div.sppb-addon-title,
body.site .sp-page-builder p.sppb-addon-title,
body.site .sp-page-builder span.sppb-addon-title{font-family:var(--cat-font-ui);margin:0}
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content p{margin:0 0 1em}
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content p:last-child{margin-bottom:0}
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content a{color:var(--cat-dark);border-bottom:1px solid var(--cat-gold);text-decoration:none}
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content a:hover{color:var(--cat-gold)}
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content strong{font-weight:500}
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content ul{padding-left:1.1em}

/* Container (Div) usati dal convertitore Elementor -> SPPB */
body.site .sp-page-builder .sppb-div-addon{min-width:0}
body.site .sp-page-builder .sppb-addon-wrapper{margin:0}
body.site .sp-page-builder .sppb-column-addons{display:flex;flex-direction:column;gap:var(--cat-gap,0px)}
body.site .sp-page-builder .sppb-column-addons>.sppb-addon-wrapper,
body.site .sp-page-builder .sppb-div-addon>.sppb-addon-wrapper{margin:0}
body.site .sp-page-builder .sppb-section{position:relative}

/* ---------- Bottoni: un unico componente canonico ---------- */
.sppb-btn.cat-btn,
.cat-contact-form__submit{
    font-family:var(--cat-font-ui)!important;font-size:10px!important;font-weight:500!important;line-height:1.2!important;
    letter-spacing:.12em!important;text-transform:uppercase!important;text-decoration:none!important;
    background:var(--cat-black)!important;color:var(--cat-ivory)!important;border:1px solid var(--cat-black)!important;
    border-radius:2px!important;box-shadow:none!important;padding:12px 24px!important;
    transition:background-color .28s ease,color .28s ease,border-color .28s ease,transform .28s ease!important
}
.sppb-btn.cat-btn:hover,.sppb-btn.cat-btn:focus{background:var(--cat-gold)!important;color:var(--cat-black)!important;border-color:var(--cat-gold)!important;transform:translateY(-1px)}
.sppb-btn.cat-btn.cat-btn--outline{background:transparent!important;color:var(--cat-dark)!important;border:1px solid var(--cat-gold)!important}
.sppb-btn.cat-btn.cat-btn--outline:hover,.sppb-btn.cat-btn.cat-btn--outline:focus{background:var(--cat-gold)!important;color:var(--cat-black)!important;border-color:var(--cat-gold)!important}
.sppb-btn.cat-btn.cat-btn--light{background:rgba(253,252,249,.06)!important;color:var(--cat-ivory)!important;border:1px solid rgba(253,252,249,.72)!important}
.sppb-btn.cat-btn.cat-btn--light:hover,.sppb-btn.cat-btn.cat-btn--light:focus{background:var(--cat-gold)!important;color:var(--cat-black)!important;border-color:var(--cat-gold)!important}
.sppb-btn.cat-btn.sppb-btn-lg{padding:16px 28px!important}
.sppb-btn.cat-btn.sppb-btn-xs{padding:10px 16px!important}
.sppb-btn.cat-btn:focus-visible,.cat-dyn-more:focus-visible{outline:2px solid var(--cat-gold)!important;outline-offset:3px}

/* ---------- Form ---------- */
.cat-contact-form input,.cat-contact-form textarea{
    font-family:var(--cat-font-ui)!important;color:var(--cat-dark)!important;background:var(--cat-ivory)!important;
    border:1px solid var(--cat-border)!important;border-radius:0!important;box-shadow:none!important
}
.cat-contact-form input:focus,.cat-contact-form textarea:focus{border-color:var(--cat-gold)!important;outline:1px solid var(--cat-gold)!important;outline-offset:0}

/* ---------- Divider ---------- */
body.site .sp-page-builder .sppb-divider{border-color:var(--cat-border)}

/* ---------- Dettaglio notizia (com_cattedrale) ---------- */
.cat-news-detail{background:var(--cat-ivory)}
.cat-news-detail__wrap{width:min(820px,calc(100% - 48px));margin-inline:auto}
.cat-news-detail__wrap--wide{width:min(1220px,calc(100% - 48px))}
.cat-news-detail__hero{padding:96px 0 48px;background:var(--cat-ivory-soft);border-bottom:1px solid var(--cat-border)}
.cat-news-detail__back{margin:0 0 34px}
.cat-news-detail h1{font:300 clamp(40px,5vw,64px)/1.04 var(--cat-font-display);color:var(--cat-dark);margin:6px 0 22px;letter-spacing:-.02em}
.cat-news-detail__lead{font:300 18px/1.8 var(--cat-font-ui);color:#81776E;margin:0}
.cat-news-detail__image{margin:0 auto;width:min(1220px,calc(100% - 48px));transform:translateY(-1px)}
.cat-news-detail__image img{display:block;width:100%;max-height:620px;object-fit:cover}
.cat-news-detail__body{padding:64px 0 96px;font:300 17px/1.85 var(--cat-font-ui);color:#5E564F}
.cat-news-detail__body h2,.cat-news-detail__body h3{font-family:var(--cat-font-display);font-weight:300;color:var(--cat-dark)}
.cat-news-detail__body h2{font-size:36px;line-height:1.1}
.cat-news-detail__body img{max-width:100%;height:auto}
.cat-news-detail__more{padding:84px 0 104px;background:var(--cat-ivory-soft);border-top:1px solid var(--cat-border)}
.cat-news-detail__more h2{font:300 42px/1.1 var(--cat-font-display);color:var(--cat-dark);margin:0 0 36px}

/* ---------- BA Gallery dentro il sito ---------- */
.cat-ba-gallery{width:100%}

/* ========== Widget dinamici (porting 1:1 da dynamic-widgets.css) ========== */
.cat-dyn-empty{padding:24px;border:1px dashed var(--cat-border);font:300 14px/1.6 Jost,sans-serif;color:var(--cat-muted)}
.cat-dyn-hours{width:100%}
.cat-dyn-hours__row{display:flex;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--cat-border)}
.cat-dyn-hours__day{font:500 12px/1.4 Jost,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--cat-dark)}
.cat-dyn-hours__time{font:300 16px/1.4 Jost,sans-serif;color:var(--cat-dark);text-align:right}
.cat-dyn-hours__meta{display:flex;justify-content:space-between;gap:24px;padding:18px 0 0;font:300 14px/1.6 Jost,sans-serif}
.cat-dyn-hours__meta strong{text-transform:uppercase;font-size:11px;letter-spacing:.12em}
.cat-dyn-hours__note{margin-top:18px;color:var(--cat-muted);font:300 13px/1.6 Jost,sans-serif}
.cat-dyn-gallery{display:grid;gap:20px}.cat-dyn-gallery--window{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.cat-dyn-gallery--grid{grid-template-columns:repeat(var(--cat-gallery-cols,4),minmax(0,1fr))}
.cat-dyn-gallery__item{margin:0}
.cat-dyn-gallery__image{aspect-ratio:4/3;overflow:hidden;background:#F2EDE4}
.cat-dyn-gallery__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.cat-dyn-gallery__item:hover img{transform:scale(1.035)}
.cat-dyn-gallery figcaption{margin-top:10px;font:300 13px/1.5 Jost,sans-serif;color:var(--cat-muted)}
.cat-dyn-list{border-top:1px solid var(--cat-border)}
.cat-dyn-list__item{display:grid;grid-template-columns:180px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--cat-border)}
.cat-dyn-list__date{padding-right:28px;border-right:1px solid var(--cat-border);font:300 18px/1.3 "Cormorant Garamond",serif}
.cat-dyn-list__date small{display:block;margin-top:6px;font:500 11px/1.4 Jost,sans-serif;letter-spacing:.12em;color:var(--cat-gold)}
.cat-dyn-list__eyebrow{text-transform:uppercase;color:var(--cat-gold);font:500 10px/1.3 Jost,sans-serif;letter-spacing:.15em;margin-bottom:7px}
.cat-dyn-list__body h3,.cat-dyn-news h3,.cat-dyn-press h3{margin:0;color:var(--cat-dark);font:300 28px/1.15 "Cormorant Garamond",serif}
.cat-dyn-list__place{margin-top:6px;color:var(--cat-muted);font:300 13px/1.5 Jost,sans-serif}
.cat-dyn-list__body p{margin:10px 0 0;font:300 14px/1.65 Jost,sans-serif;color:var(--cat-muted)}
.cat-dyn-news{display:grid;grid-template-columns:repeat(var(--cat-news-cols,3),minmax(0,1fr));gap:28px}
.cat-dyn-news__card{min-width:0}
.cat-dyn-news__image{display:block;aspect-ratio:4/3;overflow:hidden;background:#F2EDE4;margin-bottom:18px}
.cat-dyn-news__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease}
.cat-dyn-news__card:hover img{transform:scale(1.03)}
.cat-dyn-news__meta{font:500 10px/1.3 Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--cat-gold);margin-bottom:9px}
.cat-dyn-news h3 a{color:inherit;text-decoration:none}
.cat-dyn-news p,.cat-dyn-press p{font:300 14px/1.7 Jost,sans-serif;color:var(--cat-muted)}
.cat-dyn-more{display:inline-block;margin-top:12px;color:var(--cat-dark);border-bottom:1px solid var(--cat-gold);text-decoration:none;font:500 10px/1.4 Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase}
.cat-dyn-press{border-top:1px solid var(--cat-border)}
.cat-dyn-press__row{display:grid;grid-template-columns:240px 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--cat-border)}
.cat-dyn-press__source{padding-right:28px;border-right:1px solid var(--cat-border)}
.cat-dyn-press__source strong,.cat-dyn-press__source span{display:block}
.cat-dyn-press__source strong{font:500 11px/1.4 Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--cat-gold)}
.cat-dyn-press__source span{margin-top:7px;font:300 12px/1.4 Jost,sans-serif;color:var(--cat-muted)}
@media(max-width:1024px){
 .cat-dyn-gallery--grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cat-dyn-news{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
 .cat-dyn-gallery--grid,.cat-dyn-news{grid-template-columns:1fr}.cat-dyn-gallery--window{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .cat-dyn-list__item,.cat-dyn-press__row{grid-template-columns:1fr;gap:16px}
 .cat-dyn-list__date,.cat-dyn-press__source{border-right:0;padding-right:0}
 .cat-dyn-hours__row{align-items:flex-start}
}

.cat-home-rectories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cat-home-rectory{border:1px solid #e8dfd3;background:#fdfcf9;min-width:0;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease}
.cat-home-rectory:hover{transform:translateY(-5px);border-color:#d4bf88;box-shadow:0 18px 45px rgba(48,45,42,.08)}
.cat-home-rectory>a{display:flex;flex-direction:column;height:100%;color:inherit;text-decoration:none}
.cat-home-rectory__media{aspect-ratio:4/3;overflow:hidden;position:relative;background:#eee8df}
.cat-home-rectory__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.16,1,.3,1)}
.cat-home-rectory:hover .cat-home-rectory__media img{transform:scale(1.035)}
.cat-home-rectory__placeholder{display:grid;place-items:center;width:100%;height:100%;font:38px Georgia,serif;color:#c9a84c;background:linear-gradient(135deg,#e9e1d5,#f8f4ee)}
.cat-home-rectory__tag{position:absolute;left:18px;bottom:16px;background:rgba(31,28,25,.82);color:#fdfcf9;padding:7px 10px 6px;font:500 9px/1 Jost,sans-serif;letter-spacing:.15em;backdrop-filter:blur(8px)}
.cat-home-rectory__body{padding:26px 24px 24px;display:flex;flex-direction:column;flex:1}
.cat-home-rectory__body h3{font:300 31px/1.08 "Cormorant Garamond",Georgia,serif;color:#302d2a;margin:0 0 13px}
.cat-home-rectory__body p{font:300 14px/1.75 Jost,sans-serif;color:#81776e;margin:0 0 24px}
.cat-home-rectory__cta{margin-top:auto;padding-top:15px;border-top:1px solid #eee6da;display:flex;align-items:center;justify-content:space-between;font:500 10px/1.4 Jost,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#5d554f}
.cat-home-rectory__cta b{font-size:18px;font-weight:300;color:#c9a84c;transition:transform .25s ease}
.cat-home-rectory:hover .cat-home-rectory__cta b{transform:translateX(5px)}
@media(max-width:1024px){.cat-home-rectories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.cat-home-rectories{grid-template-columns:1fr}}


/* Full gallery — 4x2 desktop, 3x2 medium, 2x2 tablet, 1x2 mobile via JS. */
.cat-dyn-gallery-full__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.cat-dyn-gallery-full__item{margin:0}
.cat-dyn-gallery-full__image{aspect-ratio:4/3;overflow:hidden;background:var(--cat-ivory2,#FAF8F4)}
.cat-dyn-gallery-full__image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .55s cubic-bezier(.16,1,.3,1)}
.cat-dyn-gallery-full__item:hover img{transform:scale(1.035)}
.cat-dyn-gallery-full figcaption{margin-top:9px;font:300 13px/1.5 Jost,sans-serif;color:var(--cat-muted)}
.cat-dyn-gallery-full__item[hidden]{display:none!important}
.cat-dyn-gallery-full__pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:34px}
.cat-dyn-gallery-full__pagination button{width:38px;height:38px;border:1px solid var(--cat-border);background:transparent;color:var(--cat-dark);cursor:pointer;font-size:18px;transition:.2s ease}
.cat-dyn-gallery-full__pagination button:hover:not(:disabled){border-color:var(--cat-gold);background:var(--cat-gold)}
.cat-dyn-gallery-full__pagination button:disabled{opacity:.3;cursor:default}
.cat-dyn-gallery-full__pagination span{font:500 10px/1 Jost,sans-serif;letter-spacing:.13em;color:var(--cat-muted)}

.cat-contact-form{display:grid;gap:18px}
.cat-contact-form__field{display:grid;gap:8px}
.cat-contact-form label{font:500 10px/1.3 Jost,sans-serif;letter-spacing:.13em;text-transform:uppercase;color:var(--cat-dark)}
.cat-contact-form input,.cat-contact-form textarea{width:100%;padding:13px 14px;font:300 15px/1.5 Jost,sans-serif}
.cat-contact-form__submit{justify-self:start;padding:13px 20px;font:500 10px/1.2 Jost,sans-serif;letter-spacing:.12em;text-transform:uppercase;background:var(--cat-dark);color:var(--cat-ivory);border:1px solid var(--cat-dark);border-radius:2px;cursor:pointer;transition:.25s ease}
.cat-contact-form__submit:hover{background:var(--cat-gold);border-color:var(--cat-gold);color:var(--cat-dark)}
.cat-contact-form__submit:disabled{opacity:.55;cursor:wait}
.cat-contact-form__feedback{min-height:22px;font:300 13px/1.5 Jost,sans-serif;color:var(--cat-muted)}
.cat-contact-form__feedback.is-success{color:#556B4E}
.cat-contact-form__feedback.is-error{color:#8B3A3A}

@media(max-width:1100px){.cat-dyn-gallery-full__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.cat-dyn-gallery-full__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:520px){.cat-dyn-gallery-full__grid{grid-template-columns:1fr}}


/* ==========================================================
   Rettorie complete — Elementor dynamic grid
   ========================================================== */
.cat-rectories-grid{
    display:grid;
    gap:28px 24px;
}
.cat-rectories-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.cat-rectories-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.cat-rectories-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.cat-rectories-card{
    min-width:0;
    background:var(--cat-ivory,#FDFCF9);
    border:1px solid var(--cat-border,#E6DDD0);
    transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s ease,border-color .35s ease;
}
.cat-rectories-card:hover{
    transform:translateY(-5px);
    border-color:#D4BF88;
    box-shadow:0 18px 45px rgba(48,45,42,.08);
}
.cat-rectories-card__link{
    display:flex;
    flex-direction:column;
    height:100%;
    color:inherit!important;
    text-decoration:none!important;
}
.cat-rectories-card__media{
    position:relative;
    overflow:hidden;
    aspect-ratio:4/3;
    background:#EEE8DF;
}
.cat-rectories-card__media img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.cat-rectories-card:hover .cat-rectories-card__media img{transform:scale(1.035)}
.cat-rectories-card__placeholder{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    font:38px/1 Georgia,serif;
    color:var(--cat-gold,#C9A84C);
    background:linear-gradient(135deg,#E9E1D5,#F8F4EE);
}
.cat-rectories-card__tag{
    position:absolute;
    left:18px;
    bottom:16px;
    padding:7px 10px 6px;
    background:rgba(31,28,25,.88);
    color:#FDFCF9;
    font:500 9px/1 Jost,sans-serif;
    letter-spacing:.15em;
}
.cat-rectories-card__body{
    flex:1;
    display:flex;
    flex-direction:column;
    padding:26px 24px 24px;
}
.cat-rectories-card__body h3{
    margin:0 0 13px;
    font:300 31px/1.08 "Cormorant Garamond",Georgia,serif!important;
    color:var(--cat-dark,#302D2A)!important;
}
.cat-rectories-card__body p{
    margin:0 0 24px;
    font:300 14px/1.75 Jost,sans-serif!important;
    color:#81776E!important;
}
.cat-rectories-card__cta{
    margin-top:auto;
    padding-top:15px;
    border-top:1px solid #EEE6DA;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    font:500 10px/1.4 Jost,sans-serif!important;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:#5D554F!important;
}
.cat-rectories-card__cta b{
    font-size:18px;
    font-weight:300;
    color:var(--cat-gold,#C9A84C);
    transition:transform .25s ease;
}
.cat-rectories-card:hover .cat-rectories-card__cta b{transform:translateX(5px)}
@media(max-width:1100px){
    .cat-rectories-grid--4,
    .cat-rectories-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
    .cat-rectories-grid,
    .cat-rectories-grid--2,
    .cat-rectories-grid--3,
    .cat-rectories-grid--4{grid-template-columns:1fr}
}

/* ========== Orari delle Messe (porting da messe.css) ========== */
.cat-dyn-masses{width:100%}
.cat-dyn-masses__period{font:500 11px/1.4 Jost,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--cat-gold,#C9A84C);margin-bottom:16px}
.cat-dyn-masses__row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:15px 0;border-bottom:1px solid var(--cat-border,#E6DDD0)}
.cat-dyn-masses__day{font:500 12px/1.4 Jost,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--cat-dark,#302D2A)}
.cat-dyn-masses__times{font:300 16px/1.4 Jost,sans-serif;color:var(--cat-dark,#302D2A);text-align:right}
.cat-dyn-masses__sep{margin:0 10px;color:var(--cat-border,#E6DDD0)}
.cat-dyn-masses__none{font-style:normal;color:var(--cat-muted-soft,#9A9089);font-size:14px}
.cat-dyn-masses__note{margin-top:18px;color:var(--cat-muted,#7A7268);font:300 13px/1.6 Jost,sans-serif}
@media(max-width:640px){
  .cat-dyn-masses__row{flex-direction:column;align-items:flex-start;gap:6px}
  .cat-dyn-masses__times{text-align:left}
}
.cat-dyn-masses--empty{display:none}
.cat-dyn-masses__note--empty{margin-top:0;font-size:15px}
/* Il riquadro che contiene solo il widget Messe vuoto si nasconde da solo */
.sppb-addon-wrapper:has(> .sppb-div-addon > .sppb-addon-wrapper > [id^="sppb-addon-"] > .cat-addon > .cat-dyn-masses--empty){display:none}

/* ========== Classi del convertitore Elementor -> SPPB ========== */
body.site .sppb-section.cat-boxed>.sppb-container-inner{max-width:var(--cat-boxed,1280px);margin-inline:auto}
body.site .cat-f-display .sppb-addon-title,body.site .cat-f-display .sppb-addon-content,body.site .cat-f-display .sppb-addon-content *{font-family:var(--cat-font-display)!important}
body.site .cat-f-ui .sppb-addon-title,body.site .cat-f-ui .sppb-addon-content,body.site .cat-f-ui .sppb-addon-content p{font-family:var(--cat-font-ui)!important}
body.site .sppb-div-addon{box-sizing:border-box}
body.site .sppb-addon-header .sppb-addon-title{white-space:normal}

/* ========== Neutralizza le decorazioni del template Flex ========== */
body.site .sp-page-builder .sppb-addon-title::before,
body.site .sp-page-builder .sppb-addon-title::after{content:none!important;display:none!important}
body.site .sp-page-builder .sppb-addon-title{padding:0;border:0;background:none;letter-spacing:inherit}
body.site .sp-page-builder h1,body.site .sp-page-builder h2,body.site .sp-page-builder h3,
body.site .sp-page-builder h4,body.site .sp-page-builder h5,body.site .sp-page-builder h6{text-transform:none}
body.site .sp-page-builder a:not(.sppb-btn){color:inherit}
body.site ::selection{background:var(--cat-gold);color:var(--cat-black)}
body.site [id^="column-wrap-id"]:has(> .sppb-column > .sppb-column-addons > .sppb-addon-wrapper > [id^="sppb-addon-"] > .cat-addon > .cat-dyn-masses--empty){display:none}

/* Fedeltà a Elementor: widget a tutta larghezza nei contenitori verticali, paragrafi con margine 1em */
body.site .sp-page-builder .sppb-column-addons>.sppb-addon-wrapper,
body.site .sp-page-builder .cat-col>.sppb-addon-wrapper{width:100%}
body.site .sp-page-builder .sppb-addon-title{display:block}
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content p,
body.site .sp-page-builder .sppb-addon-text-block .sppb-addon-content p:last-child{margin:1em 0}
/* Come Elementor: un addon che non produce output non occupa spazio (niente gap in più) */
body.site .sp-page-builder .sppb-addon-wrapper:has(> [id^="sppb-addon-"]:empty){display:none}

/* Campi del modulo contatti: Flex/Bootstrap impongono altezze fisse */
body.site .cat-contact-form input{height:auto!important;min-height:0;line-height:1.5}
body.site .cat-contact-form textarea{height:auto!important;min-height:0;resize:vertical}

/* ========== Crediti fotografici (pagina Galleria) ========== */
body.site .cat-credits .sppb-section,body.site .sppb-section.cat-credits{border-top:1px solid var(--cat-border)}
body.site .cat-credits__text{max-width:980px}
body.site .cat-credits__text .sppb-addon-content{font:300 14px/1.7 var(--cat-font-ui)}
body.site .cat-credits__text h4{margin:34px 0 10px;font:500 11px/1.4 var(--cat-font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--cat-dark)}
body.site .cat-credits__text ol{margin:0;padding-left:1.4em;columns:2;column-gap:48px}
body.site .cat-credits__text li{break-inside:avoid;margin:0 0 8px;font-size:12.5px;line-height:1.55;color:var(--cat-muted)}
body.site .cat-credits__text a{color:var(--cat-dark);border-bottom:1px solid var(--cat-gold);text-decoration:none}
@media (max-width:767.98px){body.site .cat-credits__text ol{columns:1}}

/* ========== Immagini con didascalia (pagine Patrono, Home) ========== */
.cat-figure .sppb-addon-single-image-container,.cat-figure .sppb-addon-content{display:block;width:100%}
.cat-figure img{display:block;width:100%;height:auto}
.cat-figure--home img{aspect-ratio:1/1;object-fit:cover;object-position:50% 40%}
.cat-caption p{margin:0;font-size:12px!important;line-height:1.6!important;color:var(--cat-muted-soft,#9A9089)}
.cat-caption a,.cat-sec ul a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.cat-sec ul{padding-left:1.2em}
.cat-sec ul li{margin:.35em 0}
/* Flex aggiunge una riga (box-shadow inset) sotto gli h3: i titoli del sito non la prevedono */
.cat-f-display .sppb-addon-title{box-shadow:none!important}
