/* task 860*/
.shadow-sm.p-3.mb-5.cardBox {
    height: 355px;
}
/* Fix: contrattiview usa row_class=sm-12, forziamo layout Bootstrap row */
.view-contrattiview .view-content .sm-12 {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

/* Fix: footer headings troppo grandi (default h2 ~24px) */
.footer_col h2 {
  font-size: 0.85rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  margin-bottom: 0.75rem;
}

/* Fix: footer voci troppo distanziate (ogni voce è un <p>) */
.footer_col p {
  margin-bottom: 0.15rem;
}

/* ===== TITOLO PAGINA (h1 in #block-pagetitle) ===== */
/* Replica comportamento vecchio .TitoloSezione.text-center */
#block-pagetitle {
  text-align: center;
  padding: 20px 0 10px;
}
#block-pagetitle h1,
#block-pagetitle h1 span {
  font-size: 28pt;
  color: #454545;
  font-weight: 300;
  text-transform: uppercase;
  font-style: normal;
  margin: 0;
}

/* ===== TITOLO CONTENUTO NODI (eventi, contratti, ecc.) ===== */
.titoloSecLevel {
  text-align: center !important;
  text-transform: uppercase;
  font-style: normal;
}

/* ===== MARGINI LATERALI CONTENUTO PRINCIPALE ===== */
/* La section principale ha padding: 0 da .container100 — aggiungiamo spazio */
.main-container > .row > section {
  padding-left: 30px !important;
  padding-right: 30px !important;
}
@media (max-width: 767px) {
  .main-container > .row > section {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}

/* ===== PDF VIEWER: iframe centrato + link download centrato ===== */
.allegatiContainer {
  text-align: center;
}
.gdoc-field {
  display: block;
  margin: 0 auto;
  width: 80%;
  max-width: 800px;
  height: 700px;
}
.gdoc-filename {
  text-align: center;
  margin-top: 15px !important;
}

/* ===== SPAZIO DOPO ALLEGATI (prima del footer) ===== */
.allegatiContainer {
  margin-bottom: 40px;
}

/* Fix: servizi block - layout griglia corretto */

/* Il wrapper js-view-dom-id diventa una riga flex */
.containerServizi [class*='js-view-dom-id'] {
  display: flex;
  flex-wrap: wrap;
  margin-right: -10px;
  margin-left: -10px;
}

/* Ogni wrapper di servizio = colonna Bootstrap-like */
.containerServizi [class*='js-view-dom-id'] > div {
  box-sizing: border-box;
  padding-right: 10px;
  padding-left: 10px;
  /* xl: 6 per riga */
  flex: 0 0 16.6667%;
  max-width: 16.6667%;
}
@media (max-width: 1199px) {
  .containerServizi [class*='js-view-dom-id'] > div { flex: 0 0 25%; max-width: 25%; }
}
@media (max-width: 991px) {
  .containerServizi [class*='js-view-dom-id'] > div { flex: 0 0 33.3333%; max-width: 33.3333%; }
}
@media (max-width: 767px) {
  .containerServizi [class*='js-view-dom-id'] > div { flex: 0 0 50%; max-width: 50%; }
}

/* CardXL: neutralizza max-width di Bootstrap col-xl-2 che crea il problema */
.containerServizi .CardXL {
  width: 100% !important;
  max-width: 100% !important;
  flex: none;
  padding: 0;
  margin: 0;
}

/* cardBox: fix display:table e margin-left che stringe la card */
.containerServizi .ServiziCard .cardBox {
  display: block !important;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  min-height: 250px;
}

/* Immagine servizio: altezza fissa centrata, non stirata */
.containerServizi .cardImgServizi {
  width: 100%;
  height: 120px;
  object-fit: contain;
  object-position: center;
  background: white;
}

/* ===== LAVORATORE ELETTRICO: griglia 6 per riga ===== */
/* js-view-dom-id è figlio diretto di biancoEsteso solo su questa pagina */
.biancoEsteso > [class*='js-view-dom-id'] {
  display: flex;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

/* ===== PAGINAZIONE: elementi in riga ===== */
/* PROBLEMA: style.css originale ha .next{max-width:19px} e li.next{font-size:10px!important}
   pensati per <img class="next"> del mini-pager, ma si applicano anche a <li class="next">
   nei moduli Angular (accordi, contratti, congressi). */

ul.pager.js-pager__items > li,
ul.pager__items > li {
  display: inline-block !important;
  float: none !important;
  max-width: none !important;
  margin-left: 3px !important;
  margin-right: 3px !important;
  font-size: 14px !important;
  vertical-align: middle;
}

ul.pager.js-pager__items,
ul.pager__items {
  list-style: none !important;
  padding: 8px 0 !important;
  margin: 8px auto !important;
  display: block !important;
  text-align: center !important;
  font-size: 0;
}

ul.pager.js-pager__items > li > a,
ul.pager__items > li > a,
ul.pager__items > li > span {
  display: inline-block;
  padding: 4px 10px;
  color: #006d44;
  border: 1px solid #dee2e6;
  border-radius: 4px;
  text-decoration: none;
  line-height: 1.5;
  white-space: nowrap;
  font-size: 14px !important;
}

ul.pager.js-pager__items > li > a > span,
ul.pager.js-pager__items > li > a > img {
  font-size: 14px !important;
  max-width: none !important;
  vertical-align: middle;
}

ul.pager.js-pager__items > li > a:hover,
ul.pager__items > li > a:hover {
  background-color: #f8f9fa;
  color: #004d30;
}

ul.pager__items > li.is-active > a,
ul.pager__items > li.is-active > span {
  background-color: #006d44;
  color: #fff;
  border-color: #006d44;
}

/* ===== LOGIN/REGISTRAZIONE: nascosto temporaneamente ===== */
/* I link Accedi/Registrati puntano a Donatello, disabilitati in attesa di integrazione */
.logingray a.login,
.logingray button.login {
  display: none !important;
}

/* ===== CAPTCHA: rimuovi descrizione duplicata ===== */
.captcha__description {
  display: none !important;
}

/* ===== WEBFORM Richiedi Info: captcha a sinistra del pulsante Invio ===== */
/* D10: wrapper classes usano doppio trattino: form-type--captcha, form-item--captcha */
form#webform-submission-richiedi-informazioi-add-form .form-type--captcha,
form#webform-submission-richiedi-informazioi-add-form .js-form-type-captcha {
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
  padding: 0 15px;
  margin-top: 28px;
  order: 10;
}
form#webform-submission-richiedi-informazioi-add-form .form-actions,
form#webform-submission-richiedi-informazioi-add-form .js-form-wrapper.form-actions {
  flex: 0 0 25%;
  max-width: 25%;
  padding: 0 15px;
  align-self: flex-end;
  margin-top: 28px;
  order: 11;
}
@media (max-width: 767px) {
  form#webform-submission-richiedi-informazioi-add-form .form-type--captcha,
  form#webform-submission-richiedi-informazioi-add-form .js-form-type-captcha,
  form#webform-submission-richiedi-informazioi-add-form .form-actions {
    flex: 0 0 100%;
    max-width: 100%;
    order: unset;
  }
}

