.elementor-kit-6{--e-global-color-primary:#000000;--e-global-color-secondary:#54595F;--e-global-color-text:#7A7A7A;--e-global-color-accent:#61CE70;--e-global-color-c95d683:#CCF82C;--e-global-color-e73861a:#FFFFFF;--e-global-typography-primary-font-family:"Poppins";--e-global-typography-primary-font-weight:normal;--e-global-typography-primary-font-style:normal;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;color:var( --e-global-color-primary );}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1040px;}.e-con{--container-max-width:1040px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header{padding-inline-end:0px;padding-inline-start:0px;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* Nascondi il titolo "Home" (front-end + editor) */
h1.entry-title,
.elementor-page-title,
.elementor-editor-active .entry-title { display: none !important; }

/* Base pulita */
html { 
  margin: 0;
  scroll-behavior: smooth !important; /* FIX: scroll fluido sempre attivo */
}

body {
  background: transparent !important;
  margin: 0;
  min-height: 100vh; /* Cambiato da height: 100% per evitare tremolio */
  overflow-x: hidden;
  overflow-y: visible; /* Importante per evitare il taglio dei contenuti */
  position: relative;
}

/* ===== BACKGROUND GLOBALE con gradiente + texture ===== */

/* Gradiente di base */
body::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw; /* Usa viewport width */
  height: 100vh; /* Usa viewport height */
  z-index: -2;
  pointer-events: none;
  background-image: url("https://herenow.unint.eu/wp-content/uploads/2025/08/bg_gradiente_1920.webp");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: scroll; /* Cambiato da fixed per evitare tremolii */
  transform: translateZ(0); /* Force GPU acceleration */
  will-change: transform; /* Ottimizza rendering */
}

/* Texture sopra al gradiente */
body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw; /* Usa viewport width */
  height: 100vh; /* Usa viewport height */
  z-index: -1;
  pointer-events: none;
  background-image: url("https://herenow.unint.eu/wp-content/uploads/2025/09/texture_overlay_ok_square.webp");
  background-repeat: repeat; /* Ripeti per coprire tutto */
  background-position: center center;
  background-size: 800px 800px; /* MOLTO PIÙ GRANDE: texture visibile su desktop */
  opacity: .30;
  mix-blend-mode: soft-light;
  transform: translateZ(0); /* Force GPU acceleration */
  will-change: transform; /* Ottimizza rendering */
}

/* Contenuti sopra agli overlay */
#page,
.site,
.elementor {
  position: relative;
  z-index: 1; /* Ridotto da 2 */
  transform: none !important; /* Rimosso translateZ che causava problemi */
}

/* Fix per contenuti che tremano/spariscono */
.elementor-section,
.elementor-widget {
  transform: none !important; /* Rimosso translate3d */
  will-change: auto;
}

/* Fix specifico per sezioni con animazioni */
.elementor-section.elementor-section-animated {
  will-change: transform;
  transform: translate3d(0,0,0); /* Solo per sezioni animate */
}

/* Header sticky con overflow visibile per le ombre */
.elementor-location-header {
  position: sticky !important;
  position: -webkit-sticky !important; /* Safari iOS */
  z-index: 9999 !important;
  top: 0 !important;
  overflow: visible !important;
}

.elementor-sticky--effects {
  position: sticky !important;
  position: -webkit-sticky !important; /* Safari iOS */
  z-index: 9999 !important;
  top: 0 !important;
  overflow: visible !important;
  pointer-events: auto !important;
  transform: none !important;
}

/* FIX SPECIFICO MOBILE per header sticky */
@media (max-width: 767px) {
  .elementor-location-header,
  .elementor-sticky--effects,
  header.elementor-sticky--effects {
    position: fixed !important;
    position: -webkit-fixed !important;
    width: 100% !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
    /* Rimuovo background forzato */
  }
  
  /* RIMUOVO il padding che causava la fascia bianca */
  
  /* Se c'è una classe specifica per quando è sticky */
  .elementor-sticky--active {
    position: fixed !important;
    width: 100% !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
  }
}

/* FIX: Assicura che il menu mobile sia sopra tutto */
.elementor-nav-menu__container,
.elementor-nav-menu--dropdown {
  z-index: 10000 !important; /* Sopra header ma sotto fullscreen */
  overflow: visible !important;
}

