/*
 Theme Name:   Pensare Digitale
 Description:  #
 Author:       Pensare Digitale
 Author URI:   https://www.panese.it/
 Template:     Divi
 Version:      1.0.0
*/

/* ==========================================================================
   INIZIO STILI GENERALI (Modifiche di layout e base)
   ========================================================================== */

/* Imposta la larghezza massima del contenuto principale e lo centra orizzontalmente */
#main-content {
    max-width: 1600px;
    margin: auto;
}

/* Definisce altezza logo per browser firefox che necessita di un valore dichiarato */ 
   @-moz-document url-prefix() {
     .et_pb_menu__logo-wrap img {
       min-height: 90px;
     }
   }

/* Nasconde la sidebar (comune ad entrambi i file) */
#sidebar {
    display: none;
}

/* ==========================================================================
   STILI RESPONSIVE (Adattamento a diverse dimensioni schermo)
   ========================================================================== */

/*** Stili per Tablet e inferiori (larghezza massima 980px) ***/
@media all and (max-width: 980px) {
    /* Inverte l'ordine delle colonne in layout flessibili */
    .reverse-columns {
        display: flex;
        flex-direction: column-reverse;
    }
}

/*** Stili solo per Smartphone (larghezza massima 767px) ***/
@media all and (max-width: 767px) {

}

/*** Stili per Smartphone Portrait (larghezza massima 479px) ***/
@media all and (max-width: 479px) {
    /* Aumenta il padding e riduce la dimensione del font dei bottoni 
    a.et_pb_button {
        width: 100%;
    } */

    /* Modifiche al bottone dei gravity form su schermi piccoli */
    input#gform_submit_button_1 {
        border-radius: 15px;
        font-size: 18px;
        padding: 15px 35px;
        width: 100%;
    }
}

/* ==========================================================================
   STILI PER TITOLI E TESTO (Modifica dei font)
   ========================================================================== */

body {
       font-weight: 400;
   }
   
   h1, h2, h3, h4, h5, h6 {
       font-weight: 600;
   }

/* ==========================================================================
   STILI PER COLONNE E SEZIONI (Modifiche di layout)
   ========================================================================== */
   
   /* ========================================
       COLONNE STANDARD DIVI
    ======================================== */
   
   .layout-4-col {
     display: flex;
     flex-wrap: wrap;
     justify-content: space-between;
     gap: 20px;
     box-sizing: border-box;
   }
   
   .layout-4-col > .et_pb_column {
     float: none !important;
     width: calc(25% - 15px) !important;
     margin: 0 !important;
     box-sizing: border-box;
   }
   
   /* tablet: 2 colonne per riga */
   @media (max-width: 1050px) {
     .layout-4-col > .et_pb_column {
       width: calc(50% - 10px) !important;
     }
   }
   
   /* mobile: 1 colonna per riga */
   @media (max-width: 560px) {
     .layout-4-col > .et_pb_column {
       width: 100% !important;
     }
   }