/* ===== WEBFORM Richiedi Info: pulsante Invia centrato ===== */
form#webform-submission-richiedi-informazioi-add-form .form-actions {
  text-align: center;
}
form#webform-submission-richiedi-informazioi-add-form .form-actions .button {
  margin-left: auto;
  margin-right: auto;
  display: block;
  width: fit-content;
}

/* ===== WEBFORM Richiedi Info: pulsante Invia centrato (override col-xl-3) ===== */
form#webform-submission-richiedi-informazioi-add-form input[data-drupal-selector='edit-actions-submit'],
form#webform-submission-richiedi-informazioi-add-form .col-xl-3.js-form-submit,
form#webform-submission-richiedi-informazioi-add-form button[id*='edit-actions-submit'],
form#webform-submission-richiedi-informazioi-add-form [id*='edit-actions-submit'] {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: fit-content !important;
  float: none !important;
}

/* ===== CIRCOLARE DETAIL: immagine flottata a sinistra + testo giustificato ===== */
/* .ImgWrapper = col dell'immagine nel dettaglio circolare Angular (documento module) */
.ImgWrapper {
  float: left !important;
  width: 45% !important;
  max-width: 320px !important;
  margin: 0 20px 15px 0 !important;
  padding: 0 !important;
}
.ImgWrapper img {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}
/* Rimuovi white-space:pre-wrap e giustifica il testo */
.col-lg-12.padding-text-sm {
  white-space: normal !important;
  text-align: justify;
}
/* Clearfix dopo la sezione immagine+testo */
.testoSecLevel::after {
  content: ;
  display: table;
  clear: both;
}
@media (max-width: 767px) {
  .ImgWrapper {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 15px 0 !important;
  }
}

/* Fix full-width blocks su schermi > 1600px */
.containerFlaei {
    width: 100% !important;
    max-width: 100% !important;
}