/* Mobile menu fix */
@media (max-width: 767px) {
  .elementor-nav-menu--dropdown {
    position: absolute !important;
    width: 100vw !important;
    left: 0 !important;
    top: 100% !important;
    z-index: 10000 !important;
  }
}

/* Sezioni trasparenti per vedere lo sfondo */
.page .elementor-section { background: transparent !important; }

/* Desktop (già centrato) */
body::before {
  background-position: center center;
  background-size: cover;
}

/* Tablet */
@media (max-width: 1024px) {
  body::before {
    background-position: 60% 50%;
    background-size: cover;
  }
  
  /* Texture leggermente più piccola su tablet */
  body::after {
    background-size: 600px 600px; /* Dimensione intermedia per tablet */
  }
}

/* Mobile large (<=768px) */
@media (max-width: 768px) {
  body::before {
    background-position: 65% 50%;
    background-size: cover;
  }
}

/* Mobile portrait (<=480px) */
@media (max-width: 480px) {
  body::before {
    background-position: center center;
    background-size: cover;
    background-attachment: scroll; /* Importante per iOS */
  }
  
  /* Texture molto più grande anche su mobile */
  body::after {
    background-size: 500px 500px; /* MOLTO PIÙ GRANDE: era 250px, ora 500px */
    background-repeat: repeat; /* Ripeti per coprire tutto */
  }
}

/* Fix per iOS/Safari specifici */
@supports (-webkit-touch-callout: none) {
  body::before,
  body::after {
    position: fixed;
    background-attachment: scroll;
    -webkit-transform: translateZ(0);
    -webkit-backface-visibility: hidden;
  }
}

/* ===================== STILI COMPONENTI ===================== */

.box-style {
  background: #fff;
  border: 2px solid #000;
  padding: 12px 24px;
  display: inline-block;
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 400;
  box-shadow: -20px 20px 0 #000; 
}

/* Tablet */
@media (max-width: 1024px) {
  .box-style {
    padding: 10px 20px;
    font-size: 16px;
    box-shadow: -15px 15px 0 #000; 
  }
}

/* Mobile */
@media (max-width: 767px) {
  .box-style {
    padding: 8px 16px;
    font-size: 14px;
    box-shadow: -10px 10px 0 #000; 
  }
}

/* Allineamento testo */
.box--center { text-align: center; }
.box--left { text-align: left; }

/* Tipologie di contenuto */
.box--title {
  font-weight: 600;
  font-size: clamp(22px, 2.2vw, 28px);
  letter-spacing: .2px;
}
.box--para {
  font-size: clamp(16px, 1.6vw, 18px);
  line-height: 1.6;
  max-width: 70ch;
}

/* Larghezza */
.box--full { display: block; width: 100%; }
.box--tight { padding: 8px 14px; }
.box--wide { padding: 16px 28px; }

:root { --header-h: 96px; }
[id] { scroll-margin-top: var(--header-h); }

/* Titolo sezione */
.box-title {
  background: #fff;
  border: 2px solid #000;
  padding: 12px 32px;
  font-family: 'Poppins', sans-serif;
  font-size: 30px;
  font-weight: 700;
  text-transform: uppercase;
  display: inline-block;
  box-shadow: -20px 20px 0 #000;
}

/* Box contenuto (senza box-shadow, gestita dal sistema unificato) */
.box-content {
  background: #fff;
  border: 2px solid #000;
  padding: 30px;
  margin-top: 30px;
}

@media (max-width: 1024px) {
  .box-title {
    font-size: 24px;
    padding: 10px 24px;
    box-shadow: -15px 15px 0 #000;
  }
}

@media (max-width: 767px) {
  .box-title {
    font-size: 20px;
    padding: 8px 20px;
    box-shadow: -10px 10px 0 #000;
  }
}

/* Box descrittivi Mission & Vision */
.box-para {
  background: #fff;
  border: 2px solid #000;
  padding: 20px 24px;
  font-family: 'Poppins', sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.6;
  color: #000;
  box-shadow: -20px 20px 0 #000;
  text-align: left;
  display: block;
}

