/* public/assets/css/style.css */

/* ===== Vars din Settings =====
   Folosim doar variabile – fără culori hardcodate care să le anuleze */
:root{
  --ctb-form-bg:#f8f9fa;
  --ctb-header-bg:#0b74ff;
  --ctb-header-text:#fff;
  --ctb-body-text:#333;
  --ctb-input-text:#000;
  --ctb-btn-primary-bg:#e50914;
  --ctb-btn-primary-text:#fff;
  --ctb-label-color:#39424e;
  --ctb-title-color:#111827;
  --ctb-price-color:#16212b;
  /* ↓ sunt setate din PHP, dar punem fallback în CSS-ul de utilizare */
  /* --ctb-summary-total-color */
  /* --ctb-modal-text-color  */
}

/* ===== Layout ===== */
#ctb-booking-form-container{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";
  max-width:980px;margin:40px auto;
  box-shadow:0 10px 25px rgba(0,0,0,.08);border-radius:16px;overflow:hidden
}
#ctb-booking-form{padding:30px;background:var(--ctb-form-bg);color:var(--ctb-body-text)}
.ctb-form-step{display:none}
.ctb-form-step.active{display:block;animation:fadeIn .35s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
#ctb-booking-form-container .ctb-form-header h3 {
    margin: 0 0 10px;
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}
.ctb-form-header{background:var(--ctb-header-bg);color:var(--ctb-header-text);padding:20px;margin:-30px -30px 24px;border-radius:16px 16px 0 0}
.ctb-form-header h3{margin:0;font-size:20px;color:var(--ctb-header-text)}

.ctb-row{display:flex;flex-wrap:wrap;margin:0 -10px 20px}
.ctb-col{flex:1;padding:0 10px;min-width:200px}

/* Labels */
#ctb-booking-form label{display:block;margin:0 0 8px;font-weight:600;font-size:13px;color:var(--ctb-label-color)}

/* Inputs (uniforme) */
#ctb-booking-form input[type="text"],
#ctb-booking-form input[type="date"],
#ctb-booking-form input[type="time"],
#ctb-booking-form input[type="number"],
#ctb-booking-form select{
  width:100%;
  padding:11px;
  border:1px solid #d9d9d9;
  border-radius:10px;
  box-sizing:border-box;
  font-size:15px;
  color:var(--ctb-input-text);
  transition:border-color .2s;
  height:44px;                 /* înălțime uniformă */
  line-height:1.2;
  background:#fff;
}
#ctb-booking-form input:focus,#ctb-booking-form select:focus{outline:none;border-color:var(--ctb-header-bg)}

/* Buttons */
.ctb-btn{padding:11px 22px;border:none;border-radius:10px;cursor:pointer;font-size:15px;font-weight:700;transition:transform .15s,opacity .15s;margin-right:10px}
.ctb-btn:hover{transform:translateY(-1px)}
.ctb-btn-primary{background:var(--ctb-btn-primary-bg);color:var(--ctb-btn-primary-text)}
.ctb-btn-primary:disabled{opacity:.55;cursor:not-allowed}

/* Distance info */
.ctb-distance-info{margin-top:14px;padding:12px;background:#eef3f7;border-radius:10px;font-weight:500}

/* ===== Step 2 – Vehicles + Extras (REDESIGN TIP BLACKLANE) ===== */
#ctb-vehicle-list{
  display:flex;
  flex-direction:column;
  gap:0;
}

/* card mașină ca listă, nu card cu shadow mare */
.ctb-vehicle-option{
  display:flex;
  align-items:flex-start;
  gap:16px;
  background:#ffffff;
  border:1px solid #d1d5db;
  border-radius:0;
  padding:10px 14px;
  position:relative;
  box-shadow:none;
  cursor:pointer;
}

/* distanță între carduri */
.ctb-vehicle-option + .ctb-vehicle-option{
  margin-top:6px;
}

/* stare selectată – border negru și fundal gri */
.ctb-vehicle-option.selected{
  border:2px solid #111827;
  background:#f3f4f6;
}

/* imagine mașină */
.ctb-vehicle-option img{
  width:130px;
  height:90px;
  object-fit:cover;
  border-radius:6px;
  flex:0 0 130px;
}

/* info text */
.ctb-vehicle-info{
  flex:1 1 auto;
  min-width:0;
}

.ctb-vehicle-info h4{
  margin:0 0 4px;
  font-size:16px;
  font-weight:700;
  color:var(--ctb-title-color);
}

/* meta (icons + numere) */
.ctb-vehicle-meta{
  display:flex;
  gap:14px;
  align-items:center;
  color:#4d5b66;
  font-weight:600;
  font-size:13px;
  margin:2px 0 4px;
}

.ctb-vehicle-meta i{
  margin-right:4px;
  color:#111827;
}

