.at24-booking{--at24-navy:#08182b;--at24-navy2:#10283f;--at24-gold:#c6a052;--at24-gold2:#edd39a;--at24-text:#111e30;--at24-muted:#64758b;max-width:1280px;margin:28px auto 42px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--at24-text);line-height:1.55;box-sizing:border-box}.at24-booking *{box-sizing:border-box}.at24-booking [hidden]{display:none!important}.at24-hero{position:relative;display:flex;min-height:238px;background:radial-gradient(circle at 82% 30%,#1d3957 0,transparent 35%),linear-gradient(108deg,#08182b 0%,#0f2741 100%);border-radius:24px 24px 0 0;padding:31px 48px 52px;overflow:hidden;color:#fff}.at24-hero-content{position:relative;z-index:2}.at24-brand{display:flex;align-items:center;gap:11px;margin-bottom:30px}.at24-logo{width:68px;height:68px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.15))}.at24-brand b{display:block;font-size:17px;letter-spacing:.15em;color:#fff}.at24-brand span{display:block;font-size:10px;letter-spacing:.18em;color:#d4af69;margin-top:4px}.at24-eyebrow{font-weight:800;color:var(--at24-gold2);letter-spacing:.2em;font-size:10px;display:flex;align-items:center;gap:10px;margin-bottom:10px}.at24-eyebrow i{height:2px;width:27px;background:var(--at24-gold)}.at24-hero h2{font-size:clamp(32px,3.5vw,48px);color:white;line-height:1.1;letter-spacing:-.035em;margin:0;font-weight:800}.at24-hero p{font-size:15px;color:#b5c3d2;margin:11px 0 0}.at24-hero-art{position:absolute;right:7%;top:2%;width:300px;height:300px}.at24-art-ring{display:block;width:300px;height:300px;border:1px solid rgba(198,160,82,.25);border-radius:50%;box-shadow:0 0 0 45px rgba(198,160,82,.04),0 0 0 90px rgba(198,160,82,.03);transform:scale(1.05)}.at24-art-dot{position:absolute;top:108px;left:78px;font-size:69px;color:rgba(255,255,255,.08);font-weight:900;letter-spacing:-.09em}.at24-art-dot span{color:rgba(198,160,82,.25)}.at24-card{position:relative;z-index:2;border:1px solid #e4e8ed;border-top:0;border-radius:0 0 24px 24px;background:white;box-shadow:0 24px 72px rgba(8,24,43,.12);margin-top:-14px;overflow:hidden}.at24-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:23px 42px;border-bottom:1px solid #ecedf0;background:#fdfdfd}.at24-step{display:flex;align-items:center;gap:10px;color:#99a1ab;font-weight:700;font-size:13px}.at24-step span{display:grid;place-items:center;border-radius:50%;width:31px;height:31px;background:#f1f3f7;color:#9aa3ae;font-size:11px}.at24-step.is-active{color:var(--at24-text)}.at24-step.is-active span,.at24-step.is-done span{background:var(--at24-navy);color:var(--at24-gold2)}.at24-step.is-done{color:#61708b}.at24-panel{padding:33px 42px 37px}.at24-panel-heading span{display:block;color:#b28b44;font-weight:800;letter-spacing:.19em;font-size:11px;margin-bottom:7px}.at24-panel-heading h3{font-size:clamp(24px,2.5vw,34px);line-height:1.14;letter-spacing:-.025em;color:#071b30;font-weight:800;margin:0}.at24-panel-heading p{margin:9px 0 24px;color:#718095;font-size:14px}.at24-searchbar{display:grid;grid-template-columns:1.4fr 1.4fr .95fr .8fr;border:1px solid #dce3eb;border-radius:14px;background:white;box-shadow:0 8px 28px rgba(21,48,76,.055);overflow:hidden}.at24-searchbar label{padding:13px 15px;border-right:1px solid #e6eaf0;min-width:0}.at24-searchbar label:last-child{border-right:0}.at24-searchbar label>span{display:block;font-size:11px;color:#68798c;text-transform:uppercase;font-weight:800;letter-spacing:.065em;margin-bottom:5px}.at24-booking input:not([type=checkbox]),.at24-booking select,.at24-booking textarea{width:100%;min-width:0;min-height:44px;border:1px solid #dfe4eb;border-radius:11px;background:white;color:#12243b;font-size:15px;padding:11px 13px;font-family:inherit}.at24-searchbar input:not([type=checkbox]){border:0;padding:0;min-height:27px;border-radius:0;box-shadow:none;background:transparent;font-weight:600}.at24-booking input:focus,.at24-booking select:focus,.at24-booking textarea:focus{outline:2px solid #d9b866;outline-offset:1px}.at24-booking input::placeholder,.at24-booking textarea::placeholder{color:#aab4c1;font-weight:400}.at24-trip-options{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 2px 16px}.at24-switch-label{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;color:#1b2d40;cursor:pointer}.at24-switch-label input{position:absolute;opacity:0}.at24-switch{width:39px;height:23px;background:#dce3eb;border-radius:20px;position:relative;transition:.2s}.at24-switch:after{content:"";position:absolute;top:3px;left:3px;width:17px;height:17px;background:white;border-radius:50%;transition:.2s;box-shadow:0 1px 3px #0002}.at24-switch-label input:checked+.at24-switch{background:#b28a40}.at24-switch-label input:checked+.at24-switch:after{left:19px}.at24-trip-tip{font-size:12px;color:#7e8c9b}.at24-return-fields{display:flex;gap:20px;padding:16px 0}.at24-return-fields label,.at24-advanced label,.at24-details-grid label{font-size:13px;font-weight:700;color:#314258;display:flex;flex-direction:column;gap:8px}.at24-return-fields label{flex:1}.at24-advanced{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;border-top:1px solid #f0f2f5;padding-top:18px}.at24-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:29px}.at24-fine{max-width:550px;color:#91a0af;font-size:12px}.at24-btn{display:inline-flex;align-items:center;justify-content:center;gap:17px;border-radius:11px;border:1px solid transparent;cursor:pointer;font-family:inherit;font-size:14px;font-weight:800;min-height:49px;padding:13px 21px;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.at24-primary{background:linear-gradient(125deg,#d2ae64,#efd59e);color:#0b1e30;border-color:#cfad69;box-shadow:0 7px 14px #c6a05233}.at24-primary:hover:not(:disabled){background:#e6c478;transform:translateY(-1px);box-shadow:0 12px 21px #c6a05248}.at24-back{color:#18304a;background:#f2f5f8}.at24-back:hover{background:#e8edf3}.at24-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.at24-btn.is-loading{opacity:.65}.at24-bottom{display:flex;justify-content:space-between;color:#8190a1;font-size:12px;padding:17px 14px}.at24-bottom a{color:#ad853d;text-decoration:none;font-weight:800}.at24-journey-info{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:20px;padding:18px 20px;background:#f5f7fa;border:1px solid #e8edf2;border-radius:14px}.at24-journey-info>div{display:flex;flex-direction:column;gap:3px;flex:1;min-width:220px}.at24-journey-info small{font-size:10px;letter-spacing:.15em;font-weight:800;color:#b08c4c}.at24-journey-info b{font-size:13px;color:#12253a}.at24-journey-info span{color:#8d9aaa;font-size:12px}.at24-vehicles{display:grid;gap:12px}.at24-vehicle{width:100%;text-align:left;display:flex;gap:20px;align-items:center;padding:21px;border:1.5px solid #dfe5ec;border-radius:17px;background:#fff;cursor:pointer;color:#162639;transition:.2s}.at24-vehicle:not(:disabled):hover{border-color:#c9a45d;box-shadow:0 10px 24px #152f4b12}.at24-vehicle.is-selected{border-color:#b68a3c;background:#fffdf6;box-shadow:0 0 0 2px #c5a05c33}.at24-vehicle.is-unavailable{opacity:.45;cursor:not-allowed}.at24-vehicle-icon{width:68px;height:60px;border-radius:13px;background:#091a2d;display:grid;place-items:center;color:#e9d29b;font-size:24px;font-weight:900;font-style:italic}.at24-vehicle-name{flex:1;display:flex;flex-direction:column;gap:2px}.at24-vehicle-name strong{font-size:18px;font-weight:800}.at24-vehicle-name small,.at24-price small{color:#8190a2;font-size:12px}.at24-price{display:flex;align-items:end;flex-direction:column;text-align:right;gap:1px}.at24-price b{font-weight:850;font-size:22px;color:#091e32}.at24-select-round{width:26px;height:26px;border:1px solid #d5dbe3;border-radius:50%;font-size:13px;color:transparent;display:grid;place-items:center}.at24-vehicle.is-selected .at24-select-round{background:#b78d46;color:white;border-color:#b78d46}.at24-quote-note{font-size:12px;color:#708094;margin:10px 0 0}.at24-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.at24-details-grid .at24-span{grid-column:1/-1}.at24-details-grid textarea{resize:vertical}.at24-review-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:19px}.at24-summary-box{border:1px solid #e5e9ee;border-radius:15px;padding:20px}.at24-summary-box h4,.at24-fees h4{margin:0 0 13px;color:#0a2035;font-size:16px}.at24-review-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid #eef1f4;font-size:13px}.at24-review-row:last-child{border-bottom:0}.at24-review-row>span{color:#8290a1;max-width:44%}.at24-review-row strong{color:#26394d;text-align:right;overflow-wrap:anywhere;max-width:60%}.at24-total-box{margin-top:18px;padding:19px 24px;background:#0c223b;color:white;border-radius:15px;display:flex;align-items:center;justify-content:space-between;gap:15px}.at24-total-box>div{display:flex;gap:5px;flex-direction:column}.at24-total-box small{color:#d6b66e;letter-spacing:.15em;font-size:10px;font-weight:800}.at24-total-box strong{color:#fff;font-size:28px;line-height:1.2}.at24-total-box>span{color:#b7c4d2;font-size:12px;max-width:240px;text-align:right}.at24-fees{padding:18px;border:1px solid #e6e9ed;margin-top:16px;border-radius:12px}.at24-terms{display:flex;gap:12px;align-items:flex-start;font-size:13px;color:#586c7e;margin-top:27px}.at24-terms input{margin-top:5px;accent-color:#c6a052}.at24-terms a{color:#9b7636;text-decoration:underline}.at24-confirm{text-align:center;padding:50px 15px 58px}.at24-confirm-icon{margin:0 auto 17px;background:#edddae;color:#182f45;border-radius:50%;height:65px;width:65px;display:grid;place-items:center;font-size:30px;font-weight:bold}.at24-confirm h3{font-size:36px;margin:0 0 8px;color:#0c223b}.at24-confirm p{color:#637689;font-size:15px}.at24-confirm .at24-btn{margin-top:16px}.at24-hp{position:absolute!important;left:-10000px!important;opacity:0!important;height:0!important;width:0!important;pointer-events:none!important}.at24-booking #at24-alert{margin:0 42px 27px;border-radius:10px;background:#fff3f3;color:#972c32;border:1px solid #f7c3c5;font-weight:600;padding:13px 18px;font-size:13px}@media(max-width:1050px){.at24-hero{padding:28px 28px 46px}.at24-steps{padding:22px 26px}.at24-panel{padding:30px 26px}.at24-searchbar{grid-template-columns:1fr 1fr}.at24-searchbar label:nth-child(2){border-right:0}.at24-searchbar label:nth-child(1),.at24-searchbar label:nth-child(2){border-bottom:1px solid #e8edf1}.at24-advanced{grid-template-columns:1fr 1fr}}@media(max-width:650px){.at24-booking{margin:10px auto 20px}.at24-hero{min-height:218px;padding:22px 21px 32px;border-radius:18px 18px 0 0}.at24-logo{height:54px;width:54px}.at24-brand{margin-bottom:20px}.at24-brand b{font-size:13px}.at24-brand span{font-size:8px}.at24-hero-art{right:-90px;opacity:.42}.at24-card{border-radius:0 0 18px 18px}.at24-steps{padding:15px 13px;gap:3px}.at24-step{gap:5px;font-size:10px}.at24-step span{height:27px;width:27px;font-size:10px}.at24-panel{padding:24px 18px}.at24-searchbar{grid-template-columns:1fr}.at24-searchbar label{border:0!important;border-bottom:1px solid #e8edf1!important}.at24-searchbar label:last-child{border-bottom:0!important}.at24-trip-options{align-items:start;flex-direction:column}.at24-advanced,.at24-details-grid,.at24-review-columns{grid-template-columns:1fr}.at24-advanced{gap:13px}.at24-footer{flex-direction:column-reverse;align-items:stretch}.at24-footer .at24-btn{width:100%}.at24-fine{order:-1}.at24-return-fields{flex-direction:column}.at24-vehicle{gap:10px;padding:14px}.at24-vehicle-icon{width:48px;height:48px;font-size:16px}.at24-vehicle-name strong{font-size:14px}.at24-vehicle-name small,.at24-price small{font-size:10px}.at24-price b{font-size:15px}.at24-select-round{display:none}.at24-total-box{align-items:start;flex-direction:column}.at24-total-box>span{text-align:left}.at24-bottom{flex-direction:column;gap:6px}.at24-booking #at24-alert{margin:0 18px 18px}} 
/* V2: minimalist, unbranded premium reservation design. */
.at24-booking{--at24-navy:#121c29;--at24-navy2:#1e2b3b;--at24-gold:#bb9353;--at24-gold2:#f3dfb8;--at24-text:#1a2632;--at24-muted:#73808e;box-shadow:0 22px 70px rgba(25,36,49,.06);border-radius:24px}
.at24-hero{background:radial-gradient(circle at 85% 9%,rgba(246,215,161,.11),transparent 38%),linear-gradient(125deg,#121c29,#243448);min-height:232px}
.at24-hero-art{opacity:.45}.at24-art-dot{font-style:normal!important;font-size:70px!important;color:#e6cb8f!important}
.at24-hero .at24-eyebrow{letter-spacing:.22em}.at24-hero h2{font-weight:750;letter-spacing:-.045em}
.at24-card{border:1px solid #ebe8e2;border-top:0;box-shadow:0 18px 65px rgba(25,36,49,.08)}
.at24-step.is-active span{background:#b78d4b;color:#111c29}
.at24-primary{background:#d5ad66!important;color:#132033!important;border:1px solid #d5ad66!important}
.at24-primary:hover{background:#eed29b!important}
.at24-searchbar{border:1px solid #ebe7df}
.at24-extras{margin:28px 0 0;background:#f8f6f1;border:1px solid #ece6da;border-radius:15px;padding:20px;display:flex;flex-direction:column;gap:13px}
.at24-extras>strong{font-size:17px;color:#142236;margin-bottom:2px}
.at24-extras label{display:flex;align-items:center;gap:10px;color:#26394e;font-size:14px}
.at24-extras label>span{margin-left:auto;color:#9f7d46;font-weight:700}
.at24-extras label:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.at24-extras input[type=checkbox]{accent-color:#b48b47;width:18px;height:18px}
.at24-extras input[type=text]{width:100%;max-width:360px;min-height:44px;padding:9px 13px;border:1px solid #d9d8d4;border-radius:8px}
.at24-pay-select{display:grid;gap:12px;border:1px solid #e6e4df;border-radius:15px;padding:17px 20px;margin:23px 0 14px;color:#172639}
.at24-pay-select legend{color:#122237;font-size:15px;font-weight:800;padding:0 5px}
.at24-pay-select label{display:flex;gap:12px;align-items:center;font-size:14px;cursor:pointer}
.at24-pay-select input{accent-color:#bd9556}
@media(max-width:650px){.at24-extras{padding:15px}.at24-hero-art{opacity:.20}.at24-hero{min-height:200px}}
/* v2.0.2 — compact horizontal, unbranded booking bar inspired by reference. */
.at24-booking{
  --at24-gold:#d3ac65;
  --at24-ink:#132239;
  max-width:1260px;
  margin:12px auto 32px;
  border:0;
  border-radius:12px;
  box-shadow:0 9px 32px rgba(24,37,55,.055);
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
.at24-booking .at24-compact-card{
  margin-top:0;
  border:1px solid #eaeaf0;
  border-radius:11px;
  background:#fff;
  box-shadow:0 6px 18px rgba(20,31,48,.025);
  overflow:visible;
}
.at24-booking .at24-steps{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  padding:18px 24px 14px;
  background:#fbfbfc;
  border-bottom:1px solid #e8e6e2;
  border-radius:11px 11px 0 0;
}
.at24-booking .at24-step{
  gap:8px;
  color:#9ba2b1;
  font-size:11px;
  line-height:1.2;
  font-weight:700;
  white-space:nowrap;
}
.at24-booking .at24-step b{font-weight:760;color:inherit}
.at24-booking .at24-step span{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:24px;
  height:24px;
  flex:0 0 24px;
  border:0;
  border-radius:50%;
  background:#f0f1f5;
  color:#8a92a1;
  font-size:9px;
  font-weight:800;
  letter-spacing:0;
}
.at24-booking .at24-step.is-active{color:#101e32}
.at24-booking .at24-step.is-active span{background:#d3ad66;color:#151e2d}
.at24-booking .at24-step.is-done{color:#5c7185}
.at24-booking .at24-step.is-done span{background:#18314b;color:#fff}
.at24-booking .at24-panel-search{padding:12px 16px 9px}
.at24-booking .at24-searchbar{
  display:grid;
  grid-template-columns:minmax(0,1.52fr) minmax(0,1.52fr) minmax(112px,.86fr) minmax(102px,.78fr) minmax(132px,.75fr);
  gap:0;
  border:0;
  border-radius:9px;
  box-shadow:none;
  overflow:visible;
  background:transparent;
  align-items:stretch;
}
.at24-booking .at24-searchbar label{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:2px;
  padding:7px 11px 6px;
  min-height:58px;
  background:#fff;
  border:1px solid #e3e1dc;
  border-right:0;
  border-bottom:1px solid #e3e1dc;
  cursor:text;
  text-align:left;
  box-sizing:border-box;
}
.at24-booking .at24-searchbar label:first-child{border-radius:8px 0 0 8px}
.at24-booking .at24-searchbar label.at24-search-time{border-right:1px solid #e3e1dc;border-radius:0 8px 8px 0}
.at24-booking .at24-searchbar label span{
  display:block;
  margin:0;
  color:#233954;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.025em;
  line-height:1.35;
}
.at24-booking .at24-searchbar label input{
  display:block;
  width:100%;
  max-width:100%;
  min-width:0;
  min-height:22px;
  height:24px;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  outline:none;
  background:transparent;
  font-size:12px;
  line-height:1.35;
  font-weight:550;
  color:#162943;
  font-family:inherit;
  transition:none;
}
.at24-booking .at24-searchbar label input::placeholder{color:#9cabc0;opacity:1;font-weight:400}
.at24-booking .at24-searchbar label:focus-within{
  border-color:#c39b53;
  box-shadow:inset 0 0 0 1px #c39b53;
  z-index:1;
}
.at24-booking .at24-searchbar label input:focus{outline:none!important;box-shadow:none!important;transform:none!important;border:0!important}
.at24-booking .at24-searchbar .at24-search-submit{
  min-width:0;
  width:calc(100% - 8px);
  min-height:58px;
  height:58px;
  margin-left:8px;
  padding:9px 10px;
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:10px;
  border-radius:8px;
  border:0!important;
  background:#d8b16e!important;
  box-shadow:none;
  color:#132036!important;
  font-size:12px;
  font-weight:850;
  line-height:1.18;
  white-space:nowrap;
  text-decoration:none;
  cursor:pointer;
}
.at24-booking .at24-searchbar .at24-search-submit:hover:not(:disabled),
.at24-booking .at24-searchbar .at24-search-submit:focus-visible{
  background:#e8c88f!important;
  transform:none;
  box-shadow:0 0 0 3px rgba(216,177,110,.20);
}
.at24-booking .at24-search-submit span{font-size:18px;line-height:1}
.at24-booking .at24-more-options{margin-top:7px;color:#42536a;font-size:12px}
.at24-booking .at24-more-options>summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  padding:6px 0 6px 4px;
  font-size:12px;
  font-weight:700;
  color:#6e7786;
  user-select:none;
}
.at24-booking .at24-more-options>summary::-webkit-details-marker{display:none}
.at24-booking .at24-more-options>summary:focus-visible{outline:2px solid #c09a57;outline-offset:3px;border-radius:3px}
.at24-booking .at24-more-icon{
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  font-size:16px;
  font-weight:400;
  line-height:1;
  color:#9f793b;
  background:#fbf4e5;
  border-radius:50%;
}
.at24-booking .at24-more-description{color:#9ba3af;font-weight:400;font-size:11px;margin-left:7px}
.at24-booking .at24-hide-label{display:none}
.at24-booking .at24-more-options[open] .at24-show-label{display:none}
.at24-booking .at24-more-options[open] .at24-hide-label{display:inline}
.at24-booking .at24-more-options[open] .at24-more-icon{transform:rotate(45deg)}
.at24-booking .at24-more-body{
  padding:0 6px 12px;
  margin-top:8px;
  border-top:1px solid #eceef1;
}
.at24-booking .at24-more-body .at24-trip-options{padding:17px 0 12px}
.at24-booking .at24-more-body .at24-return-fields{padding:10px 0 17px}
.at24-booking .at24-more-body .at24-advanced{padding-top:15px;gap:14px}
.at24-booking .at24-more-body input:not([type=checkbox]),
.at24-booking .at24-more-body select{font-size:13px;border:1px solid #e0e5ec;border-radius:7px;background:white;min-height:40px;padding:8px 10px;width:100%;max-width:100%;color:#18304b}
.at24-booking .at24-more-note{font-size:11px;color:#8794a5;margin:13px 0 0;line-height:1.5}
.at24-booking [hidden]{display:none!important}
.at24-booking .at24-bottom{font-size:11px;padding:12px 17px}
@media(max-width:900px){
  .at24-booking .at24-steps{padding:14px 15px 12px}
  .at24-booking .at24-panel-search{padding:10px 11px 6px}
  .at24-booking .at24-searchbar{grid-template-columns:minmax(0,1.32fr) minmax(0,1.32fr) minmax(104px,.92fr) minmax(95px,.78fr) minmax(112px,.84fr)}
  .at24-booking .at24-searchbar label{padding:6px 8px;min-height:53px}
  .at24-booking .at24-searchbar label input{font-size:11px;min-height:22px}
  .at24-booking .at24-searchbar label span{font-size:8px}
  .at24-booking .at24-searchbar .at24-search-submit{min-height:53px;height:53px;font-size:11px;gap:5px}
  .at24-booking .at24-step{font-size:10px;gap:6px}
}
@media(max-width:650px){
  .at24-booking .at24-steps{padding:14px 12px 12px;gap:5px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .at24-booking .at24-step{gap:4px;font-size:9px}
  .at24-booking .at24-step span{width:20px;height:20px;flex:0 0 20px;font-size:8px}
  .at24-booking .at24-panel-search{padding:8px}
  .at24-booking .at24-more-description{font-size:10px}
}
@media(max-width:610px){
  .at24-booking .at24-searchbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .at24-booking .at24-searchbar label{border:1px solid #e3e1dc!important;border-radius:7px!important;min-height:53px;padding:7px 10px}
  .at24-booking .at24-searchbar .at24-search-submit{grid-column:1/-1;margin:0;width:100%;min-height:48px;height:48px;font-size:13px}
  .at24-booking .at24-more-description{flex-basis:100%;margin-left:25px}
  .at24-booking .at24-more-body .at24-trip-options{align-items:flex-start}
  .at24-booking .at24-more-body .at24-advanced{grid-template-columns:1fr 1fr}
}
@media(max-width:420px){
  .at24-booking .at24-step b{font-size:8px}
  .at24-booking .at24-step{gap:3px}
  .at24-booking .at24-step span{width:19px;height:19px;flex:0 0 19px}
  .at24-booking .at24-searchbar label span{font-size:8px}
  .at24-booking .at24-searchbar label input{font-size:11px}
  .at24-booking .at24-more-body .at24-advanced{grid-template-columns:1fr}
}

/* Keep the reference screenshot's uninterrupted, outlined single-row fields
   between tablet and phone sizes, even over the previous mobile rules. */
@media(min-width:611px) and (max-width:650px){
  .at24-booking .at24-steps{padding:10px 10px 8px}
  .at24-booking .at24-searchbar label{
    border:1px solid #e3e1dc!important;
    border-right:0!important;
    border-bottom:1px solid #e3e1dc!important;
    min-height:44px!important;
    padding:5px 7px!important;
  }
  .at24-booking .at24-searchbar label.at24-search-time{border-right:1px solid #e3e1dc!important}
  .at24-booking .at24-searchbar label span{font-size:7.5px}
  .at24-booking .at24-searchbar label input{font-size:10px;min-height:19px;height:20px}
  .at24-booking .at24-searchbar .at24-search-submit{
    min-height:44px;height:44px;font-size:9px;gap:3px;padding:6px 4px;white-space:nowrap;
  }
  .at24-booking .at24-search-submit span{font-size:14px}
}

/* v2.0.3 — vehicle photography and compact address suggestions. */
.at24-booking .at24-searchbar label.at24-search-pickup,
.at24-booking .at24-searchbar label.at24-search-destination{position:relative;overflow:visible;z-index:5}
.at24-booking .at24-searchbar label.at24-search-destination{z-index:4}
.at24-booking .at24-location-combo{display:block;position:relative;min-width:0;width:100%;line-height:1.3;}
.at24-booking .at24-location-combo input{font:inherit;font-size:12px;font-weight:550;min-height:24px;padding:0;margin:0;width:100%;}
.at24-booking .at24-suggestions{position:absolute;z-index:9999;top:calc(100% + 13px);left:-12px;right:-12px;max-height:280px;overflow:auto;padding:5px;background:#fff;border:1px solid #dec795;border-radius:10px;box-shadow:0 15px 35px rgba(8,28,47,.19)}
.at24-booking .at24-suggestions[hidden]{display:none!important}
.at24-booking .at24-suggestion{display:block;width:100%;border:0;border-radius:7px;background:#fff;color:#162a43;text-align:left;padding:11px 12px;line-height:1.4;font-size:12px;font-weight:600;cursor:pointer;white-space:normal;overflow-wrap:anywhere}
.at24-booking .at24-suggestion:hover,.at24-booking .at24-suggestion.is-active{background:#f7f0df;color:#18263a}
.at24-booking .at24-location-help{margin:0;color:#746e65;background:#f9f6ef;border-radius:6px;padding:11px 12px;font-size:12px;font-weight:500;line-height:1.5}
.at24-booking .at24-vehicle{padding:13px 18px 13px 13px;gap:18px;min-height:120px}
.at24-booking .at24-vehicle-media{flex:0 0 183px;display:flex;align-items:center;justify-content:center;min-width:0;height:109px;background:linear-gradient(160deg,#f7f8fa,#edf0f4);border-radius:12px;overflow:hidden}
.at24-booking .at24-vehicle-media img{width:100%;height:100%;object-fit:contain;object-position:center;display:block;filter:drop-shadow(0px 5px 5px rgba(0,0,0,.16));}
.at24-booking .at24-vehicle-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#243a52;gap:0}
.at24-booking .at24-vehicle-fallback small{font-weight:800;font-size:11px;letter-spacing:.12em;color:#9d7946}
.at24-booking .at24-vehicle-name strong{font-size:18px;line-height:1.3}
@media(max-width:700px){.at24-booking .at24-vehicle-media{flex:0 0 112px;height:85px}.at24-booking .at24-vehicle{gap:9px;min-height:102px;padding:9px}.at24-booking .at24-vehicle-name strong{font-size:14px}.at24-booking .at24-vehicle-name small{font-size:11px}.at24-booking .at24-price b{font-size:16px}}
@media(max-width:390px){.at24-booking .at24-vehicle{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px}.at24-booking .at24-vehicle-media{width:100%;height:75px}.at24-booking .at24-price{grid-column:2;align-items:flex-start;text-align:left}.at24-booking .at24-select-round{display:none}}

/* v2.0.4 — dense, responsive four-step booking flow. UI-only; fares unchanged. */
.at24-booking{
  --at24-cmp-border:#e8e8e8;
  --at24-cmp-gold:#d7ad62;
  --at24-cmp-ink:#172638;
  container-type:inline-size;
  container-name:at24;
  max-width:1160px;
  margin:10px auto 24px;
  line-height:1.42;
}
.at24-booking .at24-compact-card{
  border-color:var(--at24-cmp-border);
  border-radius:12px;
  box-shadow:0 7px 26px rgba(16,29,49,.05);
}
.at24-booking .at24-steps{
  gap:8px;
  padding:11px 18px;
  background:#fcfcfd;
}
.at24-booking .at24-step{font-size:11px;gap:7px}
.at24-booking .at24-step span{width:22px;height:22px;flex:0 0 22px;font-size:9px}
.at24-booking .at24-panel:not(.at24-panel-search){padding:17px 20px 19px}
.at24-booking .at24-panel-heading{margin-bottom:11px}
.at24-booking .at24-panel-heading span{font-size:9px;letter-spacing:.1em;margin:0 0 3px}
.at24-booking .at24-panel-heading h3{font-size:clamp(19px,2vw,23px);line-height:1.18;margin:0;color:var(--at24-cmp-ink);letter-spacing:-.02em}
.at24-booking .at24-panel-heading p{margin:4px 0 0;font-size:12px;color:#798593;line-height:1.4}
.at24-booking .at24-panel-search{padding:10px 12px 7px}
.at24-booking .at24-btn:not(.at24-search-submit){min-height:38px;padding:8px 15px;font-size:12px;gap:8px;border-radius:8px;line-height:1.3}
.at24-booking .at24-footer{gap:10px;margin-top:14px}
.at24-booking .at24-bottom{padding:8px 13px;gap:12px;font-size:10px}
.at24-booking .at24-journey-info{
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);
  gap:10px;
  margin:0 0 12px;
  padding:10px 13px;
  background:#f8f9fb;
  border-radius:9px;
  border-color:#e7e9ed;
}
.at24-booking .at24-journey-info>div{min-width:0;gap:1px}
.at24-booking .at24-journey-info small{font-size:9px;letter-spacing:.08em}
.at24-booking .at24-journey-info b{font-size:11px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.at24-booking .at24-journey-info span{font-size:10px;line-height:1.3}
.at24-booking .at24-journey-info span:empty{display:none}
.at24-booking .at24-vehicles{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  align-items:stretch;
}
.at24-booking .at24-vehicle{
  position:relative;
  display:grid;
  grid-template-columns:106px minmax(0,1fr) 20px;
  grid-template-rows:minmax(0,1fr) auto;
  gap:3px 9px;
  align-items:center;
  width:100%;
  min-width:0;
  min-height:98px;
  height:auto;
  padding:9px 11px 9px 9px;
  margin:0;
  border:1px solid #e4e8ed;
  border-radius:10px;
  box-shadow:none;
  background:#fff;
  transition:border-color .15s,background .15s,box-shadow .15s;
}
.at24-booking .at24-vehicle:hover:not(:disabled){border-color:#c6a260;box-shadow:0 3px 12px rgba(16,34,53,.08)}
.at24-booking .at24-vehicle:focus-visible{outline:2px solid #b68943;outline-offset:2px}
.at24-booking .at24-vehicle.is-selected{border-color:#b58842;box-shadow:inset 0 0 0 1px #b58842;background:#fffaf0}
.at24-booking .at24-vehicle-media{
  grid-column:1;
  grid-row:1 / 3;
  width:100%;
  min-width:0;
  height:76px;
  flex:none;
  border-radius:8px;
  background:#f6f7f9;
  padding:1px;
}
.at24-booking .at24-vehicle-media img{max-width:100%;max-height:100%;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 2px rgba(0,0,0,.10))}
.at24-booking .at24-vehicle-fallback svg{width:65px;height:auto}
.at24-booking .at24-vehicle-name{grid-column:2;grid-row:1;display:flex;align-self:end;gap:2px;min-width:0}
.at24-booking .at24-vehicle-name strong{font-size:14px;line-height:1.28;letter-spacing:-.015em;color:#172539}
.at24-booking .at24-vehicle-name small{font-size:10px;line-height:1.28;color:#788697}
.at24-booking .at24-price{grid-column:2;grid-row:2;align-self:start;align-items:flex-start;text-align:left;min-width:0;gap:0}
.at24-booking .at24-price b{font-size:17px;line-height:1.2;color:#af7b31;font-weight:800}
.at24-booking .at24-price small{display:none}
.at24-booking .at24-select-round{grid-column:3;grid-row:1;align-self:start;margin:1px 0 0;width:18px;height:18px;font-size:10px;border-color:#dce0e6}
.at24-booking .at24-vehicle.is-unavailable{opacity:.55}
.at24-booking .at24-quote-note{font-size:10.5px;margin:6px 1px 0;line-height:1.45;color:#768494}
/* Essentials only first; optional passenger requests remain available on demand. */
.at24-booking .at24-details-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.at24-booking .at24-details-grid label,.at24-booking .at24-advanced label,.at24-booking .at24-return-fields label{font-size:11px;gap:4px;color:#31445d;font-weight:700;min-width:0}
.at24-booking .at24-details-grid input,.at24-booking .at24-details-grid textarea,
.at24-booking .at24-extras input[type=text]{min-height:38px;height:38px;padding:8px 10px;border-radius:7px;font-size:13px;border-color:#dfe4eb}
.at24-booking .at24-details-grid textarea{height:57px;min-height:57px;resize:vertical}
.at24-booking .at24-additional{margin-top:12px;border:1px solid #e7e9ed;border-radius:9px;background:#fff}
.at24-booking .at24-additional>summary{display:flex;align-items:center;gap:9px;cursor:pointer;padding:10px 12px;list-style:none;font-size:12px;color:#1f3046;line-height:1.3}
.at24-booking .at24-additional>summary::-webkit-details-marker{display:none}
.at24-booking .at24-additional>summary:focus-visible{outline:2px solid #bf964d;outline-offset:1px}
.at24-booking .at24-additional-icon{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:#f8f0e1;color:#946c34;font-size:17px;font-weight:400;flex-shrink:0}
.at24-booking .at24-additional[open] .at24-additional-icon{transform:rotate(45deg)}
.at24-booking .at24-additional-hint{margin-left:auto;color:#8c98a7;font-weight:500;font-size:10px}
.at24-booking .at24-additional-body{border-top:1px solid #edf0f2;padding:12px}
.at24-booking .at24-details-optional{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.at24-booking .at24-details-optional .at24-span{grid-column:auto}
.at24-booking .at24-extras{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 13px;margin:12px 0 0;padding:11px 12px;border-radius:8px}
.at24-booking .at24-extras>strong{grid-column:1/-1;margin:0;font-size:12px;color:#24354a}
.at24-booking .at24-extras label{gap:6px;font-size:11px;line-height:1.35;min-width:0}
.at24-booking .at24-extras label>span{font-size:11px;white-space:nowrap}
.at24-booking .at24-extras label:last-child{gap:4px}
.at24-booking .at24-extras input[type=checkbox]{width:15px;height:15px;flex:0 0 15px}
.at24-booking .at24-extras input[type=text]{max-width:none;width:100%;min-width:0}
/* Compact but fully legible pricing & passenger review. */
.at24-booking .at24-review-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.at24-booking .at24-summary-box{padding:11px 13px;border-radius:9px;border-color:#e7e9ef;min-width:0}
.at24-booking .at24-summary-box h4{font-size:13px;margin:0 0 4px;color:#24344b}
.at24-booking .at24-review-row{gap:9px;padding:5px 0;font-size:11px;line-height:1.35}
.at24-booking .at24-review-row>span{color:#78899a;max-width:40%;min-width:0}
.at24-booking .at24-review-row strong{font-weight:650;max-width:65%;text-align:right;color:#223347}
.at24-booking .at24-total-box{margin-top:10px;padding:12px 15px;border-radius:9px;min-height:63px}
.at24-booking .at24-total-box small{font-size:9px;letter-spacing:.09em}
.at24-booking .at24-total-box strong{font-size:23px}
.at24-booking .at24-total-box>span{font-size:10px;max-width:45%}
.at24-booking .at24-fees{padding:0;margin:9px 0 0;border:1px solid #e5e9ed;border-radius:9px;background:#fff}
.at24-booking .at24-fees>summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;list-style:none;padding:9px 12px;color:#52657b;font-size:11px;font-weight:700}
.at24-booking .at24-fees>summary::-webkit-details-marker{display:none}
.at24-booking .at24-fees>summary:focus-visible{outline:2px solid #c0a06c}
.at24-booking .at24-fees>summary>span{color:#a17a3f;font-size:16px;font-weight:400}
.at24-booking .at24-fees[open]>summary>span{transform:rotate(45deg)}
.at24-booking .at24-fees-body{padding:3px 12px 10px;border-top:1px solid #edf0f2}
.at24-booking .at24-pay-select{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:10px 12px;margin:12px 0 10px;border-radius:9px;font-size:11px}
.at24-booking .at24-pay-select legend{font-size:12px}
.at24-booking .at24-pay-select label{font-size:11px;gap:7px;line-height:1.35}
.at24-booking .at24-pay-select input{flex-shrink:0}
.at24-booking .at24-terms{margin-top:11px;font-size:11px;gap:9px;line-height:1.4}
.at24-booking .at24-terms input{margin-top:2px}
.at24-booking .at24-confirm{padding:22px 10px 27px}
.at24-booking .at24-confirm-icon{width:48px;height:48px;font-size:22px;margin-bottom:9px}
.at24-booking .at24-confirm h3{font-size:24px}
.at24-booking .at24-confirm p{font-size:12px}
.at24-booking #at24-alert{margin:0 20px 12px;padding:9px 12px;font-size:11px}
@media(max-width:780px){
  .at24-booking .at24-vehicle{grid-template-columns:90px minmax(0,1fr) 18px;gap:3px 8px}
  .at24-booking .at24-vehicle-media{height:66px}
  .at24-booking .at24-vehicle-name strong{font-size:13px}
  .at24-booking .at24-panel:not(.at24-panel-search){padding:14px 15px 16px}
}
@media(max-width:700px){
  .at24-booking .at24-vehicles{grid-template-columns:1fr}
  .at24-booking .at24-vehicle{grid-template-columns:110px minmax(0,1fr) 20px;min-height:85px}
  .at24-booking .at24-vehicle-media{height:65px}
  .at24-booking .at24-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .at24-booking .at24-pay-select{grid-template-columns:1fr}
}
@media(max-width:470px){
  .at24-booking .at24-steps{padding:9px 7px;gap:3px}
  .at24-booking .at24-step{font-size:9px;gap:4px}
  .at24-booking .at24-step span{width:19px;height:19px;flex-basis:19px;font-size:8px}
  .at24-booking .at24-panel:not(.at24-panel-search){padding:13px 11px 14px}
  .at24-booking .at24-journey-info{grid-template-columns:1fr;gap:5px;padding:8px 10px}
  .at24-booking .at24-vehicle{display:grid;grid-template-columns:91px minmax(0,1fr) 18px;grid-template-rows:minmax(0,1fr) auto;gap:3px 8px;min-height:80px;padding:7px}
  .at24-booking .at24-vehicle-media{grid-column:1;grid-row:1 / 3;width:100%;height:64px}
  .at24-booking .at24-vehicle-name{grid-column:2;grid-row:1}
  .at24-booking .at24-vehicle-name strong{font-size:13px}
  .at24-booking .at24-vehicle-name small{font-size:10px}
  .at24-booking .at24-price{grid-column:2;grid-row:2}
  .at24-booking .at24-price b{font-size:16px}
  .at24-booking .at24-select-round{grid-column:3;grid-row:1;display:grid}
  .at24-booking .at24-details-grid,.at24-booking .at24-details-optional{grid-template-columns:1fr}
  .at24-booking .at24-extras{grid-template-columns:1fr 1fr}
  .at24-booking .at24-extras label:last-child{grid-column:1/-1}
  .at24-booking .at24-review-columns{grid-template-columns:1fr;gap:8px}
  .at24-booking .at24-total-box{align-items:flex-start;flex-direction:row}
  .at24-booking .at24-total-box>span{text-align:right}
  .at24-booking .at24-footer{flex-direction:row;align-items:center;gap:8px}
  .at24-booking .at24-footer .at24-btn{width:auto;flex:1;min-width:0;padding:9px 6px;font-size:11px}
}
/* Container fallback for narrow Elementor/widget columns inside a wide viewport. */
@container at24 (max-width:700px){
  .at24-vehicles{grid-template-columns:1fr!important}
  .at24-vehicle{grid-template-columns:110px minmax(0,1fr) 20px!important}
  .at24-vehicle-media{height:66px!important}
  .at24-details-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@container at24 (max-width:470px){
  .at24-vehicle{grid-template-columns:91px minmax(0,1fr) 18px!important;grid-template-rows:minmax(0,1fr) auto!important}
  .at24-vehicle-media{grid-column:1!important;grid-row:1/3!important;height:64px!important}
  .at24-vehicle-name{grid-column:2!important;grid-row:1!important}
  .at24-price{grid-column:2!important;grid-row:2!important}
  .at24-select-round{grid-column:3!important;grid-row:1!important;display:grid!important}
  .at24-details-grid,.at24-details-optional,.at24-review-columns{grid-template-columns:1fr!important}
  .at24-journey-info{grid-template-columns:1fr!important}
  .at24-footer{flex-direction:row!important}
  .at24-footer .at24-btn{min-width:0;flex:1;font-size:11px;padding:8px 6px}
}
/* The legacy generic input selector must not size native payment radio controls. */
.at24-booking .at24-pay-select input[type="radio"]{
  appearance:auto;
  -webkit-appearance:radio;
  display:inline-block;
  position:static;
  width:16px!important;
  height:16px!important;
  min-width:16px!important;
  min-height:16px!important;
  max-width:16px!important;
  max-height:16px!important;
  flex:0 0 16px;
  margin:0;
  padding:0!important;
  border:0;
  border-radius:50%;
  box-shadow:none;
  transform:none;
  accent-color:#c49a53;
}
.at24-booking .at24-pay-select label{min-width:0;justify-content:flex-start;align-items:center;white-space:normal;overflow-wrap:anywhere}
@container at24 (max-width:610px){
  .at24-panel-search{padding:8px}
  .at24-searchbar{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}
  .at24-searchbar label,.at24-searchbar label.at24-search-time{
    min-height:50px!important;border:1px solid #e3e1dc!important;
    border-radius:7px!important;padding:6px 9px!important;
  }
  .at24-searchbar .at24-search-submit{grid-column:1/-1;min-height:44px;height:44px;width:100%;margin:0;font-size:12px}
  .at24-more-description{flex-basis:100%;margin-left:24px}
  .at24-more-body .at24-advanced{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@container at24 (max-width:420px){
  .at24-steps{padding:9px 7px;gap:3px}
  .at24-step{gap:3px;font-size:9px}
  .at24-step span{width:19px;height:19px;flex:0 0 19px;font-size:8px}
  .at24-panel:not(.at24-panel-search){padding:12px 10px 14px}
  .at24-more-body .at24-advanced{grid-template-columns:1fr}
}
