/*
 * Patch: 2026-01-24 22:32:00 +0100 (Europe/Belgrade)
 * Version: v2.2.6
 * Change: Fix intl-tel-input separateDialCode padding using CSS var (--iti-pad-left) so dial box is never overlapped.
 */
/* ============================================================
   Booking UI Styles (Full Replace)
   Version: v2.2.1
   Built: 2026-01-23 13:05
   Scope: #booking-zum / #booking-vom only (+ #vehicleSheet fixes)
   Notes:
   - Single stepper implementation (mobile: 1+2 top, 3 bottom)
   - Vehicle summary accordion polish + 'Fahrzeug ändern' support
   - Hide decorative input icons under fields
   ============================================================ */

/* =========================================================
   VOM legacy CSS neutralizer (ensures NEW UI wins)
   - Some pages load legacy app/custom CSS after booking-ui.css.
   - These rules normalize inputs inside #booking-vom/#booking-zum.
========================================================= */
#booking-zum .field,
#booking-vom .field{
  display:block;
  position:relative;
}

#booking-zum .field .gui-input,
#booking-vom .field .gui-input,
#booking-zum .field select,
#booking-vom .field select,
#booking-zum input[type="text"],
#booking-vom input[type="text"],
#booking-zum input[type="tel"],
#booking-vom input[type="tel"],
#booking-zum input[type="email"],
#booking-vom input[type="email"],
#booking-zum input[type="number"],
#booking-vom input[type="number"],
#booking-zum textarea,
#booking-vom textarea{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:16px !important;
  background:#fff !important;
  padding:14px 14px !important;
  font-size:16px;
  line-height:1.2;
  box-shadow:none !important;
  outline:none;
}

/* keep selects consistent */
#booking-zum select,
#booking-vom select{
  background-image:none !important;
}

/* decorative icons inside legacy fields (do not affect intl-tel-input flag) */
#booking-zum .field i.fa,
#booking-vom .field i.fa,
#booking-zum .field i.fa-solid,
#booking-vom .field i.fa-solid,
#booking-zum .field .field-img,
#booking-vom .field .field-img{
  display:none !important;
}

/* ensure select2 containers look consistent */
#booking-zum .select2-container .select2-selection--single,
#booking-vom .select2-container .select2-selection--single{
  border:1px solid rgba(0,0,0,.12) !important;
  border-radius:16px !important;
  min-height:48px;
}
#booking-zum .select2-container .select2-selection--single .select2-selection__rendered,
#booking-vom .select2-container .select2-selection--single .select2-selection__rendered{
  padding-left:14px !important;
  padding-right:14px !important;
  line-height:48px !important;
}
#booking-zum .select2-container .select2-selection--single .select2-selection__arrow,
#booking-vom .select2-container .select2-selection--single .select2-selection__arrow{
  height:48px !important;
  right:8px !important;
}



/* ============================================================
   Booking UI – Laravel-like look (Scoped)
   Applies ONLY inside #booking-zum / #booking-vom.
   Includes: Stepper, Step panels visibility, Step 1 polish,
   Step 2 Vehicle cards (Laravel-like), Tooltips, Modal.
   ============================================================ */

/* ---- Local reset (prevents theme styles from flattening UI) ---- */
#booking-zum, #booking-vom{
  --bk-bg: #ffffff;
  --bk-border: #e9ecef;
  --bk-text: #1f2937;
  --bk-muted: #6b7280;
  --bk-accent: #2fa4cb;
  --bk-radius: 16px;
  --bk-shadow: 0 10px 25px rgba(0,0,0,0.08);
  color: var(--bk-text);
}
#booking-zum *, #booking-vom *{ box-sizing: border-box; }

/* ---- Section container (Laravel-style fieldset) ---- */
#booking-zum .fieldset,
#booking-vom .fieldset,
#booking-zum .card,
#booking-vom .card{
  background: var(--bk-bg);
  border: 1px solid var(--bk-border);
  border-radius: var(--bk-radius);
  padding: 22px;
  margin: 0 0 24px;
  box-shadow: var(--bk-shadow);
}

#booking-zum legend,
#booking-vom legend,
#booking-zum .card__title,
#booking-vom .card__title{
  font-size: 18px;
  font-weight: 800;
  line-height: 1.2;
  margin: 0 0 10px;
  padding: 0;
}
#booking-zum .card__subtitle,
#booking-vom .card__subtitle{
  margin: -4px 0 14px;
  color: var(--bk-muted);
  font-size: 13px;
}

/* ---- Route summary card ---- */
#booking-zum .route-card,
#booking-vom .route-card{
  background: var(--bk-bg);
  border: 1px solid var(--bk-border);
  border-radius: var(--bk-radius);
  padding: 18px 22px;
  margin: 14px 0 24px;
  box-shadow: var(--bk-shadow);
}
#booking-zum .route-card__row,
#booking-vom .route-card__row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:6px 0;
}
#booking-zum .route-card__label,
#booking-vom .route-card__label{
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--bk-muted);
}
#booking-zum .route-card__value,
#booking-vom .route-card__value{
  font-size: 16px;
  font-weight: 800;
  color: var(--bk-text);
}
#booking-zum .route-card__note,
#booking-vom .route-card__note{
  margin: 8px 0 0;
  font-size: 13px;
  color: var(--bk-accent);
  font-weight: 700;
}

/* ---- Labels ---- */
#booking-zum label, #booking-vom label{
  font-weight: 700;
  color: var(--bk-text);
}
#booking-zum .lbl-text,
#booking-vom .lbl-text,
#booking-zum .field-label,
#booking-vom .field-label{
  display:block;
  font-size: 13px;
  margin: 0 0 6px;
  color: var(--bk-text);
}

/* ---- Inputs/selects ---- */
#booking-zum input[type="text"],
#booking-zum input[type="tel"],
#booking-zum input[type="email"],
#booking-zum input[type="number"],
#booking-zum input[type="date"],
#booking-zum input[type="time"],
#booking-zum input[type="datetime-local"],
#booking-zum select,
#booking-zum textarea,
#booking-vom input[type="text"],
#booking-vom input[type="tel"],
#booking-vom input[type="email"],
#booking-vom input[type="number"],
#booking-vom input[type="date"],
#booking-vom input[type="time"],
#booking-vom input[type="datetime-local"],
#booking-vom select,
#booking-vom textarea{
  width: 100%;
  border: 1px solid var(--bk-border);
  border-radius: 14px;
  padding: 14px 16px;
  outline: none;
  background: #fff;
  box-shadow: 0 0 10px 3px rgba(0,0,0,0.03);
}
#booking-zum select, #booking-vom select{ padding-right: 36px; }

#booking-zum input:focus,
#booking-zum select:focus,
#booking-zum textarea:focus,
#booking-vom input:focus,
#booking-vom select:focus,
#booking-vom textarea:focus{
  border-color: var(--bk-accent);
  box-shadow: 0 0 0 3px rgba(47,164,203,0.15);
}

/* ---- Address helpers ---- */
#booking-zum #address_status,
#booking-vom #address_status{
  display:block;
  margin-top: 6px;
  color: var(--bk-muted);
  font-size: 12px;
}
#booking-zum #manual_toggle,
#booking-vom #manual_toggle{
  display:inline-block;
  margin-top: 10px;
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  color: var(--bk-accent);
  font-weight: 800;
  text-decoration: underline;
}
#booking-zum #manual_fields[hidden],
#booking-vom #manual_fields[hidden]{ display:none !important; }

/* ---- Buttons ---- */
#booking-zum button, #booking-vom button{ border-radius: 14px; }
#booking-zum #ORDER, #booking-vom #ORDER{
  border-radius: 14px;
  padding: 14px 18px;
  font-weight: 900;
}

/* ---- Mobile spacing ---- */
@media (max-width: 767px){
  #booking-zum .route-card,
  #booking-vom .route-card,
  #booking-zum .fieldset,
  #booking-vom .fieldset,
  #booking-zum .card,
  #booking-vom .card{
    padding: 16px;
    border-radius: 14px;
  }
}

/* ─────────────────────────────────────────────────────────────
   Stepper (Step 1 / Step 2 / Step 3)
   IMPORTANT: ONLY scoped selectors (no global .step-panel)
───────────────────────────────────────────────────────────── */
/* Step panels visibility (scoped + theme-proof) */
#booking-zum .step-panel,
#booking-vom .step-panel{ display:none !important; }
#booking-zum .step-panel.active,
#booking-vom .step-panel.active{ display:block !important; }

#booking-zum .steps, #booking-vom .steps{
  display:flex;
  gap:10px;
  margin:16px 0 18px;
  flex-wrap:wrap;
}
#booking-zum .step, #booking-vom .step{
  display:flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:12px;
  background:#f6f7f9;
  color:#5b6270;
  font-weight:700;
  border:1px solid #eef0f3;
}
#booking-zum .step span, #booking-vom .step span{
  width:26px; height:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#e9edf3;
  font-size:13px;
}
#booking-zum .step.active, #booking-vom .step.active{
  background:#eef5ff;
  color:#0b3a7e;
  border-color:#d7e7ff;
}
#booking-zum .step.active span, #booking-vom .step.active span{
  background:#1e6bff;
  color:#fff;
}


#booking-zum .step-actions, #booking-vom .step-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:14px;
}
#booking-zum .step-actions--top, #booking-vom .step-actions--top{
  justify-content:flex-start;
  margin-top:0;
  margin-bottom:12px;
}
#booking-zum .btn-primary, #booking-vom .btn-primary{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:12px 16px;
  border-radius:12px;
  border:0;
  background:#1e6bff;
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
#booking-zum .btn-secondary, #booking-vom .btn-secondary{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  padding:12px 16px;
  border-radius:12px;
  border:1px solid #e3e7ee;
  background:#fff;
  color:#263042;
  font-weight:800;
  cursor:pointer;
}

/* Hide legacy selects (auto-set via vehicle cards) – scoped only */
#booking-zum select[name="passengers"],
#booking-zum select[name="suitcases"],
#booking-zum select[name="handluggage"],
#booking-vom select[name="passengers"],
#booking-vom select[name="suitcases"],
#booking-vom select[name="handluggage"]{
  display:none !important;
}

/* =========================================================
   STEP 1 UX: Inline price bar above CTA button
========================================================= */

/* --- old sticky float (kept for reference, hidden) --- */
.ft-sticky-price{ display:none !important; }

/* --- new inline price bar --- */
/* ── PRICE BAR – Layout A (badges lijevo, cijena desno) ── */
.ft-step1-price-bar {
  background: #fff;
  border: 1.5px solid #e5e7eb;
  border-radius: 12px;
  padding: 14px 16px;
  margin-bottom: 8px;
  box-shadow: 0 2px 8px rgba(0,0,0,.06);
  cursor: default;
  pointer-events: none;
  user-select: none;
}
/* Top row: info lijevo, cijena desno */
.ft-pbar-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.ft-pbar-meta {
  flex: 1;
  min-width: 0;
}
.ft-pbar-eyebrow {
  font-size: 10px;
  font-weight: 700;
  color: #9ca3af;
  text-transform: uppercase;
  letter-spacing: .07em;
  margin-bottom: 4px;
}
/* Badge row — ispod labela */
.ft-pbar-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
/* Sep nije potreban u ovom layoutu */
.ft-pbar-sep { display: none !important; }
/* Cijena desno */
.ft-pbar-price {
  display: flex;
  align-items: flex-start;
  gap: 1px;
  flex-shrink: 0;
}
.ft-pbar-eur {
  font-size: 14px;
  font-weight: 700;
  color: #1e8190;
  margin-top: 5px;
  line-height: 1;
}
.ft-step1-price-bar__value,
#ft-step1-price-value,
#ft-step1-ab-val {
  font-size: 44px !important;
  font-weight: 900 !important;
  color: #1e8190 !important;
  letter-spacing: -2px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