/* descriere suplimentară (dacă o folosești) */
.ctb-vehicle-info p{
  margin:0;
  font-size:13px;
  color:#4b5563;
}

/* preț în dreapta, pe același rând */
.ctb-vehicle-price{
  position:static;
  margin-left:auto;
  font-size:18px;
  font-weight:800;
  color:var(--ctb-price-color);
  white-space:nowrap;
}

/* ascundem complet butonul SELECT, folosim doar JS */
.ctb-vehicle-option .ctb-select-vehicle{
  display:none !important;
}

/* hover ușor */
.ctb-vehicle-option:hover{
  background:#f9fafb;
}

/* Extras container sub listă */
.ctb-extras-wrap{margin-top:4px;padding:18px;background:#f7f8fb;border:1px dashed #e2e6ea;border-radius:14px}
.ctb-extras-wrap h4{margin:0 0 12px;font-size:15px;letter-spacing:.04em;text-transform:uppercase;color:#000000}
.ctb-extras-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ctb-extra-item{background:#fff;border:1px solid #e7eaee;border-radius:12px;padding:12px}
.ctb-extra-item label{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px;font-weight:700;font-size:14px;color:var(--ctb-title-color)}
.ctb-extra-item input{width:100%;padding:10px;border:1px solid #d9d9d9;border-radius:10px;font-size:14px}

/* ===== Step 4 – Summary ===== */
#ctb-summary-content h4{margin:10px 0 6px;font-size:15px;color:var(--ctb-title-color)}
#ctb-summary-content .summary-item{display:flex;justify-content:space-between;margin:6px 0;font-size:14px}
/* ↓ culoare personalizabilă pentru TOTAL (label + valoare) */
#ctb-summary-content h3{color:var(--ctb-summary-total-color, var(--ctb-price-color));}

/* ===== Modal ===== */
.ctb-modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.45);z-index:99999}
.ctb-modal-content{background:#0000;border-radius:14px;padding:24px;max-width:520px;width:92%;box-shadow:0 20px 40px rgba(0,0,0,.25);position:relative}
.ctb-modal-content h2,
.ctb-modal-content p{color:var(--ctb-modal-text-color, var(--ctb-body-text));}
.ctb-modal-close{position:absolute;top:8px;right:10px;background:transparent;border:none;font-size:22px;cursor:pointer}

/* Responsive (desktop→tablet) */
@media (max-width:900px){
  .ctb-vehicle-option{flex-wrap:wrap}
  .ctb-vehicle-price{position:static;margin-left:auto}
}

/* --- Vehicle specs box (Step 2) --- */
.ctb-vehicle-specs{
  margin:8px 0 16px;
  background:#f7f8fb;
  border:1px solid #e5e9ef;
  border-radius:14px;
  padding:16px;
}
.ctb-vehicle-specs .ctb-spec-col{display:inline-block;vertical-align:top;width:49%}
.ctb-vehicle-specs ul{list-style:none;margin:0;padding:0}
.ctb-vehicle-specs li{
  font-size:13px;padding:10px 0;border-bottom:1px dotted #e0e6ee;color:var(--ctb-title-color)
}
.ctb-vehicle-specs li:last-child{border-bottom:none}

/* ===== TABS – stil de desktop (dacă le folosești) ===== */
.ctb-tabs{display:flex;gap:8px;align-items:center;margin:10px 0 6px}
.ctb-tab{
  padding:8px 14px;border:1px solid #e2e8f0;border-radius:8px;background:#fff;
  cursor:pointer;font-weight:600;line-height:1;color:#334155
}
.ctb-tab.active{background:#0f172a;color:#fff;border-color:#0f172a}

/* ===== MOBILE (≤640px) ===== */
@media (max-width:640px){

  /* 0) TABS: ascunse complet pe mobil (rescrise mai jos pentru switch) */
  .ctb-tabs{ display:none !important; visibility:hidden !important; }

  /* 1) Layout pe o singură coloană */
  .ctb-col{min-width:100%}
  .ctb-row{margin:0 0 14px}

  /* 2) Inputuri uniforme (inclusiv Date/Time) */
  #ctb-booking-form input[type="text"],
  #ctb-booking-form input[type="date"],
  #ctb-booking-form input[type="time"],
  #ctb-booking-form input[type="number"],
  #ctb-booking-form select{
    height:44px !important;
    padding:11px !important;
    border-radius:10px !important;
    border:1px solid #d9d9d9 !important;
    background:#fff;
    font-size:15px;
    line-height:1.2;
  }
 

  /* 3) Ascunde câmpurile extra: Passengers / Suitcases / Hand Luggage */
  #passengers, #luggage_large, #luggage_small{ display:none !important; }
  label[for="passengers"], label[for="luggage_large"], label[for="luggage_small"]{ display:none !important; }
  @supports(selector(.ctb-col:has(#passengers))){
    .ctb-col:has(#passengers),
    .ctb-col:has(#luggage_large),
    .ctb-col:has(#luggage_small){ display:none !important; }
  }

  /* 4) Buton principal pe 100% */
  .ctb-btn.ctb-btn-primary{ width:100%; height:52px; font-size:1.05rem; }

  /* 5) Nu atinge iconițele: dacă ai wrappers pentru iconițe, păstrăm spațiul */
  .input-icon, .with-icon{ position:relative; }
  .input-icon i, .with-icon i{
    position:absolute; left:12px; top:50%; transform:translateY(-50%);
    pointer-events:none;
  }
  .input-icon input, .with-icon input,
  .input-icon select, .with-icon select{
    padding-left:38px !important;
  }

  /* 6) Extras pe 1 col și card mașină compact pe mobil */
  .ctb-extras-grid{grid-template-columns:1fr;}

  .ctb-vehicle-option{
    padding:12px;
    gap:10px;
    align-items:center;
  }

  .ctb-vehicle-option img{
    width:90px;
    height:auto;
    flex:0 0 90px;
  }

  .ctb-vehicle-price{
    margin-left:auto;
    margin-top:0;
    font-size:16px;
  }
}

/* ===== Modal (fallbacks) ===== */
.ctb-modal{display:none;position:fixed;inset:0;z-index:9999}
.ctb-modal.is-open{display:block}
.ctb-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,.5)}
.ctb-modal__dialog{position:relative;margin:10vh auto;max-width:560px;background:#fff;border-radius:12px;padding:20px;outline:0}
.ctb-modal-close{position:absolute;top:8px;right:10px;background:transparent;border:0;font-size:26px;line-height:1;cursor:pointer}
.ctb-no-scroll{overflow:hidden}

/* === MOBILE: show tabs as segmented switch + hours field full width === */
@media (max-width:640px){
  /* forțează afișarea taburilor pe mobil (anulează hide-ul anterior) */
  .ctb-tabs{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:4px;
    background:#f3f4f6;
    border:1px solid #e5e7eb;
    border-radius:12px;
    margin-bottom:10px;
  }
  .ctb-tab{
    border:0;
    background:transparent;
    border-radius:10px;
    padding:10px 12px;
    font-weight:700;
    color:#475569;
  }
  .ctb-tab.active{
    background:#ffffff;
    color:#0f172a;
    border:1px solid #e5e7eb;
    box-shadow:0 1px 2px rgba(0,0,0,.06);
  }

  /* "Hours" stă sub switch și ia toată lățimea */
  #hours-field-wrap{
    grid-column:1 / -1;
    margin-left:0;
  }
  #hours-field-wrap input{ width:100%; }
}

/* === MOBILE: show tabs as segmented switch + fix visibility === */
@media (max-width:640px){
  .ctb-tabs{
    display:grid !important;
    visibility:visible !important;
    pointer-events:auto !important;
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:4px;
    background:#f3f4f6;
    border:1px solid #e5e7eb;
    border-radius:12px;
    margin-bottom:10px;
  }
  .ctb-tab{
    display:block !important;
    border:0;
    background:transparent;
    border-radius:10px;
    padding:10px 12px;
    font-weight:700;
    color:#475569;
  }
  .ctb-tab.active{
    background:#ffffff;
    color:#0f172a;
    border:1px solid #e5e7eb;
    box-shadow:0 1px 2px rgba(0,0,0,.06);
  }

  #hours-field-wrap{
    grid-column:1 / -1;
    margin-left:0;
  }
  #hours-field-wrap input{ width:100%; }
}

#ctb-thank-you-modal[aria-hidden="true"] { display: none; }
#ctb-thank-you-modal .ctb-modal_dialog { position: relative; }
#ctb-thank-you-modal .ctb-modal-close {
  position: absolute; top: 10px; right: 12px; cursor: pointer;
  border: 0; background:#0000; font-size: 20px; line-height: 1;
}
body.ctb-no-scroll { overflow: hidden; }

/* ===========================================================
   COMPACT MODE PENTRU BOOKING FORM (tip Blacklane)
   =========================================================== */
#ctb-booking-form-container{
  max-width:520px;
  margin:24px auto;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
}

#ctb-booking-form-container #ctb-booking-form{
  padding:18px 20px;
}

/* rândurile dintre câmpuri – mai puțin aer */
#ctb-booking-form-container .ctb-row{
  margin:0 0 8px !important;
}

/* coloane fără padding lateral suplimentar (controlăm din gap-ul intern) */
#ctb-booking-form-container .ctb-col{
  padding:0;
  min-width:0;
}