/* ========================================
       STILI COMUNI PER TUTTI I LAYOUT BENTO
    ======================================== */
    
    /* =========================================================
       RESET COLONNE PER I VARI LAYOUT BENTO (DESKTOP)
       ========================================================= */
    
    /* ---------- Layout 1 colonna (Progetto Singolo) ---------- */
    .bento-layout-1 > .et_pb_column {
      float: none !important;
      width: auto !important;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: stretch;
      min-height: 450px; /* Altezza ottimizzata per valorizzare il singolo progetto */
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s ease;
    }
   
    /* ---------- Layout 4-1 ---------- */
    .bento-layout_4-1 > .et_pb_column {
      float: none !important;
      width: auto !important;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: stretch;
      min-height: 140px; /* esempio: più alto */
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s ease;
    }
    
    /* ---------- Layout 1-2 ---------- */
    .bento-layout_1-2 > .et_pb_column {
      float: none !important;
      width: auto !important;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: stretch;
      min-height: 140px;
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s ease;
    }
    
    /* ---------- Layout 2-1 ---------- */
    .bento-layout_2-1 > .et_pb_column {
      float: none !important;
      width: auto !important;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: stretch;
      min-height: 140px;
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s ease;
    }
    
    /* ---------- Layout 3 colonne ---------- */
    .bento-layout-3 > .et_pb_column {
      float: none !important;
      width: auto !important;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: stretch;
      min-height: 300px;
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s ease;
    }
    
    /* ---------- Layout 2 colonne larga + corta ---------- */
    .bento-layout-2-l-s > .et_pb_column {
      float: none !important;
      width: auto !important;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: stretch;
      min-height: 400px; /* esempio: più alto per colonne più ampie */
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s ease;
    }
    
    /* ---------- Layout 2 colonne corta + larga ---------- */
    .bento-layout-2-s-l > .et_pb_column {
      float: none !important;
      width: auto !important;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      align-items: stretch;
      min-height: 400px;
      flex-shrink: 0;
      box-sizing: border-box;
      transition: all 0.3s ease;
    }
    
    /* Stili comuni per tutti i container bento */
    .bento-layout_4-1,
    .bento-layout_1-2,
    .bento-layout_2-1,
    .bento-layout-3,
    .bento-layout-2-l-s,
    .bento-layout-2-s-l,
    .bento-layout-1 {
      display: grid;
      gap: 20px;
      align-items: stretch;
      box-sizing: border-box;
    }
    
    /* Moduli interni occupano tutto lo spazio della colonna */
    .bento-layout_4-1 > .et_pb_column .et_pb_module,
    .bento-layout_1-2 > .et_pb_column .et_pb_module,
    .bento-layout_2-1 > .et_pb_column .et_pb_module,
    .bento-layout-3 > .et_pb_column .et_pb_module,
    .bento-layout-2-l-s > .et_pb_column .et_pb_module,
    .bento-layout-2-s-l > .et_pb_column .et_pb_module,
    .bento-layout-1 > .et_pb_column .et_pb_module {
      width: 100%;
    }
    
    /* ========================================
       LAYOUT SPECIFICI
    ======================================== */
    
    /* ---------- Layout 1 colonna ---------- */
    .bento-layout-1 {
      grid-template-columns: 1fr;
    }
   
    /* ---------- Layout 4-1 (4 piccoli + 1 grande) ---------- */
    .bento-layout_4-1 {
      grid-template-columns: repeat(4, 1fr);
      grid-template-rows: repeat(2, 1fr);
    }
    
    /* Override justify-content per layout 4-1 */
    .bento-layout_4-1 > .et_pb_column {
      justify-content: flex-start;
    }
    
    /* Posizionamento dei primi 4 box (2x2) */
    .bento-layout_4-1 > .et_pb_column:nth-child(1) { grid-column: 1; grid-row: 1; }
    .bento-layout_4-1 > .et_pb_column:nth-child(2) { grid-column: 2; grid-row: 1; }
    .bento-layout_4-1 > .et_pb_column:nth-child(3) { grid-column: 1; grid-row: 2; }
    .bento-layout_4-1 > .et_pb_column:nth-child(4) { grid-column: 2; grid-row: 2; }
    
    /* Quinta colonna (grande) */
    .bento-layout_4-1 > .et_pb_column:nth-child(5) {
      grid-column: 3 / span 3;
      grid-row: 1 / span 2;
    }
    
    /* ---------- Layout 1-2 (1 grande + 2 piccoli) ---------- */
    .bento-layout_1-2 {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: repeat(2, 1fr);
    }
    
    .bento-layout_1-2 > .et_pb_column:nth-child(1) { grid-column: 1; grid-row: 1 / span 2; }
    .bento-layout_1-2 > .et_pb_column:nth-child(2) { grid-column: 2; grid-row: 1; }
    .bento-layout_1-2 > .et_pb_column:nth-child(3) { grid-column: 2; grid-row: 2; }
    
    /* ---------- Layout 2-1 (2 piccoli + 1 grande) ---------- */
    .bento-layout_2-1 {
      grid-template-columns: 1fr 1fr;
      grid-template-rows: repeat(2, 1fr);
    }
    
    .bento-layout_2-1 > .et_pb_column:nth-child(1) { grid-column: 1; grid-row: 1; }
    .bento-layout_2-1 > .et_pb_column:nth-child(2) { grid-column: 1; grid-row: 2; }
    .bento-layout_2-1 > .et_pb_column:nth-child(3) { grid-column: 2; grid-row: 1 / span 2; }
    
    /* ---------- Layout 3 colonne ---------- */
    .bento-layout-3 {
      grid-template-columns: 1fr 1fr 1fr;
    }
    
    /* ---------- Layout 2 colonne larga+corta ---------- */
    .bento-layout-2-l-s {
      grid-template-columns: 2fr 1fr;
    }
    
    /* ---------- Layout 2 colonne corta+larga ---------- */
    .bento-layout-2-s-l {
      grid-template-columns: 1fr 2fr;
    }
    
    /* ========================================
       RESPONSIVE: TABLET
    ======================================== */
    
    @media (max-width: 980px) {
      /* Layout 4-1 specifico per tablet */
      .bento-layout_4-1 {
        grid-template-columns: repeat(2, 1fr);
        grid-auto-rows: auto;
      }
    
      .bento-layout_4-1 > .et_pb_column:nth-child(1) { grid-column: 1; grid-row: 1; }
      .bento-layout_4-1 > .et_pb_column:nth-child(2) { grid-column: 2; grid-row: 1; }
      .bento-layout_4-1 > .et_pb_column:nth-child(3) { grid-column: 1; grid-row: 2; }
      .bento-layout_4-1 > .et_pb_column:nth-child(4) { grid-column: 2; grid-row: 2; }
      .bento-layout_4-1 > .et_pb_column:nth-child(5) {
        grid-column: 1 / -1;
        grid-row: auto;
      }
    }
    
    /* ========================================
       RESPONSIVE: MOBILE
    ======================================== */
    @media (max-width: 980px) {
      /* Reset posizionamento per tutti i layout su mobile */
       .bento-layout-3 > .et_pb_column,
       .bento-layout-2-l-s > .et_pb_column,
       .bento-layout-2-s-l > .et_pb_column,
       .bento-layout-1 > .et_pb_column {
         max-height: 350px;
         min-height: auto;
       }
            
       .bento-layout_1-2.project-box .et_pb_blurb, .bento-layout_2-1.project-box .et_pb_blurb {
           min-height: auto;
                   display: flex;
                   place-items: flex-end;
                   max-width: 300px;
                   padding-top: 30px;
       }
     }
    
    
    @media (max-width: 767px) {
      /* Regole comuni per mobile: tutti i layout diventano a colonna singola */
      .bento-layout_1-2,
      .bento-layout_2-1,
      .bento-layout-3,
      .bento-layout-2-l-s,
      .bento-layout-2-s-l,
      .bento-layout-1 {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
      }
    
      /* Layout 4-1 mantiene 2 colonne su mobile */
      .bento-layout_4-1 {
        grid-template-columns: repeat(2, 1fr);
      }
    
      /* Reset posizionamento per tutti i layout su mobile */
      .bento-layout_1-2 > .et_pb_column,
      .bento-layout_2-1 > .et_pb_column,
      .bento-layout-3 > .et_pb_column,
      .bento-layout-2-l-s > .et_pb_column,
      .bento-layout-2-s-l > .et_pb_column,
      .bento-layout-1 > .et_pb_column {
        grid-column: 1 !important;
        grid-row: auto !important;
        width: 100% !important;
        min-height: auto!important;
        height: 250px;
      }
    
      /* Layout 4-1 specifico per mobile */
      .bento-layout_4-1 > .et_pb_column {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        min-height: auto;
      }
    
      .bento-layout_4-1 > .et_pb_column:nth-child(5) {
        grid-column: 1 / -1;
      }
    }

   
   /* ========================================
      STILI SPECIFICI PROJECT-BOX
   ======================================== */
   
   /* Padding per tutti i box progetto */
   .project-box > .et_pb_column {
     padding: 25px;
   }
   
   /* Stili specifici per il testo nei project-box */
   .project-box .et_pb_text, .project-box .et_pb_blurb {
     min-height: 200px;
     display: flex;
     place-items: flex-end;
     max-width: 300px;
   }
   
   .project-box .et_pb_main_blurb_image {
    margin-bottom: 10px;
    max-width: 100%;
    width: 35px !important;
  }

  .project-info h3, .project-info p {padding-bottom: 5px;}
  
 .project-box .et_pb_column {
     filter: brightness(1.2);
     background-blend-mode: multiply;
 }
 
 .et_pb_section.hero {
     background-blend-mode: multiply;
 }
 
  .project-box .et_pb_column:hover {
      filter: brightness(1.6);
  }
  
  
  @media only screen and (max-width: 980px) {
      .single-project .et_pb_section_0.et_pb_section {
          padding-top: 30px;
          padding-bottom: 0px;
      }
  }

  /* ========================================
       ALTRI STILI COLONNE
    ======================================== */

