/*
 Theme Name: Hello Elementor Child
 Theme URI: https://elementor.com/hello-theme/
 Description: Tema child per Hello Elementor
 Author: Il tuo nome
 Author URI: https://tuosito.it
 Template: hello-elementor
 Version: 1.0
*/

/* Importa lo stile del tema genitore */
@import url("../hello-elementor/style.css");

/* Footer */

/* General */
.animation,
#header-main,
.button, .to-invert-fill-stroke, .to-invert-fill, .to-invert-stroke,
#footer-main a,.social-links ul a,
button[type="submit"], .box-menu img,
.box, body .slider-blog-last a img, .map-customers .region-path,
.slider-box-background, .slider-boxes .slider-box h3, .slider-boxes .slider-box p, .slider-boxes .slider-box::after,
.qodef-blog .qodef-blog-item .qodef-e-media-image img {
	-webkit-transition: all 0.3s ease-in-out;
	-moz-transition: all 0.3s ease-in-out;
	-o-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
}
*:focus {
    outline: none;
}
.overflow-hidden {
    overflow: hidden!important;
}
.text-right {
    text-align: right;
}
.icon,
.box::after, .slider-blog-last-button-prev, .slider-blog-last-button-next,
.v2 .banner h2::after, .slider-boxes .slider-box::after {
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}
body .padding-top-cel {
    padding-top: 50px;
}
body .padding-top {
    padding-top: 100px;
}
body .padding-bottom-cel {
    padding-bottom: 50px;
}
body .padding-bottom {
    padding-bottom: 100px;
}
body .padding-top-small-cel {
    padding-top: 25px;
}
body .padding-top-small {
    padding-top: 50px;
}
body .padding-bottom-small-cel {
    padding-bottom: 25px;
}
body .padding-bottom-small {
    padding-bottom: 50px;
}
body .padding-lateral {
    padding-left: 40px;
    padding-right: 40px;
}
@media (max-width: 767.98px) {
  body .padding-top-cel { padding-top: 25px; }
  body .padding-top { padding-top: 50px; }
  body .padding-bottom-cel { padding-bottom: 25px; }
  body .padding-bottom { padding-bottom: 50px; }

  body .padding-top-small-cel { padding-top: 12.5px; }
  body .padding-top-small { padding-top: 25px; }
  body .padding-bottom-small-cel { padding-bottom: 12.5px; }
  body .padding-bottom-small { padding-bottom: 25px; }

  body .padding-lateral {
    padding-left: 20px;
    padding-right: 20px;
  }
}

b, strong {
    font-weight: bold;
}
.invert, .invert * {
    color: #fff;
}
.grey, .grey * {
    color: #fff;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    word-wrap: normal!important;
}
.primary-color, .primary-color * {
    color: #44A1DC;
}
h4-grey, .qodef-h4-grey {
    color: #A0A0A0;
}
/* Importa i Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Libre+Caslon+Text:wght@400;700&family=Lato:wght@400;700&display=swap');

/* Font di base per tutto il sito */
body {
    font-family: 'Lato', sans-serif;
}

/* H1 e H2 con Libre Caslon Text */
h1, h2 {
    font-family: 'Libre Caslon Text', serif;
}
/*togliere x dei popup predefinito*/
.elementor-popup-modal .dialog-close-button svg {
    fill: #1f2124;
    height: 1em;
    width: 1em;
    display: none;
}
/* Se non c'è un popup aperto, l'overlay non deve intercettare i click */
body:not(.elementor-popup-modal-open) .dialog-widget-overlay {
  pointer-events: none !important;
  display: none !important;
}

/*Header */
/*header home*/
/* ===============================
   HEADER BASE (trasparente)
=============================== */
.header-sticky{
  position: relative;
  background: transparent !important;
  color: #fff;
  transition: background-color .25s ease, color .25s ease;
  z-index: 99;
}

/* Evita che Elementor colori lo sticky di default */
.header-sticky.elementor-sticky--active:not(.is-scrolled),
.elementor-sticky--active .header-sticky:not(.is-scrolled){
  background: transparent !important;
  color: #fff !important;
}

/* ===============================
   LOGO CENTRALE (solo via .is-visible)
=============================== */
.header-sticky .logo-center{
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 20;
  pointer-events: none;
}
.header-sticky .logo-center.is-visible{ display: flex; }
.header-sticky .logo-center img,
.header-sticky .logo-center svg{
  max-height: 70px;
  width: auto;
  padding-top: 5px;
  padding-bottom: 5px;
}
/* TABLET ≤ 1024px: posizionato in alto a destra, ma resta nascosto finché non è .is-visible */
@media (max-width: 1024px){
  .header-sticky .logo-center{
    inset: auto;      /* disattiva inset:0 */
    top: 8px;
    right: 16px;
    left: auto;
    bottom: auto;
    /* display NON toccato -> resta quello di base (none) */
  }
  .header-sticky .logo-center img,
  .header-sticky .logo-center svg{
    max-height: clamp(52px, 6.5vw, 68px);
    height: clamp(46px, 6vw, 62px);
  }
}

/* MOBILE ≤ 767px: un po' più in alto e più a destra */
@media (max-width: 767px){
  .header-sticky .logo-center{
    inset: auto;
    top: 60px;
    left: auto;
    bottom: auto;
    /* display NON toccato */
  }
.header-sticky .logo-center img,
.header-sticky .logo-center svg{
  height: 100px;
  max-height: 100px; /* cambia a piacere */
}
}

/* resta valido il tuo toggle di visibilità */
.header-sticky .logo-center.is-visible{ display: flex; }

/* 1) Default: NASCONDI il logo (solo Home) */
.home .elementor-13 .elementor-element-9b61685 .elementor-icon{
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-6px);
  transition: opacity .35s ease, transform .35s ease;
}

.page-id-10 .header-sticky.is-scrolled .elementor-icon {
    color: #fff !important;
    fill: #fff !important;
    opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0);
}
.home .elementor-3428 .elementor-element-9b61685 .elementor-icon{
  opacity: 0 !important;
  pointer-events: none !important;
  transform: translateY(-6px);
  transition: opacity .35s ease, transform .35s ease;
}

.page-id-3132 .header-sticky.is-scrolled .elementor-icon {
    color: #fff !important;
    fill: #fff !important;
    opacity: 1 !important;
  pointer-events: auto !important;
  transform: translateY(0);
}

/* ===============================
   STATO SCROLLATO (colora header)
=============================== */
.header-sticky.is-scrolled{
  background-color: #A58E81 !important;
  color: #fff !important;
  z-index: 999 !important;
}

/* Link/Icone menu quando scrollato */
.header-sticky.is-scrolled .elementor-nav-menu a,
.header-sticky.is-scrolled .menu a,
.header-sticky.is-scrolled .elementor-icon{
  color: #fff !important;
  fill:  #fff !important;
}

/* Non forzare i link globalmente: ereditano il colore del contesto */
.header-sticky a{ color: inherit; text-decoration: none; }

/* ===============================
   CTA HEADER
=============================== */
/* Default: pill bianca, testo nero */
.header-sticky .header-cta{
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
  transition: background-color .25s ease, border-color .25s ease, color .25s ease;
}