/* Night badge */
.ft-step1-night-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  background: #f5f3ff !important;
  border: 1px solid #ddd6fe !important;
  border-radius: 20px !important;
  padding: 3px 8px !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: #6d28d9 !important;
  margin-top: 0 !important;
  white-space: nowrap;
  animation: ft-badge-pop .25s cubic-bezier(.34,1.56,.64,1) both;
}
/* Waypoint badge */
.ft-step1-waypoint-badge {
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  background: #fff7ed !important;
  border: 1px solid #fed7aa !important;
  border-radius: 20px !important;
  padding: 3px 8px !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  color: #c2410c !important;
  margin-top: 0 !important;
  white-space: nowrap;
  animation: ft-badge-pop .25s cubic-bezier(.34,1.56,.64,1) both;
}
@keyframes ft-badge-pop {
  from { opacity: 0; transform: scale(.8); }
  to   { opacity: 1; transform: scale(1); }
}
/* Footer */
.ft-pbar-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #f3f4f6;
}
.ft-pbar-fixtext {
  font-size: 10.5px;
  color: #9ca3af;
}
.ft-pbar-arrow {
  font-size: 18px;
  color: #1e8190;
  animation: ft-bounce 1.2s ease-in-out infinite;
  line-height: 1;
  flex-shrink: 0;
}
@keyframes ft-bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(5px); }
}
/* Hide on step 2+ */
#booking-zum[data-current-step="2"] #ft-step1-price-bar,
#booking-vom[data-current-step="2"] #ft-step1-price-bar,
#booking-zum[data-current-step="3"] #ft-step1-price-bar,
#booking-vom[data-current-step="3"] #ft-step1-price-bar {
  display: none !important;
}
@media (max-width: 480px) {
  .ft-step1-price-bar { padding: 12px 14px; }
  #ft-step1-ab-val { font-size: 38px !important; letter-spacing: -1.5px; }
  .ft-pbar-fixtext { font-size: 10px; }
}

/* Step 1 – Time fields 50/50 */
.ft-time-row{ display:flex; gap:12px; align-items:stretch; }
.ft-time-row > .col-6{ flex: 1 1 0; max-width: calc(50% - 6px); }

/* =========================================================
   STEP 2 — VEHICLE CARDS (screenshot layout)
   Scoped to mount only
========================================================= */
#vehicle-cards-mount:empty{ min-height:160px; display:block; }
#vehicle-cards-mount .vehicle-loading{
  padding:14px;
  border:1px dashed #d7e7ff;
  border-radius:12px;
  background:#f7fbff;
  color:#234;
  font-weight:600;
}

#vehicle-cards-mount .vehicle-grid{
  display:flex;
  flex-direction:column;
  gap:14px;
}

#vehicle-cards-mount .vehicle-card{
  border:1px solid #e8eef2;
  border-radius:12px;
  background:#fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  overflow:hidden;
  padding:0;
}

#vehicle-cards-mount .vehicle-card__grid{
  display:grid;
  grid-template-columns: 340px 1fr 300px;
  gap:16px;
  padding:16px;
  align-items:stretch;
}

#vehicle-cards-mount .vehicle-card__media{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
#vehicle-cards-mount .vehicle-card__img{
  width:100%;
  height:auto;
  max-height:150px;
  object-fit:contain;
}
#vehicle-cards-mount .vehicle-card__more{
  background:transparent;
  border:0;
  color: var(--bk-accent);
  text-decoration:underline;
  font-size:13px;
  font-weight:800;
  cursor:pointer;
  padding:0;
}

#vehicle-cards-mount .vehicle-card__details{
  display:flex;
  flex-direction:column;
  gap:10px;
  border-right:1px solid #eef2f5;
  padding-right:16px;
}
#vehicle-cards-mount .vehicle-card__badge{
  display:inline-flex;
  align-self:flex-start;
  padding:4px 10px;
  border-radius:999px;
  background:#e6f6ec;
  color:#2f8a4b;
  font-size:12px;
  font-weight:800;
}
#vehicle-cards-mount .vehicle-card__title{
  font-size:20px;
  font-weight:900;
  line-height:1.1;
  margin:0;
}
#vehicle-cards-mount .vehicle-card__specs{
  display:flex;
  flex-direction:row;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}
#vehicle-cards-mount .vehicle-card__specs--inline{
  display:flex;
  flex-direction:row;
  gap:6px;
  flex-wrap:wrap;
  margin-top:6px;
}
#vehicle-cards-mount .vehicle-card__specs--inline .vehicle-card__spec{
  display:inline-flex;
  align-items:center;
  gap:3px;
  font-size:12px;
  font-weight:600;
  color: var(--bk-text);
  background:#f1f5f9;
  border:1px solid rgba(0,0,0,.07);
  border-radius:20px;
  padding:3px 9px;
  white-space:nowrap;
  max-width:100%;
}
#vehicle-cards-mount .vehicle-card__specs--inline{
  overflow:visible;
  flex-wrap:wrap;
}
#vehicle-cards-mount .vehicle-card__popular{
  display:inline-block;
  font-size:11px;
  font-weight:600;
  background:#dcfce7;
  color:#15803d;
  border:1px solid #bbf7d0;
  border-radius:20px;
  padding:2px 9px;
  margin-top:4px;
  margin-bottom:2px;
}

#vehicle-cards-mount .vehicle-card__spec,
#vehicle-cards-mount .vehicle-card__benefit{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:14px;
  color: var(--bk-text);
}
#vehicle-cards-mount .vehicle-ico{
  width:18px;
  display:inline-flex;
  justify-content:center;
}
#vehicle-cards-mount .vehicle-card__benefits{
  margin-top:6px;
  padding-top:10px;
  border-top:1px solid #eef2f5;
  display:flex;
  flex-direction:column;
  gap:8px;
}

/* Right column */
#vehicle-cards-mount .vehicle-card__right{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
  justify-content:center;
}
#vehicle-cards-mount .vehicle-card__pricehead{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:4px;
}
#vehicle-cards-mount .vehicle-card__price-label{
  font-size:12px;
  color: var(--bk-muted);
  font-weight:800;
}
#vehicle-cards-mount .vehicle-card__price{
  font-size:30px;
  font-weight:900;
}
#vehicle-cards-mount .vehicle-card__time{
  font-size:13px;
  color: var(--bk-muted);
  display:flex;
  align-items:center;
  gap:6px;
}
#vehicle-cards-mount .vehicle-card__cancel{
  display:flex;
  align-items:flex-start;
  gap:8px;
  color: var(--bk-accent);
  font-size:13px;
  text-align:right;
}
#vehicle-cards-mount .vehicle-card__incl{
  font-size:12px;
  color: var(--bk-muted);
  text-align:right;
  opacity:.9;
}
#vehicle-cards-mount .vehicle-card .btn-primary.vehicle-book{
  width:100%;
  max-width:240px;
}

@media (max-width: 992px){
  #vehicle-cards-mount .vehicle-card__grid{ grid-template-columns: 1fr; }
  #vehicle-cards-mount .vehicle-card__details{ border-right:0; padding-right:0; }
  #vehicle-cards-mount .vehicle-card__right{ align-items:stretch; }
  #vehicle-cards-mount .vehicle-card__pricehead{ align-items:flex-start; }
  #vehicle-cards-mount .vehicle-card__cancel,
  #vehicle-cards-mount .vehicle-card__incl{ text-align:left; }
}

/* Tooltip overlay */
#vehicle-cards-mount .ft-tip{
  margin-left:6px;
  width:18px;
  height:18px;
  border-radius:50%;
  border:1px solid rgba(47,164,203,.35);
  background:#f4f9ff;
  color: var(--bk-accent);
  font-size:12px;
  line-height:16px;
  cursor:pointer;
  position:relative;
  padding:0;
}
#vehicle-cards-mount .ft-tip::after{
  content: attr(data-tip);
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:calc(100% + 8px);
  background:#111827;
  color:#fff;
  padding:8px 10px;
  border-radius:10px;
  font-size:12px;
  white-space:normal;
  width:260px;
  max-width:260px;
  opacity:0;
  pointer-events:none;
  transition:opacity .12s ease;
  z-index:50;
}
#vehicle-cards-mount .ft-tip::before{
  content:"";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  bottom:calc(100% + 2px);
  border:6px solid transparent;
  border-top-color:#111827;
  opacity:0;
  transition:opacity .12s ease;
}
#vehicle-cards-mount .ft-tip:hover::after,
#vehicle-cards-mount .ft-tip:hover::before,
#vehicle-cards-mount .ft-tip.is-open::after,
#vehicle-cards-mount .ft-tip.is-open::before{ opacity:1; }

/* Modal */
.ft-modal{ position:fixed; inset:0; display:none; z-index:9999; }
.ft-modal.is-open{ display:block; }
.ft-modal__backdrop{ position:absolute; inset:0; background:rgba(0,0,0,.55); }
.ft-modal__panel{
  position:relative;
  width:min(680px, 92vw);
  max-height:90vh;
  overflow:auto;
  background:#fff;
  border-radius:16px;
  box-shadow: 0 20px 60px rgba(0,0,0,.35);
  margin:5vh auto;
}
.ft-modal__header{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:18px 18px 10px;
  border-bottom:1px solid #eef2f5;
}
.ft-modal__title{ font-size:20px; font-weight:900; }
.ft-modal__subtitle{ font-size:13px; color: var(--bk-muted); margin-top:2px; }
.ft-modal__close{
  border:0;
  background:transparent;
  font-size:26px;
  line-height:1;
  cursor:pointer;
  color:#51606b;
}
.ft-modal__body{ padding:14px 18px; display:flex; flex-direction:column; gap:14px; }
.ft-modal__top{ display:flex; justify-content:center; padding:8px 0 4px; }
.ft-modal__vehicle-img{ width:min(520px, 100%); height:auto; object-fit:contain; }
.ft-modal__section{ border-top:1px solid #eef2f5; padding-top:14px; }
.ft-modal__h2{ font-size:18px; font-weight:900; margin-bottom:8px; }
.ft-modal__capline{ font-size:14px; margin:8px 0 6px; }
.ft-modal__pill{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#f3f5f7;
  font-size:12px;
  color: var(--bk-text);
  font-weight:800;
  margin:8px 0;
}
.ft-modal__list{ margin:0; padding-left:16px; color: var(--bk-text); font-size:13px; line-height:1.65; }
.ft-modal__imgline{ display:flex; justify-content:flex-end; padding-top:6px; }
.ft-modal__bag-img{ width:120px; height:auto; object-fit:contain; }
.ft-modal__footer{
  padding:14px 18px 18px;
  border-top:1px solid #eef2f5;
  display:flex;
  justify-content:center;
}
.ft-modal-open{ overflow:hidden; }

/* Step 3 layout */
#booking-zum .step3-row,
#booking-vom .step3-row {
  display: grid;
  gap: 12px;
  align-items: start;
}

