/* Veste del calcolatore nello stile del sito nuovo.
   Solo colori e caratteri: nessuna funzione, nessun prezzo, nessun campo toccato. */
html body .blx-booking[data-step]{
  --blx-incognito-bg: linear-gradient(180deg,#05070F 0%,#080C16 30%,#0B1220 60%,#0A0E18 100%) !important;
  --ink:#05070F !important; --cyan:#CDDC39 !important; --blue:#CDDC39 !important;
  font-family:"Inter",system-ui,sans-serif !important;
}
html body .blx-booking[data-step][data-step="1"],
html body .blx-booking[data-step][data-step="2"],
html body .blx-booking[data-step][data-step="3"],
html body .blx-booking[data-step][data-step="4"]{
  background:
    radial-gradient(58% 34% at 82% 26%, rgba(205,220,57,.09) 0%, rgba(205,220,57,0) 60%),
    linear-gradient(180deg,#05070F 0%,#080C16 32%,#0B1220 64%,#0A0E18 100%) !important;
  border-color:rgba(255,255,255,.13) !important;
}
html body .blx-booking[data-step][data-step] .blx-progress{ background:rgba(5,7,15,.9) !important; }

/* striscia in alto: area riservata, gift card, lingua */
html body .blx-booking[data-step] .blx-private-area,
html body .blx-booking[data-step] .blx-giftcard,
html body .blx-booking[data-step] .blx-language{
  background:#0E131F !important; border:1px solid rgba(255,255,255,.14) !important; color:#fff !important;
}
html body .blx-booking[data-step] .blx-private-area *,
html body .blx-booking[data-step] .blx-giftcard *,
html body .blx-booking[data-step] .blx-language *{ color:#fff !important; }
html body .blx-booking[data-step] .blx-private-area button,
html body .blx-booking[data-step] .blx-giftcard button{
  background:#CDDC39 !important; color:#0B0D13 !important; border-color:#CDDC39 !important;
}
html body .blx-booking[data-step] .blx-language select{ background:#0E131F !important; color:#fff !important; border-color:rgba(255,255,255,.2) !important; }

/* schede del servizio */
html body .blx-booking[data-step] .blx-tab, html body .blx-booking[data-step] .blx-service button{
  background:#0E131F !important; color:#fff !important; border:1px solid rgba(255,255,255,.14) !important;
}
html body .blx-booking[data-step] .blx-tab.active, html body .blx-booking[data-step] .blx-service button.active,
html body .blx-booking[data-step] button.active{ background:#CDDC39 !important; color:#0B0D13 !important; border-color:#CDDC39 !important; }
html body .blx-booking[data-step] button.active *{ color:#0B0D13 !important; }

/* riquadro dei campi */
html body .blx-booking[data-step] .blx-start-fields,
html body .blx-booking[data-step] .blx-start-fields label,
html body .blx-booking[data-step] .blx-start-fields .destination{
  background:#0E131F !important; color:#FFFFFF !important; border-color:rgba(255,255,255,.12) !important;
}
html body .blx-booking[data-step] .blx-start-fields input,
html body .blx-booking[data-step] .blx-start-fields select{
  background:transparent !important; color:#FFFFFF !important;
}
html body .blx-booking[data-step] .blx-start-fields input::placeholder{ color:#7C8698 !important; }
html body .blx-booking[data-step] .blx-start-fields ::-webkit-calendar-picker-indicator{ filter:invert(.75) !important; }

/* tappe, ore extra, andata e ritorno */
html body .blx-booking[data-step] .blx-options,
html body .blx-booking[data-step] .blx-first-options,
html body .blx-booking[data-step] .blx-first-panel,
html body .blx-booking[data-step] .blx-roundtrip-option{
  background:#0B1018 !important; color:#DFE4EC !important; border-color:rgba(255,255,255,.12) !important;
}
html body .blx-booking[data-step] .blx-options *, html body .blx-booking[data-step] .blx-roundtrip-option *{ color:#DFE4EC !important; }

/* pulsante principale */
html body .blx-booking[data-step] .blx-primary, html body .blx-booking[data-step] button.blx-primary{
  background:#CDDC39 !important; background-image:none !important; color:#0B0D13 !important;
  border-color:#CDDC39 !important; box-shadow:0 10px 26px rgba(205,220,57,.18) !important;
}
html body .blx-booking[data-step] .blx-primary:hover{ background:#D9E84A !important; }

/* riquadro "Travel with peace of mind" */
html body .blx-booking[data-step] .blx-home-footer, html body .blx-booking[data-step] footer.blx-home-footer{
  background:#0B1018 !important; background-image:none !important;
  border:1px solid rgba(255,255,255,.12) !important; color:#C9CFDB !important;
}


/* specificita' alta: le regole del calcolatore usano !important, qui serve vincere */
html body .blx-booking[data-step] button.active,
html body .blx-booking[data-step] .blx-service button.active{
  background:#CDDC39 !important; background-image:none !important; color:#0B0D13 !important; border-color:#CDDC39 !important;
}
html body .blx-booking[data-step] button.active *{ color:#0B0D13 !important; }
html body .blx-booking[data-step] button.blx-primary,
html body .blx-booking[data-step] .blx-primary{
  background:#CDDC39 !important; background-image:none !important; color:#0B0D13 !important;
  border-color:#CDDC39 !important; text-shadow:none !important;
}
html body .blx-booking[data-step] .blx-options,
html body .blx-booking[data-step] .blx-options *{
  background-color:#0B1018 !important; color:#DFE4EC !important;
}
html body .blx-booking[data-step] .blx-options input[type=checkbox]{ accent-color:#CDDC39 !important; }
html body .blx-booking[data-step] footer.blx-home-footer,
html body .blx-booking[data-step] .blx-home-footer{
  background-color:#0B1018 !important; background-image:none !important;
  border:1px solid rgba(255,255,255,.12) !important;
}
html body .blx-booking[data-step] .blx-home-footer *{ color:#C9CFDB !important; }
html body .blx-booking[data-step] .blx-home-footer h2,
html body .blx-booking[data-step] .blx-home-footer h3{ color:#FFFFFF !important; }

/* dentro la scheda attiva non deve restare nessun fondo bianco */
html body .blx-booking[data-step] button.active > *,
html body .blx-booking[data-step] button.active::before,
html body .blx-booking[data-step] button.active::after{ background:transparent !important; background-image:none !important; }
html body .blx-booking[data-step] button[data-service].active{ background:#CDDC39 !important; }
/* schede non attive */
html body .blx-booking[data-step] button[data-service]{ background:#0E131F !important; color:#FFFFFF !important; border:1px solid rgba(255,255,255,.14) !important; }
html body .blx-booking[data-step] button[data-service] > *{ background:transparent !important; }
html body .blx-booking[data-step] button[data-service].active,
html body .blx-booking[data-step] button[data-service].active *{ color:#0B0D13 !important; }
/* pulsante di inversione */
html body .blx-booking[data-step] .blx-swap-btn, html body .blx-booking[data-step] .blx-swap{
  background:#0E131F !important; color:#CDDC39 !important; border:1px solid rgba(255,255,255,.2) !important;
}

/* collegamenti "+ Aggiungi tappa" e "+ Ore extra" in lime */
html body .blx-booking[data-step] .blx-first-options a,
html body .blx-booking[data-step] .blx-first-options button,
html body .blx-booking[data-step] .blx-first-panel a,
html body .blx-booking[data-step] .blx-first-panel button,
html body .blx-booking[data-step] .blx-panel-apri{ color:#CDDC39 !important; }
/* cerchietto di inversione scuro */
html body .blx-booking[data-step] .blx-start-fields button{
  background:#0E131F !important; color:#CDDC39 !important; border:1px solid rgba(255,255,255,.2) !important;
}

/* rassicurazioni sotto il pulsante e riga "collegamento sicuro" */
html body .blx-booking[data-step] .blx-safe,
html body .blx-booking[data-step] .blx-safe *{ color:#99A0AD !important; }
html body .blx-booking[data-step] .blx-trust,
html body .blx-booking[data-step] .blx-trust *{ color:#C9CFDB !important; }
/* quadratini e pallini di scelta in lime */
html body .blx-booking[data-step] input[type=checkbox],
html body .blx-booking[data-step] input[type=radio]{ accent-color:#CDDC39 !important; }
html body .blx-booking[data-step] .blx-roundtrip-option{ color:#C9CFDB !important; }
html body .blx-booking[data-step] .blx-trust-line,
html body .blx-booking[data-step] .blx-trust-line *{ color:#C9CFDB !important; }
html body .blx-booking[data-step] .blx-results-benefits,
html body .blx-booking[data-step] .blx-results-benefits *{ color:#99A0AD !important; }

/* titoli dei passaggi successivi: stanno sul fondo scuro della pagina,
   quindi devono essere chiari (i riquadri bianchi restano come prima) */
html body .blx-booking[data-step] > .blx-step > h2,
html body .blx-booking[data-step] > .blx-step > p,
html body .blx-booking[data-step] .blx-results-shell > main > h2,
html body .blx-booking[data-step] .blx-results-shell > main > .blx-vehicles > p,
html body .blx-booking[data-step] .blx-layout > div > h2,
html body .blx-booking[data-step] .blx-return > h3{ color:#FFFFFF !important; }
html body .blx-booking[data-step] > .blx-step > p,
html body .blx-booking[data-step] .blx-results-shell > main > .blx-vehicles > p{ color:#99A0AD !important; }

/* ============================================================
   1.0.3 - DISPOSIZIONE COME IL SITO NUOVO (4 righe)
   1) schede  2) partenza+destinazione+data+ora+CONTINUE
   3) i due riquadri  4) andata e ritorno
   Solo aspetto: non sposta nessun campo, non tocca i prezzi.
   Da 1000 px in giu torna tutto uno sotto l'altro (telefono).
   ============================================================ */
@media (min-width:1000px){
  /* Impagina la prima schermata solo quando e davvero quella attiva.
     Il passaggio diretto dal sito nuovo apre gia la scelta del veicolo. */
  html body .blx-booking[data-step="1"] .blx-step.blx-start.active{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto;
    column-gap:14px; row-gap:14px; align-items:stretch;
  }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-brand{ grid-row:1; grid-column:1 / -1; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-tabs{ grid-row:2; grid-column:1 / -1; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-start-fields{ grid-row:3; grid-column:1; margin:0 !important; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-primary{ grid-row:3; grid-column:2; margin:0 !important; align-self:stretch; min-width:230px; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-first-options{ grid-row:4; grid-column:1 / -1; margin:0 !important; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-stops{ grid-row:5; grid-column:1 / -1; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-extra-hours{ grid-row:6; grid-column:1 / -1; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-options{ grid-row:7; grid-column:1 / -1; margin:0 !important; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-return{ grid-row:8; grid-column:1 / -1; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-trust-line{ grid-row:9; grid-column:1 / -1; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-safe{ grid-row:10; grid-column:1 / -1; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-home-footer{ grid-row:11; grid-column:1 / -1; }

  /* la barra dei campi: tutto su una riga */
  html body .blx-booking[data-step] .blx-start-fields{
    display:flex !important; flex-wrap:wrap; align-items:stretch; gap:0;
    border-radius:14px; overflow:hidden;
  }
  html body .blx-booking[data-step] .blx-start-fields > label{
    flex:1 1 0; min-width:0; margin:0 !important; border:0 !important;
    border-right:1px solid rgba(255,255,255,.10) !important; padding:14px 18px !important;
    display:flex; flex-direction:column; justify-content:center; gap:4px;
  }
  html body .blx-booking[data-step] .blx-start-fields > label > input{ width:100%; }
  html body .blx-booking[data-step] .blx-start-fields > label.destination{ order:3; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-swap-route{
    order:2; align-self:center; position:static !important; margin:0 8px !important; flex:0 0 auto;
  }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row{
    order:4; flex:0 0 auto; display:flex !important; align-items:stretch; gap:0; margin:0 !important; border:0 !important;
  }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label{
    margin:0 !important; border:0 !important; border-left:1px solid rgba(255,255,255,.10) !important;
    padding:14px 18px !important; min-width:150px;
    display:flex; flex-direction:column; justify-content:center; gap:4px;
  }
  /* le righe che compaiono solo per il servizio ad ore vanno a capo */
  html body .blx-booking[data-step] .blx-start-fields > .hourly-only,
  html body .blx-booking[data-step] .blx-start-fields > .blx-ore-blocco{ order:5; flex:1 0 100%; }

  /* il pulsante CONTINUE alto quanto la barra */
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-primary{
    display:flex; align-items:center; justify-content:center; border-radius:14px;
  }
}

@media (min-width:1000px){
  /* la barra deve occupare tutta la larghezza disponibile */
  html body .blx-booking[data-step] .blx-step.blx-start{ max-width:1240px !important; width:100% !important; margin-left:auto !important; margin-right:auto !important; }
  html body .blx-booking[data-step] .blx-start-fields{ width:100% !important; max-width:none !important; }
  html body .blx-booking[data-step] .blx-start-fields > label{ min-width:210px !important; }
  html body .blx-booking[data-step] .blx-start-fields > label > input{ width:100% !important; min-width:0 !important; font-size:17px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label{ min-width:0 !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input{ width:auto !important; max-width:150px !important; font-size:17px !important; }
  html body .blx-booking[data-step] .blx-tabs{ justify-content:flex-start !important; }
}

@media (min-width:1000px){
  /* i due riquadri e la riga "andata e ritorno" larghi quanto la barra */
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-first-options{
    display:grid !important; grid-template-columns:1fr 1fr; gap:14px; width:100% !important; max-width:none !important;
  }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-options{
    width:100% !important; max-width:none !important; border-radius:14px; padding:16px 20px !important;
  }
  /* iconcine nelle schede, come nel sito nuovo */
  html body .blx-booking[data-step] .blx-tabs button{
    display:flex !important; align-items:center; gap:12px; text-align:left; padding:14px 22px !important;
  }
  html body .blx-booking[data-step] .blx-tabs button > span,
  html body .blx-booking[data-step] .blx-tabs button > small{ display:block; }
  html body .blx-booking[data-step] .blx-tabs button::before{
    content:""; flex:0 0 auto; width:22px; height:22px; background:currentColor;
    -webkit-mask-repeat:no-repeat; mask-repeat:no-repeat; -webkit-mask-position:center; mask-position:center;
    -webkit-mask-size:contain; mask-size:contain;
    -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 8 3 12l4 4'/><path d='M17 8l4 4-4 4'/><path d='M3 12h18'/></svg>");
    mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 8 3 12l4 4'/><path d='M17 8l4 4-4 4'/><path d='M3 12h18'/></svg>");
  }
  html body .blx-booking[data-step] .blx-tabs button:nth-of-type(2)::before{
    -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg>");
    mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg>");
  }
  html body .blx-booking[data-step] .blx-tabs button:nth-of-type(3)::before{
    -webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11z'/><circle cx='12' cy='10' r='2.5'/></svg>");
    mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s7-6.2 7-11a7 7 0 1 0-14 0c0 4.8 7 11 7 11z'/><circle cx='12' cy='10' r='2.5'/></svg>");
  }
}

/* l'automobile sullo sfondo del primo passaggio, come nel sito nuovo */
html body .blx-booking[data-step] .blx-step.blx-start{ position:relative; }
html body .blx-booking[data-step] .blx-step.blx-start::before{
  content:""; position:absolute; right:-40px; top:-30px; width:min(760px,62%); height:420px;
  background:url("auto/prestige.webp") right top / contain no-repeat;
  opacity:.45; pointer-events:none; z-index:0;
  -webkit-mask-image:linear-gradient(to left, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
  mask-image:linear-gradient(to left, rgba(0,0,0,1) 40%, rgba(0,0,0,0) 100%);
}
html body .blx-booking[data-step] .blx-step.blx-start > *{ position:relative; z-index:1; }
@media (max-width:999px){
  html body .blx-booking[data-step] .blx-step.blx-start::before{ height:200px; opacity:.28; top:-10px; right:-20px; width:85%; }
}

@media (min-width:1000px){
  html body .blx-booking[data-step] .blx-tabs button::before{
    -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J003IDggMyAxMmw0IDQnLz48cGF0aCBkPSdNMTcgOGw0IDQtNCA0Jy8+PHBhdGggZD0nTTMgMTJoMTgnLz48L3N2Zz4=") !important;
    mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J003IDggMyAxMmw0IDQnLz48cGF0aCBkPSdNMTcgOGw0IDQtNCA0Jy8+PHBhdGggZD0nTTMgMTJoMTgnLz48L3N2Zz4=") !important;
  }
  html body .blx-booking[data-step] .blx-tabs button:nth-of-type(2)::before{
    -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzknLz48cGF0aCBkPSdNMTIgN3Y1bDMgMicvPjwvc3ZnPg==") !important;
    mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxjaXJjbGUgY3g9JzEyJyBjeT0nMTInIHI9JzknLz48cGF0aCBkPSdNMTIgN3Y1bDMgMicvPjwvc3ZnPg==") !important;
  }
  html body .blx-booking[data-step] .blx-tabs button:nth-of-type(3)::before{
    -webkit-mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xMiAyMXM3LTYuMiA3LTExYTcgNyAwIDEgMC0xNCAwYzAgNC44IDcgMTEgNyAxMXonLz48Y2lyY2xlIGN4PScxMicgY3k9JzEwJyByPScyLjUnLz48L3N2Zz4=") !important;
    mask-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAyNCAyNCcgZmlsbD0nbm9uZScgc3Ryb2tlPSdibGFjaycgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnPjxwYXRoIGQ9J00xMiAyMXM3LTYuMiA3LTExYTcgNyAwIDEgMC0xNCAwYzAgNC44IDcgMTEgNyAxMXonLz48Y2lyY2xlIGN4PScxMicgY3k9JzEwJyByPScyLjUnLz48L3N2Zz4=") !important;
  }
}
/* riga "andata e ritorno" leggibile come nel sito nuovo */
html body .blx-booking[data-step] .blx-roundtrip-option{
  display:flex !important; align-items:center; gap:12px; font-size:16px !important; font-weight:700 !important;
  color:#FFFFFF !important; margin:0 !important;
}
html body .blx-booking[data-step] .blx-roundtrip-option input[type=checkbox]{ width:20px; height:20px; flex:0 0 auto; }
/* gli indirizzi non devono essere tagliati */
html body .blx-booking[data-step] .blx-start-fields input[type=text]{ text-overflow:ellipsis; font-size:16px !important; }

/* i due riquadri: titolo bianco in grassetto, spiegazione grigia (come il sito nuovo) */
html body .blx-booking[data-step] .blx-first-options button > b,
html body .blx-booking[data-step] .blx-first-options button > strong{
  color:#FFFFFF !important; font-weight:700 !important; font-size:17px !important; letter-spacing:0 !important;
}
html body .blx-booking[data-step] .blx-first-options button > small{
  color:#99A0AD !important; font-size:14px !important; font-weight:400 !important;
}
html body .blx-booking[data-step] .blx-first-options button{
  text-align:left; padding:18px 22px !important; border-radius:14px;
}
/* le scritte grigie dentro i campi non si devono tagliare */
html body .blx-booking[data-step] .blx-start-fields input::placeholder{ font-size:16px; opacity:1; color:#7B8391 !important; }
html body .blx-booking[data-step] .blx-start-fields > label{ padding-left:22px !important; padding-right:14px !important; }
html body .blx-booking[data-step] .blx-start-fields > label > span{
  font-size:11px !important; letter-spacing:.14em !important; color:#99A0AD !important; text-transform:uppercase;
}

@media (min-width:1000px){
  /* le iconcine devono comparire davvero */
  html body .blx-booking[data-step] .blx-tabs button::before{ content:"" !important; display:block !important; }
  /* le schede partono da sinistra, come nel sito nuovo */
  html body .blx-booking[data-step] .blx-tabs{ display:flex !important; gap:12px; justify-content:flex-start !important; }
  html body .blx-booking[data-step] .blx-tabs button{ flex:0 1 auto; }
  /* gli indirizzi hanno piu spazio, data e ora meno */
  html body .blx-booking[data-step] .blx-start-fields > label{ flex:1.6 1 0 !important; padding-left:46px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label{ padding-left:18px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input{ max-width:130px !important; font-size:16px !important; }
}

@media (min-width:1000px){
  /* l'iconcina anche sulla scheda accesa (prima veniva cancellata) */
  html body .blx-booking[data-step] .blx-tabs button::before,
  html body .blx-booking[data-step] .blx-tabs button.active::before{
    background:currentColor !important; background-image:none !important;
  }
  /* iconcina a sinistra e testo accanto, non sopra */
  html body .blx-booking[data-step] .blx-tabs button{
    flex-direction:row !important; flex-wrap:nowrap !important; align-items:center !important;
    justify-content:flex-start !important; text-align:left !important;
  }
  html body .blx-booking[data-step] .blx-tabs button > span,
  html body .blx-booking[data-step] .blx-tabs button > small{ text-align:left !important; }
  html body .blx-booking[data-step] .blx-tabs button > span{ display:block; }
  /* le schede attaccate a sinistra */
  html body .blx-booking[data-step] .blx-tabs{ width:100% !important; max-width:none !important; margin-left:0 !important; margin-right:0 !important; }
  /* piu spazio agli indirizzi */
  html body .blx-booking[data-step] .blx-start-fields > label{ flex:2.2 1 0 !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label{ padding-left:16px !important; padding-right:14px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input{ max-width:118px !important; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-primary{ min-width:200px !important; }
}

@media (min-width:1000px){
  /* nella scheda: iconcina a sinistra, titolo sopra e spiegazione sotto */
  html body .blx-booking[data-step] .blx-tabs button{ flex-wrap:wrap !important; column-gap:12px; row-gap:2px; }
  html body .blx-booking[data-step] .blx-tabs button > span{
    flex:0 0 calc(100% - 34px) !important; font-size:15px !important; font-weight:700 !important;
  }
  html body .blx-booking[data-step] .blx-tabs button > small{
    flex:0 0 100% !important; padding-left:34px !important; font-size:13px !important; opacity:.85;
  }
  /* la data non si deve tagliare */
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input[type=date]{ max-width:150px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input[type=time]{ max-width:120px !important; }
  html body .blx-booking[data-step] .blx-start-fields > label{ flex:1.8 1 0 !important; }
}

@media (min-width:1000px){
  /* la scritta grigia dentro i campi deve entrare per intero:
     tolgo un po' di spazio a data, ora e al pulsante e lo do agli indirizzi */
  html body .blx-booking[data-step] .blx-start-fields > label > input,
  html body .blx-booking[data-step] .blx-start-fields input::placeholder{ font-size:14.5px !important; letter-spacing:0 !important; }
  html body .blx-booking[data-step] .blx-start-fields > label{ padding-left:38px !important; padding-right:8px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label{ padding-left:14px !important; padding-right:10px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input[type=date]{ max-width:124px !important; font-size:14.5px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input[type=time]{ max-width:100px !important; font-size:14.5px !important; }
  html body .blx-booking[data-step] .blx-step.blx-start > .blx-primary{ min-width:168px !important; font-size:15px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-swap-route{ margin:0 4px !important; }
}
@media (min-width:1000px){
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input[type=time]{ max-width:116px !important; }
  html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label:last-child{ padding-right:14px !important; }
}

/* ============================================================
   1.0.4 - NERO PIENO e misure piu piccole
   ============================================================ */
/* tutto il fondo nero, niente antracite */
html body .blx-booking[data-step],
html body .blx-booking[data-step] .blx-step,
html body .blx-booking[data-step] .blx-step.blx-start{ background:#000000 !important; }
html body .blx-booking[data-step] .blx-start-fields,
html body .blx-booking[data-step] .blx-first-options button,
html body .blx-booking[data-step] .blx-options,
html body .blx-booking[data-step] .blx-home-footer,
html body .blx-booking[data-step] .blx-tabs button,
html body .blx-booking[data-step] .blx-stops,
html body .blx-booking[data-step] .blx-extra-hours,
html body .blx-booking[data-step] .blx-return{
  background:#000000 !important; border-color:rgba(255,255,255,.14) !important;
}
html body .blx-booking[data-step] .blx-start-fields > label,
html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label,
html body .blx-booking[data-step] .blx-start-fields input,
html body .blx-booking[data-step] .blx-start-fields select{ background:#000000 !important; }
html body .blx-booking[data-step] button[data-service].active{ background:#CDDC39 !important; }
html body .blx-booking[data-step] .blx-swap-route,
html body .blx-booking[data-step] .blx-start-fields button{ background:#000000 !important; }

/* le scritte dentro i campi si devono vedere */
html body .blx-booking[data-step] .blx-start-fields input{ color:#FFFFFF !important; }
html body .blx-booking[data-step] .blx-start-fields input::placeholder{ color:#8A92A0 !important; opacity:1 !important; }

/* misure piu piccole, come nel sito nuovo */
html body .blx-booking[data-step] .blx-brand h2{ font-size:clamp(26px,3vw,42px) !important; line-height:1.1 !important; }
html body .blx-booking[data-step] .blx-brand p{ font-size:15px !important; }
html body .blx-booking[data-step] .blx-brand small{ font-size:11px !important; letter-spacing:.16em !important; }
html body .blx-booking[data-step] .blx-tabs button{ padding:12px 18px !important; }
html body .blx-booking[data-step] .blx-tabs button > span{ font-size:14px !important; }
html body .blx-booking[data-step] .blx-tabs button > small{ font-size:12px !important; }
html body .blx-booking[data-step] .blx-tabs button::before{ width:18px !important; height:18px !important; }
html body .blx-booking[data-step] .blx-start-fields > label > span,
html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label > span{ font-size:10px !important; letter-spacing:.14em !important; }
html body .blx-booking[data-step] .blx-start-fields input,
html body .blx-booking[data-step] .blx-start-fields input::placeholder{ font-size:14px !important; }
html body .blx-booking[data-step] .blx-start-fields > label{ padding-top:10px !important; padding-bottom:10px !important; }
html body .blx-booking[data-step] .blx-primary{ font-size:14px !important; letter-spacing:.06em !important; }
html body .blx-booking[data-step] .blx-first-options button > b,
html body .blx-booking[data-step] .blx-first-options button > strong{ font-size:15px !important; }
html body .blx-booking[data-step] .blx-first-options button > small{ font-size:13px !important; }
html body .blx-booking[data-step] .blx-first-options button{ padding:14px 18px !important; }
html body .blx-booking[data-step] .blx-roundtrip-option{ font-size:14px !important; }
html body .blx-booking[data-step] .blx-options{ padding:12px 18px !important; }
html body .blx-booking[data-step] .blx-trust-line,
html body .blx-booking[data-step] .blx-trust-line *{ font-size:12px !important; color:#C9CFDB !important; }
html body .blx-booking[data-step] .blx-safe,
html body .blx-booking[data-step] .blx-safe *{ font-size:12px !important; }
html body .blx-booking[data-step] .blx-home-footer strong{ font-size:17px !important; }
html body .blx-booking[data-step] .blx-home-footer span,
html body .blx-booking[data-step] .blx-home-footer p{ font-size:13px !important; }
/* ultimi fondi rimasti grigi */
html body .blx-booking[data-step] .blx-start-fields > label.destination,
html body .blx-booking[data-step] .blx-start-fields > label:hover,
html body .blx-booking[data-step] .blx-start-fields > label:focus-within,
html body .blx-booking[data-step] .blx-home-footer,
html body .blx-booking[data-step] .blx-home-footer > div,
html body .blx-booking[data-step] .blx-trust-line,
html body .blx-booking[data-step] .blx-safe{ background:#000000 !important; }
/* i riquadri hanno un contorno sottile, cosi si vedono sul nero */
html body .blx-booking[data-step] .blx-options,
html body .blx-booking[data-step] .blx-start-fields,
html body .blx-booking[data-step] .blx-first-options button,
html body .blx-booking[data-step] .blx-home-footer{ border:1px solid rgba(255,255,255,.14) !important; }
html body .blx-booking[data-step] footer.blx-home-footer,
html body .blx-booking[data-step] footer.blx-home-footer > div{ background:#000000 !important; }
html body .blx-booking[data-step] .blx-first-options,
html body .blx-booking[data-step] label.blx-roundtrip-option,
html body .blx-booking[data-step] label.blx-ore-altrove,
html body .blx-booking[data-step] .blx-step input:not([type=checkbox]):not([type=radio]){ background:transparent !important; }

/* ============================================================
   1.0.5 - il nero deve prendere TUTTA la pagina, non solo il
   calcolatore, altrimenti le righe nere sembrano strisce
   appiccicate sopra il grigio del tema.
   Vale solo sulla pagina delle prenotazioni e solo con la
   spunta accesa.
   ============================================================ */
html body,
html body #page, html body #content, html body #main, html body .site,
html body .site-content, html body .wp-site-blocks,
html body main, html body article,
html body .entry-content, html body .wp-block-post-content,
html body .wp-block-group, html body .wp-block-group__inner-container,
html body .blx-booking, html body .blx-booking > *{
  background-color:#000000 !important; background-image:none !important;
}
/* i campi devono essere trasparenti dentro la barra, non scatole nere */
html body .blx-booking[data-step] .blx-start-fields input,
html body .blx-booking[data-step] .blx-start-fields select{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  border-radius:0 !important; padding-left:0 !important; padding-right:0 !important;
  color:#FFFFFF !important; -webkit-text-fill-color:#FFFFFF !important;
}
html body .blx-booking[data-step] .blx-start-fields input::placeholder{
  color:#8A92A0 !important; opacity:1 !important; -webkit-text-fill-color:#8A92A0 !important;
}
/* le righe di rassicurazione non devono avere un fondo proprio */
html body .blx-booking[data-step] .blx-trust-line,
html body .blx-booking[data-step] .blx-safe,
html body .blx-booking[data-step] .blx-home-footer > div,
html body .blx-booking[data-step] .blx-home-footer strong,
html body .blx-booking[data-step] .blx-home-footer span,
html body .blx-booking[data-step] .blx-home-footer p{ background:transparent !important; }

/* ============================================================
   1.0.6 - le misure non devono dipendere dal tema del sito.
   Fisso la misura di partenza dentro il calcolatore e rimpicciolisco
   ancora un po' tutto.
   ============================================================ */
html body .blx-booking[data-step]{ font-size:15px !important; line-height:1.45 !important; }
html body .blx-booking[data-step] *{ letter-spacing:normal; }

html body .blx-booking[data-step] .blx-brand small{ font-size:10px !important; letter-spacing:.18em !important; }
html body .blx-booking[data-step] .blx-brand h2{ font-size:clamp(24px,2.6vw,38px) !important; }
html body .blx-booking[data-step] .blx-brand p{ font-size:14px !important; }

html body .blx-booking[data-step] .blx-tabs button{ padding:11px 16px !important; border-radius:12px !important; }
html body .blx-booking[data-step] .blx-tabs button > span{ font-size:13px !important; line-height:1.2 !important; }
html body .blx-booking[data-step] .blx-tabs button > small{ font-size:11.5px !important; line-height:1.25 !important; }
html body .blx-booking[data-step] .blx-tabs button::before{ width:16px !important; height:16px !important; }

html body .blx-booking[data-step] .blx-start-fields > label > span,
html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label > span{ font-size:9.5px !important; }
html body .blx-booking[data-step] .blx-start-fields input,
html body .blx-booking[data-step] .blx-start-fields input::placeholder,
html body .blx-booking[data-step] .blx-start-fields select{ font-size:13.5px !important; }

html body .blx-booking[data-step] .blx-primary{ font-size:13px !important; padding:12px 18px !important; }
html body .blx-booking[data-step] .blx-first-options button > b,
html body .blx-booking[data-step] .blx-first-options button > strong{ font-size:14px !important; }
html body .blx-booking[data-step] .blx-first-options button > small{ font-size:12px !important; }
html body .blx-booking[data-step] .blx-first-options button{ padding:13px 16px !important; }
html body .blx-booking[data-step] .blx-roundtrip-option{ font-size:13px !important; }
html body .blx-booking[data-step] .blx-trust-line,
html body .blx-booking[data-step] .blx-trust-line *,
html body .blx-booking[data-step] .blx-safe,
html body .blx-booking[data-step] .blx-safe *{ font-size:11.5px !important; color:#99A0AD !important; }
html body .blx-booking[data-step] .blx-home-footer strong{ font-size:16px !important; }
html body .blx-booking[data-step] .blx-home-footer span,
html body .blx-booking[data-step] .blx-home-footer p{ font-size:12px !important; }
html body .blx-booking[data-step] .blx-step.blx-start > .blx-primary{ font-size:13px !important; }
html body .blx-booking[data-step] .blx-start-fields > label > input,
html body .blx-booking[data-step] .blx-start-fields > .blx-date-row input{ font-size:13.5px !important; }

/* ============================================================
   1.0.7 - pagina NERA, riquadri ANTRACITE (come il sito nuovo)
   e spazi vuoti stretti.
   ============================================================ */
/* la pagina resta nera */
html body, html body #page, html body #content, html body #main,
html body .site, html body .site-content, html body .wp-site-blocks,
html body main, html body article, html body .entry-content,
html body .wp-block-post-content, html body .wp-block-group,
html body .wp-block-group__inner-container,
html body .blx-booking, html body .blx-booking[data-step] .blx-step{
  background-color:#000000 !important; background-image:none !important;
}
/* i riquadri del calcolatore: antracite */
html body .blx-booking[data-step] .blx-start-fields,
html body .blx-booking[data-step] .blx-first-options button,
html body .blx-booking[data-step] .blx-options,
html body .blx-booking[data-step] .blx-tabs button,
html body .blx-booking[data-step] footer.blx-home-footer,
html body .blx-booking[data-step] .blx-stops,
html body .blx-booking[data-step] .blx-extra-hours,
html body .blx-booking[data-step] .blx-return{
  background:#101219 !important; border:1px solid rgba(255,255,255,.09) !important;
}
html body .blx-booking[data-step] .blx-tabs button[data-service].active{ background:#CDDC39 !important; border-color:#CDDC39 !important; }
/* dentro i riquadri niente fondo proprio */
html body .blx-booking[data-step] .blx-start-fields > label,
html body .blx-booking[data-step] .blx-start-fields > .blx-date-row,
html body .blx-booking[data-step] .blx-start-fields > .blx-date-row > label,
html body .blx-booking[data-step] .blx-first-options,
html body .blx-booking[data-step] label.blx-roundtrip-option,
html body .blx-booking[data-step] footer.blx-home-footer > div,
html body .blx-booking[data-step] .blx-trust-line,
html body .blx-booking[data-step] .blx-safe{ background:transparent !important; }
html body .blx-booking[data-step] .blx-swap-route,
html body .blx-booking[data-step] .blx-start-fields button{ background:#101219 !important; }

/* spazi vuoti piu stretti */
@media (min-width:1000px){
  html body .blx-booking[data-step] .blx-step.blx-start{ row-gap:12px !important; }
}
html body .blx-booking[data-step] .blx-step.blx-start > .blx-first-options{ margin-top:0 !important; margin-bottom:0 !important; }
html body .blx-booking[data-step] .blx-step.blx-start > .blx-options{ margin-top:0 !important; margin-bottom:0 !important; }
html body .blx-booking[data-step] .blx-trust-line{ margin:10px 0 0 !important; padding:0 !important; }
html body .blx-booking[data-step] .blx-safe{ margin:6px 0 0 !important; padding:0 !important; }
html body .blx-booking[data-step] footer.blx-home-footer{ margin-top:18px !important; padding:16px 20px !important; }

/* 1.0.8 — solo palette: nero, antracite, bordi neutri.
   Specificita superiore alle vecchie regole dei quattro passaggi.
   Nessuna modifica a dimensioni, disposizione, immagini o funzioni. */
html body .blx-booking[data-step][data-step][data-step]{
  --blx-incognito-bg:#000000 !important;
  background:#000000 !important;
  border-color:#282c34 !important;
}
html body .blx-booking[data-step][data-step][data-step] .blx-step,
html body .blx-booking[data-step][data-step][data-step] .blx-progress{
  background:#000000 !important;
}
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields,
html body .blx-booking[data-step][data-step][data-step] .blx-first-options button,
html body .blx-booking[data-step][data-step][data-step] .blx-first-panel,
html body .blx-booking[data-step][data-step][data-step] .blx-options,
html body .blx-booking[data-step][data-step][data-step] .blx-stops,
html body .blx-booking[data-step][data-step][data-step] .blx-extra-hours,
html body .blx-booking[data-step][data-step][data-step] .blx-return,
html body .blx-booking[data-step][data-step][data-step] .blx-home-footer{
  background:#14171f !important;
  border-color:#282c34 !important;
}
html body .blx-booking[data-step][data-step][data-step] .blx-tabs button:not(.active),
html body .blx-booking[data-step][data-step][data-step] .blx-private-area,
html body .blx-booking[data-step][data-step][data-step] .blx-giftcard,
html body .blx-booking[data-step][data-step][data-step] .blx-language,
html body .blx-booking[data-step][data-step][data-step] .blx-language select,
html body .blx-booking[data-step][data-step][data-step] .blx-swap-route{
  background:#101219 !important;
  border-color:#282c34 !important;
}
/* I campi condividono il fondo del riquadro, anche su hover/focus. */
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields > label,
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields > .blx-date-row,
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields > .blx-date-row > label,
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields input,
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields select,
html body .blx-booking[data-step][data-step][data-step] .blx-options label,
html body .blx-booking[data-step][data-step][data-step] .blx-options span,
html body .blx-booking[data-step][data-step][data-step] .blx-options strong,
html body .blx-booking[data-step][data-step][data-step] .blx-options small,
html body .blx-booking[data-step][data-step][data-step] .blx-home-footer > div{
  background:transparent !important;
}
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields > label,
html body .blx-booking[data-step][data-step][data-step] .blx-start-fields > .blx-date-row > label{
  border-color:#282c34 !important;
}

/* 1.0.9 - Compatibilita con Blacklux Colori Sito Nuovo 1.3.0.
   Variabili locali: nessuna modifica alla palette globale o al layout. */
html body .blx-booking[data-step] {
  --bln-bg: #000000 !important;
  --bln-panel: #101219 !important;
  --bln-panel-2: #14171f !important;
  --bln-field: #14171f !important;
  --bln-line: #282c34 !important;
}
/* Stesso selettore del plugin Colori, con data-step per prevalere
   indipendentemente dall'ordine di caricamento dei due fogli. */
html body .blx-booking.blx-booking[data-step]:not(#bln) section.blx-step,
html body .blx-booking.blx-booking[data-step]:not(#bln) nav.blx-progress {
  background: #000000 !important;
  background-image: none !important;
}
