/*
 Theme Name:  Uvas Child
 Theme URI:   https://calendarioperazza.it
 Description: Child theme basato su Hello Elementor per Uvas
 Author:      Perazza
 Template:    hello-elementor
 Version:     1.0.0
*/

/* =====================================================
   1. GENERAL
   ===================================================== */


.qodef-side-area-cover {
  display: none !important;
}

#qodef-top-area-inner,
#qodef-side-area-inner,
#qodef-page-footer-top-area p,
#qodef-page-footer-bottom-area,
.qodef-icon-with-text .qodef-m-text,
input,
select,
textarea,
label,
#breadcrumb,
.qodef-accordion-content-inner p,
#sectors-list li p {
  font-family: "DM Sans", sans-serif !important;
}

.social li {
  display: inline-block;
  margin-right: 15px !important;
}

.padding-lateral {
  padding-left: 100px;
  padding-right: 100px;
}

@media (max-width: 1024px) {
	.padding-lateral {
    padding-left: 15px!important;
    padding-right: 15px!important;
  }
}

@media (max-width: 767px) {
  .padding-lateral {
    padding-left: 15px!important;
    padding-right: 15px!important;
  }
}
.tax-product_cat #qodef-page-inner.qodef-content-grid {
  padding-left: 80px;
  padding-right: 80px;
}

.padding-top,
.tax-product_cat #qodef-page-inner {
  padding-top: 116px;
}

.padding-bottom,
.tax-product_cat #qodef-page-inner,
.tax-product_cat .term-description,
.tax-product_tag .term-description {
  padding-bottom: 116px;
}

.padding-top-small { padding-top: 46px; }
.padding-bottom-small { padding-bottom: 46px; }
.padding-top-extra-small { padding-top: 34px; }
.padding-bottom-extra-small { padding-bottom: 34px; }
.padding-top-ultra-extra-small { padding-top: 14px; }
.padding-bottom-ultra-extra-small { padding-bottom: 14px; }

.force-text-weight-normal,
.force-text-weight-normal * {
  font-weight: normal !important;
}

.lateral-margin-auto {
  margin-left: auto;
  margin-right: auto;
}
/*@media (max-width: 767px) {

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

  .tax-product_cat #qodef-page-inner.qodef-content-grid {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .padding-top,
  .tax-product_cat #qodef-page-inner {
    padding-top: 20px !important;
  }

  .padding-bottom,
  .tax-product_cat #qodef-page-inner,
  .tax-product_cat .term-description,
  .tax-product_tag .term-description {
    padding-bottom: 20px !important;
  }

  .padding-top-small,
  .padding-top-extra-small,
  .padding-top-ultra-extra-small {
    padding-top: 10px !important;
  }

  .padding-bottom-small,
  .padding-bottom-extra-small,
  .padding-bottom-ultra-extra-small {
    padding-bottom: 10px !important;
  }

  .force-text-weight-normal,
  .force-text-weight-normal * {
    font-weight: inherit !important;
  }

  .lateral-m
*/
/* =====================================================
   2. HEADER – SELETTORE LINGUE (WPML)
   ===================================================== */

/* 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 0.2s;
}

/* Colori base */

/* Lingue NON attive: bianco */
.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 lingue NON attive: verde */
.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;
}

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

/* Separatore verticale centrato */
.wpml-ls-legacy-list-horizontal li + li::before {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1em;
  background: #ffffff;
  opacity: 0.9;
  margin: 0 12px;
  vertical-align: middle;
}

/* =====================================================
   3. SLIDER GENERALE (ENTRAMBI I BLOCCHI)
   ===================================================== */

/* Contenitore slider: 2 colonne (lista | centro) */
.vv-slider {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 80px 0 0 0;
  display: grid;
  grid-template-columns: 1.1fr 1.9fr;
  column-gap: 80px;
  align-items: center;
}

/* Lista vini a sinistra */
.vv-slider__left {
  font-size: 18px;
}

.vv-item {
  cursor: pointer;
  margin-bottom: 30px;
  width: fit-content;
}

.vv-item__label {
  display: block;
  text-transform: uppercase;
  letter-spacing: .02em;
}

/* lineetta sotto il vino */
.vv-item__line {
  display: block;
  width: 0;
  height: 2px;
  transition: width 0.3s ease, background-color 0.3s ease;
  margin-top: 2px;
}

/* quando il vino è attivo, la linea prende tutta la larghezza */
.vv-item.is-active .vv-item__line {
  width: 100%;
}

/* Centro: testo + immagine */
.vv-slider__center {
  display: flex;
  align-items: center;
  justify-content: space-between;
  column-gap: 80px;
}

.vv-center-text {
  text-align: left;
}

/* Animazione cambio vino */
.vv-center-text,
.vv-img-wrap {
  transition: opacity 0.35s ease, transform 0.35s ease;
}