#booking-zum .step3-row.tel-mail,
#booking-vom .step3-row.tel-mail {
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 768px) {
  #booking-zum .step3-row.tel-mail,
  #booking-vom .step3-row.tel-mail {
    grid-template-columns: 1fr;
  }
}

/* intl-tel-input mora da se rastegne u grid koloni */
#booking-zum .step3-row.tel-mail .iti,
#booking-vom .step3-row.tel-mail .iti {
  width: 100%;
  display: block;
}

/* sam input pun */
#booking-zum .step3-row.tel-mail .iti__tel-input,
#booking-vom .step3-row.tel-mail .iti__tel-input {
  width: 100%;
  box-sizing: border-box;
}



/* intl-tel-input separateDialCode: global input padding would overlap the dial box.
   We set padding-left via CSS variable (computed by JS for the real dial-box width). */
#booking-zum .iti--separate-dial-code .iti__tel-input,
#booking-vom .iti--separate-dial-code .iti__tel-input{
  padding-left: var(--iti-pad-left, 110px) !important;
}

/* keep the dial code on one line and avoid shrinking */
#booking-zum .iti--separate-dial-code .iti__selected-dial-code,
#booking-vom .iti--separate-dial-code .iti__selected-dial-code{
  white-space: nowrap !important;
}

#booking-zum .iti--separate-dial-code .iti__flag-container,
#booking-vom .iti--separate-dial-code .iti__flag-container{
  flex: 0 0 auto !important;
}
/* Step 3: Anrede + Fullname layout (30/70) */
#booking-zum .step3-row.anrede-name,
#booking-vom .step3-row.anrede-name{
  display: grid;
  grid-template-columns: 30% 70%;
  gap: 14px;
  align-items: end;
}

@media (max-width: 768px){
  #booking-zum .step3-row.anrede-name,
  #booking-vom .step3-row.anrede-name{
    grid-template-columns: 1fr;
  }
}

/* Anrede buttons */
#booking-zum .salutation-toggle,
#booking-vom .salutation-toggle{
  display: flex;
  gap: 10px;
}

#booking-zum .salutation-toggle .sal-btn,
#booking-vom .salutation-toggle .sal-btn{
  flex: 1 1 0;
  border: 1px solid rgba(0,0,0,0.2);
  background: #fff;
  padding: 10px 12px;
  border-radius: 10px;
  cursor: pointer;
  font-weight: 600;
  color: #111 !important;
  background: #f6f7f9 !important;
  border-color: rgba(0,0,0,0.18) !important;
}

#booking-zum .salutation-toggle .sal-btn.is-active,
#booking-vom .salutation-toggle .sal-btn.is-active{
  background: #111;
  color: #fff;
  border-color: #111;
}

/* keep select for backend but hide it */
#booking-zum .salutation-select,
#booking-vom .salutation-select{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

/* Optionen block: less clutter */
#booking-zum .ft-step3-extras,
#booking-vom .ft-step3-extras{
  margin-top: 10px;
}

#booking-zum .ft-step3-extras .tagline,
#booking-vom .ft-step3-extras .tagline{
  margin: 14px 0 10px;
}

#booking-zum .ft-step3-extras .tagline span,
#booking-vom .ft-step3-extras .tagline span{
  display: inline-block;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,0.06);
  font-weight: 700;
}

#booking-zum .ft-step3-extras .row,
#booking-vom .ft-step3-extras .row{
  background: #fff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 14px;
  padding: 10px 12px;
}

/* make sure tel/mail row stays 50/50 */
#booking-zum .step3-row.tel-mail,
#booking-vom .step3-row.tel-mail{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

@media (max-width: 768px){
  #booking-zum .step3-row.tel-mail,
  #booking-vom .step3-row.tel-mail{
    grid-template-columns: 1fr;
  }
}

/* Step 3: clearer Anrede buttons feedback */
#booking-zum .salutation-toggle .sal-btn,
#booking-vom .salutation-toggle .sal-btn{
  position: relative;
}

#booking-zum .salutation-toggle .sal-btn.is-active::after,
#booking-vom .salutation-toggle .sal-btn.is-active::after{
  content: "✓";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 14px;
}

/* Option cards (Kinder + Zahlung) */
#booking-zum .option-card,
#booking-vom .option-card{
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  padding: 12px 14px;
  margin: 12px 0;
  background: #fff;
}

#booking-zum .option-card .tagline,
#booking-vom .option-card .tagline{
  margin: 0 0 10px 0;
}

#booking-zum .option-card .row,
#booking-vom .option-card .row{
  border: 0;
  padding: 0;
  background: transparent;
}

/* =====================================================
   STEP 3 – POLISH (Payment, Alerts, Important info, Kids seats)
   Keep this section at the END of the file.
   ===================================================== */

/* Payment card – compact */
#booking-zum .option-card-payment,
#booking-vom .option-card-payment{
  padding: 12px 14px;
  margin: 0 0 14px;
  border: 1px solid rgba(0,0,0,0.10);
  border-radius: 16px;
  background: #fff;
}

#booking-zum .payment-toggle,
#booking-vom .payment-toggle{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 8px 0 2px;
}

#booking-zum .payment-toggle .pay-btn,
#booking-vom .payment-toggle .pay-btn{
  width: 100%;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,0.18);
  background: #f6f7f9;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
  color: #111 !important;
}

/* Active state (support both .is-active and .active) */
#booking-zum .payment-toggle .pay-btn.is-active,
#booking-zum .payment-toggle .pay-btn.active,
#booking-vom .payment-toggle .pay-btn.is-active,
#booking-vom .payment-toggle .pay-btn.active{
  color: #111 !important;
  border-color: var(--bk-accent);
  box-shadow: 0 0 0 3px rgba(47,164,203,0.12);
  background: #eef5ff;
}

#booking-zum .payment-hint,
#booking-vom .payment-hint{
  font-size: 11px;
  line-height: 1.3;
  margin-top: 4px;
  opacity: .85;
}

/* Wichtiger Hinweis (storno) – subtle, no pulsing, overrides inline styles */
#booking-zum #alert-storno,
#booking-vom #alert-storno{
  animation: none !important;
  transition: none !important;
}
#booking-zum #alert-storno,
#booking-vom #alert-storno{
  background: transparent !important;
  border: 0 !important;
  border-left: 3px solid rgba(0,0,0,0.10) !important;
  border-radius: 0 !important;
  padding: 8px 0 8px 10px !important;
  font-size: 12px;
  line-height: 1.4;
}
/* If markup wraps the text inside a nested div with inline background/border */
#booking-zum #alert-storno > div,
#booking-vom #alert-storno > div{
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Important info – neat callouts */
#booking-zum #important-info-card .alert-box,
#booking-vom #important-info-card .alert-box{
  list-style: none;
  padding: 12px 12px;
  margin: 0;
  border: 1px solid rgba(0,0,0,.08);
  background: #f8fafc;
  border-radius: 14px;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
#booking-zum #important-info-card .alert-box li,
#booking-vom #important-info-card .alert-box li{
  padding: 10px 10px;
  margin: 0 0 8px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 12px;
}
#booking-zum #important-info-card .alert-box li:last-child,
#booking-vom #important-info-card .alert-box li:last-child{ margin-bottom: 0; }
/* Important info fallback (if UL has no .alert-box class) */
#booking-zum #important-info-card ul,
#booking-vom #important-info-card ul{
  list-style: none !important;
  padding: 12px 12px !important;
  margin: 0 !important;
  border: 1px solid rgba(0,0,0,.08);
  background: #f8fafc;
  border-radius: 14px;
}
#booking-zum #important-info-card ul > li,
#booking-vom #important-info-card ul > li{
  list-style: none !important;
  padding: 10px 10px !important;
  margin: 0 0 8px !important;
  background: #fff;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 12px;
}
#booking-zum #important-info-card ul > li:last-child,
#booking-vom #important-info-card ul > li:last-child{
  margin-bottom: 0 !important;
}


/* Kids seats (baby-location): 50/50 on mobile */
@media (max-width: 767px){
  #booking-zum #baby-location .col-lg-12 > .row,
  #booking-vom #baby-location .col-lg-12 > .row{
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #booking-zum #baby-location .col-lg-12 > .row > [class*="col-"],
  #booking-vom #baby-location .col-lg-12 > .row > [class*="col-"]{
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #booking-zum #baby-location .field-label,
  #booking-vom #baby-location .field-label{
    font-size: 12px;
    margin-bottom: 6px;
  }
}


/* =====================================================
   STEP 3 – PAYMENT + PRICES (restored)
   ===================================================== */

/* Make checkout card look like the other cards */
#booking-zum .ft-checkout-card,
#booking-vom .ft-checkout-card{
  background: var(--bk-bg);
  border: 1px solid var(--bk-border);
  border-radius: var(--bk-radius);
  padding: 14px 16px;
  box-shadow: var(--bk-shadow);
}

/* Price box (Hinfahrtpreis etc.) */
#booking-zum .cstm-price-box,
#booking-vom .cstm-price-box{
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  background: #f8fafc;
  padding: 10px 12px;
  margin-bottom: 10px;
}

/* The value row (e.g. € 55,00) */
#booking-zum .cstm-price-box > div:last-child,
#booking-vom .cstm-price-box > div:last-child{
  font-weight: 900;
  font-size: 18px;
}

/* Return price / total line (you use #gesamtfull for return price) */
#booking-zum #gesamtfull,
#booking-vom #gesamtfull{
  display: block;
  border: 1px solid rgba(47,164,203,.25);
  background: #eef5ff;
  border-radius: 14px;
  padding: 10px 12px;
  font-weight: 900;
  font-size: 15px;
}

/* Payment card compact + hide the native select (kept for form submit) */
#booking-zum .option-card-payment,
#booking-vom .option-card-payment{
  background: var(--bk-bg);
  border: 1px solid var(--bk-border);
  border-radius: var(--bk-radius);
  padding: 14px 16px;
  margin: 0 0 16px;
  box-shadow: var(--bk-shadow);
}

#booking-zum .payment-toggle,
#booking-vom .payment-toggle{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 8px 0 4px;
}

#booking-zum .payment-toggle .pay-btn,
#booking-vom .payment-toggle .pay-btn{
  width: 100%;
  padding: 10px 10px;
  border-radius: 12px;
  border: 1px solid rgba(0,0,0,.10);
  background: #f6f7f9;
  font-weight: 800;
  font-size: 13px;
}

#booking-zum .payment-toggle .pay-btn.active,
#booking-vom .payment-toggle .pay-btn.active{
  border-color: var(--bk-accent);
  box-shadow: 0 0 0 3px rgba(47,164,203,0.12);
  background: #eef5ff;
}

#booking-zum .payment-hint,
#booking-vom .payment-hint{
  font-size: 11px;
  line-height: 1.35;
  color: var(--bk-muted);
  margin: 0;
}

/* Hide native select UI (Select2 or other UI can remain) */
#booking-zum #payment,
#booking-vom #payment,
#booking-zum .payment-select,
#booking-vom .payment-select{
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* If Select2 is used, also hide its rendered widget for payment */
#booking-zum #payment + .select2,
#booking-vom #payment + .select2,
#booking-zum .option-card-payment .select2-container,
#booking-vom .option-card-payment .select2-container{
  display: none !important;
}

