/* =========================
   PRODUCT CARDS (BlackWave / Divi Child)
   ========================= */

/* Woo: togli padding default ai <li.product> */
.woocommerce ul.products li.product{
  padding: 0 !important;
}

/* Base card */
.etpc-card { list-style: none; }
.etpc-card__link { display:block; text-decoration:none; }

/* Card con immagine di sfondo (formato 4:6) */
.etpc-card__media{
  position: relative;
  aspect-ratio: 3 / 4;            /* qui il formato */
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  border-radius: 14px;
}

/* Overlay fumé + blur */
.etpc-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,0.3);
  backdrop-filter: blur(1px);
  -webkit-backdrop-filter: blur(1px);
  pointer-events:none;
  z-index: 1;
}

/* Contenuto sopra overlay */
.etpc-card__content{
  position:absolute;
  inset:0;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-;     /* contenuto al centro verticalmente */
  align-items:flex-start;     /* allineato a sinistra */
  text-align:left;
  z-index: 2;
	margin-top:35%;
}

/* Blocco centrale (titolo, leader, periodo) */
.etpc-card__center{
  width: 100%;
  padding-right: 0; /* tu lo vuoi 0 */
}

/* Titolo */
h2.etpc-card__title{
  margin:0;
  color: white;
  font-size: 2.6vw;
  font-weight: 800;
  line-height: 1em;
  text-shadow: 2px 2px 7px #000000;
}

/* Leader */
.etpc-card__leader{
  margin-top: -10px;
  font-weight: 900;
  font-size: 1em;
	line-height:1.1em;
  text-shadow: 2px 2px 5px #000000;
  color: #fff;
	margin-bottom:50px; 
}

/* "by" prima del leader */
.etpc-card__leader::before{
  content: "by ";
  font-weight: 600;
  opacity: .9;
}

/* Periodo */
.etpc-card__periodo{
  width: fit-content;
  margin-top: 10px;
  padding: 0px 15px;
  border-radius: 5px;
  background: rgba(255,255,255,0.92);
  color: #111;
  font-size: 0.9em;
  font-weight: 600;
  text-transform:capitalize;
}

/* Prezzo in fondo a destra */
.etpc-card__price{
  position:absolute;
  right:20px;
  bottom:16px;
  z-index:3;

  color: white;
  font-weight: 900;
  font-family: 'League Spartan';

  background: #2f9ee7;
  padding: 1px 15px;
  margin-right: -20px;
  border-radius: 20px 0px 0px 20px;

  text-align:right;
}

/* "da" prima del prezzo (sale-friendly) */
.etpc-card__price .amount::before{
  content: "da ";
  font-weight: 400;
}

/* se c'è prezzo barrato (del), NON mettere "da" sul barrato */
.etpc-card__price del .amount::before{
  content: "";
}

/* Small cleanup Woo price */
.etpc-card__price del { opacity: .75; }
.etpc-card__price ins { text-decoration: none; }


.etpc-card__dove{
  margin-top: 10px;
  padding: 0px 15px;
  border-radius: 5px;
  background: rgba(255,255,255,0.92);
  color: #111;
  font-size: 0.9em;
  font-weight: 600;
	width: fit-content;
}


/* Nascondo radio */
.wpf_item input[type="radio"]{
  display:none;
}

/* Layout generale */
.wpf_items_wrapper .wpf_item ul li{
  display:inline-block;
  margin-right: 1em;
  padding: 0;
  border: 0;
}

/* ====== STILE BASE (vale per label normale e label interno di ALL) ====== */
.wpf_items_wrapper .wpf_item ul li input[type="radio"] + label,
.wpf_items_wrapper .wpf_item ul li input[type="radio"] + label > label{
  display:inline-block;
    padding:7px 10px 7px 14px ;
  border: 1px solid #2f9ee7;
  border-radius:10px;
  color:#2f9ee7;
  cursor:pointer;
  background: transparent;
}

/* ====== FIX specifico per ALL: il label esterno deve essere neutro ====== */
.wpf_items_wrapper .wpf_item ul li.wpf_tour-leader_option_all input[type="radio"] + label{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}

.wpf_items_wrapper .wpf_item ul li.wpf_destinazione_option_all input[type="radio"] + label{
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}


/* Hover (normali + ALL interno) */
.wpf_items_wrapper .wpf_item ul li:hover input[type="radio"] + label,
.wpf_items_wrapper .wpf_item ul li:hover input[type="radio"] + label > label{
  background:#2f9ee7;
  color:#fff;
}

/* Selezionato/attivo (normali + ALL interno) */
.wpf_items_wrapper .wpf_item ul li input[type="radio"]:checked + label,
.wpf_items_wrapper .wpf_item ul li input[type="radio"]:checked + label > label{
  background:#2f9ee7;
  color:#fff;
  border-color:#2f9ee7;
}

/* Cambia "All" in "Tutti" (CSS-only) */
.wpf_items_wrapper .wpf_item ul li.wpf_tour-leader_option_all label > label{
  font-size: 0; /* nasconde il testo originale */
}

.wpf_items_wrapper .wpf_item ul li.wpf_tour-leader_option_all label > label::before{
  content: "Tutti i Leader";
  font-size: 18px; /* metti il tuo */
}


.wpf_items_wrapper .wpf_item ul li.wpf_destinazione_option_all label > label::before{
  content: "Around the World";
  font-size: 18px; /* metti il tuo */
}

/* Cambia "All" in "Tutti" (CSS-only) */
.wpf_items_wrapper .wpf_item ul li.wpf_destinazione_option_all label > label{
  font-size: 0; /* nasconde il testo originale */
}

.etpc-card__leader{
  margin-top: -10px;
  font-weight: 900;
  font-size: 1em;
  text-shadow: 2px 2px 5px #000000;
  color: #fff;
  margin-bottom:50px;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;  /* massimo 2 righe */
  overflow: hidden;
}


@media only screen and (max-width: 480px) {
	.et-db #et-boc .et-l .product {
    width: 100%;
	}
	h2.etpc-card__title{
  font-size: 9vw !important;
	}
}



@media only screen and (max-width: 980px) {
	h2.etpc-card__title{
  font-size: 4vw;
	}
}


/* Badge (generico) */
.etpc-card__badge{
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;              /* sopra overlay e contenuti */
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: 0.85em;
  line-height: 1;
  text-transform: uppercase;
}

/* Variante: Esaurito */
.etpc-card__badge--oos{
  background: rgba(0,0,0,.65);
  color: #fff;
  border: 2px solid rgba(255,255,255,.85);
}