/* Scrollato: pill verde, testo nero */
.header-sticky.is-scrolled .header-cta{
  background: #1E352F !important;
  border-color: #1E352F !important;
  color: #A58E81 !important;
}

/* Fallback se non puoi aggiungere .header-cta al bottone */
.header-sticky.is-scrolled .elementor-button{
  background: #1E352F !important;
  border-color: #1E352F !important;
  color: #A58E81 !important;
}

/* ===============================
   HAMBURGER
=============================== */
.hamburger-2{
  width: 34px; height: 11px;
  display: inline-flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
}
.hamburger-2 span{
  display: block;
  height: 2px;
  background: #FFFFFF66;
  border-radius: 2px;
  transition: width .2s;
}
.hamburger-2 span:first-child{ width: 52px; }
.hamburger-2 span:last-child{  width: 35px;  }
.hamburger-2:hover span:last-child{ width: 52px; }

/* barre sempre bianche anche quando scrollato */
.header-sticky.is-scrolled .hamburger-2 span{ background: #fff !important; }

/* Accessibilità */
.hamburger-2:focus{ outline: 2px solid transparent; outline-offset: 3px; }
.hamburger-2:focus-visible{ outline: 2px solid #fff; }

/* ============================
   LEFT — TABS / TESTI
   ============================ */
#room-tabs .room-title { font-size:35px; line-height:1.1; margin:0 0 24px; font-weight:300; color:#fff; }
#room-tabs .room-text  { color:rgba(255,255,255,.9); font-size:18px; line-height:1.6; margin:16px 0 24px; }

#room-tabs .custom-room-info{
  display:flex; border:1px solid rgba(255,255,255,.8); border-radius:28px; overflow:hidden; margin:12px 0 24px;
}
#room-tabs .custom-room-info>div{ flex:1; text-align:center; padding:14px 14px; }
#room-tabs .custom-room-info>div:not(:last-child){ border-right:1px solid rgba(255,255,255,.6); }
#room-tabs .number{ font-size:28px; font-weight:700; margin-bottom:0px; color:#fff; }
#room-tabs .label{ font-size:16px; font-weight:600; color:#1e3b33; }

#room-tabs .btn-outline{
  display:inline-block; padding:14px 28px; border-radius:28px;
  border:1px solid rgba(255,255,255,.85); color:#fff; text-decoration:none;
}
#room-tabs .btn-outline:hover{ background-color:#0201014F; border:none; }

#room-tabs .elementor-tabs{ display:flex; flex-direction:column; }
#room-tabs .elementor-tabs-content-wrapper{ order:1; }
#room-tabs .elementor-tabs-wrapper{ order:2; display:flex; gap:18px; margin-top:18px; }

#room-tabs .elementor-tab-title{
  width:38px; height:38px; border-radius:50%;
  border:2px solid rgba(255,255,255,.85);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-weight:600; opacity:.8; cursor:pointer; transition:.2s ease; background:transparent;
}
#room-tabs .elementor-tab-title:hover{ opacity:1; transform:translateY(-1px); }
#room-tabs .elementor-tab-title.elementor-active{ background:#0c3a31; border-color:#0c3a31; opacity:1; }
#room-tabs .elementor-tab-title a{ color:inherit; text-decoration:none; }
#room-tabs .elementor-tab-desktop-title:after{ display:none; }

/* Tablet tipografia */
@media (max-width:1024px){
  #room-tabs .room-title { font-size:40px; }
  #room-tabs .room-text  { font-size:16px; }
}

/* ============================
   RIGHT — UNO SLIDER PER STANZA
   ============================ */

/* (opzionale) se usi un contenitore padre con ID room-carousel, dai un’altezza minima */
#room-carousel { position:relative; min-height:auto; }

/* Nascondi TUTTE le gallery, mostra solo quella attiva */
.room-gallery{
  display:none !important;
  opacity:0 !important;
  visibility:hidden !important;
  pointer-events:none !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  transition:opacity .35s ease;
}
.room-gallery.is-active{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
  position:relative !important;
  z-index:1 !important;
}

/* Frecce del carosello (una sola definizione, valida per tutte le room-gallery) */
.room-gallery .swiper-button-prev,
.room-gallery .swiper-button-next{
  z-index:5 !important;
  width:44px; height:44px;
  border-radius:50%;
  background:rgba(0,0,0,.25);
  display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(2px);
}
.room-gallery .swiper-button-prev:after,
.room-gallery .swiper-button-next:after{ font-size:18px; }
/*mobile*/
/* SOLO MOBILE: bullets numerati stile 1–2–3–4 */
@media (max-width: 767px){
  #home-hero-carousel .swiper-pagination{
    counter-reset: slide;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
  }

  /* bullet base: nessun bordo/cerchio visibile */
  #home-hero-carousel .swiper-pagination-bullet{
    position: relative;
    width: 28px;
    height: 28px;
    background: transparent !important;
    border: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    opacity: 1 !important;
  }

  /* numeri (incremento automatico) — INATTIVI = bianco */
  #home-hero-carousel .swiper-pagination-bullet::before{
    counter-increment: slide;
    content: counter(slide);
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    font: 600 13px/1 system-ui, sans-serif;
    color: #fff; /* inattivo: solo numero bianco */
  }

  /* ATTIVO: cerchio pieno #1E352F, numero #A58E81 */
  #home-hero-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background: #1E352F !important;
    border-radius: 999px;
  }
  #home-hero-carousel .swiper-pagination-bullet.swiper-pagination-bullet-active::before{
    color: #A58E81;
  }
}



/*-------fine header home------*/
/* =============== HEADER (VARIANTE VERDE) =============== */
/* Contenitore header: usa classi `site-header header--green` */
.site-header{
  position: relative;
  background: transparent !important;
  color: #fff;
  transition: background-color .25s ease, color .25s ease;
  z-index: 99;
}

/* Elementor può marcare sticky anche a top=0: resta trasparente finché non scrolli */
.site-header.elementor-sticky--active:not(.is-scrolled),
.elementor-sticky--active .site-header:not(.is-scrolled){
  background: transparent !important;
  color: #fff !important;
}

/* Stato scrollato (colore di sfondo) */
.site-header.is-scrolled{
  background: #1E352F !important;  /* verde scuro */
  color: #fff !important;
  z-index: 999 !important;
}

/* Link / icone quando scrollato */
.site-header.is-scrolled .elementor-nav-menu a,
.site-header.is-scrolled .menu a,
.site-header.is-scrolled .elementor-icon{
  color: #fff !important;
  fill:  #fff !important;
}

/* Non toccare il logo Elementor */
.site-header .elementor-widget-site-logo{ display:block !important; }

/* ---------------- CTA (non alteriamo dimensioni/layout) ---------------- */
/* Stato normale (come in Elementor): pill bianca, testo nero */
.site-header.header--green .header-cta .elementor-button{
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}

/* Sticky: stesse DIMENSIONI di Elementor, cambiamo SOLO colori */
.site-header.header--green.is-scrolled .header-cta .elementor-button{
  background: #fff !important;      /* resta bianca */
  border-color: #fff !important;
  color: #1E352F !important;         /* testo verde scuro */
}