/* =====================================================
   FINAL CHECKOUT COMPACT (CTA + AGB + helper)
   ===================================================== */

#booking-zum #gesamtfull,
#booking-vom #gesamtfull{
  margin-bottom: 6px !important;
}

#booking-zum .ft-checkout-cta,
#booking-vom .ft-checkout-cta{
  display: flex;
  flex-direction: column;
  gap: 4px;
}

#booking-zum .ft-checkout-cta button,
#booking-vom .ft-checkout-cta button{
  margin: 6px 0 2px !important;
}

#booking-zum .ft-checkout-cta .tg-checkbox,
#booking-vom .ft-checkout-cta .tg-checkbox{
  display: grid !important;
  grid-template-columns: auto 1fr !important;
  column-gap: 10px !important;
  align-items: flex-start !important;
  margin: 0 !important;   /* override inline 20px */
  padding: 0 !important;
}

#booking-zum .ft-checkout-cta .option.switch,
#booking-vom .ft-checkout-cta .option.switch{
  margin-top: 2px;
}

#booking-zum .ft-checkout-cta .tg-checkbox-text,
#booking-vom .ft-checkout-cta .tg-checkbox-text{
  margin: 0 !important;
  font-size: 12px;
  line-height: 1.25;
  color: rgba(0,0,0,.65);
}

#booking-zum .ft-checkout-helper,
#booking-vom .ft-checkout-helper{
  margin-top: 2px;
  font-size: 11px;
  line-height: 1.3;
  color: rgba(0,0,0,.55);
}

/* =====================================================
   V3 HOTFIX – contrast + info cards (minimal)
   ===================================================== */

/* Ensure Salutation + Payment button text is always readable (some themes set white text globally) */
#booking-zum .salutation-toggle .sal-btn,
#booking-vom .salutation-toggle .sal-btn,
#booking-zum .payment-toggle .pay-btn,
#booking-vom .payment-toggle .pay-btn{
  color: #111 !important;
}

/* Active payment button still readable */
#booking-zum .payment-toggle .pay-btn.is-active,
#booking-zum .payment-toggle .pay-btn.active,
#booking-vom .payment-toggle .pay-btn.is-active,
#booking-vom .payment-toggle .pay-btn.active{
  color: #111 !important;
}

/* Wichtiger Hinweis: kill any leftover inline box styles (shadow/background) */
#booking-zum #alert-storno *,
#booking-vom #alert-storno *{
  box-shadow: none !important;
}

#booking-zum #alert-storno > div,
#booking-vom #alert-storno > div{
  background: transparent !important;
  border: 0 !important;
}

/* Important info: style UL even if class differs */
#booking-zum #important-info-card ul,
#booking-vom #important-info-card ul{
  list-style: none !important;
  padding: 12px 12px !important;
  margin: 0 !important;
  border: 1px solid rgba(0,0,0,.08);
  background: #f8fafc;
  border-radius: 14px;
  font-size: 12px;
  line-height: 1.45;
}

#booking-zum #important-info-card ul > li,
#booking-vom #important-info-card ul > li{
  list-style: none !important;
  padding: 10px 12px;
  margin: 0 0 8px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 12px;
}

#booking-zum #important-info-card ul > li:last-child,
#booking-vom #important-info-card ul > li:last-child{
  margin-bottom: 0;
}

/* =====================================================
   V3 HOTFIX – contrast + important info + hint robustness
   ===================================================== */

/* 1) Button text contrast (some WP themes force white text globally) */
#booking-zum .salutation-toggle .sal-btn,
#booking-vom .salutation-toggle .sal-btn,
#booking-zum .payment-toggle .pay-btn,
#booking-vom .payment-toggle .pay-btn{
  color: #111 !important;
}
#booking-zum .salutation-toggle .sal-btn.is-active,
#booking-vom .salutation-toggle .sal-btn.is-active{
  color: #fff !important;
}

/* 2) Wichtiger Hinweis: kill any leftover inline shadow/background (nested divs) */
#booking-zum #alert-storno,
#booking-vom #alert-storno,
#booking-zum #alert-storno *,
#booking-vom #alert-storno *{
  box-shadow: none !important;
}
#booking-zum #alert-storno > div,
#booking-vom #alert-storno > div{
  background: transparent !important;
  border: 0 !important;
}

/* 3) Wichtige Informationen: style even if UL has no .alert-box class */
#booking-zum #important-info-card ul,
#booking-vom #important-info-card ul{
  list-style: none !important;
  padding: 12px 12px !important;
  margin: 0 !important;
  border: 1px solid rgba(0,0,0,.08);
  background: #f8fafc;
  border-radius: 14px;
}
#booking-zum #important-info-card ul > li,
#booking-vom #important-info-card ul > li{
  list-style: none !important;
  padding: 10px 10px;
  margin: 0 0 8px;
  background: #fff;
  border: 1px solid rgba(0,0,0,.05);
  border-radius: 12px;
}
#booking-zum #important-info-card ul > li:last-child,
#booking-vom #important-info-card ul > li:last-child{
  margin-bottom: 0;
}

/* 4) Stronger active states for toggles */
#booking-zum .payment-toggle .pay-btn.is-active,
#booking-zum .payment-toggle .pay-btn.active,
#booking-vom .payment-toggle .pay-btn.is-active,
#booking-vom .payment-toggle .pay-btn.active{
  background: var(--bk-accent) !important;
  border-color: var(--bk-accent) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#booking-zum .salutation-toggle .sal-btn.is-active,
#booking-vom .salutation-toggle .sal-btn.is-active{
  background: var(--bk-accent) !important;
  border-color: var(--bk-accent) !important;
}

/* 4) Stronger active states for toggles */
#booking-zum .payment-toggle .pay-btn.is-active,
#booking-zum .payment-toggle .pay-btn.active,
#booking-vom .payment-toggle .pay-btn.is-active,
#booking-vom .payment-toggle .pay-btn.active{
  background: var(--bk-accent) !important;
  border-color: var(--bk-accent) !important;
  color: #fff !important;
  box-shadow: none !important;
}

#booking-zum .salutation-toggle .sal-btn.is-active,
#booking-vom .salutation-toggle .sal-btn.is-active{
  background: var(--bk-accent) !important;
  border-color: var(--bk-accent) !important;
  color: #fff !important;
}

/* Disabled-looking state if buttons are disabled */
#booking-zum .payment-toggle .pay-btn[disabled],
#booking-vom .payment-toggle .pay-btn[disabled]{
  opacity: .55;
}
/* ===== Wichtiger Hinweis: breathe effect (intentional) ===== */
#booking-zum #alert-storno > div,
#booking-vom #alert-storno > div{
  background: #fff5f5 !important;
  border: 1px solid rgba(220, 38, 38, .25) !important;
  border-left: 4px solid rgba(220, 38, 38, .65) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  box-shadow: 0 8px 24px rgba(220,38,38,.08) !important;
  animation: ftBreathAlert 2.2s ease-in-out infinite !important;
}

@keyframes ftBreathAlert{
  0%, 100% { box-shadow: 0 8px 24px rgba(220,38,38,.08); transform: translateY(0); }
  50%      { box-shadow: 0 10px 30px rgba(220,38,38,.16); transform: translateY(-1px); }
}
/* ===== Wichtige Informationen: rules card ===== */
#booking-zum #important-info-card,
#booking-vom #important-info-card{
  margin-top: 14px;
}

#booking-zum #important-info-card h3,
#booking-vom #important-info-card h3{
  margin: 0 0 6px;
  font-size: 16px;
  font-weight: 900;
}

#booking-zum #important-info-card p,
#booking-vom #important-info-card p{
  margin: 0 0 10px;
  font-size: 12px;
  line-height: 1.35;
  color: rgba(0,0,0,.65);
}

/* Works whether it's ul.alert-box or any ul inside the card */
#booking-zum #important-info-card ul,
#booking-vom #important-info-card ul{
  list-style: none !important;
  padding: 12px !important;
  margin: 0 !important;
  border: 1px solid rgba(0,0,0,.08);
  background: #f8fafc;
  border-radius: 16px;
  display: grid;
  gap: 10px;
}

/* Each rule becomes its own pill/card */
#booking-zum #important-info-card ul li,
#booking-vom #important-info-card ul li{
  background: #fff;
  border: 1px solid rgba(0,0,0,.06);
  border-radius: 14px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.4;
}
/* Remove <i> icons inside important info rules */
#booking-zum #important-info-card i,
#booking-vom #important-info-card i{
  display: none !important;
}
/* ===== Select2 (manual place selects) styling ===== */
#booking-zum .select2-container .select2-selection--single,
#booking-vom .select2-container .select2-selection--single{
  height: 46px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 14px !important;
  background: #fff !important;
}

#booking-zum .select2-container .select2-selection--single .select2-selection__rendered,
#booking-vom .select2-container .select2-selection--single .select2-selection__rendered{
  line-height: 46px !important;
  padding-left: 14px !important;
  padding-right: 40px !important;
  color: rgba(0,0,0,.80) !important;
  font-weight: 600;
  font-size: 14px;
}

#booking-zum .select2-container .select2-selection--single .select2-selection__arrow,
#booking-vom .select2-container .select2-selection--single .select2-selection__arrow{
  height: 46px !important;
  right: 10px !important;
}

/* Dropdown list */
.select2-dropdown{
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 14px !important;
  overflow: hidden;
}

.select2-results__option{
  padding: 10px 12px !important;
}
/* =====================================================
   WICHTIGE INFORMATIONEN – RULES CARD (FINAL)
   ===================================================== */

/* Card wrapper */
#booking-zum #important-info-card,
#booking-vom #important-info-card{
  margin-top: 16px !important;
  padding: 14px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

/* Title */
#booking-zum #important-info-card .card__title,
#booking-vom #important-info-card .card__title{
  font-size: 16px !important;
  font-weight: 900 !important;
  margin-bottom: 4px !important;
}

/* Subtitle */
#booking-zum #important-info-card .card__subtitle,
#booking-vom #important-info-card .card__subtitle{
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgba(0,0,0,.65) !important;
  margin-bottom: 12px !important;
}

/* UL – remove bullets + override inline padding */
#booking-zum #important-info-card ul.alert-box,
#booking-vom #important-info-card ul.alert-box{
  list-style: none !important;
  padding: 0 !important;          /* overrides inline padding-left:18px */
  margin: 0 !important;
  display: grid !important;
  gap: 10px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

/* LI – each rule as mini-card */
#booking-zum #important-info-card ul.alert-box li,
#booking-vom #important-info-card ul.alert-box li{
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
  position: relative;
}

/* REMOVE ICONS inside rules */
#booking-zum #important-info-card ul.alert-box li i,
#booking-vom #important-info-card ul.alert-box li i{
  display: none !important;
}
/* ===== IMPORTANT INFO (card is outside #booking-zum/#booking-vom) ===== */
#important-info-card{
  margin-top: 16px !important;
  padding: 14px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

#important-info-card .card__title{
  font-size: 16px !important;
  font-weight: 900 !important;
  margin: 0 0 4px !important;
}

#important-info-card .card__subtitle{
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgba(0,0,0,.65) !important;
  margin: 0 0 12px !important;
}

/* override inline ul style (padding-left:18px etc) */
#important-info-card ul.alert-box{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  display: grid !important;
  gap: 10px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

