/*
 Theme Name:  Erena Child
 Theme URI:   https://www.erena.it
 Description: Tema child per Erena Wellness SPA
 Author:      Twilia
 Author URI:  https://www.erena.it
 Template:    hello-elementor
 Version:     1.0.0
 Text Domain: erena-child
*/

/* Aggiungi qui le tue regole CSS personalizzate */


/* BLOCCO MODIFICA PULSANTI HEADER HOME PAGE */
/* BASE COMUNE: prende il bottone dentro al widget che ha classe erena-btn */
.erena-btn .elementor-button{
  border-radius: 999px !important;
  padding: 14px 26px !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
  border: 1px solid transparent !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease !important;
}

.erena-btn .elementor-button:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
}

/* PRIMARIO */
.erena-primary .elementor-button{
  background-color: #5D7A35 !important;
  color: #F3EEE6 !important;
}

.erena-primary .elementor-button:hover{
  background-color: #4F6A2E !important;
  color: #F3EEE6 !important;
}

/* SECONDARIO */
.erena-secondary .elementor-button{
  background-color: rgba(243,238,230,.92) !important;
  color: #2E2A26 !important;
  border-color: rgba(46,42,38,.25) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;
}

.erena-secondary .elementor-button:hover{
  background-color: #F3EEE6 !important;
  border-color: rgba(46,42,38,.4) !important;
  color: #2E2A26 !important;
}

/* stessa larghezza per i CTA hero */
.erena-btn .elementor-button{
  min-width: 180px;   /* puoi regolare: 170–200px */
  justify-content: center;
}

/* FINE BLOCCO MODIFICA PULSANTI HEADER HOME PAGE */


/* INIZIO BLOCCO ===== SEZIONE SERVIZI (Erena) ===== */
.erena-servizi{
  background: #F7F3ED;
  padding: 70px 0;
}

/* griglia */
.erena-servizi .e-con-inner{
  gap: 28px !important;
}

/* ogni card */
.erena-servizi .e-con-inner > .e-con{
  background: rgba(243,238,230,.85);
  border: 1px solid rgba(46,42,38,.10);
  border-radius: 18px;

  /* IMPORTANTISSIMO: niente overflow hidden qui */
  overflow: visible !important;

  box-shadow: 0 18px 40px rgba(0,0,0,.10);

  /* ✅ hover stabile senza transform */
  position: relative;
  top: 0;
  transition: top .22s ease, box-shadow .22s ease;

  padding: 0 !important;

  /* ✅ NO transform/translateZ QUI (altrimenti il fixed della modale si ancora alla card) */
  transform: none !important;
  will-change: auto !important;
}

/* hover card */
.erena-servizi .e-con-inner > .e-con:hover{
  top: -4px;
  box-shadow: 0 26px 60px rgba(0,0,0,.14);
}

/* arrotondamento/crop SOLO sull'immagine */
.erena-servizi .elementor-widget-image{
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  overflow: hidden;
}