/* Fallback se per caso il bottone non ha la classe "header-cta" */
.site-header.header--green.is-scrolled .elementor-button{
  background: #fff !important;
  border-color: #fff !important;
  color: #1E352F !important;
}
/* Link testuali nell’header: usa il colore del testo dell’header (bianco) */
.site-header .elementor-widget-text-editor a{
  color: inherit !important;
  text-decoration: none;
}

/* Tel link specifico: bianco sempre (prima e dopo lo scroll) */
.site-header a[href^="tel:"]{
  color:#fff !important;
}
.site-header.is-scrolled a[href^="tel:"]{
  color:#fff !important;
}

/* (opzionale) hover leggero */
.site-header a[href^="tel:"]:hover{ opacity:.85; }

/* =============== HEADER (VARIANTE Marrone con logo) =============== */
/* =============== HEADER "CHI SIAMO" (VARIANTE BROWN) =============== */
/* Contenitore header: usa classi `site-header header--brown` */
.site-header.header--brown{
  position: relative;
  background: transparent !important;
  color: #fff;
  transition: background-color .25s ease, color .25s ease;
  z-index: 99;
}

/* Elementor sticky: resta trasparente finché non scrolli */
.site-header.header--brown.elementor-sticky--active:not(.is-scrolled),
.elementor-sticky--active .site-header.header--brown:not(.is-scrolled){
  background: transparent !important;
  color: #fff !important;
}

/* Stato scrollato (colore di sfondo BROWN) */
.site-header.header--brown.is-scrolled{
  background: #A58E81 !important;   /* brown */
  color: #fff !important;
  z-index: 999 !important;
}

/* Link / icone quando scrollato */
.site-header.header--brown.is-scrolled .elementor-nav-menu a,
.site-header.header--brown.is-scrolled .menu a,
.site-header.header--brown.is-scrolled .elementor-icon{
  color: #fff !important;
  fill:  #fff !important;
}

/* Non toccare il logo Elementor */
.site-header.header--brown .elementor-widget-site-logo{ display:block !important; }

/* ---------------- CTA (non alteriamo dimensioni/layout) ---------------- */
/* Stato normale (come in Elementor): pill bianca, testo nero */
.site-header.header--brown .header-cta .elementor-button{
  background: #fff !important;
  border-color: #fff !important;
  color: #000 !important;
}
/* Stile solo nella pagina ID 484 */
body.page-id-484 .site-header.header--brown .header-cta .elementor-button {
  background: #1E352F !important;
  border-color: #1E352F !important;
  color: #A58E81 !important;
}

/* (opzionale) stati hover/focus per coerenza */
body.page-id-484 .site-header.header--brown .header-cta .elementor-button:hover,
body.page-id-484 .site-header.header--brown .header-cta .elementor-button:focus {
  background: #1E352F !important;
  border-color: #1E352F !important;
  color: #A58E81 !important;
}

/* Sticky: stesse DIMENSIONI, cambiamo SOLO colori */
.site-header.header--brown.is-scrolled .header-cta .elementor-button{
  background: #fff !important;      /* resta bianca */
  border-color: #fff !important;
  color: #A58E81 !important;         /* testo brown */
}

/* Fallback se il bottone non ha la classe "header-cta" 
.site-header.header--brown.is-scrolled .elementor-button{
  background: #fff !important;
  border-color: #fff !important;
  color: #A58E81 !important;
}*/

/* Link testuali nell’header: usa il colore del testo dell’header (bianco) */
.site-header.header--brown .elementor-widget-text-editor a{
  color: inherit !important;
  text-decoration: none;
}

/* Tel link: bianco sempre (prima e dopo lo scroll) */
.site-header.header--brown a[href^="tel:"]{
  color:#fff !important;
}
.site-header.header--brown.is-scrolled a[href^="tel:"]{
  color:#fff !important;
}

/* (opzionale) hover leggero */
.site-header.header--brown a[href^="tel:"]:hover{ opacity:.85; }



/*slide bottiglie*/
/* =========================================================
   BOTTLES CAROUSEL (3 visibili, centrale più grande)
   ========================================================= */
#bottles-carousel { position: relative; z-index: 2; }
#bottles-carousel .elementor-image-carousel-wrapper { padding: 20px 0; }

#bottles-carousel .swiper-slide{
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
  transition: transform .35s ease, opacity .35s ease, filter .35s ease;
}

/* immagini non tagliate */
#bottles-carousel .swiper-slide img{
  width:auto; max-height:500px; object-fit:contain;
}

/* base: un po’ più piccole e meno sature */
#bottles-carousel .swiper-slide{
  transform:scale(.85);
  opacity:.75;
  filter:saturate(.9);
}

/* laterali dritte */
#bottles-carousel .swiper-slide-prev,
#bottles-carousel .swiper-slide-next{
  transform:scale(.92);
}

/* centrale molto più grande e nitida */
#bottles-carousel .swiper-slide-active{
  transform:scale(1.0);
  opacity:1;
  filter:none;
  z-index:3;
}

/* frecce */
#bottles-carousel .swiper-button-prev,
#bottles-carousel .swiper-button-next{ top:38%; }

/* responsive */
@media (max-width:1024px){
  #bottles-carousel .swiper-slide img{ max-height:420px; }
  #bottles-carousel .swiper-slide-active{ transform:scale(1.08); }
}
@media (max-width:640px){
  #bottles-carousel .swiper-slide img{ max-height:340px; }
  #bottles-carousel .swiper-slide        { transform:scale(.88); }
  #bottles-carousel .swiper-slide-prev,
  #bottles-carousel .swiper-slide-next   { transform:scale(.94); }
  #bottles-carousel .swiper-slide-active { transform:scale(1.06); }
}
/* niente overlay di link del container hero */
.bottles-hero > a.e-con-link { pointer-events: none !important; }

/* carosello sopra ai testi, niente overflow che taglia */
#bottles-carousel{
  position: relative;
  z-index: 5;
  overflow: visible !important;
}

/* se dentro le slide c'è qualche <a> residuo, neutralizzalo */
#bottles-carousel .swiper-slide a{ pointer-events: none !important; }

/* UX: cursore da drag sulle slide */
#bottles-carousel .swiper-slide{ cursor: grab; }
#bottles-carousel .swiper-slide:active{ cursor: grabbing; }
/* Solo nel carosello bottiglie, disattiva i link */
#bottles-carousel .swiper-slide a{ pointer-events:none !important; }

/*Resposnive*/
/* ===== MOBILE (<=767px) ===== */
/* ===== Safety globale: niente scroll orizzontale ===== */
html, body {
  /* usa clip quando disponibile, altrimenti hidden */
  overflow-x: hidden;
}
@supports (overflow: clip) {
  html, body { overflow-x: clip; }
}