#important-info-card ul.alert-box li{
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}

/* remove icons globally in this card */
#important-info-card i{
  display: none !important;
}

/* ===== Wichtiger Hinweis: heartbeat border animation (attention grab) ===== */
@keyframes heartbeatBorder {
  0%   { border-left-color: rgba(220,38,38,.4); }
  15%  { border-left-color: rgba(220,38,38,.9); }
  30%  { border-left-color: rgba(220,38,38,.4); }
  45%  { border-left-color: rgba(220,38,38,.9); }
  60%  { border-left-color: rgba(220,38,38,.4); }
  100% { border-left-color: rgba(220,38,38,.4); }
}

#alert-storno > div{
  animation: heartbeatBorder 2.6s infinite !important;
}
/* =====================================================
   FINAL FIX – HINWEIS + INFORMATIONEN + ICONS
   ===================================================== */

/* -----------------------------
   REMOVE ALL <i> ICONS IN BOOKING
   ----------------------------- */
#booking-zum i,
#booking-vom i,
#important-info-card i{
  display: none !important;
}

/* -----------------------------
   WICHTIGER HINWEIS – CLEAN + HEARTBEAT
   ----------------------------- */
#alert-storno{
  margin-top: 12px !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

#alert-storno > div{
  background: #fff5f5 !important;
  border: 1px solid rgba(220,38,38,.25) !important;
  border-left: 4px solid rgba(220,38,38,.6) !important;
  border-radius: 16px !important;
  padding: 12px 14px !important;
  margin: 0 !important;
  box-shadow: none !important;

  animation: heartbeatBorder 2.6s infinite !important;
}

/* Heartbeat border animation */
@keyframes heartbeatBorder{
  0%   { border-left-color: rgba(220,38,38,.4); }
  15%  { border-left-color: rgba(220,38,38,.9); }
  30%  { border-left-color: rgba(220,38,38,.4); }
  45%  { border-left-color: rgba(220,38,38,.9); }
  60%  { border-left-color: rgba(220,38,38,.4); }
  100% { border-left-color: rgba(220,38,38,.4); }
}

/* -----------------------------
   WICHTIGE INFORMATIONEN – RULES CARD
   ----------------------------- */
#important-info-card{
  margin-top: 16px !important;
  padding: 14px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 16px !important;
  background: #f8fafc !important;
}

#important-info-card .card__title{
  font-size: 16px !important;
  font-weight: 900 !important;
  margin: 0 0 4px !important;
}

#important-info-card .card__subtitle{
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgba(0,0,0,.65) !important;
  margin: 0 0 12px !important;
}

/* override inline ul styles */
#important-info-card ul.alert-box{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  padding-left: 0 !important;
  display: grid !important;
  gap: 10px !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

#important-info-card ul.alert-box li{
  background: #ffffff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 14px !important;
  padding: 10px 12px !important;
}

/* make first rule stronger */
#important-info-card ul.alert-box li:first-child{
  border-left: 4px solid #dc2626 !important;
  font-weight: 700;
}
/* ===== Alert: clean & professional (recommended) ===== */
#booking-zum #alert-storno > div,
#booking-vom #alert-storno > div{
  background: #fff5f5 !important;
  border: 1px solid rgba(220, 38, 38, .25) !important;
  border-left: 4px solid rgba(220, 38, 38, .7) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  box-shadow: 0 6px 18px rgba(220,38,38,.08) !important;

  animation:
    ftFadeIn .45s ease-out both,
    ftBorderPulse 2.4s ease-in-out infinite !important;
}

/* appear once */
@keyframes ftFadeIn{
  from{
    opacity: 0;
    transform: translateY(6px);
  }
  to{
    opacity: 1;
    transform: translateY(0);
  }
}

/* subtle attention, no movement */
@keyframes ftBorderPulse{
  0%, 100%{
    border-left-color: rgba(220,38,38,.55);
  }
  50%{
    border-left-color: rgba(220,38,38,.95);
  }
}
@media (max-width: 767px){
  /* Rückfahrt: hour + minute 50/50 (inside .row.return-date-time) */
  #booking-zum .row.return-date-time,
  #booking-vom .row.return-date-time{
    display: flex !important;
    flex-wrap: wrap !important;
    column-gap: 10px !important;
    row-gap: 10px !important;
  }

  /* Date stays full width */
  #booking-zum .row.return-date-time > .col-lg-12,
  #booking-vom .row.return-date-time > .col-lg-12{
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  /* Hour + minute become 50/50 */
  #booking-zum .row.return-date-time > .col-lg-6,
  #booking-vom .row.return-date-time > .col-lg-6{
    flex: 1 1 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
    width: calc(50% - 5px) !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
