/*
 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)
   ========================================================================== */

/* 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;
      }
    }

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

@media (min-width: 1600px) {
html {
    max-width: 1600px;
    margin: 0 auto;
    position: relative;
}
}

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

/* Nasconde la barra degli strumenti per gli utenti non loggati */
 body:not(.logged-in) #wpadminbar {
     display: none;
 }
 
 /* Rimuove lo spazio che la barra crea in alto nel tema Divi */
 html, body.admin-bar, 
 body.admin-bar #page-container, 
 body.admin-bar #main-header {
     margin-top: 0 !important;
     top: 0 !important;
     padding-top: 0 !important;
 }
 
/* Nascondi l'elemento di default */
 a.logged {
     display: none;
 }
 
 /* Mostralo solo se il body ha la classe .logged-in */
  .logged-in a.logged {
      display: inline; /* o 'inline-block' / 'flex' a seconda del layout */
  }
 


/* ==========================================================================
   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)
   ========================================================================== */


/* ==========================================================================
   STILI PER COLONNE E SEZIONI (Modifiche di layout)
   ========================================================================== */

/* 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;
}

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

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

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

/* Abilita o 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-fade.mfp-bg.mfp-ready {
    opacity: 1;
    background-color: #00000091 !important;
    backdrop-filter: blur(100px);
}

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

/* ========================================
  GALLERY FLUIDA CON RIGHE ALTERNATE - Assegnare classe bento-gallery al modulo gallery
======================================== */

.et_pb_gallery_grid .et_pb_gallery_item {display:block!important}

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

/* 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);
}


/* 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 GRAVITY FORMS (Modifiche all'aspetto dei form)
   ========================================================================== */

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

body .gform_confirmation_wrapper .gform_confirmation_message {
    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: #777 !important;
}

.gform_button.button, .gform_next_button {
    border-width: 0px !important;
    border-color: #aaa !important;
    border-radius: 100px !important;
    font-size: 18px !important;
    text-transform: normal !important;
    background-color: #aaa !important;
    padding-top: 10px !important;
    padding-right: 35px !important;
    padding-bottom: 10px !important;
    padding-left: 35px !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 {
    filter: brightness(1.1);
}

.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 20px 0px #0000000a;
}

.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: #444 !important;
}

label.gform-field-label.gform-field-label--type-inline.gfield_consent_label a {
    color: #444 !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 */
}

/* ================================================================================================================================================
   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 (COLORI NEUTRI)
      ========================================================================== */
   
   /* Impostazioni generali del contenitore del menu mobile */
   ul#mobile_menu1, ul#mobile_menu2, ul#mobile_menu3 {
     background-color: rgba(255, 255, 255, 0.8) !important; /* neutro */
     backdrop-filter: blur(30px);
     position: fixed;
     overflow: hidden;
     padding-top: 40% !important;
   }
   
   /* Stili applicati al contenitore principale del menu mobile quando è aperto */
   body .mobile_nav.opened .et_mobile_menu {
       display: grid !important;
       align-content: baseline;
       gap: 20px;
   }
   
   /* Stile dei link (<a>) all'interno degli elementi di lista del menu mobile */
   .et_mobile_menu li a {
       font-weight: 700;
       text-transform: uppercase;
       font-size: 20px !important;
       color: #000000; /* nero */
       border-bottom: 0px solid rgba(0, 0, 0, 0.03);
   }
   
   /* Stile dei link sub menu del menu mobile */
   .et_mobile_menu .sub-menu li a {
       font-weight: 700;
       text-transform: uppercase;
       font-size: 18px !important;
       color: #000000; /* nero */
   }
   
   /* Sfondo (<a>) dei menu genitore */
   .et_mobile_menu .menu-item-has-children > a {
       background-color: transparent;
   }
   
   /* Stili per l'icona "hamburger" del menu mobile */
   .et_mobile_nav_menu:before,
   #et_mobile_nav_menu:before {
       content: '';
       position: absolute;
       color: #000000; /* nero */
       font-size: 16px;
   }
   
   .et_mobile_nav_menu:before {
       right: 40px;
       margin-top: 5px;
   }
   
   #et_mobile_nav_menu:before {
       right: 33px;
       bottom: 30px;
   }
   
   /* Modifica l'aspetto dell'icona hamburger quando il menu mobile è aperto */
   .mobile_nav.opened .mobile_menu_bar:before {
       content: '\4d';
       color: #000000 !important;
   }
   
   /* Impostazioni di layout e dimensioni del menu mobile */
   .et_mobile_menu {
       border-top: 0;
       min-width: 100vw;
       margin-left: 0vw;
       height: 100vh !important;
       min-height: -webkit-fill-available;
       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 */
   .et_mobile_menu li li,
   .et_mobile_menu li ul {
       padding-left: 0 !important;
   }
   
   /* Forza la visualizzazione a blocco del menu mobile quando è aperto */
   .mobile_nav.opened .et_mobile_menu {
       display: block !important;
   }
   
   /* 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 */
   span.mobile_menu_bar {
       z-index: 99999;
   }
   
   .mobile_nav.opened {
       position: fixed;
       right: 10%;
   }
   
/* ==========================================================================
      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: #000; /* 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: #000; /* Testo bianco */
          border: 1px solid #000; /* 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 #000!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;
      }
      
      /* Nasconde selettore lingue da shorcode menu lista */
      .list-menu .mobile-language-switcher {
          display: none !important;
      }
      
      
      /* 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 #000;
            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: #000; /* 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: #000; /* 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;
        }
      }