/* label + input mai apropiate */
#ctb-booking-form-container #ctb-booking-form label{
  margin:0 0 4px;
  font-size:12px;
}

/* inputuri mai joase și cu padding redus */
#ctb-booking-form-container #ctb-booking-form input[type="text"],
#ctb-booking-form-container #ctb-booking-form input[type="date"],
#ctb-booking-form-container #ctb-booking-form input[type="time"],
#ctb-booking-form-container #ctb-booking-form input[type="number"],
#ctb-booking-form-container #ctb-booking-form select{
  height:38px;
  padding:8px 10px;
  font-size:14px;
}

/* distanța + durata – badge-uri mai compacte */
#ctb-booking-form-container .ctb-distance-info{
  margin-top:8px;
  padding:8px 10px;
  font-size:13px;
}

/* ===== TWEAKS: WIDTH PE PAS, HEADER, PRET, BACK BUTTON ===== */

/* Step 2-3-4: formular mai lat (Blacklane-style) */
#ctb-booking-form-container{
  max-width:780px;
}

/* Step 1: mai îngust (aprox. 70% din lățimea inițială) */
#ctb-booking-form-container.ctb-step-1-narrow{
  max-width:380px;
}

/* Titlul de pas – text alb, să se vadă mereu */
#ctb-booking-form-container .ctb-form-header h3{
  margin:0 0 10px;
  font-size:18px;
  font-weight:700;
  color:#ffffff;
}