@media (max-width: 767px){

  /* Grid becomes single column */
  .vehicle-card__grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }

  /* Media */
  .vehicle-card__media{
    position: relative;
  }

  .vehicle-card__img{
    width: 100% !important;
    height: auto !important;
    display: block;
    border-radius: 16px;
  }

  .vehicle-card__more{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 10px;
    background: rgba(255,255,255,.92);
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 700;
  }

  /* Title block */
  .vehicle-card__badge{
    display: inline-block;
    font-size: 12px;
    font-weight: 800;
    padding: 6px 10px;
    border-radius: 999px;
  }

  .vehicle-card__title{
    margin: 8px 0 6px !important;
    font-size: 18px !important;
  }

  /* Specs -> 3 compact chips */
  .vehicle-card__specs{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    margin-top: 8px !important;
  }

  .vehicle-card__spec{
    background: #f8fafc;
    border: 1px solid rgba(0,0,0,.06);
    border-radius: 14px;
    padding: 8px 8px;
    text-align: center;
    font-size: 12px;
    line-height: 1.2;
  }

  .vehicle-card__spec span{
    display: block;
    opacity: .75;
    margin-bottom: 4px;
  }

  .vehicle-card__spec strong{
    font-size: 14px;
    font-weight: 900;
  }

  /* Optional: hide spec icons to reduce clutter */
  .vehicle-card__spec .vehicle-ico{ display: none !important; }

  /* Benefits -> smaller, tighter */
  .vehicle-card__benefits{
    margin-top: 10px !important;
    display: grid;
    gap: 6px;
    font-size: 12px;
    opacity: .9;
  }

  .vehicle-card__benefit .vehicle-ico{ display: none !important; }

  /* Right section becomes compact “price + CTA” block */
  .vehicle-card__right{
    border-top: 1px solid rgba(0,0,0,.08);
    padding-top: 10px;
  }

  .vehicle-card__pricehead{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: 6px;
  }

  .vehicle-card__price-label{
    font-size: 12px;
    opacity: .7;
  }

  .vehicle-card__price{
    font-size: 22px;
    font-weight: 900;
  }

  .vehicle-card__cancel,
  .vehicle-card__incl{
    font-size: 11px;
    opacity: .75;
    margin-top: 4px;
  }

  .vehicle-card__cancel .vehicle-ico{ display:none !important; }

  .vehicle-card__book{
    width: 100% !important;
    margin-top: 10px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    font-weight: 900 !important;
  }
}
@media (max-width: 767px){

  /* Card container (if you have outer wrapper, optional) */
  .vehicle-card__grid{
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  /* Image: clean, no overlay text */
  .vehicle-card__media{
    position: relative;
    padding: 10px 12px 0 !important;
  }

  .vehicle-card__img{
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: 16px !important;
    background: #fff;
  }

  /* Move "Mehr erfahren" BELOW image as link */
  .vehicle-card__more{
    position: static !important;
    transform: none !important;
    display: inline-block !important;
    margin: 8px auto 0 !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    text-decoration: underline !important;
    opacity: .75;
  }

  /* Details spacing */
  .vehicle-card__details{
    padding: 0 12px !important;
  }

  .vehicle-card__badge{
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    margin-top: 6px;
  }

  .vehicle-card__title{
    margin: 8px 0 6px !important;
    font-size: 18px !important;
    font-weight: 900 !important;
  }

  /* Specs = 3 chips in one row, tighter + nicer */
  .vehicle-card__specs{
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 8px !important;
    margin: 10px 0 6px !important;
  }

  .vehicle-card__spec{
    background: #f8fafc !important;
    border: 1px solid rgba(0,0,0,.08) !important;
    border-radius: 14px !important;
    padding: 8px 8px !important;
    text-align: left !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    align-items: center !important;
    font-size: 12px !important;
  }

  .vehicle-card__spec span{
    opacity: .70;
  }

  .vehicle-card__spec strong{
    font-size: 14px !important;
    font-weight: 900 !important;
  }

  /* Remove icons in specs/benefits for clean look */
  .vehicle-card__spec .vehicle-ico,
  .vehicle-card__benefit .vehicle-ico,
  .vehicle-card__cancel .vehicle-ico{
    display: none !important;
  }

  /* Benefits: compact list */
  .vehicle-card__benefits{
    margin: 8px 0 0 !important;
    display: grid !important;
    gap: 6px !important;
    font-size: 12px !important;
    opacity: .85;
  }

  /* Price/CTA footer */
  .vehicle-card__right{
    padding: 10px 12px 12px !important;
    border-top: 1px solid rgba(0,0,0,.08) !important;
    margin-top: 4px !important;
  }

  .vehicle-card__pricehead{
    display: flex !important;
    align-items: baseline !important;
    justify-content: space-between !important;
    margin-bottom: 6px !important;
  }

  .vehicle-card__price-label{
    font-size: 12px !important;
    opacity: .65;
  }

  .vehicle-card__price{
    font-size: 22px !important;
    font-weight: 950 !important;
  }

  .vehicle-card__cancel{
    font-size: 12px !important;
    font-weight: 700 !important;
    opacity: .85;
    margin-top: 4px !important;
  }

  .vehicle-card__incl{
    font-size: 11px !important;
    opacity: .6;
    margin-top: 2px !important;
  }

  .vehicle-card__book{
    width: 100% !important;
    margin-top: 10px !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
    font-weight: 950 !important;
  }
}
.vehicle-sheet{
  position: fixed;
  inset: 0;
  z-index: 9999;
  pointer-events: none;
}
.vehicle-sheet[aria-hidden="false"]{ pointer-events: auto; }

.vehicle-sheet__overlay{
  position: absolute; inset: 0;
  background: rgba(0,0,0,.45);
  opacity: 0;
  transition: opacity .25s ease;
}
.vehicle-sheet[aria-hidden="false"] .vehicle-sheet__overlay{ opacity: 1; }

.vehicle-sheet__panel{
  position: absolute; left: 0; right: 0; bottom: 0;
  background: #fff;
  border-radius: 20px 20px 0 0;
  transform: translateY(100%);
  transition: transform .3s ease;
  max-height: 85vh;
  display: flex;
  flex-direction: column;
}
.vehicle-sheet[aria-hidden="false"] .vehicle-sheet__panel{ transform: translateY(0); }

.vehicle-sheet__handle{
  width: 44px; height: 4px;
  background: rgba(0,0,0,.2);
  border-radius: 999px;
  margin: 10px auto 8px;
}

.vehicle-sheet__header{
  display: flex; align-items: center; justify-content: space-between;
  padding: 12px 16px;
  border-bottom: 1px solid rgba(0,0,0,.08);
}
.vehicle-sheet__header h3{ margin: 0; font-size: 16px; font-weight: 900; }
.vehicle-sheet__close{ border: 0; background: transparent; font-size: 24px; cursor: pointer; }

.vehicle-sheet__content{
  padding: 14px 16px;
  overflow: auto;
}
.vehicle-sheet{ position:fixed; inset:0; z-index:9999; pointer-events:none; }
.vehicle-sheet[aria-hidden="false"]{ pointer-events:auto; }
.vehicle-sheet__overlay{ position:absolute; inset:0; background:rgba(0,0,0,.45); opacity:0; transition:opacity .25s ease; }
.vehicle-sheet[aria-hidden="false"] .vehicle-sheet__overlay{ opacity:1; }

.vehicle-sheet__panel{
  position:absolute; left:0; right:0; bottom:0;
  background:#fff;
  border-radius:20px 20px 0 0;
  transform:translateY(100%);
  transition:transform .3s ease;
  max-height:86vh;
  display:flex; flex-direction:column;
}
.vehicle-sheet[aria-hidden="false"] .vehicle-sheet__panel{ transform:translateY(0); }

.vehicle-sheet__handle{ width:44px; height:4px; background:rgba(0,0,0,.18); border-radius:999px; margin:10px auto 6px; }

.vehicle-sheet__header{
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:12px 16px; border-bottom:1px solid rgba(0,0,0,.08);
}
.vehicle-sheet__title{ font-weight:950; font-size:18px; line-height:1.2; }
.vehicle-sheet__subtitle{ font-size:12px; opacity:.7; margin-top:2px; }
.vehicle-sheet__close{ border:0; background:transparent; font-size:24px; cursor:pointer; line-height:1; }

.vehicle-sheet__content{ padding:14px 16px; overflow:auto; display:grid; gap:14px; }

/* Image */
.vs-hero{ display:grid; gap:10px; }
.vs-hero img{ width:100%; border-radius:16px; display:block; background:#fff; }

/* Inline chips (Personen/Koffer/Handgepäck) — globalni reset, override u #booking-zum/vom */
.vs-chips{
  display:flex; flex-wrap:wrap; gap:4px;
}
.vs-chip{
  border:0.5px solid rgba(0,0,0,.08);
  border-radius:20px;
  padding:2px 7px;
  background:#f8fafc;
  display:inline-flex; align-items:center;
  font-size:10px;
  white-space:nowrap;
}
.vs-chip strong{ font-size:10px; font-weight:600; }

/* Sections */
.vs-section{ border:1px solid rgba(0,0,0,.07); border-radius:16px; padding:12px; background:#fff; }
.vs-h{ font-size:13px; font-weight:950; margin:0 0 10px; }
.vs-subh{ font-size:12px; opacity:.7; margin:-6px 0 10px; }

/* Abmessungen pill + collapsible */
.vs-pill{
  display:inline-flex; align-items:center; gap:8px;
  padding:8px 12px; border-radius:999px;
  border:1px solid rgba(0,0,0,.10);
  background:#f1f5f9;
  font-size:12px; font-weight:800;
  cursor:pointer; user-select:none;
}
.vs-dims{ margin-top:10px; display:none; gap:8px; }
.vs-dims.open{ display:grid; }
.vs-dimrow{ display:flex; justify-content:space-between; font-size:13px; padding:8px 10px; border:1px solid rgba(0,0,0,.06); border-radius:12px; background:#f8fafc; }

/* Luggage blocks inline */
.vs-lug-block{ display:grid; gap:10px; }
.vs-lug-head{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.vs-lug-head strong{ font-size:16px; font-weight:950; }
.vs-lug-head span{ font-size:12px; opacity:.7; }

/* Footer button (optional close) */
.vs-actions{ display:grid; }
.vs-closebtn{ width:100%; padding:12px 14px; border-radius:14px; font-weight:950; border:0; cursor:pointer; }
/* ft-sticky-price removed — see ft-step1-price-bar instead */
.step-disabled {
  pointer-events: none;
  opacity: 0.5;
  cursor: not-allowed;
}

/* ============================================================
   INLINE VALIDATION STYLES - ADDITION (January 2025)
   Added for inline validation (replacing SweetAlert)
   ============================================================ */

/* Error message container */
.field-error {
  display: none;
  color: #dc3545;
  font-size: 13px;
  margin-top: 6px;
  padding: 8px 12px;
  background: #fff5f5;
  border-left: 3px solid #dc3545;
  border-radius: 4px;
  animation: slideDownValidation 0.2s ease-out;
}

.field-error.show {
  display: block;
}

/* Success message container */
.field-success {
  display: none;
  color: #28a745;
  font-size: 13px;
  margin-top: 6px;
  padding: 8px 12px;
  background: #f0fdf4;
  border-left: 3px solid #28a745;
  border-radius: 4px;
  animation: slideDownValidation 0.2s ease-out;
}

.field-success.show {
  display: block;
}

/* Warning message container */
.field-warning {
  display: none;
  color: #fe0500;
  font-size: 12px;
  margin-top: 4px;
  margin-left: 5px;
  background: none;
  border-left: none;
  border-radius: 0;
  padding: 0;
  animation: slideDownValidation 0.2s ease-out;
}

.field-warning.show {
  display: block;
}

/* Field error states */
input.error,
select.error,
textarea.error {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15) !important;
}

input.success,
select.success,
textarea.success {
  border-color: #28a745 !important;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.15) !important;
}

input.warning,
select.warning,
textarea.warning {
  border-color: #ffc107 !important;
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.15) !important;
}

/* Select2 error state styling */
.select2-container--default.error .select2-selection--single {
  border-color: #dc3545 !important;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.15) !important;
}

.select2-container--default.success .select2-selection--single {
  border-color: #28a745 !important;
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.15) !important;
}

/* Animation for validation messages */
@keyframes slideDownValidation {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Focus styles for error fields */
input.error:focus,
select.error:focus,
textarea.error:focus {
  border-color: #dc3545;
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* =========================================================
   Vehicle sheet UNscoped overrides
   (because #vehicleSheet is OUTSIDE #booking-zum/#booking-vom)
   Put at VERY END of booking-ui.css
========================================================= */

#vehicleSheet .vehicle-sheet__overlay{
  background: rgba(17,24,39,.55) !important;
}

#vehicleSheet .vehicle-sheet__panel{
  background:#fff !important;
  border-radius: 22px 22px 0 0 !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.35) !important;
  overflow: hidden !important;
}

/* Desktop modal look */
@media (min-width: 992px){
  #vehicleSheet.vehicle-sheet--desktop{
    align-items: center !important;
  }
  #vehicleSheet.vehicle-sheet--desktop .vehicle-sheet__panel{
    border-radius: 18px !important;
    width: min(760px, 92vw) !important;
    max-height: 88vh !important;
  }
  #vehicleSheet.vehicle-sheet--desktop .vehicle-sheet__handle{
    display:none !important;
  }
}

#vehicleSheet .vehicle-sheet__header{
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(0,0,0,.08) !important;
  background: #fff !important;
}

#vehicleSheet .vehicle-sheet__title{
  font-size: 18px !important;
  font-weight: 950 !important;
  color: #111827 !important;
}

#vehicleSheet .vehicle-sheet__subtitle{
  font-size: 12px !important;
  color: rgba(17,24,39,.65) !important;
}

/* Close button: kill theme purple */
#vehicleSheet .vehicle-sheet__close{
  width: 40px !important;
  height: 40px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  background: #fff !important;
  color: #111827 !important;
  font-size: 20px !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.10) !important;
}

#vehicleSheet .vehicle-sheet__content{
  padding: 14px 16px 16px !important;
  display: grid !important;
  gap: 12px !important;
  background: #fff !important;
}

/* Buttons inside sheet (force brand, kill theme) */
#vehicleSheet .vs-actions .btn-primary{
  background: var(--bk-accent, #2fa4cb) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-weight: 950 !important;
  letter-spacing: .02em !important;
  box-shadow: 0 14px 40px rgba(47,164,203,.25) !important;
}

#vehicleSheet .vs-actions .btn-secondary{
  background: #fff !important;
  color: #111827 !important;
  border: 1px solid rgba(0,0,0,.12) !important;
  border-radius: 14px !important;
  padding: 12px 16px !important;
  font-weight: 900 !important;
}


/* =========================================================
   Stepper – connected flow (SCOPED)
   Mobile: step 1 + 2 (50/50), step 3 full width below
========================================================= */
#booking-zum .steps,
#booking-vom .steps{
  display:flex;
  flex-wrap:wrap;
  gap:0;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  overflow:hidden;
  background:#fff;
}

#booking-zum .steps .step,
#booking-vom .steps .step{
  position:relative;
  flex: 1 1 33.333%;
  min-width: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding:14px 10px;
  font-weight:900;
  font-size:13px;
  background:#fff;
  color:rgba(17,24,39,.88);
  cursor:pointer;
  user-select:none;
}

/* divider */
#booking-zum .steps .step + .step,
#booking-vom .steps .step + .step{
  border-left:1px solid rgba(0,0,0,.08);
}

/* number bubble */
#booking-zum .steps .step > span,
#booking-vom .steps .step > span{
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:950;
  background:rgba(0,0,0,.06);
  color:rgba(17,24,39,.88);
  flex: 0 0 auto;
}

/* text truncation to avoid squeezing 'Persönliche Daten' */
#booking-zum .steps .step,
#booking-vom .steps .step{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* active */
#booking-zum .steps .step.active,
#booking-vom .steps .step.active{
  background:var(--bk-accent);
  color:#fff;
}
#booking-zum .steps .step.active > span,
#booking-vom .steps .step.active > span{
  background:rgba(255,255,255,.18);
  color:#fff;
}

/* complete + disabled (classes set by JS) */
#booking-zum .steps .step.is-complete,
#booking-vom .steps .step.is-complete{
  background:rgba(47,164,203,.10);
  color:#0b3a7e;
}
#booking-zum .steps .step.is-complete > span,
#booking-vom .steps .step.is-complete > span{
  background:rgba(47,164,203,.18);
  color:#0b3a7e;
}
#booking-zum .steps .step.is-disabled,
#booking-vom .steps .step.is-disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* chevron connector */
#booking-zum .steps .step::after,
#booking-vom .steps .step::after{
  content:"";
  position:absolute;
  right:-14px;
  top:0;
  width:28px;
  height:100%;
  background:inherit;
  transform:skewX(-18deg);
  border-right:1px solid rgba(0,0,0,.08);
  z-index:1;
}
#booking-zum .steps .step:last-child::after,
#booking-vom .steps .step:last-child::after{ display:none; }

#booking-zum .steps .step > *,
#booking-vom .steps .step > *{ position:relative; z-index:2; }

/* Mobile layout: 1+2 on first row, 3 on second row */
@media (max-width: 600px){
  #booking-zum .steps .step[data-step="1"],
  #booking-vom .steps .step[data-step="1"],
  #booking-zum .steps .step[data-step="2"],
  #booking-vom .steps .step[data-step="2"]{
    flex: 1 1 50%;
  }
  #booking-zum .steps .step[data-step="3"],
  #booking-vom .steps .step[data-step="3"]{
    flex: 1 1 100%;
    border-left: 0;
    border-top: 1px solid rgba(0,0,0,.08);
  }
  #booking-zum .steps .step[data-step="3"]::after,
  #booking-vom .steps .step[data-step="3"]::after{ display:none; }
}

