/* 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: #F6F3EE !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: 18px !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 */
  /* FIX QA 14/08/2026: il bottone CTA header e' un <a class="etna-cta-btn"> (widget HTML), non un
     widget-button Elementor: il selettore ".elementor-button" non ha mai avuto match, quindi questa
     riduzione di font/padding non era mai stata applicata a runtime (causa root del wrap su 2 righe
     sotto 390px, vedi blocco FIX CTA HEADER piu' in basso). */
  .elementor-element-ec7ba91 .etna-cta-btn {
    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: #F6F3EE !important;
    box-shadow: 0 12px 24px -12px rgba(26,21,18,.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; }
  /* FIX QA 14/08/2026: selettore corretto (era ".elementor-button", mai a match, v. nota sopra a 980px).
     Etichetta accorciata a "Disponibilita'" sotto questa soglia (v. span .cta-txt-short/.cta-txt-full
     piu' in basso) + font/padding ridotti: garantisce una riga sola a 320/375/390px. */
  .elementor-element-ec7ba91 .etna-cta-btn { font-size: 0.7rem !important; padding: 6px 8px !important; letter-spacing: 0 !important; white-space: nowrap !important; }
  .elementor-element-ec7ba91 .etna-cta-btn { 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; }
  /* Etichetta CTA header: versione corta sotto 480px (playbook, regola "CTA su una riga sola") */
  .elementor-element-ec7ba91 .cta-txt-full { display: none !important; }
  .elementor-element-ec7ba91 .cta-txt-short { display: inline !important; }
}
@media (min-width: 481px) {
  .elementor-element-ec7ba91 .cta-txt-short { display: none !important; }
  .elementor-element-ec7ba91 .cta-txt-full { display: inline !important; }
}
@media (max-width: 360px) {
  /* FIX QA 14/08/2026: la CTA NON va piu' su 2 righe a nessuna larghezza (regola: sempre 1 riga a
     320/375/390px). L'etichetta corta ("Disponibilita'", attiva da 480px in giu') piu' font/padding
     ulteriormente ridotti bastano; nowrap esplicito come garanzia. */
  .elementor-element-fe07510.e-con { min-width: 0 !important; }
  .elementor-element-ec7ba91 { min-width: 0 !important; }
  .elementor-element-ec7ba91 .etna-cta-btn {
    white-space: nowrap !important;
    font-size: 0.66rem !important;
    padding: 6px 7px !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 #DBD5CB !important;
    border-radius: 2px !important;
    color: #1A1512 !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: #EFE9E0 !important;
    color: #9C2E10 !important;
    border-color: #CEC8BF !important;
  }
  /* Aperto: travertino pieno, icona cenere */
  .e-n-menu-toggle[aria-expanded="true"]{
    background: #DBD5CB !important;
    color: #1A1512 !important;
    border-color: #DBD5CB !important;
  }
  .e-n-menu-toggle:focus-visible{ outline: 2px solid #E1420B !important; outline-offset: 2px !important; }

  /* Pannello voci: righe piene con divisori, testo cenere */
  .elementor-element-2619008 .e-n-menu-wrapper{
    background: #F6F3EE !important;
    border-top: 1px solid #DBD5CB !important;
    box-shadow: 0 14px 28px -14px rgba(26,21,18,.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 #E7E2DA !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: #1A1512 !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: color-mix(in oklab, #E1420B 12%, #F6F3EE) !important; }
  .elementor-element-2619008 .e-n-menu-title:hover .e-n-menu-title-text,
  .elementor-element-2619008 .e-n-menu-title:hover a{ color: #9C2E10 !important; }
  /* Chevron di riga: neutro, rosso scuro in hover */
  .e-n-menu-dropdown-icon{ color: #736C63 !important; border-radius: 2px !important; transition: background .15s ease, color .15s ease !important; }
  .e-n-menu-dropdown-icon:hover{ background: #EFE9E0 !important; color: #9C2E10 !important; }
  .e-n-menu-dropdown-icon[aria-expanded="true"]{ color: #9C2E10 !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: color-mix(in oklab, #E1420B 12%, #F6F3EE) !important; }
  .elementor-element-2619008 .e-n-menu-content .elementor-icon-list-item a:hover .elementor-icon-list-text{ color: #9C2E10 !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. Playbook §2/§10.14. Blocco riusato
   verbatim da ATR/fix-marchio-header-mobile.css (stessi ID elemento,
   sito clonato dal template madre) e appeso in fondo al file.
   ===================================================================== */
@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;
  }
  /* FIX QA 14/08/2026: selettore corretto, era ".elementor-button" (mai a match). Questo blocco e' l'ultimo
     nel file quindi vince in cascata sulle regole equivalenti sopra: font-size/padding finali sotto 480px. */
  .elementor-element-ec7ba91 .etna-cta-btn {
    font-size: 0.66rem !important;
    padding: 6px 5px !important;
    white-space: nowrap !important;
  }
}
@media (max-width: 360px) {
  .elementor-element-64b77d3 .elementor-heading-title {
    font-size: clamp(0.70rem, 4.4vw, 1.15rem) !important;
  }
}

/* =====================================================================
   FIX CTA HEADER NON SOVRAPPOSTA AL MENU (playbook §14, corretto 29/07/2026)
   Blocco riusato verbatim da ATR/fix-header-cta-menu-torre.css (stessi ID
   elemento). Padding voci ridotto ulteriormente (10px->7px) per le 7 voci
   di menu di questo sito (piu' delle 4-5 tipiche del portfolio).
   ===================================================================== */
@media (min-width: 981px) {
  .elementor-element-9f250fe.e-con {
    width: auto !important;
    flex: 0 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .elementor-element-9f250fe a { white-space: nowrap !important; }
  .elementor-element-fe07510.e-con {
    width: auto !important;
    flex: 0 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    /* FIX QA 14/08/2026: margine reale menu<->CTA misurato 2-6px (sotto il minimo 20px di regola).
       Il gap del contenitore padre e' condiviso su entrambi i lati del menu (flex:1 1 auto);
       margin-left qui si somma SOLO sul lato CTA senza toccare lo spazio menu<->logo.
       20px margin + 2px/6px di gap residuo (981-1199 / 1200+) = 22-26px, sempre sopra soglia. */
    margin-left: 20px !important;
  }
  .elementor-element-2619008 {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
  .elementor-element-2619008 .e-n-menu-title {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
  .elementor-element-2619008 .e-n-menu-heading {
    flex-wrap: nowrap !important;
    min-width: 0 !important;
  }
  .elementor-element-7299d5a.e-con {
    padding-left: 6px !important;
    padding-right: 6px !important;
  }
  .elementor-element-7299d5a > .e-con-inner { gap: 6px !important; }
}
@media (min-width: 981px) and (max-width: 1199px) {
  /* FIX QA 14/08/2026: selettore corretto (era ".elementor-button", mai a match). */
  .elementor-element-ec7ba91 .etna-cta-btn {
    font-size: 0.82rem !important;
    padding: 8px 10px !important;
  }
  .elementor-element-7299d5a.e-con {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
  .elementor-element-7299d5a > .e-con-inner { gap: 2px !important; }
  .elementor-element-2619008 .e-n-menu-title {
    padding-left: 1px !important;
    padding-right: 1px !important;
  }
}

/* ============================================================================
   FIX LOCKUP HEADER — Etna Escursioni + Isole Borromee
   Da appendere in coda a: wp-content/uploads/scavi-design/responsive-header.css
   Misurato nel DOM reale (Chrome, 1440px) il 15/08/2026.

   PERCHE' L'HEADER "SEMBRAVA FINTO" (misure prima del fix)

   etnaescursione.com @1440 (inner 153..1273, 1120px utili)
     marchio 153..187 (34px)   nome 197..314   menu 320..1032
     -> gap nome->prima voce = 6px
     -> nome 17px/600 Zilla Slab, voci 17px/600 IBM Plex: STESSO peso ottico
     Il nome del sito non era distinguibile da una voce di menu: l'occhio
     leggeva "Etna Escursioni Ingresso e funivia Trekking crateri..." come
     un'unica fila di link. Nessun sito vero mette il marchio a 6px dalla nav.

   isole-borromee.com @1440
     contenitore marchio 153..443 = 290px, ma il contenuto ne usa ~177
     -> ~113px sprecati da una larghezza fissa sul contenitore del logo
     -> al menu restano 587px per 686px di voci: VA A CAPO su 2 righe
     -> la CTA "Confronta le opzioni" spezza il testo dentro il bottone

   CAUSA COMUNE: la coda del CSS di Etna era una serie di compressioni
   (padding contenitore 6px -> 2px, gap 2px, padding voci 1px) per far
   entrare tutto a forza. Comprimere l'impaginazione non crea spazio: sposta
   il difetto sul lockup, ed e' esattamente cio' che rendeva l'header finto.

   IL BUDGET ORIZZONTALE, CALCOLATO INVECE CHE STIMATO (Etna @1440, 6 voci)
     testo delle voci a 15px ............ 542px
     segno + gap + nome ................. 171px
     spazio utile ...................... 1120px
   Con le frecce del dropdown (19px l'una, 114px in tutto) NESSUNA
   combinazione di padding/CTA/gap rispetta il margine minimo di 20px
   imposto dalla regola permanente: il massimo raggiungibile e' -9px.
   Le frecce vanno quindi tolte a desktop. Liberano i 114px che servono per
   dare alle voci un padding vero (10px) e al marchio un distacco vero.
   L'affordance persa e' restituita dall'underline in hover/focus qui sotto.

   CONTI DOPO IL FIX, verificati nel DOM il 15/08/2026 (Etna @1440):
     Etna (6 voci, caso peggiore): somma 626 in 654 di box = +28px,
     1 riga sola, gap ultima voce -> CTA 69px, zero overflow di pagina.

   Regole permanenti rispettate: CTA mai sovrapposta al menu (margine >=20px,
   verificato nel DOM); marchio mai a capo; CTA mai nascosta.
   ========================================================================== */

@media (min-width: 981px) {

  /* --- 1. contenitori laterali: si dimensionano sul contenuto ------------ */
  .elementor-element-9f250fe.e-con,
  .elementor-element-fe07510.e-con {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .elementor-element-9f250fe.e-con {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
  }
  .elementor-element-9f250fe a { white-space: nowrap !important; }

  .elementor-element-ef098ff img {
    width: 28px !important;
    height: 28px !important;
    flex: 0 0 auto !important;
  }

  /* --- 2. gerarchia: il nome del sito domina la navigazione -------------- */
  .elementor-element-64b77d3 .elementor-heading-title,
  .elementor-element-64b77d3 .elementor-heading-title a {
    font-size: 19px !important;
    font-weight: 600 !important;
    line-height: 1.15 !important;
    letter-spacing: 0.005em !important;
    white-space: nowrap !important;
  }

  /* --- 3. il menu occupa lo spazio residuo ------------------------------- */
  .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;
    justify-content: flex-start !important;
  }
  .elementor-element-2619008 .e-n-menu-title {
    padding-left: 7px !important;
    padding-right: 7px !important;
    white-space: nowrap !important;
  }
  .elementor-element-2619008 .e-n-menu-title-container,
  .elementor-element-2619008 .e-n-menu-title-text {
    font-size: 15px !important;
    font-weight: 500 !important;
    white-space: nowrap !important;
  }

  /* --- 4. via le frecce a desktop: valgono 114px, cioe' tutto il margine --
     Restano nel pannello mobile, dove lo spazio non e' il vincolo.          */
  .elementor-element-2619008 .e-n-menu-dropdown-icon {
    display: none !important;
  }

  /* affordance al posto della freccia: sottolineatura in hover/focus */
  .elementor-element-2619008 .e-n-menu-title-container {
    position: relative !important;
    padding-bottom: 3px !important;
    border-bottom: 2px solid transparent !important;
    transition: border-color .15s ease !important;
  }
  .elementor-element-2619008 .e-n-menu-title:hover .e-n-menu-title-container,
  .elementor-element-2619008 .e-n-menu-title-container:focus-visible,
  .elementor-element-2619008 .e-n-menu-title.e-current .e-n-menu-title-container {
    border-bottom-color: currentColor !important;
  }

  /* --- 5. respiro tra i tre gruppi --------------------------------------- */
  .elementor-element-7299d5a.e-con {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .elementor-element-7299d5a > .e-con-inner {
    gap: 32px !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
  }

  /* --- 6. CTA: una riga sola, sempre ------------------------------------- */
  .elementor-element-ec7ba91 .elementor-button,
  .elementor-element-ec7ba91 .etna-cta-btn {
    white-space: nowrap !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    padding: 13px 15px !important;
  }
  .elementor-element-ec7ba91 .elementor-button-content-wrapper {
    flex-wrap: nowrap !important;
    white-space: nowrap !important;
    align-items: center !important;
  }
}

/* Fascia stretta 981-1199px: il contenuto non ha ancora raggiunto la
   max-width. Si stringono gap e padding, MAI la gerarchia: il marchio resta
   piu' grande della nav anche qui. */
@media (min-width: 981px) and (max-width: 1199px) {
  .elementor-element-7299d5a.e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  .elementor-element-7299d5a > .e-con-inner { gap: 20px !important; }
  .elementor-element-2619008 .e-n-menu-title {
    padding-left: 7px !important;
    padding-right: 7px !important;
  }
  .elementor-element-2619008 .e-n-menu-title-container,
  .elementor-element-2619008 .e-n-menu-title-text {
    font-size: 14px !important;
  }
  .elementor-element-64b77d3 .elementor-heading-title,
  .elementor-element-64b77d3 .elementor-heading-title a {
    font-size: 17px !important;
  }
  .elementor-element-ec7ba91 .elementor-button,
  .elementor-element-ec7ba91 .etna-cta-btn {
    font-size: 13px !important;
    padding: 11px 13px !important;
  }
  /* Etna espone due etichette CTA: sotto i 1200px usa quella corta. */
  .elementor-element-ec7ba91 .cta-txt-full { display: none !important; }
  .elementor-element-ec7ba91 .cta-txt-short { display: inline !important; }
}

@media (min-width: 1200px) {
  .elementor-element-ec7ba91 .cta-txt-full { display: inline !important; }
  .elementor-element-ec7ba91 .cta-txt-short { display: none !important; }
}

/* =====================================================================
   Etna: lockup header 13/09/2026. Sei voci a 15px, padding 7px, frecce gia'
   tolte: a 1025px la somma voci supera il box di 12-13px, nessun margine da
   recuperare (il blocco generico del portfolio qui non cambia nulla, Etna ha
   gia' logo e CTA sul contenuto). Il menu orizzontale regge da 1058px (+20).
   Fra 1025 e 1057 pannello sotto l'hamburger, come Uffizi.
   ===================================================================== */
@media (min-width: 1025px) and (max-width: 1057px) {
  .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 #DBD5CB !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: #DBD5CB !important; border-color: #DBD5CB !important; }
  .elementor-element-2619008 .e-n-menu-toggle:focus-visible { outline: 2px solid #E1420B !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: #F6F3EE !important; border: 1px solid #DBD5CB !important;
    box-shadow: 0 14px 28px -14px rgba(26,21,18,.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 #E7E2DA !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: color-mix(in oklab, #E1420B 12%, #F6F3EE) !important; }
}
@media (min-width: 1058px) {
  .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;
  }
}