/* Override Angular view encapsulation per full-width su schermi > 1600px */
div.grigioEsteso > div.containerFlaei {
    width: 100% !important;
    max-width: 100% !important;
}

/* Fix padding 15px sulla section main che limita la larghezza dei blocchi */
[role="main"] .row > section {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Fix padding colonne interne slider Angular */
circolari-slider-root .row > div[class*='col-sm-12'] {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Fix containerFlaeiSlider su schermi > 1500px */
.containerFlaeiSlider {
    max-width: 100% !important;
    width: 100% !important;
}

form#webform-submission-richiedi-informazioi-add-form .btn-primary,
form#webform-submission-richiedi-informazioi-add-form .button {
}

/* Applica stile FLAEI ai bottoni Drupal (button--primary) come btn-primary */
.button--primary,
input.button--primary,
button.button--primary {
    background: #006d44 !important;
    border-radius: 4px !important;
    border: 0px !important;
    background-image: url(/themes/flaei/images/br_button.png) !important;
    background-position: left bottom !important;
    background-repeat: no-repeat !important;
    background-size: 250px !important;
    color: white !important;
    min-width: 110px;
}

/* ===== PAGINAZIONE: centra il wrapper nav ===== */
nav.pager {
  text-align: center !important;
  width: 100%;
}

/* Circolari detail - immagine float */
.circolari-immagine-float {
  float: left;
  margin: 0 20px 15px 0;
  max-width: 40%;
}
.circolari-immagine-float img {
  max-width: 100%;
  height: auto;
}
.allegato-item {
  margin: 6px 0;
}

/* Allegati - testo sempre bianco */
.allegato-item a,
.allegato-item a:visited,
.allegato-item a:hover,
.allegato-item a:active {
  color: #ffffff !important;
}

/* Pannello Ultime Circolari - stessa altezza slider */
.circolari-homepage-row {
  display: flex;
  align-items: stretch;
}
.circolari-slider-col,
.circolari-panel-col {
  display: flex;
  flex-direction: column;
}
.circolari-panel-container {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.circolari-panel-items {
  flex: 1;
  overflow-y: auto;
}
.circolari-panel-img {
  width: 70px;
  height: 70px;
  overflow: hidden;
  border-radius: 4px;
}
.circolari-panel-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.circolari-panel-title {
  font-weight: 600;
  font-size: 0.9rem;
  color: #fff;
  text-decoration: none;
  display: block;
  line-height: 1.3;
}
.circolari-panel-title:hover {
  text-decoration: underline;
  color: #fff;
}
.circolari-panel-body {
  font-size: 0.8rem;
  color: #ddd;
  margin: 4px 0 0 0;
}
.circolari-panel-sep {
  border-color: rgba(255,255,255,0.2);
  margin: 8px 0;
}

/* === BLOCCO SLIDER + ULTIME CIRCOLARI === */
.circolari-homepage-row {
  display: flex;
  align-items: stretch;
}
.circolari-slider-col {
  padding: 0;
}
.circolari-panel-col {
  padding: 0;
  display: flex;
  flex-direction: column;
}

/* Pannello bianco */
.ultime-circ-panel {
  background: #fff;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  padding: 20px 24px;
  box-sizing: border-box;
}

/* Titolo con linea verde */
.ultime-circ-header {
  font-size: 1.3rem;
  font-weight: 600;
  color: #222;
  padding-bottom: 10px;
  margin-bottom: 16px;
  border-bottom: 3px solid #006B3D;
}

/* Lista item */
.ultime-circ-list {
  flex: 1;
  overflow-y: hidden;
}

/* Singolo item */
.ultime-circ-item {
  margin-bottom: 4px;
}
.ultime-circ-img {
  width: 110px;
  height: 90px;
  overflow: hidden;
  flex-shrink: 0;
  margin-right: 14px;
  border-radius: 4px;
}
.ultime-circ-img img,
.ultime-circ-img-placeholder {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: #e9ecef;
}
.ultime-circ-text {
  flex: 1;
  min-width: 0;
}
.ultime-circ-title {
  display: block;
  font-weight: 700;
  font-size: 0.88rem;
  color: #006B3D;
  text-decoration: none;
  line-height: 1.3;
  margin-bottom: 3px;
}
.ultime-circ-title:hover {
  text-decoration: underline;
  color: #004d2b;
}
.ultime-circ-data {
  font-size: 0.8rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 4px;
}
.ultime-circ-body {
  font-size: 0.78rem;
  color: #555;
  margin: 0;
  line-height: 1.4;
}
.ultime-circ-sep {
  border: none;
  border-top: 1px solid #e0e0e0;
  margin: 10px 0 8px 0;
}

/* === BLOCCO 4 CIRCOLARI === */
.circolari-quattro-wrapper {
  background: #f4f4f4;
  padding: 30px 20px 20px;
}
.circolari-quattro-titolo {
  text-align: center;
  font-size: 35pt;
  color: #454545;
  font-weight: 300;
  text-transform: uppercase;
  margin-bottom: 5px;
  width: 100%;
}
.circolari-quattro-row {
  margin-bottom: 20px;
}
.circolari-quattro-col {
  padding: 8px;
}

/* Card */
.circ-card {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.08);
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.circ-card-img {
  width: 100%;
  height: 200px;
  overflow: hidden;
  flex-shrink: 0;
  padding: 12px 12px 0 12px;
  box-sizing: border-box;
}
.circ-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 4px;
}
.circ-card-img-placeholder {
  width: 100%;
  height: 100%;
  background: #dee2e6;
}
.circ-card-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.circ-card-title {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  color: #006B3D;
  text-decoration: none;
  line-height: 1.4;
  margin-bottom: 6px;
}
.circ-card-title:hover {
  text-decoration: underline;
  color: #004d2b;
}
.circ-card-data {
  font-size: 0.82rem;
  font-weight: 700;
  color: #222;
  margin-bottom: 8px;
}
.circ-card-excerpt {
  font-size: 0.83rem;
  color: #555;
  line-height: 1.5;
  flex: 1;
  margin: 0 0 12px 0;
}
.circ-card-leggi {
  font-size: 0.85rem;
  color: #006B3D;
  font-weight: 500;
  text-decoration: none;
  margin-top: auto;
}
.circ-card-leggi:hover {
  text-decoration: underline;
}

/* Footer archivio */
.circolari-quattro-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  padding-top: 8px;
  font-size: 0.88rem;
  color: #555;
}
.circolari-archivio-link {
  color: #006B3D;
  text-decoration: none;
}
.circolari-archivio-link:hover { text-decoration: underline; }
.btn-circolari-archivio {
  background: #006B3D;
  color: #fff !important;
  border-radius: 20px;
  padding: 8px 24px;
  font-weight: 600;
  font-size: 0.88rem;
  text-decoration: none;
  border: none;
  white-space: nowrap;
}
.btn-circolari-archivio:hover {
  background: #004d2b;
  color: #fff !important;
}