/* ===== HERO MERGE — Mobile (<= 767px) ===== */
@media (max-width: 767px) {

  .hero-merge{
    position: relative;            /* contenitore per gli assoluti */
    min-height: 260px;
    padding: 64px 16px 8px;

    /* clip dell’overflow per evitare allungamenti */
    overflow: hidden;
  }
  @supports (overflow: clip) {
    @media (max-width: 767px) {
      .hero-merge{ overflow: clip; }
    }
  }

  /* Variabili regolabili (righe e offset X) */
  .hero-merge{
    --row1: 120px;     /* LOVE (Y)   */
    --row2: 162px;     /* FOR WINE    */
    --row3: 204px;     /* MAKING      */

    /* offset orizzontali finali */
    --loveX: 6%;
    --centerX: 0%;
    --makingX: -2%;

    /* motion */
    --dur: .85s;
    --ease: cubic-bezier(.22, 1, .36, 1);
  }

  /* Testi animati */
  .hero-merge .bg-word{
    position: absolute;
    left: 50%;
    white-space: nowrap;
    pointer-events: none;
    z-index: 2;

    font-weight: 600;
    line-height: .9;
    letter-spacing: .02em;
    color: rgba(255,255,255,.96);
    font-size: clamp(26px, 11.2vw, 60px);

    will-change: transform, opacity;
    opacity: 0; /* invisibili finché non in viewport */
    transition:
      transform var(--dur) var(--ease),
      top var(--dur) var(--ease),
      letter-spacing var(--dur) var(--ease),
      opacity var(--dur) var(--ease);
  }

  /* posizioni verticali */
  .hero-merge .bg-left   { top: var(--row1); }
  .hero-merge .bg-center { top: var(--row2); }
  .hero-merge .bg-right  { top: var(--row3); }

  /* Stato iniziale: fuori schermo ma SENZA creare scroll */
  .hero-merge .bg-left{
    transform: translateX(calc(-50% - 100vw)); /* fuori a sinistra */
    opacity: .25;
    transition-delay: .05s;
  }
  .hero-merge .bg-center{
    transform: translateX(calc(-50% + var(--centerX)));
    opacity: 1;
    transition-delay: .20s;
  }
  .hero-merge .bg-right{
    transform: translateX(calc(-50% + 100vw)); /* fuori a destra */
    opacity: .25;
    transition-delay: .35s;
  }

  /* Stato attivo (merge): quando il wrapper ha .is-merged */
  .hero-merge.is-merged .bg-word{ opacity: 1; }

  .hero-merge.is-merged .bg-left{
    transform: translateX(calc(94% + var(--loveX)));
    letter-spacing: .01em;
  }
  .hero-merge.is-merged .bg-center{
    transform: translateX(calc(-50% + var(--centerX)));
    letter-spacing: .01em;
  }
  .hero-merge.is-merged .bg-right{
    transform: translateX(calc(-86% + var(--makingX)));
    letter-spacing: .01em;
  }

  /* Accessibilità: riduci/annulla animazioni per utenti con preferenza */
  @media (prefers-reduced-motion: reduce) {
    .hero-merge .bg-word{
      transition: none;
    }
  }
}


/* =========================================================
   SCRITTE DI SFONDO (LOVE / FOR VINE / MAKING)
   Sezione: .bottles-hero
   Testi:    .bg-word + (bg-left | bg-center | bg-right)
   ========================================================= */
.bottles-hero{ position:relative; overflow:visible; }

/* il carosello deve stare SOPRA alle scritte */
.bottles-hero #bottles-carousel{ position:relative; z-index:3; }

/* stile generale scritte */
.bottles-hero .bg-word{
  position:absolute;
  z-index:1;                 /* sotto alle bottiglie */
  pointer-events:none;
  user-select:none;
  white-space:nowrap;
  font-weight:600;
  line-height:.9;
  letter-spacing:.01em;
  color:rgba(255,255,255,.95);           /* bene in vista */
  font-size:clamp(46px, 9.2vw, 170px);   /* grande e responsive */
}

/* POSIZIONI DESKTOP */
@media (min-width:1025px){
  /* LOVE: più in alto a sinistra (sopra la bottiglia) */
  .bottles-hero .bg-left   { top:-5%; left:4%; }

  /* FOR VINE: centrato */
  .bottles-hero .bg-center { top:22%; left:50%; transform:translateX(-50%); text-align:center; }

  /* MAKING: più in basso a destra */
  .bottles-hero .bg-right  { top:55%; right:4%; }
}

/* TABLET */
@media (max-width:1024px) and (min-width:641px){
  .bottles-hero .bg-left   { top:0;   left:4%; }
  .bottles-hero .bg-center { top:20%; left:50%; transform:translateX(-50%); }
  .bottles-hero .bg-right  { top:50%; right:4%; }
}

/* MOBILE */
@media (max-width:640px){
  .bottles-hero .bg-word   { font-size:clamp(28px, 12vw, 72px); }
  .bottles-hero .bg-left   { top:2%;  left:4%; }
  .bottles-hero .bg-center { top:18%; left:50%; transform:translateX(-50%); }
  .bottles-hero .bg-right  { top:34%; right:4%; }
  /* se vuoi nasconderle su mobile:
     .bottles-hero .bg-word{ display:none; }
  */
}


/* 1) transizione morbida sui testi */
.bottles-hero .bg-word{
  transition: left 1.6s cubic-bezier(.22,.61,.36,1),
              right 1.6s cubic-bezier(.22,.61,.36,1),
              top 1.6s cubic-bezier(.22,.61,.36,1),
              transform 1.6s cubic-bezier(.22,.61,.36,1),
              letter-spacing 1.6s cubic-bezier(.22,.61,.36,1),
              opacity 1.6s cubic-bezier(.22,.61,.36,1);
  will-change: transform, top, left, right;
}


/* 2) stato "unito" quando la sezione ha .merge */
@media (min-width:821px){
  .bottles-hero.merge .bg-left{
    top:7%;                 /* un po’ più in alto */
    left:50.9%;
    right:auto;
    transform:translateX(-10%);  /* più distanziata dal centro */
  }
  .bottles-hero.merge .bg-center{
    top:25%;                 /* resta al centro, leggermente più in basso */
    left:50%;
    transform:translateX(-50%);
  }
  .bottles-hero.merge .bg-right{
    top:44%;                 /* ancora più in basso */
    left:42.5%;
    right:auto;
    transform:translateX(-40%);    /* distanziata a destra */
  }
}

.bottles-hero.merge .bg-word{ opacity:1; }


/* Assicura che il contenitore del carosello permetta di far uscire le frecce */
#bottles-carousel {
    overflow: visible !important;
    position: relative;
    z-index: 1;
}

/* Stile e posizionamento delle frecce */
#bottles-carousel .elementor-swiper-button-prev,
#bottles-carousel .elementor-swiper-button-next {
    position: absolute !important;
    top: -110px !important; /* alza le frecce sopra il contenuto */
    bottom: auto !important;
    transform: none !important;
    height: 30px;
    width: 30px;
    color: #fff;
    z-index: 10; /* rimangono sopra gli altri elementi */
    border-radius: 50%; /* opzionale: cerchio */
}

/* Freccia sinistra */
#bottles-carousel .elementor-swiper-button-prev {
    left: auto !important;
    right: 50px !important;
}

/* Freccia destra */
#bottles-carousel .elementor-swiper-button-next {
    right: 16px !important;
}
/* ——— Cursori: niente manina sulle slide/immagini/link ——— */
#bottles-carousel,
#bottles-carousel .swiper,
#bottles-carousel .swiper-slide,
#bottles-carousel .swiper-slide *,
#bottles-carousel a,
#bottles-carousel a * {
  cursor: default !important;
}