/* DAR în Step 1 nu vrem header deloc */
#ctb-step-1 .ctb-form-header{
  display:none;
}

/* Preț mașină în Step 2 – mai puțin bold */
#ctb-booking-form-container .ctb-vehicle-price{
  font-weight:600;
}

/* Butonul BACK – text negru și fundal deschis */
#ctb-booking-form-container .ctb-navigation .ctb-btn.ctb-prev-step{
  color:#111827;
  background:#f3f4f6;
}

/* Step 1 – ascundem Passengers / Suitcases / Hand Luggage */
#ctb-step-1 label[for="passengers"],
#ctb-step-1 #passengers,
#ctb-step-1 label[for="luggage_large"],
#ctb-step-1 #luggage_large,
#ctb-step-1 label[for="luggage_small"],
#ctb-step-1 #luggage_small{
  display:none !important;
}

/* Step 3 – lăsăm doar Flight Number (ascundem Gate + Terminal) */
#ctb-step-3 label[for="gate_number"],
#ctb-step-3 #gate_number,
#ctb-step-3 label[for="terminal"],
#ctb-step-3 #terminal{
  display:none !important;
}

/* By the hour – label la fel ca restul câmpurilor */
#ctb-step-1 #hours-field-wrap{
  margin:6px 0 10px;
  width:100%;
  max-width:100%;
  display:none;         /* controlat din JS */
  flex-direction:column;
  align-items:stretch;
  text-align:left;      /* ← NU mai centrat */
}

#ctb-step-1 #hours-field-wrap label{
  display:block;
  text-align:left;      /* ← forțăm alinierea la stânga */
  font-size:12px;
  font-weight:600;
      margin-right: auto !important;
}

#ctb-step-1 #hours-field-wrap input{
  width:100% !important;
  max-width:100%;
  border-radius:10px;
  border:1px solid #e5e7eb;
  padding:8px 10px;
  font-size:14px;
  box-sizing:border-box;
}

/* anulăm margin-left:auto din atributul inline */
#hours-field-wrap{
  margin-left:0 !important;
}
/* 👇 Previi zoom-ul aiurea pe mobil în formularul CTB */
@media (max-width: 640px) {
  #ctb-booking-form input[type="text"],
  #ctb-booking-form input[type="email"],
  #ctb-booking-form input[type="tel"],
  #ctb-booking-form input[type="number"],
  #ctb-booking-form input[type="date"],
  #ctb-booking-form input[type="time"],
  #ctb-booking-form select,
  #ctb-booking-form textarea {
    font-size: 16px !important;
  }
}
@media (max-width: 640px) {
  .woocommerce-checkout input,
  .woocommerce-checkout select,
  .woocommerce-checkout textarea {
    font-size: 16px !important;
  }
}

 /* 2) Inputuri uniforme (inclusiv Date/Time) */
  #ctb-booking-form input[type="text"],
  #ctb-booking-form input[type="date"],
  #ctb-booking-form input[type="time"],
  #ctb-booking-form input[type="number"],
  #ctb-booking-form select{
    height:44px !important;
    padding:11px !important;
    border-radius:10px !important;
    border:1px solid #d9d9d9 !important;
    background:#fff;
    font-size:15px;
    line-height:1.2;
  }
  /* dezactivează look-ul nativ “înalt” pe unele browsere */
  input[type="date"], input[type="time"]{
    -webkit-appearance:none; appearance:none;
  }
#ctb-modal-chat-section input[type="text"] {
    font-size:16px;
}
.ctb-auth-wrapper {
    max-width: 500px;
    margin: 40px auto;
    text-align: left;
}

.ctb-auth-title {
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 5px;
    color: #111;
}

