/* Aggiunte del nuovo sito (caricato dopo custom.css). */

/* --- Poppins al posto di Futura PT.
   Rapporti misurati (stesso testo, stessa dimensione) tra Futura PT e Poppins:
   - minuscolo regular: Poppins è larga 1,31x -> fattore 0,764 (a questo fattore anche l'occhio delle minuscole coincide)
   - maiuscolo bold (titoli): fattore 0,965 con Poppins 700
   - maiuscolo regular (menu, sottomenu, pulsanti): fattore 0,91
   Le interlinee sono ricalcolate per mantenere la stessa altezza di riga in pixel del sito originale. */
p, li { font-size: 1.115rem; line-height: 1.7; }
.summary { font-size: 4.25rem; }
.summary--small { font-size: 2.9rem; line-height: 3rem; }
.subsummary { font-size: 1.2rem; }
.mediumsummary { font-size: 1.35rem; }
.midsummary { font-size: 1.2rem; }
.mainsummary { font-size: 2.8rem; }
.evidence { font-size: 1.6em; line-height: 1.4; }
.socialshare a { font-size: 1.31em; }
.form-label { display: block; margin-bottom: 10px; font-size: 0.92rem; }
#fProject textarea { min-height: 66px; }
.slogan p { font-size: 1.93rem; }
.slogan p span { font-size: 3.67rem; }
.slogan a { font-size: 1.09rem; }
.off-canvas header div { font-size: 1.37rem; }
.off-canvas header p { font-size: 0.91rem; }
.off-canvas nav ul li a { font-size: 1.09rem; padding-top: 1px; padding-bottom: 1px; }
.off-canvas nav ul li a:hover, .off-canvas nav ul li a:focus-visible { color: #d7df21; }
.off-canvas #credits p { font-size: 0.8rem; }
.subnav li a { font-size: 1.09rem; }
.backto, .backto2 { font-size: 0.965rem; }
.item .caption .inner .insider span { font-size: 1.27rem; }
.item .caption .inner .insider .categories { font-size: 0.91rem; }
.review .subsummary { font-size: 15.4px; }
/* progetti senza sottotitolo: più spazio tra titolo e testo */
.summary.summary--alone { margin-bottom: 30px; }

@media only screen and (max-width: 40em) {
  p { font-size: 0.917rem; line-height: 1.96; }
  .summary { font-size: 2.9rem; }
  .summary--small { font-size: 2.1rem; line-height: 2.3rem; }
  .slogan p { font-size: 1.45rem; }
  .slogan p span { font-size: 2.41rem; }
  .item .caption span { font-size: 0.91rem; }
}
@media only screen and (min-width: 40.063em) and (max-width: 64em) {
  .slogan p { font-size: 1.64rem; }
  .slogan p span { font-size: 2.9rem; }
}

/* --- testo dei progetti: il paragrafo era "text-left", ora i paragrafi sono dentro un contenitore */
.editorial .text-left p { text-align: left; }

/* --- pulsante hamburger (ora <button> per l'accessibilità, stesso aspetto del div originale) */
button#hmbg_icon { display: block; padding: 0; border: 0; background: none; }

/* --- immagini responsive nelle gallery */
.colDx picture, .item picture { display: block; }
.colDx picture img, .item picture img { display: block; width: 100%; height: auto; }

/* --- icona X nei pulsanti di condivisione (Font Awesome 4 non la include) */
.socialshare .icon-x { width: 0.95em; height: 0.95em; vertical-align: -0.1em; }

/* --- testo solo per screen reader */
.show-for-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); }

/* --- link legali nel menu */
.off-canvas #credits .legal-links { margin-top: 6px; font-size: 0.8rem; }
.off-canvas #credits .legal-links a,
.off-canvas #credits .legal-links button { color: #a7a7a7; font-size: 0.8rem; padding: 0; background: none; border: 0; cursor: pointer; }
.off-canvas #credits .legal-links a:hover,
.off-canvas #credits .legal-links button:hover { color: #fff; }

/* --- banner cookie */
.cookie-banner { position: fixed; z-index: 10000; left: 60px; right: 0; bottom: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding: 16px 24px; background: #1d1d1d; color: #fff; box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.35); }
.cookie-banner[hidden] { display: none; }
.cookie-banner p { flex: 1 1 420px; margin: 0; font-size: 0.95rem; line-height: 1.4; text-align: left; }
.cookie-banner a { color: #d7df21; }
.cookie-banner__actions { display: flex; gap: 10px; }
.cookie-banner button { padding: 9px 22px; border: 1px solid #fff; background: transparent; color: #fff; text-transform: uppercase; cursor: pointer; font-family: inherit; }
.cookie-banner button[data-consent="accept"] { background: #d7df21; border-color: #d7df21; color: #313131; }
.cookie-settings-link { padding: 0; border: 0; background: none; color: inherit; text-decoration: underline; cursor: pointer; font: inherit; }
@media only screen and (max-width: 40em) {
  .cookie-banner { left: 0; padding: 14px 16px; }
  .cookie-banner__actions { width: 100%; }
  .cookie-banner button { flex: 1; }
}

/* --- modulo contatti */
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.privacy-check { display: block; margin: 0 0 16px; color: #313131; font-size: 0.8rem; }
.privacy-check input { width: auto !important; margin: 0 6px 0 0; }
.form-error { padding: 10px 14px; margin-bottom: 16px; background: #313131; color: #d7df21; }
.form-error p { margin: 0; color: #d7df21 !important; }

/* --- testi scritti nel CMS (Markdown): i titoli ## prendono lo stile dei titoli di sezione del sito */
.editorial h2:not([class]), .editorial2 h2:not([class]) { display: block; text-transform: uppercase; font-size: 1.35rem; margin-bottom: 10px; line-height: 1.2; font-weight: 700; opacity: 0.6; }

/* --- gallery dei portfolio: spazio uniforme di 20px tra le foto, tra le colonne e attorno alla gallery */
.gallery { padding: 20px 20px 0; }
.gallery .row { max-width: none; margin-left: -10px; margin-right: -10px; }
.gallery .row.collapse > .columns { padding-left: 10px; padding-right: 10px; }
.gallery a { display: block; margin-bottom: 20px; }

/* --- griglia degli elenchi portfolio: stessa spaziatura delle gallery (20px) */
.portfolio-grid { padding: 20px 20px 0; }
.portfolio-grid .row { max-width: none; margin-left: -10px; margin-right: -10px; }
.portfolio-grid .row.collapse > .columns { padding-left: 10px; padding-right: 10px; }
.portfolio-grid .item { margin-bottom: 20px; }