/* frecce navigazione: mantieni la manina */
#bottles-carousel .swiper-button-prev,
#bottles-carousel .swiper-button-next,
#bottles-carousel .elementor-swiper-button-prev,
#bottles-carousel .elementor-swiper-button-next {
  cursor: pointer !important;
}

/* neutralizza le tue regole precedenti di "grab/grabbing" e "pointer" */
#bottles-carousel .swiper-slide { cursor: default !important; }
#bottles-carousel .swiper-slide:active { cursor: default !important; }

/***** REVIEWS – Testimonial Carousel *****/


/* ========= CONFIG (metti gli URL delle tue SVG) ========= */
.reviews-slider{
  --arrow-size: 36px;
  --arrow-left:  url('https://villedarfanta.perazzastaging.it/wp-content/uploads/2025/09/freccia-sinistra.svg');
  --arrow-right: url('https://villedarfanta.perazzastaging.it/wp-content/uploads/2025/09/freccia-destra.svg');
}

/* ========= Virgolette solo sulle slide del Testimonial Carousel ========= */
.reviews-slider .elementor-widget-testimonial-carousel .swiper-slide{
  position: relative;
  padding-top: 22px;
}
.reviews-slider .elementor-widget-testimonial-carousel .swiper-slide::before{
  content: "“";
  position: absolute;
  top: -6px;
  left: 18px;
  font-family: Georgia, serif;
  font-size: 60px;
  line-height: 1;
  color: #fff;
  opacity: .95;
  pointer-events: none;
}

/* ========= Wrapper come riferimento per posizionare le frecce ========= */
.reviews-slider{ position: relative; }

/* ========= Frecce: layout/top-right ========= */
.reviews-slider .elementor-swiper-button{
  position: absolute !important;
  top: -58px !important;
  z-index: 30;
  width: var(--arrow-size);
  height: var(--arrow-size);
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 9999px;
  box-shadow: none !important;
  transform: none !important;
  cursor: pointer;
}
.reviews-slider .elementor-swiper-button-next{ right: 16px !important; }
.reviews-slider .elementor-swiper-button-prev{ right: 60px !important; left: auto !important; }

/* ========= Usa le TUE SVG al posto delle icone Elementor ========= */
.reviews-slider .elementor-swiper-button i,
.reviews-slider .elementor-swiper-button .e-font-icon-svg{ display: none !important; }

.reviews-slider .elementor-swiper-button::before{
  content: "";
  display: block;
  width: 100%; height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
.reviews-slider .elementor-swiper-button-prev::before{ background-image: var(--arrow-left); }
.reviews-slider .elementor-swiper-button-next::before{ background-image: var(--arrow-right); }

/* Disabled: visibili ma non cliccabili */
.reviews-slider .elementor-swiper-button.swiper-button-disabled,
.reviews-slider .elementor-swiper-button.elementor-swiper-button-disabled,
.reviews-slider .swiper-button-disabled{
  display: flex !important;
  visibility: visible !important;
  opacity: .35 !important;
  pointer-events: none;
}

/* ========= Responsive ========= */
@media (max-width: 767px){
  .reviews-slider .elementor-swiper-button{ top: -46px !important; }
  .reviews-slider .elementor-swiper-button-next{ right: 12px !important; }
  .reviews-slider .elementor-swiper-button-prev{ right: 52px !important; }
}
/*virgolette slider home*/
.elementor-testimonial__content {
position:relative;	
}
.elementor-testimonial__text:before {
position:absolute;
content:url('/wp-content/uploads/2025/09/virgolette.svg');
top:-15px;
left:0;
width:50px;
height:50px;
}
.elementor-testimonial__text{
padding-top: 50px;
}

/*CHI SIAMO*/
/*break 2200 in su */
@media (min-width: 2001px){
  .elementor-313 .elementor-element.elementor-element-d90b423{
    --width: 20%; /* esempio */
  }
}
/*card con video sotto*/
/* CARD con hover video */
.hover-card{
  position: relative;
  overflow: hidden;
  border-radius: 12px;          /* opzionale */
  /* opzionale per avere tutte le card con stessa proporzione:
  aspect-ratio: 4 / 5; */
}

/* Immagine di base */
.hover-card .hover-card__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .35s ease, filter .35s ease, opacity .35s ease;
}

/* Video overlay (nascosto di default) */
.hover-card .hover-card__video{
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  pointer-events: none;
  transition: opacity .35s ease;
}

/* —— FIX ELEMENTOR VIDEO —— */
/* Togli il "trick" del padding 56.25% e fai riempire la card */
.hover-card .hover-card__video .elementor-widget-container,
.hover-card .hover-card__video .elementor-wrapper{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
}

/* Simula object-fit:cover per iframe/video */
.hover-card .hover-card__video iframe,
.hover-card .hover-card__video video{
  position: absolute !important;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  min-width: 100%;
  min-height: 100%;
  width: auto;                 /* mantiene il ratio del player */
  height: auto;                /* …e copre tutta la card */
}

/* Hover: mostra il video e scurisci/scala l’immagine sotto */
.hover-card:hover .hover-card__video{
  opacity: 1;
  pointer-events: auto;        /* se non vuoi click sul video, rimettila a none */
}
.hover-card:hover .hover-card__image img{
  transform: scale(1.02);
  filter: brightness(.85);
}

/* Touch device: niente hover -> lascia solo immagine */
@media (hover: none){
  .hover-card .hover-card__video{ display: none !important; }
}
/*card nuove*/
/* box 3:4 che taglia l'eccesso */
.short34{
  position: relative;
  overflow: hidden;
  width: 100%;
}
.short34::before{
  content:"";
  display:block;
  padding-top:133.333%;   /* 3:4 = 4/3 = 133.333% */
}
/* forza il wrapper di Elementor a riempire il box */
.short34 .elementor-wrapper{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
}
/* “zooma” il 16:9 per coprire il 3:4 */
.short34 iframe{
  position:absolute !important;
  top:50%; left:50%;
  height:100% !important;          /* riempi in altezza */
  width:237.037% !important;       /* (16/9)/(3/4)=64/27 ≈ 237.037% */
  transform:translate(-50%,-50%);
  display:block;
}


/* =========================================================
   EVENTI — SWITCHER CORPORATE/PRIVATE (responsive, safe)
   Struttura attesa:
   #events-switcher
     .toggle-btn  (pulsante di switch)
     .pane.pane--corporate
       .col-left   (testi/bottoni)
       .col-right.media (bg immagine impostato da Elementor)
     .pane.pane--private
       ...
   ========================================================= */

/* Manopole globali animazioni */
:root{
  --dur: 900ms;                          /* 700–1100ms */
  --ease: cubic-bezier(.22,1,.36,1);     /* ease-out morbido */
  --stagger-1: 120ms;                    /* delay col-left */
  --stagger-2: 220ms;                    /* delay media  */
  --push: 12%;                           /* offset direzione 8–16% */
}

/* Wrapper switcher */
#events-switcher{
  position: relative;
  overflow: hidden;                      /* niente scroll orizzontale */
  margin: 0; padding: 0;
  /*min-height: 80vh;*/ /* base desktop */ 
  height: 750px;                  
  transition: background-color .6s var(--ease), color .4s var(--ease);
}