.ctb-auth-subtitle {
    color: #666;
    margin-bottom: 25px;
}

.ctb-auth-box {
    padding: 30px;
    border-radius: 14px;
    background: white;
    border: 1px solid #eee;
}

.ctb-auth-box-title {
    font-size: 20px;
    margin-bottom: 15px;
}

.ctb-input {
    width: 100%;
    padding: 12px;
    background: #eef3ff;
    border-radius: 10px;
    border: 1px solid #d7dff3;
    margin-bottom: 15px;
    font-size: 15px;
}

.ctb-button {
    width: 100%;
    background: linear-gradient(90deg, #ff3b30, #ff9500);
    color: white;
    padding: 12px;
    border-radius: 30px;
    border: none;
    font-weight: 700;
    cursor: pointer;
    margin-top: 5px;
}

.ctb-auth-error {
    padding: 12px;
    background: #ffecec;
    border-left: 3px solid #ff3b30;
    color: #b10000;
    margin-bottom: 15px;
    border-radius: 6px;
}

.ctb-auth-bottom {
    margin-top: 15px;
    text-align: center;
}

.ctb-auth-bottom a {
    color: #ff3b30;
    font-weight: 600;
}
/* ================================
   FIX: THANK YOU MODAL (vizibil)
   Pune acest bloc la FINAL de tot
   ================================ */
#ctb-thank-you-modal .ctb-modal__overlay{
  background: rgba(15,23,42,.85) !important;
}

#ctb-thank-you-modal .ctb-modal__dialog{
  background: #020617 !important;
  color: #e5e7eb !important;
  border-radius: 18px;
  border: 1px solid rgba(148,163,184,.25);
  box-shadow: 0 24px 60px rgba(15,23,42,.9);
}

#ctb-thank-you-modal #ctb-thanks-title,
#ctb-thank-you-modal h2{
  color: #f9fafb !important;
}

#ctb-thank-you-modal p{
  color: #9ca3af !important;
}

#ctb-thank-you-modal .ctb-modal-close{
  color: #e5e7eb !important;
}

/* CTB client requested refinements */
.ctb-vehicle-info h4,
#ctb-vehicle-list .ctb-vehicle-info h4{
  color:#000000 !important;
}
.ctb-return-toggle-wrap{
  position:absolute;
  top:8px;
  right:10px;
  z-index:2;
}
.ctb-add-return-card,
.ctb-add-return-step2{
  border:0;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
  background:#111827;
  color:#fff;
}
.ctb-add-return-card.is-active,
.ctb-add-return-step2.is-active{
  background:#16a34a;
}
.ctb-step2-return-wrap{
  margin:12px 0;
  display:flex;
  justify-content:flex-end;
}
.ctb-help-tip{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  margin-left:5px;
  border-radius:999px;
  background:#111827;
  color:#fff;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}
.ctb-mini-modal{position:fixed;inset:0;z-index:100000;display:none;}
.ctb-mini-modal[aria-hidden="false"]{display:block;}
.ctb-mini-modal__overlay{position:absolute;inset:0;background:rgba(15,23,42,.72);}
.ctb-mini-modal__dialog{position:relative;max-width:420px;width:calc(100% - 32px);margin:18vh auto;background:#fff;border-radius:16px;padding:20px;color:#111827;box-shadow:0 20px 50px rgba(0,0,0,.35);}
.ctb-mini-modal__close{position:absolute;right:12px;top:10px;background:transparent;border:0;font-size:24px;line-height:1;cursor:pointer;}
.ctb-mini-modal__body{font-size:14px;line-height:1.55;padding-right:16px;}
#ctb-booking-form textarea{font-family:inherit;}


/* === CTB revision: Google dropdown, Step 2 prices, small return button, clean summary checkbox === */
body.ctb-hide-google-pac .pac-container, body.ctb-pac-force-hidden .pac-container{display:none!important; visibility:hidden!important; pointer-events:none!important;}
#ctb-vehicle-list .ctb-vehicle-option{
  position:relative;
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  padding:14px 16px!important;
  min-height:118px;
}
#ctb-vehicle-list .ctb-vehicle-option img{
  grid-column:1;
  width:170px;
  max-width:170px;
  height:auto;
}
#ctb-vehicle-list .ctb-vehicle-info{grid-column:2;min-width:0;padding-right:70px;}
#ctb-vehicle-list .ctb-vehicle-info h4{color:#000!important;margin:0 0 8px!important;}
#ctb-vehicle-list .ctb-vehicle-price{
  grid-column:3;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#000!important;
  font-size:18px!important;
  font-weight:800!important;
  white-space:nowrap;
  margin:0!important;
  text-align:right;
}
#ctb-vehicle-list .ctb-return-toggle-wrap{
  display:none;
  position:absolute;
  top:8px;
  right:10px;
  z-index:3;
}
#ctb-vehicle-list .ctb-vehicle-option.selected .ctb-return-toggle-wrap{display:block;}
#ctb-vehicle-list .ctb-add-return-card{
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:4px 9px!important;
  border-radius:999px!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:700!important;
  background:#111827!important;
  color:#fff!important;
  box-shadow:none!important;
  border:0!important;
}
#ctb-vehicle-list .ctb-add-return-card.is-active{background:#16a34a!important;}
#ctb-booking-form-container .ctb-terms-row input[type="checkbox"],
#ctb-booking-form-container input[type="checkbox"]{
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  padding:0!important;
  margin:0 8px 0 0!important;
  appearance:auto!important;
  -webkit-appearance:checkbox!important;
}
@media (max-width:640px){
  #ctb-vehicle-list .ctb-vehicle-option{
    grid-template-columns:130px minmax(0,1fr) auto;
    gap:10px;
    padding:12px!important;
  }
  #ctb-vehicle-list .ctb-vehicle-option img{width:130px;max-width:130px;}
  #ctb-vehicle-list .ctb-vehicle-info{padding-right:54px;}
  #ctb-vehicle-list .ctb-vehicle-price{font-size:16px!important;}
}
@media (max-width:480px){
  #ctb-vehicle-list .ctb-vehicle-option{grid-template-columns:118px minmax(0,1fr);}
  #ctb-vehicle-list .ctb-vehicle-price{grid-column:2;text-align:left;margin-top:4px!important;}
}

