/* ===== Normalizzazione delle sezioni della pagina =====
   Stessi titoli, stesse larghezze e stessi spazi per tutte le sezioni. */
:root{--sez-max:100%;--testo-max:820px;--titolo-col:#ffff00;--spazio-sez:90px}
@media (max-width:767px){:root{--spazio-sez:56px}}

/* Titoli di sezione: tutti uguali */
.main-content #section-photos h2.heading,
.main-content #section-chi [data-aos] > h2:first-child,
.main-content #section-cataloghi h2.heading,
.main-content #section-gallery h2.heading,
.main-content #section-contact h2.heading{
  display:block;width:100%;flex:0 0 100%;
  color:var(--titolo-col)!important;text-align:center!important;
  font-size:44px!important;line-height:1.15;font-weight:500;
  margin:var(--spazio-sez) 0 34px!important;padding:0}
@media (max-width:767px){
  .main-content #section-photos h2.heading,.main-content #section-chi [data-aos] > h2:first-child,
  .main-content #section-cataloghi h2.heading,.main-content #section-gallery h2.heading,
  .main-content #section-contact h2.heading{font-size:32px!important;margin-bottom:22px!important}}
/* titolo vuoto usato solo come spaziatore */
.main-content #section-photos h2.heading:has(> br:only-child){display:none!important}
/* blocchi che contenevano i titoli: a tutta larghezza */
#section-photos .row.mb-3,#section-photos .row.mb-3 > .col-12{width:100%;flex:0 0 100%;max-width:100%;margin:0!important}

/* Tutte le sezioni a tutta larghezza (alcune erano ristrette dal layout) */
#section-chi,#section-cataloghi,#section-gallery,#section-contact,#section-gadget{width:100%;flex:0 0 100%;max-width:100%}

/* Spazi verticali uniformi: lo spazio lo danno i titoli */
.main-content .site-section{padding:0!important}
.main-content > .container-fluid.site-section{padding-bottom:0!important}
#section-photos .vol-grid{margin-bottom:0}
.main-content footer, .main-content > .container-fluid > .row:last-child{margin-top:var(--spazio-sez)}

/* Larghezza comune: griglie */
.vol-wrap{max-width:var(--sez-max)}
/* Larghezza comune: sezioni di testo (Chi siamo, Info), centrate */
#section-chi .col-md-8,#section-contact .col-md-8{flex:0 0 100%;max-width:var(--testo-max);margin:0 auto;padding:0 16px}
#section-chi img.rounded-circle{display:block;margin:0 auto 26px!important;width:220px!important;max-width:60%;height:auto}
#section-chi h3{text-align:center;color:var(--titolo-col);font-size:26px;margin-top:40px!important}
#section-chi .d-md-flex{justify-content:center;gap:60px}
#section-chi .d-md-flex > div{margin:0!important}
#section-chi p,#section-contact p{font-size:16px;line-height:1.7}
#section-contact h2.heading{margin-bottom:34px!important}

/* Cataloghi: stessa larghezza delle griglie, schede affiancate e centrate */
#section-cataloghi .container{max-width:var(--sez-max);padding:0}
#section-cataloghi .col-md-8{flex:0 0 100%;max-width:100%}
#section-cataloghi .row{margin:0}
.cat-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:22px;width:100%}
.cat-card{display:block;width:calc((100% - 66px)/4);min-width:220px;text-decoration:none!important;color:#fff;transition:transform .25s ease}
.cat-card .cat-cover{display:block;border-radius:10px;overflow:hidden;box-shadow:0 6px 18px rgba(0,0,0,.18);background:#fff}
.cat-card img{display:block;width:100%;height:auto}
.cat-card .cat-t{display:block;margin-top:12px;font:600 18px/1.3 Inter,system-ui,sans-serif;text-align:center;color:#fff}
.cat-card .cat-d{display:block;margin-top:4px;font-size:14px;text-align:center;color:rgba(255,255,255,.85)}
.cat-card:hover{transform:translateY(-6px)}
.cat-card:hover .cat-cover{box-shadow:0 14px 30px rgba(0,0,0,.28)}
@media (max-width:767px){.cat-grid{gap:12px}.cat-card{width:calc((100% - 12px)/2);min-width:0}.cat-card .cat-t{font-size:15px}}

/* Gallery: stessa griglia dei volantini */
#section-gallery > .col-12 > .row{margin:0}

/* centratura identica per tutte le sezioni */
#section-chi .container,#section-contact .container,#section-cataloghi .container{margin-left:auto!important;margin-right:auto!important;padding-left:16px;padding-right:16px}
#section-chi .row,#section-contact .row{margin-left:0;margin-right:0}

/* Le sezioni annidate del tema devono occupare sempre tutta la larghezza
   (altrimenti, all'apertura della pagina, le griglie restavano più strette lasciando un vuoto a destra) */
.main-content .row > section,
.main-content .row > .row{flex:0 0 100%;max-width:100%;width:100%;min-width:0}