/* Rende le colonne interne di un contenitore flessibili e le centra verticalmente */
.flexible-column > .et_pb_column {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* Centra gli elementi verticalmente e orizzontalmente (opzionale) */
.centra-verticale {
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ========================================
  GALLERY FLUIDA CON RIGHE ALTERNATE
======================================== */

.et_pb_gallery_grid .et_pb_gallery_item {
    display: none;
}

/* 1. Contenitore flessibile */
.bento-gallery .et_pb_gallery_items {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px;
}

/* 2. Stile degli item e delle immagini */
.bento-gallery .et_pb_gallery_item {
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
  float: none !important;
  flex-grow: 1;

  /* ===> QUI REGOLI L'ALTEZZA <=== */
  /* Modifica questo valore per cambiare l'altezza di tutte le immagini */
  height: 400px;
}
.bento-gallery .et_pb_gallery_image {
  height: 100%;
}
.bento-gallery .et_pb_gallery_image img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* Mantiene le proporzioni senza deformare l'immagine */
}

/* 3. NUOVO: Larghezze per righe alternate */
/* Riga 1 (grande|piccolo), Riga 2 (piccolo|grande), e così via */

/* Item grandi (1°, 4°, 5°, 8°...) */
.bento-gallery .et_pb_gallery_item:nth-child(4n + 1),
.bento-gallery .et_pb_gallery_item:nth-child(4n + 4) {
  flex-basis: calc(60% - 10px);
}
/* Item piccoli (2°, 3°, 6°, 7°...) */
.bento-gallery .et_pb_gallery_item:nth-child(4n + 2),
.bento-gallery .et_pb_gallery_item:nth-child(4n + 3) {
  flex-basis: calc(40% - 10px);
}

/* Nasconde gap da ultimo elemento */
.bento-gallery .et_pb_gallery_item.et_pb_grid_item.on_last_row:last-child {
    margin-right: -20px !important;
}

/* 4. Stile per Tablet */
@media (max-width: 980px) {

.bento-gallery .et_pb_gallery_item {
  height: 250px;
}
}

/* 4. Stile per Mobile */
@media (max-width: 767px) {
  .bento-gallery .et_pb_gallery_item,
  .bento-gallery .et_pb_gallery_item:nth-child(4n + 1),
  .bento-gallery .et_pb_gallery_item:nth-child(4n + 4),
  .bento-gallery .et_pb_gallery_item:nth-child(4n + 2),
  .bento-gallery .et_pb_gallery_item:nth-child(4n + 3) {
    flex-basis: 100%;
  }
  .bento-gallery .et_pb_gallery_item {
    height: 100%;
  }
}



/* ==========================================================================
   STILI PER BOTTONI (Modifiche di visualizzazione)
   ========================================================================== */

/* Rende i moduli bottone inline */
.de-inline-buttons .et_pb_button_module_wrapper {
    display: inline-block;
}

.de-inline-buttons {
    text-align: center !important;
}



/* ==========================================================================
 STILI PER GALLERY
 ========================================================================== */

.et_pb_gallery_image--hidden {
   display: none !important;
 }
 .et_pb_gallery_more_notice {
   text-align: center;
   margin-top: 5px;
   font-size: 14px;
 }
 .et_pb_gallery_more_notice a {
   display: inline-block;
   cursor: pointer;
   text-decoration: none;
   font-family: inherit;
   font-weight: 500;
   letter-spacing: 0.5px;
   color: #5e7c9a;
   text-decoration: underline;
   transition: color 0.25s ease, border-color 0.25s ease;
 }
 .et_pb_gallery_more_notice a:hover {
   color: #18517A;
 }
 
 /* ===== TABLET (Divi: fino a 980px) ===== */
 @media (max-width: 980px) {
   .et_pb_gallery_more_notice {
     margin-top: 5px;
   }
   .et_pb_gallery_more_notice a {
     font-size: 14px;
   }
 }
 
 /* ===== MOBILE (allineato al MOBILE_BREAKPOINT del JS: 767px) ===== */
 @media (max-width: 767px) {
   .et_pb_gallery_more_notice {
     margin-top: -60px;
   }
   .et_pb_gallery_more_notice a {
     font-size: 12px;
     letter-spacing: 0.3px;
   }
 }

/* ==========================================================================
   STILI PER DIVI SLIDER (Modifiche specifiche)
   ========================================================================== */

/* Disabilita la lightbox per le immagini landscape nelle gallerie */
.et_pb_gallery_image a {
    /*pointer-events: none;*/
}

.mfp-title {
    display: none;
}

.mfp-counter {
    display: none;
}

img.mfp-img {
max-height: 90vh !important;
}

.mfp-figure:after {
    -webkit-box-shadow: none;
    box-shadow: none;
}

.mfp-bg {
    opacity: 1;
    background-color: #ffffff91 !important;
    backdrop-filter: blur(100px);
}

button.mfp-arrow, button.mfp-close {
    filter: invert(1) drop-shadow(0px 0px 40px white);
}

/* ==========================================================================
   STILI PER GRAVITY FORMS (Modifiche all'aspetto dei form)
   ========================================================================== */

/* Nasconde il titolo del form */
.gform_heading {
    display: none;
}

div#gform_confirmation_message_1 {
    background: #fff;
    padding: 2em;
    text-align: center;
}