/* Pannelli sovrapposti (niente display:none per transizioni fluide) */
#events-switcher .pane{
  position: absolute; inset: 0;
  display: flex !important;
  align-items: stretch;
  gap: 0;
  width: 100%; /*min-height: 80vh;*/
  margin: 0; padding: 0;

  opacity: 0; transform: translateX(0);
  pointer-events: none;
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease);
  will-change: opacity, transform;
  z-index: 0;
}

/* Pannello attivo in primo piano */
#events-switcher .pane.is-active{
  opacity: 1;
  pointer-events: auto;
  z-index: 2;
}

/* Direzione transizione → verso PRIVATE */
#events-switcher.theme--private .pane--private:not(.is-active){
  transform: translateX(var(--push));          /* il nuovo entra da destra */
}
#events-switcher.theme--private .pane--corporate:not(.is-active){
  transform: translateX(calc(-1 * var(--push))); /* il vecchio va a sinistra */
  opacity: 0;
}

/* Direzione transizione → verso CORPORATE (speculare) */
#events-switcher.theme--corporate .pane--corporate:not(.is-active){
  transform: translateX(calc(-1 * var(--push))); /* il nuovo entra da sinistra */
}
#events-switcher.theme--corporate .pane--private:not(.is-active){
  transform: translateX(var(--push));            /* il vecchio va a destra */
  opacity: 0;
}

/* Colonne 50/50 (desktop) */
#events-switcher .col-left,
#events-switcher .col-right{
  flex: 1 1 50%;
  margin: 0; padding: 0;
}

/* Colonna destra con bg */
#events-switcher .col-right.media{
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  /*min-height: 80vh;*/
}

/* Stagger dei contenuti interni (entrano sfumando) */
#events-switcher .pane .col-left,
#events-switcher .pane .media{
  opacity: 0; transform: translateY(14px);
  transition:
    opacity calc(var(--dur) - 200ms) var(--ease),
    transform calc(var(--dur) - 200ms) var(--ease);
  will-change: opacity, transform;
}
#events-switcher .pane.is-active .col-left{
  opacity: 1; transform: none; transition-delay: var(--stagger-1);
}
#events-switcher .pane.is-active .media{
  opacity: 1; transform: none; transition-delay: var(--stagger-2);
}

/* Palette temi */
#events-switcher.theme--corporate{
  background-color:#A98880; color:#fff;
  --pill-bg:#A98880; --pill-fg:#fff; --pill-bd:rgba(255,255,255,.85);
}
#events-switcher.theme--private{
  background-color:#0F3A32; color:#fff;
  --pill-bg:#0F3A32; --pill-fg:#fff; --pill-bd:rgba(255,255,255,.85);
}

/* Toggle (posizionamento) */
#events-switcher .toggle-btn{
  position: absolute;
  z-index: 10;
}
#events-switcher .toggle-btn, #events-switcher .toggle-btn *{ cursor: pointer; }

/* Immagini nel contenuto sinistro */
#events-switcher .col-left img{ max-width:100%; height:auto; display:block; }

/*freccia sul bottone */
span.elementor-button-icon {
    /*position: absolute;
    right: 10px;*/
    transform: rotate(-90deg);
    margin-left: 5px;
}

@media (max-width: 767px){
  /* il bottone fa da riferimento per l'assoluto */

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

/* ============================
   EVENTS SWITCHER — MOBILE FIX (<=767px)
   ============================ */
@media (max-width: 767px){

  /* Il wrapper non forza altezze su mobile */
  #events-switcher{
    min-height: auto !important;
  }

  /* Ogni pane torna "normale" (niente posizioni assolute/animazioni) */
  #events-switcher .pane{
    position: static !important;
    opacity: 1 !important;
    transform: none !important;
    pointer-events: auto !important;
    min-height: auto !important;
    transition: none !important;
  }

  /* Nascondi il pane non attivo: addio spazio vuoto */
  #events-switcher .pane:not(.is-active){
    display: none !important;
  }
  #events-switcher .pane.is-active{
    display: block !important;
  }

  /* Colonne impilate 100% */
  #events-switcher .col-left,
  #events-switcher .col-right{
    flex: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Colonna destra (media): niente immagine/background su mobile */
  #events-switcher .pane .col-right.media{
    background: none !important;
    background-image: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  /* Se c'è un widget immagine dentro, nascondilo */
  #events-switcher .pane .col-right.media .elementor-widget-image{
    display: none !important;
  }
  /* Eventuali overlay/maschere Elementor */
  #events-switcher .pane .col-right.media::before,
  #events-switcher .pane .col-right.media::after{
    display: none !important;
    content: none !important;
  }

  /* Bottone di switch: centrato e sotto (dentro la colonna media) */
  #events-switcher .col-right.media .toggle-btn{
    position: static !important;
    left: auto; top: auto;
    transform: none !important;
    display: flex !important;
    justify-content: center !important;
    margin: 12px auto 0 !important;
    width: 100%;
  }
  #events-switcher .col-right.media .toggle-btn .elementor-button{
    margin: 0 0 50px 0 !important;
  }
@media (max-width: 767px) {
    .elementor-205 .elementor-element.elementor-element-3585d8a .elementor-button {
        border-width: 1px 1px 1px 1px;
        margin-bottom: 50px !important;
    }
}
  /* Nel dubbio, centra anche eventuali bottoni Elementor */
  #events-switcher .elementor-widget-button,
  #events-switcher .elementor-widget-button .elementor-button-wrapper{
    display: flex !important;
    justify-content: center !important;
  }
  #events-switcher .elementor-widget-button .elementor-button{
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Elimina spazi extra in coda */
  #events-switcher .pane > *:last-child{
    margin-bottom: 0 !important;
  }
}

/* -----------------------------------------
   EDITOR ELEMENTOR (qualità di vita)
----------------------------------------- */
body.elementor-editor-active #events-switcher{
  min-height: auto !important;
}
body.elementor-editor-active #events-switcher .pane{
  position: static !important;
  opacity: 1 !important;
  transform: none !important;
  pointer-events: auto !important;
  z-index: 0 !important;
  transition: none !important;
  margin: 0 0 32px 0;
}
body.elementor-editor-active #events-switcher .toggle-btn{
  pointer-events: none;
}

/* Accessibilità: reduced motion */
@media (prefers-reduced-motion: reduce){
  #events-switcher, #events-switcher *{
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}