.erena-servizi .elementor-widget-image img{
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

/* padding contenuti */
.erena-servizi .elementor-widget-heading,
.erena-servizi .elementor-widget-button{
  padding: 18px 20px 0 20px;
}

/* titolo */
.erena-servizi .elementor-heading-title{
  font-family: "Playfair Display", serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.15;
  color: #2E2A26;
  text-align: center;
  margin: 0;
  min-height: 56px;
}

/* spazio bottone */
.erena-servizi .elementor-widget-button{
  padding: 14px 20px 22px 20px;
}

/* bottone */
.erena-servizi .elementor-button{
  border-radius: 999px !important;
  padding: 12px 22px !important;
  min-width: 170px;
  justify-content: center;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  background: #5D7A35 !important;
  color: #F3EEE6 !important;
  border: 1px solid rgba(93,122,53,0) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.14);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.erena-servizi .elementor-button:hover{
  transform: translateY(-1px) !important;
  background: #4F6A2E !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
}

/* ==================================================
   EA MODAL — FIX CENTRATURA / VIEWPORT (selettori robusti)
   (aggancia più classi possibili di EA)
   ================================================== */

/* overlay full screen */
[class*="eael"][class*="overlay"],
.eael-modal-overlay,
.eael-popup-modal-overlay{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999998 !important;
}

/* wrapper modale (centro viewport) */
[class*="eael"][class*="modal"][class*="popup"],
.eael-modal-popup,
.eael-popup-modal,
.eael-popup-modal-wrapper,
.eael-modal,
.eael-modal-wrap{
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;

  z-index: 999999 !important;

  max-width: calc(100vw - 32px) !important;
  max-height: calc(100vh - 32px) !important;
}

/* contenuto scrollabile senza “saltellare” */
.eael-modal-content,
.eael-popup-modal-content,
[class*="eael"][class*="modal"][class*="content"]{
  max-height: calc(100vh - 32px) !important;
  overflow: auto !important;
}

/* responsive */
@media (max-width: 1024px){
  .erena-servizi .elementor-widget-image img{ height: 280px; }
  .erena-servizi .elementor-heading-title{ font-size: 20px; min-height: 0; }
}

@media (max-width: 767px){
  .erena-servizi{ padding: 48px 0; }
  .erena-servizi .e-con-inner{ gap: 18px !important; }
  .erena-servizi .elementor-widget-image img{ height: 240px; }
  .erena-servizi .elementor-button{ width: 100%; min-width: 0; }
}

/* ==================================================
   ERENA — PULSANTI MODALI (HT Mega)
   Versione compatta: poco più grande di "Scopri"
   Desktop + Mobile coerenti
   ================================================== */

.erena-servizi .htmega-modal-btn{
  padding: 10px 20px 18px 20px;
  text-align: center;
}

.erena-servizi .htmega-modal-btn button{
  appearance: none;
  -webkit-appearance: none;

  /* DIMENSIONI COMPATTE */
  height: 40px;              /* più contenuto */
  min-width: 0;              /* rimuove larghezza forzata */
  padding: 0 16px;           /* poco più grande del testo */

  /* CENTRATURA PERFETTA */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;

  /* PILL ERENA */
  border-radius: 999px !important;

  /* TIPOGRAFIA */
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px;
  letter-spacing: 0.02em;

  /* COLORI */
  background-color: #5D7A35 !important;
  color: #F3EEE6 !important;
  border: 1px solid rgba(93,122,53,0) !important;

  /* OMBRA SOFT */
  box-shadow: 0 10px 22px rgba(0,0,0,.14);

  cursor: pointer;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;

  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

/* hover */
.erena-servizi .htmega-modal-btn button:hover{
  transform: translateY(-1px);
  background-color: #4F6A2E !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

/* active */
.erena-servizi .htmega-modal-btn button:active{
  transform: translateY(0);
}

/* focus coerente */
.erena-servizi .htmega-modal-btn button:focus,
.erena-servizi .htmega-modal-btn button:focus-visible{
  outline: none;
  box-shadow:
    0 0 0 4px rgba(93,122,53,.18),
    0 10px 22px rgba(0,0,0,.14);
}

/* Mobile: stessa proporzione, non full-width */
@media (max-width: 767px){
  .erena-servizi .htmega-modal-btn button{
    width: auto;
    height: 40px;
    padding: 0 16px;
  }
}

/* FINE BLOCCO ===== SEZIONE SERVIZI (Erena) ===== */



/* INIZIO BLOCCO ===== SEZIONE: LA MIA STORIA (Erena) ===== */
.erena-story{
  position: relative;
  padding: 80px 0;
  background: linear-gradient(90deg,
    rgba(210, 169, 165, .55) 0%,
    rgba(205, 168, 158, .35) 40%,
    rgba(243, 238, 230, .92) 100%);
}

/* contenitore interno più "premium" */
.erena-story .e-con-inner{
  gap: 44px !important;
  align-items: center !important;
}

/* blocco immagine: card con angoli morbidi */
.erena-story .elementor-widget-image img{
  width: 100%;
  height: 420px;            /* regola: 360–480 */
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 20px 50px rgba(0,0,0,.14);
  filter: saturate(0.95) contrast(0.98);
}

/* colonna testo: box in panna con bordo e blur leggero */
.erena-story [data-id="9b58ac0"]{
  background: rgba(247, 243, 237, .86);
  border: 1px solid rgba(46, 42, 38, .10);
  border-radius: 18px;
  padding: 34px 34px;
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
  backdrop-filter: blur(6px);
}

/* titolo elegante */
.erena-story .elementor-heading-title{
  font-family: "Playfair Display", serif;
  font-weight: 500;
  font-size: 54px;
  line-height: 1.02;
  color: #2E2A26;
  margin-bottom: 12px !important;
}

/* testo più leggibile e sofisticato */
.erena-story .elementor-widget-text-editor p{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.65;
  color: rgba(46,42,38,.85);
  margin: 0 0 18px 0;
  max-width: 50ch;
}

/* CTA nello stile Erena (COMPATTO: poco più grande del testo) */
.erena-story .elementor-button{
  border-radius: 999px !important;

  /* ✅ dimensioni compatte */
  padding: 10px 16px !important;
  min-width: 0 !important;

  justify-content: center;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  background: #5D7A35 !important;
  color: #F3EEE6 !important;
  border: 1px solid transparent !important;

  /* ombra leggermente più soft */
  box-shadow: 0 10px 22px rgba(0,0,0,.14);

  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.erena-story .elementor-button:hover{
  transform: translateY(-1px);
  background: #4F6A2E !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.18);
}

/* responsive */
@media (max-width: 1024px){
  .erena-story{ padding: 56px 0; }
  .erena-story .elementor-heading-title{ font-size: 42px; }
  .erena-story .elementor-widget-image img{ height: 340px; }
}

@media (max-width: 767px){
  .erena-story{ padding: 44px 0; }
  .erena-story .e-con-inner{ gap: 18px !important; }
  .erena-story .elementor-heading-title{ font-size: 34px; }
  .erena-story [data-id="9b58ac0"]{ padding: 22px; }
  .erena-story .elementor-widget-image img{ height: 260px; }

  /* ✅ mobile: resta compatto (NO full width) */
  .erena-story .elementor-button{
    width: auto !important;
    min-width: 0 !important;
    padding: 10px 16px !important;
  }
}

/* FINE BLOCCO ===== SEZIONE: LA MIA STORIA (Erena) ===== */


/* ===== INIZIO SEZIONE "IL CENTRO" (overlay su background) ===== */
.erena-il-centro{
  position: relative;
  padding: 90px 0 !important;
}

/* overlay per aumentare leggibilità sullo sfondo */
.erena-il-centro:before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(180deg,
    rgba(30,26,22,.55) 0%,
    rgba(30,26,22,.62) 45%,
    rgba(30,26,22,.58) 100%);
  pointer-events:none;
}

/* assicura che il contenuto stia sopra l’overlay */
.erena-il-centro .e-con-inner{
  position: relative;
  z-index: 2;
  max-width: 980px;
  text-align: center;
  gap: 18px !important;
}

/* Titolo */
.erena-il-centro .elementor-heading-title{
  font-family: "Playfair Display", serif;
  font-weight: 600;
  font-size: 54px;
  line-height: 1.05;
  color: #F3EEE6; /* panna */
  text-shadow: 0 8px 22px rgba(0,0,0,.35);
  margin: 0 !important;
}

/* Testo */
.erena-il-centro .elementor-widget-text-editor{
  max-width: 78ch;
  margin: 0 auto;
}

.erena-il-centro .elementor-widget-text-editor p{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.7;
  color: rgba(243,238,230,.92);
  margin: 0 !important;
  text-shadow: 0 6px 18px rgba(0,0,0,.28);
}

/* Bottone */
.erena-il-centro .elementor-button{
  border-radius: 999px !important;
  padding: 13px 26px !important;
  min-width: 190px;
  justify-content: center;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  background: #5D7A35 !important;   /* verde salvia */
  color: #F3EEE6 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.24);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.erena-il-centro .elementor-button:hover{
  transform: translateY(-1px);
  background: #4F6A2E !important;
  box-shadow: 0 22px 44px rgba(0,0,0,.28);
}

/* Responsive */
@media (max-width: 1024px){
  .erena-il-centro{ padding: 70px 0 !important; }
  .erena-il-centro .elementor-heading-title{ font-size: 44px; }
}

@media (max-width: 767px){
  .erena-il-centro{ padding: 56px 0 !important; }
  .erena-il-centro .elementor-heading-title{ font-size: 34px; }
  .erena-il-centro .elementor-widget-text-editor p{ font-size: 16px; }
  .erena-il-centro .elementor-button{ width: 100%; min-width: 0; }
}

/* ===== FINE SEZIONE "IL CENTRO" (overlay su background) ===== */


/* ================================
   INIZIO SEZIONE CONTATTI - ERENA
   ================================ */

/* Sfondo sezione */
.erena-contatti{
  position: relative;
  padding: 90px 0 !important;
  background: linear-gradient(90deg,
    rgba(210,169,165,.35) 0%,
    rgba(205,168,158,.20) 35%,
    rgba(247,243,237,.92) 100%);
}

/* Contenitore interno: allineamento e gap */
.erena-contatti > .e-con-inner{
  gap: 44px !important;
  align-items: center !important;
}

/* Titolo "Contatti" (container 7152d27) */
.erena-contatti [data-id="7152d27"]{
  width: 100%;
  margin-bottom: 20px;
}

.erena-contatti .elementor-heading-title{
  font-family: "Playfair Display", serif;
  font-weight: 600;
  font-size: 56px;
  line-height: 1.05;
  color: #2E2A26;
  margin: 0 !important;
}

/* Colonne: contenitore 2-colonne (8072d15) */
.erena-contatti [data-id="8072d15"]{
  width: 100%;
  display: flex;
  gap: 32px;
  align-items: stretch;
}

/* Card stile "glass" */
.erena-contatti [data-id="46a7292"],
.erena-contatti [data-id="12df483"]{
  background: rgba(255,255,255,.35);
  border: 1px solid rgba(46,42,38,.10);
  border-radius: 18px;
  box-shadow: 0 18px 45px rgba(0,0,0,.10);
  backdrop-filter: blur(8px);
  padding: 34px !important;
}

/* Larghezze (sinistra contatti più grande / destra form più compatto) */
.erena-contatti [data-id="46a7292"]{
  flex: 0 0 44%;
  padding: 38px !important; /* un filo più presente */
}

.erena-contatti [data-id="12df483"]{
  flex: 0 0 48%;
  max-width: 640px;
  margin-left: auto;
  padding: 26px !important; /* card form più piccola */
}

/* Centra il form dentro la card di destra */
.erena-contatti [data-id="12df483"] .elementor-shortcode,
.erena-contatti [data-id="12df483"] .wpcf7{
  max-width: 520px;
  margin: 0 auto;
}

/* Icon list: più grande, icone stesso colore del testo/etichette */
.erena-contatti .elementor-icon-list-items{
  gap: 14px;
}

.erena-contatti .elementor-icon-list-item{
  align-items: center;
  padding: 10px 0;
}

.erena-contatti .elementor-icon-list-icon{
  margin-right: 14px !important;
}

.erena-contatti .elementor-icon-list-icon svg{
  width: 20px;
  height: 20px;
  fill: rgba(46,42,38,.75); /* stesso colore delle label */
}

.erena-contatti .elementor-icon-list-text{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5;
  font-weight: 600;
  color: rgba(46,42,38,.75); /* stesso colore delle label */
}

/* ================================
   CONTACT FORM 7 - stile ERENA
   ================================ */

.erena-contatti .wpcf7 form{
  margin: 0;
}

.erena-contatti .wpcf7 p{
  margin: 0 0 16px 0;
}

/* Label */
.erena-contatti .wpcf7 label{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: rgba(46,42,38,.75);
}

/* input/textarea (più compatti e centrati) */
.erena-contatti .wpcf7 input[type="text"],
.erena-contatti .wpcf7 input[type="email"],
.erena-contatti .wpcf7 textarea{
  width: 100%;
  max-width: 520px;
  margin: 8px auto 0 auto; /* centra i campi */
  display: block;

  border-radius: 14px;
  border: 1px solid rgba(46,42,38,.18);
  background: rgba(255,255,255,.75);
  padding: 14px 16px;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-size: 16px;
  color: #2E2A26;

  outline: none;
  transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease;
}

.erena-contatti .wpcf7 textarea{
  min-height: 130px; /* più basso = form più piccolo */
  resize: vertical;
}

/* focus elegante */
.erena-contatti .wpcf7 input:focus,
.erena-contatti .wpcf7 textarea:focus{
  border-color: rgba(93,122,53,.55);
  box-shadow: 0 0 0 4px rgba(93,122,53,.16);
}

/* submit (centrato) */
.erena-contatti .wpcf7 input[type="submit"]{
  display: inline-flex;
  margin: 8px auto 0 auto;

  border-radius: 999px;
  padding: 13px 26px;
  min-width: 200px;

  border: 1px solid rgba(255,255,255,.12);
  background: #5D7A35;
  color: #F3EEE6;

  font-weight: 700;
  letter-spacing: 0.02em;
  cursor: pointer;

  box-shadow: 0 16px 34px rgba(0,0,0,.18);
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

.erena-contatti .wpcf7 input[type="submit"]:hover{
  transform: translateY(-1px);
  background: #4F6A2E;
  box-shadow: 0 22px 44px rgba(0,0,0,.22);
}

/* spinner e messaggi CF7 */
.erena-contatti .wpcf7-spinner{
  margin-left: 10px;
}

/* ================================
   RESPONSIVE
   ================================ */
@media (max-width: 1024px){
  .erena-contatti{ padding: 70px 0 !important; }
  .erena-contatti .elementor-heading-title{ font-size: 46px; }

  /* riequilibrio colonne su tablet */
  .erena-contatti [data-id="46a7292"]{ flex: 0 0 46%; }
  .erena-contatti [data-id="12df483"]{ flex: 0 0 50%; max-width: none; }
}

@media (max-width: 767px){
  .erena-contatti{ padding: 52px 0 !important; }
  .erena-contatti .elementor-heading-title{ font-size: 36px; }

  .erena-contatti [data-id="8072d15"]{ flex-direction: column; }

  .erena-contatti [data-id="46a7292"],
  .erena-contatti [data-id="12df483"]{
    padding: 22px !important;
    flex: 1 1 auto !important;
    max-width: none !important;
    margin-left: 0 !important;
  }

  .erena-contatti .wpcf7 input[type="submit"]{
    width: 100%;
    min-width: 0;
  }
}

/* ================================
   FINE SEZIONE CONTATTI - ERENA
   ================================ */

/* =========================================
   ERENA — HEADER MOBILE (LOGO GRANDE + MENU RIDISEGNATO)
   ========================================= */

@media (max-width: 767px){

  /* HEADER: centrato orizzontalmente */
  .erena-mobile-header{
    width: 100% !important;
    min-height: 100px !important;               /* ⬅️ ridotto leggermente */
    padding: 12px 16px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;

    background: #2B1711 !important;
  }

  /* LOGO */
  .erena-mobile-logo{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 0 !important;
  }

  .erena-mobile-logo img{
    height: 140px !important;                   /* ⬅️ logo leggermente ridotto */
    width: auto !important;
    max-height: 160px !important;
    object-fit: contain !important;
    display: block !important;

    filter: drop-shadow(0 14px 30px rgba(0,0,0,.28));
  }

  /* MENU */
  .erena-mobile-menu{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }

  /* Rimuovo completamente lo stile box */
  .erena-mobile-menu .elementskit-menu-hamburger.elementskit-menu-toggler{
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    width: auto !important;
    height: auto !important;
    padding: 10px !important;
    position: relative !important;
  }

  /* Nascondo icona originale ElementsKit */
  .erena-mobile-menu .elementskit-menu-hamburger-icon{
    display: none !important;
  }

  /* Hamburger ridisegnato minimal */
  .erena-mobile-menu .elementskit-menu-hamburger.elementskit-menu-toggler::before{
    content: "" !important;
    width: 24px !important;
    height: 3px !important;
    background: #fff !important;
    border-radius: 3px !important;
    display: block !important;

    box-shadow:
      0 -8px 0 #fff,
      0 8px 0 #fff;
  }
}

/* ================================
   ERENA — OFFCANVAS MENU (ElementsKit)
   Target: #ekit-megamenu-main-menu-desktop
   ================================ */
@media (max-width: 1024px){

  /* Overlay dietro al menu */
  .elementskit-menu-overlay.ekit-nav-menu--overlay{
    background: rgba(0,0,0,.55) !important;
    backdrop-filter: blur(2px) !important;
    -webkit-backdrop-filter: blur(2px) !important;
  }

  /* Pannello offcanvas */
  #ekit-megamenu-main-menu-desktop.elementskit-menu-container.elementskit-menu-offcanvas-elements{
    background: rgba(43, 23, 17, .92) !important; /* marrone caldo Erena */
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;

    border-left: 1px solid rgba(255,255,255,.12) !important;
    box-shadow: -30px 0 70px rgba(0,0,0,.45) !important;

    padding: 22px 18px 26px !important;
  }

  /* Lista */
  #ekit-megamenu-main-menu-desktop .elementskit-navbar-nav{
    padding: 18px 6px 6px !important;
    margin: 0 !important;
    gap: 6px !important;
  }

  /* Voci: card soft */
  #ekit-megamenu-main-menu-desktop .elementskit-navbar-nav > li{
    margin: 0 !important;
    border-radius: 16px !important;
    overflow: hidden;
  }

  /* Link: tipografia + spaziatura premium */
  #ekit-megamenu-main-menu-desktop a.ekit-menu-nav-link{
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    padding: 16px 14px !important;
    border-radius: 16px !important;

    font-family: "Playfair Display", serif !important;
    font-weight: 600 !important;
    font-size: 24px !important;
    line-height: 1.1 !important;

    color: rgba(243,238,230,.95) !important; /* panna */
    text-decoration: none !important;

    background: rgba(255,255,255,.06) !important;
    border: 1px solid rgba(255,255,255,.10) !important;

    transition: transform .18s ease, background-color .18s ease, border-color .18s ease;
  }

  /* Hover */
  #ekit-megamenu-main-menu-desktop a.ekit-menu-nav-link:hover{
    transform: translateY(-1px);
    background: rgba(93,122,53,.14) !important; /* verde salvia soft */
    border-color: rgba(93,122,53,.28) !important;
  }

  /* Active/current (se ElementsKit applica classi current) */
  #ekit-megamenu-main-menu-desktop .current-menu-item > a,
  #ekit-megamenu-main-menu-desktop .current-menu-ancestor > a{
    background: rgba(93,122,53,.18) !important;
    border-color: rgba(93,122,53,.35) !important;
  }

  /* Separatore sottile (effetto “lista elegante”) */
  #ekit-megamenu-main-menu-desktop .elementskit-navbar-nav > li + li{
    margin-top: 10px !important;
  }

  /* Pannello identità + bottone chiudi */
  #ekit-megamenu-main-menu-desktop .elementskit-nav-identity-panel{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    padding: 6px 6px 0 !important;
  }

  #ekit-megamenu-main-menu-desktop .elementskit-menu-close.elementskit-menu-toggler{
    width: 44px !important;
    height: 44px !important;
    border-radius: 14px !important;

    background: rgba(255,255,255,.10) !important;
    border: 1px solid rgba(255,255,255,.18) !important;

    color: rgba(243,238,230,.95) !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    line-height: 1 !important;

    box-shadow: 0 14px 30px rgba(0,0,0,.25) !important;
    cursor: pointer !important;

    transition: transform .18s ease, background-color .18s ease;
  }

  #ekit-megamenu-main-menu-desktop .elementskit-menu-close.elementskit-menu-toggler:hover{
    transform: translateY(-1px);
    background: rgba(255,255,255,.14) !important;
  }
}