@media (max-width: 1024px) {
  .box-para { 
    font-size: 16px; 
    padding: 16px 20px; 
    box-shadow: -15px 15px 0 #000; 
  }
}

@media (max-width: 767px) {
  .box-para { 
    font-size: 14px; 
    padding: 12px 16px; 
    box-shadow: -10px 10px 0 #000; 
  }
}

/* Mission & Vision layout */
.mission-vision {
  display: flex;
  gap: 32px;
  align-items: flex-start;
  flex-direction: row;
  flex-wrap: nowrap;
}

.mission-vision > .e-con,
.mission-vision > .e-con-inner {
  flex: 1 1 0;
  min-width: 0;
}

/* TABLET: mantieni 2 colonne */
@media (max-width: 1025px) {
  .mission-vision {
    flex-direction: row !important;
    gap: 24px;
  }
  .mission-vision > .e-con,
  .mission-vision > .e-con-inner {
    flex: 1 1 0 !important;
    min-width: 0 !important;
  }
}

/* MOBILE: impila in verticale */
@media (max-width: 767px) {
  .mission-vision {
    flex-direction: column !important;
    gap: 20px;
    align-items: stretch !important;
  }
  .mission-vision > .e-con,
  .mission-vision > .e-con-inner {
    flex: 1 1 auto !important;
    width: 100%;
  }
  .mission-vision .box-title,
  .mission-vision .box-para {
    width: 100%;
    max-width: 100%;
  }
  .mission-vision .box-para { overflow: hidden; }
  .box-icon { align-self: center; }
}

/* Icone Mission & Vision */
.box-icon,
.box-icon img,
.box-icon svg,
.box-icon .elementor-icon {
  display: block;
  margin: 0 auto 16px;
  width: 60px !important;
  height: auto !important;
}

@media (max-width: 1025px) {
  .box-icon,
  .box-icon img,
  .box-icon svg,
  .box-icon .elementor-icon { 
    width: 50px !important; 
    margin-bottom: 12px;
  }
}

@media (max-width: 767px) {
  .box-icon,
  .box-icon img,
  .box-icon svg,
  .box-icon .elementor-icon { 
    width: 40px !important; 
    margin-bottom: 10px;
  }
}

.mission-vision .box-icon { position: relative; z-index: 2; }
.mission-vision .box-title,
.mission-vision .box-para { position: relative; z-index: 1; }

/* Colonne Mission & Vision */
.mission-vision .mv-col {
  display: flex;
  flex-direction: column;
  flex: 1 1 0;
}

.mission-vision .box-para {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  justify-content: flex-start;
  height: 100%;
  min-height: 250px;
  box-sizing: border-box;
}

.title-box {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hero POI title */
.hero-poi-title {
  display: inline-block;
  background: #fff;
  color: #000;
  font-weight: 800;
  padding: 8px 18px;
  font-size: 28px;
  line-height: 1.2;
  box-shadow: -6px 6px 0 #000;
}

@media (max-width: 1024px) {
  .hero-poi-title { 
    font-size: 22px; 
    padding: 6px 14px; 
  }
}

@media (max-width: 767px) {
  .hero-poi-title { 
    font-size: 18px; 
    padding: 5px 12px; 
  }
}

/* POI meta */
.poi-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 2px solid #000;
  box-shadow: -6px 6px 0 #000;
  padding: 4px 10px;
  border-radius: 10px;
}

.poi-meta img {
  width: 24px;
  height: 24px;
  display: block;
}

.poi-meta .elementor-heading-title,
.poi-meta .elementor-widget-text-editor {
  margin: 0;
  font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 14px;
  line-height: 1.1;
}

@media (max-width: 767px) {
  .poi-meta { 
    padding: 4px 8px; 
    box-shadow: -4px 4px 0 #000; 
  }
  .poi-meta img { 
    width: 22px; 
    height: 22px; 
  }
  .poi-meta .elementor-heading-title,
  .poi-meta .elementor-widget-text-editor { 
    font-size: 13px; 
  }
}

/* Header POI */
.header-poi {
  background: #fff;
  border: 2px solid #000;
  box-shadow: -8px 8px 0 #000;
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 60px;
  z-index: 1000;
  position: sticky;
  top: 0;
  overflow: visible !important; /* FIX: permette di vedere l'ombra */
}