.gform_wrapper.gravity-theme .gform_validation_errors:focus {
    outline: 0px solid #999;
    outline-offset: 0px;
}

/* Nasconde label nome e cognome */
.name_first label, .name_last label {
    display: none !important;
}

.gform_wrapper.gravity-theme input::placeholder, 
.gform_wrapper.gravity-theme *, 
.gform_wrapper.gravity-theme textarea::placeholder {
    color: #221f20 !important;
}

.gform_button.button, .gform_next_button {
    border-width: 0px !important;
    border-color: #18517a !important;
    border-radius: 100px !important;
    font-size: 14px !important;
    text-transform: uppercase !important;
    background-color: #18517a !important;
    padding-top: 10px !important;
    padding-right: 25px !important;
    padding-bottom: 10px !important;
    padding-left: 25px !important;
    color: #fff !important;
    font-weight: 600 !important;
    border-style: solid !important;
    line-height: 1.7em !important;
}

.gform_button.button:hover, .gform_next_button:hover {
    background-color: #5e7c9a !important;
}

.gform_wrapper.gravity-theme input[type=color], 
.gform_wrapper.gravity-theme input[type=date], 
.gform_wrapper.gravity-theme input[type=datetime-local], 
.gform_wrapper.gravity-theme input[type=datetime], 
.gform_wrapper.gravity-theme input[type=email], 
.gform_wrapper.gravity-theme input[type=month], 
.gform_wrapper.gravity-theme input[type=number], 
.gform_wrapper.gravity-theme input[type=password], 
.gform_wrapper.gravity-theme input[type=search], 
.gform_wrapper.gravity-theme input[type=tel], 
.gform_wrapper.gravity-theme input[type=text], 
.gform_wrapper.gravity-theme input[type=time], 
.gform_wrapper.gravity-theme input[type=url], 
.gform_wrapper.gravity-theme input[type=week], 
.gform_wrapper.gravity-theme select, 
.gform_wrapper.gravity-theme textarea {
    width: 100%;
    padding-top: 15px;
    padding-right: 15px;
    padding-bottom: 15px;
    padding-left: 15px;
    background-color: #fff;
    border: 0px solid;
    font-size: 16px;
    box-shadow: 0px 0px 0px 0px #0000000a;
    border-radius: 8px;
}