/* Slightly more breathing room on tiny screens */
@media (max-width: 420px){
  #booking-zum .steps .step,
  #booking-vom .steps .step{
    padding: 12px 8px;
    font-size: 12px;
    gap: 8px;
  }
}


/* =========================================================
   Vehicle summary – Option 1 (route + datetime + icon row)
   Mobile-first, accordion by default
========================================================= */
#booking-zum .vehicle-summary,
#booking-vom .vehicle-summary{
  border:1px solid rgba(0,0,0,.08);
  border-radius:16px;
  background:#fff;
  margin: 12px 0 16px;
  overflow:hidden;
}

/* =====================================================
   Vehicle Summary — Opcija A: compact bar + dropdown
   ===================================================== */
#booking-zum .vehicle-summary,
#booking-vom .vehicle-summary{
  background:var(--color-background-primary);
  border:0.5px solid var(--color-border-tertiary);
  border-radius:var(--border-radius-lg);
  overflow:hidden;
}

/* Bar */
#booking-zum .vs-bar,
#booking-vom .vs-bar{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:10px 12px;
}

#booking-zum .vs-thumb,
#booking-vom .vs-thumb{
  width:60px;
  height:38px;
  object-fit:contain;
  background:var(--color-background-secondary);
  border-radius:4px;
  flex:0 0 auto;
}

#booking-zum .vs-info,
#booking-vom .vs-info{
  flex:1;
  min-width:0;
}

#booking-zum .vs-title,
#booking-vom .vs-title{
  font-size:14px;
  font-weight:600;
  color:var(--color-text-primary);
  line-height:1.3;
}

#booking-zum .vs-sub,
#booking-vom .vs-sub{
  font-size:11px;
  color:var(--color-text-secondary);
  margin-top:1px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

/* Chips */
#booking-zum .vs-chips,
#booking-vom .vs-chips{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:wrap;
  gap:4px;
  margin-top:5px;
  overflow:visible;
}
#booking-zum .vs-chip,
#booking-vom .vs-chip{
  display:inline-flex !important;
  align-items:center;
  font-size:10px;
  background:var(--color-background-secondary);
  border:0.5px solid var(--color-border-tertiary);
  border-radius:20px;
  padding:2px 7px;
  color:var(--color-text-secondary);
  white-space:nowrap;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
}
/* capacity chips — nikad ne prelaze u novi red */
#booking-zum .vs-chip:not(.vs-chip--stop),
#booking-vom .vs-chip:not(.vs-chip--stop){
  flex:0 0 auto;
}
/* stop chip — cijeli red, skraćen ako je predugačak */
#booking-zum .vs-chip--stop,
#booking-vom .vs-chip--stop{
  background:var(--color-background-warning);
  border-color:var(--color-border-warning);
  color:var(--color-text-warning);
  flex:1 1 100%;
  max-width:100%;
}

/* Toggle dugme */
#booking-zum .vss-toggle-btn,
#booking-vom .vss-toggle-btn{
  all:unset;
  font-size:11px;
  font-weight:500;
  color:var(--color-text-secondary);
  border:0.5px solid var(--color-border-secondary);
  border-radius:6px;
  padding:4px 8px;
  cursor:pointer;
  white-space:nowrap;
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  gap:4px;
  margin-top:1px;
  line-height:1.4;
  box-sizing:border-box;
}
#booking-zum .vss-toggle-btn:hover,
#booking-vom .vss-toggle-btn:hover{
  background:var(--color-background-secondary);
  color:var(--color-text-primary);
}
#booking-zum .vs-chevron,
#booking-vom .vs-chevron{
  transition:transform .18s ease;
  flex:0 0 auto;
}
#booking-zum .vss-toggle-btn.is-open .vs-chevron,
#booking-vom .vss-toggle-btn.is-open .vs-chevron{
  transform:rotate(180deg);
}

/* Dropdown */
#booking-zum .vss-dropdown,
#booking-vom .vss-dropdown{
  border-top:0.5px solid var(--color-border-tertiary);
  padding:12px;
}
#booking-zum .vss-dropdown[hidden],
#booking-vom .vss-dropdown[hidden]{
  display:none;
}

#booking-zum .vss-drop__row,
#booking-vom .vss-drop__row{
  display:flex;
  gap:12px;
  align-items:flex-start;
  margin-bottom:10px;
}
#booking-zum .vss-drop__img,
#booking-vom .vss-drop__img{
  width:80px;
  height:52px;
  object-fit:contain;
  background:var(--color-background-secondary);
  border-radius:6px;
  flex:0 0 auto;
}
#booking-zum .vss-drop__details,
#booking-vom .vss-drop__details{
  flex:1;
  min-width:0;
}
#booking-zum .vss-drop__name,
#booking-vom .vss-drop__name{
  font-size:13px;
  font-weight:600;
  color:var(--color-text-primary);
  margin-bottom:3px;
}
#booking-zum .vss-drop__route,
#booking-vom .vss-drop__route{
  font-size:12px;
  color:var(--color-text-secondary);
  margin-bottom:1px;
}
#booking-zum .vss-drop__dt,
#booking-vom .vss-drop__dt{
  font-size:11px;
  color:var(--color-text-secondary);
  margin-bottom:5px;
}
#booking-zum .vss-drop__caps,
#booking-vom .vss-drop__caps{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
#booking-zum .vss-drop__cap,
#booking-vom .vss-drop__cap{
  font-size:11px;
  color:var(--color-text-secondary);
}
#booking-zum .vss-drop__cap b,
#booking-vom .vss-drop__cap b{
  font-weight:600;
  color:var(--color-text-primary);
}
#booking-zum .vss-drop__divider,
#booking-vom .vss-drop__divider{
  height:0.5px;
  background:var(--color-border-tertiary);
  margin:8px 0;
}
#booking-zum .vss-drop__stops,
#booking-vom .vss-drop__stops{
  font-size:11px;
  color:var(--color-text-warning);
  line-height:1.5;
}
#booking-zum .vss-drop__hint,
#booking-vom .vss-drop__hint{
  font-size:11px;
  color:var(--color-text-secondary);
  margin-bottom:10px;
  line-height:1.4;
}
#booking-zum .vss-drop__actions,
#booking-vom .vss-drop__actions{
  display:flex;
  gap:8px;
}
#booking-zum .vss-drop__close,
#booking-vom .vss-drop__close{
  flex:1;
  padding:8px 12px;
  border-radius:var(--border-radius-md);
  border:0.5px solid var(--color-border-secondary);
  background:transparent;
  color:var(--color-text-primary);
  font-size:12px;
  cursor:pointer;
}
#booking-zum .vss-drop__close:hover,
#booking-vom .vss-drop__close:hover{
  background:var(--color-background-secondary);
}
#booking-zum .vss-drop__go-step2,
#booking-vom .vss-drop__go-step2{
  flex:1;
  padding:8px 12px;
  border-radius:var(--border-radius-md);
  border:none;
  background:var(--color-text-primary);
  color:var(--color-background-primary);
  font-size:12px;
  font-weight:500;
  cursor:pointer;
}
#booking-zum .vss-drop__go-step2:hover,
#booking-vom .vss-drop__go-step2:hover{
  opacity:0.85;
}

/* Sakrij stare summary klase */
#booking-zum .vehicle-summary__header,
#booking-vom .vehicle-summary__header,
#booking-zum .vehicle-summary__left,
#booking-vom .vehicle-summary__left{ display:none; }

/* Details (collapsed by default) */
#booking-zum .vehicle-summary__details,
#booking-vom .vehicle-summary__details{
  display:none;
  padding:12px 14px 14px;
  border-top:1px solid rgba(0,0,0,.08);
}

#booking-zum .vehicle-summary.is-open .vehicle-summary__details,
#booking-vom .vehicle-summary.is-open .vehicle-summary__details{
  display:block;
}

#booking-zum .vehicle-summary__detailsRow,
#booking-vom .vehicle-summary__detailsRow{
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
}

#booking-zum .vehicle-summary__img,
#booking-vom .vehicle-summary__img{
  width:120px;
  height:auto;
  object-fit:contain;
  border-radius:12px;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  padding:6px;
}

#booking-zum .vehicle-summary__detailsText,
#booking-vom .vehicle-summary__detailsText{
  flex:1;
  min-width:0;
}

#booking-zum .vehicle-summary__detailsTitle,
#booking-vom .vehicle-summary__detailsTitle{
  font-weight:950;
  font-size:16px;
  line-height:1.2;
}

#booking-zum .vehicle-summary__detailsMeta,
#booking-vom .vehicle-summary__detailsMeta{
  margin-top:4px;
  color:rgba(17,24,39,.68);
  font-size:12px;
}

#booking-zum .vehicle-summary__detailsPrice,
#booking-vom .vehicle-summary__detailsPrice{
  margin-top:6px;
  font-weight:950;
}

#booking-zum .vehicle-summary__detailsHint,
#booking-vom .vehicle-summary__detailsHint{
  margin-top:8px;
  color:rgba(17,24,39,.55);
  font-size:11px;
}

/* Desktop enhancement */
@media (min-width: 768px){
  #booking-zum .vehicle-summary,
  #booking-vom .vehicle-summary{
    max-width: 100%;
  }
}


/* =========================================================
   Remove decorative "helper" icons under fields (scoped)
   Keeps intl-tel-input UI intact
========================================================= */
#booking-zum .step-panel i,
#booking-vom .step-panel i,
#booking-zum .step-panel svg,
#booking-vom .step-panel svg{
  /* default: keep icons, but we'll hide the typical "under-input" ones below */
}

/* Common patterns: icons injected as siblings after inputs/selects */
#booking-zum .step-panel input + i,
#booking-vom .step-panel input + i,
#booking-zum .step-panel select + i,
#booking-vom .step-panel select + i,
#booking-zum .step-panel textarea + i,
#booking-vom .step-panel textarea + i,
#booking-zum .step-panel input + svg,
#booking-vom .step-panel input + svg,
#booking-zum .step-panel select + svg,
#booking-vom .step-panel select + svg,
#booking-zum .step-panel textarea + svg,
#booking-vom .step-panel textarea + svg{
  display:none !important;
}

/* Also hide standalone icon blocks that are *directly* under a field wrapper */
#booking-zum .step-panel .form-row > i,
#booking-vom .step-panel .form-row > i,
#booking-zum .step-panel .form-row > svg,
#booking-vom .step-panel .form-row > svg{
  display:none !important;
}

/* Do NOT hide phone flag container */
#booking-zum .iti__flag-container,
#booking-vom .iti__flag-container{
  display:block !important;
}


/* =========================================================
   Step 1 time: hour/minute 50/50 on mobile (restore)
========================================================= */
@media (max-width: 600px){
  #booking-zum .ft-time-row,
  #booking-vom .ft-time-row{
    display:flex !important;
    gap: 10px !important;
  }
  #booking-zum .ft-time-row > *,
  #booking-vom .ft-time-row > *{
    flex: 1 1 50% !important;
    min-width: 0 !important;
  }
}



/* =========================================================
   VOM/ZUM polish v2.2.2
   - Hide checkout price block on Step 1
   - Slightly reduce summary typography on small mobile
========================================================= */

#booking-zum[data-current-step="1"] .ft-checkout-wrap,
#booking-vom[data-current-step="1"] .ft-checkout-wrap{
  display:none !important;
}

