/* ============================================================
   RIBBON NON DISPONIBILE (SCADUTO)
   ============================================================ */
/* ===== VIAGGI SCADUTI – RIBBON E STILI ===== */

.vh-expired-trip {
    position: relative !important;
    opacity: 0.5 !important;
}
/*tax cart*/
.includes_tax{float:right;}
/* Ribbon rosso NON DISPONIBILE */
.vh-expired-trip::before {
    content: "PRENOTAZIONI CHIUSE";
    position: absolute;
    top: 12px;
    left: -16px;
    padding: 6px 18px;
    background: #c50000;
    color: #fff;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    transform: rotate(-8deg);
    z-index: 20;
    border-radius: 3px;
}

/* Disabilita click sui viaggi scaduti */
.vh-expired-trip a {
    pointer-events: none !important;
    cursor: default !important;
}

/* Messaggio nella pagina singola */
.vh-expired-message {
    padding: 18px 20px;
    margin-bottom: 20px;
    background: #ffe3e3;
    border: 1px solid #ff9a9a;
    border-radius: 6px;
    font-size: 17px;
    font-weight: 600;
    text-align: center;
}

.vh-expired-message {
    background: #b60000;
    color: white;
    padding: 14px 18px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 5px;
    margin-bottom: 20px;
}

/* ===== WBTM: campi in UNA colonna su mobile ===== */
@media (max-width: 768px) {

  /* Il contenitore dei campi: stop al layout "a righe" */
  .wbtm_attendee_area .mpPanelBody{
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  /* Ogni campo  */
  .wbtm_attendee_area label.mp_form_item{
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
  }

  /* Input/select full width */
  .wbtm_attendee_area label.mp_form_item input,
  .wbtm_attendee_area label.mp_form_item select,
  .wbtm_attendee_area label.mp_form_item textarea{
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

}
/* ================================
   SELEZIONE POSTO – LABEL TIPO
   ================================ */

.wbtm_seat_item_list ul.mp_list li.justifyBetween {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 10px;
    margin-bottom: 6px;
    border-radius: 6px;
    background: #f2f5f8;   /* sfondo base */
    font-size: 13px;
    font-weight: 600;
    color: #002c3f;
}
/*CARD*/
.vh-seat-availability{
font-weight:700;
margin-top:6px;
font-size:15px;
}

.vh-seats-green{
color:#16a34a;
}

.vh-seats-orange{
color:#f59e0b;
}

.vh-seats-red{
color:#dc2626;
}

.vh-seats-grey{
color:#6b7280;
}
/* ================================
   TOOLTIP SELEZIONE POSTO (FIX)
   ================================ */

/* tooltip principale */
.mp_tooltip,
.wbtm-tooltip,
.seat_tooltip,
.seat-tooltip,
.mp-seat-tooltip,
.wbtm-seat-tooltip {
    background: rgba(0, 44, 63, 0.95) !important;
    color: #ffffff !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    box-shadow: 0 8px 18px rgba(0,0,0,0.35) !important;
    backdrop-filter: blur(2px);
    z-index: 99999 !important;
}

/* separazione righe interne */
.mp_tooltip span,
.wbtm-tooltip span,
.seat_tooltip span {
    display: block;
    padding: 2px 0;
}

/* se il tooltip è un <div> senza classi affidabili */
[data-seat-label] .mp_tooltip,
[data-seat-label] .seat_tooltip {
    background: rgba(0, 44, 63, 0.95) !important;
}

/* evidenzia Adulto */
.wbtm_seat_item_list ul.mp_list li[data-seat-label="Adulto"] {
    background: linear-gradient(135deg, #002c3f, #004a66);
    color: #ffffff;
}

/* evidenzia Bambino */
.wbtm_seat_item_list ul.mp_list li[data-seat-label="Bambino"] {
    background: linear-gradient(135deg, #ceb45f, #e0c878);
    color: #002c3f;
}

/* prezzo a destra */
.wbtm_seat_item_list ul.mp_list li span:last-child {
    font-weight: 700;
}

/* hover */
.wbtm_seat_item_list ul.mp_list li:hover {
    filter: brightness(1.05);
}
.placeholder_area.wbtm_pagination_item {
  position: relative;
}
.placeholder_area.wbtm_pagination_item.vh-low-seats::before{
  content: "ULTIMI POSTI";
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 20;
  background: #c0392b;
  color: #fff;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  box-shadow: 0 10px 25px rgba(0,0,0,.18);
}
.flexEqual{display: none !important;}

/* LISTA VIAGGI */
.wbtm-bus-route .time {
    display: none !important;
}

/* DETTAGLIO BUS – riga Destinazione */
.wbtm_bus_details_area tr:nth-child(2) td {
    font-size: 0 !important;
}

.wbtm_bus_details_area tr:nth-child(2) td h6,
.wbtm_bus_details_area tr:nth-child(2) td span,
.wbtm_bus_details_area tr:nth-child(2) td {
    font-size: 16px !important;
}

.wbtm_bus_details_area tr:nth-child(2) td br + text {
    display: none !important;
}
.wbtm_bus_details_area table tbody tr:nth-child(2) td br,
.wbtm_bus_details_area table tbody tr:nth-child(2) td span,
.wbtm_bus_details_area table tbody tr:nth-child(2) td {
    font-size: 0 !important;
}

.wbtm_bus_details_area table tbody tr:nth-child(2) td h6 {
    font-size: 16px !important;
}
.sf-availability.normal { color: #2e7d32; }
.sf-availability.warning { color: #f9a825; }
.sf-availability.critical { color: #c62828; font-weight:700; }
.sf-availability.soldout { color: #9e9e9e; }
/* Card pricing layout */
.vh-card-prices{
  margin-top:10px;
  padding-top:8px;
  border-top:1px solid #e5e7eb;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  font-size:14px;
}

.vh-price-adult{
  font-weight:700;
  color:#0d3b4c;
}

.vh-price-adult .woocommerce-Price-amount{
  font-size:16px;
}

.vh-price-child{
  font-weight:400;
  color:#64748b;
}

/* Separatore elegante */
.vh-price-child::before{
  content:"|";
  margin-right:10px;
  color:#cbd5e1;
}
@media (max-width:480px){
  .vh-card-prices{
    flex-wrap:wrap;
    gap:6px;
  }
}