.gform_wrapper.gravity-theme .ginput_complex {
    display: flex;
    flex-flow: row wrap;
    row-gap: 15px;
}

.gform_wrapper.gravity-theme .ginput_complex span {
    margin-bottom: 0px;
}

label.gform-field-label.gform-field-label--type-inline.gfield_consent_label {
    font-size: 15px;
    line-height: 13px;
    color: #221f20 !important;
}

label.gform-field-label.gform-field-label--type-inline.gfield_consent_label a {
    color: #221f20 !important;
}

label.gform-field-label.gform-field-label--type-inline.gfield_consent_label a:hover {
    text-decoration: none !important;
}

.gform_wrapper.gravity-theme .gfield_required {
    display: none;
}

/*--Cambia la freccia di default--*/
.gform_wrapper.gravity-theme select {
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 0.8rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 140 140'%3E%3Cpath d='M20 50l50 50 50-50' stroke='%23777' stroke-width='15' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}

select::-ms-expand {
    display: none; /* nasconde la freccia di IE */
}

/*-- Form Careers--*/
.gform_fileupload_rules{
  display: none !important;
}

/* ================================================================================================================================================
   STILI PER POPUP CUSTOM - funzionamento inserire lightbox-trigger-nomecustom nel pulsante e lightbox-content-nomecustom nel contenuto da attivare
   ================================================================================================================================================ */

/****** Lightbox Styling *******/
[class*="lightbox-trigger-"] {cursor:pointer;}
[class*="lightbox-content-"] {position:relative; z-index: unset !important;}
[class*="lightbox-content-"] .mfp-close {color:#999999 !important;}
[class*="lightbox-content-"] .mfp-close:active {top:0px !important;}


/* ==========================================================================
   STILI PER HEADER, MENU E FOOTER (Modifiche alla navigazione)
   ========================================================================== */

/* Regola il padding orizzontale degli elementi del menu principale */
.et_pb_menu .et-menu>li {
    padding-left: 20px;
    padding-right: 20px;
}

/* Modifica la posizione del sottomenu desktop
.et_pb_menu .et_pb_menu__menu > nav > ul > li > ul {
    top: calc(100% - 25px);
    right: 10px;
    left: auto;
}
*/

/* Modifica la posizione del sottomenu (sticky) desktop
.et_pb_sticky .et_pb_menu .et_pb_menu__menu > nav > ul > li > ul {
    top: calc(100% - 15px);
    right: 10px;
    left: auto;
}
*/

/* Stile del contenitore del sottomenu
.et_pb_menu_0_tb_header.et_pb_menu .nav li ul {
    border-radius: 15px;
} */

/* Disabilita l'effetto hover sul logo */
.et-menu .et_pb_menu__logo a:hover {
    opacity: 1;
}

/* ==========================================================================
   MOBILE MENU STYLES
   ========================================================================== */

/* Impostazioni generali del contenitore del menu mobile (ul#mobile_menu2) questo si può fare direttamente da theme builder */
ul#mobile_menu1 {
    /* Imposta il colore di sfondo del menu mobile */
    background-color: #fff;
    padding-top: 40% !important;
}

/* Stili applicati al contenitore principale del menu mobile (.et_mobile_menu) quando è aperto */
body .mobile_nav.opened .et_mobile_menu {
    /* Imposta la visualizzazione degli elementi interni come una griglia */
    display: grid !important;
    /* Allinea il contenuto degli elementi della griglia al centro */
    align-content: baseline;
    /* Imposta uno spazio di 20px tra le righe e le colonne della griglia */
    gap: 20px;
}

/* Stile dei link (<a>) all'interno degli elementi di lista (<li>) del menu mobile */
.et_mobile_menu li a {
    /* Imposta il peso del font a bold (700) */
    font-weight: 700;
    /* Trasforma il testo in maiuscolo */
    text-transform: uppercase;
    /* Imposta la dimensione del font a 25px */
    font-size: 20px !important;
    /* Imposta il colore del testo*/
    color: #000000;
	border-bottom: 0px solid rgba(0, 0, 0, .03);
}

/* Stile dei link (<a>) sub menu del menu mobile */
.et_mobile_menu .sub-menu li a {
    /* Imposta il peso del font a bold (700) */
    font-weight: 700;
    /* Trasforma il testo in maiuscolo */
    text-transform: uppercase;
    /* Imposta la dimensione del font a 25px */
    font-size: 16px!important;
    /* Imposta il colore del testo */
    color: #000000;
}

/* Sfondo (<a>) vove menu genitore */
	.et_mobile_menu .menu-item-has-children>a {
    background-color: transparent;
}

/* Stili per l'icona "hamburger" del menu mobile */

/* Aggiunge un contenuto vuoto (utilizzato per personalizzare l'aspetto) prima dell'icona hamburger */
.et_mobile_nav_menu:before,
#et_mobile_nav_menu:before {
    content: '';
    /* Posiziona l'elemento in modo assoluto all'interno del suo contenitore relativo */
    position: absolute;
    /* Imposta il colore dell'elemento (potrebbe essere un testo o un simbolo) */
    color: #000;
    /* Imposta la dimensione del font dell'elemento */
    font-size: 16px;
}