/* CTB via stops */
.ctb-add-via-btn{
  margin:8px 0 16px;
  border:1px dashed #cbd5e1;
  background:#fff;
  color:#111827;
  border-radius:999px;
  padding:8px 14px;
  font-weight:700;
  cursor:pointer;
}
.ctb-add-via-btn:hover{background:#f8fafc;}
.ctb-via-wrap{margin:4px 0 10px;}
.ctb-via-row{margin:10px 0;}
.ctb-via-row label{display:block;margin-bottom:5px;font-weight:600;color:#475569;}
.ctb-via-inputline{display:flex;gap:8px;align-items:center;}
.ctb-via-inputline input{flex:1;}
.ctb-remove-via{
  width:36px;height:36px;border:0;border-radius:50%;background:#fee2e2;color:#991b1b;font-size:22px;line-height:1;cursor:pointer;
}
.ctb-remove-via:hover{background:#fecaca;}

/* CTB 2.4.5 fixes: compact Via button + clearer summary cards */
#ctb-booking-form .ctb-add-via-btn,
#ctb-booking-form-container .ctb-add-via-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:8px 0 16px!important;
  padding:7px 13px!important;
  border:1px dashed #cbd5e1!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#111827!important;
  font-size:13px!important;
  font-weight:700!important;
  line-height:1.2!important;
  box-shadow:none!important;
}
#ctb-booking-form .ctb-add-via-btn:hover,
#ctb-booking-form-container .ctb-add-via-btn:hover{
  background:#f8fafc!important;
}
#ctb-summary-content .ctb-summary-card{
  border:1px solid #d9e0ea;
  border-radius:12px;
  padding:14px 16px;
  margin:0 0 14px;
  background:#fff;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}
#ctb-summary-content .ctb-summary-card h4{
  margin:0 0 12px!important;
  padding-bottom:8px;
  border-bottom:1px solid #edf1f5;
  color:#111827;
}
#ctb-summary-content .ctb-summary-card-return{
  background:#f8fafc;
  border-color:#cbd5e1;
}
#ctb-summary-content .summary-item{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:7px 0;
  border-bottom:1px dashed #edf1f5;
}
#ctb-summary-content .summary-item:last-child{border-bottom:0;}
#ctb-summary-content .summary-item span{color:#334155;}
#ctb-summary-content .summary-item strong{text-align:right;color:#111827;}