.vv-slider__center.is-switching .vv-center-text,
.vv-slider__center.is-switching .vv-img-wrap {
  opacity: 0;
  transform: translateX(40px);
}

/* =====================================================
   4. IMMAGINE FUSTO (ENTRAMBI GLI SLIDER)
   ===================================================== */

.vv-img-wrap {
  position: relative;
  width: 420px;
  height: 510px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 420px;
  align-self: center;
  border: none; /* cerchi dentro all'immagine */
}

.vv-img-wrap::before {
  content: none !important;
}

.vv-img-wrap img,
.vv-img-wrap img#vv-img {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: 520px;
  object-fit: contain;
  display: block;
}

/* =====================================================
   5. FRECCE – BASE
   ===================================================== */

.vv-slider__arrows {
  position: absolute;
  top: -130px;
  right: 0;
  display: flex;
  flex-direction: row;
  gap: 10px;
}

.vv-arrow {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: transparent;
}

.vv-arrow img {
  width: 26px;
  height: 26px;
  display: block;
  filter: none;
}

/* =====================================================
   6. SLIDER NERO (L'UVAS) – .vv-block SENZA .vv-block--secondo
   ===================================================== */

/* Testi bianchi di base */
.vv-block:not(.vv-block--secondo) .vv-slider,
.vv-block:not(.vv-block--secondo) .vv-slider * {
  color: #ffffff;
}

/* Lista vini: non attivi in grigio chiaro */
.vv-block:not(.vv-block--secondo) .vv-item:not(.is-active) .vv-item__label {
  color: #b3b3b3;
}

/* Lineetta di base: mini grigia */
.vv-block:not(.vv-block--secondo) .vv-item__line {
  background: #b3b3b3;
  width: 9px;
  height: 1px;
}

/* Bianchi attivi: linea bianca */
.vv-block:not(.vv-block--secondo) .vv-slider--bianchi .vv-item.is-active .vv-item__line {
  background: #ffffff;
  width: 100%;
}

/* Free attivi: verde */
.vv-block:not(.vv-block--secondo) .vv-slider--free .vv-item.is-active .vv-item__line {
  background: #00a03a;
  width: 100%;
}
.vv-block:not(.vv-block--secondo) .vv-slider--free .vv-item.is-active .vv-item__label {
  color: #00a03a;
}

/* Rosati attivi: rosa */
.vv-block:not(.vv-block--secondo) .vv-slider--rosati .vv-item.is-active .vv-item__line {
  background: #e88ab7;
  width: 100%;
}
.vv-block:not(.vv-block--secondo) .vv-slider--rosati .vv-item.is-active .vv-item__label {
  color: #e88ab7;
}

/* Rossi attivi: rosso */
.vv-block:not(.vv-block--secondo) .vv-slider--rossi .vv-item.is-active .vv-item__line {
  background: #d7232f;
  width: 100%;
}
.vv-block:not(.vv-block--secondo) .vv-slider--rossi .vv-item.is-active .vv-item__label {
  color: #d7232f;
}

/* Titolo e "Scheda tecnica" bianchi */
.vv-block:not(.vv-block--secondo) .vv-center-text .vv-title {
  color: #ffffff;
}
.vv-block:not(.vv-block--secondo) .vv-center-text .vv-link {
  color: #ffffff;
}

/* Hover "Scheda tecnica" per categorie – slider nero */
.vv-block:not(.vv-block--secondo) .vv-slider--bianchi .vv-link:hover {
  color: #ffffff;
}
.vv-block:not(.vv-block--secondo) .vv-slider--free .vv-link:hover {
  color: #00a03a;
}
.vv-block:not(.vv-block--secondo) .vv-slider--rosati .vv-link:hover {
  color: #e88ab7;
}
.vv-block:not(.vv-block--secondo) .vv-slider--rossi .vv-link:hover {
  color: #d7232f;
}

/* Frecce blocco nero */
.vv-block:not(.vv-block--secondo) .vv-arrow {
  border: 1px solid #ffffff;
  background: transparent;
}

/* Hover frecce blocco nero: sparisce il cerchio */
.vv-block:not(.vv-block--secondo) .vv-arrow:hover,
.vv-block:not(.vv-block--secondo) .vv-arrow:focus {
  background: transparent !important;
  border-color: transparent;
  box-shadow: none;
}

/* Sicurezza click sulle frecce blocco nero */
.vv-block:not(.vv-block--secondo) .vv-slider__arrows {
  position: absolute;
  top: -130px;
  right: 0;
  display: flex;
  gap: 24px;
  z-index: 50;
}
.vv-block:not(.vv-block--secondo) .vv-arrow {
  pointer-events: auto;
}

/* =====================================================
   7. WRAPPER + TAB (BASE)
   ===================================================== */