.header-poi .elementor-widget-image img { 
  max-height: 40px; 
  width: auto; 
}

.header-poi .elementor-button {
  background: transparent;
  border: 2px solid #000;
  color: #000;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 8px;
  transition: all 0.2s ease;
}

.header-poi .elementor-button:hover { 
  background: #000; 
  color: #fff; 
}

/* Badge categoria */
.hn-badge {
  border-radius: 0 !important;
  box-shadow: -8px 8px 0 #000;
  border: 2px solid #000;
  background: #fff;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px;
}

/* === SISTEMA OMBRE SOLIDA UNIFICATO (CORRETTO) === */
.poi-card,
.featured-card, 
.popup-container,
.poi-content-box,
.poi-curators,
.poi-credits,
.map-controls,
.tab-button,
.custom-popup .popup-container,
.poi-template .poi-main-title,
.poi-template .poi-back-btn,
.poi-template .poi-home-logo a,
.poi-template .poi-category-badge,
.poi-template .poi-subtitle,
.poi-template .poi-artist-name,
.header-poi,
.hero-poi-title,
.poi-meta,
.box-content,  /* FIX: aggiunta virgola */
.hn-badge { 
  box-shadow: -20px 20px 0 #000 !important; 
}

@media (max-width: 1024px) {
  .poi-card,
  .featured-card,
  .popup-container, 
  .poi-content-box,
  .poi-curators,
  .poi-credits,
  .map-controls,
  .tab-button,
  .custom-popup .popup-container,
  .poi-template .poi-main-title,
  .poi-template .poi-back-btn,
  .poi-template .poi-home-logo a,
  .poi-template .poi-category-badge,
  .poi-template .poi-subtitle,
  .poi-template .poi-artist-name,
  .header-poi,
  .hero-poi-title,
  .poi-meta,
  .box-content,  /* FIX: aggiunta virgola */
  .hn-badge { 
    box-shadow: -15px 15px 0 #000 !important; 
  }
}

@media (max-width: 767px) {
  .poi-card,
  .featured-card,
  .popup-container,
  .poi-content-box,
  .poi-curators, 
  .poi-credits,
  .map-controls,
  .tab-button,
  .custom-popup .popup-container,
  .poi-template .poi-main-title,
  .poi-template .poi-back-btn,
  .poi-template .poi-home-logo a,
  .poi-template .poi-category-badge,
  .poi-template .poi-subtitle,
  .poi-template .poi-artist-name,
  .header-poi,
  .hero-poi-title,
  .poi-meta,
  .box-content,  /* FIX: aggiunta virgola */
  .hn-badge { 
    box-shadow: -10px 10px 0 #000 !important; 
  }
}

/* === PREVENZIONE OVERFLOW ORIZZONTALE === */
.elementor-widget-container { 
  box-sizing: border-box !important; 
}

/* Fix scroll smooth per link di navigazione */
html {
  scroll-behavior: smooth !important;
}

/* Fix per Chrome/Edge */
@media screen and (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth !important;
  }
}

/* Previeni scroll orizzontale su mobile senza rompere le ombre */
@media (max-width: 767px) {
  body {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; /* Smooth scroll iOS */
  }
  
  /* Container con padding per evitare che le ombre escano */
  .elementor-section > .elementor-container {
    padding-left: 20px !important;
    padding-right: 25px !important; /* Più spazio a destra per l'ombra */
  }
}

/* FIX LARGHEZZE BOX HOME PAGE */
.box-style,
.box-content,
.box-para {
  max-width: 100% !important;
  width: auto !important;
  box-sizing: border-box !important;
}

.home .box--para,
.home .box-para {
  max-width: 100% !important;
}

.elementor-widget-container .box-style {
  width: 100% !important;
  max-width: none !important;
}

/* ===== FORZA LARGHEZZA 1140px SU TUTTO ===== */

/* Regola principale per TUTTI i container Elementor */
.elementor-section > .elementor-container,
.elementor-section > .e-container,
.elementor-section > .e-con,
.elementor-section .elementor-container,
.elementor .elementor-container {
  max-width: 1040px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Forza anche su sezioni specifiche */
.poi-section,
.featured-section,
.mission-vision,
#partecipa .elementor-container,
#contatti .elementor-container,
#progetto .elementor-container {
  max-width: 1140px !important;
  margin: 0 auto !important;
}