/* Mobile stretto: riduci un filo il font per non “rompere” */
@media (max-width: 360px){
  #ekit-megamenu-main-menu-desktop a.ekit-menu-nav-link{
    font-size: 21px !important;
  }
}

@media (max-width: 1024px){

  /* ===== MENU ITEMS: solo scritte (no box) ===== */

  /* niente “card” sul li */
  #ekit-megamenu-main-menu-desktop .elementskit-navbar-nav > li{
    border-radius: 0 !important;
    overflow: visible !important;
  }

  /* link: rimuovo box (sfondo/bordo/radius) ma tengo area di tap */
  #ekit-megamenu-main-menu-desktop a.ekit-menu-nav-link{
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;

    padding: 14px 6px !important; /* area comoda, ma “pulita” */
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  /* hover/active: niente box, solo cambio colore testo */
  #ekit-megamenu-main-menu-desktop a.ekit-menu-nav-link:hover{
    transform: none !important;
    background: transparent !important;
    border-color: transparent !important;
    color: #ffffff !important; /* oppure il tuo panna */
    opacity: .92 !important;
  }

  #ekit-megamenu-main-menu-desktop .current-menu-item > a,
	#ekit-megamenu-main-menu-desktop .current-menu-ancestor > a{
  	background: transparent !important;
  	border: 0 !important;
  	color: #386C10 !important; /* Verde Erena */
  	text-decoration: none !important;
  	font-weight: 700 !important; /* leggermente più deciso */
}

  /* opzionale: riduco lo “stacco” tra voci, visto che non sono più card */
  #ekit-megamenu-main-menu-desktop .elementskit-navbar-nav > li + li{
    margin-top: 6px !important;
  }


  /* ===== CLOSE (X): solo X (no box) ===== */
  #ekit-megamenu-main-menu-desktop .elementskit-menu-close.elementskit-menu-toggler{
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;

    width: auto !important;
    height: auto !important;
    padding: 10px 8px !important; /* tappabile ma senza “bottone” */

    font-size: 22px !important;
    line-height: 1 !important;
  }

  #ekit-megamenu-main-menu-desktop .elementskit-menu-close.elementskit-menu-toggler:hover{
    transform: none !important;
    background: transparent !important;
    opacity: .85 !important;
  }
}
/* =========================================
   ERENA — SERVIZI: HOVER CARD + CTA come HOME
   FIX: hover SOLO card + modale centrata pagina
   Richiede classe sulle 4 card: erena-servizio-card
   ========================================= */

/* HOVER solo sulle card (NO transform sulla card) */
.erena-servizi-grid .erena-servizio-card{
  position: relative;
  top: 0;
  overflow: visible !important;
  transition: top .28s ease, box-shadow .28s ease, border-color .28s ease;
}

.erena-servizi-grid .erena-servizio-card:hover{
  top: -8px;
  box-shadow: 0 34px 80px rgba(0,0,0,.18);
  border-color: rgba(93,122,53,.28);
}

/* zoom immagine */
.erena-servizi-grid .erena-servizio-card .elementor-widget-image{
  overflow: hidden;
}

.erena-servizi-grid .erena-servizio-card .elementor-widget-image img{
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
  will-change: transform;
}

.erena-servizi-grid .erena-servizio-card:hover .elementor-widget-image img{
  transform: scale(1.06);
}

/* shine soft */
.erena-servizi-grid .erena-servizio-card::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius: 18px;
  pointer-events:none;
  opacity:0;
  transition: opacity .35s ease;
  background: linear-gradient(120deg,
    rgba(255,255,255,.28) 0%,
    rgba(255,255,255,.12) 35%,
    rgba(255,255,255,0) 60%);
}
.erena-servizi-grid .erena-servizio-card:hover::after{ opacity:1; }


/* =========================================
   ERENA — PAGINA "I NOSTRI SERVIZI"
   Pulsanti modali (HT Mega) COMPATTI
   Scope: solo griglia servizi (.erena-servizi-grid)
   ========================================= */

.erena-servizi-grid .htmega-modal-btn button{
  appearance: none;
  -webkit-appearance: none;

  /* ✅ DIMENSIONI COMPATTE: poco più grande del testo */
  height: 40px;
  min-width: 0;
  padding: 0 16px;

  /* ✅ CENTRATURA PERFETTA */
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;

  /* ✅ PILL ERENA */
  border-radius: 999px !important;

  /* ✅ TIPOGRAFIA */
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;

  /* ✅ COLORI */
  background-color: #5D7A35 !important;
  color: #F3EEE6 !important;
  border: 1px solid transparent !important;

  /* ✅ OMBRA SOFT */
  box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;

  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
  cursor: pointer;
}

.erena-servizi-grid .htmega-modal-btn button:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
  background-color: #4F6A2E !important;
}

/* Mobile: resta compatto (NO full width) */
@media (max-width: 767px){
  .erena-servizi-grid .htmega-modal-btn button{
    width: auto !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 0 16px !important;
  }
}

/* FIX modale: sempre centrata nella pagina */
.htb-modal.htmega-modal-area{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
}


/* Bottone HT Mega stile HOME */
.erena-servizi-grid .htmega-modal-btn button{
  border-radius: 999px !important;
  padding: 14px 26px !important;
  min-width: 180px;
  display: inline-flex;
  align-items: center;
  justify-content: center;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;

  background-color: #5D7A35 !important;
  color: #F3EEE6 !important;
  border: 1px solid transparent !important;

  box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;

  cursor: pointer;
}

.erena-servizi-grid .htmega-modal-btn button:hover{
  transform: translateY(-1px) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
  background-color: #4F6A2E !important;
}

@media (max-width: 767px){
  .erena-servizi-grid .htmega-modal-btn button{
    width: 100%;
    min-width: 0;
  }
}

/* ==================================================
   ERENA — CF7 SUBMIT in MODALE (centratura perfetta)
   ================================================== */

/* Contenitore del submit: centro matematico */
.htb-modal-body .wpcf7 form p:last-of-type{
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  margin-top: 8px !important;
}

/* Pulsante Invia */
.htb-modal-body .wpcf7 form input.wpcf7-submit{
  appearance: none;
  -webkit-appearance: none;

  width: auto !important;
  min-width: 180px !important;
  height: 48px !important;

  padding: 0 26px !important;
  border-radius: 999px !important;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;

  background-color: #5D7A35 !important;
  color: #F3EEE6 !important;
  border: 1px solid transparent !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  line-height: 1 !important;
  cursor: pointer !important;

  box-shadow: 0 10px 22px rgba(0,0,0,.16) !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}

/* Hover */
.htb-modal-body .wpcf7 form input.wpcf7-submit:hover{
  transform: translateY(-1px) !important;
  background-color: #4F6A2E !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
}

/* Active */
.htb-modal-body .wpcf7 form input.wpcf7-submit:active{
  transform: translateY(0) !important;
}

