/* Scavi di Pompei — header responsive 1:1 col design */
@media (max-width: 980px) {
  /* riga unica compatta: logo sx, menu/hamburger dx */
  .elementor-element-5218d88.e-con { padding: 0 !important; }
  /* header sticky su mobile (richiesta Gabriele): resta bloccato in alto allo scroll */
  .elementor-location-header { position: sticky !important; top: 0 !important; z-index: 999 !important; background: #F7F1E4 !important; }
  .elementor-element-7299d5a.e-con > .e-con-inner {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 10px !important;
    min-height: 60px !important;
    padding: 0 24px !important;
  }
  .elementor-element-9f250fe.e-con,
  .elementor-element-fe07510.e-con {
    width: auto !important;
    max-width: none !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .elementor-element-9f250fe.e-con { gap: 9px !important; }
  /* ordine header mobile: logo > CTA > menu (richiesta Gabriele) */
  .elementor-element-9f250fe.e-con { order: 0 !important; margin-right: auto !important; }
  .elementor-element-fe07510.e-con { order: 1 !important; }
  .elementor-element-2619008 { flex: 0 0 auto !important; width: auto !important; margin-left: 8px !important; order: 2 !important; }
  /* logo compatto, niente a capo; testo si tronca con ellissi SOLO se lo spazio non basta (mai overlap, mai a capo) */
  .elementor-element-ef098ff { flex-shrink: 0 !important; }
  .elementor-element-ef098ff img { width: 22px !important; height: auto !important; }
  .elementor-element-64b77d3 { min-width: 0 !important; flex-shrink: 1 !important; overflow: hidden !important; }
  .elementor-element-64b77d3 .elementor-heading-title {
    font-size: 1.15rem !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    display: block !important;
  }
  /* CTA compatto tra 481 e 980 */
  .elementor-element-ec7ba91 .elementor-button {
    font-size: 0.85rem !important;
    padding: 8px 12px !important;
    white-space: nowrap !important;
  }
  /* hamburger: target touch 44px, allineato */
  .e-n-menu-toggle { min-width: 44px !important; min-height: 44px !important; display: flex !important; align-items: center !important; justify-content: center !important; }
  /* pannello mobile del menu: larghezza piena, voci comode */
  .elementor-element-2619008 .e-n-menu-content { width: 100% !important; }
  .elementor-element-2619008 .e-n-menu-content > .e-con {
    width: 100vw !important; max-width: 100vw !important;
    background: #F7F1E4 !important;
    box-shadow: 0 12px 24px -12px rgba(41,36,31,.35);
  }
  /* chevron submenu: target touch pieno */
  .e-n-menu-dropdown-icon { min-width: 44px !important; min-height: 44px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; }
  .elementor-element-2619008 .e-n-menu-title { min-height: 44px !important; }
  .elementor-element-2619008 .elementor-icon-list-item a { padding: 12px 8px !important; }
}
@media (max-width: 640px) {
  .elementor-element-7299d5a.e-con > .e-con-inner { padding: 0 16px !important; }
}
@media (max-width: 480px) {
  /* CTA sempre visibile anche su mobile piccolo (richiesta Gabriele) */
  .elementor-element-fe07510.e-con { display: flex !important; }
  .elementor-element-ec7ba91 .elementor-button { font-size: 0.7rem !important; padding: 6px 8px !important; letter-spacing: 0 !important; }
  .elementor-element-ec7ba91 .elementor-button { padding: 6px 6px !important; }
  .elementor-element-7299d5a.e-con > .e-con-inner { padding: 0 6px !important; gap: 4px !important; }
  .elementor-element-9f250fe.e-con { gap: 5px !important; }
  .elementor-element-ef098ff img { width: 18px !important; }
  .elementor-element-64b77d3 .elementor-heading-title { font-size: 0.95rem !important; }
  /* Fix overflow ~20px: logo e CTA avevano flex-shrink:0 dal desktop (width 30%/20%), non si restringevano mai sotto il loro contenuto naturale. CTA resta SEMPRE visibile (vedi regola sopra), solo ora puo' restringersi. */
  .elementor-element-9f250fe.e-con, .elementor-element-fe07510.e-con { flex-shrink: 1 !important; width: auto !important; min-width: 0 !important; }
}
@media (max-width: 480px) {
  /* check-responsive-finale 28/07/2026: soglia estesa da 360 a 480px. Il bottone CTA su una riga sola (~108px per 'Acquista biglietti' a 0.66rem) sovrapponeva l'hamburger non solo sotto 360px ma anche a 375 e 390px (misurato: overlap fino a ~8px). Sotto 480px il bottone va sempre su 2 righe (mai sovrapposto, mai nascosto, mai troncato). */
  .elementor-element-fe07510.e-con { min-width: 0 !important; }
  .elementor-element-ec7ba91 { min-width: 0 !important; }
  .elementor-element-ec7ba91 .elementor-button {
    white-space: normal !important;
    text-align: center !important;
    line-height: 1.15 !important;
  }
}
@media (max-width: 360px) {
  .elementor-element-64b77d3 .elementor-heading-title { font-size: 0.92rem !important; }
}


/* Footer: 2 colonne <=900, 1 colonna <=560 (design .footer-grid) */
@media (max-width: 900px) {
  .elementor-element-82d348e.e-con > .e-con-inner,
  .elementor-element-82d348e.e-con { flex-wrap: wrap !important; flex-direction: row !important; }
  .elementor-element-4b73587.e-con, .elementor-element-b71209b.e-con,
  .elementor-element-58a3f48.e-con, .elementor-element-89897dd.e-con, .elementor-element-8ff2ddb.e-con {
    width: calc(50% - 16px) !important; max-width: calc(50% - 16px) !important; flex: 0 0 auto !important;
  }
}
@media (max-width: 560px) {
  .elementor-element-4b73587.e-con, .elementor-element-b71209b.e-con,
  .elementor-element-58a3f48.e-con, .elementor-element-89897dd.e-con, .elementor-element-8ff2ddb.e-con {
    width: 100% !important; max-width: 100% !important;
  }
}
/* ===== Raffinamento hamburger + menu mobile (palette design) ===== */
@media (max-width: 1024px) {
  /* Toggle: come .nav-toggle del design (bordo travertino, fondo trasparente) */
  .e-n-menu-toggle{
    background: transparent !important;
    border: 1px solid #DCD3C0 !important;
    border-radius: 2px !important;
    color: #2A211C !important;
    transition: background .15s ease, color .15s ease, border-color .15s ease !important;
  }
  .e-n-menu-toggle svg{ fill: currentColor !important; stroke: currentColor !important; }
  /* Hover: superficie chiara + icona rosso scuro (niente blocchi rossi pieni) */
  .e-n-menu-toggle:hover{
    background: var(--surface) !important;
    color: #3E1C35 !important;
    border-color: #D9CDAF !important;
  }
  /* Aperto: travertino pieno, icona cenere */
  .e-n-menu-toggle[aria-expanded="true"]{
    background: #DCD3C0 !important;
    color: #2A211C !important;
    border-color: #DCD3C0 !important;
  }
  .e-n-menu-toggle:focus-visible{ outline: 2px solid #5C2A4E !important; outline-offset: 2px !important; }

  /* Pannello voci: righe piene con divisori, testo cenere */
  .elementor-element-2619008 .e-n-menu-wrapper{
    background: #F7F1E4 !important;
    border-top: 1px solid #DCD3C0 !important;
    box-shadow: 0 14px 28px -14px rgba(41,36,31,.35) !important;
  }
  .elementor-element-2619008 .e-n-menu-heading{ flex-direction: column !important; align-items: stretch !important; }
  .elementor-element-2619008 .e-n-menu-item{
    border-bottom: 1px solid #EFE7D2 !important;
  }
  .elementor-element-2619008 .e-n-menu-item:last-child{ border-bottom: 0 !important; }
  .elementor-element-2619008 .e-n-menu-title{
    padding: 2px 16px !important;
    transition: background .15s ease !important;
  }
  .elementor-element-2619008 .e-n-menu-title .e-n-menu-title-text,
  .elementor-element-2619008 .e-n-menu-title a{
    color: #2A211C !important; font-weight: 600 !important; font-size: 1rem !important;
  }
  /* Hover voce: tinta accento leggera + testo rosso scuro (design dropdown) */
  .elementor-element-2619008 .e-n-menu-title:hover{ background: #F5E4DF !important; }
  .elementor-element-2619008 .e-n-menu-title:hover .e-n-menu-title-text,
  .elementor-element-2619008 .e-n-menu-title:hover a{ color: #3E1C35 !important; }
  /* Chevron di riga: neutro, rosso scuro in hover */
  .e-n-menu-dropdown-icon{ color: #6B6259 !important; border-radius: 2px !important; transition: background .15s ease, color .15s ease !important; }
  .e-n-menu-dropdown-icon:hover{ background: var(--surface) !important; color: #3E1C35 !important; }
  .e-n-menu-dropdown-icon[aria-expanded="true"]{ color: #3E1C35 !important; }

  /* Sottomenu: leggero rientro, voci comode, hover coerente */
  .elementor-element-2619008 .e-n-menu-content > .e-con{ padding: 6px 16px 14px !important; }
  .elementor-element-2619008 .e-n-menu-content .elementor-icon-list-item a{ padding: 12px 8px !important; border-radius: 2px !important; }
  .elementor-element-2619008 .e-n-menu-content .elementor-icon-list-item a:hover{ background: #F5E4DF !important; }
  .elementor-element-2619008 .e-n-menu-content .elementor-icon-list-item a:hover .elementor-icon-list-text{ color: #3E1C35 !important; }
}

/* ===== Footer: gutter laterale omogeneo a 34px su mobile 1-colonna (richiesta Gabriele) ===== */
@media (max-width: 560px) {
  .elementor-location-footer > .e-con.e-con-full { padding-left: 34px !important; padding-right: 34px !important; }
  .elementor-location-footer > .e-con.e-con-full .e-con { padding-left: 0 !important; padding-right: 0 !important; }
}

/* =====================================================================
   FIX MARCHIO HEADER MOBILE -- mai a capo, mai troncato, si rimpicciolisce
   Regola permanente di Gabriele (27/07/2026). Playbook 2 e 10.14.
   Applicato su galleriauffizifirenze.com il 28/07/2026 (stessi ID elemento
   ereditati dal template madre, verificato prima di applicare).
   ===================================================================== */

@media (max-width: 980px) {
  .elementor-element-7299d5a.e-con {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  .elementor-element-9f250fe.e-con {
    flex-shrink: 0 !important;
    min-width: 0 !important;
  }
  .elementor-element-64b77d3 {
    flex-shrink: 0 !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  .elementor-element-64b77d3 .elementor-heading-title {
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
    font-size: clamp(0.70rem, 4.4vw, 1.15rem) !important;
  }
}

@media (max-width: 480px) {
  .elementor-element-64b77d3 .elementor-heading-title {
    font-size: clamp(0.70rem, 4.4vw, 1.15rem) !important;
  }
  .elementor-element-ec7ba91 .elementor-button {
    font-size: 0.66rem !important;
    padding: 6px 5px !important;
  }
}

@media (max-width: 360px) {
  .elementor-element-64b77d3 .elementor-heading-title {
    font-size: clamp(0.70rem, 4.4vw, 1.15rem) !important;
  }
  /* check-responsive-finale 28/07/2026: sotto 360px il bottone CTA a 2 righe (~68px min-content per 'Acquista'+icona) sfonda comunque il gap verso l'hamburger di ~2px anche dopo l'estensione della soglia a 480 (il gap resta positivo da 375px in su, insufficiente solo qui). Recupera 2px dal padding destro del contenitore invece di clampare la larghezza del bottone (clampare taglia il testo, vedi nota sopra). */
  .elementor-element-7299d5a.e-con > .e-con-inner { padding-right: 2px !important; }
}

/* =====================================================================
   FIX MENU DESKTOP SU UNA RIGA -- 6 categorie (playbook Sez.10 punto 9)
   ===================================================================== */
@media (min-width: 981px) {
  .elementor-element-9f250fe.e-con { width: 22% !important; flex-shrink: 0 !important; flex-grow: 0 !important; }
  .elementor-element-fe07510.e-con { width: 19% !important; flex-shrink: 0 !important; flex-grow: 0 !important; }
  .elementor-element-2619008 .e-n-menu-heading {
    flex-wrap: nowrap !important;
  }
  .elementor-element-2619008 .e-n-menu-title,
  .elementor-element-2619008 .e-n-menu-title-text {
    white-space: nowrap !important;
  }
  .elementor-element-2619008 .menu-item-title-typography_font_size,
  .elementor-element-2619008 .e-n-menu-title-text {
    font-size: 14px !important;
  }
  .elementor-element-2619008 .e-n-menu-title {
    padding: 8px 6px !important;
  }
  .elementor-element-ec7ba91 .elementor-button-text,
  .elementor-element-ec7ba91 .elementor-button {
    white-space: nowrap !important;
  }
}

/* =====================================================================
   FIX MARCHIO: allineamento ottico pittogramma + logotipo (header e footer)
   Root cause 1: il container 9f250fe/fe07510 nel header usava la chiave
   settings sbagliata "align_items" invece di "flex_align_items", quindi a
   desktop (>=981px) l'align-items non veniva mai generato (default: normal).
   Corretto direttamente in _elementor_data (28/07/2026).
   Root cause 2: Bodoni Moda ha altezza-x bassa (0.460): il baricentro ottico
   dell'inchiostro del logotipo (senza discendenti in "Galleria Uffizi
   Firenze") sta piu' in alto del centro geometrico della riga, quindi con
   align-items:center meccanico il testo appare piu' alto del pittogramma.
   Nudge verticale in em (si adatta al font-size clamp mobile).
   Footer: font-size del logotipo ridotto da 20 a 18px per evitare che
   "Galleria Uffizi Firenze" vada a capo nella colonna fissa da 260px
   (bug ereditato dal template madre, pensato per nomi piu' corti).
   ===================================================================== */
.elementor-element-64b77d3 .elementor-heading-title,
.elementor-element-5b89d65 .elementor-heading-title {
  display: inline-block;
  transform: translateY(0.11em);
}
.elementor-element-5b89d65 .elementor-heading-title {
  white-space: nowrap !important;
}

/* =====================================================================
   Uffizi: lockup header 13/09/2026. Sei voci a 14px con padding 6px: fra
   1025 e 1198px non c'e' combinazione che rispetti i 20px (1025: -77 con
   la CTA sopra le voci; 1150: -18). Da 1199px il menu orizzontale regge
   (+31 a 1199, +35 a 1280). Sotto 1199 si usa il pannello, come Valle dei
   Templi (fix 11/08/2026), ma ancorato sotto l'hamburger (320px, a destra):
   qui l'header non e' sticky e il menu e' elastico, un pannello 100vw
   centrato sul menu sborderebbe. Elementor lo commuta via aria-expanded.
   ===================================================================== */
@media (min-width: 1025px) {
  .elementor-element-9f250fe.e-con { width: auto !important; flex: 0 0 auto !important; }
  .elementor-element-9f250fe a { white-space: nowrap !important; }
  .elementor-element-fe07510.e-con { width: auto !important; flex: 0 0 auto !important; }
  .elementor-element-ec7ba91 .elementor-button { white-space: nowrap !important; }
  .elementor-element-2619008 { flex: 1 1 auto !important; min-width: 0 !important; }
  .elementor-element-2619008 .e-n-menu-heading { flex-wrap: nowrap !important; min-width: 0 !important; }
}
@media (min-width: 1025px) and (max-width: 1198px) {
  .elementor-element-2619008 .e-n-menu { position: relative !important; justify-content: flex-end !important; }
  .elementor-element-2619008 .e-n-menu-toggle {
    display: flex !important; min-width: 44px !important; min-height: 44px !important;
    align-items: center !important; justify-content: center !important;
    background: transparent !important; border: 1px solid #DCD3C0 !important; border-radius: 2px !important;
  }
  .elementor-element-2619008 .e-n-menu-toggle { align-self: center !important; margin-left: auto !important; }
  .elementor-element-2619008 .e-n-menu-toggle[aria-expanded="true"] { background: #DCD3C0 !important; border-color: #DCD3C0 !important; }
  .elementor-element-2619008 .e-n-menu-toggle:focus-visible { outline: 2px solid #5C2A4E !important; outline-offset: 2px !important; }
  .elementor-element-2619008 .e-n-menu-toggle[aria-expanded="false"] + .e-n-menu-wrapper { display: none !important; }
  .elementor-element-2619008 .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper {
    display: flex !important; position: absolute !important; top: calc(100% + 10px) !important; right: 0 !important; left: auto !important;
    width: 320px !important; max-width: 90vw !important; z-index: 999 !important;
    background: #F7F1E4 !important; border: 1px solid #DCD3C0 !important;
    box-shadow: 0 14px 28px -14px rgba(33,30,38,.35) !important;
  }
  .elementor-element-2619008 .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper .e-n-menu-heading {
    flex-direction: column !important; align-items: stretch !important; width: 100% !important;
    margin: 0 !important;
  }
  .elementor-element-2619008 .e-n-menu-item { border-bottom: 1px solid #EFE7D2 !important; }
  .elementor-element-2619008 .e-n-menu-item:last-child { border-bottom: 0 !important; }
  .elementor-element-2619008 .e-n-menu-title { min-height: 44px !important; padding: 2px 16px !important; }
  .elementor-element-2619008 .e-n-menu-title:hover { background: #F5E4DF !important; }
}
@media (min-width: 1199px) {
  .elementor-element-2619008 .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper {
    position: static !important; transform: none !important; width: auto !important; max-width: none !important;
    background: none !important; border: 0 !important; box-shadow: none !important; left: auto !important; top: auto !important;
  }
  .elementor-element-2619008 .e-n-menu-toggle[aria-expanded="true"] + .e-n-menu-wrapper .e-n-menu-heading {
    flex-direction: row !important; align-items: center !important; margin: 0 !important;
  }
}