/* ===== CF7 stile mockup ===== */
/* ===== CF7 — layout 2 colonne minimal ===== */
.cf7-two-col{ max-width:820px; margin-left:auto; color:#fff; }
.cf7-two-col .row{ margin:0 0 16px; }

/* 2 colonne desktop, 1 col su mobile */
.cf7-two-col .row.two{ 
  display:grid; 
  grid-template-columns: 1fr 1fr; 
  gap: clamp(16px,2vw,28px); 
}
@media (max-width:768px){
  .cf7-two-col .row.two{ grid-template-columns: 1fr; }
}

/* etichette */
.cf7-two-col .label{
  display:block; 
  margin:0 0 4px; 
  font-size:12px; 
  letter-spacing:.20em; 
  text-transform:uppercase; 
  opacity:.95;
}

/* campi: fondo #1E352F + solo underline bianca */
.cf7-two-col .field input[type="text"],
.cf7-two-col .field input[type="email"],
.cf7-two-col .field input[type="tel"],
.cf7-two-col .field input[type="url"],
.cf7-two-col .field input[type="number"],
.cf7-two-col .field input[type="date"],
.cf7-two-col .field textarea{
  width:100%;
  background:#1E352F !important;
  color:#fff !important;
  border:0 !important;
  border-bottom:2px solid rgba(255,255,255,.9) !important;
  border-radius:0 !important;
  padding:6px 0 6px !important;   /* linea vicina al testo */
  outline:none !important;
  box-shadow:none !important;
  caret-color:#fff;
}
.cf7-two-col .field input::placeholder,
.cf7-two-col .field textarea::placeholder{ color:rgba(255,255,255,.55); }
.cf7-two-col .field input:focus,
.cf7-two-col .field textarea:focus{ border-bottom-color:#fff !important; }

/* textarea (message) */
.cf7-two-col .field textarea{ min-height:210px; margin-top:6px; }

/* validazione CF7: underline rossa */
.cf7-two-col .field .wpcf7-not-valid{ border-bottom-color:#ff6b6b !important; }
.cf7-two-col .wpcf7-not-valid-tip{ color:#ffd3d3; font-size:12px; margin-top:6px; }

/* riga privacy + bottone (separatore vicino al textarea) */
.cf7-two-col .row.bottom{
  display:flex; align-items:flex-start; gap:16px;
  /*border-top:2px solid rgba(255,255,255,.85);*/
  padding-top:12px; margin-top:10px;
}
.cf7-two-col .row.bottom .accept{ flex:1; line-height:1.5; }
.cf7-two-col .row.bottom .accept,
.cf7-two-col .row.bottom .accept label{ color:#fff !important; }

/* checkbox custom */
.cf7-two-col .row.bottom input[type="checkbox"]{
  appearance:none; -webkit-appearance:none;
  width:22px; height:22px; margin:3px 10px 0 0;
  border:2px solid rgba(255,255,255,.9);
  background:transparent; border-radius:4px; position:relative; flex:0 0 22px;
}
.cf7-two-col .row.bottom input[type="checkbox"]:checked::after{
  content:""; position:absolute; left:6px; top:2px; width:7px; height:13px;
  border-right:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(45deg);
}
.cf7-two-col .row.bottom .wpcf7-list-item{ margin:0; }
.cf7-two-col .row.bottom label{ display:flex; align-items:flex-start; gap:12px; }

/* bottone SOTTO a destra */
.cf7-two-col .row.bottom .send{ margin-left:auto; }

/* bottone: solo contorno bianco (pill) */
.cf7-two-col .wpcf7-submit{
  background:transparent !important;
  color:#fff !important;
  border:2px solid #fff !important;
  border-radius:9999px !important;
  padding:16px 44px !important;
  font-size:18px !important; line-height:1 !important;
  box-shadow:none !important; cursor:pointer;
  transition:transform .15s ease, box-shadow .2s ease, border-color .2s ease;
}
.cf7-two-col .wpcf7-submit:hover{ transform:translateY(-1px); }

/* mobile: privacy sopra, bottone sotto (allineato a sinistra) */
@media (max-width:768px){
  .cf7-two-col .row.bottom{ flex-direction:column; align-items:flex-start; }
  .cf7-two-col .row.bottom .send{ margin-left:0; }
}
/*Alloggiare*/
/*frecce su slider*/
.elementor-element .swiper .elementor-swiper-button svg, .elementor-element .swiper~.elementor-swiper-button svg, .elementor-lightbox .swiper .elementor-swiper-button svg, .elementor-lightbox .swiper~.elementor-swiper-button svg {
    height: 1em;
    width: 2em;
}
@media (max-width: 1430px) {
  .elementor-element .swiper .elementor-swiper-button svg,
  .elementor-element .swiper ~ .elementor-swiper-button svg,
  .elementor-lightbox .swiper .elementor-swiper-button svg,
  .elementor-lightbox .swiper ~ .elementor-swiper-button svg {
    height: 1em;
    width: 1em;
  }
}
/*elimina lo spazio sotto nello slider*/
.elementor-widget-image-carousel .swiper .swiper-slide figure {
    margin: 0;
    padding: 0;
    line-height: 0; /* elimina lo spazio sotto l’immagine */
}

.elementor-widget-image-carousel .swiper .swiper-slide img {
    display: block; /* toglie lo spazio da inline-img */ 
}

/* === Pulsanti Divinea: default + hover === */
app-divinea .btn.btn-primary,
app-divinea .primary,
app-divinea button,
app-divinea .experience-box .btn,
app-divinea .switcher input+label,
app-divinea#divinea-wrapper .btn.btn-primary,
app-divinea#divinea-wrapper .primary,
app-divinea#divinea-wrapper button,
app-divinea#divinea-wrapper .experience-box .btn,
app-divinea#divinea-wrapper .switcher input+label {
  background-color: #A58E81 !important;  /* default */
  border-color: #A58E81 !important;
  color: #fff !important;
}

app-divinea .btn.btn-primary:hover,
app-divinea .btn.btn-primary:focus,
app-divinea .btn.btn-primary:active,
app-divinea .primary:hover,
app-divinea .primary:focus,
app-divinea button:hover,
app-divinea button:focus,
app-divinea .switcher input:hover + label,
app-divinea .switcher input:focus + label,
app-divinea#divinea-wrapper .btn.btn-primary:hover,
app-divinea#divinea-wrapper .btn.btn-primary:focus,
app-divinea#divinea-wrapper .btn.btn-primary:active,
app-divinea#divinea-wrapper .primary:hover,
app-divinea#divinea-wrapper .primary:focus,
app-divinea#divinea-wrapper button:hover,
app-divinea#divinea-wrapper button:focus,
app-divinea#divinea-wrapper .switcher input:hover + label,
app-divinea#divinea-wrapper .switcher input:focus + label {
  background-color: #1E352F !important;  /* hover */
  border-color: #1E352F !important;
  color: #fff !important;
}
app-divinea button, app-divinea .experience-box .btn {
	  background-color: #1E352F !important;  /* hover */
  border-color: #1E352F !important;
  color: #fff !important;
}
/* eventuali bottoni “outline/secondary” */
app-divinea .btn.btn-outline,
app-divinea .btn-outline,
app-divinea .btn.btn-secondary,
app-divinea#divinea-wrapper .btn.btn-outline,
app-divinea#divinea-wrapper .btn-outline,
app-divinea#divinea-wrapper .btn.btn-secondary {
  border-color: #A58E81 !important;
  color: #A58E81 !important;
}
app-divinea .btn.btn-outline:hover,
app-divinea .btn-outline:hover,
app-divinea .btn.btn-secondary:hover,
app-divinea#divinea-wrapper .btn.btn-outline:hover,
app-divinea#divinea-wrapper .btn-outline:hover,
app-divinea#divinea-wrapper .btn.btn-secondary:hover {
  background-color: #1E352F !important;
  border-color: #1E352F !important;
  color: #fff !important;
}
app-divinea>#divinea-wrapper {
    font-family: Poppins-Regular, sans-serif;
    font-size: 16px;
    color: #162931;
    text-align: initial;
    display: block;
    border-radius: 6px;
    background-color: #A58E81 !important;
    padding-left: 0;
    padding-right: 0;
}
 app-divinea>#divinea-wrapper app-homepage#divinea h2
 {
    font-weight: 500;
    line-height: 1.1;
    color: #ffffff !important;
}
app-divinea>#divinea-wrapper app-homepage#divinea .btn.btn-outline {
    background-color: #1E352F!important;
    border: 1px solid #b03b3b;
    color: inherit;
    box-shadow: none;
}
app-divinea>#divinea-wrapper app-homepage#divinea h4  {
    margin-top: 0;
    margin-bottom: 12px;
    font-family: Poppins-Semibold, sans-serif;
    color: #fff!important;
}
app-divinea>#divinea-wrapper app-homepage#divinea mat-form-field mat-label {
    position: relative;
    color: #777 !important;
    font-family: Poppins-Regular, sans-serif;
}
app-divinea>#divinea-wrapper {
    font-family: Poppins-Regular, sans-serif;
    font-size: 16px;
    color: #ffffff!important;
    text-align: initial;
    display: block;
    border-radius: 6px;
    background-color: #fff;
    padding-left: 0;
    padding-right: 0;
}
.material .ng-pristine .ng-valid .ng-touched {
	color: #fff !important;
}
app-divinea>#divinea-wrapper app-homepage#divinea .experience-detail-wrapper .right>section.description>div {
    white-space: pre-wrap;
    color: #fff;
}
app-divinea>#divinea-wrapper app-homepage#divinea p {
    margin-bottom: 12px;
    font-weight: inherit;
    color: #fff;
}
/*colore carte*/
app-divinea>#divinea-wrapper app-homepage#divinea .experience-box>div.content>.information-group-top>.title {
    color: #ffffff !important;
}
app-divinea>#divinea-wrapper app-homepage#divinea .experience-box.card>div.content.content, app-divinea>#divinea-wrapper app-homepage#divinea .experience-box.card>div.description.content {
    justify-content: space-between;
    display: flex;
    flex-direction: column;
    background-color: #A58E81;
}
app-divinea>#divinea-wrapper app-homepage#divinea .experience-box.card {
    box-shadow: 0 0 4px #ddd;
    background-color: #A58E81 !important;
}
app-divinea>#divinea-wrapper app-homepage#divinea .experience-box.card>div:last-child {
    display: flex