/* Spinner CF7: assoluto → NON influenza la larghezza */
.htb-modal-body .wpcf7-spinner{
  position: absolute !important;
  right: -34px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  opacity: .85 !important;
}

/* Mobile: full width come il resto del sito */
@media (max-width: 767px){
  .htb-modal-body .wpcf7 form input.wpcf7-submit{
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
  }

  .htb-modal-body .wpcf7-spinner{
    right: 12px !important;
  }
}


/* ==================================================
   ERENA — CF7 in MODALE (campi + label + messaggi)
   NON tocca il submit (già sistemato)
   ================================================== */

/* layout/ritmo */
.htb-modal-body .wpcf7 form{
  margin: 0 !important;
}

.htb-modal-body .wpcf7 form p{
  margin: 0 0 14px 0 !important;
}

/* label (stile Erena) */
.htb-modal-body .wpcf7 form label{
  display: block !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: rgba(46,42,38,.78) !important;
  letter-spacing: .01em !important;
}

/* evita il "br" che spesso crea spazi brutti */
.htb-modal-body .wpcf7 form label br{
  display: none !important;
}

/* wrapper campo: distanza uniforme dal testo label */
.htb-modal-body .wpcf7 .wpcf7-form-control-wrap{
  display: block !important;
  margin-top: 8px !important;
}

/* campi (ESCLUSO submit) */
.htb-modal-body .wpcf7 .wpcf7-form-control:not(.wpcf7-submit){
  width: 100% !important;
  box-sizing: border-box !important;

  border-radius: 14px !important;
  border: 1px solid rgba(46,42,38,.18) !important;
  background: rgba(255,255,255,.75) !important;

  padding: 14px 16px !important;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  color: #2E2A26 !important;

  outline: none !important;
  transition: box-shadow .18s ease, border-color .18s ease, transform .18s ease, background-color .18s ease !important;
}

/* textarea più “spa”, meno “blocco enorme” */
.htb-modal-body .wpcf7 textarea.wpcf7-textarea{
  min-height: 130px !important;
  resize: vertical !important;
}

/* placeholder soft */
.htb-modal-body .wpcf7 ::placeholder{
  color: rgba(46,42,38,.45) !important;
}

/* focus elegante (salvia Erena) */
.htb-modal-body .wpcf7 .wpcf7-form-control:not(.wpcf7-submit):focus{
  border-color: rgba(93,122,53,.55) !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 0 0 4px rgba(93,122,53,.16) !important;
  transform: translateY(-1px);
}

/* stati CF7: campo non valido */
.htb-modal-body .wpcf7 form .wpcf7-not-valid{
  border-color: rgba(180, 60, 60, .55) !important;
  box-shadow: 0 0 0 4px rgba(180, 60, 60, .12) !important;
}

/* messaggio di errore sotto al campo */
.htb-modal-body .wpcf7 form .wpcf7-not-valid-tip{
  margin-top: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(180, 60, 60, .92) !important;
}

/* messaggio finale (success/errore) */
.htb-modal-body .wpcf7 form .wpcf7-response-output{
  margin: 14px 0 0 0 !important;
  padding: 14px 14px !important;
  border-radius: 14px !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* success */
.htb-modal-body .wpcf7 form.sent .wpcf7-response-output{
  border: 1px solid rgba(93,122,53,.35) !important;
  background: rgba(93,122,53,.10) !important;
  color: rgba(46,42,38,.88) !important;
}

/* error */
.htb-modal-body .wpcf7 form.invalid .wpcf7-response-output,
.htb-modal-body .wpcf7 form.failed .wpcf7-response-output,
.htb-modal-body .wpcf7 form.aborted .wpcf7-response-output{
  border: 1px solid rgba(180, 60, 60, .35) !important;
  background: rgba(180, 60, 60, .08) !important;
  color: rgba(46,42,38,.88) !important;
}

/* spinner allineato meglio al bottone (non cambia il bottone) */
.htb-modal-body .wpcf7 form p:last-of-type{
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 10px !important;
}

.htb-modal-body .wpcf7-spinner{
  margin: 0 !important;
  opacity: .85 !important;
}

/* ==================================================
   ERENA — HEADER MODALE (Titolo form)
   Font: Cormorant Garamond
   + FIX X sempre dentro al bordo modale
   ================================================== */

/* Header */
.htb-modal-header{
  position: relative !important;
  padding: 26px 54px 16px 54px !important; /* spazio aria + X */
  text-align: center !important;
  border-bottom: 1px solid rgba(46,42,38,.10) !important;

  /* utile, ma da solo non basta se il wrapper modale lascia sbordare */
  overflow: hidden !important;
}

/* Titolo */
.htb-modal-header h5{
  margin: 0 !important;
  font-family: "Cormorant Garamond", serif !important;
  font-weight: 500 !important;
  font-size: 24px !important;
  line-height: 1.2 !important;
  color: #2E2A26 !important;
  letter-spacing: .02em !important;
}

/* Accento editoriale sotto il titolo */
.htb-modal-header h5::after{
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  margin: 12px auto 0 auto;
  background: rgba(93,122,53,.55);
  border-radius: 2px;
}

/* Bottone chiudi (X) — “clamp” dentro il box */
.htb-modal-header .htb-close{
  position: absolute !important;

  /* invece di top/right liberi, usiamo inset + trasformazione:
     così resta SEMPRE dentro anche con zoom/padding strani */
  top: 14px !important;
  right: 14px !important;

  width: 38px !important;
  height: 38px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(46,42,38,.15) !important;
  background: rgba(255,255,255,.65) !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  font-size: 18px !important;
  line-height: 1 !important;

  cursor: pointer !important;
  box-sizing: border-box !important;

  /* questo evita l’effetto “fuori bordo” se qualche stile esterno
     aggiunge translate o scale al bottone o al parent */
  transform: translate3d(0,0,0) !important;

  transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease !important;
}

/* Hover close */
.htb-modal-header .htb-close:hover{
  transform: translate3d(0,-1px,0) !important;
  background: #ffffff !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.18) !important;
}

/* Simbolo X */
.htb-modal-header .htb-close span{
  font-weight: 400 !important;
  color: rgba(46,42,38,.75) !important;
}

/* ==================================================
   FIX REALE: il bordo arrotondato è sul wrapper modale,
   quindi dobbiamo impedire lo “sbordo” lì, non solo sull’header.
   (HT Mega / Bootstrap-like)
   ================================================== */

/* prova a “chiudere” il contenuto nella modale */
.htb-modal .htb-modal-dialog,
.htb-modal .htb-modal-content,
.htb-modal .htb-modal-body,
.htb-modal .htb-modal-header{
  overflow: hidden !important;
}

/* se la modale ha un border-radius sul content, ribadiamolo */
.htb-modal .htb-modal-content{
  border-radius: 18px !important;
}

/* Mobile */
@media (max-width: 767px){
  .htb-modal-header{
    padding: 22px 48px 14px 48px !important;
  }

  .htb-modal-header h5{
    font-size: 20px !important;
  }

  .htb-modal-header h5::after{
    margin-top: 10px !important;
  }

  .htb-modal-header .htb-close{
    top: 10px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
  }
}

/* ==================================================
   ERENA — FOOTER MODALE
   ================================================== */

.htb-modal-footer{
  padding: 18px 24px 24px 24px !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 12px !important;

  border-top: 1px solid rgba(46,42,38,.10) !important;
  background: transparent !important;
}

/* elimina eventuali <p> vuoti che sporcano il layout */
.htb-modal-footer p{
  display: none !important;
}

/* Bottone Close → stile Erena SECONDARIO */
.htb-modal-footer .htb-btn{
  appearance: none;
  -webkit-appearance: none;

  border-radius: 999px !important;
  padding: 12px 26px !important;
  min-width: 160px;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;

  background: rgba(243,238,230,.92) !important;
  color: #2E2A26 !important;

  border: 1px solid rgba(46,42,38,.25) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,.12) !important;

  cursor: pointer !important;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease, border-color .18s ease !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Hover */
.htb-modal-footer .htb-btn:hover{
  transform: translateY(-1px) !important;
  background: #F3EEE6 !important;
  border-color: rgba(46,42,38,.40) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.18) !important;
}

/* Active */
.htb-modal-footer .htb-btn:active{
  transform: translateY(0) !important;
}

/* Mobile */
@media (max-width: 767px){
  .htb-modal-footer{
    padding: 16px 18px 20px 18px !important;
  }

  .htb-modal-footer .htb-btn{
    width: 100%;
    min-width: 0;
  }
}

/* ==================================================
   ERENA — Bottone WhatsApp
   Centratura garantita (parent + link)
   ================================================== */

/* 1) centra il widget/contesto che contiene il link */
.htb-modal-body .elementor-widget-html,
.htb-modal-body .elementor-widget-text-editor{
  text-align: center !important;
}

/* 2) bottone WhatsApp */
.htb-modal-body a[href^="https://wa.me"]{
  /* centratura reale */
  display: inline-flex !important;        /* chiave: inline + text-align:center del parent */
  align-items: center !important;
  justify-content: center !important;
  margin: 18px auto 20px auto !important;

  /* non si stira */
  width: auto !important;
  max-width: 100% !important;
  flex: 0 0 auto !important;

  /* DIMENSIONI COME CF7 SUBMIT */
  height: 48px !important;
  min-width: 180px !important;
  padding: 0 26px !important;

  /* pill Erena */
  border-radius: 999px !important;

  /* tipografia */
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;

  /* verde WhatsApp scuro */
  background-color: #1FA855 !important;
  color: #ffffff !important;

  /* ombra Erena */
  box-shadow:
    0 12px 26px rgba(0,0,0,.18),
    inset 0 1px 0 rgba(255,255,255,.25) !important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    filter .18s ease !important;

  position: relative !important;
  gap: 10px !important;
}