/* Posizionamento specifico dell'elemento :before per .et_mobile_nav_menu */
.et_mobile_nav_menu:before {
    /* Sposta l'elemento di 40px dal bordo destro */
    right: 40px;
    /* Sposta l'elemento di 5px dal bordo superiore */
    margin-top: 5px;
}

/* Posizionamento specifico dell'elemento :before per #et_mobile_nav_menu */
#et_mobile_nav_menu:before {
    /* Sposta l'elemento di 33px dal bordo destro */
    right: 33px;
    /* Sposta l'elemento di 30px dal bordo inferiore */
    bottom: 30px;
}

/* Modifica l'aspetto dell'icona hamburger quando il menu mobile è aperto */
.mobile_nav.opened .mobile_menu_bar:before {
    /* Cambia il contenuto dell'elemento :before in un carattere specifico ('\4d' è spesso usato per una "X") */
    content: '\4d';
    /* Imposta il colore dell'icona a nero */
    color: #000 !important;
}

/* Impostazioni di layout e dimensioni del menu mobile */

/* Stili applicati al contenitore principale del menu mobile (.et_mobile_menu) */
.et_mobile_menu {
    /* Rimuove il bordo superiore predefinito */
    border-top: 0;
    /* Imposta la larghezza minima al 100% della viewport (larghezza della finestra del browser) */
    min-width: 100vw;
    /* Sposta il menu di -10vw a sinistra (potrebbe essere per coprire completamente lo schermo) */
    margin-left: -10vw;
    /* Imposta l'altezza minima al 100% della viewport height */
    min-height: 100vh !important;
    /* Imposta l'altezza minima disponibile (utile per alcuni browser mobile) */
    min-height: -webkit-fill-available;
    /* Rimuove il padding superiore predefinito */
    padding-top: 0px !important;
}


