/* ==========================================================================
   fs-calc-v3 - price calculator (step 1) design for new-demo, 2026-10-24
   Skin only: loaded right after homesearchform.php's own <style>. No ids, names,
   events or JS hooks change; elements the JS shows/hides keep their own display.
   Palette = live site (navy #0A1628, gold #C9A84C, azure #2E9BDA, emerald #1FA67A),
   font = Inter (self-hosted, same files as the live site).
   ========================================================================== */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 800;font-display:swap;src:url(/fonts/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --fc-navy:#0A1628; --fc-navy-2:#13284A; --fc-navy-3:#1F3E6B;
  --fc-gold:#C9A84C; --fc-gold-2:#E2C877; --fc-gold-3:#F3E3B0;
  --fc-azure:#2E9BDA; --fc-link:#1A6FA0; --fc-emerald:#1FA67A;
  --fc-ink:#0F1B2D; --fc-text:#2B3A4E; --fc-muted:#5B6B80;
  --fc-line:#E3E8EF; --fc-field:#F4F7FA; --fc-field-hover:#EDF2F7;
  --fc-r-lg:22px; --fc-r:14px; --fc-r-sm:10px;
  --fc-focus:0 0 0 3px rgba(46,155,218,.35);
  --fc-font:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}

/* ---------- Shell ---------- */
html body .custom-search-container{
  font-family:var(--fc-font) !important; color:var(--fc-ink);
  -webkit-font-smoothing:antialiased; font-feature-settings:'cv11','ss01';
  max-width:1120px; margin-left:auto; margin-right:auto;
}
html body .custom-search-container *{ font-family:inherit; }
html body .custom-search-container .fas,
html body .custom-search-container .far,
html body .custom-search-container .fa{ font-family:'Font Awesome 5 Pro','Font Awesome 5 Free','FontAwesome' !important; }