/* Icona WhatsApp — SVG nitida */
.htb-modal-body a[href^="https://wa.me"]::after{
  content: "" !important;
  width: 20px !important;
  height: 20px !important;

  background-image: url("https://www.erena.it/wp-content/uploads/2026/02/whatsapp-5.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;

  flex-shrink: 0 !important;
}

/* Hover */
.htb-modal-body a[href^="https://wa.me"]:hover{
  transform: translateY(-1px) !important;
  filter: brightness(1.05) !important;

  box-shadow:
    0 16px 34px rgba(0,0,0,.22),
    inset 0 1px 0 rgba(255,255,255,.35) !important;
}

/* Active */
.htb-modal-body a[href^="https://wa.me"]:active{
  transform: translateY(0) !important;
}

/* Mobile: full width come "Invia" */
@media (max-width: 767px){
  .htb-modal-body a[href^="https://wa.me"]{
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
  }
}

/* ==================================================
   FIX EA MODAL — evita lampeggio su card servizi
   ================================================== */

/* quando clicco un bottone che apre una modale EA,
   blocchiamo hover/transform del parent */
.erena-servizi .e-con:has(.eael-modal-trigger:hover),
.erena-servizi .e-con:has(.eael-modal-trigger:focus){
  transform: none !important;
  top: 0 !important;
}
/* EA Modal: sempre sopra tutto e fuori dal flusso */
.eael-modal-popup{
  position: fixed !important;
  inset: 0 !important;
  z-index: 999999 !important;
}
/* ==================================================
   FINE BLOCCO - FIX EA MODAL — evita lampeggio su card servizi
   ================================================== */


/* =========================================================
   ERENA — PERSONALIZZAZIONE PAGINA CONTATTI
   ========================================================= */
/* =========================================================
   ERENA — CONTACT FORM (CF7 dentro HTMega) — sid7d16662
   Scope: solo questo modulo
   ========================================================= */

/* ✅ Applichiamo lo stile sia alla nuova classe (sid7d16662)
      sia alla vecchia (sid11d1939) per sicurezza */
.sid7d16662,
.sid11d1939{
  /* palette Erena */
  --erena-blue: #031D3C;
  --erena-sky:  #0181C6;
  --erena-sky-2:#0a6aa7;  /* hover/active */
  --erena-ink:  #0b1220;
  --erena-line: rgba(3, 29, 60, .14);
  --erena-soft: rgba(3, 29, 60, .08);
  --erena-card: rgba(255,255,255,.92);
  --erena-white:#ffffff;

  /* radius/ombra coerenti con Erena */
  --erena-radius: 18px;
  --erena-radius-sm: 14px;
  --erena-shadow: 0 18px 50px rgba(3, 29, 60, .14);
  --erena-shadow-hover: 0 28px 75px rgba(3, 29, 60, .20);
}

/* wrapper card */
.sid7d16662.htmega-form-wrapper,
.sid11d1939.htmega-form-wrapper{
  width: 100%;
  max-width: 780px;
  margin: 0 auto;                 /* centrato */
  padding: 26px 22px;
  border-radius: var(--erena-radius);
  background: linear-gradient(180deg, var(--erena-card), rgba(255,255,255,.86));
  border: 1px solid var(--erena-line);
  box-shadow: var(--erena-shadow);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

/* spacing righe */
.sid7d16662 .wpcf7 form p,
.sid11d1939 .wpcf7 form p{
  margin: 0 0 14px;
}

.sid7d16662 .wpcf7 label,
.sid11d1939 .wpcf7 label{
  display: block;
  font-weight: 600;
  letter-spacing: .2px;
  color: var(--erena-blue);
  margin-bottom: 6px;
}

/* input / textarea */
.sid7d16662 .wpcf7 input[type="text"],
.sid7d16662 .wpcf7 input[type="email"],
.sid7d16662 .wpcf7 textarea,
.sid11d1939 .wpcf7 input[type="text"],
.sid11d1939 .wpcf7 input[type="email"],
.sid11d1939 .wpcf7 textarea{
  width: 100%;
  box-sizing: border-box;
  padding: 14px 14px;
  border-radius: var(--erena-radius-sm);
  border: 1px solid var(--erena-line);
  background: rgba(255,255,255,.95);
  color: var(--erena-ink);
  outline: none;
  transition: border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}

/* textarea un po' più "premium" */
.sid7d16662 .wpcf7 textarea,
.sid11d1939 .wpcf7 textarea{
  min-height: 160px;
  resize: vertical;
  line-height: 1.45;
}

/* placeholder */
.sid7d16662 .wpcf7 input::placeholder,
.sid7d16662 .wpcf7 textarea::placeholder,
.sid11d1939 .wpcf7 input::placeholder,
.sid11d1939 .wpcf7 textarea::placeholder{
  color: rgba(11, 18, 32, .45);
}

/* focus Erena */
.sid7d16662 .wpcf7 input[type="text"]:focus,
.sid7d16662 .wpcf7 input[type="email"]:focus,
.sid7d16662 .wpcf7 textarea:focus,
.sid11d1939 .wpcf7 input[type="text"]:focus,
.sid11d1939 .wpcf7 input[type="email"]:focus,
.sid11d1939 .wpcf7 textarea:focus{
  border-color: rgba(1,129,198,.55);
  box-shadow: 0 0 0 4px rgba(1,129,198,.18);
  transform: translateY(-1px);
}

/* stato invalid CF7 */
.sid7d16662 .wpcf7-not-valid,
.sid11d1939 .wpcf7-not-valid{
  border-color: rgba(220, 38, 38, .55) !important;
  box-shadow: 0 0 0 4px rgba(220, 38, 38, .12) !important;
}
.sid7d16662 .wpcf7-not-valid-tip,
.sid11d1939 .wpcf7-not-valid-tip{
  margin-top: 8px;
  font-size: 13px;
  font-weight: 600;
  color: #b91c1c;
}

/* =========================================================
   PULSANTE — (centrato robusto + più piccolo + colori richiesti)
   ========================================================= */

.sid7d16662 .wpcf7 input[type="submit"],
.sid11d1939 .wpcf7 input[type="submit"]{
  width: auto;            /* non full width */
  min-width: 220px;       /* dimensione elegante */
  height: 46px;           /* più piccolo */
  padding: 0 32px;        /* solo orizzontale per centratura perfetta */

  /* centratura robusta */
  float: none !important;
  display: block !important;
  margin: 0 auto !important;

  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.35);
  cursor: pointer;

  color: #ffffff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: .3px;
  line-height: 1;         /* centratura verticale testo */

  background: #5D7A35;    /* normale */
  box-shadow:
    0 14px 28px rgba(93,122,53,.30),
    0 10px 22px rgba(3,29,60,.18);

  transition:
    background-color .25s ease,
    transform .2s ease,
    box-shadow .2s ease;
}

/* hover */
.sid7d16662 .wpcf7 input[type="submit"]:hover,
.sid11d1939 .wpcf7 input[type="submit"]:hover{
  background: #4F6A2E;
  transform: translateY(-2px);
  box-shadow:
    0 18px 36px rgba(79,106,46,.38),
    0 16px 30px rgba(3,29,60,.22);
}

/* active */
.sid7d16662 .wpcf7 input[type="submit"]:active,
.sid11d1939 .wpcf7 input[type="submit"]:active{
  transform: translateY(0);
  box-shadow:
    0 10px 20px rgba(79,106,46,.28),
    0 8px 18px rgba(3,29,60,.16);
}

/* spinner CF7 più coerente */
.sid7d16662 .wpcf7-spinner,
.sid11d1939 .wpcf7-spinner{
  margin-left: 12px;
  background-color: rgba(255,255,255,.75);
}

/* messaggi di risposta (successo/errore) */
.sid7d16662 .wpcf7-response-output,
.sid11d1939 .wpcf7-response-output{
  margin: 16px 0 0;
  padding: 14px 14px;
  border-radius: 14px;
  border: 1px solid var(--erena-line);
  background: rgba(255,255,255,.9);
  color: var(--erena-blue);
  font-weight: 600;
}

/* success */
.sid7d16662 .wpcf7 form.sent .wpcf7-response-output,
.sid11d1939 .wpcf7 form.sent .wpcf7-response-output{
  border-color: rgba(16, 185, 129, .35);
  background: rgba(16, 185, 129, .10);
}

/* error */
.sid7d16662 .wpcf7 form.invalid .wpcf7-response-output,
.sid7d16662 .wpcf7 form.failed .wpcf7-response-output,
.sid7d16662 .wpcf7 form.aborted .wpcf7-response-output,
.sid11d1939 .wpcf7 form.invalid .wpcf7-response-output,
.sid11d1939 .wpcf7 form.failed .wpcf7-response-output,
.sid11d1939 .wpcf7 form.aborted .wpcf7-response-output{
  border-color: rgba(220, 38, 38, .35);
  background: rgba(220, 38, 38, .08);
}

/* mobile spacing */
@media (max-width: 767px){
  .sid7d16662.htmega-form-wrapper,
  .sid11d1939.htmega-form-wrapper{
    padding: 20px 16px;
    border-radius: 16px;
  }

  .sid7d16662 .wpcf7 input[type="submit"],
  .sid11d1939 .wpcf7 input[type="submit"]{
    min-width: 200px;
    height: 44px;
    padding: 0 26px;
  }
}


/* =========================================================
   ERENA — MAPPA (card premium)
   Applica la classe "erena-map" al container Elementor della mappa
   ========================================================= */

.erena-map{
  position: relative;
  border-radius: 18px;
  overflow: hidden; /* fondamentale per tagliare gli angoli della mappa */
  border: 1px solid rgba(3, 29, 60, .14);
  box-shadow: 0 18px 50px rgba(3, 29, 60, .14);
  background: rgba(255,255,255,.92);
}

/* se dentro c'è un iframe (embed classico o widget Elementor) */
.erena-map iframe{
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px; /* regola come vuoi */
  border: 0 !important;
  filter: saturate(.92) contrast(1.02) brightness(1.02);
}

/* se la mappa non è iframe ma DOM Google (div canvas), applichiamo comunque il filtro */
.erena-map .gm-style,
.erena-map .gm-style > div{
  filter: saturate(.92) contrast(1.02) brightness(1.02);
}

/* overlay soft Erena sopra la mappa */
.erena-map::after{
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none; /* IMPORTANTISSIMO: non blocca la mappa */
  background:
    radial-gradient(1200px 600px at 30% 15%, rgba(255,255,255,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(3,29,60,.04));
}

/* bordo interno "premium" */
.erena-map::before{
  content: "";
  position: absolute;
  inset: 10px;
  pointer-events: none;
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.35);
  box-shadow: inset 0 0 0 1px rgba(3,29,60,.06);
}

.erena-map iframe{
  filter: grayscale(.25) saturate(.75) contrast(1.05) brightness(1.05);
}
.erena-map .gm-style,
.erena-map .gm-style > div{
  filter: grayscale(.25) saturate(.75) contrast(1.05) brightness(1.05);
}

/* =========================================================
   ERENA — CONTATTI
   Modulo e mappa stessa altezza
   ========================================================= */

/* la sezione lavora come contenitore elastico */
.erena-contacts-layout{
  align-items: stretch;
}

/* colonne della sezione */
.erena-contacts-layout > .e-con{
  display: flex;
}

/* wrapper del modulo (compatibile con sid nuovo e vecchio) */
.erena-contacts-layout .sid7d16662,
.erena-contacts-layout .sid11d1939{
  height: 100%;
  display: flex;
}

/* card del form riempie tutta la colonna */
.erena-contacts-layout .sid7d16662.htmega-form-wrapper,
.erena-contacts-layout .sid11d1939.htmega-form-wrapper{
  height: 100%;
}

/* wrapper mappa */
.erena-contacts-layout .erena-map{
  height: 100%;
  min-height: 100%;
}

/* iframe o canvas mappa */
.erena-contacts-layout .erena-map iframe,
.erena-contacts-layout .erena-map .gm-style{
  height: 100% !important;
  min-height: 100%;
}

@media (max-width: 767px){
  .erena-contacts-layout,
  .erena-contacts-layout > .e-con,
  .erena-contacts-layout .sid7d16662,
  .erena-contacts-layout .sid11d1939,
  .erena-contacts-layout .erena-map{
    height: auto !important;
  }

  .erena-contacts-layout .erena-map iframe{
    min-height: 380px;
  }
}

/* =========================================================
   ERENA — MAPPA: rimuove spazio bianco inferiore
   ========================================================= */

.erena-contacts-layout .erena-map{
  padding: 0 !important;
  line-height: 0 !important;
}

.erena-contacts-layout .erena-map iframe{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  border: 0 !important;
}

.erena-contacts-layout .erena-map,
.erena-contacts-layout .erena-map > div,
.erena-contacts-layout .erena-map .elementor-widget-container{
  height: 100% !important;
}

.erena-contacts-layout .erena-map .gm-style{
  height: 100% !important;
}
.erena-contacts-layout .erena-map .elementor-widget-container{
  padding: 0 !important;
}

/* =========================================================
   ERENA — CONTATTI: 3 BOX (Vieni a trovarci / Email / Chiamaci)
   Target SOLO i 3 container specifici
   ========================================================= */

:root{
  --erena-blue: #031D3C;
  --erena-green: #5D7A35;
  --erena-green-hover: #4F6A2E;
  --erena-line: rgba(3, 29, 60, .14);
  --erena-soft: rgba(3, 29, 60, .08);
  --erena-card: rgba(255,255,255,.92);
  --erena-shadow: 0 18px 50px rgba(3, 29, 60, .14);
  --erena-shadow-hover: 0 28px 75px rgba(3, 29, 60, .20);
  --erena-radius: 18px;
  --erena-radius-sm: 14px;
}

/* i 3 container card */
.elementor-element-4e0802fb,
.elementor-element-18ab5b97,
.elementor-element-70cd964b{
  position: relative;
  border-radius: var(--erena-radius);
  overflow: hidden;
  background: linear-gradient(180deg, var(--erena-card), rgba(255,255,255,.86));
  border: 1px solid var(--erena-line);
  box-shadow: var(--erena-shadow);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  padding: 26px 22px; /* se già lo gestisci da Elementor, puoi ridurlo qui */
}

/* hover premium */
.elementor-element-4e0802fb:hover,
.elementor-element-18ab5b97:hover,
.elementor-element-70cd964b:hover{
  transform: translateY(-6px);
  box-shadow: var(--erena-shadow-hover);
  border-color: rgba(93, 122, 53, .35);
}

/* assicura centratura e spazi coerenti dentro */
.elementor-element-4e0802fb > .e-con-inner,
.elementor-element-18ab5b97 > .e-con-inner,
.elementor-element-70cd964b > .e-con-inner{
  gap: 12px;
}

/* ---------- ICON BOX (icona + titolo) ---------- */

/* titolo */
.elementor-element-4e0802fb .elementskit-info-box-title,
.elementor-element-18ab5b97 .elementskit-info-box-title,
.elementor-element-70cd964b .elementskit-info-box-title{
  color: var(--erena-blue);
  font-weight: 700;
  letter-spacing: .2px;
}

/* cerchio soft dietro l'icona */
.elementor-element-4e0802fb .elementskit-info-box-icon,
.elementor-element-18ab5b97 .elementskit-info-box-icon,
.elementor-element-70cd964b .elementskit-info-box-icon{
  width: 64px;
  height: 64px;
  margin: 0 auto 10px;
  border-radius: 999px;
  background: rgba(93, 122, 53, .10);
  border: 1px solid rgba(93, 122, 53, .18);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .28s ease, background-color .28s ease, border-color .28s ease;
}

/* icona */
.elementor-element-4e0802fb .elementkit-infobox-icon,
.elementor-element-18ab5b97 .elementkit-infobox-icon,
.elementor-element-70cd964b .elementkit-infobox-icon{
  color: var(--erena-green);
  font-size: 32px;
  line-height: 1;
}

/* hover icon: micro-lift */
.elementor-element-4e0802fb:hover .elementskit-info-box-icon,
.elementor-element-18ab5b97:hover .elementskit-info-box-icon,
.elementor-element-70cd964b:hover .elementskit-info-box-icon{
  transform: translateY(-2px);
  background: rgba(93, 122, 53, .14);
  border-color: rgba(93, 122, 53, .30);
}

/* ---------- LINEA “minus” (separatore) ---------- */

/* rende la lineetta più sottile e coerente */
.elementor-element-4e0802fb .elementor-widget-icon .elementor-icon i,
.elementor-element-18ab5b97 .elementor-widget-icon .elementor-icon i,
.elementor-element-70cd964b .elementor-widget-icon .elementor-icon i{
  color: rgba(3, 29, 60, .22);
}

/* se vuoi una linea più “grafica” e meno icona: riduciamo */
.elementor-element-4e0802fb .elementor-widget-icon,
.elementor-element-18ab5b97 .elementor-widget-icon,
.elementor-element-70cd964b .elementor-widget-icon{
  margin-top: -4px;
  margin-bottom: -4px;
  opacity: .9;
}

/* ---------- TESTI (indirizzo / città / mail / telefono) ---------- */

.elementor-element-4e0802fb .elementskit-section-subtitle,
.elementor-element-18ab5b97 .elementskit-btn,
.elementor-element-70cd964b .elementskit-btn{
  color: var(--erena-blue);
  font-weight: 600;
}

/* indirizzo: accento verde Erena (come nello screenshot) */
.elementor-element-4e0802fb .elementskit-section-subtitle{
  color: var(--erena-green);
  font-weight: 700;
}

/* città */
.elementor-element-4e0802fb .ekit-heading--title{
  color: var(--erena-blue);
  font-weight: 700;
}

/* ---------- BOTTONI (mail e telefono) ---------- */

/* reset stile link (niente underline / niente blu) */
.elementor-element-18ab5b97 a,
.elementor-element-70cd964b a{
  text-decoration: none !important;
}

/* bottone: look “link premium” (non sembra un bottone aggressivo) */
.elementor-element-18ab5b97 .elementskit-btn,
.elementor-element-70cd964b .elementskit-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(93, 122, 53, .08);
  border: 1px solid rgba(93, 122, 53, .18);
  transition: background-color .22s ease, border-color .22s ease, transform .22s ease;
}