/* Allinea il testo degli elementi di lista del menu mobile al centro */
.et_mobile_menu li {
    text-align: center !important;
}

/* Rimuove il padding a sinistra per i sottomenu all'interno del menu mobile */
.et_mobile_menu li li,
.et_mobile_menu li ul {
    padding-left: 0 !important;
}

/* Forza la visualizzazione a blocco del menu mobile quando è aperto (potrebbe sovrascrivere animazioni) */
.mobile_nav.opened .et_mobile_menu {
    display: block !important;
}

/* Altre modifiche specifiche per la visualizzazione del menu */

/* Applica un padding del 5% e posiziona il menu mobile leggermente in alto */
.et_pb_menu .et_mobile_menu {
    top: -30px;
    padding: 5%;
}

/* Imposta un valore di z-index molto alto per assicurare che la barra del menu mobile sia sempre sopra gli altri elementi */
span.mobile_menu_bar {
    z-index: 99999;
}

/* ==========================================================================
   STILE SELETTORE MENU WPML
   ========================================================================== */
   
/* Desktop: in alto a destra */
@media (min-width: 981px) {
  
  li.menu-item.wpml-ls-item { /* Questa regola potrebbe essere specifica di un altro selettore WPML, la lascio */
    display: none!important;
  }
  
  #custom-language-switcher { /* Selettore Desktop (dropdown) */
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 9999;
    width: 55px; /* Considera se 'auto' potrebbe essere meglio con scale */
    font-size: 14px;
    color: #000; /* Colore testo di fallback, WPML solitamente lo gestisce */
    transform: scale(0.7); /* Rende il selettore più piccolo */
  }

  /* Stili generali per il selettore desktop (non homepage) */
  #custom-language-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-current-language:hover > a,
  #custom-language-switcher .wpml-ls-legacy-dropdown-click a:focus,
  #custom-language-switcher .wpml-ls-legacy-dropdown-click a:hover {
    color: #fff; /* Testo bianco su hover/focus */
    background: transparent; /* 'transparent' era scritto 'tranparent' */
  }

  #custom-language-switcher .wpml-ls-legacy-dropdown-click a {
    display: block;
    text-decoration: none;
    color: #ffffff; /* Testo bianco */
    border: 1px solid #ffffff; /* Bordo bianco */
    background-color: transparent !important;
    padding: 4px 10px 6px 10px;
    line-height: 13px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 13px;
  }
  
  #custom-language-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-sub-menu {
    border-top: 0px solid #cdcdcd!important; /* Nessun bordo superiore per il sottomenu desktop */
  }

  #custom-language-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-item {
    margin-top: -1px; /* Leggera sovrapposizione per gli item del dropdown */
  }

  /* Nasconde il selettore mobile su schermi grandi */
  li.mobile-language-switcher {
    display: none !important;
  }
}

/* Stile globale per i link del dropdown WPML (potrebbe essere ereditato o sovrascritto) */
.wpml-ls-legacy-dropdown-click a { /* Questa regola era un po' isolata, verifica se serve globalmente o solo dentro #custom-language-switcher */
  background-color: transparent;
}


