/* ============================================================
   Stili del FOOTER (footer.php)
   ============================================================ */

footer {
   margin: 0 1.389vw 1.389vw 1.389vw;
   padding: 5.556vw 5.556vw 4.167vw 5.556vw;
   min-height: 627px;
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   background-color: var(--nero);
   border-radius: 16px;
}

.footer_top {
   display: flex;
   flex-direction: row;
   justify-content: space-between;
}

.footer_top_sx {
   display: flex;
   flex-direction: column;
   gap: 3.125vw;
   width: 50%;
}

.footer_top_sx_loghi {
   width: 30vw;
   display: inline-block;
   vertical-align: middle;
}

.footer_top_sx_loghi>img {
   height: 1.806vw;
   width: auto;
   object-fit: contain;
   /* Rende OGNI logo una sagoma grigia uniforme rispettando la trasparenza:
      brightness(0) => pixel opachi neri; invert(...) => li schiarisce a grigio. */
   filter: brightness(0) invert(0.7);
   padding: 0 1.806vw 1.806vw 0;
}

/* Il logo UNI/ISO e' otticamente piu' piccolo degli altri: lo alziamo un po'. */
.footer_top_sx_loghi>img.logo_iso {
   height: 2.361vw;
}

.footer_top_dx {
   width: 50%;
   display: flex;
   flex-direction: row;
   gap: 4.861vw;
   justify-content: space-between;
}

.footer_top_dx_inside {
   display: flex;
   flex-direction: row;
   gap: 4.861vw;
   justify-content: space-between;
}

.footer_top_sx_menu {
   display: flex;
   flex-direction: column;
   gap: 1.667vw;
}

/* Blocchi sede nel footer (Bergamo, Monza): un po' di stacco tra loro. */
.footer_sede {
   margin-bottom: 1.389vw;
}

.footer_logo {
   width: 14vw;
}

.footer_bottom {
   display: flex;
   flex-direction: column;
   gap: 1.389vw;
}

/* DESKTOP: tutti i loghi su UNA riga, distribuiti con space-between (nessun gap fisso).
   I due div interni usano display:contents => spariscono dal layout e i loro <img>
   diventano figli diretti di .footer_bottom_sx, quindi lo space-between li spazia tutti. */
.footer_bottom_sx {
   display: flex;
   flex-direction: row;
   width: fit-content;
   justify-content: space-between;
   align-items: center;
   gap: 3.4722vw;
}

.footer_bottom_sx_dx,
.footer_bottom_sx_sx {
   display: contents;
}

.footer_bottom_sx>img,
.footer_bottom_sx_dx>img,
.footer_bottom_sx_sx>img {
   width: auto;
   /* annulla i 18.472vw ereditati da .footer_logo */
   height: 2.222vw;
   /* i loghi si dimensionano per altezza, largh. proporzionale */
}

.footer_bottom_dx {
   display: flex;
   padding-top: 1.389vw;
   flex-direction: row;
   border-top: 1px solid #595959;
   display: flex;
   width: 100%;
   justify-content: space-between;
   flex-direction: row;
}

.footer_bottom_dx_sx {
   display: flex;
   flex-direction: row;
   width: 33%;
}



.footer_bottom_dx_sx>div {
   width: 50%;
}

.footer_bottom_dx_dx {
   display: flex;
   flex-direction: row;
   width: 33%;
   justify-content: space-between;
}

.footer_bottom_dx_dx> :first-child,
.footer_bottom_dx_centro {
   display: flex;
   flex-direction: row;
   gap: 2.083vw;
}

.footer_bottom_dx_centro {
   width: 33%;
}

.footer_bottom_dx_dx:first-child>a {
   width: fit-content;
}

@media screen and (max-width: 750px) {
   footer {
      margin: 0 2.564vw 2.564vw 2.564vw;
      padding: 8.205vw 6.154vw;
      gap: 15.385vw;
      min-height: 373px;
   }

   .footer_top {
      flex-direction: column;
      gap: 11.282vw;
   }

   .footer_top_sx {
      width: 100%;
      gap: 7.6923vw;
   }

   .footer_logo {
      width: 38.205vw;
   }

   .footer_top_sx_loghi {
      width: 100%;
   }

   .footer_top_sx_loghi>img {
      height: 5.897vw;
      padding: 0 3.077vw 2.051vw 0
   }

   .footer_top_sx_loghi>img.logo_iso {
      height: 7.692vw;
   }

   .footer_top_dx {
      flex-direction: column;
      gap: 11.795vw;
      width: 100%;
   }

   .footer_top_dx_inside {
      flex-direction: row;
      gap: 11.795vw;
      width: 100%;
   }

   .footer_top_dx_inside>.footer_top_sx_menu {
      width: 50%;
   }

   .footer_top_sx_menu {
      gap: 3.077vw;
   }

   .footer_bottom {
      gap: 15.385vw;
   }

   .footer_bottom_dx {
      width: 50%;
      gap: 1.282vw;
      flex-direction: column;
      padding-top: 0;
      border: none;
   }

   .footer_bottom_dx_sx,
   .footer_bottom_dx_dx,
   .footer_bottom_dx_dx> :first-child {
      flex-direction: column;
      gap: 1.282vw;
      width: 100%;

   }

   .footer_bottom_dx_sx>div {
      width: 100%;
      gap: 0;
   }

   /* MOBILE: i due gruppi tornano colonne impilate (annulla il display:contents desktop). */
   .footer_bottom_sx {
      flex-direction: row;
      justify-content: space-between;
      align-items: start;
   }

   .footer_bottom_sx_dx,
   .footer_bottom_sx_sx {
      display: flex;
      flex-direction: column;
      width: 50%;
      gap: 5.128vw;
      align-items: start;
   }

   .footer_bottom_sx_dx>img,
   .footer_bottom_sx_sx>img {
      height: 7.179vw;
   }

}