;
    padding-top: 20px;
    padding-bottom: 20px;
    align-items: center;
    justify-content: space-between;
    border-top: 1px solid #ffffff;
    background-color: #A58E81;
}
/*sezione 2*/
app-divinea>#divinea-wrapper app-homepage#divinea .ng-dropdown-panel .ng-dropdown-panel-items .ng-option.ng-option-marked {
    background-color: #777 !important;
    color: inherit;
}

app-divinea>#divinea-wrapper app-homepage#divinea .product-box .product {
        padding-left: 35px;
        padding-right: 35px;
        background-color: white !important;
    }
}
/*bottone*/
app-divinea>#divinea-wrapper app-homepage#divinea .product-carousel .navigation.next {
    right: 0;
    transform: translate(50%, -50%);
	border: 2px solid #fff !important; 
}
app-divinea>#divinea-wrapper app-homepage#divinea .product-carousel .navigation.prev {
    left: 0;
    transform: translate(-50%, -50%);
	border: 2px solid #fff !important;
}
/*orari*/
app-divinea>#divinea-wrapper app-homepage#divinea ng-select.inline .ng-dropdown-panel .ng-dropdown-panel-items .ng-option .ng-option-label {
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    display: block;
    padding: 10px;
    text-align: center;
    background-color: #A58E81;
}
/* link dentro al widget */
app-divinea a,
app-divinea#divinea-wrapper a { color: #fff !important; }
app-divinea a:hover,
app-divinea#divinea-wrapper a:hover { color: #1E352F !important; }

app-divinea>#divinea-wrapper app-homepage#divinea ul.chip-list>li>.content {
    border: 1px solid #e5e5e5;
    border-radius: 6px;
    padding: 16px;
    background-color: white;
    color: black;
}
/*selettore lingue*/
/* === WPML Language Switcher: EN | IT con linea centrale === */

/* Layout orizzontale */
.wpml-ls-legacy-list-horizontal{
  display:flex !important;
  flex-direction:row !important;
  align-items:center;
  gap:0;
  list-style:none;
  margin:0;
  padding:0;
  white-space:nowrap;
}

/* Nascondi bandiere e padding residui */
.wpml-ls-legacy-list-horizontal .wpml-ls-flag,
.wpml-ls-legacy-list-horizontal .wpml-ls-link img{ display:none !important; }
.wpml-ls-legacy-list-horizontal .wpml-ls-link{ padding:0 !important; }

/* Tipografia link */
.wpml-ls-legacy-list-horizontal li{ display:flex; align-items:center; }
.wpml-ls-legacy-list-horizontal a{
  display:inline-flex;
  align-items:center;
  text-transform:uppercase;
  font-weight:600;
  text-decoration:none;
  font-style:normal;
  line-height:1;
  transition:color .2s;
}

/* Colori --------------------------------------------------- */
/* Base: bianco per le lingue NON attive */
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a{
  color:#ffffff;
}

/* Hover: verde SOLO per le NON attive */
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:hover,
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:focus-visible{
  color:var(--e-global-color-success, #A7C77A);
}

/* Lingua attiva: oro */
.wpml-ls-legacy-list-horizontal .wpml-ls-current-language a{
  color:#1E352F;
}

/* Separatore verticale centrato */
.wpml-ls-legacy-list-horizontal li + li::before{
  content:"";
  display:inline-block;
  width:1px;
  height:1em;              /* pari all’altezza del testo */
  background:#ffffff;
  opacity:.9;
  margin:0 12px;           /* spazio a destra/sinistra della linea */
  vertical-align:middle;
}

/* Fix eventuale margine dopo bandiera */
.wpml-ls-legacy-list-horizontal .wpml-ls-flag + span{ margin-left:0; }
/* Base: BIANCO per tutte le lingue NON attive (anche visited) */
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a,
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:visited,
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) .wpml-ls-native{
  color: #ffffff !important;
}

/* Hover/focus: VERDE solo per le NON attive */
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:hover,
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:focus-visible{
  color: var(--e-global-color-success, #1E352F) !important;
}
/* Hover verde SOLO sulle lingue NON attive */
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:hover,
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:focus-visible,
.wpml-ls-legacy-list-horizontal li:not(.wpml-ls-current-language) a:hover .wpml-ls-native {
  color: var(--e-global-color-success, #1E352F) !important;
  cursor: pointer;
}
/*togliere linea slider alloggiare*/
	#alloggiare-slider figure.swiper-slide-inner {
    line-height: 0 !important;
}
/*togliere linea slider eventi*/
.elementor-widget-image-carousel .swiper .swiper-slide figure{
	line-height: 0 !important;
}
/*colori logo*/
app-divinea>#divinea-wrapper app-homepage#divinea .experience-box.card>div.content>.information-group-bottom>p>fa-icon{
    width: 25px;
    color: #1E352F!important;
    font-size: 18px;
    display: inline-block;
}