/* === CTB 2.5.0: return offer badge in Step 2 === */
#ctb-vehicle-list .ctb-add-return-card{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:1px!important;
  padding:5px 9px!important;
  min-width:82px!important;
  max-width:118px!important;
  white-space:normal!important;
  text-align:center!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-label{
  display:block!important;
  font-size:10px!important;
  line-height:1.05!important;
  text-transform:none!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-price{
  display:block!important;
  font-size:13px!important;
  line-height:1.05!important;
  font-weight:900!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-saving{
  display:block!important;
  margin-top:1px!important;
  padding:1px 5px!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1.15!important;
  font-weight:800!important;
}
#ctb-summary-content .ctb-return-discount-row strong{color:#16a34a!important;}

/* === CTB 2.5.1: compact one-line return offer + included fees + passenger/luggage controls === */
#ctb-vehicle-list .ctb-price-box{
  grid-column:3;
  display:flex!important;
  flex-direction:column;
  align-items:flex-end;
  justify-content:center;
  gap:4px;
  min-width:118px;
}
#ctb-vehicle-list .ctb-price-box .ctb-vehicle-price{
  grid-column:auto!important;
  margin:0!important;
  text-align:right!important;
}
#ctb-vehicle-list .ctb-price-fees{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:2px;
  max-width:180px;
}
#ctb-vehicle-list .ctb-included-fee{
  display:block;
  font-size:10px;
  line-height:1.2;
  color:#64748b;
  text-align:right;
  white-space:normal;
}
#ctb-vehicle-list .ctb-included-fee b{color:#334155;font-weight:800;}
#ctb-vehicle-list .ctb-included-fee em{font-style:normal;color:#94a3b8;}
#ctb-vehicle-list .ctb-add-return-card{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:5px 8px!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
  text-align:center!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-mainline{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  line-height:1.05!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-label,
#ctb-vehicle-list .ctb-add-return-card .ctb-return-price{
  display:inline!important;
  font-size:11px!important;
  line-height:1.05!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-price{font-weight:900!important;}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-saving{
  display:block!important;
  margin-top:1px!important;
  padding:1px 5px!important;
  border-radius:999px!important;
  background:#dc2626!important;
  color:#fff!important;
  font-size:9px!important;
  line-height:1.15!important;
  font-weight:800!important;
  white-space:nowrap!important;
}
.ctb-passenger-inline-col{min-width:260px;}
.ctb-passenger-inline-title{display:block;margin-bottom:6px!important;}
.ctb-passenger-inline{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.ctb-mini-counter{
  display:flex!important;
  align-items:center;
  gap:6px;
  padding:8px;
  min-height:48px;
  border:1px solid #d9dfe7;
  border-radius:12px;
  background:#fff;
  cursor:default;
}
.ctb-mini-counter-ico{
  width:24px;height:24px;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;
  background:#f1f5f9;color:#0f172a;font-size:12px;
  flex:0 0 24px;
}
.ctb-mini-counter-text{
  display:none;
}
.ctb-mini-counter input[type="number"]{
  width:54px!important;
  height:34px!important;
  padding:4px 6px!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  font-size:16px!important;
  font-weight:800!important;
  text-align:center;
  color:#0f172a;
}
#ctb-summary-content .summary-item strong i{color:#0f172a;margin-right:3px;}
@media (max-width:640px){
  .ctb-passenger-inline-col{min-width:100%;}
  .ctb-passenger-inline{grid-template-columns:repeat(3,1fr);}
  .ctb-mini-counter{padding:8px 6px;justify-content:center;}
  .ctb-mini-counter input[type="number"]{width:42px!important;font-size:15px!important;}
  #ctb-vehicle-list .ctb-vehicle-option{grid-template-columns:118px minmax(0,1fr)!important;}
  #ctb-vehicle-list .ctb-price-box{grid-column:2!important;align-items:flex-start;margin-top:3px;}
  #ctb-vehicle-list .ctb-price-fees{align-items:flex-start;max-width:100%;}
  #ctb-vehicle-list .ctb-included-fee{text-align:left;}
}
@media (max-width:640px){
  #ctb-booking-form .ctb-passenger-inline #passengers,
  #ctb-booking-form .ctb-passenger-inline #luggage_large,
  #ctb-booking-form .ctb-passenger-inline #luggage_small{
    display:block!important;
  }
  #ctb-booking-form .ctb-passenger-inline label[for="passengers"],
  #ctb-booking-form .ctb-passenger-inline label[for="luggage_large"],
  #ctb-booking-form .ctb-passenger-inline label[for="luggage_small"]{
    display:flex!important;
  }
}


/* === CTB 2.5.2: restore visible passenger/luggage controls in Step 1 === */
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline-col,
#ctb-booking-form #ctb-step-1 .ctb-col.ctb-passenger-inline-col,
#ctb-step-1 .ctb-col.ctb-passenger-inline-col{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:100% !important;
  min-width:100% !important;
  flex:0 0 100% !important;
}
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:8px !important;
  margin-top:6px !important;
}
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline .ctb-mini-counter{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  min-height:44px !important;
  padding:7px 8px !important;
  border:1px solid #d9dfe7 !important;
  border-radius:14px !important;
  background:#fff !important;
}
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline .ctb-mini-counter input[type=number],
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline #passengers,
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline #luggage_large,
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline #luggage_small{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  width:46px !important;
  height:30px !important;
  min-height:30px !important;
  padding:2px 4px !important;
  margin:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  text-align:center !important;
  font-weight:800 !important;
  font-size:15px !important;
  color:#0f172a !important;
}
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline .ctb-mini-counter-ico{
  display:inline-flex !important;
}
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline-title{
  display:block !important;
}
#ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline .ctb-mini-counter-text{
  display:none !important;
}
@media (max-width:420px){
  #ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline{gap:6px !important;}
  #ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline .ctb-mini-counter{padding:6px 4px !important;}
  #ctb-booking-form-container #ctb-step-1 .ctb-passenger-inline .ctb-mini-counter input[type=number]{width:38px !important;font-size:14px !important;}
}