.vv-block {
  position: relative;
  padding-left: 100px;
  padding-right: 100px;
}

/* mostro solo lo slider attivo */
.vv-sliders-wrapper .vv-slider {
  display: none;
}
.vv-sliders-wrapper .vv-slider.is-active {
  display: grid;
}

/* Tabs base (personalizzati poi per ogni blocco) */
.vv-tabs {
  position: relative;
  margin-top: 60px;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
}

.vv-tab {
  min-width: 110px;
  padding: 5px 25px;
  border-radius: 10px;
  border: 1px solid #ffffff;
  background: transparent;
  color: #ffffff;
  font-size: 15px;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.25s ease;
}

/* Hover generico blocco nero */
.vv-block:not(.vv-block--secondo) .vv-tab:hover {
  background: #ffffff;
  color: #000000;
}

/* Tab attivi per blocco nero */
.vv-block:not(.vv-block--secondo) .vv-tab.is-active[data-target="bianchi"] {
  background: #ffffff;
  color: #000000;
  border-color: #ffffff;
}
.vv-block:not(.vv-block--secondo) .vv-tab.is-active[data-target="free"] {
  background: #00a03a;
  color: #000000;
  border-color: #00a03a;
}
.vv-block:not(.vv-block--secondo) .vv-tab.is-active[data-target="rosati"] {
  background: #e88ab7;
  color: #000000;
  border-color: #e88ab7;
}
.vv-block:not(.vv-block--secondo) .vv-tab.is-active[data-target="rossi"] {
  background: #d7232f;
  color: #000000;
  border-color: #d7232f;
}

/* =====================================================
   8. LINEA SFUMATA (BIANCA E NERA)
   ===================================================== */

.linea-bordo,
.linea-bordo-black {
  position: relative;
}

/* Bianca */
.linea-bordo::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0),
    rgba(255, 255, 255, 0.6),
    rgba(255, 255, 255, 0)
  );
  pointer-events: none;
}

/* Nera */
.linea-bordo-black::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 1px;
  background: linear-gradient(
    to right,
    rgba(0, 0, 0, 0),
    rgba(0, 0, 0, 0.6),
    rgba(0, 0, 0, 0)
  );
  pointer-events: none;
}

/* =====================================================
   9. FONT SLIDER
   ===================================================== */

/* Tutto lo slider in Bodoni Moda */
.vv-block,
.vv-block * {
  font-family: "Bodoni Moda", serif !important;
}

/* Eccezioni: "Scheda Tecnica" e tab categorie in DM Sans */
.vv-block .vv-center-text .vv-link,
.vv-block .vv-tab {
  font-family: "DM Sans", sans-serif !important;
}

/* "Scheda tecnica": underline gestito via bordo (colore = currentColor) */
.vv-center-text .vv-link {
  text-decoration: none;
  position: relative;
  padding-bottom: 2px;
  border-bottom: 1px solid currentColor;
}

/* =====================================================
   10. SECONDO SLIDER – VIGNE VERDI / SERENELLO
       TUTTO NERO, TAB IN HOVER/ATTIVO BIANCHI
   ===================================================== */

/* Testi di base neri */
.vv-block--secondo .vv-slider,
.vv-block--secondo .vv-slider * {
  color: #fff !important;
}

/* ----- Lista vini a sinistra ----- */

/* Testo sempre nero (normale + hover) */
.vv-block--secondo .vv-slider__left .vv-item__label,
.vv-block--secondo .vv-slider__left .vv-item__label:hover {
  color: #fff !important;
}

/* Lineetta non attiva: mini nera */
.vv-block--secondo .vv-slider__left .vv-item__line {
  width: 10px;
  height: 1px;
  background: #fff !important;
  transition: width 0.3s ease;
}

.elementor-element span.elementor-heading-title:hover {
	font-style: italic;
}

/* Lineetta + testo attivi: neri, linea piena */
.vv-block--secondo .vv-slider__left .vv-item.is-active .vv-item__line {
  width: 100% !important;
  background: #fff !important;
}
.vv-block--secondo .vv-slider__left .vv-item.is-active .vv-item__label {
  color: #fff !important;
}

/* ----- "Scheda Tecnica" ----- */

.vv-block--secondo .vv-center-text .vv-link {
  color: #fff !important;
  border-bottom-color: #fff !important;
}

.vv-block--secondo .vv-center-text .vv-link:hover {
  color: #fff !important;
  border-bottom-color: #fff !important;
}

/* ----- Frecce ----- */

.vv-block--secondo .vv-arrow {
  border: 1px solid #fff!important;
  background: transparent !important;
}