/* ---------- Trip type: segmented control ---------- */
html body .custom-search-container .custom-search-tabs{
  display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:6px !important;
  margin:0 0 12px !important; padding:6px !important; list-style:none;
  background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.12) !important;
  border-radius:16px !important; box-shadow:none !important;
  -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
}
html body .custom-search-container .custom-search-tab{
  display:flex !important; align-items:center !important; justify-content:center !important; gap:7px;
  min-height:46px; margin:0 !important; padding:8px 6px !important; width:auto !important;
  border:0 !important; border-radius:11px !important; background:transparent !important;
  color:rgba(255,255,255,.82) !important; font-size:14px !important; font-weight:600 !important;
  letter-spacing:-.005em; white-space:nowrap !important; cursor:pointer;
  transition:background .2s ease,color .2s ease,box-shadow .2s ease;
}
html body .custom-search-container .custom-search-tab .icon-tab{ margin:0 !important; font-size:13px !important; color:var(--fc-gold-2) !important; }
html body .custom-search-container .custom-search-tab:hover:not(.active){ background:rgba(255,255,255,.08) !important; color:#fff !important; }
html body .custom-search-container .custom-search-tab.active{
  background:#fff !important; color:var(--fc-navy) !important; font-weight:700 !important;
  box-shadow:0 6px 18px rgba(0,0,0,.18) !important;
}
html body .custom-search-container .custom-search-tab.active .icon-tab{ color:var(--fc-gold) !important; }
/* "Schritt 1 von 6" dots: noise on the first screen */
html body .custom-search-container .wizard-step-indicator{ display:none !important; }

/* ---------- Card ---------- */
html body .custom-search-container .custom-form-body{
  background:#fff !important; border:0 !important; border-radius:var(--fc-r-lg) !important;
  padding:20px !important; box-shadow:0 24px 60px rgba(4,12,26,.35),0 2px 6px rgba(4,12,26,.12) !important;
}
html body .custom-search-container .custom-form-grid{ gap:14px !important; }

/* ---------- Labels ---------- */
html body .custom-search-container .custom-field-group > label{
  display:flex !important; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 8px;
  min-height:32px; margin:0 0 6px !important; font-size:12px !important; font-weight:700 !important;
  letter-spacing:.06em !important; text-transform:uppercase; color:var(--fc-muted) !important;
}
html body .custom-search-container .label-link{
  display:inline-flex !important; align-items:center; gap:6px; min-height:32px; padding:0 10px !important;
  border-radius:999px; background:#EEF6FC; color:var(--fc-link) !important;
  font-size:12px !important; font-weight:700 !important; letter-spacing:0 !important; text-transform:none !important;
  cursor:pointer;
}
html body .custom-search-container .label-link i{ color:var(--fc-azure) !important; }
html body .custom-search-container .label-link:hover{ background:#E1F0FA; }

/* ---------- Route: pickup and destination joined by a line ---------- */
html body .custom-search-container #group_pickup,
html body .custom-search-container #group_dropoff{ position:relative; }

/* ---------- Fields ---------- */
html body .custom-search-container .custom-input-wrapper{ position:relative; }
html body .custom-search-container .custom-input-wrapper input,
html body .custom-search-container .custom-input-wrapper select,
html body .custom-search-container .custom-input-wrapper .custom-display-trigger{
  height:56px !important; min-height:56px; width:100%;
  padding:0 52px 0 50px !important; border:1.5px solid transparent !important; border-radius:var(--fc-r) !important;
  background:var(--fc-field) !important; color:var(--fc-ink) !important;
  font-size:16px !important; font-weight:600 !important; line-height:56px !important;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  box-shadow:none !important; transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;
}
html body .custom-search-container .custom-input-wrapper input::placeholder{ color:#8794A6 !important; font-weight:500; }
html body .custom-search-container .custom-input-wrapper:hover input,
html body .custom-search-container .custom-input-wrapper:hover .custom-display-trigger{ background:var(--fc-field-hover) !important; }
html body .custom-search-container .custom-input-wrapper input:focus,
html body .custom-search-container .custom-input-wrapper select:focus{
  background:#fff !important; border-color:var(--fc-azure) !important; box-shadow:var(--fc-focus) !important; outline:none !important;
}
html body .custom-search-container .custom-input-wrapper > .icon{
  left:12px !important; width:30px; height:30px; display:flex !important; align-items:center; justify-content:center;
  border-radius:50%; background:#fff; color:var(--fc-navy-3) !important; font-size:13px !important;
  box-shadow:0 1px 3px rgba(10,22,40,.12); z-index:2;
}
/* pickup = gold marker, destination = navy marker */
html body .custom-search-container #wrapper_pickup_text > .icon,
html body .custom-search-container #wrapper_pickup_select > .icon{ background:var(--fc-gold) !important; color:var(--fc-navy) !important; }
html body .custom-search-container #wrapper_dropoff_select > .icon,
html body .custom-search-container #wrapper_dropoff_text > .icon{ background:var(--fc-navy) !important; color:#fff !important; }
html body .custom-search-container .custom-input-wrapper > .fa-chevron-down{ right:16px !important; color:var(--fc-muted) !important; }

/* add-stop "+" inside the pickup field */
html body .custom-search-container .add-stop-inline-btn{
  position:absolute !important; right:8px !important; top:50% !important; transform:translateY(-50%) !important;
  width:40px !important; height:40px !important; border-radius:12px !important; border:0 !important;
  background:var(--fc-navy) !important; color:#fff !important; font-size:14px !important;
  box-shadow:0 4px 10px rgba(10,22,40,.25) !important; z-index:3;
}
html body .custom-search-container .add-stop-inline-btn:hover{ background:var(--fc-navy-3) !important; }
html body .custom-search-container #wrapper_pickup_select > .fa-chevron-down{ right:56px !important; }

/* round-trip swap button sits on the line between the two fields */
html body .custom-search-container .fs-swap-btn{
  width:40px !important; height:40px !important; border-radius:50% !important;
  background:#fff !important; color:var(--fc-navy) !important; border:1.5px solid var(--fc-line) !important;
  box-shadow:0 4px 12px rgba(10,22,40,.14) !important; z-index:4;
}

/* extra stops */
html body .custom-search-container .custom-stop-row{ margin-top:8px; }
html body .custom-search-container .custom-stop-input{ padding-right:52px !important; }
html body .custom-search-container .remove-stop-btn{
  width:40px !important; height:40px !important; border-radius:10px !important; right:8px !important;
  color:var(--fc-muted) !important; font-size:18px !important;
}
html body .custom-search-container .remove-stop-btn:hover{ background:#FDECEA !important; color:#B42318 !important; }
html body .custom-search-container #add_stop_link{
  display:inline-flex; align-items:center; min-height:40px; font-size:14px; font-weight:700;
  color:var(--fc-link) !important; text-decoration:none;
}

/* ---------- Airport / station picker ---------- */
html body .custom-search-container .location-dropdown-panel{
  border:0 !important; border-radius:16px !important; padding:8px !important;
  box-shadow:0 18px 50px rgba(10,22,40,.22),0 0 0 1px rgba(10,22,40,.06) !important;
}
html body .custom-search-container .location-search-box{ border-radius:12px !important; background:var(--fc-field) !important; border:0 !important; }
html body .custom-search-container .location-search-input{ font-size:16px !important; }
html body .custom-search-container .location-option{ min-height:52px; border-radius:12px !important; padding:10px 12px !important; }
html body .custom-search-container .location-option:hover{ background:var(--fc-field) !important; }
html body .custom-search-container .location-option-name{ font-weight:700 !important; color:var(--fc-ink) !important; }
html body .custom-search-container .location-option-sub{ color:var(--fc-muted) !important; }
html body .custom-search-container .location-group-label{ font-size:11px !important; letter-spacing:.08em; text-transform:uppercase; color:var(--fc-muted) !important; }

/* Google address suggestions (sits on <body>) */
html body .pac-container{
  margin-top:6px; border:0; border-radius:16px; overflow:hidden; font-family:var(--fc-font);
  box-shadow:0 18px 50px rgba(10,22,40,.22),0 0 0 1px rgba(10,22,40,.06);
}
html body .pac-container .pac-item{ padding:10px 14px; min-height:48px; display:flex; align-items:center; gap:4px; font-size:13px; color:var(--fc-muted); border-top-color:#EEF1F5; cursor:pointer; }
html body .pac-container .pac-item:hover,
html body .pac-container .pac-item-selected{ background:var(--fc-field); }
html body .pac-container .pac-item-query{ font-size:15px; font-weight:600; color:var(--fc-ink); }
html body .pac-container .pac-matched{ font-weight:800; }
html body .pac-container::after{ margin:4px 10px; }

/* ---------- Passengers / luggage (desktop; on phones the developer moved them to step 2) ---------- */
html body .custom-search-container .pjTbs-extras-dropdown,
html body .custom-search-container .luggage-dropdown-panel{
  border:0 !important; border-radius:16px !important; padding:8px !important;
  box-shadow:0 18px 50px rgba(10,22,40,.22),0 0 0 1px rgba(10,22,40,.06) !important;
}
html body .custom-search-container .pjTbs-spinner.btn,
html body .custom-search-container button.pjTbs-spinner{
  width:40px !important; height:40px !important; border-radius:12px !important;
  background:var(--fc-field) !important; color:var(--fc-navy) !important; border:0 !important;
  font-size:18px !important; font-weight:700 !important;
}
html body .custom-search-container button.pjTbs-spinner:hover{ background:#E4EBF3 !important; }
html body .custom-search-container .pjTbs-spinner-result{ font-size:16px !important; font-weight:800 !important; color:var(--fc-ink) !important; background:transparent !important; border:0 !important; }

/* ---------- Route + price panel ---------- */
html body .custom-search-container .step1-price-panel{
  border:0 !important; border-radius:18px !important; overflow:hidden;
  background:radial-gradient(120% 140% at 100% 0%,#1F3E6B 0%,#13284A 45%,#0A1628 100%) !important;
  box-shadow:0 14px 34px rgba(10,22,40,.28) !important; color:#fff;
}
html body .custom-search-container .step1-price-panel-label{ color:rgba(255,255,255,.62) !important; font-size:11px !important; letter-spacing:.08em; }
html body .custom-search-container .step1-price-panel-value{ color:#fff !important; font-size:15px !important; font-weight:700 !important; overflow-wrap:anywhere; }
html body .custom-search-container .step1-price-panel-dot.pickup{ background:var(--fc-gold) !important; border-color:var(--fc-gold) !important; }
html body .custom-search-container .step1-price-panel-chip{
  display:inline-flex; align-items:center; gap:6px; min-height:30px; padding:0 12px !important;
  border-radius:999px !important; background:rgba(255,255,255,.10) !important; border:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important; font-size:13px !important; font-weight:600 !important;
}
html body .custom-search-container .step1-price-panel-chip i{ color:var(--fc-gold-2) !important; }
html body .custom-search-container .step1-chip-tolls{ background:rgba(31,166,122,.18) !important; border-color:rgba(31,166,122,.35) !important; }
html body .custom-search-container .step1-chip-tolls i{ color:#5FD1A6 !important; }
html body .custom-search-container .step1-price-panel-price-label{ color:var(--fc-gold-2) !important; font-size:12px !important; font-weight:800 !important; letter-spacing:.1em; }
html body .custom-search-container .step1-price-panel-price-value{
  color:#fff !important; font-size:40px !important; font-weight:800 !important; letter-spacing:-.03em;
  line-height:1.05 !important; font-variant-numeric:tabular-nums;
}
html body .custom-search-container .step1-price-panel-price-note{ color:rgba(255,255,255,.66) !important; font-size:12px !important; }

/* main call to action */
html body .custom-search-container .wizard-btn-next{
  display:inline-flex !important; align-items:center; justify-content:center; gap:10px;
  min-height:58px !important; padding:0 26px !important; border:0 !important; border-radius:16px !important;
  background:#fff !important; color:var(--fc-navy) !important;   /* white on the dark price card - no yellow (owner) */
  font-size:17px !important; font-weight:800 !important; letter-spacing:-.01em;
  box-shadow:0 10px 24px rgba(0,0,0,.28) !important;
  transition:transform .15s ease,box-shadow .15s ease,filter .15s ease;
}
html body .custom-search-container .wizard-btn-next:hover{ background:#EAF2FB !important; box-shadow:0 14px 30px rgba(0,0,0,.34) !important; }
html body .custom-search-container .wizard-btn-next:active{ transform:translateY(1px); }
html body .custom-search-container .wizard-btn-next i{ transition:transform .15s ease; }
html body .custom-search-container .wizard-btn-next:hover i{ transform:translateX(3px); }

/* trust row */
html body .custom-search-container .wizard-trust-row{
  border:0 !important; background:transparent !important; padding:4px 2px 0 !important; margin-top:14px !important; gap:8px 14px !important;
}
html body .custom-search-container .wizard-trust-chip{ color:var(--fc-text) !important; font-size:13px !important; font-weight:600 !important; }
html body .custom-search-container .wizard-trust-chip i{ color:var(--fc-emerald) !important; }

/* keyboard focus */
html body .custom-search-container :is(a,button,input,select,li,[tabindex]):focus-visible{ outline:3px solid var(--fc-azure) !important; outline-offset:2px !important; }

/* ---------- Phones ---------- */
@media (max-width:991px){
  html body .custom-search-container .custom-form-body{ padding:16px !important; border-radius:20px !important; }
  html body .custom-search-container .custom-form-grid{ grid-template-columns:minmax(0,1fr) !important; }
  html body .custom-search-container .custom-field-group{ min-width:0; }
  /* trip type: icon above the label so all three fit on any phone */
  html body .custom-search-container .custom-search-tab{
    flex-direction:column !important; gap:4px; min-height:58px; padding:8px 4px !important;
    font-size:12.5px !important; line-height:1.15; white-space:normal !important; text-align:center !important;
  }
  html body .custom-search-container .custom-search-tab .icon-tab{ font-size:16px !important; }
  /* the route rows repeat what is in the fields above: show only chips + price on phones */
  html body .custom-search-container .step1-price-panel{ display:grid !important; grid-template-columns:1fr; gap:0 !important; padding:0 !important; }
  html body .custom-search-container .step1-price-panel-route{ padding:14px 16px 0 !important; border:0 !important; }
  html body .custom-search-container .step1-price-panel-row{ display:none !important; }
  html body .custom-search-container .step1-price-panel-chips{ margin:0 !important; display:flex; flex-wrap:wrap; gap:6px; }
  html body .custom-search-container .step1-price-panel-price{
    display:grid !important; grid-template-columns:1fr auto; align-items:end; column-gap:12px; row-gap:2px;
    padding:12px 16px 16px !important; border:0 !important; text-align:left !important;
  }
  html body .custom-search-container .step1-price-panel-price-label{ grid-column:1; }
  html body .custom-search-container .step1-price-panel-price-value{ grid-column:1; font-size:34px !important; }
  html body .custom-search-container .step1-price-panel-price-note{ grid-column:1; text-align:left; }
  html body .custom-search-container .wizard-btn-next{ grid-column:1 / -1; width:100% !important; margin-top:12px !important; }
  html body .custom-search-container .step1-price-panel-price > :not(.step1-price-panel-price-label):not(.step1-price-panel-price-value):not(.step1-price-panel-price-note):not(.wizard-btn-next){ grid-column:1 / -1; }
  html body .custom-search-container .wizard-trust-row{ display:grid !important; grid-template-columns:1fr 1fr; }
  html body .custom-search-container .wizard-trust-chip{ font-size:12px !important; line-height:1.35; align-items:flex-start !important; }
}

/* select-style fields only need room for the chevron */
html body .custom-search-container #wrapper_dropoff_select .custom-display-trigger{ padding-right:40px !important; }
@media (max-width:420px){
  html body .custom-search-container .custom-field-group > label{ font-size:11px !important; }
  html body .custom-search-container .label-link{ font-size:11.5px !important; padding:0 9px !important; min-height:30px; white-space:nowrap; }
  html body .custom-search-container .custom-input-wrapper input,
  html body .custom-search-container .custom-input-wrapper .custom-display-trigger{ font-size:15.5px !important; }
  html body .custom-search-container .custom-input-wrapper input{ font-size:16px !important; }  /* 16px keeps iOS from zooming */
  html body .custom-search-container .wizard-btn-next{ font-size:16px !important; padding:0 18px !important; white-space:nowrap; }
}
@media (max-width:359px){
  html body .custom-search-container .custom-search-tab{ font-size:11.5px !important; }
  html body .custom-search-container .custom-form-body{ padding:12px !important; }
  html body .custom-search-container .step1-price-panel-price-value{ font-size:30px !important; }
}
@media (prefers-reduced-motion:reduce){
  html body .custom-search-container *{ transition:none !important; }
}

/* v3.4: "+ Zwischenstopp" link does the same as the "+" button inside the pickup field (same click handler)
   -> hidden in the calculator; it only left an empty row. Added stops still appear in #stops_container. */
html body .custom-search-container #stop_link_box{ display:none !important; }
html body .custom-search-container #stops_container:empty{ margin:0 !important; }
/* extra stop row: the remove "x" sits inside the field, quiet until hovered */
html body .custom-search-container .custom-stop-row{ position:relative !important; display:block !important; margin-top:10px !important; }
html body .custom-search-container .custom-stop-row .custom-input-wrapper{ width:100% !important; }
html body .custom-search-container .custom-stop-row .custom-input-wrapper > .icon{ background:#fff !important; color:#5B6B80 !important; }
html body .custom-search-container .custom-stop-row .remove-stop-btn{
  position:absolute !important; right:8px !important; top:50% !important; transform:translateY(-50%) !important; z-index:3;
  width:40px !important; height:40px !important; border-radius:12px !important; border:0 !important;
  background:#fff !important; color:#5B6B80 !important; box-shadow:0 1px 3px rgba(10,22,40,.14) !important; font-size:15px !important;
}
html body .custom-search-container .custom-stop-row .remove-stop-btn:hover{ background:#FDECEA !important; color:#B42318 !important; }
html body .custom-search-container .custom-stop-row .custom-stop-input{ padding-right:56px !important; }

/* v3.5: clear the fixed site header above the calculator.
   Tablets (768-991px) show the extra contact bar in the header (100-132px high), phones only the slim bar (61px). */
@media (min-width:768px) and (max-width:991px){
  html body #preisrechner, html body .co-calculator-home-page{ padding-top:146px !important; }
}
@media (max-width:767px){
  html body #preisrechner, html body .co-calculator-home-page{ padding-top:74px !important; }
}

/* v3.5: header contact bar on narrow tablets - social icons (also in the footer) would run off the right edge */
@media (min-width:768px) and (max-width:899px){
  html body .fs-topbar-socials{ display:none !important; }
}

/* ==========================================================================
   v3.6 (owner, 2026-10-24): address text fits the field; lighter "digital" type;
   phone price card shows the route (pickup + destination) in small type.
   CSS only, no new files/requests.
   ========================================================================== */
/* fields: lighter, slightly smaller type and slimmer side padding -> a full German address fits on desktop */
html body .custom-search-container .custom-input-wrapper input,
html body .custom-search-container .custom-input-wrapper .custom-display-trigger{
  font-size:14.5px !important; font-weight:500 !important; letter-spacing:-.006em; padding-left:46px !important;
}
html body .custom-search-container .custom-input-wrapper > .icon{ left:10px !important; width:28px; height:28px; font-size:12px !important; }
html body .custom-search-container .add-stop-inline-btn{ width:36px !important; height:36px !important; border-radius:11px !important; font-size:13px !important; }
html body .custom-search-container #custom_pickup_text,
html body .custom-search-container .custom-stop-input{ padding-right:50px !important; }
html body .custom-search-container .location-option-name{ font-weight:600 !important; }

/* price card: calmer weights, tabular digits, faint dot grid */
html body .custom-search-container .step1-price-panel{ position:relative; isolation:isolate; }
html body .custom-search-container .step1-price-panel::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.2px); background-size:14px 14px;
  -webkit-mask-image:linear-gradient(200deg,#000 0%,transparent 55%); mask-image:linear-gradient(200deg,#000 0%,transparent 55%);
}
html body .custom-search-container .step1-price-panel-value{ font-weight:600 !important; letter-spacing:-.005em; }
html body .custom-search-container .step1-price-panel-chip{ font-weight:500 !important; font-variant-numeric:tabular-nums; border-color:rgba(255,255,255,.12) !important; background:rgba(255,255,255,.06) !important; }
html body .custom-search-container .step1-price-panel-price-value{ font-weight:700 !important; letter-spacing:-.025em; }
html body .custom-search-container .wizard-btn-next{ font-weight:700 !important; }
html body .custom-search-container .wizard-trust-chip{ font-weight:500 !important; }
/* route line between the two dots */
html body .custom-search-container .step1-price-panel-row{ position:relative; }
html body .custom-search-container .step1-price-panel-row:first-child::after{
  content:""; position:absolute; left:4px; top:19px; bottom:-8px; border-left:2px dotted rgba(255,255,255,.28);
}

@media (max-width:991px){
  /* phones: the field must stay 16px (iOS zooms into smaller inputs); the full address is shown in the card below */
  html body .custom-search-container .custom-input-wrapper input{ font-size:16px !important; }
  html body .custom-search-container .custom-input-wrapper .custom-display-trigger{ font-size:15px !important; }
  html body .custom-search-container .custom-input-wrapper input,
  html body .custom-search-container .custom-input-wrapper .custom-display-trigger{ height:52px !important; min-height:52px; line-height:52px !important; }

  html body .custom-search-container .step1-price-panel-route{ gap:8px !important; padding:16px 16px 0 !important; }
  html body .custom-search-container .step1-price-panel-row{ display:flex !important; gap:10px; }
  html body .custom-search-container .step1-price-panel-row > div{ min-width:0; }
  html body .custom-search-container .step1-price-panel-dot{ width:10px; height:10px; margin-top:3px; }
  html body .custom-search-container .step1-price-panel-label{ font-size:10px !important; font-weight:600 !important; letter-spacing:.1em; margin-bottom:1px; color:rgba(255,255,255,.55) !important; }
  html body .custom-search-container .step1-price-panel-value{
    font-size:13.5px !important; font-weight:500 !important; line-height:1.35 !important; color:rgba(255,255,255,.94) !important;
    display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; overflow-wrap:break-word;
  }
  html body .custom-search-container .step1-price-panel-row:first-child::after{ top:17px; bottom:-6px; }
  html body .custom-search-container .step1-price-panel-chips{ margin:4px 0 0 20px !important; gap:6px !important; }
  html body .custom-search-container .step1-price-panel-chip{ min-height:26px; padding:0 10px !important; font-size:12px !important; }

  /* price: label / big figure on the left, tax note on the right, hairline above */
  html body .custom-search-container .step1-price-panel-price{
    margin:14px 16px 0 !important; padding:12px 0 16px !important; border-top:1px solid rgba(255,255,255,.10) !important;
    grid-template-columns:1fr auto; row-gap:0 !important;
  }
  html body .custom-search-container .step1-price-panel-price-label{ grid-column:1 / -1; font-size:10.5px !important; font-weight:700 !important; letter-spacing:.12em; margin-bottom:2px; }
  html body .custom-search-container .step1-price-panel-price-value{ grid-column:1; font-size:32px !important; white-space:nowrap; }
  html body .custom-search-container .step1-price-panel-price-note{ grid-column:2; align-self:end; text-align:right !important; margin:0 0 4px !important; font-size:11.5px !important; line-height:1.3; text-wrap:balance; }
  html body .custom-search-container .wizard-btn-next{ min-height:52px !important; font-size:16px !important; border-radius:14px !important; margin-top:14px !important; }
}
@media (max-width:420px){
  html body .custom-search-container .custom-form-body{ padding:14px !important; }
  html body .custom-search-container .custom-input-wrapper .custom-display-trigger{ font-size:15px !important; }
}
@media (max-width:359px){
  html body .custom-search-container .step1-price-panel-price-value{ font-size:28px !important; }
  html body .custom-search-container .step1-price-panel-price-note{ white-space:normal; }
}