/* Mobile: Selettore lingue in linea dentro il menu */
@media (max-width: 980px) {
  /* Nasconde il selettore desktop su schermi piccoli */
  #custom-language-switcher {
    display: none;
  }

  /* Mostra e formatta il contenitore del selettore mobile */
  li.mobile-language-switcher {
    display: block !important; /* Assicura la visibilità sovrascrivendo regole desktop */
    width: 100%;
    padding: 10px 0; /* Spaziatura sopra/sotto il blocco lingue */
    order: 99; /* Se usi flexbox per il menu mobile, per spingerlo in fondo */
  }

  li.mobile-language-switcher:before {
      content: '';
      border-top: 1px solid #fff;
      width: 10%;
      display: block;
      margin: 20px auto;
      padding-bottom: 10px;
  }

  /* Contenitore principale dello shortcode WPML dentro il selettore mobile */
  .mobile-language-switcher .wpml-ls-statics-shortcode_actions {
    width: 100%;
  }

  /* Lista UL principale di WPML (livello 0) */
  .mobile-language-switcher .wpml-ls-statics-shortcode_actions > ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex; /* Allinea il suo figlio (li.wpml-ls-item-legacy-dropdown-click) */
    justify-content: center; /* Centra il blocco delle lingue */
    width: 100%;
  }

  /* L'elemento <li> (livello 1) che contiene la lingua attiva E il sottomenu delle altre lingue */
  .mobile-language-switcher .wpml-ls-item-legacy-dropdown-click { /* Rimosso "> ul >" per maggiore flessibilità se la struttura WPML cambia leggermente */
    display: flex; /* I suoi figli (link lingua attiva e sottomenu ul) si disporranno in linea */
    flex-wrap: wrap; /* Permette alle lingue di andare a capo se non c'è abbastanza spazio */
    justify-content: center; /* Centra le lingue all'interno di questo contenitore */
    align-items: center; /* Allinea verticalmente gli elementi */
    width: auto; /* Adatta la larghezza al contenuto */
  }

  /* Link della lingua attiva (es. "English") */
  .mobile-language-switcher .wpml-ls-item-legacy-dropdown-click > a.js-wpml-ls-item-toggle {
    display: inline-block;
    padding: 5px 8px !important; /* Spaziatura e !important per sovrascrivere il 5% */
    margin: 2px 3px; /* Margine tra le lingue */
    text-decoration: none;
    border: none !important; /* Rimuovi bordi */
  }

  /* Nasconde la freccetta del dropdown (già presente nel tuo CSS) */
  .mobile-language-switcher .wpml-ls-legacy-dropdown-click a.wpml-ls-item-toggle:after {
    display: none !important;
  }

  /* Sottomenu <ul> (livello 2) che contiene le altre lingue */
  .mobile-language-switcher .wpml-ls-item-legacy-dropdown-click > ul.js-wpml-ls-sub-menu {
    display: flex !important; /* Forza la visualizzazione e usa flex per i suoi <li> */
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    position: static !important; /* Sovrascrive position:absolute */
    border: none !important; /* Sovrascrive bordi specifici del dropdown */
    background-color: transparent !important;
    box-shadow: none !important;
    width: auto !important;
  }

  /* Elementi <li> (livello 3) individuali dentro il sottomenu */
  .mobile-language-switcher .js-wpml-ls-sub-menu > li.wpml-ls-item {
    display: inline-block; /* O lascia che flex li gestisca */
    padding: 0;
    margin: 0; /* Il margine sarà sui link <a> */
  }

  /* Link <a> finali per ciascuna lingua (sia attiva che nel sottomenu) */
  .mobile-language-switcher .wpml-ls-legacy-dropdown-click .wpml-ls-link {
    display: inline-block;
    padding: 5px 8px !important; /* Spaziatura e !important per sovrascrivere il 5% */
    margin: 2px 3px; /* Margine tra le lingue */
    text-decoration: none;
    border: none !important; /* Rimuovi bordi */
  }
  
  /* Stile del testo per le lingue (unificato) */
  .mobile-language-switcher .wpml-ls-legacy-dropdown-click a span.wpml-ls-native {
    font-weight: 500 !important;
    text-transform: uppercase !important;
    font-size: 14px !important; /* Leggermente più piccolo per stare meglio in linea, puoi aggiustare */
    color: #fff; /* Colore testo, adatta se necessario */
  }
  
  li.mobile-language-switcher a {
      font-weight: 500 !important;
      text-transform: uppercase !important;
      font-size: 14px !important; /* Leggermente più piccolo per stare meglio in linea, puoi aggiustare */
      color: #fff; /* Colore testo, adatta se necessario */
  }

  /* Regola originale per il background del menu mobile Divi, la mantengo */
  body .et_pb_menu_1_tb_header.et_pb_menu .et_mobile_menu ul, body .et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu ul {
    background-color: transparent !important;
  }
}
