
.taxizone-taxi-wrap{max-width:650px;margin:30px auto;font-family:inherit}
.taxizone-taxi-form{background:#fff;padding:28px;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.08)}
.taxizone-taxi-form h2{margin:0 0 24px;font-size:30px}
.taxizone-taxi-form label{display:block;font-weight:600;margin:0 0 16px}
.taxizone-taxi-form input,.taxizone-taxi-form select,.taxizone-taxi-form textarea{width:100%;box-sizing:border-box;margin-top:7px;padding:13px 14px;border:1px solid #d8d8d8;border-radius:9px;font:inherit}
.taxizone-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.taxizone-price-box{display:flex;justify-content:space-between;align-items:center;background:#f5f5f5;border-radius:10px;padding:18px;margin:20px 0;font-size:18px}
.taxizone-price-box strong{font-size:28px}
.taxizone-taxi-form button{width:100%;padding:16px;border:0;border-radius:10px;background:#111;color:#fff;font-size:18px;font-weight:700;cursor:pointer}
.taxizone-booking-success{max-width:650px;margin:20px auto;padding:18px;border-radius:10px;background:#e9f8ed}

.taxizone-extras{border:1px solid #ddd;border-radius:9px;padding:14px;margin:4px 0 18px}
.taxizone-extras legend{font-weight:700;padding:0 5px}
.taxizone-extra{display:flex!important;align-items:center;gap:10px;margin:10px 0!important;font-weight:400!important}
.taxizone-extra input{width:auto!important;margin:0!important}
.taxizone-extra small{margin-left:auto;font-weight:600}

.taxizone-preset-address{background:#f2f2f2!important;cursor:not-allowed}

.taxizone-booking-error{max-width:650px;margin:20px auto;padding:18px;border-radius:10px;background:#ffe8e8}



/* =========================================================
   SJÖBO TAXI – SITE THEME
   Match the site's black / white / taxi-yellow design.
   ========================================================= */
:root{
  --taxizone-yellow:#ffb511;
  --taxizone-yellow-hover:#f2a800;
  --taxizone-dark:#292929;
  --taxizone-text:#333333;
  --taxizone-muted:#737373;
  --taxizone-border:#e6e6e6;
}

/* Shared form card */
.taxizone-taxi-wrap{
  font-family:inherit !important;
  color:var(--taxizone-text) !important;
}

.taxizone-taxi-form{
  background:#fff !important;
  border:1px solid var(--taxizone-border) !important;
  border-radius:14px !important;
  box-shadow:0 8px 28px rgba(0,0,0,.08) !important;
}

.taxizone-taxi-form h2{
  color:var(--taxizone-dark) !important;
  font-size:22px !important;
  font-weight:800 !important;
  margin:0 0 22px !important;
}

.taxizone-taxi-form label{
  color:#4a4a4a !important;
  font-weight:600 !important;
}

.taxizone-taxi-form input:not([type="checkbox"]):not([type="radio"]),
.taxizone-taxi-form select,
.taxizone-taxi-form textarea{
  border:1px solid #d9d9d9 !important;
  background:#fff !important;
  color:#292929 !important;
  border-radius:8px !important;
}

.taxizone-taxi-form input:not([type="checkbox"]):not([type="radio"]):focus,
.taxizone-taxi-form select:focus,
.taxizone-taxi-form textarea:focus{
  border-color:var(--taxizone-yellow) !important;
  box-shadow:0 0 0 3px rgba(255,181,17,.16) !important;
}

.taxizone-taxi-form button[type="submit"],
.taxizone-taxi-form .taxizone-horizontal-submit{
  background:var(--taxizone-yellow) !important;
  color:#111 !important;
  border:0 !important;
  border-radius:8px !important;
  font-weight:800 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  transition:background .15s ease, transform .15s ease, box-shadow .15s ease !important;
}

.taxizone-taxi-form button[type="submit"]:hover,
.taxizone-taxi-form .taxizone-horizontal-submit:hover{
  background:var(--taxizone-yellow-hover) !important;
  color:#111 !important;
  transform:translateY(-1px) !important;
  box-shadow:0 6px 16px rgba(0,0,0,.12) !important;
}

/* Vertical booking form */
.taxizone-taxi-form:not(.taxizone-horizontal-form){
  max-width:560px !important;
  margin:0 auto !important;
  padding:22px !important;
}

.taxizone-taxi-form:not(.taxizone-horizontal-form) .taxizone-price-box{
  background:#f7f7f7 !important;
  border:1px solid #ededed !important;
  border-radius:8px !important;
}

.taxizone-taxi-form:not(.taxizone-horizontal-form) .taxizone-extras{
  border-color:#e2e2e2 !important;
}

/* Horizontal form – use the same yellow accent */
.taxizone-horizontal-form{
  border-radius:14px !important;
  box-shadow:0 10px 30px rgba(0,0,0,.10) !important;
  padding:20px 22px 22px !important;
}

.taxizone-horizontal-form .taxizone-horizontal-main{
  gap:12px !important;
}

.taxizone-horizontal-form .taxizone-horizontal-extra{
  border-top:1px solid #ededed !important;
}

.taxizone-horizontal-form button[type="submit"]{
  min-height:46px !important;
}

/* Flight form */
.taxizone-flygtaxi-form{
  border-top:4px solid var(--taxizone-yellow) !important;
}

.taxizone-flygtaxi-form h2{
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
}

.taxizone-flight-direction{
  border:1px solid #e4e4e4 !important;
  border-radius:8px !important;
  background:#fafafa !important;
}

.taxizone-flight-direction input[type="radio"]{
  accent-color:var(--taxizone-yellow) !important;
}

/* Booking success message */
.taxizone-booking-success{
  max-width:560px !important;
  margin:0 auto 24px !important;
  padding:14px 18px !important;
  border-left:4px solid var(--taxizone-yellow) !important;
  border-radius:8px !important;
  background:#fff8e5 !important;
  color:#333 !important;
  box-shadow:0 4px 14px rgba(0,0,0,.06) !important;
}




/* =========================================================
   SJÖBO TAXI – HORIZONTAL FORM v3.5
   Scoped only to the horizontal shortcode.
   ========================================================= */
.taxizone-horizontal-wrap{
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:0!important;
}
.taxizone-horizontal-form{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:38px 42px 32px!important;
  background:#fff!important;
  border:0!important;
  border-radius:20px!important;
  box-shadow:0 8px 24px rgba(0,0,0,.10)!important;
}
.taxizone-horizontal-main{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:28px 18px!important;
  align-items:end!important;
  margin:0!important;
  padding:0!important;
}
.taxizone-horizontal-second{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:28px 18px!important;
  align-items:end!important;
  margin:42px 0 0!important;
  padding:0!important;
}
.taxizone-horizontal-form label{
  display:flex!important;
  flex-direction:column!important;
  gap:11px!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  color:#111!important;
  font-size:14px!important;
  line-height:1.15!important;
  font-weight:800!important;
}
.taxizone-horizontal-form input:not([type=checkbox]):not([type=radio]),
.taxizone-horizontal-form select{
  width:100%!important;
  height:52px!important;
  min-height:52px!important;
  box-sizing:border-box!important;
  padding:0 17px!important;
  margin:0!important;
  border:1px solid #e4e4e4!important;
  border-radius:9px!important;
  background:#fafafa!important;
  color:#222!important;
  font-family:inherit!important;
  font-size:14px!important;
  font-weight:500!important;
  line-height:52px!important;
  box-shadow:none!important;
  outline:none!important;
}
.taxizone-horizontal-form input::placeholder{color:#777!important;opacity:1!important}
.taxizone-horizontal-form input:focus,
.taxizone-horizontal-form select:focus{
  border-color:#ffb511!important;
  background:#fff!important;
  box-shadow:0 0 0 2px rgba(255,181,17,.13)!important;
  outline:none!important;
}

/* The add-ons stay available, but are visually quiet and never distort
   the two-row reference layout. */
.taxizone-horizontal-extras{
  margin:28px 0 0!important;
  padding:18px 0 0!important;
  border-top:1px solid #ededed!important;
}
.taxizone-horizontal-extras-title{margin:0 0 12px!important;color:#111!important;font-size:14px!important;font-weight:800!important}
.taxizone-horizontal-extras-list{display:flex!important;flex-wrap:wrap!important;gap:8px 10px!important}
.taxizone-horizontal-extra-item{
  display:flex!important;flex-direction:row!important;align-items:center!important;gap:8px!important;
  width:auto!important;min-width:145px!important;box-sizing:border-box!important;
  padding:9px 11px!important;background:#fafafa!important;border:1px solid #e7e7e7!important;border-radius:8px!important;
  color:#222!important;font-size:12px!important;font-weight:700!important;
}
.taxizone-horizontal-extra-item input{width:16px!important;height:16px!important;min-height:16px!important;margin:0!important;accent-color:#ffb511!important}
.taxizone-horizontal-extra-item small{margin-left:auto!important;color:#666!important;font-size:11px!important;font-weight:600!important}

.taxizone-horizontal-action{
  display:flex!important;
  justify-content:flex-end!important;
  margin:24px 0 0!important;
}
.taxizone-horizontal-action .taxizone-horizontal-submit{
  width:214px!important;
  height:58px!important;
  min-height:58px!important;
  box-sizing:border-box!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:9px!important;
  background:#ffb511!important;
  color:#111!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:58px!important;
  cursor:pointer!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.taxizone-horizontal-action .taxizone-horizontal-submit:hover{
  background:#f2a800!important;
  color:#111!important;
  box-shadow:0 6px 14px rgba(0,0,0,.12)!important;
  transform:none!important;
}

/* Keep this design isolated: do not style the ordinary/flygtaxi forms here. */
@media (max-width:1000px){
  .taxizone-horizontal-form{padding:30px 26px!important}
  .taxizone-horizontal-main{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .taxizone-horizontal-second{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .taxizone-horizontal-second .taxizone-horizontal-message{grid-column:span 2}
}
@media (max-width:650px){
  .taxizone-horizontal-form{padding:24px 18px!important;border-radius:15px!important}
  .taxizone-horizontal-main,.taxizone-horizontal-second{grid-template-columns:1fr!important;gap:16px!important;margin-top:20px!important}
  .taxizone-horizontal-second .taxizone-horizontal-message{grid-column:auto}
  .taxizone-horizontal-extras{margin-top:20px!important}
  .taxizone-horizontal-extra-item{width:100%!important}
  .taxizone-horizontal-action{margin-top:18px!important}
  .taxizone-horizontal-action .taxizone-horizontal-submit{width:100%!important}
}

/* v3.7 – Tillägg på en enda rad i liggande formulär */
.taxizone-horizontal-extras-list{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
}
.taxizone-horizontal-extras-list .taxizone-horizontal-extra-item{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:0!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:12px 16px!important;
  gap:9px!important;
  white-space:nowrap!important;
}
.taxizone-horizontal-extras-list .taxizone-horizontal-extra-item input{
  flex:0 0 auto!important;
}
.taxizone-horizontal-extras-list .taxizone-horizontal-extra-item small{
  margin-left:4px!important;
}
@media (max-width:900px){
  .taxizone-horizontal-extras-list{
    flex-wrap:wrap!important;
  }
}
@media (max-width:650px){
  .taxizone-horizontal-extras-list{
    flex-direction:column!important;
    align-items:stretch!important;
  }
  .taxizone-horizontal-extras-list .taxizone-horizontal-extra-item{
    width:100%!important;
  }
}


/* v4.9 – quick addresses are editable suggestions, not locked fields. */
.taxizone-address.taxizone-preset-address{
  background:#fff!important;
  cursor:text!important;
}
.taxizone-vehicle-note{
  display:block!important;
  margin-top:6px!important;
  color:#777!important;
  font-size:12px!important;
}

/* =========================================================
   v5.0.2 – Flygtaxi form: isolated controls and safe presets
   ========================================================= */
.taxizone-flygtaxi-wrap{
  max-width:560px!important;
  margin:30px auto!important;
}
.taxizone-flygtaxi-form{
  width:100%!important;
  box-sizing:border-box!important;
  padding:24px!important;
  border-top:4px solid #ffb511!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 10px 30px rgba(0,0,0,.08)!important;
}
.taxizone-flygtaxi-form h2{
  margin:0 0 20px!important;
  font-size:22px!important;
  line-height:1.2!important;
}
.taxizone-flygtaxi-form .taxizone-flight-direction{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:0 0 18px!important;
  padding:6px!important;
  border:1px solid #e1e1e1!important;
  border-radius:10px!important;
  background:#f7f7f7!important;
  box-sizing:border-box!important;
}
.taxizone-flygtaxi-form .taxizone-flight-direction legend{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.taxizone-flygtaxi-form .taxizone-flight-direction label{
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  width:auto!important;
  margin:0!important;
  padding:8px 10px!important;
  border-radius:7px!important;
  font-size:13px!important;
  font-weight:700!important;
  cursor:pointer!important;
  color:#555!important;
  box-sizing:border-box!important;
}
.taxizone-flygtaxi-form .taxizone-flight-direction input[type="radio"]{
  display:block!important;
  flex:0 0 16px!important;
  width:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  accent-color:#ffb511!important;
}
.taxizone-flygtaxi-form .taxizone-flight-direction label:has(input:checked){
  background:#fff!important;
  color:#111!important;
  box-shadow:0 2px 7px rgba(0,0,0,.08)!important;
}
.taxizone-flygtaxi-form > label{
  display:block!important;
  width:100%!important;
  margin:0 0 15px!important;
  box-sizing:border-box!important;
}
.taxizone-flygtaxi-form > label > input:not([type="checkbox"]):not([type="radio"]),
.taxizone-flygtaxi-form > label > select,
.taxizone-flygtaxi-form > label > textarea{
  display:block!important;
  width:100%!important;
  margin-top:7px!important;
  box-sizing:border-box!important;
}
.taxizone-flygtaxi-form .taxizone-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:12px!important;
}
.taxizone-flygtaxi-form .taxizone-extras{
  margin:4px 0 18px!important;
}
.taxizone-flygtaxi-form .taxizone-price-box{
  margin:20px 0!important;
}
@media (max-width:600px){
  .taxizone-flygtaxi-wrap{margin:20px auto!important;padding:0 12px!important;box-sizing:border-box!important}
  .taxizone-flygtaxi-form{padding:20px!important;border-radius:14px!important}
  .taxizone-flygtaxi-form .taxizone-flight-direction{grid-template-columns:1fr!important}
  .taxizone-flygtaxi-form .taxizone-grid{grid-template-columns:1fr!important}
}


/* TaxiZone local address shortcuts */
.taxizone-address-wrap{position:relative!important;}
.taxizone-local-suggestions{position:absolute;left:0;right:0;top:100%;z-index:99999;background:#fff;border:1px solid #ddd;border-radius:0 0 10px 10px;box-shadow:0 8px 22px rgba(0,0,0,.12);overflow:hidden;max-height:320px;overflow-y:auto;}
.taxizone-local-suggestion{display:block;width:100%;border:0;background:#fff;text-align:left;padding:12px 14px;cursor:pointer;font:inherit;line-height:1.25;}
.taxizone-local-suggestion:hover,.taxizone-local-suggestion:focus{background:#f5f5f5;outline:0;}
.taxizone-local-suggestion strong{display:block;font-weight:800;margin-bottom:3px;}
.taxizone-local-suggestion span{display:block;color:#666;font-size:12px;}

/* TaxiZone horizontal homepage template */
.taxizone-hero-booking{--tz-yellow:#f5c400;--tz-bg:#050607;--tz-panel:#0b0d0f;--tz-secondary:#9a9da2;--tz-line:#3e3d2b;position:relative;overflow:hidden;background:radial-gradient(circle at 76% 20%,rgba(245,196,0,.08),transparent 30%),linear-gradient(180deg,#020303 0%,#080a0c 58%,#050607 100%);color:#fff;border-radius:0;padding:54px clamp(18px,4vw,58px) 28px;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif}
.taxizone-hero-inner{max-width:1500px;margin:0 auto;min-height:330px;position:relative;display:flex;align-items:center}
.taxizone-hero-copy{position:relative;z-index:2;width:56%;padding:20px 0 35px}.taxizone-eyebrow{color:var(--tz-yellow);font-weight:800;letter-spacing:.18em;font-size:14px;margin-bottom:12px}.taxizone-hero-copy h1{margin:0;font-size:clamp(38px,5vw,76px);line-height:.98;letter-spacing:-.045em;font-weight:900}.taxizone-hero-copy h1 span{color:var(--tz-yellow)}.taxizone-hero-copy p{font-size:clamp(16px,1.5vw,24px);color:var(--tz-secondary);margin:22px 0 0}.taxizone-hero-visual{position:absolute;right:-4%;bottom:-3px;width:55%;height:330px;display:flex;align-items:flex-end;justify-content:flex-end}.taxizone-city-glow{position:absolute;right:10%;bottom:24px;width:65%;height:95px;background:radial-gradient(ellipse at center,rgba(245,196,0,.15),transparent 65%);filter:blur(14px)}.taxizone-car{width:100%;max-width:760px;filter:drop-shadow(0 25px 28px rgba(0,0,0,.8))}
.taxizone-hero-form{max-width:none;width:calc(100% + (2 * clamp(18px,4vw,58px)));margin:-2px 0 0 calc(-1 * clamp(18px,4vw,58px));background:linear-gradient(180deg,rgba(14,16,18,.96),rgba(8,10,11,.98));border:1px solid rgba(245,196,0,.55);border-radius:20px;padding:28px;position:relative;z-index:5;box-shadow:0 22px 50px rgba(0,0,0,.35)}.taxizone-hero-grid{display:grid;gap:18px}.taxizone-hero-grid.top-row{grid-template-columns:1.45fr 1.45fr .8fr .8fr}.taxizone-hero-grid.bottom-row{grid-template-columns:1.45fr .65fr 1.15fr .7fr .8fr;align-items:end;margin-top:20px}.taxizone-hero-form label,.taxizone-hero-form legend{display:block;color:var(--tz-yellow);font-size:13px;font-weight:800;letter-spacing:.04em;margin:0 0 9px}.taxizone-field-wrap{height:58px;display:flex;align-items:center;gap:10px;border:1px solid #505257;border-radius:11px;background:#090b0d;padding:0 14px;box-sizing:border-box}.taxizone-field-wrap:focus-within{border-color:var(--tz-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.1)}.taxizone-field-wrap input,.taxizone-field-wrap select{border:0!important;background:transparent!important;color:#fff!important;outline:0!important;width:100%;height:100%;padding:0!important;font-size:16px!important;box-shadow:none!important}.taxizone-field-wrap input::placeholder{color:var(--tz-secondary)}.taxizone-pin,.taxizone-icon{color:var(--tz-yellow);font-size:18px;flex:0 0 auto}.taxizone-vehicle-group{border:0;padding:0;margin:0;display:flex;gap:12px;min-width:0}.taxizone-vehicle-group legend{width:100%;margin-bottom:9px}.taxizone-vehicle-card{position:relative;flex:1;min-width:0;height:80px;border:1px solid #55585c;border-radius:12px;background:#090b0d;display:flex!important;align-items:center;gap:9px;padding:10px 12px!important;box-sizing:border-box;color:#fff!important;cursor:pointer}.taxizone-vehicle-card.active{border-color:var(--tz-yellow);box-shadow:inset 0 0 0 1px var(--tz-yellow)}.taxizone-vehicle-card input{position:absolute;opacity:0}.taxizone-car-icon{font-size:25px}.taxizone-vehicle-card strong{display:block;font-size:13px}.taxizone-vehicle-card small{display:block;color:var(--tz-secondary);margin-top:3px;font-size:11px}.taxizone-price-panel{height:80px;border-left:1px solid #45474a;padding:7px 0 7px 18px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}.taxizone-price-panel span{font-size:11px;color:var(--tz-yellow);font-weight:800}.taxizone-price-panel strong{font-size:28px;line-height:1.1;color:var(--tz-yellow);margin-top:3px}.taxizone-price-note{font-size:10px;color:var(--tz-secondary);margin-top:4px}.taxizone-book-button{height:80px;border:0;border-radius:12px;background:var(--tz-yellow);color:#080808;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 10px 25px rgba(245,196,0,.16)}.taxizone-book-button:hover{filter:brightness(1.04);transform:translateY(-1px)}.taxizone-customer-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid #292b2e}.taxizone-customer-fields .full{grid-column:1/-1}.taxizone-customer-fields label{margin:0}.taxizone-customer-fields input,.taxizone-customer-fields textarea{width:100%;margin-top:7px;box-sizing:border-box;background:#090b0d;border:1px solid #4b4e52;border-radius:9px;color:#fff;padding:12px}.taxizone-extras-hidden{display:none}.taxizone-trust-row{max-width:1500px;margin:26px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.taxizone-trust-row>div{display:grid;grid-template-columns:34px 1fr;column-gap:10px;align-items:center;padding:8px 12px}.taxizone-trust-row span{grid-row:1/3;color:var(--tz-yellow);font-size:26px;text-align:center}.taxizone-trust-row strong{font-size:12px;letter-spacing:.03em}.taxizone-trust-row small{font-size:11px;color:var(--tz-secondary);margin-top:3px}.taxizone-powered{text-align:center;margin:28px auto 0;color:var(--tz-secondary);font-size:11px;letter-spacing:.08em}.taxizone-powered strong{color:var(--tz-yellow)}
@media(max-width:1050px){.taxizone-hero-grid.top-row{grid-template-columns:1fr 1fr}.taxizone-hero-grid.bottom-row{grid-template-columns:1.4fr .6fr 1fr .7fr}.taxizone-book-button{grid-column:auto}.taxizone-hero-copy{width:62%}.taxizone-hero-visual{width:60%;opacity:.8}}
@media(max-width:760px){.taxizone-hero-booking{padding:34px 14px 24px;border-radius:0}.taxizone-hero-inner{min-height:300px;display:block}.taxizone-hero-copy{width:100%;padding:8px 4px 150px}.taxizone-hero-copy h1{font-size:42px}.taxizone-hero-copy p{font-size:16px}.taxizone-hero-visual{width:100%;height:210px;right:-12%;bottom:0;opacity:.72}.taxizone-hero-form{padding:18px;border-radius:16px}.taxizone-hero-grid.top-row,.taxizone-hero-grid.bottom-row{grid-template-columns:1fr}.taxizone-vehicle-group{display:grid;grid-template-columns:1fr 1fr}.taxizone-vehicle-group legend{grid-column:1/-1}.taxizone-price-panel{border-left:0;border-top:1px solid #45474a;padding:14px 0 0;height:auto}.taxizone-book-button{height:62px}.taxizone-customer-fields{grid-template-columns:1fr}.taxizone-trust-row{grid-template-columns:1fr 1fr;gap:8px}.taxizone-trust-row>div{padding:8px 4px}.taxizone-trust-row strong{font-size:10px}.taxizone-trust-row small{font-size:9px}}

/* TaxiZone edge-to-edge booking panel: no outer margin/side framing; inner field spacing remains intact. */
.taxizone-hero-booking .taxizone-hero-form{margin-top:0!important;margin-bottom:0!important;}
@media(max-width:760px){.taxizone-hero-booking .taxizone-hero-form{width:100%!important;margin-left:0!important;max-width:none!important;}}

/* TaxiZone 10.0.9 – configurable hero form. Scoped to prevent theme CSS from collapsing fields. */
.taxizone-hero-booking .taxizone-hero-configured-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;align-items:end}
.taxizone-hero-booking .taxizone-hero-configured-grid>.tz-field{min-width:0;box-sizing:border-box}
.taxizone-hero-booking .tz-field-from,.taxizone-hero-booking .tz-field-to{grid-column:span 3}
.taxizone-hero-booking .tz-field-date,.taxizone-hero-booking .tz-field-time{grid-column:span 2}
.taxizone-hero-booking .tz-field-vehicle{grid-column:span 4}
.taxizone-hero-booking .tz-field-passengers{grid-column:span 2}
.taxizone-hero-booking .tz-field-extras{grid-column:span 3}
.taxizone-hero-booking .tz-field-price{grid-column:span 1}
.taxizone-hero-booking .tz-field-name,.taxizone-hero-booking .tz-field-phone,.taxizone-hero-booking .tz-field-email{grid-column:span 4}
.taxizone-hero-booking .tz-field-message{grid-column:span 12}
.taxizone-hero-booking .tz-field-submit{grid-column:span 2}
.taxizone-hero-booking .tz-field>input:not([type=radio]):not([type=checkbox]),.taxizone-hero-booking .tz-field>textarea{width:100%;box-sizing:border-box;background:#090b0d;border:1px solid #505257;border-radius:11px;color:#fff;padding:0 14px;height:58px;font-size:16px;outline:none;box-shadow:none}
.taxizone-hero-booking .tz-field>textarea{height:auto;min-height:58px;padding:12px 14px;resize:vertical}
.taxizone-hero-booking .tz-field>input:focus,.taxizone-hero-booking .tz-field>textarea:focus{border-color:var(--tz-yellow);box-shadow:0 0 0 2px rgba(245,196,0,.1)}
.taxizone-hero-booking .tz-field>input::placeholder,.taxizone-hero-booking .tz-field>textarea::placeholder{color:var(--tz-secondary)}
.taxizone-hero-booking .tz-field .taxizone-field-wrap{width:100%}
.taxizone-hero-booking .tz-field-vehicle{height:auto;align-self:end}
.taxizone-hero-booking .tz-field-price{align-self:stretch}
.taxizone-hero-booking .tz-field-submit{width:100%;min-width:0}
.taxizone-hero-booking .tz-field label{color:#fff}
.taxizone-hero-booking .taxizone-hero-configured-grid .taxizone-vehicle-group{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.taxizone-hero-booking .taxizone-hero-configured-grid .taxizone-vehicle-group legend{grid-column:1/-1}
@media(max-width:1050px){
 .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
 .taxizone-hero-booking .tz-field-from,.taxizone-hero-booking .tz-field-to{grid-column:span 3}
 .taxizone-hero-booking .tz-field-date,.taxizone-hero-booking .tz-field-time{grid-column:span 3}
 .taxizone-hero-booking .tz-field-vehicle{grid-column:span 3}
 .taxizone-hero-booking .tz-field-passengers{grid-column:span 1}
 .taxizone-hero-booking .tz-field-extras{grid-column:span 2}
 .taxizone-hero-booking .tz-field-price{grid-column:span 2}
 .taxizone-hero-booking .tz-field-submit{grid-column:span 2}
 .taxizone-hero-booking .tz-field-name,.taxizone-hero-booking .tz-field-phone,.taxizone-hero-booking .tz-field-email{grid-column:span 2}
 .taxizone-hero-booking .tz-field-message{grid-column:span 6}
}
@media(max-width:760px){
 .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:1fr}
 .taxizone-hero-booking .taxizone-hero-configured-grid>.tz-field{grid-column:1/-1!important}
 .taxizone-hero-booking .taxizone-hero-configured-grid .taxizone-vehicle-group{grid-template-columns:1fr 1fr}
 .taxizone-hero-booking .tz-field-submit{height:62px}
}

/* TaxiZone 10.0.10 – desktop width repair.
   The shared vertical-form rule previously limited the hero to 560px.
   Keep the homepage hero wide and fully isolated from theme/plugin form rules. */
.taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{
  width:100% !important;
  max-width:1500px !important;
  margin:-2px auto 0 !important;
  box-sizing:border-box !important;
  float:none !important;
  clear:both !important;
}
.taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form *{
  box-sizing:border-box;
}
.taxizone-hero-booking .taxizone-hero-configured-grid{
  width:100% !important;
  max-width:none !important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid .tz-field-price{
  min-width:0 !important;
  overflow:visible !important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid .tz-field-price strong{
  white-space:nowrap !important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid .tz-field-submit{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
@media (min-width:1051px){
  .taxizone-hero-booking .taxizone-hero-configured-grid{
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  }
}

/* TaxiZone 10.0.11 – homepage hero visual correction.
   Restores the dark reference design and locks the desktop rows so fields
   cannot flow into the wrong row or be squeezed by theme/plugin rules. */
.taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{
  background:linear-gradient(180deg,rgba(14,16,18,.97),rgba(8,10,11,.99)) !important;
  color:#fff !important;
  border:1px solid rgba(245,196,0,.55) !important;
  border-radius:20px !important;
  padding:28px !important;
  box-shadow:0 22px 50px rgba(0,0,0,.35) !important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  gap:18px !important;
  align-items:end !important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid>.tz-field{min-width:0 !important;}
.taxizone-hero-booking .tz-field-from{grid-column:1 / span 3 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-to{grid-column:4 / span 3 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-date{grid-column:7 / span 2 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-time{grid-column:9 / span 2 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-vehicle{grid-column:1 / span 4 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 2 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-extras{grid-column:7 / span 3 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-price{grid-column:10 / span 1 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-submit{grid-column:11 / span 2 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-name{grid-column:1 / span 4 !important;grid-row:3 !important}
.taxizone-hero-booking .tz-field-phone{grid-column:5 / span 4 !important;grid-row:3 !important}
.taxizone-hero-booking .tz-field-email{grid-column:9 / span 4 !important;grid-row:3 !important}
.taxizone-hero-booking .tz-field-message{grid-column:1 / span 12 !important;grid-row:4 !important}
.taxizone-hero-booking .tz-field label,
.taxizone-hero-booking .tz-field,
.taxizone-hero-booking .taxizone-vehicle-group legend{color:#fff !important}
.taxizone-hero-booking .tz-field > input:not([type=radio]):not([type=checkbox]),
.taxizone-hero-booking .tz-field > textarea,
.taxizone-hero-booking .taxizone-field-wrap{
  background:#090b0d !important;
  color:#fff !important;
  border-color:#505257 !important;
}
.taxizone-hero-booking .taxizone-field-wrap input,
.taxizone-hero-booking .taxizone-field-wrap select{color:#fff !important;background:transparent !important}
.taxizone-hero-booking .tz-field > input::placeholder,
.taxizone-hero-booking .tz-field > textarea::placeholder,
.taxizone-hero-booking .taxizone-field-wrap input::placeholder{color:var(--tz-secondary) !important}
.taxizone-hero-booking .taxizone-price-panel{background:transparent !important;border-left:1px solid #45474a !important}
.taxizone-hero-booking .taxizone-book-button{width:100% !important;min-width:0 !important;white-space:nowrap !important;word-break:normal !important}
.taxizone-hero-booking .taxizone-customer-fields{display:none !important}
.taxizone-hero-booking .taxizone-trust-row{margin-top:26px !important}
@media(max-width:1050px){
  .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important}
  .taxizone-hero-booking .tz-field-from{grid-column:1 / span 3 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-to{grid-column:4 / span 3 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-date,.taxizone-hero-booking .tz-field-time{grid-column:span 3 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-vehicle{grid-column:1 / span 3 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-passengers{grid-column:4 / span 1 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-extras{grid-column:5 / span 2 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-price{grid-column:1 / span 2 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-submit{grid-column:5 / span 2 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-name,.taxizone-hero-booking .tz-field-phone,.taxizone-hero-booking .tz-field-email{grid-column:span 2 !important;grid-row:auto !important}
  .taxizone-hero-booking .tz-field-message{grid-column:1 / span 6 !important;grid-row:auto !important}
}
@media(max-width:760px){
  .taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{padding:18px !important}
  .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:1fr !important}
  .taxizone-hero-booking .taxizone-hero-configured-grid>.tz-field{grid-column:1 / -1 !important;grid-row:auto !important}
  .taxizone-hero-booking .taxizone-book-button{height:62px !important}
}

/* TaxiZone 10.0.12 – configurable hero editor + stable controls */
.taxizone-hero-booking{color:var(--tz-text,#fff);background:var(--tz-bg,#050607);}
.taxizone-hero-booking .taxizone-hero-copy h1{color:var(--tz-text,#fff)}
.taxizone-hero-booking .taxizone-hero-copy h1 span{color:var(--tz-yellow,#f5c400)}
.taxizone-hero-booking .taxizone-car-image{display:block;width:100%;max-width:760px;max-height:330px;object-fit:contain;object-position:right bottom;filter:drop-shadow(0 25px 28px rgba(0,0,0,.8));position:relative;z-index:2}
.taxizone-hero-booking .taxizone-field-wrap select{appearance:none;-webkit-appearance:none;cursor:pointer;background:#090b0d!important;color:#fff!important;border-radius:7px;padding-right:28px!important}
.taxizone-hero-booking .taxizone-field-wrap{position:relative}
.taxizone-hero-booking .taxizone-field-wrap:has(select)::after{content:'⌄';position:absolute;right:13px;top:50%;transform:translateY(-55%);color:var(--tz-yellow,#f5c400);font-weight:900;pointer-events:none}
.taxizone-hero-booking .taxizone-extra-dropdown{position:relative;width:100%;z-index:20}
.taxizone-hero-booking .taxizone-extra-dropdown summary{height:58px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border:1px solid #505257;border-radius:11px;background:#090b0d;color:#fff;cursor:pointer;list-style:none;font-size:16px;font-weight:700}
.taxizone-hero-booking .taxizone-extra-dropdown summary::-webkit-details-marker{display:none}
.taxizone-hero-booking .taxizone-extra-dropdown[open] summary{border-color:var(--tz-yellow,#f5c400);box-shadow:0 0 0 2px rgba(245,196,0,.1)}
.taxizone-hero-booking .taxizone-extra-menu{position:absolute;left:0;right:0;top:64px;background:#0b0d0f;border:1px solid #4b4e52;border-radius:10px;padding:8px;box-shadow:0 18px 35px rgba(0,0,0,.55);max-height:240px;overflow:auto}
.taxizone-hero-booking .taxizone-extra-option{display:flex!important;align-items:center;gap:10px;padding:10px 9px!important;margin:0!important;border-radius:7px;color:#fff!important;cursor:pointer}
.taxizone-hero-booking .taxizone-extra-option:hover{background:#161a1e}
.taxizone-hero-booking .taxizone-extra-option input{width:18px!important;height:18px!important;min-width:18px!important;accent-color:var(--tz-yellow,#f5c400)}
.taxizone-hero-booking .taxizone-extra-option span{flex:1}
.taxizone-hero-booking .taxizone-extra-option small{color:var(--tz-secondary)}
.taxizone-hero-booking .tz-field-passengers .taxizone-field-wrap select{font-weight:800;letter-spacing:.02em}
@media(max-width:760px){.taxizone-hero-booking .taxizone-car-image{max-height:210px}.taxizone-hero-booking .taxizone-extra-menu{position:static;margin-top:8px}}

/* TaxiZone 10.0.14 – stable control polish. Scoped only to the hero. */
.taxizone-hero-booking .taxizone-hero-form input,
.taxizone-hero-booking .taxizone-hero-form select,
.taxizone-hero-booking .taxizone-hero-form textarea{font-family:inherit;box-sizing:border-box;}
.taxizone-hero-booking .taxizone-hero-form input:not([type=radio]):not([type=checkbox]),
.taxizone-hero-booking .taxizone-hero-form select,
.taxizone-hero-booking .taxizone-hero-form textarea{background:#090b0d;color:#fff;border:1px solid #505257;border-radius:10px;}
.taxizone-hero-booking .taxizone-hero-form input:not([type=radio]):not([type=checkbox]),
.taxizone-hero-booking .taxizone-hero-form select{min-height:58px;padding:0 14px;}
.taxizone-hero-booking .taxizone-hero-form textarea{padding:12px 14px;min-height:58px;}
.taxizone-hero-booking .taxizone-hero-form input:focus,
.taxizone-hero-booking .taxizone-hero-form select:focus,
.taxizone-hero-booking .taxizone-hero-form textarea:focus{border-color:var(--tz-yellow,#f5c400);outline:none;box-shadow:0 0 0 2px rgba(245,196,0,.12);}
.taxizone-hero-booking .taxizone-field-wrap select{background:#090b0d;color:#fff;appearance:auto;-webkit-appearance:auto;}
.taxizone-hero-booking .taxizone-vehicle-card{overflow:hidden;}
.taxizone-hero-booking .taxizone-vehicle-card strong,.taxizone-hero-booking .taxizone-vehicle-card small{white-space:nowrap;}
.taxizone-hero-booking .taxizone-extra-dropdown{position:relative;z-index:20;}
.taxizone-hero-booking .taxizone-extra-dropdown summary{background:#090b0d;color:#fff;border:1px solid #505257;border-radius:10px;min-height:58px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;}
.taxizone-hero-booking .taxizone-extra-dropdown[open] summary{border-color:var(--tz-yellow,#f5c400);}
.taxizone-hero-booking .taxizone-extra-menu{background:#0b0d0f;color:#fff;border:1px solid #505257;border-radius:10px;box-shadow:0 16px 30px rgba(0,0,0,.45);}
.taxizone-hero-booking .taxizone-extra-option input{accent-color:var(--tz-yellow,#f5c400);}
.taxizone-hero-booking .taxizone-price-panel strong{white-space:nowrap;}
@media(max-width:760px){.taxizone-hero-booking .taxizone-vehicle-card strong,.taxizone-hero-booking .taxizone-vehicle-card small{white-space:normal;}}


/* =========================================================
   TaxiZone 10.0.16 – FINAL UI LOCK
   Purpose: center the homepage form and force Google address
   inputs/autocomplete to use the TaxiZone dark theme. This block
   is intentionally last so WordPress theme CSS cannot override it.
   No pricing, zones, routes or booking logic is changed.
   ========================================================= */
.taxizone-hero-booking .taxizone-hero-form{
  width:100% !important;
  max-width:1500px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid{
  width:100% !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.taxizone-hero-booking .taxizone-field-wrap{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  min-width:0 !important;
  box-sizing:border-box !important;
}
/* Google address fields: never white. */
.taxizone-hero-booking .taxizone-field-wrap input.taxizone-address,
.taxizone-hero-booking .taxizone-field-wrap input[type="text"],
.taxizone-hero-booking .taxizone-field-wrap input[type="date"],
.taxizone-hero-booking .taxizone-field-wrap input[type="time"],
.taxizone-hero-booking .taxizone-field-wrap select,
.taxizone-hero-booking .taxizone-hero-form input[type="text"],
.taxizone-hero-booking .taxizone-hero-form input[type="date"],
.taxizone-hero-booking .taxizone-hero-form input[type="time"],
.taxizone-hero-booking .taxizone-hero-form select,
.taxizone-hero-booking .taxizone-hero-form textarea{
  background:#090b0d !important;
  background-color:#090b0d !important;
  color:#ffffff !important;
  border-color:#505257 !important;
  -webkit-text-fill-color:#ffffff !important;
  color-scheme:dark !important;
  opacity:1 !important;
}
.taxizone-hero-booking .taxizone-field-wrap input::placeholder,
.taxizone-hero-booking .taxizone-hero-form input::placeholder,
.taxizone-hero-booking .taxizone-hero-form textarea::placeholder{
  color:var(--tz-secondary) !important;
  -webkit-text-fill-color:var(--tz-secondary) !important;
  opacity:1 !important;
}
.taxizone-hero-booking .taxizone-field-wrap input:focus,
.taxizone-hero-booking .taxizone-field-wrap select:focus,
.taxizone-hero-booking .taxizone-hero-form textarea:focus{
  background:#0b0e10 !important;
  color:#ffffff !important;
  border-color:#f5c400 !important;
  box-shadow:0 0 0 2px rgba(245,196,0,.12) !important;
  outline:none !important;
}
/* Google Places autocomplete dropdown. */
.taxizone-hero-booking ~ .pac-container,
.taxizone-hero-booking .pac-container,
.pac-container{
  z-index:999999 !important;
  background:#0b0d0f !important;
  background-color:#0b0d0f !important;
  border:1px solid #505257 !important;
  border-top:1px solid #f5c400 !important;
  border-radius:0 0 10px 10px !important;
  box-shadow:0 18px 35px rgba(0,0,0,.55) !important;
  color:#ffffff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  overflow:hidden !important;
}
.pac-item{
  background:#0b0d0f !important;
  color:var(--tz-secondary) !important;
  border-top:1px solid #25282b !important;
  padding:10px 12px !important;
  font-size:14px !important;
  line-height:20px !important;
  cursor:pointer !important;
}
.pac-item:hover,
.pac-item-selected{
  background:#171a1e !important;
  color:#ffffff !important;
}
.pac-item-query,
.pac-matched{
  color:#ffffff !important;
  font-weight:700 !important;
}
.pac-icon{filter:none !important;opacity:.9 !important;}
.pac-logo:after{filter:invert(1) grayscale(1) brightness(1.6) !important;opacity:.75 !important;}
/* Center text vertically and keep every control aligned to its box. */
.taxizone-hero-booking .taxizone-field-wrap input,
.taxizone-hero-booking .taxizone-field-wrap select{
  display:block !important;
  align-self:stretch !important;
  line-height:1.2 !important;
  text-align:left !important;
}
.taxizone-hero-booking .taxizone-vehicle-card{
  justify-content:flex-start !important;
  align-items:center !important;
  text-align:left !important;
}
.taxizone-hero-booking .taxizone-price-panel{
  align-items:flex-start !important;
  justify-content:center !important;
}
.taxizone-hero-booking .taxizone-book-button{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  padding:0 18px !important;
}
@media(min-width:1200px){
  .taxizone-hero-booking .taxizone-hero-form{padding:28px 30px 30px !important;}
  .taxizone-hero-booking .taxizone-hero-configured-grid{gap:18px !important;}
}

/* TaxiZone 10.0.17 – single-control / centered grid cleanup.
   Presentation-only: removes nested input borders so each field has one box,
   keeps every control inside the hero panel, and does not alter booking logic. */
.taxizone-hero-booking .taxizone-hero-form,
.taxizone-hero-booking .taxizone-hero-configured-grid,
.taxizone-hero-booking .tz-field{
  min-width:0 !important;
  max-width:100% !important;
}

/* One visual box per address/date/time/passenger control. */
.taxizone-hero-booking .taxizone-field-wrap{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:58px !important;
  padding:0 14px !important;
  overflow:hidden !important;
}
.taxizone-hero-booking .taxizone-field-wrap > input,
.taxizone-hero-booking .taxizone-field-wrap > select{
  width:100% !important;
  min-width:0 !important;
  max-width:100% !important;
  height:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  background-color:transparent !important;
  box-shadow:none !important;
  outline:0 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
.taxizone-hero-booking .taxizone-field-wrap > input:focus,
.taxizone-hero-booking .taxizone-field-wrap > select:focus{
  border:0 !important;
  box-shadow:none !important;
  outline:0 !important;
  background:transparent !important;
}

/* Keep native date/time controls visually integrated with the single box. */
.taxizone-hero-booking .taxizone-field-wrap > input[type="date"],
.taxizone-hero-booking .taxizone-field-wrap > input[type="time"]{
  color-scheme:dark !important;
  appearance:auto !important;
  -webkit-appearance:auto !important;
}

/* The extras control is already one box; do not create another border around it. */
.taxizone-hero-booking .taxizone-extra-dropdown,
.taxizone-hero-booking .taxizone-extra-dropdown summary{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.taxizone-hero-booking .taxizone-extra-dropdown summary{
  margin:0 !important;
}

/* Keep the second row mathematically inside the 12-column grid. */
@media(min-width:1051px){
  .taxizone-hero-booking .taxizone-hero-configured-grid{
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .taxizone-hero-booking .tz-field-submit,
  .taxizone-hero-booking .taxizone-book-button{
    max-width:100% !important;
  }
}

/* Customer inputs are each one box as well. */
.taxizone-hero-booking .tz-field-name > input,
.taxizone-hero-booking .tz-field-phone > input,
.taxizone-hero-booking .tz-field-email > input,
.taxizone-hero-booking .tz-field-message > textarea{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
}

/* Keep the whole form visually centered inside its available content width. */
.taxizone-hero-booking .taxizone-hero-form{
  margin-left:auto !important;
  margin-right:auto !important;
}

@media(max-width:760px){
  .taxizone-hero-booking .taxizone-field-wrap{
    height:58px !important;
  }
}


/* TaxiZone 10.0.19 – clean single-layer controls.
   Removes the visible wrapper behind the actual controls and hides the
   decorative yellow glyphs that were creating visual clutter. Booking logic unchanged. */
.taxizone-hero-booking .taxizone-field-wrap{
  background:transparent !important;
  background-color:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  gap:0 !important;
  overflow:visible !important;
  height:58px !important;
}
.taxizone-hero-booking .taxizone-field-wrap:focus-within{
  border:0 !important;
  box-shadow:none !important;
}
.taxizone-hero-booking .taxizone-field-wrap > input,
.taxizone-hero-booking .taxizone-field-wrap > select{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  padding:0 14px !important;
  border:1px solid #505257 !important;
  border-radius:10px !important;
  background:#090b0d !important;
  background-color:#090b0d !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
.taxizone-hero-booking .taxizone-field-wrap > input:focus,
.taxizone-hero-booking .taxizone-field-wrap > select:focus{
  border-color:var(--tz-yellow,#f5c400) !important;
  box-shadow:0 0 0 2px rgba(245,196,0,.10) !important;
  background:#090b0d !important;
}
.taxizone-hero-booking .taxizone-field-wrap .taxizone-pin,
.taxizone-hero-booking .taxizone-field-wrap .taxizone-icon{
  display:none !important;
}
/* Keep the native calendar/clock controls, but don't add another TaxiZone icon layer. */
.taxizone-hero-booking .taxizone-field-wrap > input[type="date"],
.taxizone-hero-booking .taxizone-field-wrap > input[type="time"]{
  padding-right:12px !important;
}


/* TaxiZone 10.0.22 – clean single-control address/date/time fields.
   The decorative wrapper must not create a second visible box. The actual
   input owns the border/background and visually covers the old icon layer. */
.taxizone-hero-booking .taxizone-field-wrap{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:11px!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
}
.taxizone-hero-booking .taxizone-field-wrap .taxizone-pin,
.taxizone-hero-booking .taxizone-field-wrap .taxizone-icon{
  display:none!important;
}
.taxizone-hero-booking .taxizone-field-wrap input:not([type=radio]):not([type=checkbox]),
.taxizone-hero-booking .taxizone-field-wrap select{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:100%!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
  border:1px solid #505257!important;
  border-radius:11px!important;
  background:#090b0d!important;
  color:#fff!important;
  box-shadow:none!important;
  outline:none!important;
  line-height:58px!important;
}
.taxizone-hero-booking .taxizone-field-wrap input:not([type=radio]):not([type=checkbox]):focus,
.taxizone-hero-booking .taxizone-field-wrap select:focus{
  border-color:var(--tz-yellow,#f5c400)!important;
  box-shadow:0 0 0 2px rgba(245,196,0,.10)!important;
}
.taxizone-hero-booking .taxizone-field-wrap input::placeholder{color:var(--tz-secondary)!important;opacity:1!important}
/* Keep native date/time picker icons visible and correctly aligned. */
.taxizone-hero-booking .taxizone-field-wrap input[type=date],
.taxizone-hero-booking .taxizone-field-wrap input[type=time]{
  padding-right:12px!important;
}
.taxizone-hero-booking .taxizone-field-wrap:focus-within{
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

/* TaxiZone 10.0.24 – final desktop symmetry / single-control layout.
   Keep functionality untouched; only normalise the visual grid and controls. */
@media (min-width:1051px){
  .taxizone-hero-booking .taxizone-hero-configured-grid{
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    gap:18px !important;
    align-items:end !important;
  }
  .taxizone-hero-booking .tz-field-from{grid-column:1 / span 3 !important;grid-row:1 !important}
  .taxizone-hero-booking .tz-field-to{grid-column:4 / span 3 !important;grid-row:1 !important}
  .taxizone-hero-booking .tz-field-date{grid-column:7 / span 3 !important;grid-row:1 !important}
  .taxizone-hero-booking .tz-field-time{grid-column:10 / span 3 !important;grid-row:1 !important}
  .taxizone-hero-booking .tz-field-vehicle{grid-column:1 / span 4 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 2 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-extras{grid-column:7 / span 3 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-price{grid-column:10 / span 1 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-submit{grid-column:11 / span 2 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-name{grid-column:1 / span 4 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-phone{grid-column:5 / span 4 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-email{grid-column:9 / span 4 !important;grid-row:3 !important}
}

/* Remove the old icon-wrapper chrome: the actual control becomes the single visible box. */
.taxizone-hero-booking .taxizone-field-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:58px !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.taxizone-hero-booking .taxizone-field-wrap .taxizone-pin,
.taxizone-hero-booking .taxizone-field-wrap .taxizone-icon{
  display:none !important;
}
.taxizone-hero-booking .taxizone-field-wrap input,
.taxizone-hero-booking .taxizone-field-wrap select{
  display:block !important;
  width:100% !important;
  height:58px !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 14px !important;
  border:1px solid #505257 !important;
  border-radius:11px !important;
  background:#090b0d !important;
  color:#fff !important;
  box-sizing:border-box !important;
  box-shadow:none !important;
}
.taxizone-hero-booking .taxizone-field-wrap input:focus,
.taxizone-hero-booking .taxizone-field-wrap select:focus{
  border-color:var(--tz-yellow,#f5c400) !important;
  box-shadow:0 0 0 2px rgba(245,196,0,.10) !important;
}
.taxizone-hero-booking .taxizone-field-wrap select{
  appearance:none !important;
  -webkit-appearance:none !important;
  padding-right:38px !important;
}
.taxizone-hero-booking .taxizone-field-wrap:has(select)::after{
  right:15px !important;
}

/* Native date/time controls: keep their browser icons but remove wrapper interference. */
.taxizone-hero-booking .taxizone-field-wrap input[type="date"],
.taxizone-hero-booking .taxizone-field-wrap input[type="time"]{
  color-scheme:dark !important;
}
.taxizone-hero-booking .taxizone-field-wrap input[type="date"]::-webkit-calendar-picker-indicator,
.taxizone-hero-booking .taxizone-field-wrap input[type="time"]::-webkit-calendar-picker-indicator{
  filter:none !important;
  opacity:.95 !important;
  cursor:pointer !important;
}

/* Keep the Google autocomplete list visually tied to the single dark control. */
.taxizone-hero-booking .pac-container{
  z-index:999999 !important;
  background:#090b0d !important;
  color:#fff !important;
  border:1px solid #505257 !important;
  border-radius:0 0 11px 11px !important;
  box-shadow:0 12px 30px rgba(0,0,0,.45) !important;
}
.taxizone-hero-booking .pac-item{
  background:#090b0d !important;
  color:var(--tz-secondary) !important;
  border-top:1px solid #24272a !important;
}
.taxizone-hero-booking .pac-item:hover,
.taxizone-hero-booking .pac-item-selected{
  background:#15181b !important;
}
.taxizone-hero-booking .pac-item-query{color:#fff !important}

/* Prevent long addresses from changing the geometry of the grid. */
.taxizone-hero-booking .taxizone-field-wrap input[type="text"]{
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  white-space:nowrap !important;
}

/* TaxiZone 1.0.7 – strict field alignment / equal box geometry.
 * Keeps every control on the same baseline so the desktop booking form
 * does not look uneven when labels, notes or browser controls differ. */
@media (min-width:1051px){
  .taxizone-hero-booking .taxizone-hero-configured-grid{
    align-items:start !important;
    grid-auto-rows:auto !important;
  }

  .taxizone-hero-booking .taxizone-hero-configured-grid > .tz-field{
    min-width:0 !important;
    box-sizing:border-box !important;
  }

  /* First row: identical label area + identical 58px control. */
  .taxizone-hero-booking .tz-field-from,
  .taxizone-hero-booking .tz-field-to,
  .taxizone-hero-booking .tz-field-date,
  .taxizone-hero-booking .tz-field-time{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    min-height:86px !important;
    margin:0 !important;
  }

  .taxizone-hero-booking .tz-field-from > .taxizone-field-wrap,
  .taxizone-hero-booking .tz-field-to > .taxizone-field-wrap,
  .taxizone-hero-booking .tz-field-date > .taxizone-field-wrap,
  .taxizone-hero-booking .tz-field-time > .taxizone-field-wrap{
    flex:0 0 58px !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
  }

  .taxizone-hero-booking .tz-field-to > .taxizone-vehicle-note{
    min-height:0 !important;
    margin:0 !important;
    line-height:1.1 !important;
  }

  /* Second row: all visible selection controls share the same 80px box. */
  .taxizone-hero-booking .tz-field-vehicle,
  .taxizone-hero-booking .tz-field-passengers,
  .taxizone-hero-booking .tz-field-extras,
  .taxizone-hero-booking .tz-field-price,
  .taxizone-hero-booking .tz-field-submit{
    min-height:105px !important;
    height:105px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }

  .taxizone-hero-booking .tz-field-vehicle{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    grid-template-rows:17px 80px !important;
    gap:8px 12px !important;
    align-items:stretch !important;
  }

  .taxizone-hero-booking .tz-field-vehicle legend{
    grid-column:1 / -1 !important;
    grid-row:1 !important;
    height:17px !important;
    min-height:17px !important;
    margin:0 !important;
    line-height:17px !important;
  }

  .taxizone-hero-booking .tz-field-vehicle .taxizone-vehicle-card{
    height:80px !important;
    min-height:80px !important;
    margin:0 !important;
  }

  .taxizone-hero-booking .tz-field-passengers,
  .taxizone-hero-booking .tz-field-extras{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .taxizone-hero-booking .tz-field-passengers > .taxizone-field-wrap,
  .taxizone-hero-booking .tz-field-extras > .taxizone-extra-dropdown{
    flex:0 0 80px !important;
    height:80px !important;
    min-height:80px !important;
    margin:0 !important;
  }

  .taxizone-hero-booking .tz-field-extras > label{
    flex:0 0 17px !important;
    height:17px !important;
    margin:0 0 8px !important;
    line-height:17px !important;
  }

  .taxizone-hero-booking .tz-field-extras .taxizone-extra-dropdown summary{
    height:80px !important;
    min-height:80px !important;
  }

  .taxizone-hero-booking .tz-field-price{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .taxizone-hero-booking .tz-field-submit{
    align-self:end !important;
    height:80px !important;
    min-height:80px !important;
    margin-top:25px !important;
  }

  /* Customer fields share one baseline and equal input heights. */
  .taxizone-hero-booking .tz-field-name,
  .taxizone-hero-booking .tz-field-phone,
  .taxizone-hero-booking .tz-field-email{
    display:flex !important;
    flex-direction:column !important;
    margin:0 !important;
  }

  .taxizone-hero-booking .tz-field-name > input,
  .taxizone-hero-booking .tz-field-phone > input,
  .taxizone-hero-booking .tz-field-email > input{
    height:58px !important;
    min-height:58px !important;
    margin-top:7px !important;
  }
}


/* =========================================================
   TaxiZone 1.0.9 – CLEAN HERO GRID
   Single authoritative geometry layer for desktop hero.
   Keeps existing logic/settings; presentation only.
   ========================================================= */
@media (min-width:1051px){
  .taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{
    width:100% !important;
    max-width:1500px !important;
    margin:0 auto !important;
    padding:28px !important;
    box-sizing:border-box !important;
  }
  .taxizone-hero-booking .taxizone-hero-configured-grid{
    display:grid !important;
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    grid-auto-rows:auto !important;
    column-gap:18px !important;
    row-gap:18px !important;
    align-items:stretch !important;
    width:100% !important;
  }
  .taxizone-hero-booking .taxizone-hero-configured-grid > .tz-field{
    min-width:0 !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    align-self:stretch !important;
  }
  /* Row 1: equal control geometry */
  .taxizone-hero-booking .tz-field-from{grid-column:1 / span 3 !important;grid-row:1 !important}
  .taxizone-hero-booking .tz-field-to{grid-column:4 / span 3 !important;grid-row:1 !important}
  .taxizone-hero-booking .tz-field-date{grid-column:7 / span 2 !important;grid-row:1 !important}
  .taxizone-hero-booking .tz-field-time{grid-column:9 / span 2 !important;grid-row:1 !important}
  /* Row 2 */
  .taxizone-hero-booking .tz-field-vehicle{grid-column:1 / span 4 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 2 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-extras{grid-column:7 / span 3 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-price{grid-column:10 / span 1 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-submit{grid-column:11 / span 2 !important;grid-row:2 !important}
  /* Row 3 */
  .taxizone-hero-booking .tz-field-name{grid-column:1 / span 4 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-phone{grid-column:5 / span 4 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-email{grid-column:9 / span 4 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-message{grid-column:1 / -1 !important;grid-row:4 !important}

  /* One consistent control height. */
  .taxizone-hero-booking .tz-field > input:not([type=radio]):not([type=checkbox]),
  .taxizone-hero-booking .tz-field > select,
  .taxizone-hero-booking .taxizone-field-wrap,
  .taxizone-hero-booking .taxizone-extra-dropdown summary{
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  .taxizone-hero-booking .tz-field > label,
  .taxizone-hero-booking .tz-field > .taxizone-vehicle-group > legend{
    height:17px !important;
    min-height:17px !important;
    line-height:17px !important;
    margin:0 0 8px !important;
    padding:0 !important;
    box-sizing:border-box !important;
  }
  .taxizone-hero-booking .taxizone-vehicle-group{
    height:83px !important;
    min-height:83px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:12px !important;
    align-items:stretch !important;
  }
  .taxizone-hero-booking .taxizone-vehicle-card{
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  .taxizone-hero-booking .tz-field-price{
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:flex-start !important;
    min-height:83px !important;
    padding:0 0 0 12px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  .taxizone-hero-booking .tz-field-submit{
    height:58px !important;
    min-height:58px !important;
    margin:25px 0 0 !important;
    align-self:start !important;
  }
  .taxizone-hero-booking .tz-field-message > textarea{
    width:100% !important;
    min-height:58px !important;
    margin:0 !important;
    box-sizing:border-box !important;
  }
  .taxizone-hero-booking .tz-field-name,
  .taxizone-hero-booking .tz-field-phone,
  .taxizone-hero-booking .tz-field-email{
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }
}


/* TaxiZone 1.0.16 – campaign field + independent ad slider */
@media(min-width:1051px){
 .taxizone-hero-booking .tz-field-discount{grid-column:11 / span 2 !important;grid-row:1 !important;}
 .taxizone-hero-booking .tz-field-date{grid-column:7 / span 2 !important;}
 .taxizone-hero-booking .tz-field-time{grid-column:9 / span 2 !important;}
 .taxizone-hero-booking .tz-field-vehicle{grid-column:1 / span 4 !important;grid-row:2 !important;}
 .taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 2 !important;grid-row:2 !important;}
 .taxizone-hero-booking .tz-field-extras{grid-column:7 / span 3 !important;grid-row:2 !important;}
 .taxizone-hero-booking .tz-field-price{grid-column:10 / span 1 !important;grid-row:2 !important;}
 .taxizone-hero-booking .tz-field-submit{grid-column:11 / span 2 !important;grid-row:2 !important;}
}
.taxizone-ads{width:100%;max-width:1500px;margin:22px auto 0;position:relative;overflow:hidden;border:1px solid rgba(245,196,0,.35);border-radius:16px;background:#090b0d;min-height:150px;box-sizing:border-box}
.taxizone-ad-slide{position:absolute;inset:0;opacity:0;transition:opacity .8s ease;pointer-events:none}
.taxizone-ad-slide.is-active{position:relative;opacity:1;pointer-events:auto}
.taxizone-ad-slide img{display:block;width:100%;height:auto;max-height:420px;object-fit:contain;object-position:center;background:#090b0d;margin:0 auto;image-rendering:auto}
@media(max-width:760px){.taxizone-ads{margin-top:18px;border-radius:12px;min-height:100px}.taxizone-ad-slide img{max-height:220px}}

/* TaxiZone 1.0.17 – clean booking icon and non-pixelated ads. */
.taxizone-book-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;}
.taxizone-book-icon{display:inline-flex!important;width:20px!important;height:20px!important;align-items:center!important;justify-content:center!important;}
.taxizone-book-icon svg{width:20px!important;height:20px!important;display:block!important;fill:none!important;stroke:currentColor!important;stroke-width:1.8!important;stroke-linecap:round!important;stroke-linejoin:round!important;}
.taxizone-ads{min-height:0!important;}
.taxizone-ad-slide{background:#090b0d!important;}
.taxizone-ad-slide img{max-width:100%!important;}

/* =========================================================
   TaxiZone 1.0.19 – Flygtaxi UI aligned with main booking
   ========================================================= */
.taxizone-flygtaxi-wrap{width:100%!important;max-width:100%!important;margin:0 auto!important;color:#fff!important}
.taxizone-flygtaxi-form{width:100%!important;max-width:100%!important;box-sizing:border-box!important;padding:28px!important;background:#050607!important;border:1px solid #202428!important;border-radius:16px!important;box-shadow:0 12px 35px rgba(0,0,0,.25)!important;color:#fff!important}
.taxizone-flygtaxi-form .taxizone-fly-header{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-bottom:18px!important}
.taxizone-flygtaxi-form .taxizone-fly-header h2{margin:2px 0 0!important;color:#fff!important;font-size:28px!important}
.taxizone-fly-eyebrow{display:block!important;color:#F5C400!important;font-size:12px!important;font-weight:800!important;letter-spacing:.12em!important}
.taxizone-fly-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;border:1px solid #F5C400!important;border-radius:12px!important;color:#F5C400!important;font-size:22px!important}
.taxizone-flight-direction{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;margin:0 0 22px!important;padding:5px!important;border:1px solid #292d31!important;border-radius:10px!important;background:#0B0D0F!important}
.taxizone-flight-direction legend{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important}
.taxizone-flight-tab{display:flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;margin:0!important;padding:8px!important;border-radius:7px!important;color:#c8cbd0!important;font-weight:700!important;cursor:pointer!important}
.taxizone-flight-tab input{position:absolute!important;opacity:0!important;pointer-events:none!important}
.taxizone-flight-tab:has(input:checked){background:#F5C400!important;color:#111!important}
.taxizone-flight-grid{display:grid!important;grid-template-columns:2.2fr 2.2fr 1.2fr 1.2fr 1.5fr!important;gap:14px!important;align-items:end!important}
.taxizone-flygtaxi-form .tz-field{display:block!important;margin:0!important;color:#fff!important;font-weight:700!important}
.taxizone-flygtaxi-form .tz-field>span:first-child{display:block!important;margin-bottom:7px!important;font-size:12px!important;letter-spacing:.04em!important}
.taxizone-flygtaxi-form .tz-field small{color:#9a9da2!important;font-weight:600!important}
.taxizone-flygtaxi-form .taxizone-field-wrap{position:relative!important;display:block!important}
.taxizone-flygtaxi-form .taxizone-field-wrap .taxizone-pin,.taxizone-flygtaxi-form .taxizone-field-wrap .taxizone-icon{position:absolute!important;left:13px!important;top:50%!important;transform:translateY(-50%)!important;color:#F5C400!important;z-index:2!important}
.taxizone-flygtaxi-form input:not([type=checkbox]):not([type=radio]),.taxizone-flygtaxi-form select,.taxizone-flygtaxi-form textarea{width:100%!important;box-sizing:border-box!important;background:#0B0D0F!important;color:#fff!important;border:1px solid #34383d!important;border-radius:10px!important;min-height:52px!important;padding:13px 14px!important;font:inherit!important;margin:0!important}
.taxizone-flygtaxi-form .taxizone-field-wrap input,.taxizone-flygtaxi-form .taxizone-field-wrap select{padding-left:40px!important}
.taxizone-flygtaxi-form input:focus,.taxizone-flygtaxi-form select:focus,.taxizone-flygtaxi-form textarea:focus{border-color:#F5C400!important;box-shadow:0 0 0 2px rgba(245,196,0,.14)!important;outline:none!important}
.taxizone-flight-second-row{display:grid!important;grid-template-columns:2.2fr 1fr 1.6fr 1fr 1.25fr!important;gap:14px!important;align-items:end!important;margin-top:18px!important}
.taxizone-flygtaxi-form .taxizone-vehicle-group{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0!important;margin:0!important;padding:0!important;border:1px solid #34383d!important;border-radius:10px!important;overflow:hidden!important;background:#0B0D0F!important}
.taxizone-flygtaxi-form .taxizone-vehicle-group legend{grid-column:1/-1!important;margin:0 0 7px!important;padding:0!important;border:0!important;color:#fff!important;font-size:12px!important}
.taxizone-flygtaxi-form .taxizone-vehicle-card{display:flex!important;align-items:center!important;gap:10px!important;min-height:52px!important;margin:0!important;padding:8px 12px!important;border:0!important;border-right:1px solid #34383d!important;border-radius:0!important;background:#0B0D0F!important;color:#fff!important;cursor:pointer!important}
.taxizone-flygtaxi-form .taxizone-vehicle-card:last-child{border-right:0!important}
.taxizone-flygtaxi-form .taxizone-vehicle-card input{position:absolute!important;opacity:0!important}
.taxizone-flygtaxi-form .taxizone-vehicle-card.active{box-shadow:inset 0 0 0 2px #F5C400!important}
.taxizone-flygtaxi-form .taxizone-car-icon{font-size:21px!important}
.taxizone-flygtaxi-form .taxizone-vehicle-card strong,.taxizone-flygtaxi-form .taxizone-vehicle-card small{display:block!important}
.taxizone-flygtaxi-form .taxizone-vehicle-card strong{font-size:13px!important}
.taxizone-flygtaxi-form .taxizone-vehicle-card small{font-size:10px!important;margin-top:2px!important}
.taxizone-flygtaxi-form .taxizone-extra-dropdown{position:relative!important;border:1px solid #34383d!important;border-radius:10px!important;background:#0B0D0F!important;min-height:52px!important}
.taxizone-flygtaxi-form .taxizone-extra-dropdown summary{display:flex!important;align-items:center!important;justify-content:space-between!important;min-height:52px!important;padding:0 14px!important;color:#fff!important;cursor:pointer!important;list-style:none!important}
.taxizone-flygtaxi-form .taxizone-extra-menu{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 6px)!important;z-index:50!important;padding:8px!important;border:1px solid #34383d!important;border-radius:10px!important;background:#0B0D0F!important;box-shadow:0 12px 30px rgba(0,0,0,.45)!important}
.taxizone-flygtaxi-form .taxizone-extra-option{display:flex!important;align-items:center!important;gap:8px!important;padding:9px!important;color:#fff!important;margin:0!important;font-weight:600!important}
.taxizone-flygtaxi-form .taxizone-extra-option input{width:auto!important;min-height:0!important}
.taxizone-flygtaxi-form .taxizone-extra-option small{margin-left:auto!important}
.taxizone-flygtaxi-form .taxizone-price-panel{display:flex!important;flex-direction:column!important;justify-content:center!important;min-height:52px!important;padding:9px 14px!important;box-sizing:border-box!important;border:1px solid #34383d!important;border-radius:10px!important;background:#0B0D0F!important}
.taxizone-flygtaxi-form .taxizone-price-panel span{margin:0!important;font-size:11px!important;color:#fff!important}
.taxizone-flygtaxi-form .taxizone-price-panel strong{font-size:24px!important;line-height:1.05!important;color:#F5C400!important}
.taxizone-flygtaxi-form .taxizone-price-panel small{font-size:9px!important;margin-top:3px!important}
.taxizone-flygtaxi-form .taxizone-book-button{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:72px!important;border:0!important;border-radius:10px!important;background:#F5C400!important;color:#111!important;font-size:15px!important;font-weight:900!important;cursor:pointer!important}
.taxizone-flygtaxi-form .taxizone-book-icon svg{width:19px!important;height:19px!important;fill:none!important;stroke:#111!important;stroke-width:2!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.taxizone-flight-message{margin-top:20px!important}
.taxizone-flygtaxi-form .taxizone-message-help{display:block!important;margin-top:6px!important;font-size:11px!important;color:#9a9da2!important}
.taxizone-contact-grid{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:14px!important;margin-top:18px!important}
@media(max-width:1000px){.taxizone-flight-grid{grid-template-columns:1fr 1fr!important}.taxizone-flight-second-row{grid-template-columns:1.7fr 1fr 1.4fr!important}.tz-flight-price{grid-column:2!important}.tz-flight-submit{grid-column:3!important}}
@media(max-width:700px){.taxizone-flygtaxi-form{padding:18px!important}.taxizone-flight-grid,.taxizone-flight-second-row,.taxizone-contact-grid{grid-template-columns:1fr!important}.tz-flight-price,.tz-flight-submit{grid-column:auto!important}.taxizone-flight-direction{grid-template-columns:1fr!important}.taxizone-flygtaxi-form .taxizone-vehicle-group{grid-template-columns:1fr 1fr!important}}

/* TaxiZone modern booking UI v1.1 - mobile first */
.taxizone-hero-booking{width:100%;margin:0;padding:0;background:var(--tz-bg,#050607);color:var(--tz-text,#fff);box-sizing:border-box;overflow:hidden}
.taxizone-hero-booking *{box-sizing:border-box}
.taxizone-hero-inner{display:none}
.tz-booking-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 12px 0;background:var(--tz-panel,#0b0d0f)}
.tz-booking-tab{appearance:none;border:1px solid rgba(255,255,255,.12);background:#14181c;color:var(--tz-secondary,#9a9da2);min-height:48px;border-radius:12px 12px 0 0;font-weight:800;letter-spacing:.03em;cursor:pointer}
.tz-booking-tab.is-active{background:var(--tz-yellow,#f5c400);color:#111;border-color:var(--tz-yellow,#f5c400)}
.tz-booking-mode-note{padding:10px 14px 0;background:var(--tz-panel,#0b0d0f);color:var(--tz-secondary,#9a9da2);font-size:13px}
.taxizone-hero-form{display:grid!important;grid-template-columns:1fr;gap:14px;padding:14px;background:var(--tz-panel,#0b0d0f);margin:0!important}
.taxizone-hero-configured-grid{display:grid;grid-template-columns:1fr;gap:14px;min-width:0}
.taxizone-hero-form .tz-field{min-width:0;margin:0!important}
.taxizone-hero-form .tz-field-wrap,.taxizone-hero-form input,.taxizone-hero-form select,.taxizone-hero-form textarea,.taxizone-hero-form .taxizone-extra-dropdown{width:100%;min-width:0}
.taxizone-hero-form input,.taxizone-hero-form select,.taxizone-hero-form textarea,.taxizone-extra-dropdown summary{min-height:50px;border-radius:10px!important;background:#090c10!important;color:#fff!important;border:1px solid #3d454e!important;padding:12px 14px!important}
.taxizone-hero-form input::placeholder,.taxizone-hero-form textarea::placeholder{color:var(--tz-secondary,#9a9da2)!important;opacity:1}
.taxizone-hero-form input:focus,.taxizone-hero-form select:focus,.taxizone-hero-form textarea:focus{outline:2px solid var(--tz-yellow,#f5c400);outline-offset:0}
.taxizone-hero-form .taxizone-field-wrap{display:block!important;position:relative}
.taxizone-hero-form .taxizone-pin,.taxizone-hero-form .taxizone-icon{display:none!important}
.taxizone-vehicle-group{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0;padding:0;margin:0!important;min-width:0}
.taxizone-vehicle-group legend{grid-column:1/-1;color:var(--tz-text,#fff);font-weight:800;padding:0}
.taxizone-vehicle-card{min-width:0!important;min-height:72px!important;border:1px solid #3d454e!important;background:#090c10!important;border-radius:10px!important;color:#fff!important;padding:12px!important;display:flex!important;align-items:center!important;gap:10px!important}
.taxizone-vehicle-card.active{border-color:var(--tz-yellow,#f5c400)!important;box-shadow:inset 0 0 0 1px var(--tz-yellow,#f5c400)}
.taxizone-car-icon{font-size:0!important}.taxizone-car-icon:before{content:'BIL';font-size:12px;font-weight:800;color:var(--tz-yellow,#f5c400)}
.taxizone-price-panel{background:#090c10;border:1px solid #3d454e;border-radius:10px;padding:14px;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.taxizone-price-panel strong{font-size:30px;line-height:1.1;color:var(--tz-yellow,#f5c400)}.taxizone-price-note{color:var(--tz-secondary,#9a9da2)!important;margin-top:4px}
.taxizone-book-button{width:100%!important;min-height:54px!important;border:0!important;border-radius:10px!important;background:var(--tz-yellow,#f5c400)!important;color:#111!important;font-weight:900!important;cursor:pointer}
.taxizone-book-icon{display:none!important}
.tz-flight-panel[hidden],.tz-booking-mode-note[hidden],.tz-company-price-note[hidden]{display:none!important}
.tz-flight-panel .taxizone-taxi-wrap{margin:0!important;width:100%!important}
.tz-flight-panel .taxizone-flygtaxi-wrap{background:var(--tz-panel,#0b0d0f)!important;border:0!important;border-radius:0!important}
.tz-flight-panel .taxizone-fly-header{display:none!important}
.taxizone-hero-booking .taxizone-ads{margin:0!important}
@media(min-width:768px){
 .taxizone-hero-booking{max-width:100%;}
 .taxizone-hero-form{padding:18px 20px!important}
 .taxizone-hero-configured-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:14px 16px}
 .tz-field-from{grid-column:span 4}.tz-field-to{grid-column:span 4}.tz-field-date{grid-column:span 2}.tz-field-time{grid-column:span 2}
 .tz-field-vehicle{grid-column:span 4}.tz-field-passengers{grid-column:span 2}.tz-field-extras{grid-column:span 3}.tz-field-price{grid-column:span 3}.tz-field-name{grid-column:span 4}.tz-field-phone{grid-column:span 4}.tz-field-email{grid-column:span 4}.tz-field-message{grid-column:span 8}.tz-field-submit{grid-column:span 4;align-self:end}
}
@media(max-width:767px){.tz-booking-tabs{grid-template-columns:1fr 1fr 1fr;gap:5px;padding:8px 8px 0}.tz-booking-tab{min-height:44px;font-size:12px}.taxizone-vehicle-group{grid-template-columns:1fr}.taxizone-hero-form{padding:12px!important}.taxizone-hero-configured-grid{gap:12px}}

/* TaxiZone 1.1.2: one shared field per From/To slot. Hidden flight controls must not create extra rows. */
.taxizone-hero-booking [hidden]{display:none !important;}
.taxizone-hero-booking .tz-flight-from-wrap[hidden],
.taxizone-hero-booking .tz-flight-to-wrap[hidden],
.taxizone-hero-booking .tz-flight-label[hidden],
.taxizone-hero-booking .tz-normal-label[hidden]{display:none !important;}

/* TaxiZone 1.1.1: unified booking form. Keeps the existing hero layout intact. */
.taxizone-hero-booking .tz-flight-direction{grid-column:1/-1;display:flex;gap:8px;margin:0 0 4px;padding:0;border:0}
.taxizone-hero-booking .tz-flight-direction[hidden]{display:none!important}
.taxizone-hero-booking .tz-flight-direction button{appearance:none;border:1px solid #343a40;background:var(--tz-panel,#0b0d0f);color:var(--tz-secondary,#9a9da2);border-radius:10px;padding:10px 16px;font-weight:800;cursor:pointer}
.taxizone-hero-booking .tz-flight-direction button.is-active{background:var(--tz-yellow,#f5c400);border-color:var(--tz-yellow,#f5c400);color:#111}
.taxizone-hero-booking .tz-flight-from-wrap select,.taxizone-hero-booking .tz-flight-to-wrap select{width:100%;height:100%;min-height:48px;background:transparent;border:0;color:inherit;outline:0;font:inherit;padding:0 12px;box-sizing:border-box}
.taxizone-hero-booking .tz-flight-from-wrap,.taxizone-hero-booking .tz-flight-to-wrap{min-height:48px}
.taxizone-hero-booking .tz-flight-label{display:inline-block}
@media(max-width:767px){
 .taxizone-hero-booking .tz-flight-direction{overflow-x:auto;white-space:nowrap}
 .taxizone-hero-booking .tz-flight-direction button{flex:1 0 auto;min-height:44px}
 .taxizone-hero-booking .tz-flight-from-wrap select,.taxizone-hero-booking .tz-flight-to-wrap select{min-height:52px}
}


/* TaxiZone 1.1.3 – Unified visual controls
   The design remains unchanged; this block only makes the saved panel/background
   colors authoritative, enlarges the desktop hero image slightly, and hides the
   decorative hero area on mobile so only the booking box remains. */
.taxizone-hero-booking{
  background:var(--tz-bg,#fff) !important;
  color:var(--tz-text,#111) !important;
}
.taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{
  background:var(--tz-panel,#0B0D0F) !important;
  background-color:var(--tz-panel,#0B0D0F) !important;
  border-color:var(--tz-yellow,#F5C400) !important;
}
.taxizone-hero-booking .taxizone-car-image,
.taxizone-hero-booking .taxizone-car{
  max-width:900px !important;
  max-height:390px !important;
}
.taxizone-hero-booking .taxizone-hero-visual{
  width:59% !important;
  height:390px !important;
}
.taxizone-hero-booking .taxizone-city-glow{
  right:7% !important;
  width:72% !important;
}
@media(max-width:1050px){
  .taxizone-hero-booking .taxizone-hero-visual{
    width:62% !important;
    height:350px !important;
  }
  .taxizone-hero-booking .taxizone-car-image,
  .taxizone-hero-booking .taxizone-car{
    max-width:820px !important;
    max-height:350px !important;
  }
}
@media(max-width:760px){
  /* Mobile: keep only the booking component; no desktop hero/image/text. */
  .taxizone-hero-booking .taxizone-hero-inner{
    display:none !important;
  }
  .taxizone-hero-booking .taxizone-hero-visual,
  .taxizone-hero-booking .taxizone-hero-copy{
    display:none !important;
  }
  .taxizone-hero-booking{
    padding:0 !important;
    background:var(--tz-bg,#fff) !important;
  }
  .taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{
    border-radius:16px !important;
    width:100% !important;
    max-width:none !important;
  }
}
/* Native WordPress color controls in the TaxiZone editor. */
.taxizone-admin-editor input[type=color]{
  display:block;
  width:64px !important;
  height:42px !important;
  padding:3px !important;
  margin-top:6px !important;
  border:1px solid #48505a !important;
  border-radius:8px !important;
  background:#080b0e !important;
  cursor:pointer !important;
}

/* TaxiZone 1.1.4 – emergency layout repair
   Restores the locked desktop hero while keeping the unified form.
   Mobile remains form-only. */
.taxizone-hero-booking{
  width:100% !important;
  margin:0 !important;
  background:var(--tz-bg,#fff) !important;
  color:var(--tz-text,#fff) !important;
  overflow:hidden !important;
}
.taxizone-hero-booking .taxizone-hero-inner{
  display:flex !important;
  max-width:1500px !important;
  min-height:330px !important;
  margin:0 auto !important;
  position:relative !important;
  align-items:center !important;
}
.taxizone-hero-booking .taxizone-hero-copy{
  display:block !important;
  position:relative !important;
  z-index:2 !important;
  width:56% !important;
  padding:20px 0 35px !important;
}
.taxizone-hero-booking .taxizone-hero-visual{
  display:flex !important;
  position:absolute !important;
  right:-4% !important;
  bottom:-3px !important;
  width:59% !important;
  height:390px !important;
  align-items:flex-end !important;
  justify-content:flex-end !important;
  z-index:1 !important;
}
.taxizone-hero-booking .taxizone-car-image,
.taxizone-hero-booking .taxizone-car{
  display:block !important;
  width:100% !important;
  max-width:900px !important;
  max-height:390px !important;
  height:auto !important;
}
.taxizone-hero-booking .tz-booking-tabs{
  position:relative !important;
  z-index:6 !important;
  max-width:1500px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:grid !important;
  grid-template-columns:repeat(3,1fr) !important;
  gap:8px !important;
  background:transparent !important;
}
.taxizone-hero-booking .tz-booking-tab{
  min-height:52px !important;
  border:1px solid #343a40 !important;
  border-bottom:0 !important;
  border-radius:12px 12px 0 0 !important;
  background:var(--tz-panel,#0b0d0f) !important;
  color:#fff !important;
}
.taxizone-hero-booking .tz-booking-tab.is-active{
  background:var(--tz-yellow,#f5c400) !important;
  color:#111 !important;
  border-color:var(--tz-yellow,#f5c400) !important;
}
.taxizone-hero-booking .tz-booking-mode-note{
  display:none !important;
}
.taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{
  display:block !important;
  width:100% !important;
  max-width:1500px !important;
  margin:0 auto !important;
  padding:28px !important;
  background:var(--tz-panel,#0b0d0f) !important;
  background-color:var(--tz-panel,#0b0d0f) !important;
  color:#fff !important;
  border:1px solid rgba(245,196,0,.55) !important;
  border-top:0 !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 18px 42px rgba(0,0,0,.20) !important;
}
.taxizone-hero-booking .taxizone-hero-form .tz-field,
.taxizone-hero-booking .taxizone-hero-form .tz-field > label,
.taxizone-hero-booking .taxizone-hero-form .tz-field > legend,
.taxizone-hero-booking .taxizone-hero-form .taxizone-vehicle-group legend{
  color:#fff !important;
}
.taxizone-hero-booking .taxizone-hero-form .tz-field > label,
.taxizone-hero-booking .taxizone-hero-form .tz-field > legend,
.taxizone-hero-booking .taxizone-hero-form .taxizone-vehicle-group legend{
  font-weight:800 !important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid{
  display:grid !important;
  width:100% !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  gap:18px !important;
  align-items:end !important;
}
.taxizone-hero-booking .tz-field-from{grid-column:1 / span 3 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-to{grid-column:4 / span 3 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-date{grid-column:7 / span 2 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-time{grid-column:9 / span 2 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-discount{grid-column:11 / span 2 !important;grid-row:1 !important}
.taxizone-hero-booking .tz-field-vehicle{grid-column:1 / span 4 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 2 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-extras{grid-column:7 / span 3 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-price{grid-column:10 / span 1 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-submit{grid-column:11 / span 2 !important;grid-row:2 !important}
.taxizone-hero-booking .tz-field-name{grid-column:1 / span 4 !important;grid-row:3 !important}
.taxizone-hero-booking .tz-field-phone{grid-column:5 / span 4 !important;grid-row:3 !important}
.taxizone-hero-booking .tz-field-email{grid-column:9 / span 4 !important;grid-row:3 !important}
.taxizone-hero-booking .tz-field-message{grid-column:1 / span 12 !important;grid-row:4 !important}

/* Remove the accidental light wrapper around the actual fields. */
.taxizone-hero-booking .taxizone-hero-form .taxizone-field-wrap,
.taxizone-hero-booking .taxizone-hero-form input,
.taxizone-hero-booking .taxizone-hero-form select,
.taxizone-hero-booking .taxizone-hero-form textarea{
  background:#090c10 !important;
  color:#fff !important;
  border-color:#3d454e !important;
}
.taxizone-hero-booking .taxizone-hero-form input::placeholder,
.taxizone-hero-booking .taxizone-hero-form textarea::placeholder{color:#9a9da2 !important;opacity:1 !important}

@media(max-width:1050px) and (min-width:768px){
  .taxizone-hero-booking .taxizone-hero-inner{min-height:300px !important}
  .taxizone-hero-booking .taxizone-hero-copy{width:62% !important}
  .taxizone-hero-booking .taxizone-hero-visual{width:62% !important;height:350px !important}
  .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:repeat(6,minmax(0,1fr)) !important}
  .taxizone-hero-booking .tz-field-from{grid-column:1 / span 2 !important}
  .taxizone-hero-booking .tz-field-to{grid-column:3 / span 2 !important}
  .taxizone-hero-booking .tz-field-date{grid-column:5 / span 1 !important}
  .taxizone-hero-booking .tz-field-time{grid-column:6 / span 1 !important}
  .taxizone-hero-booking .tz-field-discount{grid-column:1 / span 2 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-vehicle{grid-column:3 / span 2 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 1 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-extras{grid-column:6 / span 1 !important;grid-row:2 !important}
  .taxizone-hero-booking .tz-field-price{grid-column:1 / span 2 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-submit{grid-column:3 / span 2 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-name{grid-column:5 / span 2 !important;grid-row:3 !important}
  .taxizone-hero-booking .tz-field-phone{grid-column:1 / span 3 !important;grid-row:4 !important}
  .taxizone-hero-booking .tz-field-email{grid-column:4 / span 3 !important;grid-row:4 !important}
  .taxizone-hero-booking .tz-field-message{grid-column:1 / span 6 !important;grid-row:5 !important}
}
@media(max-width:767px){
  .taxizone-hero-booking .taxizone-hero-inner,
  .taxizone-hero-booking .taxizone-hero-copy,
  .taxizone-hero-booking .taxizone-hero-visual{display:none !important}
  .taxizone-hero-booking .tz-booking-tabs{grid-template-columns:repeat(3,1fr) !important;gap:5px !important;padding:8px 8px 0 !important;background:var(--tz-panel,#0b0d0f) !important}
  .taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{padding:14px !important;border-radius:0 !important;border-top:0 !important}
  .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:1fr !important;gap:12px !important}
  .taxizone-hero-booking .taxizone-hero-configured-grid>.tz-field{grid-column:1/-1 !important;grid-row:auto !important}
}

/* TaxiZone 1.1.6 — locked approved booking UI */
.taxizone-hero-booking{background:var(--tz-yellow,#F5C400)!important;color:#111!important;margin:0!important;padding:0!important;}
.taxizone-hero-booking .taxizone-hero-inner{background:transparent!important;}
.taxizone-hero-booking .taxizone-hero-visual{transform:scale(1.08);transform-origin:center bottom;}
.taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{background:#fff!important;background-color:#fff!important;color:#111!important;border:1px solid rgba(0,0,0,.10)!important;border-top:0!important;box-shadow:0 18px 42px rgba(0,0,0,.14)!important;}
.taxizone-hero-booking .tz-booking-tabs{background:#111!important;border-radius:18px 18px 0 0!important;overflow:hidden;}
.taxizone-hero-booking .tz-booking-tab{background:#111!important;color:#fff!important;border-color:#111!important;border-radius:0!important;}
.taxizone-hero-booking .tz-booking-tab.is-active{background:var(--tz-yellow,#F5C400)!important;color:#111!important;border-color:var(--tz-yellow,#F5C400)!important;}
.taxizone-hero-booking .tz-booking-mode-note{display:block!important;background:#111!important;color:#fff!important;text-align:left!important;font-weight:800!important;padding:10px 20px!important;margin:0!important;}
.taxizone-hero-booking .tz-booking-mode-note[hidden]{display:none!important;}
.taxizone-hero-booking .taxizone-hero-form .tz-field,
.taxizone-hero-booking .taxizone-hero-form .tz-field>legend{color:#111!important;}
.taxizone-hero-booking .taxizone-hero-form .taxizone-field-wrap,
.taxizone-hero-booking .taxizone-hero-form input,
.taxizone-hero-booking .taxizone-hero-form select,
.taxizone-hero-booking .taxizone-hero-form textarea{background:#fff!important;color:#111!important;border-color:#cfd3d8!important;}
.taxizone-hero-booking .taxizone-hero-form input::placeholder,
.taxizone-hero-booking .taxizone-hero-form textarea::placeholder{color:var(--tz-secondary,#7a7f86)!important;}
.taxizone-hero-booking .tz-booking-price-bottom{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;margin-top:18px!important;padding-top:18px!important;border-top:1px solid #e5e7ea!important;}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price{grid-column:auto!important;grid-row:auto!important;background:#fff!important;color:#111!important;border:0!important;box-shadow:none!important;padding:0!important;text-align:center!important;}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price>span{display:block!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em!important;color:#6d737a!important;}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price strong{display:block!important;font-size:34px!important;line-height:1.05!important;color:#111!important;margin:5px 0!important;}
.taxizone-hero-booking .tz-booking-price-bottom .taxizone-price-note{display:block!important;color:var(--tz-secondary,#7a7f86)!important;font-size:12px!important;}
.taxizone-hero-booking .tz-booking-price-bottom .taxizone-price-tax{display:block!important;color:#7a7f86!important;font-size:10px!important;font-weight:800!important;letter-spacing:.08em!important;}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-submit{grid-column:auto!important;grid-row:auto!important;width:100%!important;min-height:54px!important;background:var(--tz-yellow,#F5C400)!important;color:#111!important;border:0!important;border-radius:10px!important;box-shadow:none!important;}
.taxizone-hero-booking .taxizone-car-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:10px!important;background:#111!important;color:#fff!important;font-size:10px!important;font-weight:900!important;}
@media(max-width:767px){
 .taxizone-hero-booking .taxizone-hero-inner{display:none!important;}
 .taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{padding:14px!important;border-radius:0!important;}
 .taxizone-hero-booking .tz-booking-tabs{border-radius:0!important;}
 .taxizone-hero-booking .tz-booking-mode-note{padding:9px 14px!important;font-size:13px!important;}
 .taxizone-hero-booking .tz-booking-price-bottom{margin-top:14px!important;padding-top:14px!important;}
}


/* =========================================================
   TaxiZone 1.1.7 — APPROVED MASTER UI
   Single unified booking form: PRIVAT / FLYG / FÖRETAG.
   Desktop: black hero + white booking panel.
   Mobile: booking panel only.
   Presentation only; pricing/route logic remains unchanged.
   ========================================================= */
.taxizone-hero-booking{
  --tz-yellow:#F5C400;
  --tz-bg:#050607;
  --tz-panel:#FFFFFF;
  --tz-text:#FFFFFF;
  --tz-secondary:#72777d;
  position:relative!important;
  overflow:hidden!important;
  background:var(--tz-bg,#050607)!important;
  color:var(--tz-text,#fff)!important;
  margin:0!important;
  padding:42px clamp(16px,3vw,44px) 24px!important;
  border-radius:0!important;
  font-family:Arial,Helvetica,sans-serif!important;
}
.taxizone-hero-booking .taxizone-hero-inner{
  max-width:1500px!important;
  min-height:300px!important;
  margin:0 auto!important;
  position:relative!important;
  display:flex!important;
  align-items:center!important;
}
.taxizone-hero-booking .taxizone-hero-copy{width:55%!important;padding:10px 0 55px!important;z-index:2!important}
.taxizone-hero-booking .taxizone-eyebrow{color:var(--tz-yellow)!important;font-weight:800!important;letter-spacing:.16em!important;font-size:14px!important;margin-bottom:12px!important}
.taxizone-hero-booking .taxizone-hero-copy h1{margin:0!important;color:#fff!important;font-size:clamp(42px,5.4vw,82px)!important;line-height:.96!important;letter-spacing:-.045em!important;font-weight:900!important}
.taxizone-hero-booking .taxizone-hero-copy h1 span{color:var(--tz-yellow)!important}
.taxizone-hero-booking .taxizone-hero-copy p{font-size:clamp(16px,1.5vw,23px)!important;color:#fff!important;margin:22px 0 0!important}
.taxizone-hero-booking .taxizone-hero-visual{position:absolute!important;right:-4%!important;bottom:-4px!important;width:61%!important;height:350px!important;display:flex!important;align-items:flex-end!important;justify-content:flex-end!important;z-index:1!important}
.taxizone-hero-booking .taxizone-car-image,.taxizone-hero-booking .taxizone-car{display:block!important;width:100%!important;max-width:900px!important;max-height:390px!important;height:auto!important;object-fit:contain!important;object-position:right bottom!important;filter:drop-shadow(0 25px 28px rgba(0,0,0,.8))!important}
.taxizone-hero-booking .taxizone-city-glow{background:radial-gradient(ellipse at center,rgba(245,196,0,.18),transparent 68%)!important}

.taxizone-hero-booking .tz-booking-tabs{
  max-width:1500px!important;margin:0 auto!important;padding:0 10px!important;
  display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;
  background:transparent!important;position:relative!important;z-index:8!important;
}
.taxizone-hero-booking .tz-booking-tab{
  min-height:68px!important;padding:10px 16px!important;border:1px solid #d8dce0!important;border-radius:12px 12px 0 0!important;
  background:#111!important;color:#fff!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:3px!important;
  font-weight:900!important;cursor:pointer!important;box-shadow:none!important;line-height:1!important;
}
.taxizone-hero-booking .tz-booking-tab .tz-tab-title{font-size:16px!important;letter-spacing:.02em!important}
.taxizone-hero-booking .tz-booking-tab small{font-size:11px!important;font-weight:600!important;opacity:.75!important;color:inherit!important}
.taxizone-hero-booking .tz-booking-tab.is-active{background:var(--tz-yellow)!important;color:#111!important;border-color:var(--tz-yellow)!important}
.taxizone-hero-booking .tz-booking-mode-note{display:none!important}

.taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{
  width:100%!important;max-width:1500px!important;margin:0 auto!important;padding:28px!important;
  background:var(--tz-panel,#fff)!important;color:#111!important;border:1px solid #d9dde1!important;border-top:0!important;border-radius:0 0 18px 18px!important;
  box-shadow:0 18px 45px rgba(0,0,0,.18)!important;box-sizing:border-box!important;
}
.taxizone-hero-booking .taxizone-hero-configured-grid{
  display:grid!important;grid-template-columns:repeat(12,minmax(0,1fr))!important;gap:18px!important;align-items:end!important;width:100%!important;
}
.taxizone-hero-booking .tz-field{min-width:0!important;max-width:100%!important;box-sizing:border-box!important;color:#111!important}
.taxizone-hero-booking .tz-field>label,.taxizone-hero-booking .tz-field>legend,.taxizone-hero-booking .taxizone-vehicle-group legend{color:#111!important;font-weight:800!important}
.taxizone-hero-booking .tz-field-from{grid-column:1/span 3!important;grid-row:1!important}
.taxizone-hero-booking .tz-field-to{grid-column:4/span 3!important;grid-row:1!important}
.taxizone-hero-booking .tz-field-date{grid-column:7/span 2!important;grid-row:1!important}
.taxizone-hero-booking .tz-field-time{grid-column:9/span 2!important;grid-row:1!important}
.taxizone-hero-booking .tz-field-discount{grid-column:11/span 2!important;grid-row:1!important}
.taxizone-hero-booking .tz-field-vehicle{grid-column:1/span 4!important;grid-row:2!important}
.taxizone-hero-booking .tz-field-passengers{grid-column:5/span 3!important;grid-row:2!important}
.taxizone-hero-booking .tz-field-extras{grid-column:8/span 4!important;grid-row:2!important}
.taxizone-hero-booking .tz-field-name{grid-column:1/span 4!important;grid-row:3!important}
.taxizone-hero-booking .tz-field-phone{grid-column:5/span 4!important;grid-row:3!important}
.taxizone-hero-booking .tz-field-email{grid-column:9/span 4!important;grid-row:3!important}
.taxizone-hero-booking .tz-field-message{grid-column:1/span 12!important;grid-row:4!important}
.taxizone-hero-booking .tz-field label,.taxizone-hero-booking .tz-field>label{display:block!important;margin:0 0 8px!important}
.taxizone-hero-booking .taxizone-field-wrap{
  height:58px!important;min-height:58px!important;width:100%!important;display:flex!important;align-items:center!important;box-sizing:border-box!important;
  background:#fff!important;border:1px solid #cfd4d9!important;border-radius:10px!important;padding:0 14px!important;overflow:hidden!important;
}
.taxizone-hero-booking .taxizone-field-wrap input,.taxizone-hero-booking .taxizone-field-wrap select{
  width:100%!important;height:100%!important;border:0!important;background:transparent!important;color:#111!important;box-shadow:none!important;outline:0!important;padding:0!important;font-size:15px!important;
}
.taxizone-hero-booking .tz-field>input:not([type=radio]):not([type=checkbox]),.taxizone-hero-booking .tz-field>textarea{
  width:100%!important;box-sizing:border-box!important;background:#fff!important;color:#111!important;border:1px solid #cfd4d9!important;border-radius:10px!important;
}
.taxizone-hero-booking .tz-field>input:not([type=radio]):not([type=checkbox]){height:58px!important;padding:0 14px!important}
.taxizone-hero-booking .tz-field>textarea{min-height:72px!important;padding:12px 14px!important;resize:vertical!important}
.taxizone-hero-booking .taxizone-field-wrap input::placeholder,.taxizone-hero-booking .tz-field input::placeholder,.taxizone-hero-booking .tz-field textarea::placeholder{color:#7b8086!important;opacity:1!important}
.taxizone-hero-booking .taxizone-field-wrap:focus-within,.taxizone-hero-booking .tz-field>input:focus,.taxizone-hero-booking .tz-field>textarea:focus{border-color:var(--tz-yellow)!important;box-shadow:0 0 0 2px rgba(245,196,0,.14)!important;outline:none!important}
.taxizone-hero-booking .taxizone-pin,.taxizone-hero-booking .taxizone-icon{color:#111!important;flex:0 0 auto!important;margin-right:8px!important}

.taxizone-hero-booking .taxizone-vehicle-group{border:0!important;padding:0!important;margin:0!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;min-width:0!important}
.taxizone-hero-booking .taxizone-vehicle-group legend{grid-column:1/-1!important;margin:0 0 8px!important}
.taxizone-hero-booking .taxizone-vehicle-card{height:68px!important;background:#fff!important;color:#111!important;border:1px solid #cfd4d9!important;border-radius:10px!important;display:flex!important;align-items:center!important;gap:10px!important;padding:10px 12px!important;box-sizing:border-box!important}
.taxizone-hero-booking .taxizone-vehicle-card.active{background:#111!important;color:#fff!important;border-color:#111!important;box-shadow:none!important}
.taxizone-hero-booking .taxizone-vehicle-card strong{color:inherit!important;font-size:14px!important}
.taxizone-hero-booking .taxizone-vehicle-card small{color:inherit!important;opacity:.72!important;font-size:11px!important}
.taxizone-hero-booking .taxizone-car-icon{background:transparent!important;color:var(--tz-yellow)!important;width:auto!important;height:auto!important;font-size:12px!important}
.taxizone-hero-booking .taxizone-extra-dropdown summary{height:58px!important;min-height:58px!important;background:#fff!important;color:#111!important;border:1px solid #cfd4d9!important;border-radius:10px!important;padding:0 14px!important}
.taxizone-hero-booking .taxizone-extra-menu{background:#fff!important;color:#111!important;border:1px solid #cfd4d9!important;box-shadow:0 18px 35px rgba(0,0,0,.18)!important}
.taxizone-hero-booking .taxizone-extra-option{color:#111!important}
.taxizone-hero-booking .taxizone-extra-option small{color:#72777d!important}

.taxizone-hero-booking .tz-booking-price-bottom{
  grid-column:1/-1!important;grid-row:5!important;display:grid!important;grid-template-columns:1fr!important;gap:14px!important;margin-top:2px!important;padding-top:20px!important;border-top:1px solid #e2e5e8!important;
}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:transparent!important;border:0!important;padding:0!important;min-height:92px!important}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price>span{color:#555b61!important;font-size:12px!important;font-weight:900!important;letter-spacing:.08em!important}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price strong{color:#111!important;font-size:42px!important;line-height:1!important;margin:6px 0!important}
.taxizone-hero-booking .taxizone-price-note{color:#777d84!important;font-size:11px!important}
.taxizone-hero-booking .taxizone-price-tax{color:#111!important;font-size:11px!important;font-weight:800!important;letter-spacing:.06em!important}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-submit{width:100%!important;height:58px!important;min-height:58px!important;background:var(--tz-yellow)!important;color:#111!important;border:0!important;border-radius:10px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;font-weight:900!important;box-shadow:0 10px 22px rgba(245,196,0,.18)!important}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-submit .taxizone-book-icon{display:none!important}
.taxizone-hero-booking .taxizone-powered{color:#aeb3b8!important;margin-top:20px!important}
.taxizone-hero-booking .taxizone-powered strong{color:var(--tz-yellow)!important}

/* The mode-specific airport controls occupy the same FRÅN/TILL boxes. */
.taxizone-hero-booking .tz-flight-direction{display:none!important}

@media(max-width:1050px) and (min-width:768px){
 .taxizone-hero-booking .taxizone-hero-copy{width:58%!important}.taxizone-hero-booking .taxizone-hero-visual{width:58%!important;height:320px!important}
 .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 .taxizone-hero-booking .tz-field-from{grid-column:1/span 2!important}.taxizone-hero-booking .tz-field-to{grid-column:3/span 2!important}.taxizone-hero-booking .tz-field-date{grid-column:5/span 1!important}.taxizone-hero-booking .tz-field-time{grid-column:6/span 1!important}.taxizone-hero-booking .tz-field-discount{grid-column:1/span 2!important;grid-row:2!important}.taxizone-hero-booking .tz-field-vehicle{grid-column:3/span 2!important;grid-row:2!important}.taxizone-hero-booking .tz-field-passengers{grid-column:5/span 1!important;grid-row:2!important}.taxizone-hero-booking .tz-field-extras{grid-column:6/span 1!important;grid-row:2!important}.taxizone-hero-booking .tz-field-name{grid-column:1/span 2!important;grid-row:3!important}.taxizone-hero-booking .tz-field-phone{grid-column:3/span 2!important;grid-row:3!important}.taxizone-hero-booking .tz-field-email{grid-column:5/span 2!important;grid-row:3!important}.taxizone-hero-booking .tz-field-message{grid-column:1/-1!important;grid-row:4!important}.taxizone-hero-booking .tz-booking-price-bottom{grid-column:1/-1!important;grid-row:5!important}
}
@media(max-width:767px){
 .taxizone-hero-booking{padding:0!important;background:var(--tz-panel,#fff)!important;color:#111!important}
 .taxizone-hero-booking .taxizone-hero-inner{display:none!important}
 .taxizone-hero-booking .tz-booking-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:4px!important;padding:0!important;background:#111!important}
 .taxizone-hero-booking .tz-booking-tab{min-height:58px!important;border-radius:0!important;padding:7px 4px!important}
 .taxizone-hero-booking .tz-booking-tab .tz-tab-title{font-size:13px!important}.taxizone-hero-booking .tz-booking-tab small{font-size:9px!important}
 .taxizone-hero-booking .taxizone-hero-form.taxizone-taxi-form{border:0!important;border-radius:0!important;padding:14px!important;box-shadow:none!important}
 .taxizone-hero-booking .taxizone-hero-configured-grid{grid-template-columns:1fr!important;gap:12px!important}
 .taxizone-hero-booking .taxizone-hero-configured-grid>.tz-field{grid-column:1/-1!important;grid-row:auto!important}
 .taxizone-hero-booking .taxizone-vehicle-group{grid-template-columns:1fr 1fr!important}
 .taxizone-hero-booking .tz-booking-price-bottom{grid-column:1/-1!important;grid-row:auto!important;margin-top:2px!important;padding-top:16px!important}
 .taxizone-hero-booking .tz-booking-price-bottom .tz-field-price strong{font-size:34px!important}
 .taxizone-hero-booking .tz-booking-price-bottom .tz-field-submit{height:60px!important}
 .taxizone-hero-booking .taxizone-powered{margin:14px 0!important;color:#777!important}
}

/* TaxiZone 1.1.9 — unified mode heading inside the single booking form. */
.taxizone-hero-booking .tz-mode-heading{
  margin:0 0 22px!important;
  padding:0 0 2px!important;
  color:#111!important;
  font-size:24px!important;
  line-height:1.1!important;
  font-weight:900!important;
  letter-spacing:-.02em!important;
}
@media(max-width:767px){
  .taxizone-hero-booking .tz-mode-heading{font-size:21px!important;margin-bottom:16px!important;}
}

/* TaxiZone 1.1.10 — final consolidation layer. Do not add competing booking UI rules below this block. */
.taxizone-hero-booking{background:#050607!important;color:#fff!important;}
.taxizone-hero-booking .taxizone-hero-inner{display:grid!important;}
.taxizone-hero-booking .taxizone-hero-form{background:#fff!important;color:#111!important;}
.taxizone-hero-booking .tz-booking-tabs{background:#111!important;color:#fff!important;}
.taxizone-hero-booking .tz-booking-tab{background:#111!important;color:#fff!important;}
.taxizone-hero-booking .tz-booking-tab.is-active{background:var(--tz-yellow,#F5C400)!important;color:#111!important;}
.taxizone-hero-booking .tz-mode-heading{display:block!important;color:#111!important;background:#fff!important;}
.taxizone-hero-booking .tz-flight-direction[hidden]{display:none!important;}
.taxizone-hero-booking .tz-booking-price-bottom{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto!important;}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price{display:flex!important;grid-column:1!important;grid-row:auto!important;}
.taxizone-hero-booking .tz-booking-price-bottom .tz-field-submit{display:flex!important;grid-column:1!important;grid-row:auto!important;}
@media(max-width:1050px){
  .taxizone-hero-booking .taxizone-hero-inner{display:grid!important;}
}
@media(max-width:767px){
  .taxizone-hero-booking .taxizone-hero-inner{display:none!important;}
  .taxizone-hero-booking .taxizone-hero-form{display:block!important;background:#fff!important;}
  .taxizone-hero-booking .tz-booking-price-bottom{display:grid!important;grid-template-columns:1fr!important;}
}

/* =========================================================
   TaxiZone 1.2.6 — FINAL BOOKING UI CONSOLIDATION
   Approved visual reference: black/yellow hero + white panel.
   One unified form: Private / Airport / Business.
   ========================================================= */
section.taxizone-hero-booking.taxizone-hero-booking{
  --tz-yellow:#F5C400!important;
  --tz-bg:#050607!important;
  --tz-panel:#FFFFFF!important;
  --tz-text:#FFFFFF!important;
  --tz-secondary:#7A7F86!important;
  background:#050607!important;
  color:#fff!important;
}
section.taxizone-hero-booking .taxizone-hero-inner{
  max-width:1500px!important;
  min-height:300px!important;
}
section.taxizone-hero-booking .taxizone-hero-copy{
  width:52%!important;
  padding:10px 0 42px!important;
}
section.taxizone-hero-booking .taxizone-hero-copy h1{
  color:#fff!important;
}
section.taxizone-hero-booking .taxizone-hero-copy h1 span{
  color:#F5C400!important;
}
section.taxizone-hero-booking .taxizone-hero-visual{
  width:60%!important;
  right:-3%!important;
  height:360px!important;
}

/* Tabs: exactly one clearly active tab. */
section.taxizone-hero-booking .tz-booking-tabs{
  max-width:1500px!important;
  padding:0!important;
  gap:8px!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
section.taxizone-hero-booking button.tz-booking-tab{
  min-height:72px!important;
  background:#111!important;
  color:#fff!important;
  border:1px solid #33383d!important;
  border-bottom:0!important;
  border-radius:12px 12px 0 0!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
section.taxizone-hero-booking button.tz-booking-tab:hover{
  background:#1b1e21!important;
  color:#fff!important;
}
section.taxizone-hero-booking button.tz-booking-tab.is-active,
section.taxizone-hero-booking button.tz-booking-tab[aria-selected="true"]{
  background:#F5C400!important;
  color:#111!important;
  border-color:#F5C400!important;
  box-shadow:0 -2px 0 #F5C400 inset!important;
}
section.taxizone-hero-booking button.tz-booking-tab.is-active small,
section.taxizone-hero-booking button.tz-booking-tab[aria-selected="true"] small{
  color:#111!important;
  opacity:.82!important;
}
section.taxizone-hero-booking .tz-booking-tab .tz-tab-title{
  font-size:16px!important;
  font-weight:900!important;
}

/* White booking card. */
section.taxizone-hero-booking form.taxizone-hero-form.taxizone-taxi-form{
  max-width:1500px!important;
  background:#fff!important;
  color:#111!important;
  border:0!important;
  border-radius:0 0 18px 18px!important;
  padding:28px 30px 24px!important;
  box-shadow:0 20px 45px rgba(0,0,0,.20)!important;
}
section.taxizone-hero-booking .tz-mode-heading{
  margin:0 0 20px!important;
  padding:0!important;
  font-size:24px!important;
  font-weight:900!important;
  color:#111!important;
}

/* Inputs stay white; no dark form fields. */
section.taxizone-hero-booking .taxizone-field-wrap,
section.taxizone-hero-booking .tz-field>input:not([type=radio]):not([type=checkbox]),
section.taxizone-hero-booking .tz-field>textarea,
section.taxizone-hero-booking .taxizone-extra-dropdown summary{
  background:#fff!important;
  color:#111!important;
  border:1px solid #CFD4D9!important;
  border-radius:10px!important;
}
section.taxizone-hero-booking .taxizone-field-wrap input,
section.taxizone-hero-booking .taxizone-field-wrap select{
  color:#111!important;
  background:transparent!important;
}
section.taxizone-hero-booking .taxizone-field-wrap input::placeholder,
section.taxizone-hero-booking input::placeholder,
section.taxizone-hero-booking textarea::placeholder{
  color:#7A7F86!important;
  opacity:1!important;
}

/* Vehicle cards: selected = dark with yellow outline; unselected = white. */
section.taxizone-hero-booking .taxizone-vehicle-card{
  position:relative!important;
  min-height:68px!important;
  background:#fff!important;
  color:#111!important;
  border:1px solid #CFD4D9!important;
  border-radius:10px!important;
}
section.taxizone-hero-booking .taxizone-vehicle-card.active{
  background:#111!important;
  color:#fff!important;
  border:2px solid #F5C400!important;
  box-shadow:none!important;
}
section.taxizone-hero-booking .taxizone-vehicle-card.active::after{
  content:'✓'!important;
  position:absolute!important;
  top:9px!important;
  right:10px!important;
  width:22px!important;
  height:22px!important;
  border-radius:50%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#F5C400!important;
  color:#111!important;
  font-size:13px!important;
  font-weight:900!important;
}
section.taxizone-hero-booking .taxizone-car-icon{
  color:#F5C400!important;
  font-weight:900!important;
}

/* Price and booking action share one clean bottom row on desktop. */
section.taxizone-hero-booking .tz-booking-price-bottom{
  display:grid!important;
  grid-template-columns:minmax(220px,.85fr) minmax(260px,1.15fr) minmax(260px,1.2fr)!important;
  align-items:center!important;
  gap:24px!important;
  margin-top:6px!important;
  padding-top:22px!important;
  border-top:1px solid #E2E5E8!important;
}
section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price{
  align-items:flex-start!important;
  text-align:left!important;
  justify-content:center!important;
  min-height:90px!important;
}
section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price>span{
  color:#7A7F86!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price strong{
  color:#111!important;
  font-size:42px!important;
  font-weight:900!important;
  line-height:1!important;
  margin:5px 0!important;
}
section.taxizone-hero-booking .tz-booking-price-bottom .taxizone-price-note{
  color:#7A7F86!important;
  font-size:11px!important;
}
section.taxizone-hero-booking .tz-booking-price-bottom .taxizone-price-tax{
  color:#111!important;
  font-size:11px!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
}
section.taxizone-hero-booking button#tz-hero-submit.taxizone-book-button,
section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-submit{
  width:100%!important;
  min-height:62px!important;
  height:62px!important;
  background:#F5C400!important;
  background-color:#F5C400!important;
  color:#111!important;
  border:0!important;
  border-radius:10px!important;
  box-shadow:0 10px 24px rgba(245,196,0,.20)!important;
  font-size:18px!important;
  font-weight:900!important;
  opacity:1!important;
}
section.taxizone-hero-booking button#tz-hero-submit.taxizone-book-button:hover{
  background:#FFD42A!important;
  background-color:#FFD42A!important;
  color:#111!important;
  transform:translateY(-1px)!important;
}
section.taxizone-hero-booking .tz-booking-price-bottom .taxizone-book-icon{
  display:none!important;
}

/* Airport direction switch is visible only in Flight mode. */
section.taxizone-hero-booking .tz-flight-direction:not([hidden]){
  display:flex!important;
  gap:8px!important;
  margin:-4px 0 18px!important;
}
section.taxizone-hero-booking .tz-flight-direction button{
  background:#fff!important;
  color:#111!important;
  border:1px solid #CFD4D9!important;
  border-radius:9px!important;
  padding:10px 16px!important;
  font-weight:800!important;
}
section.taxizone-hero-booking .tz-flight-direction button.is-active{
  background:#F5C400!important;
  color:#111!important;
  border-color:#F5C400!important;
}

@media(max-width:1050px) and (min-width:768px){
  section.taxizone-hero-booking .tz-booking-price-bottom{
    grid-template-columns:1fr 1fr!important;
  }
  section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price{
    grid-column:1!important;
  }
  section.taxizone-hero-booking button#tz-hero-submit.taxizone-book-button{
    grid-column:2!important;
  }
}

@media(max-width:767px){
  section.taxizone-hero-booking.taxizone-hero-booking{
    background:#fff!important;
  }
  section.taxizone-hero-booking .tz-booking-tabs{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:3px!important;
    background:#111!important;
  }
  section.taxizone-hero-booking button.tz-booking-tab{
    min-height:60px!important;
    border-radius:0!important;
    border:0!important;
    padding:7px 3px!important;
  }
  section.taxizone-hero-booking .tz-booking-tab .tz-tab-title{font-size:13px!important}
  section.taxizone-hero-booking .tz-booking-tab small{font-size:9px!important}
  section.taxizone-hero-booking form.taxizone-hero-form.taxizone-taxi-form{
    padding:16px!important;
    border-radius:0!important;
    box-shadow:none!important;
  }
  section.taxizone-hero-booking .tz-mode-heading{
    font-size:21px!important;
    margin-bottom:16px!important;
  }
  section.taxizone-hero-booking .tz-booking-price-bottom{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price,
  section.taxizone-hero-booking button#tz-hero-submit.taxizone-book-button{
    grid-column:1!important;
  }
  section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price{
    min-height:78px!important;
  }
  section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price strong{
    font-size:36px!important;
  }
}

/* TaxiZone fleet module */
.taxizone-fleet{width:100%;padding:20px 0}.taxizone-fleet-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.taxizone-vehicle-card{overflow:hidden;background:#fff;border:1px solid #e2e7eb;border-radius:20px;box-shadow:0 12px 35px rgba(15,23,42,.08)}.taxizone-vehicle-image{aspect-ratio:16/10;background:#f3f6f8;display:flex;align-items:center;justify-content:center;overflow:hidden}.taxizone-vehicle-image img{width:100%;height:100%;object-fit:cover}.taxizone-vehicle-image-placeholder{font-weight:800;color:#111827;padding:20px;text-align:center}.taxizone-vehicle-content{padding:20px}.taxizone-vehicle-rating{color:#d9aa00;font-weight:800;font-size:14px}.taxizone-vehicle-rating span{color:#64748b;font-weight:600}.taxizone-vehicle-content h3{margin:8px 0 6px;font-size:21px;color:#111827}.taxizone-vehicle-content p{margin:0 0 15px;color:#64748b;line-height:1.5}.taxizone-vehicle-meta{display:flex;justify-content:space-between;gap:10px;color:#475569;font-size:13px;margin-bottom:18px}.taxizone-vehicle-book{display:inline-flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;background:#f5c400;color:#111827;text-decoration:none;font-weight:800;border-radius:12px;padding:13px 16px}.taxizone-vehicle-book:hover{background:#e4b600;color:#111827}.taxizone-vehicle-card[data-vehicle-id]{scroll-margin-top:100px}@media(max-width:1000px){.taxizone-fleet-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.taxizone-fleet-grid{grid-template-columns:1fr}}


/* =========================================================
   TaxiZone 1.3.17 – FINAL BOOKING FORM FIX
   Based on the reported desktop/mobile rendering.
   Presentation only: no pricing or booking logic changes.
   ========================================================= */

/* The vehicle icon already contains "BIL" in the HTML.
   Remove the old pseudo-element that duplicated it as "BILBIL". */
section.taxizone-hero-booking .taxizone-car-icon::before{
  content:none !important;
}

/* Desktop: keep the booking controls aligned and predictable. */
@media (min-width: 1051px){
  section.taxizone-hero-booking .taxizone-hero-configured-grid{
    grid-template-columns:repeat(12,minmax(0,1fr)) !important;
    column-gap:18px !important;
    row-gap:18px !important;
  }

  section.taxizone-hero-booking .tz-field-from{grid-column:1 / span 3 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-to{grid-column:4 / span 3 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-date{grid-column:7 / span 2 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-time{grid-column:9 / span 2 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-discount{grid-column:11 / span 2 !important;grid-row:1 !important;}

  section.taxizone-hero-booking .tz-field-vehicle{grid-column:1 / span 4 !important;grid-row:2 !important;}
  section.taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 3 !important;grid-row:2 !important;}
  section.taxizone-hero-booking .tz-field-extras{grid-column:8 / span 4 !important;grid-row:2 !important;}

  section.taxizone-hero-booking .tz-field-name{grid-column:1 / span 4 !important;grid-row:3 !important;}
  section.taxizone-hero-booking .tz-field-phone{grid-column:5 / span 4 !important;grid-row:3 !important;}
  section.taxizone-hero-booking .tz-field-email{grid-column:9 / span 4 !important;grid-row:3 !important;}
  section.taxizone-hero-booking .tz-field-message{grid-column:1 / -1 !important;grid-row:4 !important;}

  section.taxizone-hero-booking .tz-field-vehicle,
  section.taxizone-hero-booking .tz-field-passengers,
  section.taxizone-hero-booking .tz-field-extras{
    min-width:0 !important;
    margin:0 !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-group{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:10px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-card{
    min-width:0 !important;
    width:100% !important;
    height:68px !important;
    min-height:68px !important;
    margin:0 !important;
    padding:10px 12px !important;
    box-sizing:border-box !important;
    overflow:hidden !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-card > span:not(.taxizone-car-icon){
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-card strong{
    display:block !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-card small{
    display:block !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  section.taxizone-hero-booking .taxizone-car-icon{
    flex:0 0 42px !important;
    width:42px !important;
    height:42px !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 !important;
    font-size:10px !important;
    font-weight:900 !important;
    color:#F5C400 !important;
    background:#111 !important;
    border-radius:8px !important;
  }

  section.taxizone-hero-booking .taxizone-field-wrap{
    width:100% !important;
    min-width:0 !important;
  }

  section.taxizone-hero-booking .tz-field > input:not([type=radio]):not([type=checkbox]),
  section.taxizone-hero-booking .tz-field > textarea,
  section.taxizone-hero-booking .taxizone-extra-dropdown,
  section.taxizone-hero-booking .taxizone-extra-dropdown summary{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
}

/* Tablet: preserve the same logical order without squeezed controls. */
@media (max-width:1050px) and (min-width:768px){
  section.taxizone-hero-booking .taxizone-hero-configured-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:14px !important;
  }
  section.taxizone-hero-booking .tz-field-from{grid-column:1 / span 2 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-to{grid-column:3 / span 2 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-date{grid-column:5 / span 1 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-time{grid-column:6 / span 1 !important;grid-row:1 !important;}
  section.taxizone-hero-booking .tz-field-discount{grid-column:1 / span 2 !important;grid-row:2 !important;}
  section.taxizone-hero-booking .tz-field-vehicle{grid-column:3 / span 2 !important;grid-row:2 !important;}
  section.taxizone-hero-booking .tz-field-passengers{grid-column:5 / span 1 !important;grid-row:2 !important;}
  section.taxizone-hero-booking .tz-field-extras{grid-column:6 / span 1 !important;grid-row:2 !important;}
  section.taxizone-hero-booking .tz-field-name{grid-column:1 / span 2 !important;grid-row:3 !important;}
  section.taxizone-hero-booking .tz-field-phone{grid-column:3 / span 2 !important;grid-row:3 !important;}
  section.taxizone-hero-booking .tz-field-email{grid-column:5 / span 2 !important;grid-row:3 !important;}
  section.taxizone-hero-booking .tz-field-message{grid-column:1 / -1 !important;grid-row:4 !important;}
}

/* Mobile: one clean column, no horizontal squeezing or overlapping cards. */
@media (max-width:767px){
  section.taxizone-hero-booking .taxizone-hero-inner{
    display:none !important;
  }

  section.taxizone-hero-booking .taxizone-hero-configured-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
    width:100% !important;
  }

  section.taxizone-hero-booking .taxizone-hero-configured-grid > .tz-field{
    grid-column:1 / -1 !important;
    grid-row:auto !important;
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    margin:0 !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-group{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-card{
    width:100% !important;
    height:68px !important;
    min-height:68px !important;
    min-width:0 !important;
    margin:0 !important;
    padding:10px 12px !important;
    box-sizing:border-box !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-card > span:not(.taxizone-car-icon){
    min-width:0 !important;
  }

  section.taxizone-hero-booking .taxizone-vehicle-card strong,
  section.taxizone-hero-booking .taxizone-vehicle-card small{
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  section.taxizone-hero-booking .taxizone-car-icon{
    flex:0 0 40px !important;
    width:40px !important;
    height:40px !important;
    font-size:10px !important;
  }

  section.taxizone-hero-booking .taxizone-field-wrap,
  section.taxizone-hero-booking .tz-field > input:not([type=radio]):not([type=checkbox]),
  section.taxizone-hero-booking .tz-field > textarea,
  section.taxizone-hero-booking .taxizone-extra-dropdown,
  section.taxizone-hero-booking .taxizone-extra-dropdown summary{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  section.taxizone-hero-booking .tz-booking-price-bottom{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  section.taxizone-hero-booking .tz-booking-price-bottom .tz-field-price,
  section.taxizone-hero-booking button#tz-hero-submit.taxizone-book-button{
    grid-column:1 !important;
    width:100% !important;
  }
}


/* =========================================================
   TaxiZone 1.3.20 – FINAL BOOKING CONTROL OVERRIDES
   Presentation only. Booking/pricing logic remains unchanged.
   ========================================================= */

/* Vehicle cards: one compact icon + one label; never duplicate "BIL". */
section.taxizone-hero-booking .taxizone-vehicle-card{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
}
section.taxizone-hero-booking .taxizone-car-icon{
  flex:0 0 42px !important;
  width:42px !important;
  height:42px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 !important;
  padding:0 !important;
  font-size:10px !important;
  line-height:1 !important;
  font-weight:900 !important;
  color:#F5C400 !important;
  background:#111 !important;
  border-radius:8px !important;
}
section.taxizone-hero-booking .taxizone-car-icon::before{
  content:none !important;
}

/* Passenger control: keep the native select functional but visually hidden.
   The visible trigger/menu is controlled by booking.js. */
section.taxizone-hero-booking .taxizone-passenger-control{
  position:relative !important;
  display:block !important;
  height:58px !important;
  padding:0 !important;
  overflow:visible !important;
}
section.taxizone-hero-booking .taxizone-passengers-native{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important;
  border:0 !important;
  white-space:nowrap !important;
}
section.taxizone-hero-booking .taxizone-passenger-trigger{
  width:100% !important;
  height:58px !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  box-sizing:border-box !important;
  padding:0 14px !important;
  margin:0 !important;
  border:1px solid #505257 !important;
  border-radius:11px !important;
  background:#090b0d !important;
  color:#fff !important;
  font:inherit !important;
  font-weight:800 !important;
  text-align:left !important;
  cursor:pointer !important;
}
section.taxizone-hero-booking .taxizone-passenger-trigger:hover,
section.taxizone-hero-booking .taxizone-passenger-trigger[aria-expanded="true"]{
  border-color:#F5C400 !important;
}
section.taxizone-hero-booking .taxizone-passenger-menu{
  position:absolute !important;
  z-index:10000 !important;
  top:calc(100% + 6px) !important;
  left:0 !important;
  right:0 !important;
  max-height:220px !important;
  overflow:auto !important;
  padding:6px !important;
  box-sizing:border-box !important;
  border:1px solid #cfd4d9 !important;
  border-radius:10px !important;
  background:#fff !important;
  box-shadow:0 18px 35px rgba(0,0,0,.20) !important;
}
section.taxizone-hero-booking .taxizone-passenger-menu[hidden]{
  display:none !important;
}
section.taxizone-hero-booking .taxizone-passenger-option{
  display:block !important;
  width:100% !important;
  min-height:36px !important;
  padding:8px 10px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:7px !important;
  background:#fff !important;
  color:#111 !important;
  font:inherit !important;
  font-weight:700 !important;
  text-align:left !important;
  cursor:pointer !important;
}
section.taxizone-hero-booking .taxizone-passenger-option:hover,
section.taxizone-hero-booking .taxizone-passenger-option[aria-selected="true"]{
  background:#F5C400 !important;
  color:#111 !important;
}

/* Extras: readable rows, correct configured prices, bounded menu. */
section.taxizone-hero-booking .taxizone-extra-dropdown{
  position:relative !important;
  overflow:visible !important;
}
section.taxizone-hero-booking .taxizone-extra-menu{
  position:absolute !important;
  z-index:10000 !important;
  top:calc(100% + 6px) !important;
  left:0 !important;
  right:0 !important;
  max-height:220px !important;
  overflow:auto !important;
  padding:6px !important;
  box-sizing:border-box !important;
  background:#fff !important;
  color:#111 !important;
  border:1px solid #cfd4d9 !important;
  border-radius:10px !important;
  box-shadow:0 18px 35px rgba(0,0,0,.20) !important;
}
section.taxizone-hero-booking .taxizone-extra-option{
  display:grid !important;
  grid-template-columns:24px minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:8px !important;
  min-height:38px !important;
  padding:7px 8px !important;
  margin:0 !important;
  border-radius:7px !important;
  color:#111 !important;
  background:#fff !important;
  cursor:pointer !important;
}
section.taxizone-hero-booking .taxizone-extra-option:hover{
  background:#f4f5f6 !important;
}
section.taxizone-hero-booking .taxizone-extra-option input{
  width:18px !important;
  height:18px !important;
  margin:0 !important;
}
section.taxizone-hero-booking .taxizone-extra-option span{
  min-width:0 !important;
  color:#111 !important;
  font-weight:700 !important;
}
section.taxizone-hero-booking .taxizone-extra-option small{
  color:#60666d !important;
  white-space:nowrap !important;
  margin:0 !important;
}
section.taxizone-hero-booking .taxizone-extra-option small span{
  display:inline !important;
  color:inherit !important;
  font-weight:inherit !important;
}

/* Keep the mobile form available; stack controls instead of hiding the booking system. */
@media (max-width:1050px){
  .taxizone-hero-booking{
    display:block !important;
    visibility:visible !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
  }
}
@media (max-width:767px){
  section.taxizone-hero-booking .taxizone-passenger-menu,
  section.taxizone-hero-booking .taxizone-extra-menu{
    position:static !important;
    margin-top:6px !important;
    max-height:220px !important;
  }
}

/* =========================================================
   TaxiZone 1.3.22 – VEHICLE CARD CLEANUP
   The vehicle cards must contain only the vehicle name and
   capacity. No black "BIL" badge/icon is displayed.
   Presentation only; booking values remain unchanged.
   ========================================================= */
section.taxizone-hero-booking .taxizone-vehicle-card .taxizone-car-icon{
  display:none !important;
  width:0 !important;
  min-width:0 !important;
  height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card > span:not(.taxizone-car-icon){
  display:block !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card strong{
  display:block !important;
  margin:0 !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card small{
  display:block !important;
  margin-top:3px !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card{
  gap:0 !important;
}


/* =========================================================
   TaxiZone 1.3.24 – MOBILE FORM CONTROL LOCK
   - Selected vehicle: dark background, white text, yellow check.
   - Unselected vehicle: white background, black text.
   - No vehicle icon/badge is rendered.
   - Mobile form controls are white and flush to the field edge.
   Presentation only; booking and pricing values are unchanged.
   ========================================================= */
section.taxizone-hero-booking .taxizone-vehicle-card .taxizone-car-icon{
  display:none !important;
}
section.taxizone-hero-booking .taxizone-vehicle-content{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card strong{
  display:block !important;
  font-weight:900 !important;
  color:#111 !important;
  margin:0 !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card small{
  display:block !important;
  color:#111 !important;
  opacity:.72 !important;
  margin-top:3px !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card.active strong,
section.taxizone-hero-booking .taxizone-vehicle-card.active small{
  color:#fff !important;
}
section.taxizone-hero-booking .taxizone-vehicle-card.active small{
  opacity:.72 !important;
}

@media (max-width:767px){
  /* Remove the inner black inset: the actual input is the white control. */
  section.taxizone-hero-booking .taxizone-field-wrap{
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
    background:#fff !important;
    border:1px solid #cfd4d9 !important;
    border-radius:10px !important;
    overflow:hidden !important;
  }

  section.taxizone-hero-booking .taxizone-field-wrap input[type="text"],
  section.taxizone-hero-booking .taxizone-field-wrap input[type="date"],
  section.taxizone-hero-booking .taxizone-field-wrap input[type="time"],
  section.taxizone-hero-booking .taxizone-field-wrap select{
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    background-color:#fff !important;
    color:#111 !important;
    border:0 !important;
    border-radius:0 !important;
    box-shadow:none !important;
    outline:0 !important;
    -webkit-text-fill-color:#111 !important;
    color-scheme:light !important;
  }

  section.taxizone-hero-booking .taxizone-field-wrap input::placeholder{
    color:#7a7f86 !important;
    -webkit-text-fill-color:#7a7f86 !important;
    opacity:1 !important;
  }

  /* Passenger trigger must match the white mobile controls. */
  section.taxizone-hero-booking .taxizone-passenger-trigger{
    width:100% !important;
    height:58px !important;
    min-height:58px !important;
    margin:0 !important;
    padding:0 14px !important;
    box-sizing:border-box !important;
    background:#fff !important;
    color:#111 !important;
    border:1px solid #cfd4d9 !important;
    border-radius:10px !important;
  }

  section.taxizone-hero-booking .taxizone-passenger-control{
    height:58px !important;
    min-height:58px !important;
    padding:0 !important;
    margin:0 !important;
  }

  /* Direct discount/customer inputs are also white and full-width. */
  section.taxizone-hero-booking .tz-field > input:not([type="radio"]):not([type="checkbox"]),
  section.taxizone-hero-booking .tz-field > textarea{
    background:#fff !important;
    background-color:#fff !important;
    color:#111 !important;
    border:1px solid #cfd4d9 !important;
    -webkit-text-fill-color:#111 !important;
  }

  section.taxizone-hero-booking .tz-field > input::placeholder,
  section.taxizone-hero-booking .tz-field > textarea::placeholder{
    color:#7a7f86 !important;
    -webkit-text-fill-color:#7a7f86 !important;
  }

  /* Vehicle cards: selected dark, unselected white. */
  section.taxizone-hero-booking .taxizone-vehicle-card{
    background:#fff !important;
    color:#111 !important;
    border:1px solid #cfd4d9 !important;
  }
  section.taxizone-hero-booking .taxizone-vehicle-card.active{
    background:#111 !important;
    color:#fff !important;
    border:2px solid #f5c400 !important;
  }
  section.taxizone-hero-booking .taxizone-vehicle-card:not(.active) strong,
  section.taxizone-hero-booking .taxizone-vehicle-card:not(.active) small{
    color:#111 !important;
    opacity:1 !important;
  }
  section.taxizone-hero-booking .taxizone-vehicle-card.active strong{
    color:#fff !important;
  }
  section.taxizone-hero-booking .taxizone-vehicle-card.active small{
    color:#fff !important;
    opacity:.72 !important;
  }
}


/* =========================================================
   TaxiZone 1.3.58 — FINAL BOOKING FIELD GEOMETRY
   UI only:
   - Flight airport control exists only in Flygtaxi mode.
   - Private/Company use the normal destination field.
   - Field borders are rendered by the outer control only.
   - Inputs cannot cover/clamp the outer border.
   - Booking grid/edges stay inside the available width.
   ========================================================= */

/* Highest-specificity mode isolation: [hidden] must win over mode display rules. */
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-to-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-from-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-direction[hidden],
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-to-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-from-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-direction[hidden]{
  display:none!important;
}

/* Do not let a previous display:flex rule defeat the hidden attribute. */
section.taxizone-hero-booking .tz-flight-to-wrap[hidden],
section.taxizone-hero-booking .tz-flight-from-wrap[hidden],
section.taxizone-hero-booking .tz-flight-direction[hidden],
section.taxizone-hero-booking [hidden]{
  display:none!important;
}

/* Flight selector is a normal field only while Flygtaxi is active. */
section.taxizone-hero-booking[data-active-mode="flight"] .tz-flight-to-wrap:not([hidden]){
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid #cfd4da!important;
  border-radius:11px!important;
  overflow:visible!important;
}
section.taxizone-hero-booking[data-active-mode="flight"] .tz-flight-to-wrap select{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  margin:0!important;
  padding:0 38px 0 14px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:10px!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  outline:0!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

/* Stable field geometry: one border, one box, no clipped sides/bottom. */
section.taxizone-hero-booking .taxizone-hero-configured-grid{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
section.taxizone-hero-booking .taxizone-hero-configured-grid > .tz-field{
  min-width:0!important;
  max-width:100%!important;
  width:auto!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}
section.taxizone-hero-booking .tz-field > .taxizone-field-wrap{
  position:relative!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
  height:58px!important;
  min-height:58px!important;
  margin:0!important;
  padding:0 14px!important;
  box-sizing:border-box!important;
  background:#fff!important;
  border:1px solid #cfd4da!important;
  border-radius:11px!important;
  overflow:visible!important;
  box-shadow:none!important;
}
section.taxizone-hero-booking .tz-field > .taxizone-field-wrap > input,
section.taxizone-hero-booking .tz-field > .taxizone-field-wrap > select{
  position:relative!important;
  z-index:1!important;
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  height:56px!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#111!important;
  -webkit-text-fill-color:#111!important;
  box-shadow:none!important;
  outline:0!important;
}
section.taxizone-hero-booking .tz-field > .taxizone-field-wrap:focus-within{
  border-color:#F5C400!important;
  box-shadow:0 0 0 2px rgba(245,196,0,.14)!important;
}

/* Address suggestions float below the field and never resize/reflow it. */
section.taxizone-hero-booking .taxizone-address-wrap,
section.taxizone-hero-booking .tz-field-from,
section.taxizone-hero-booking .tz-field-to{
  position:relative!important;
  overflow:visible!important;
}
section.taxizone-hero-booking .taxizone-google-suggestions,
section.taxizone-hero-booking .pac-container{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:calc(100% + 4px)!important;
  width:100%!important;
  max-width:none!important;
  z-index:2147483647!important;
}

/* The whole booking surface must not crop its controls at the container edge. */
section.taxizone-hero-booking,
section.taxizone-hero-booking .taxizone-hero-form,
section.taxizone-hero-booking .taxizone-hero-configured-grid{
  overflow:visible!important;
}
section.taxizone-hero-booking .taxizone-hero-form{
  width:100%!important;
  max-width:1500px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Keep the desktop five-field row aligned to the available width. */
@media(min-width:1051px){
  section.taxizone-hero-booking .taxizone-hero-configured-grid{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    column-gap:18px!important;
  }
}



/* =========================================================
   TaxiZone 1.5.5.13 — TAB ICON + MODE ISOLATION FINAL
   Functional booking/pricing logic is intentionally untouched.
   ========================================================= */

/* Icons are part of every tab in every state.
   Inactive tabs are white, therefore they must not inherit a
   white inactive-text color. */
section.taxizone-hero-booking .tz-booking-tab .tz-tab-icon{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  width:20px!important;
  height:20px!important;
  flex:0 0 20px!important;
  color:#111!important;
  stroke:#111!important;
  fill:none!important;
  stroke-width:1.9!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
}
section.taxizone-hero-booking .tz-booking-tab.is-active .tz-tab-icon,
section.taxizone-hero-booking .tz-booking-tab[aria-selected="true"] .tz-tab-icon{
  color:#111!important;
  stroke:#111!important;
  visibility:visible!important;
  opacity:1!important;
}
section.taxizone-hero-booking .tz-booking-tab:not(.is-active):not([aria-selected="true"]) .tz-tab-icon{
  color:#111!important;
  stroke:#111!important;
  visibility:visible!important;
  opacity:1!important;
}

/* PRIVATE + COMPANY:
   absolutely no airport selector and no flight-only controls. */
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-to-wrap,
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-from-wrap,
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-direction,
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-to-wrap,
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-from-wrap,
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-direction{
  display:none!important;
  visibility:hidden!important;
}
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-to-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-from-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="private"] .tz-flight-direction[hidden],
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-to-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-from-wrap[hidden],
section.taxizone-hero-booking[data-active-mode="company"] .tz-flight-direction[hidden]{
  display:none!important;
  visibility:hidden!important;
}

/* PRIVATE + COMPANY use the ordinary destination field. */
section.taxizone-hero-booking[data-active-mode="private"] .tz-normal-to-wrap,
section.taxizone-hero-booking[data-active-mode="private"] .tz-normal-from-wrap,
section.taxizone-hero-booking[data-active-mode="company"] .tz-normal-to-wrap,
section.taxizone-hero-booking[data-active-mode="company"] .tz-normal-from-wrap{
  display:flex!important;
  visibility:visible!important;
}

/* FLIGHT:
   airport selector replaces the ordinary destination field. */
section.taxizone-hero-booking[data-active-mode="flight"] .tz-normal-to-wrap{
  display:none!important;
  visibility:hidden!important;
}
section.taxizone-hero-booking[data-active-mode="flight"] .tz-flight-to-wrap:not([hidden]){
  display:flex!important;
  visibility:visible!important;
}
section.taxizone-hero-booking[data-active-mode="flight"] .tz-normal-from-wrap{
  display:flex!important;
  visibility:visible!important;
}

/* Hidden must win over all older generic display:flex rules. */
section.taxizone-hero-booking [hidden],
section.taxizone-hero-booking .tz-flight-to-wrap[hidden],
section.taxizone-hero-booking .tz-flight-from-wrap[hidden],
section.taxizone-hero-booking .tz-flight-direction[hidden],
section.taxizone-hero-booking .tz-flight-label[hidden]{
  display:none!important;
  visibility:hidden!important;
}