/* hover bottone */
.elementor-element-18ab5b97:hover .elementskit-btn,
.elementor-element-70cd964b:hover .elementskit-btn{
  background: rgba(93, 122, 53, .12);
  border-color: rgba(93, 122, 53, .28);
  transform: translateY(-1px);
}

/* ---------- CLICK AREA (facoltativo ma consigliato) ---------- */
/* se vuoi rendere cliccabile "tutta la card" quando il link non è # */
.elementor-element-4e0802fb .ekit_global_links,
.elementor-element-18ab5b97 .ekit_global_links,
.elementor-element-70cd964b .ekit_global_links{
  text-decoration: none !important;
  color: inherit !important;
}


/* =========================================================
   FINE BLOCCO — PERSONALIZZAZIONE PAGINA CONTATTI
   ========================================================= */

/* =========================================
   ERENA — HOME SERVIZI: slider mobile (solo wrapper principale)
   + reset dentro le modali HT Mega
   ========================================= */
@media (max-width: 767px){

  /* ✅ SOLO la e-con-inner DIRETTA della sezione (track dello slider) */
  .erena-servizi > .e-con-inner{
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;

    overflow-x: auto !important;
    overflow-y: visible !important;

    gap: 18px !important;
    padding: 0 10px 14px !important;

    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;

    scrollbar-width: none !important; /* Firefox */
  }

  .erena-servizi > .e-con-inner::-webkit-scrollbar{
    height: 0 !important;
  }

  .erena-servizi > .e-con-inner > .e-con.e-child{
  flex: 0 0 80% !important;
  max-width: 80% !important;
  width: auto !important;
  scroll-snap-align: center !important;
}

  /* ✅ RESET: dentro le modali NON deve mai essere slider */
  .erena-servizi .htmega-modal-area .e-con-inner{
    display: block !important;
    flex-direction: initial !important;
    flex-wrap: initial !important;

    overflow: visible !important;
    scroll-snap-type: none !important;

    padding: 0 !important;
    gap: normal !important;
  }
}

/* ==================================================
   ERENA — STICKY HEADER ON SCROLL
   ================================================== */

/* stato iniziale: header normale */
.erena-header-desktop,
.erena-header-mobile{
  width: 100% !important;
  z-index: 9999 !important;
  transition:
    background-color .25s ease,
    box-shadow .25s ease,
    backdrop-filter .25s ease;
}

/* stato sticky attivato via JS */
.erena-header-desktop.is-sticky,
.erena-header-mobile.is-sticky{
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  z-index: 9999 !important;

  background: rgba(43, 23, 17, 0.92) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  box-shadow: 0 10px 30px rgba(0,0,0,.18) !important;
}

/* evita problemi con container Elementor */
.erena-header-desktop.e-con,
.erena-header-desktop.elementor-element,
.erena-header-mobile.e-con,
.erena-header-mobile.elementor-element{
  overflow: visible !important;
  width: 100% !important;
}

