/* Header desktop: logo e CTA a misura contenuto (i 425px di default Elementor schiacciavano il menu) */
@media (min-width: 1025px) {
  .elementor-element-9f250fe.e-con, .elementor-element-fe07510.e-con{width:auto !important;max-width:none !important;flex:0 0 auto !important;}
}

/* Menu desktop: il widget occupa lo spazio tra logo e CTA, voci su una riga (fix 13/08) */
.elementor-element-2619008.elementor-widget-n-menu{flex-grow:1 !important;width:auto !important;max-width:none !important;min-width:0 !important;}
.elementor-element-2619008 .e-n-menu-heading{flex-wrap:nowrap !important;justify-content:center !important;}

/* London Eye — 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: #F3F5F6 !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: #F3F5F6 !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: 360px) {
  /* larghezze estreme: il bottone CTA puo' andare su 2 righe invece di sovrapporsi all'hamburger (mai nascosto, resta sempre leggibile) */
  .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;
  }
  .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 #E6DCC3 !important;
    border-radius: 2px !important;
    color: #29241F !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: #F2ECDD !important;
    color: #7E2A1F !important;
    border-color: #D9CDAF !important;
  }
  /* Aperto: travertino pieno, icona cenere */
  .e-n-menu-toggle[aria-expanded="true"]{
    background: #E6DCC3 !important;
    color: #29241F !important;
    border-color: #E6DCC3 !important;
  }
  .e-n-menu-toggle:focus-visible{ outline: 2px solid #A6392A !important; outline-offset: 2px !important; }

  /* Pannello voci: righe piene con divisori, testo cenere */
  .elementor-element-2619008 .e-n-menu-wrapper{
    background: #F3F5F6 !important;
    border-top: 1px solid #E6DCC3 !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: #29241F !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: #7E2A1F !important; }
  /* Chevron di riga: neutro, rosso scuro in hover */
  .e-n-menu-dropdown-icon{ color: #6E6759 !important; border-radius: 2px !important; transition: background .15s ease, color .15s ease !important; }
  .e-n-menu-dropdown-icon:hover{ background: #F2ECDD !important; color: #7E2A1F !important; }
  .e-n-menu-dropdown-icon[aria-expanded="true"]{ color: #7E2A1F !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: #7E2A1F !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.

   DA APPENDERE IN FONDO a wp-content/uploads/scavi-design/responsive-header.css
   su kewgardenslondra.com e castellodiwindsor.com (stessi ID elemento su
   entrambi, cfr. playbook §7.11). Va in fondo: sovrascrive per ordine di
   sorgente le regole ellissi/flex-shrink gia' presenti piu' sopra nel file.

   Difetto corretto (misurato in produzione il 27/07/2026 a 320px):
   - Windsor: "Castello di Windsor" servivano 131px, il box ne aveva 91
     -> testo troncato in "Castello di W...".
   - Kew: "Kew Gardens" servivano 77px, il box ne aveva 70 -> troncato.
   Il vecchio blocco risolveva con `text-overflow: ellipsis`; la regola nuova
   impone invece di RIMPICCIOLIRE il testo fino a farlo stare intero.

   Come funziona:
   1. Recupera spazio: il container header .e-con-boxed aveva 24px di padding
      laterale ereditati dal desktop + 6px dell'inner = 30px per lato buttati.
      Portati a 12px -> +36px di riga utile.
   2. Blocca il restringimento del gruppo marchio (flex-shrink:0) cosi' il box
      cresce fino alla larghezza naturale del testo invece di comprimerlo.
   3. Font in clamp() legato a vw: si rimpicciolisce da solo sugli schermi
      stretti, con tetto a 1.15rem (= la dimensione di prima) e pavimento
      0.70rem di sicurezza.
   4. Toglie ellissi e overflow:hidden, che erano la causa del troncamento.
   5. Compensa restringendo il pulsante CTA sotto i 480px: resta SEMPRE
      visibile e leggibile (regola permanente), solo piu' compatto.

   Valori verificati (browser, pagina live, header reale):
     vw   font    testo   box   esito
     320  14.08   126px   126   intero, gap CTA 4px,  overflow pagina 0
     360  15.84   141px   141   intero, gap CTA 4px,  overflow pagina 0
     375  16.50   147px   147   intero, gap CTA 4px,  overflow pagina 0
     390  17.16   153px   153   intero, gap CTA 13px, overflow pagina 0
     481  18.40   164px   164   intero (tetto clamp), overflow pagina 0
   (misure di Windsor, il caso peggiore: nome piu' lungo. Kew ha sempre
   margine in piu' — a 320px avanzano 15px di gap verso la CTA.)
   ===================================================================== */

@media (max-width: 980px) {
  /* 1. padding laterale header: 24px desktop -> 12px, recupera 36px di riga */
  .elementor-element-7299d5a.e-con {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
  /* 2. il gruppo marchio non si comprime piu': il box segue il testo */
  .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;
  }
  /* 3+4. una riga sola, nessuna ellissi, dimensione fluida */
  .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) {
  /* la regola piu' sopra nel file fissava 0.95rem: qui torna fluida */
  .elementor-element-64b77d3 .elementor-heading-title {
    font-size: clamp(0.70rem, 4.4vw, 1.15rem) !important;
  }
  /* 5. CTA piu' compatta per liberare la riga — MAI nascosta */
  .elementor-element-ec7ba91 .elementor-button {
    font-size: 0.66rem !important;
    padding: 6px 5px !important;
  }
}

@media (max-width: 360px) {
  /* la regola piu' sopra nel file fissava 0.92rem: qui torna fluida */
  .elementor-element-64b77d3 .elementor-heading-title {
    font-size: clamp(0.70rem, 4.4vw, 1.15rem) !important;
  }
}

/* =====================================================================
   Lockup header misurato nella fascia 1025-1199px, 13/09/2026
   Difetto trovato su 10 siti: fra 1025 e 1199px voci su due righe, CTA su
   due righe o sopra le voci. Causa: logo (9f250fe) e CTA (fe07510) con
   larghezza in percentuale fissa, menu (2619008) senza min-width:0.
   Rimedio: logo e CTA sul proprio contenuto, menu elastico, CTA su una riga.
   Nella fascia 1025-1199 frecce del dropdown nascoste (affordance: underline
   in hover/focus) e padding voci 10px. Sopra 1200 restano frecce e padding.
   ===================================================================== */
@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: 1199px) {
  .elementor-element-7299d5a.e-con { padding-left: 16px !important; padding-right: 16px !important; }
  .elementor-element-2619008 .e-n-menu-dropdown-icon { display: none !important; }
  .elementor-element-2619008 .e-n-menu-title { padding-left: 10px !important; padding-right: 10px !important; }
  .elementor-element-2619008 .e-n-menu-title:hover .e-n-menu-title-text,
  .elementor-element-2619008 .e-n-menu-title:focus-within .e-n-menu-title-text { text-decoration: underline; text-underline-offset: 4px; }
}