.vv-block--secondo .vv-arrow:hover,
.vv-block--secondo .vv-arrow:focus {
  border-color: transparent !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ----- Tab categorie ----- */

.vv-block--secondo .vv-tabs {
  margin-top: 40px;
}

/* Base: bordo nero, testo nero, sfondo trasparente */
.vv-block--secondo .vv-tab {
  border: 1px solid #fff !important;
  background: transparent !important;
  color: #fff !important;
}

/* Hover: pill bianca, testo nero */
.vv-block--secondo .vv-tab:hover {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

/* Attivo: come hover (bianco/nero) */
.vv-block--secondo .vv-tab.is-active {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #000000 !important;
}

/* Annulla completamente eventuali colori di categoria sui tab */
.vv-block--secondo .vv-tab.is-active[data-target],
.vv-block--secondo .vv-tab:hover[data-target] {
  background: #fff !important;
  color: #5FA8CD !important;
  border-color: #5FA8CD!important;
}

/* Nessun colore di categoria su lista vini / scheda tecnica */
.vv-block--secondo .vv-slider--bianchi .vv-item.is-active .vv-item__label,
.vv-block--secondo .vv-slider--free .vv-item.is-active .vv-item__label,
.vv-block--secondo .vv-slider--rosati .vv-item.is-active .vv-item__label,
.vv-block--secondo .vv-slider--rossi .vv-item.is-active .vv-item__label {
  color: #fff !important;
}

.vv-block--secondo .vv-slider--bianchi .vv-item.is-active .vv-item__line,
.vv-block--secondo .vv-slider--free .vv-item.is-active .vv-item__line,
.vv-block--secondo .vv-slider--rosati .vv-item.is-active .vv-item__line,
.vv-block--secondo .vv-slider--rossi .vv-item.is-active .vv-item__line {
  background: #fff !important;
  width: 100% !important;
}

.vv-block--secondo .vv-slider--bianchi .vv-link:hover,
.vv-block--secondo .vv-slider--free .vv-link:hover,
.vv-block--secondo .vv-slider--rosati .vv-link:hover,
.vv-block--secondo .vv-slider--rossi .vv-link:hover {
  color: #fff !important;
	font-style: oblique !important;
}

/* =====================================================
   11. SOCIAL ICON
   ===================================================== */

.elementor-icon.elementor-social-icon {
  font-size: var(--icon-size, 25px);
  height: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .5em));
  line-height: var(--icon-size, 25px);
  width: calc(var(--icon-size, 25px) + 2 * var(--icon-padding, .0em));
  margin-right: 10px;
}
/* NAV TABS MOBILE – versione "pilloline" in una riga */
@media (max-width: 767px) {

  /* Contenitore delle tab del widget Nav Tabs */
  .elementor-widget-n-tabs .e-n-tabs-heading {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Bottoni delle singole tab */
  .elementor-widget-n-tabs .e-n-tab-title {
    flex: 1 1 0;
    height: auto !important;
    min-height: 44px;         /* altezza “normale” */
    padding: 10px 0 !important;
    margin: 0 !important;
    white-space: nowrap;
    box-sizing: border-box;
	border-radius: 10px;
  }

  /* (opzionale) togli eventuale bordo verticale tra le tab */
  .elementor-widget-n-tabs .e-n-tab-title:not(:last-child) {
    border-right-width: 1px;
  }
}

/* ============================
   Tabs mobile L'Uvas – colori
   ============================ */
@media (max-width: 767px) {

  /* stile base per tutti i tab */
  .uvas-mobile-tabs .e-n-tabs-heading .e-n-tabs-title {
    font-family: "DM Sans", sans-serif;
    text-transform: none;
    border-radius: 8px;
    border: 1px solid #000;
    background: #fff;
    color: #ffffff;
    padding: 10px 18px;
    transition: all 0.25s ease;
	  border-radius: 10px;
  }

  /* stato hover/focus generico (non attivo) */
  .uvas-mobile-tabs .e-n-tabs-heading .e-n-tabs-title:hover {
    background: #ffffff;
    color: #000000;
	  border-radius: 10px;
  }

  /* ========== COLORI PER TAB ATTIVO ========== */

  /* Bianchi – neutro bianco */
  .uvas-mobile-tabs #tab-bianchi[aria-selected="true"] {
    background: #ffffff;
    border-color: #000!important;
    color: #000000;
	border-radius: 10px;
  }

  /* Free – verde */
  .uvas-mobile-tabs #tab-free[aria-selected="true"] {
    background: #fff;
    border-color: #000;
    color: #000000;
	border-radius: 10px;
  }

  /* Rosati – rosa */
  .uvas-mobile-tabs #tab-speciali[aria-selected="true"] {
    background: #fff;
    border-color: #000;
    color: #000000;
	border-radius: 10px;
  }

  /* 👇 SOLO QUI: sposto i bottoni sotto al contenuto */
  .uvas-mobile-tabs .e-n-tabs {
    display: flex !important;
    flex-direction: column-reverse !important;
  }
}