/* offset quando header diventa sticky */
@media (min-width: 1025px){
  body.erena-sticky-active .erena-header-offset{
    padding-top: 110px !important;
  }
}

@media (max-width: 1024px){
  body.erena-sticky-active .erena-header-offset{
    padding-top: 96px !important;
  }
}

/* ==================================================
   ERENA — FIX LOGO NELLO STICKY HEADER
   ================================================== */

/* transizione morbida */
.erena-desktop-logo img,
.erena-mobile-logo img{
  transition: height .25s ease, max-height .25s ease, transform .25s ease;
  display: block !important;
}

/* ==================================================
   ERENA — LOGO DESKTOP NORMALE + STICKY
   ================================================== */

/* contenitore logo stabile */
.erena-desktop-logo{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-width: 150px !important;
}

/* logo dimensione normale (grande come prima) */
.erena-desktop-logo img{
  display: block !important;
  width: auto !important;
  height: 182px !important;
  max-height: 182px !important;
  object-fit: contain !important;

  transform-origin: left center !important;

  transition:
    height .25s ease,
    max-height .25s ease,
    transform .25s ease,
    opacity .25s ease !important;
}

/* comportamento header desktop */
@media (min-width: 1025px){

  /* header normale */
  .erena-header-desktop{
    min-height: 120px !important;
  }

  /* header sticky */
  .erena-header-desktop.is-sticky{
    min-height: 96px !important;
  }

  /* il contenitore logo resta fisso */
  .erena-header-desktop .erena-desktop-logo{
    min-width: 150px !important;
  }

  /* riduzione logo quando sticky */
  .erena-header-desktop.is-sticky .erena-desktop-logo img{
    height: 100px !important;
    max-height: 100px !important;
    width: auto !important;
  }
}

@media (min-width: 1025px){

  /* alza leggermente il menu nello sticky desktop */
  .erena-header-desktop.is-sticky .elementskit-menu-container,
  .erena-header-desktop.is-sticky .elementskit-navbar-nav,
  .erena-header-desktop.is-sticky nav,
  .erena-header-desktop.is-sticky .elementor-widget-nav-menu{
    transform: translateY(-6px) !important;
  }

}

/* ==================================================
   ERENA — HEADER MOBILE STICKY + FIX OFFCANVAS
   Barra più compatta + NO trasparenza
   ================================================== */
@media (max-width: 1024px){

  .erena-header-mobile.is-sticky{
    min-height: 86px !important;
    background: #2B1711 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  .erena-header-mobile.is-sticky .erena-mobile-header{
    height: 86px !important;
    min-height: 86px !important;
    padding: 0 18px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    box-sizing: border-box !important;

    background: #2B1711 !important;
  }

  .erena-header-mobile.is-sticky .erena-mobile-logo{
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .erena-header-mobile.is-sticky .erena-mobile-logo img{
    display: block !important;
    width: auto !important;
    height: 80px !important;
    max-height: 80px !important;
    object-fit: contain !important;
    transform: translateY(0) !important;
    transform-origin: center center !important;
  }

  .erena-header-mobile.is-sticky .erena-mobile-menu{
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .erena-header-mobile.is-sticky .erena-mobile-menu .elementskit-menu-hamburger.elementskit-menu-toggler{
  position: relative !important;
  top: -18px !important;
  transform: none !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

  .erena-header-mobile,
  .erena-header-mobile.is-sticky,
  .erena-header-mobile .erena-mobile-header{
    overflow: visible !important;
  }

  .elementskit-menu-overlay.ekit-nav-menu--overlay{
    z-index: 999998 !important;
  }

  #ekit-megamenu-main-menu-desktop.elementskit-menu-container.elementskit-menu-offcanvas-elements{
    z-index: 999999 !important;
  }

  body.erena-sticky-active .erena-header-offset{
    padding-top: 86px !important;
  }
}

/* =========================================
   ERENA — STICKY HEADER TRANSITIONS
   ========================================= */

.erena-header-desktop,
.erena-header-mobile{
  transition:
    background-color .35s ease,
    box-shadow .35s ease,
    min-height .35s ease,
    transform .35s ease;
}

.erena-mobile-header,
.erena-mobile-logo img,
.erena-desktop-logo img,
.erena-mobile-menu .elementskit-menu-hamburger.elementskit-menu-toggler{
  transition:
    height .35s ease,
    max-height .35s ease,
    transform .35s ease,
    top .35s ease,
    opacity .35s ease;
}

  /* ----------------------------------
     FIX OFFCANVAS / OVERLAY
     ---------------------------------- */

  .erena-header-mobile,
  .erena-header-mobile.is-sticky,
  .erena-header-mobile .erena-mobile-header{
    overflow: visible !important;
  }

  .elementskit-menu-overlay.ekit-nav-menu--overlay{
    z-index: 999998 !important;
  }

  #ekit-megamenu-main-menu-desktop.elementskit-menu-container.elementskit-menu-offcanvas-elements{
    z-index: 999999 !important;
  }

  /* offset coerente con la nuova altezza sticky */
  body.erena-sticky-active .erena-header-offset{
    padding-top: 86px !important;
  }
}
  /* ----------------------------------
     FIX OFFCANVAS / OVERLAY
     SOLO FIX SICURI
     ---------------------------------- */

  .erena-header-mobile,
  .erena-header-mobile.is-sticky,
  .erena-header-mobile .erena-mobile-header{
    overflow: visible !important;
  }

  .elementskit-menu-overlay.ekit-nav-menu--overlay{
    z-index: 999998 !important;
  }

  #ekit-megamenu-main-menu-desktop.elementskit-menu-container.elementskit-menu-offcanvas-elements{
    z-index: 999999 !important;
  }
}

/* ERENA — rimozione icona X banner cookie */
#cn-close-notice {
    display: none !important;
}

/* ==================================================
   ERENA — STILE PULSANTI COOKIE BANNER
   ================================================== */

#cookie-notice .cn-button{
  background-color: #5D7A35 !important;
  color: #ffffff !important;
  border: 1px solid #5D7A35 !important;

  padding: 10px 22px !important;
  border-radius: 30px !important;

  font-family: Inter, system-ui, -apple-system, sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;

  transition: all 0.25s ease !important;
  box-shadow: none !important;

  margin: 5px 6px !important;
}

/* Hover pulsanti */
#cookie-notice .cn-button:hover{
  background-color: #4F6A2E !important;
  border-color: #4F6A2E !important;
  color: #ffffff !important;
}

/* Manteniamo il pulsante accetta identico agli altri */
#cn-accept-cookie{
  background-color: #5D7A35 !important;
  color: #ffffff !important;
  border-color: #5D7A35 !important;
}

/* Hover accetta */
#cn-accept-cookie:hover{
  background-color: #4F6A2E !important;
  border-color: #4F6A2E !important;
  color: #ffffff !important;
}

/* ==================================================
   ERENA — FORM PAGINE SERVIZI
   stile coerente con le vecchie popup CF7
   Scope: solo widget con classe .erena-service-form
   ================================================== */

.erena-service-form{
  --erena-green: #5D7A35;
  --erena-green-hover: #4F6A2E;
  --erena-text: #2E2A26;
  --erena-label: rgba(46,42,38,.78);
  --erena-line: rgba(46,42,38,.18);
  --erena-line-soft: rgba(46,42,38,.10);
  --erena-bg: rgba(255,255,255,.82);
  --erena-bg-focus: rgba(255,255,255,.94);
  --erena-shadow: 0 18px 42px rgba(0,0,0,.08);
  --erena-shadow-btn: 0 10px 22px rgba(0,0,0,.16);
  --erena-shadow-btn-hover: 0 14px 28px rgba(0,0,0,.22);
  --erena-radius: 22px;
  --erena-radius-field: 16px;
}

/* card generale */
.erena-service-form .htmega-form-wrapper,
.erena-service-form .wpcf7-form{
  background: rgba(255,255,255,.72) !important;
  border: 1px solid rgba(46,42,38,.10) !important;
  border-radius: var(--erena-radius) !important;
  box-shadow: var(--erena-shadow) !important;
}