/* === CTB 2.5.3: typing spaces + desktop return offer layout fix === */
#ctb-vehicle-list .ctb-price-box{
  position:relative!important;
  min-width:150px!important;
  padding-top:0!important;
}
#ctb-vehicle-list .ctb-price-box .ctb-return-toggle-wrap{
  position:static!important;
  top:auto!important;
  right:auto!important;
  transform:none!important;
  display:none!important;
  margin:0 0 6px 0!important;
  width:auto!important;
  align-self:flex-end!important;
  z-index:auto!important;
}
#ctb-vehicle-list .ctb-vehicle-option.selected .ctb-price-box .ctb-return-toggle-wrap{
  display:block!important;
}
#ctb-vehicle-list .ctb-add-return-card{
  display:inline-flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  text-align:center!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-mainline{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:nowrap!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-label,
#ctb-vehicle-list .ctb-add-return-card .ctb-return-price{
  display:inline!important;
  white-space:nowrap!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-saving{
  display:block!important;
  white-space:nowrap!important;
  max-width:none!important;
}
@media (max-width:640px){
  #ctb-vehicle-list .ctb-price-box{
    min-width:0!important;
    align-items:flex-start!important;
  }
  #ctb-vehicle-list .ctb-price-box .ctb-return-toggle-wrap{
    align-self:flex-start!important;
    margin-top:4px!important;
  }
}

/* === CTB 2.5.5: return toggle + cleaner desktop badge === */
#ctb-vehicle-list .ctb-price-box .ctb-return-toggle-wrap{
  margin:0 0 3px 0!important;
}
#ctb-vehicle-list .ctb-add-return-card{
  padding:4px 8px!important;
  border-radius:999px!important;
  line-height:1!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-mainline{
  gap:4px!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-label,
#ctb-vehicle-list .ctb-add-return-card .ctb-return-price{
  font-size:10px!important;
  line-height:1!important;
}
#ctb-vehicle-list .ctb-add-return-card .ctb-return-saving{
  font-size:8px!important;
  line-height:1!important;
  padding:1px 4px!important;
  margin-top:2px!important;
}
#ctb-vehicle-list .ctb-add-return-card.is-active{
  background:#dc2626!important;
}


/* === CTB Return Details Modal Upgrade === */
body.ctb-return-modal-open{overflow:hidden!important;}
.ctb-return-details-modal{position:fixed;inset:0;z-index:999999;align-items:center;justify-content:center;padding:18px;}
.ctb-return-details-modal.is-open{display:flex!important;}
.ctb-return-modal-overlay{position:absolute;inset:0;background:rgba(15,23,42,.72);backdrop-filter:blur(4px);}
.ctb-return-modal-dialog{position:relative;width:min(560px,100%);background:#fff;border-radius:22px;box-shadow:0 30px 80px rgba(15,23,42,.28);padding:26px;z-index:1;color:#111827;}
.ctb-return-modal-dialog h3{margin:0 0 8px!important;font-size:24px!important;line-height:1.2!important;color:#111827!important;}
.ctb-return-modal-intro{margin:0 0 18px!important;color:#64748b!important;font-size:14px!important;line-height:1.5!important;}
.ctb-return-modal-close{position:absolute;top:14px;right:16px;border:0;background:#f1f5f9;color:#0f172a;width:34px;height:34px;border-radius:999px;font-size:24px;line-height:30px;cursor:pointer;}
.ctb-return-modal-close:hover{background:#e2e8f0;}
.ctb-return-modal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;}
.ctb-return-modal-field label{display:block;margin:0 0 7px!important;font-weight:800!important;color:#111827!important;font-size:13px!important;}
.ctb-return-modal-field label span{color:#dc2626;}
.ctb-return-modal-field input{width:100%!important;border:1px solid #d1d5db!important;border-radius:12px!important;padding:12px 13px!important;min-height:46px!important;background:#fff!important;color:#111827!important;box-sizing:border-box!important;}
.ctb-return-modal-field input:focus{outline:none!important;border-color:#ff3b1f!important;box-shadow:0 0 0 3px rgba(255,59,31,.13)!important;}
.ctb-return-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;}
.ctb-return-modal-cancel{background:#f1f5f9!important;color:#0f172a!important;border:1px solid #e2e8f0!important;}
.ctb-return-modal-cancel:hover{background:#e2e8f0!important;}
@media(max-width:640px){.ctb-return-modal-dialog{padding:22px 18px;border-radius:18px;}.ctb-return-modal-grid{grid-template-columns:1fr;}.ctb-return-modal-actions{flex-direction:column-reverse;}.ctb-return-modal-actions .ctb-btn{width:100%;}}