/* Smaller “from/to” block on very small screens */
@media (max-width: 420px){
  #booking-zum .vehicle-summary__title,
  #booking-vom .vehicle-summary__title{ font-size:14px !important; }

  #booking-zum .vehicle-summary__route,
  #booking-vom .vehicle-summary__route{ font-size:12px !important; }
}


/* =========================================================
   VOM Step 1 route card – smaller on mobile (LOCKED tweak)
========================================================= */
@media (max-width: 480px){
  #booking-vom .route-card{
    padding: 14px 16px;
    margin: 10px 0 18px;
  }
  #booking-vom .route-card__value{
    font-size: 14px;
  }
}
/**
 * CSS DODATAK za zusatzadrese
 * Dodaj u custom.css ili booking-ui.css
 */

/* Sakrij zusatzadrese po defaultu */
.ADDADDRESS_OPT {
  display: none !important;
}

/* Prikaži samo kada ima klasu 'zusatz-active' */
.ADDADDRESS_OPT.zusatz-active {
  display: block !important;
}

/* Dodatna kontrola za #add1x i #add2x */
#add1x.zusatz-stop-active,
#add2x.zusatz-stop-active {
  display: block !important;
}

/* Poruka za van-Beč adrese */
#main_vienna_message {
  margin-bottom: 20px;
  animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* Sakrij route summary sa Step 1 */
#booking-zum [data-step-panel="1"] .route-card,
#booking-vom [data-step-panel="1"] .route-card {
  display: none !important;
}

/* Stilizuj route summary na Step 2 */
#booking-zum [data-step-panel="2"] .route-summary-step2,
#booking-vom [data-step-panel="2"] .route-summary-step2 {
  background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
  border: 2px solid #e9ecef;
  border-radius: 16px;
  padding: 20px;
  margin-bottom: 24px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
  animation: fadeInDown 0.4s ease;
}

#booking-zum [data-step-panel="2"] .route-summary-step2__text,
#booking-vom [data-step-panel="2"] .route-summary-step2__text {
  font-size: 16px;
  font-weight: 600;
  color: #212529;
  text-align: center;
  margin: 0;
}

#booking-zum [data-step-panel="2"] .route-summary-step2__text::before,
#booking-vom [data-step-panel="2"] .route-summary-step2__text::before {
  content: '🚗 ';
  margin-right: 8px;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 768px) {
  #booking-zum [data-step-panel="2"] .route-summary-step2,
  #booking-vom [data-step-panel="2"] .route-summary-step2 {
    padding: 16px;
  }
  
  #booking-zum [data-step-panel="2"] .route-summary-step2__text,
  #booking-vom [data-step-panel="2"] .route-summary-step2__text {
    font-size: 14px;
  }
}
/* ========== STEP 3: Vehicle Summary - Visual Improvements ========== */
/* Dodaj ovo NA KRAJ booking-ui.css fajla */

/* Make text DARKER and more readable */
.vehicle-summary__route {
  color: #1a1a1a !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}

/* Datum/vreme - darker */
.vehicle-summary__datetime {
  color: #333333 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

/* Limousine title - bolder and darker */
.vehicle-summary__title {
  color: #000000 !important;
  font-weight: 800 !important;
  font-size: 18px !important;
}

/* Emoji icons - larger and better spacing */
.vehicle-summary__icons .ico {
  font-size: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

.vehicle-summary__icons .ico b {
  color: #1a1a1a !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}

/* "Fahrzeug Ändern" button - more visible */
.vehicle-summary__change {
  background: #2FA4CB !important;
  color: white !important;
  padding: 8px 16px !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  border: none !important;
  transition: all 0.2s ease !important;
}

.vehicle-summary__change:hover {
  background: #2891b5 !important;
  transform: translateY(-1px) !important;
}

/* Overall summary box - better visibility */
.vehicle-summary {
  background: #ffffff !important;
  border: 2px solid #e9ecef !important;
  border-radius: 12px !important;
}

.vehicle-summary__header {
  background: #f8f9fa !important;
  padding: 16px !important;
}

/* Checkmark - more visible */
.vehicle-summary__left .check {
  color: #28a745 !important;
  font-size: 18px !important;
  font-weight: bold !important;
}
/* Fix intl-tel-input padding (override generic input padding) */
#booking-zum .iti input[type="tel"],
#booking-vom .iti input[type="tel"] {
  padding-left: 100px !important;
}

/* Alternative: Dynamic padding via CSS variable (if syncItiPadding sets it) */
#booking-zum .iti input[type="tel"],
#booking-vom .iti input[type="tel"] {
  padding-left: var(--iti-pad-left, 100px) !important;
}

/* ============================================
   IMPREZA THEME COMPATIBILITY
   ============================================ */

/* Ograniči formu na max 1200px i centriraj */
.theme-impreza .container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

/* Impreza inner content wrappers */
.theme-impreza .l-canvas,
.theme-impreza .l-content,
.theme-impreza .l-main,
.theme-impreza .l-section__container {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Section padding reset */
.theme-impreza .l-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Mobile spacing */
@media (max-width: 991px) {
    .theme-impreza .container {
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* =========================================================
   CHILD + RETURN toggle cards (Step 3)
========================================================= */

/* Card wrapper */
.ft-toggle-card {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  background: #f9fafb !important;
  border: 1.5px solid #e5e7eb !important;
  border-radius: 12px !important;
  padding: 14px 16px !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background 0.2s ease !important;
  margin-bottom: 10px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.ft-toggle-card:hover {
  border-color: #93c5fd !important;
  background: #eff6ff !important;
}

.ft-toggle-card:has(input:checked) {
  border-color: #1e6bff !important;
  background: #eff6ff !important;
}

/* Hide actual checkbox */
.ft-toggle-card input[type="checkbox"] {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* Left side: emoji + text */
.ft-toggle-card__content {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 !important;
}

.ft-toggle-card__emoji {
  font-size: 20px !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}

.ft-toggle-card__text {
  font-size: 15px !important;
  font-weight: 600 !important;
  color: #111827 !important;
}

/* Toggle switch track */
.ft-toggle-switch {
  display: inline-flex !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  width: 44px !important;
  height: 24px !important;
  border-radius: 999px !important;
  background: #d1d5db !important;
  padding: 3px !important;
  box-sizing: border-box !important;
  transition: background 0.2s ease !important;
}

.ft-toggle-card:has(input:checked) .ft-toggle-switch {
  background: #1e6bff !important;
}

/* Toggle knob */
.ft-toggle-knob {
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: #fff !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.25) !important;
  transition: transform 0.2s ease !important;
  transform: translateX(0) !important;
}

.ft-toggle-card:has(input:checked) .ft-toggle-knob {
  transform: translateX(20px) !important;
}

/* =========================================================
   STEP 1 PRICE BAR — Night badge
========================================================= */
/* ft-step1-night-badge — redefined above in price bar section */

/* Vehicle card night badge */
.vehicle-card__night-badge {
  font-size: 11px;
  font-weight: 600;
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: 6px;
  padding: 3px 8px;
  margin-top: 6px;
  display: inline-block;
  white-space: nowrap;
}

/* Childseat / Boosterseat price badge — same style as night badge */
.ft-seat-price-badge {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  color: #92400e;
  background: #fef3c7;
  border: 1px solid #fcd34d;
  border-radius: 6px;
  padding: 3px 8px;
  margin-top: 5px;
  white-space: nowrap;
}

/* Note field hint text */
.ft-note-hint {
  font-size: 11px;
  color: #6b7280;
  margin-top: 5px;
  line-height: 1.4;
}
/* =====================================================
   VEHICLE CARD – capacity info text (ispod naslova)
   ===================================================== */
#vehicle-cards-mount .vehicle-card__capacity-info {
  font-size: 13px;
  color: var(--bk-muted, #6b7280);
  margin: 2px 0 0;
  line-height: 1.45;
  font-weight: 400;
}

/* =====================================================
   VEHICLE SHEET – Details anzeigen
   Scoped to #vehicleSheet — safe on all sites
   ===================================================== */
#vehicleSheet .vsh-hero {
  width: 100%;
  background: #f8fafc;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 14px;
}
#vehicleSheet .vsh-hero img {
  width: 100%;
  max-height: 180px;
  object-fit: contain;
  display: block;
  padding: 12px;
}
#vehicleSheet .vsh-section {
  padding: 12px 0;
  border-top: 1px solid #f1f5f9;
}
#vehicleSheet .vsh-section:first-of-type {
  border-top: 0;
  padding-top: 0;
}
#vehicleSheet .vsh-h {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: #6b7280;
  margin-bottom: 8px;
}
#vehicleSheet .vsh-section ul.ft-modal__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
#vehicleSheet .vsh-section ul.ft-modal__list li {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 0;
  font-size: 13px;
  border-bottom: 1px solid #f1f5f9;
  color: #1f2937;
}
#vehicleSheet .vsh-section ul.ft-modal__list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}
#vehicleSheet .vsh-section ul.ft-modal__list li strong {
  font-weight: 700;
}
#vehicleSheet .vsh-section > div {
  font-size: 11px;
  color: #94a3b8;
  line-height: 1.5;
}
#vehicleSheet .vsh-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding-top: 14px;
  border-top: 1px solid #f1f5f9;
  margin-top: 4px;
}
#vehicleSheet .vsh-actions .btn-primary {
  width: 100%;
  padding: 14px;
  font-size: 15px;
}
#vehicleSheet .vsh-actions .btn-secondary {
  width: 100%;
  padding: 12px;
  font-size: 14px;
}

/* =====================================================
   VEHICLE CARD – capacity chips + benefits inline
   ===================================================== */
#vehicle-cards-mount .vehicle-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
#vehicle-cards-mount .vehicle-card__chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 12px;
  font-weight: 700;
  color: #1e3a5f;
  background: #eef5ff;
  border: 1px solid #c3dafe;
  border-radius: 20px;
  padding: 4px 10px;
  white-space: nowrap;
}
#vehicle-cards-mount .vehicle-card__benefits-inline {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #f1f5f9;
}
#vehicle-cards-mount .vehicle-card__benefits-inline span {
  font-size: 12px;
  color: #374151;
}
@media (max-width: 767px) {
  #vehicle-cards-mount .vehicle-card__benefits-inline {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 6px;
  }
  #vehicle-cards-mount .vehicle-card__benefits-inline span {
    font-size: 11px;
  }
}
/* ── Google Places Autocomplete dropdown fix ─────────────────────────── */
.pac-container {
  z-index: 99999 !important;
  margin-top: 2px;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15);
  border: 1px solid #e0e0e0;
  font-family: inherit;
}
.pac-item {
  padding: 8px 12px;
  font-size: 13px;
  cursor: pointer;
  border-top: 1px solid #f0f0f0;
}
.pac-item:hover,
.pac-item-selected {
  background: #eef4ff;
}
.pac-item-query {
  font-size: 13px;
  color: #1a56a0;
}
.pac-matched {
  font-weight: 600;
}

/* Badge i hint ispod pac-containera */
#ft-addr-badge,
#ft-addr-live-hint {
  position: relative;
  z-index: 1;
}

#ft-addr-live-hint {
  font-size: 12px !important;
  padding: 4px 8px !important;
  margin-top: 4px !important;
  line-height: 1.4 !important;
}