.erena-service-form .wpcf7-form{
  padding: 34px 34px 30px 34px !important;
  margin: 0 !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

/* ritmo verticale */
.erena-service-form .wpcf7-form p{
  margin: 0 0 18px 0 !important;
}

.erena-service-form .wpcf7-form p:last-of-type{
  margin-top: 8px !important;
  margin-bottom: 0 !important;
  position: relative !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
}

/* label */
.erena-service-form .wpcf7-form label{
  display: block !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: .01em !important;
  color: var(--erena-label) !important;
  margin: 0 !important;
}

/* elimina il salto riga interno di CF7 sotto la label */
.erena-service-form .wpcf7-form label br{
  display: none !important;
}

/* wrapper campo */
.erena-service-form .wpcf7-form .wpcf7-form-control-wrap{
  display: block !important;
  margin-top: 8px !important;
}

/* campi */
.erena-service-form .wpcf7-form input[type="text"],
.erena-service-form .wpcf7-form input[type="email"],
.erena-service-form .wpcf7-form input[type="tel"],
.erena-service-form .wpcf7-form textarea{
  width: 100% !important;
  box-sizing: border-box !important;
  display: block !important;

  border-radius: var(--erena-radius-field) !important;
  border: 1px solid var(--erena-line) !important;
  background: var(--erena-bg) !important;

  padding: 14px 16px !important;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  color: var(--erena-text) !important;

  outline: none !important;
  box-shadow: none !important;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background-color .18s ease,
    transform .18s ease !important;
}

/* textarea */
.erena-service-form .wpcf7-form textarea{
  min-height: 160px !important;
  resize: vertical !important;
  border-radius: 18px !important;
}

/* placeholder */
.erena-service-form .wpcf7-form input::placeholder,
.erena-service-form .wpcf7-form textarea::placeholder{
  color: rgba(46,42,38,.42) !important;
}

/* hover */
.erena-service-form .wpcf7-form input[type="text"]:hover,
.erena-service-form .wpcf7-form input[type="email"]:hover,
.erena-service-form .wpcf7-form input[type="tel"]:hover,
.erena-service-form .wpcf7-form textarea:hover{
  border-color: rgba(46,42,38,.26) !important;
  background: rgba(255,255,255,.88) !important;
}

/* focus */
.erena-service-form .wpcf7-form input[type="text"]:focus,
.erena-service-form .wpcf7-form input[type="email"]:focus,
.erena-service-form .wpcf7-form input[type="tel"]:focus,
.erena-service-form .wpcf7-form textarea:focus{
  border-color: rgba(93,122,53,.55) !important;
  background: var(--erena-bg-focus) !important;
  box-shadow: 0 0 0 4px rgba(93,122,53,.14) !important;
  transform: translateY(-1px) !important;
}

/* campo non valido */
.erena-service-form .wpcf7-form .wpcf7-not-valid{
  border-color: rgba(180,60,60,.55) !important;
  box-shadow: 0 0 0 4px rgba(180,60,60,.12) !important;
}

/* tip errore */
.erena-service-form .wpcf7-form .wpcf7-not-valid-tip{
  margin-top: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: rgba(180,60,60,.92) !important;
}

/* submit */
.erena-service-form .wpcf7-form input.wpcf7-submit{
  appearance: none !important;
  -webkit-appearance: none !important;

  width: auto !important;
  min-width: 180px !important;
  height: 48px !important;
  padding: 0 28px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border-radius: 999px !important;
  border: 1px solid transparent !important;

  background-color: var(--erena-green) !important;
  color: #F3EEE6 !important;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;

  cursor: pointer !important;
  box-shadow: var(--erena-shadow-btn) !important;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease !important;
}

/* hover submit */
.erena-service-form .wpcf7-form input.wpcf7-submit:hover{
  transform: translateY(-1px) !important;
  background-color: var(--erena-green-hover) !important;
  box-shadow: var(--erena-shadow-btn-hover) !important;
}

/* active submit */
.erena-service-form .wpcf7-form input.wpcf7-submit:active{
  transform: translateY(0) !important;
}

/* spinner: non deve spostare il bottone */
.erena-service-form .wpcf7-spinner{
  position: absolute !important;
  right: -34px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  margin: 0 !important;
  opacity: .85 !important;
}

/* messaggio finale */
.erena-service-form .wpcf7-form .wpcf7-response-output{
  margin: 16px 0 0 0 !important;
  padding: 14px 14px !important;
  border-radius: 14px !important;
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
}

/* successo */
.erena-service-form .wpcf7-form.sent .wpcf7-response-output{
  border: 1px solid rgba(93,122,53,.35) !important;
  background: rgba(93,122,53,.10) !important;
  color: rgba(46,42,38,.88) !important;
}

/* errore */
.erena-service-form .wpcf7-form.invalid .wpcf7-response-output,
.erena-service-form .wpcf7-form.failed .wpcf7-response-output,
.erena-service-form .wpcf7-form.aborted .wpcf7-response-output{
  border: 1px solid rgba(180,60,60,.35) !important;
  background: rgba(180,60,60,.08) !important;
  color: rgba(46,42,38,.88) !important;
}

/* responsive */
@media (max-width: 767px){
  .erena-service-form .wpcf7-form{
    padding: 24px 18px 22px 18px !important;
    border-radius: 18px !important;
  }

  .erena-service-form .wpcf7-form input[type="text"],
  .erena-service-form .wpcf7-form input[type="email"],
  .erena-service-form .wpcf7-form input[type="tel"],
  .erena-service-form .wpcf7-form textarea{
    padding: 13px 14px !important;
    font-size: 15px !important;
  }

  .erena-service-form .wpcf7-form input.wpcf7-submit{
    width: 100% !important;
    min-width: 0 !important;
    height: 50px !important;
  }

  .erena-service-form .wpcf7-spinner{
    right: 12px !important;
  }
}

/* ==================================================
   ERENA — Testo introduttivo form servizi
   ================================================== */

.erena-service-form .erena-form-intro{
  margin: 0 0 22px 0;
  
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  line-height: 1.35;
  
  color: #2E2A26;
  text-align: center;
  
  opacity: .9;
}

/* linea decorativa soft sotto il testo */

.erena-service-form .erena-form-intro::after{
  content: "";
  display: block;
  
  width: 42px;
  height: 2px;
  
  margin: 12px auto 0 auto;
  
  background: rgba(93,122,53,.55);
  border-radius: 2px;
}

/* ==================================================
   ERENA — Bottone WhatsApp (stile CTA sito)
   ================================================== */

.erena-whatsapp-btn{

  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;

  height: 48px;
  min-width: 180px;
  padding: 0 26px;

  border-radius: 999px;
  border: 1px solid transparent;

  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.02em;

  background-color: #25D366;
  color: #ffffff !important;

  text-decoration: none !important;

  /* OMBRA */
  box-shadow: 0 12px 26px rgba(0,0,0,.18) !important;

  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background-color .18s ease;

}

/* icona WhatsApp */

.erena-whatsapp-btn::after{
  content: "";
  width: 18px;
  height: 18px;

  background-image: url("https://www.erena.it/wp-content/uploads/2026/02/whatsapp-5.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* hover */

.erena-whatsapp-btn:hover{

  transform: translateY(-1px);
  background-color: #1ebe5d;

  box-shadow: 0 16px 34px rgba(0,0,0,.22) !important;

}

/* =========================================================
   ERENA — BOX INFO PAGINA SERVIZIO
   Target:
   - Vieni a trovarci  -> .elementor-element-00108c0
   - Chatta con noi    -> .elementor-element-c9eba9a
   Stile coerente con la pagina Contatti
   ========================================================= */

.elementor-element-00108c0,
.elementor-element-c9eba9a{
  position: relative;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.86));
  border: 1px solid rgba(3, 29, 60, .14);
  box-shadow: 0 18px 50px rgba(3, 29, 60, .14);
  transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease;
  padding: 26px 22px !important;
}

/* hover premium */
.elementor-element-00108c0:hover,
.elementor-element-c9eba9a:hover{
  transform: translateY(-6px);
  box-shadow: 0 28px 75px rgba(3, 29, 60, .20);
  border-color: rgba(93, 122, 53, .35);
}

/* spaziatura interna coerente */
.elementor-element-00108c0 > .e-con-inner,
.elementor-element-c9eba9a > .e-con-inner{
  gap: 12px;
}

/* ---------------------------------------------------------
   ICON BOX
   --------------------------------------------------------- */

.elementor-element-00108c0 .elementskit-info-box-title,
.elementor-element-c9eba9a .elementskit-info-box-title{
  color: #031D3C;
  font-weight: 700;
  letter-spacing: .2px;
}

/* cerchio dietro l’icona */
.elementor-element-00108c0 .elementskit-info-box-icon,
.elementor-element-c9eba9a .elementskit-info-box-icon{
  width: 64px;
  height: 64px;
  margin: 0 auto 10px;
  border-radius: 999px;
  background: rgba(93, 122, 53, .10);
  border: 1px solid rgba(93, 122, 53, .18);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform .28s ease, background-color .28s ease, border-color .28s ease;
}

/* icone */
.elementor-element-00108c0 .elementkit-infobox-icon,
.elementor-element-c9eba9a .elementkit-infobox-icon,
.elementor-element-c9eba9a .e-font-icon-svg{
  color: #5D7A35;
  fill: #5D7A35;
  font-size: 32px;
  width: 32px;
  height: 32px;
  line-height: 1;
}

/* hover icona */
.elementor-element-00108c0:hover .elementskit-info-box-icon,
.elementor-element-c9eba9a:hover .elementskit-info-box-icon{
  transform: translateY(-2px);
  background: rgba(93, 122, 53, .14);
  border-color: rgba(93, 122, 53, .30);
}

/* ---------------------------------------------------------
   LINEA CENTRALE
   --------------------------------------------------------- */

.elementor-element-00108c0 .elementor-widget-icon,
.elementor-element-c9eba9a .elementor-widget-icon{
  margin-top: -4px;
  margin-bottom: -4px;
  opacity: .9;
}

.elementor-element-00108c0 .elementor-widget-icon .elementor-icon i,
.elementor-element-c9eba9a .elementor-widget-icon .elementor-icon i{
  color: rgba(3, 29, 60, .22);
}

/* ---------------------------------------------------------
   TESTI / CONTENUTI
   --------------------------------------------------------- */

/* box indirizzo */
.elementor-element-00108c0 .elementskit-section-subtitle{
  color: #5D7A35;
  font-weight: 700;
}

.elementor-element-00108c0 .ekit-heading--title{
  color: #031D3C;
  font-weight: 700;
}

/* bottone/numero whatsapp */
.elementor-element-c9eba9a a.elementskit-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 16px;
  border-radius: 999px;
  background: rgba(93, 122, 53, .08);
  border: 1px solid rgba(93, 122, 53, .18);
  color: #031D3C !important;
  font-weight: 600;
  text-decoration: none !important;
  transition: background-color .22s ease, border-color .22s ease, transform .22s ease;
}

.elementor-element-c9eba9a:hover a.elementskit-btn{
  background: rgba(93, 122, 53, .12);
  border-color: rgba(93, 122, 53, .28);
  transform: translateY(-1px);
}

/* evita blu/underline di default */
.elementor-element-00108c0 a,
.elementor-element-c9eba9a a{
  text-decoration: none !important;
  color: inherit !important;
}

/* ---------------------------------------------------------
   RESPONSIVE
   --------------------------------------------------------- */

@media (max-width: 767px){
  .elementor-element-00108c0,
  .elementor-element-c9eba9a{
    padding: 22px 18px !important;
  }

  .elementor-element-00108c0 .elementskit-info-box-icon,
  .elementor-element-c9eba9a .elementskit-info-box-icon{
    width: 58px;
    height: 58px;
  }

  .elementor-element-00108c0 .elementkit-infobox-icon,
  .elementor-element-c9eba9a .elementkit-infobox-icon,
  .elementor-element-c9eba9a .e-font-icon-svg{
    width: 28px;
    height: 28px;
    font-size: 28px;
  }
}

/* ==================================================
   ERENA — Pulsanti "Scopri" compatti - Rimpicciolisce tutti i pulsanti - Da cancellare in seguito
   ================================================== */

.elementor-button.elementor-size-sm{

  width: auto !important;
  min-width: 0 !important;

  padding: 8px 16px !important;

  display: inline-flex !important;
  align-items: center;
  justify-content: center;

}