/* === ALTEZZA PANNELLO = ALTEZZA SLIDER === */
.circolari-homepage-row {
  display: flex !important;
  align-items: stretch !important;
  min-height: 510px;
}
.circolari-slider-col {
  position: relative !important;
  min-height: 510px;
  padding: 0 !important;
}
.circolari-panel-col {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}
.ultime-circ-panel {
  flex: 1;
  min-height: 510px;
  overflow-y: auto;
}

@media (max-width: 991px) {
  .circolari-homepage-row { min-height: 330px; }
  .circolari-slider-col { min-height: 330px; }
  .ultime-circ-panel { min-height: 330px; }
}

/* === DISTANZA MENU - CONTENUTO === */
.grigioEsteso > .main-container {
  padding-top: 20px !important;
}

/* === MARGINI LATERALI SLIDER === */
.containerFlaeiSlider {
  width: calc(100% - 40px) !important;
  background: transparent !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.ultime-circ-panel { background: transparent !important; }

/* === ULTIME CIRCOLARI - RIEMPIMENTO ALTEZZA SLIDER === */
.ultime-circ-list {
  display: flex !important;
  flex-direction: column !important;
}
.ultime-circ-list .views-row {
  flex: 1;
  display: flex;
  align-items: center;
}
.ultime-circ-item {
  width: 100%;
  margin-bottom: 0 !important;
}
.ultime-circ-img {
  width: 110px !important;
  height: 120px !important;
}

/* === ULTIME CIRCOLARI - FIX IMMAGINI PROPORZIONI === */
.ultime-circ-img {
  width: 110px !important;
  height: 150px !important;
}
.ultime-circ-img img {
  object-fit: contain !important;
  background: #f0f0f0;
}

.ultime-circ-img { height: 130px !important; }

/* === SLIDER - TITOLO LINK BIANCO === */
.boxSlideTitle h5 a {
  color: #ffffff !important;
  text-decoration: none;
}
.boxSlideTitle h5 a:hover {
  color: #ffffff !important;
  text-decoration: underline;
}