/* Sezioni full-width di Elementor */
.elementor-section-full_width > .elementor-container,
.elementor-section-stretched > .elementor-container {
  max-width: 1140px !important;
  margin: 0 auto !important;
}

/* ECCEZIONE: Solo la mappa resta full width */
#mappa .elementor-container,
#mappa > .elementor-container,
.elementor-section:has(.hn-map) > .elementor-container,
.mappa-fullwidth .elementor-container,
.mappa-fullwidth > .elementor-container {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Fix per container nested */
.elementor-inner-section .elementor-container {
  max-width: 100% !important;
  padding: 0 !important;
}

/* FIX HEADER STICKY DEFINITIVO */
.elementor-sticky--effects,
header.elementor-sticky--effects {
  z-index: 9999 !important;
  position: sticky !important;
  position: -webkit-sticky !important; /* Safari iOS */
  top: 0 !important;
  overflow: visible !important;
  transform: none !important;
  pointer-events: auto !important;
}

/* FIX SPECIFICO PER MOBILE */
@media (max-width: 767px) {
  .elementor-sticky--effects,
  header.elementor-sticky--effects,
  .elementor-location-header {
    position: fixed !important;
    width: 100% !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999 !important;
  }
  
  /* FIX LOGO MOBILE - Sposta a sinistra */
  .elementor-location-header .elementor-widget-theme-site-logo,
  .elementor-location-header .elementor-widget-image:first-child,
  header.elementor-sticky--effects .elementor-widget-theme-site-logo,
  header.elementor-sticky--effects .elementor-widget-image:first-child {
    margin-left: 0 !important;
    padding-left: 15px !important; /* Margine sinistro ridotto */
  }
  
  /* Se il logo è in un container flex */
  .elementor-location-header .elementor-container,
  header.elementor-sticky--effects .elementor-container {
    justify-content: space-between !important; /* Logo a sx, menu a dx */
    padding-left: 0 !important;
  }
  
  /* Forza allineamento sinistro del logo */
  .elementor-location-header .elementor-col-50:first-child,
  .elementor-location-header .e-con:first-child {
    justify-content: flex-start !important;
    align-items: center !important;
    padding-left: 15px !important;
  }
  
  /* Usa margin-top sulla prima sezione invece di padding su body */
  .elementor-section:first-of-type,
  .site-content > .elementor:first-child .elementor-section:first-child {
    margin-top: 60px !important; /* Sposta solo la prima sezione */
  }
  
  /* Reset per hero/home se necessario */
  .home .elementor-section:first-of-type {
    margin-top: 60px !important;
  }
}

/* FIX: Assicura che l'header sticky non tagli contenuti */
.elementor-location-header {
  overflow: visible !important;
  margin-bottom: 0 !important;
  transform: none !important;
}

/* FIX MAPPA: Previeni sparizione dopo fullscreen */
.hn-map,
#mappa,
.mappa-container,
.leaflet-container {
  z-index: 1 !important; /* Z-index basso per non interferire */
  position: relative !important;
  transform: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Fix per fullscreen mappa */
.leaflet-container.leaflet-fullscreen-on {
  z-index: 99999 !important; /* Alto solo in fullscreen */
  position: fixed !important;
  width: 100vw !important;
  height: 100vh !important;
  top: 0 !important;
  left: 0 !important;
}

/* Quando esci da fullscreen */
.leaflet-container:not(.leaflet-fullscreen-on) {
  position: relative !important;
  z-index: 1 !important;
}

/* Previeni che altre sezioni interferiscano */
#progetto,
.elementor-section {
  z-index: auto !important;
}

/* FIX FINALE: Previeni clipping e tremolii dei contenuti */
main,
.site-content,
.content-area {
  overflow: visible !important;
  transform: none !important;
}

/* Fix scroll orizzontale quando esce da fullscreen */
body.leaflet-fullscreen-on {
  overflow: hidden !important;
}

body:not(.leaflet-fullscreen-on) {
  overflow-x: hidden !important;
  overflow-y: auto !important;
  max-width: 100vw !important;
}

/* Fix per viewport mobile */
@media (max-width: 767px) {
  .elementor-section {
    min-height: auto !important;
    overflow: visible !important;
  }
  
  /* Reset transform solo dove necessario */
  .elementor-widget:not(.elementor-widget-animated) {
    transform: none !important;
  }
  
  /* Fix scroll orizzontale mobile */
  html, body {
    max-width: 100% !important;
    overflow-x: hidden !important;
  }
}
/* FIX LOGO MOBILE - SUPER SPECIFICO */
@media (max-width: 767px) {
  /* Target diretto sul logo */
  .elementor-location-header .elementor-widget-theme-site-logo,
  .elementor-location-header .elementor-widget-image,
  header .elementor-widget-theme-site-logo,
  header .elementor-widget-image {
    margin: 0 !important;
    padding: 0 !important;
  }
  
  /* Container del logo */
  .elementor-location-header .elementor-widget-theme-site-logo .elementor-widget-container,
  header .elementor-widget-image .elementor-widget-container {
    margin-left: 0 !important;
    padding-left: 10px !important; /* Cambia questo valore per spostarlo */
    text-align: left !important;
  }
  
  /* Se il logo è un link */
  .elementor-location-header .elementor-widget-theme-site-logo a,
  header .elementor-widget-image a {
    display: inline-block !important;
    margin-left: 0 !important;
  }
  
  /* Forza la colonna/container del logo a sinistra */
  .elementor-location-header .elementor-column:first-child,
  .elementor-location-header .e-con:first-child,
  header .elementor-column:first-child {
    padding-left: 0 !important;
    justify-content: flex-start !important;
  }
  
  /* Se usa flexbox container */
  .elementor-location-header .e-container,
  .elementor-location-header .elementor-container {
    padding-left: 0 !important;
  }
}
/* FIX LOGO CHROME MOBILE iOS */
@media (max-width: 767px) {
  /* Reset tutti i padding del container header */
  .elementor-section.elementor-location-header > .elementor-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  
  /* Se usa flexbox containers (Elementor nuovo) */
  .elementor-location-header .e-con-inner,
  .elementor-location-header .e-con {
    padding-left: 0 !important;
    max-width: 100% !important;
  }
  
  /* Logo widget specifico */
  .elementor-widget-theme-site-logo,
  .elementor-widget-image {
    margin-left: 0 !important;
  }
  
  /* Container diretto del logo - QUESTO È IL PRINCIPALE */
  .elementor-widget-theme-site-logo > .elementor-widget-container,
  .elementor-widget-image > .elementor-widget-container {
    margin: 0 !important;
    padding: 0 !important;
    padding-left: 10px !important; /* CAMBIA QUESTO: prova 5px o 0px */
  }
}

/* Fix specifico per Chrome iOS usando user agent */
@media (max-width: 767px) and (-webkit-min-device-pixel-ratio: 2) {
  .elementor-widget-theme-site-logo > .elementor-widget-container {
    padding-left: 5px !important; /* Ancora più vicino al bordo */
  }
}

/* MENU MOBILE FULLSCREEN */
@media (max-width:1024px){
  /* Contenitore del dropdown */
  .elementor-nav-menu--dropdown{
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 100vh !important;              /* prende tutta l'altezza */
    background: #fff !important;           /* colore sfondo menu */
    padding-top: 90px !important;          /* lascia spazio per l'header sticky */
    z-index: 99999 !important;             /* sopra tutto */
    overflow-y: auto !important;           /* scroll se troppo lungo */
  }

  /* Voci del menu */
  .elementor-nav-menu--dropdown a{
    display: block !important;
    font-size: 26px !important;            /* grandezza testo */
    text-align: center !important;         /* centrato */
    padding: 18px 24px !important;         /* area clic più grande */
    line-height: 1.4 !important;
    color: #000 !important;                /* colore testo */
  }

  /* Hover/attivo */
  .elementor-nav-menu--dropdown a:hover,
  .elementor-nav-menu--dropdown a.elementor-item-active{
    background: #f4f4f4 !important;        /* cambia colore al passaggio */
  }
}/* End custom CSS */