.srbx-wrap{max-width:1180px;margin:0 auto;padding:20px 18px 60px;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;color:#1e3040}.srbx-hero{background:linear-gradient(135deg,#0f7658 0%,#0c8c94 48%,#1e9ec9 100%);color:#fff;border-radius:22px;padding:34px 38px;box-shadow:0 18px 50px rgba(9,95,114,.18)}.srbx-brand{font-size:11px;letter-spacing:.16em;font-weight:900;opacity:.92}.srbx-hero h2{margin:8px 0 5px;font-size:38px;line-height:1.05}.srbx-hero p{margin:0;font-size:15px}.srbx-search-card{background:#fff;border-radius:22px;padding:22px 26px 16px;box-shadow:0 16px 48px rgba(27,59,75,.12);margin:-16px 20px 18px;position:relative;z-index:4}.srbx-tabs{display:flex;justify-content:center;margin-bottom:22px;border-radius:10px;overflow:hidden;border:1px solid #b8c9d0;width:max-content;margin-left:auto;margin-right:auto}.srbx-tab{border:0;background:#fff;padding:13px 26px;font-weight:900;letter-spacing:.04em;cursor:pointer;color:#253844}.srbx-tab+.srbx-tab{border-left:1px solid #b8c9d0}.srbx-tab.active{background:#159bd1;color:#fff}.srbx-main-grid{display:grid;grid-template-columns:1.1fr 28px 1.1fr .9fr .9fr .9fr .9fr;gap:16px;align-items:end}.srbx-location-block label,.srbx-compact-field label,.srbx-passenger-field label{display:block;font-size:12px;font-weight:900;letter-spacing:.05em;margin-bottom:6px;color:#203a49}.srbx-autocomplete{position:relative}.srbx-autocomplete input{border:0;border-bottom:2px solid #b6c6cf;border-radius:0;padding:8px 8px 10px 26px;font-size:15px;width:100%;box-sizing:border-box}.srbx-autocomplete input:focus{outline:none;border-bottom-color:#159bd1}.srbx-compact-field input,.srbx-passenger-field select{width:100%;border:0;border-bottom:2px solid #b6c6cf;padding:8px 4px 10px;background:#fff;font-size:15px;box-sizing:border-box}.srbx-compact-field input:focus,.srbx-passenger-field select:focus{outline:none;border-bottom-color:#159bd1}.srbx-suggest{display:block;width:100%;text-align:left;background:#fff;border:0;border-bottom:1px solid #eef2f3;padding:14px 16px;cursor:pointer}.srbx-suggest:hover{background:#eef9fc}.srbx-suggest b{display:block;color:#1390bf;font-size:14px}.srbx-suggest small{display:block;color:#61717a;font-size:12px;margin-top:4px}.srbx-swap{width:28px;height:28px;border-radius:50%;border:0;background:#eef7fa;color:#159bd1;font-size:22px;cursor:pointer;margin-bottom:4px}.srbx-return-date-field,.srbx-return-time-field{transition:opacity .2s}.srbx-explore{display:block;margin:20px auto -7px;border:0;background:#f36a1f;color:#fff;padding:15px 40px;border-radius:6px;font-weight:900;font-size:17px;letter-spacing:.03em;box-shadow:0 10px 24px rgba(243,106,31,.22);cursor:pointer}.srbx-explore:disabled{opacity:.6;cursor:not-allowed}.srbx-status{text-align:center;font-size:12px;min-height:18px;margin-top:12px;color:#a44836}.srbx-status.ok{color:#167447}.srbx-popular-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:15px 20px 22px}.srbx-popular-title{font-size:12px;font-weight:900;color:#6a7c85;letter-spacing:.06em}.srbx-city-chip{border:1px solid #d0e2e9;background:#fff;color:#1390bf;border-radius:999px;padding:8px 14px;font-weight:800;cursor:pointer}.srbx-city-chip:hover{background:#eef9fc}.srbx-results{margin-top:18px}.srbx-trip-summary{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;background:#f1f9fc;border:1px solid #d6e8ef;border-radius:14px;padding:16px;margin-bottom:14px}.srbx-trip-summary span{display:block;color:#6b7d87;font-size:11px;text-transform:uppercase}.srbx-trip-summary strong{display:block;margin-top:4px;font-size:15px}.srbx-package-wrap{background:#f7fbf8;border:1px solid #d5eadc;border-radius:16px;padding:15px;margin-bottom:16px}.srbx-section-title{font-weight:900;color:#0d7656;font-size:13px;margin-bottom:10px}.srbx-package-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.srbx-package-card{background:#fff;border:1px solid #d5eadc;border-radius:12px;padding:14px;text-align:left;display:flex;justify-content:space-between;gap:10px;cursor:pointer}.srbx-package-card.selected,.srbx-package-card:hover{border-color:#0d7656;background:#effaf4}.srbx-package-card b{display:block;color:#21423a}.srbx-package-card span{display:block;color:#6d7e84;font-size:11px;margin-top:3px}.srbx-package-card strong{color:#0d7656;white-space:nowrap}.srbx-results-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin:20px 0 12px}.srbx-results-head h3{margin:0;font-size:22px}.srbx-results-head p{margin:4px 0 0;color:#6c7b84;font-size:13px}.srbx-filter{display:flex;gap:8px;align-items:center}.srbx-filter label{font-size:12px;font-weight:800}.srbx-filter select{border:1px solid #c7d8df;border-radius:10px;padding:8px 12px;background:#fff}.srbx-vehicle-list{display:flex;flex-direction:column;gap:12px}.srbx-car{display:grid;grid-template-columns:160px 1fr 160px;gap:18px;align-items:center;background:#fff;border:1px solid #ccd8dd;border-radius:15px;overflow:hidden;box-shadow:0 4px 12px rgba(27,60,74,.05)}.srbx-car.selected{border-color:#159bd1;box-shadow:0 0 0 2px rgba(21,155,209,.12)}.srbx-car-img{height:100%;min-height:160px;background:linear-gradient(135deg,#eef7fa,#f7f7f7);display:flex;align-items:center;justify-content:center}.srbx-car-icon{font-size:62px}.srbx-car-main{padding:18px 0}.srbx-car-main h4{margin:0;font-size:20px}.srbx-car-sub{color:#60737c;font-size:12px;margin-top:5px}.srbx-car-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.srbx-car-tags span{font-size:11px;color:#4c6871;background:#f3f8fa;border-radius:999px;padding:6px 9px}.srbx-car-rate{font-size:20px;font-weight:900;color:#1590bf;margin-top:10px}.srbx-select-car{background:#f36a1f;color:#fff;border:0;padding:11px 18px;border-radius:5px;font-weight:900;margin-top:12px;cursor:pointer}.srbx-car>div:last-child{padding-right:20px;text-align:right}.srbx-empty{padding:18px;border:1px dashed #d2dee3;border-radius:14px;background:#fbfdfe;text-align:center;color:#687c85}.srbx-route-area{display:grid;grid-template-columns:1fr;gap:18px;margin-top:20px}.srbx-route-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.srbx-route-metrics div{background:#f8fbfc;border:1px solid #dce7ec;border-radius:12px;padding:12px}.srbx-route-metrics span{display:block;font-size:10px;color:#6b7c84;font-weight:800}.srbx-route-metrics b{display:block;font-size:18px;margin-top:3px}.srbx-map{height:420px;border-radius:15px;overflow:hidden;border:1px solid #d7e0e5}.srbx-fare{background:#fff;border:1px solid #ccd8dd;border-radius:15px;padding:18px;box-shadow:0 4px 12px rgba(27,60,74,.05)}.srbx-fare h3{margin-top:0}.srbx-line{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #eef2f3}.srbx-total{display:flex;justify-content:space-between;align-items:end;padding:14px 0;border-top:2px solid #203a49;margin-top:8px}.srbx-total strong{font-size:27px;color:#1590bf}.srbx-advance{background:#eef9fc;border-radius:12px;padding:13px;margin-top:10px}.srbx-advance span{display:block;font-size:12px;font-weight:800}.srbx-advance strong{display:block;font-size:24px;color:#0d7656;margin-top:3px}.srbx-advance small{display:block;color:#61737d;margin-top:6px;line-height:1.45}.srbx-contact{margin-top:15px}.srbx-contact h4{margin:0 0 9px}.srbx-grid3{display:grid;grid-template-columns:1fr;gap:8px}.srbx-grid3 label{display:block;font-size:11px;font-weight:800;margin-bottom:4px}.srbx-grid3 input{width:100%;box-sizing:border-box;border:1px solid #cbd9df;border-radius:9px;padding:10px;background:#fff}.srbx-pay{width:100%;margin-top:15px;background:#1590bf;color:#fff;border:0;border-radius:7px;padding:13px;font-weight:900;cursor:pointer}.srbx-pay:disabled{opacity:.55;cursor:not-allowed}.srbx-note{margin-top:14px;padding:12px;background:#fff9df;border:1px solid #f0e0a6;border-radius:10px;color:#6d5d20;font-size:11px;line-height:1.5}.srbx-success{margin-top:10px;padding:12px;border-radius:10px;background:#e6f7ec;color:#18673e;font-weight:800}@media(max-width:1000px){.srbx-main-grid{grid-template-columns:1fr 28px 1fr}.srbx-compact-field:nth-of-type(n){grid-column:auto}.srbx-route-area{grid-template-columns:1fr}.srbx-package-list{grid-template-columns:1fr 1fr}.srbx-car{grid-template-columns:120px 1fr}.srbx-car>div:last-child{grid-column:2;padding:0 18px 18px;text-align:left}}@media(max-width:700px){.srbx-wrap{padding:10px}.srbx-hero h2{font-size:29px}.srbx-search-card{margin:-10px 0 16px;padding:14px}.srbx-tabs{width:100%;overflow:auto}.srbx-tab{padding:11px 16px;white-space:nowrap}.srbx-main-grid{grid-template-columns:1fr;gap:12px}.srbx-swap{display:none}.srbx-package-list{grid-template-columns:1fr}.srbx-trip-summary{grid-template-columns:1fr 1fr}.srbx-route-metrics{grid-template-columns:1fr 1fr}.srbx-car{grid-template-columns:1fr}.srbx-car-img{min-height:120px}.srbx-car>div:last-child{grid-column:1;padding:0 18px 18px}.srbx-car-main{padding:16px 18px}.srbx-results-head{align-items:start;flex-direction:column}}

/* Vehicle gallery */
.srbx-car-gallery{background:#eef6f8;padding:12px;display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:180px}.srbx-car-main-image{height:150px;background:#fff;border-radius:10px;display:flex;align-items:center;justify-content:center;overflow:hidden}.srbx-car-main-image img{width:100%;height:100%;object-fit:contain}.srbx-car-thumbs{display:flex;gap:8px;justify-content:center}.srbx-car-thumb{width:52px;height:38px;padding:0;border:1px solid #ccdfe5;border-radius:6px;background:#fff;overflow:hidden;cursor:pointer}.srbx-car-thumb.active{border:2px solid #159bd1}.srbx-car-thumb img{width:100%;height:100%;object-fit:cover}@media(max-width:1000px){.srbx-car{grid-template-columns:150px 1fr 150px}.srbx-car-gallery{grid-column:1}.srbx-car-main-image{height:120px}}@media(max-width:700px){.srbx-car-gallery{padding:10px}.srbx-car-main-image{height:180px}}

.srb370-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:end}.srb370-field label{display:block;font-size:12px;font-weight:900;letter-spacing:.05em;color:#203a49;margin-bottom:6px}.srb370-field input,.srb370-field select{width:100%;box-sizing:border-box;border:0;border-bottom:2px solid #b6c6cf;padding:9px 6px 10px;background:#fff;font-size:14px}.srb370-field input:focus,.srb370-field select:focus{outline:none;border-bottom-color:#159bd1}.srb370-auto{position:relative}.srb370-popular{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:10px 0 20px}.srb370-pop-title{font-size:12px;font-weight:900;letter-spacing:.06em;color:#6a7c85;margin-right:4px}.srb370-search-card{position:relative;z-index:10}.srb370-grid .srbx-suggestions{top:42px;min-width:0;max-width:100%}.srb370-results .srbx-trip-summary{margin-top:10px}.srb370-field input::placeholder{color:#8b989e}.srb370-route-area.hidden{display:none}.srb370-local-note{padding:10px 12px;background:#f2fbf8;border:1px solid #d3eee1;border-radius:10px;margin-top:10px;color:#366356;font-size:12px}
@media(max-width:1100px){.srb370-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.intercity-grid .srb370-field:nth-child(2){grid-column:auto}.srb370-grid .srbx-swap{display:none}}
@media(max-width:700px){.srb370-grid{grid-template-columns:1fr}.srb370-grid .srbx-swap{display:none}.srbx-search-card{padding:16px}.srbx-hero{padding:26px 24px}.srbx-hero h2{font-size:30px}.srbx-tabs{width:100%;overflow:auto}.srbx-tab{white-space:nowrap;padding:11px 15px}.srbx-trip-summary{grid-template-columns:1fr 1fr}.srb370-popular{margin:8px 0 15px}}
.srbx-terms{margin-top:12px;background:#f7fafc;border:1px solid #dbe7ef;border-radius:12px;padding:14px 16px;line-height:1.55}.srbx-terms strong{display:block;margin-bottom:6px}.srbx-package-price-note{font-size:12px;margin-top:5px;opacity:.8}

.srbx-car.selected{outline:2px solid #1295d0;box-shadow:0 10px 30px rgba(18,149,208,.16)} .srbx-fare-highlight{outline:2px solid #1295d0;box-shadow:0 10px 30px rgba(18,149,208,.12);transition:.2s} .srbx-select-car{cursor:pointer}/* 3.7.6 local-package presentation */
.srb370-local-fare-only > div:first-child{display:none!important}.srb370-local-fare-only{grid-template-columns:1fr!important}.srbx-package-only-tags span{background:#effaf4;color:#28644e}
.srbx-local-fare-only{grid-template-columns:1fr!important}.srbx-local-fare-only>div:first-child{display:none!important}.srbx-package-only-tags span{background:#effaf4;color:#28644e}

.srbx-package-pick{background:#fff;border:1px solid #d7e4e8;border-radius:14px;padding:14px;margin:0 0 14px}
.srbx-package-pick label,.srbx-vehicle-picker>label{display:block;font-size:12px;font-weight:900;color:#203a49;margin-bottom:7px;letter-spacing:.04em}
.srbx-package-pick select,.srbx-vehicle-picker select{width:100%;box-sizing:border-box;border:1px solid #c8d8df;border-radius:10px;padding:11px 12px;background:#fff;font-size:14px}
.srbx-package-info{margin-top:8px;color:#5f747d;font-size:12px;line-height:1.45}
.srbx-vehicle-picker{background:#fff;border:1px solid #ccd8dd;border-radius:15px;padding:16px;display:grid;grid-template-columns:1.1fr 1.2fr;gap:14px;align-items:center}
.srbx-vehicle-picker .srbx-package-selected-gallery{grid-column:1;grid-row:2}.srbx-picked-vehicle{grid-column:2;grid-row:2}.srbx-picked-vehicle h4{margin:0;font-size:20px}.srbx-picked-vehicle p{color:#60737c;font-size:12px}.srbx-picked-vehicle .srbx-select-car{margin-top:12px}
.srbx-package-selected-gallery .srbx-car-main-image{height:170px;border:1px solid #e1eaed}.srbx-package-selected-gallery .srbx-car-main-image img{width:100%;height:100%;object-fit:contain}.srbx-package-selected-gallery .srbx-car-thumbs{display:flex;gap:8px;margin-top:8px}.srbx-package-selected-gallery .srbx-car-thumb{width:56px;height:42px}.srbx-package-only-tags{margin:8px 0}.srbx-package-only-tags span{background:#eef9f4;color:#27654e;border-radius:999px;padding:6px 9px;font-size:11px}
@media(max-width:700px){.srbx-vehicle-picker{grid-template-columns:1fr}.srbx-vehicle-picker .srbx-package-selected-gallery,.srbx-picked-vehicle{grid-column:1;grid-row:auto}}

.srbx-nearest-note{margin:0 0 12px;padding:11px 13px;border:1px solid #f0d99a;background:#fff8df;border-radius:10px;color:#6d5d20;font-size:12px;font-weight:800}.srbx-capacity-note{margin-top:8px;color:#9b4b38;font-size:11px;font-weight:700}.srbx-select-car:disabled{opacity:.55;cursor:not-allowed}.srbx-package-only-tags{min-height:26px}

/* =========================================================
   3.9.7 UI polish - responsive/mobile only, no booking logic
   ========================================================= */
body:has(#srb370-app){
  background:#f3f7fa;
}
body:has(#srb370-app) .wp-site-blocks{
  background:#f3f7fa;
}
body:has(#srb370-app) header{
  background:rgba(255,255,255,.98);
  border-bottom:1px solid #e2ebef;
}

/* Keep the WordPress site title compact on phones. */
body:has(#srb370-app) .wp-block-site-title,
body:has(#srb370-app) .wp-block-site-title a,
body:has(#srb370-app) .wp-block-site-title__link{
  white-space:nowrap !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  max-width:none !important;
}
body:has(#srb370-app) .wp-block-site-title{
  width:max-content;
  flex:0 1 auto;
}

/* Give the booking area a softer premium canvas. */
.srbx-wrap{
  background:linear-gradient(180deg,#f3f7fa 0%,#edf5f8 100%);
  border-radius:26px;
}
.srbx-hero{
  box-shadow:0 18px 42px rgba(21,93,115,.16);
}
.srbx-search-card{
  border:1px solid #e3edf1;
  box-shadow:0 18px 44px rgba(27,59,75,.13);
}

/* Four booking modes: equal-width and fully visible on mobile. */
@media(max-width:700px){
  .srbx-wrap{
    padding:10px 10px 42px;
    border-radius:0;
    background:linear-gradient(180deg,#f3f7fa 0%,#edf5f8 100%);
  }
  .srbx-hero{
    border-radius:22px;
    padding:25px 22px 28px;
  }
  .srbx-hero h2{
    font-size:30px;
    line-height:1.04;
  }
  .srbx-hero p{
    font-size:14px;
    line-height:1.5;
    max-width:30em;
  }
  .srbx-search-card{
    margin:-10px 0 16px;
    padding:13px 12px 16px;
    border-radius:22px;
  }
  .srbx-tabs{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    width:100%;
    overflow:hidden;
    margin:0 0 18px;
    border-radius:12px;
    box-sizing:border-box;
  }
  .srbx-tab,
  .srbx-tabs .srbx-tab{
    min-width:0;
    width:100%;
    box-sizing:border-box;
    padding:11px 4px;
    font-size:11px;
    line-height:1.1;
    letter-spacing:0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:clip;
  }
  .srbx-tab+.srbx-tab{
    border-left:1px solid #b8c9d0;
  }
  .srb370-grid{gap:11px}
  .srbx-main-grid{gap:11px}
  .srbx-explore{
    width:100%;
    margin:18px 0 -2px;
    padding:14px 18px;
    border-radius:10px;
  }
}

@media(max-width:380px){
  .srbx-tab,
  .srbx-tabs .srbx-tab{
    font-size:10px;
    padding-left:2px;
    padding-right:2px;
  }
  body:has(#srb370-app) .wp-block-site-title,
  body:has(#srb370-app) .wp-block-site-title a,
  body:has(#srb370-app) .wp-block-site-title__link{
    font-size:18px !important;
    line-height:1.05 !important;
  }
}

/* Desktop: make the booking card/tab row feel more balanced. */
@media(min-width:701px){
  .srbx-tabs{
    box-shadow:0 2px 8px rgba(27,59,75,.05);
  }
}


/* =========================================================
   3.9.10 COMPLETE RESPONSIVE + PREMIUM UI
   Final UI layer: keeps booking logic unchanged.
   ========================================================= */
:root{
  --srt10-navy:#063b5b;
  --srt10-navy2:#0a5478;
  --srt10-teal:#0798ae;
  --srt10-teal2:#19b7c5;
  --srt10-orange:#f46b20;
  --srt10-ink:#17384c;
  --srt10-muted:#607784;
}

/* Premium desktop booking shell */
.srbx-wrap{
  max-width:1240px;
  margin:0 auto;
  padding:24px 22px 60px;
  background:linear-gradient(180deg,#f7fbfd 0%,#edf6f9 100%);
  color:var(--srt10-ink);
  border-radius:28px;
}
.srbx-hero{
  background:linear-gradient(120deg,var(--srt10-navy) 0%,var(--srt10-navy2) 52%,var(--srt10-teal) 100%);
  border-radius:26px;
  padding:42px 46px 48px;
  box-shadow:0 20px 50px rgba(6,59,91,.20);
}
.srbx-hero h2{
  font-size:clamp(36px,4vw,52px);
  line-height:1.05;
  margin:9px 0 8px;
  letter-spacing:-.02em;
}
.srbx-hero p{font-size:16px;line-height:1.6}
.srbx-search-card{
  background:#fff;
  border:1px solid #d9e7ed;
  border-radius:24px;
  padding:25px 28px 18px;
  margin:-26px 28px 18px;
  box-shadow:0 22px 55px rgba(18,60,80,.16);
}

/* Desktop tabs */
.srbx-tabs{
  display:flex;
  width:max-content;
  max-width:100%;
  margin:0 auto 24px;
  border:1px solid #c6d8e0;
  border-radius:13px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 4px 12px rgba(18,60,80,.06);
}
.srbx-tab{
  min-height:48px;
  padding:13px 28px;
  border:0;
  background:#fff;
  color:#234354;
  font-size:12px;
  line-height:1;
  font-weight:900;
  letter-spacing:.045em;
  white-space:nowrap;
}
.srbx-tab+.srbx-tab{border-left:1px solid #c6d8e0}
.srbx-tab:hover{background:#eef8fb;color:#086e8a}
.srbx-tab.active{
  background:linear-gradient(135deg,#0798b3,#18a9c6);
  color:#fff;
}

.srbx-explore{
  min-width:190px;
  padding:15px 30px;
  border-radius:11px;
  background:linear-gradient(135deg,var(--srt10-orange),#ff812f);
  box-shadow:0 12px 26px rgba(244,107,32,.24);
}
.srbx-city-chip{
  padding:9px 14px;
  border-radius:999px;
  border:1px solid #cfe1e8;
  background:#fff;
  color:#087fa1;
  font-size:12px;
  font-weight:800;
  box-shadow:0 2px 7px rgba(18,60,80,.04);
}

/* Final mobile layout: 2 x 2 tabs so EVERY mode is fully readable. */
@media(max-width:700px){
  .srbx-wrap{
    width:100%;
    max-width:none;
    padding:8px 10px 36px;
    border-radius:0;
  }
  .srbx-hero{
    padding:27px 21px 32px;
    border-radius:22px;
  }
  .srbx-hero h2{
    font-size:31px;
    line-height:1.06;
  }
  .srbx-hero p{
    font-size:14px;
    line-height:1.55;
  }
  .srbx-search-card{
    margin:-12px 0 14px;
    padding:13px 12px 16px;
    border-radius:20px;
  }
  .srbx-tabs{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    width:100%;
    max-width:none;
    margin:0 0 18px;
    border-radius:13px;
    overflow:hidden;
  }
  .srbx-tab,
  .srbx-tabs .srbx-tab{
    width:100%;
    min-width:0;
    min-height:50px;
    padding:13px 8px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    overflow:visible;
    text-overflow:clip;
    font-size:12px;
    line-height:1;
    letter-spacing:.015em;
  }
  .srbx-tab:nth-child(odd){border-left:0}
  .srbx-tab:nth-child(n+3){border-top:1px solid #c6d8e0}
  .srbx-tab:nth-child(even){border-left:1px solid #c6d8e0}
  .srbx-tab.active{box-shadow:inset 0 -2px 0 rgba(255,255,255,.18)}
  .srbx-explore{width:100%;margin-top:18px}
  .srbx-popular-row,.srb370-popular{
    margin-left:0;
    margin-right:0;
    gap:7px;
  }
  .srbx-popular-title,.srb370-pop-title{font-size:10px}
  .srbx-city-chip{font-size:11px;padding:8px 11px}
}

@media(max-width:360px){
  .srbx-tab,
  .srbx-tabs .srbx-tab{
    min-height:48px;
    font-size:11px;
    padding-left:5px;
    padding-right:5px;
  }
}


/* =========================================================
   3.9.14 FINAL BOOKING CONTAINER REDESIGN
   - Removes the bottom Popular Cities strip from the booking widget.
   - Full-width responsive booking shell with no blue side canvas.
   - Rounded single visual card, optimized for desktop and mobile.
   - Booking logic remains unchanged.
   ========================================================= */
.srbx-wrap{
  width:min(1440px,100%);
  max-width:1440px;
  margin:0 auto;
  padding:20px 0 40px;
  background:transparent !important;
  border-radius:0;
  color:#183346;
}
.srbx-hero{
  width:100%;
  max-width:none;
  margin:0;
  padding:42px 52px 56px;
  background:linear-gradient(120deg,#087f8c 0%,#0b9db2 55%,#18aec3 100%);
  border-radius:28px 28px 0 0;
  box-shadow:none;
  position:relative;
  z-index:1;
}
.srbx-hero h2{font-size:clamp(36px,4vw,54px);line-height:1.04;margin:8px 0 8px}
.srbx-hero p{font-size:17px;line-height:1.55;max-width:760px}
.srbx-search-card{
  width:calc(100% - 64px);
  max-width:none;
  margin:-28px 32px 0;
  padding:28px 34px 24px;
  background:#fff;
  border:1px solid #d6e5eb;
  border-radius:24px;
  box-shadow:0 18px 44px rgba(19,58,74,.13);
  position:relative;
  z-index:3;
}
.srbx-tabs{margin-bottom:26px}
.srbx-main-grid,.srb370-grid{max-width:100%}
.srbx-explore{min-width:220px}
.srb370-popular{display:none !important}
.srbx-popular-row{display:none !important}
.srbx-trust-panel,.srbx-services-panel{max-width:calc(100% - 64px);margin-left:32px;margin-right:32px}

@media(min-width:1101px){
  .srbx-main-grid{grid-template-columns:1.35fr 36px 1.35fr 1fr 1fr 1fr 1fr;gap:20px}
  .srb370-grid{gap:18px}
}

@media(max-width:900px){
  .srbx-wrap{width:100%;padding:10px 12px 30px}
  .srbx-hero{padding:30px 24px 44px;border-radius:22px 22px 0 0}
  .srbx-hero h2{font-size:34px}
  .srbx-search-card{width:100%;margin:-20px 0 0;padding:18px 14px 20px;border-radius:20px}
  .srbx-trust-panel,.srbx-services-panel{max-width:100%;margin-left:0;margin-right:0}
}

@media(max-width:700px){
  .srbx-wrap{padding:0 8px 28px;background:transparent !important}
  .srbx-hero{
    padding:27px 20px 48px;
    border-radius:20px 20px 0 0;
  }
  .srbx-hero h2{font-size:31px;line-height:1.04}
  .srbx-hero p{font-size:14px;line-height:1.55}
  .srbx-search-card{
    width:100%;
    margin:-20px 0 0;
    padding:14px 12px 18px;
    border-radius:20px;
    box-shadow:0 12px 30px rgba(19,58,74,.10);
  }
  .srbx-tabs{
    width:100%;
    display:grid;
    grid-template-columns:1fr 1fr;
    margin:0 0 20px;
    border-radius:13px;
  }
  .srbx-tab,
  .srbx-tabs .srbx-tab{
    min-width:0;
    width:100%;
    min-height:56px;
    padding:12px 6px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    white-space:nowrap;
    overflow:visible;
    font-size:13px;
    line-height:1.05;
    letter-spacing:0;
  }
  .srbx-tab:nth-child(n+3){border-top:1px solid #c6d8e0}
  .srbx-tab:nth-child(even){border-left:1px solid #c6d8e0}
  .srbx-tab:nth-child(odd){border-left:0}
  .srbx-explore{width:100%;min-width:0;min-height:56px;margin-top:18px;font-size:17px}
  .srbx-city-chip,.srbx-popular-row,.srb370-popular{display:none !important}
}

@media(max-width:380px){
  .srbx-wrap{padding-left:5px;padding-right:5px}
  .srbx-hero{padding-left:18px;padding-right:18px}
  .srbx-search-card{padding-left:10px;padding-right:10px}
  .srbx-tab,.srbx-tabs .srbx-tab{font-size:12px;min-height:54px;padding-left:4px;padding-right:4px}
}


/* =========================================================
   1.4.3 — BOOKING SECTION ONLY / STABLE PAGE-CANVAS LAYOUT
   The website/theme background is NOT changed. This section
   alone gets the available page width and stays white.
   ========================================================= */
#srb370-app.srbx-wrap{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:visible !important;
  color:#1e3040 !important;
}
#srb370-app.srbx-wrap,
#srb370-app.srbx-wrap *{box-sizing:border-box !important}
#srb370-app .srbx-hero{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
#srb370-app .srbx-search-card{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
#srb370-app .srbx-results{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 0 50px !important;
}
#srb370-app .srbx-trip-summary,
#srb370-app .srbx-package-wrap,
#srb370-app .srbx-results-head,
#srb370-app .srbx-vehicle-list,
#srb370-app .srbx-route-area,
#srb370-app .srbx-terms{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#srb370-app .srbx-trip-summary{margin-bottom:18px !important}
#srb370-app .srbx-results-head{padding-left:0;padding-right:0}
#srb370-app .srbx-vehicle-list{gap:14px !important}
#srb370-app .srbx-car-main-image,
#srb370-app .srbx-package-selected-gallery .srbx-car-main-image{
  height:120px !important;
  min-height:120px !important;
}
#srb370-app .srbx-car-main-image img,
#srb370-app .srbx-package-selected-gallery .srbx-car-main-image img{
  width:100% !important;
  height:100% !important;
  max-width:112px !important;
  max-height:82px !important;
  object-fit:contain !important;
  margin:auto !important;
  display:block !important;
}
#srb370-app .srbx-car-gallery{display:flex;align-items:center;justify-content:center}

/* Do not repaint the whole WordPress page when this shortcode exists. */
body:has(#srb370-app),
body:has(#srb370-app) .wp-site-blocks,
body:has(#srb370-app) main,
body:has(#srb370-app) .entry-content,
body:has(#srb370-app) .wp-block-post-content{
  background:inherit !important;
}

@media(max-width:1180px){
  #srb370-app .srbx-trip-summary,
  #srb370-app .srbx-package-wrap,
  #srb370-app .srbx-results-head,
  #srb370-app .srbx-vehicle-list,
  #srb370-app .srbx-route-area,
  #srb370-app .srbx-terms{max-width:calc(100% - 32px) !important}
}
@media(max-width:700px){
  #srb370-app.srbx-wrap{width:100% !important;max-width:100% !important}
  #srb370-app .srbx-hero{padding:28px 20px 36px !important}
  #srb370-app .srbx-search-card{padding:14px 12px 20px !important}
  #srb370-app .srbx-results{padding:18px 0 36px !important}
  #srb370-app .srbx-trip-summary,
  #srb370-app .srbx-package-wrap,
  #srb370-app .srbx-results-head,
  #srb370-app .srbx-vehicle-list,
  #srb370-app .srbx-route-area,
  #srb370-app .srbx-terms{max-width:calc(100% - 24px) !important}
  #srb370-app .srbx-trip-summary{grid-template-columns:1fr 1fr !important}
  #srb370-app .srbx-results-head{align-items:flex-start !important;flex-direction:column !important;gap:10px !important}
  #srb370-app .srbx-car{
    grid-template-columns:86px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
  }
  #srb370-app .srbx-car-gallery{grid-column:1 !important;grid-row:1 !important}
  #srb370-app .srbx-car-main{grid-column:2 !important;grid-row:1 !important;padding:14px 10px 14px 0 !important;min-width:0 !important}
  #srb370-app .srbx-car > div:last-child{padding-right:0 !important}
  #srb370-app .srbx-car-main-image{height:82px !important;min-height:82px !important;border:0 !important;background:#f5fafc !important;border-radius:10px !important}
  #srb370-app .srbx-car-main-image img{max-width:76px !important;max-height:58px !important}
  #srb370-app .srbx-car-main h4{font-size:18px !important}
  #srb370-app .srbx-car-sub{font-size:11px !important;line-height:1.35 !important}
  #srb370-app .srbx-car-rate{font-size:18px !important}
  #srb370-app .srbx-select-car{width:100% !important}
}


/* =========================================================
   1.4.4 — BOOKING SECTION FULL CANVAS
   Only the booking component is expanded. The rest of the
   website/theme keeps its own colors and layout.
   ========================================================= */
#srb370-app.srbx-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 0 56px !important;
  background:#fff !important;
  color:#17384d !important;
  overflow:visible !important;
  isolation:isolate !important;
  box-shadow:0 0 0 100vmax #fff !important;
  clip-path:inset(0 -100vmax) !important;
}
#srb370-app.srbx-wrap > .srbx-hero,
#srb370-app.srbx-wrap > .srbx-search-card,
#srb370-app.srbx-wrap > .srbx-results{
  position:relative !important;
  z-index:1 !important;
}
#srb370-app .srbx-hero{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}
#srb370-app .srbx-search-card{
  width:min(1180px, calc(100% - 32px)) !important;
  max-width:1180px !important;
  margin:0 auto 22px !important;
}
#srb370-app .srbx-results{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:22px 0 44px !important;
  background:#fff !important;
}
#srb370-app .srbx-trip-summary,
#srb370-app .srbx-package-wrap,
#srb370-app .srbx-results-head,
#srb370-app .srbx-vehicle-list,
#srb370-app .srbx-route-area,
#srb370-app .srbx-terms{
  width:min(1180px, calc(100% - 32px)) !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#srb370-app .srbx-trip-summary{
  margin-bottom:18px !important;
}
#srb370-app .srbx-results-head{
  margin-top:24px !important;
}
#srb370-app .srbx-vehicle-list{
  gap:16px !important;
}
#srb370-app .srbx-car{
  min-width:0 !important;
  width:100% !important;
}
@media(max-width:700px){
  #srb370-app.srbx-wrap{
    width:100% !important;
    max-width:none !important;
    padding:0 0 36px !important;
  }
  #srb370-app .srbx-search-card{
    width:calc(100% - 20px) !important;
    max-width:none !important;
    margin:0 auto 16px !important;
  }
  #srb370-app .srbx-results{
    padding:16px 0 34px !important;
  }
  #srb370-app .srbx-trip-summary,
  #srb370-app .srbx-package-wrap,
  #srb370-app .srbx-results-head,
  #srb370-app .srbx-vehicle-list,
  #srb370-app .srbx-route-area,
  #srb370-app .srbx-terms{
    width:calc(100% - 20px) !important;
    max-width:none !important;
  }
  #srb370-app .srbx-trip-summary{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:380px){
  #srb370-app .srbx-search-card,
  #srb370-app .srbx-trip-summary,
  #srb370-app .srbx-package-wrap,
  #srb370-app .srbx-results-head,
  #srb370-app .srbx-vehicle-list,
  #srb370-app .srbx-route-area,
  #srb370-app .srbx-terms{
    width:calc(100% - 14px) !important;
  }
}

/* =========================================================
   1.4.5 — MOBILE LENGTH / ALIGNMENT FINAL
   Keep the website/theme untouched. The booking section and
   its result content use the actual available page width.
   ========================================================= */
#srb370-app.srbx-wrap,
#srb370-app.srbx-wrap *{
  box-sizing:border-box !important;
  min-width:0;
}
#srb370-app.srbx-wrap{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  overflow-x:clip !important;
}
#srb370-app .srbx-results{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:16px !important;
  padding-right:16px !important;
}
#srb370-app .srbx-trip-summary,
#srb370-app .srbx-package-wrap,
#srb370-app .srbx-results-head,
#srb370-app .srbx-vehicle-list,
#srb370-app .srbx-route-area,
#srb370-app .srbx-terms{
  width:100% !important;
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
#srb370-app .srbx-results-head h3,
#srb370-app .srbx-results-head p,
#srb370-app .srbx-trip-summary strong,
#srb370-app .srbx-car-main h4,
#srb370-app .srbx-car-sub{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
  word-break:normal !important;
}
#srb370-app .srbx-vehicle-list{display:flex !important;flex-direction:column !important}
#srb370-app .srbx-car{width:100% !important;max-width:100% !important;min-width:0 !important}
#srb370-app .srbx-car-gallery,
#srb370-app .srbx-car-main,
#srb370-app .srbx-car > div:last-child{min-width:0 !important}

@media(max-width:700px){
  #srb370-app .srbx-results{
    padding-left:12px !important;
    padding-right:12px !important;
  }
  #srb370-app .srbx-trip-summary,
  #srb370-app .srbx-package-wrap,
  #srb370-app .srbx-results-head,
  #srb370-app .srbx-vehicle-list,
  #srb370-app .srbx-route-area,
  #srb370-app .srbx-terms{
    width:100% !important;
    max-width:100% !important;
  }
  #srb370-app .srbx-results-head h3{font-size:26px !important;line-height:1.08 !important}
  #srb370-app .srbx-results-head p{font-size:14px !important;line-height:1.45 !important}
  #srb370-app .srbx-trip-summary{grid-template-columns:1fr 1fr !important}
}
@media(max-width:380px){
  #srb370-app .srbx-results{padding-left:10px !important;padding-right:10px !important}
}


/* =========================================================
   1.4.6 — CONTROLLED BOOKING WIDTH / MOBILE LENGTH
   Expand ONLY the booking component to the usable mobile
   canvas. Do not make the entire website full-screen.
   ========================================================= */
#srb370-app.srbx-wrap{
  width:min(680px, calc(100vw - 40px)) !important;
  max-width:min(680px, calc(100vw - 40px)) !important;
  margin-left:50% !important;
  margin-right:0 !important;
  transform:translateX(-50%) !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
#srb370-app.srbx-wrap > .srbx-hero,
#srb370-app.srbx-wrap > .srbx-search-card,
#srb370-app.srbx-wrap > .srbx-results{
  width:100% !important;
  max-width:100% !important;
}
#srb370-app .srbx-search-card{
  margin-left:0 !important;
  margin-right:0 !important;
}
#srb370-app .srbx-results{
  padding-left:0 !important;
  padding-right:0 !important;
}
#srb370-app .srbx-trip-summary,
#srb370-app .srbx-package-wrap,
#srb370-app .srbx-results-head,
#srb370-app .srbx-vehicle-list,
#srb370-app .srbx-route-area,
#srb370-app .srbx-terms{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
#srb370-app .srbx-car{
  width:100% !important;
  max-width:100% !important;
}
@media(max-width:700px){
  #srb370-app.srbx-wrap{
    width:calc(100vw - 40px) !important;
    max-width:680px !important;
    margin-left:50% !important;
    transform:translateX(-50%) !important;
    padding:0 0 30px !important;
  }
  #srb370-app .srbx-hero{
    border-radius:0 !important;
  }
  #srb370-app .srbx-search-card{
    padding-left:20px !important;
    padding-right:20px !important;
  }
  #srb370-app .srbx-results{
    padding-left:0 !important;
    padding-right:0 !important;
  }
}
@media(max-width:380px){
  #srb370-app.srbx-wrap{
    width:calc(100vw - 24px) !important;
  }
}


/* =========================================================
   1.4.7 — EXACT MOBILE MARGIN + LENGTH CONTROL
   Booking section only. Do not alter the website canvas.
   ========================================================= */
#srb370-app.srbx-wrap{
  box-sizing:border-box !important;
  width:calc(100% - 32px) !important;
  max-width:680px !important;
  margin-left:16px !important;
  margin-right:16px !important;
  transform:none !important;
  left:auto !important;
  right:auto !important;
  position:relative !important;
}
#srb370-app.srbx-wrap,
#srb370-app.srbx-wrap *{box-sizing:border-box !important;min-width:0 !important}
#srb370-app .srbx-hero,
#srb370-app .srbx-search-card,
#srb370-app .srbx-results,
#srb370-app .srbx-trip-summary,
#srb370-app .srbx-package-wrap,
#srb370-app .srbx-results-head,
#srb370-app .srbx-vehicle-list,
#srb370-app .srbx-route-area,
#srb370-app .srbx-terms,
#srb370-app .srbx-car{
  width:100% !important;
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
#srb370-app .srbx-results-head h3,
#srb370-app .srbx-results-head p,
#srb370-app .srbx-car h4,
#srb370-app .srbx-car p,
#srb370-app .srbx-trip-summary *{
  max-width:100% !important;
  overflow-wrap:anywhere !important;
}
#srb370-app .srbx-car{overflow:hidden !important}
@media(max-width:700px){
  #srb370-app.srbx-wrap{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin-left:12px !important;
    margin-right:12px !important;
    padding:0 0 24px !important;
    transform:none !important;
  }
  #srb370-app .srbx-search-card{padding-left:16px !important;padding-right:16px !important}
  #srb370-app .srbx-results{padding-left:0 !important;padding-right:0 !important}
}

/* =========================================================
   1.4.8 — CONTROLLED MOBILE EXPANSION
   Booking section only. Keep the site canvas/theme unchanged.
   Expand the booking section beyond the narrow WP content column,
   but retain a small, balanced viewport margin.
   ========================================================= */
@media (max-width:700px){
  #srb370-app.srbx-wrap{
    width:calc(100vw - 64px) !important;
    max-width:calc(100vw - 64px) !important;
    margin-left:calc((100% - (100vw - 64px))/2) !important;
    margin-right:calc((100% - (100vw - 64px))/2) !important;
    padding-left:0 !important;
    padding-right:0 !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
  }
  #srb370-app .srbx-hero,
  #srb370-app .srbx-search-card,
  #srb370-app .srbx-results,
  #srb370-app .srbx-trip-summary,
  #srb370-app .srbx-results-head,
  #srb370-app .srbx-vehicle-list,
  #srb370-app .srbx-car,
  #srb370-app .srbx-route-area,
  #srb370-app .srbx-terms{
    width:100% !important;
    max-width:100% !important;
  }
}

/* =========================================================
   1.5.0 additions: sticky contact button, approx fare hint,
   customer testimonials. No existing booking logic touched.
   ========================================================= */
.srbx-sticky-contact{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-end;
}
.srbx-sticky-btn{
  display:flex;
  align-items:center;
  gap:8px;
  padding:12px 18px;
  border-radius:999px;
  font-weight:900;
  font-size:14px;
  text-decoration:none;
  box-shadow:0 10px 26px rgba(20,43,58,.22);
  transition:transform .15s ease;
}
.srbx-sticky-btn:hover{ transform:translateY(-2px); }
.srbx-sticky-whatsapp{ background:#25d366; color:#fff; }
.srbx-sticky-call{ background:#159bd1; color:#fff; }
@media(max-width:700px){
  .srbx-sticky-contact{ right:12px; bottom:12px; }
  .srbx-sticky-btn{ padding:11px 14px; font-size:13px; }
}

.srbx-approx-fare{
  text-align:center;
  font-size:13px;
  font-weight:700;
  color:#0d7656;
  background:#effaf4;
  border:1px solid #d5eadc;
  border-radius:10px;
  padding:9px 14px;
  margin:0 0 16px;
}
.srbx-approx-fare:empty{ display:none; }

.srbx-reviews{
  margin-top:28px;
  padding:26px 20px;
}
.srbx-reviews .srbx-section-title{
  text-align:center;
  font-size:14px;
}
.srbx-reviews-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:16px;
  margin-top:14px;
}
.srbx-review-card{
  background:#fff;
  border:1px solid #ccd8dd;
  border-radius:16px;
  padding:18px;
  box-shadow:0 4px 12px rgba(27,60,74,.05);
}
.srbx-review-stars{
  color:#f0a83c;
  font-size:16px;
  letter-spacing:2px;
}
.srbx-review-quote{
  color:#2b3f49;
  font-size:14px;
  line-height:1.55;
  margin:10px 0;
}
.srbx-review-meta{
  font-size:12px;
  color:#60737c;
}
@media(max-width:700px){
  .srbx-reviews{ padding:18px 12px; }
}

/* =========================================================
   1.5.1 — DESKTOP WIDTH & BOOKING-FORM FIT
   Desktop-only presentation enhancement. Mobile rules above
   are intentionally left unchanged.
   ========================================================= */
@media (min-width: 1201px){
  #srb370-app.srbx-wrap{
    width:min(1440px, 100vw) !important;
    max-width:1440px !important;
    margin-left:50% !important;
    margin-right:0 !important;
    transform:translateX(-50%) !important;
    padding:26px 28px 60px !important;
    border-radius:30px !important;
  }

  #srb370-app .srbx-hero{
    border-radius:28px !important;
    padding:44px 54px 50px !important;
  }

  #srb370-app .srbx-hero h2{
    font-size:clamp(40px,3.2vw,56px) !important;
    line-height:1.03 !important;
  }

  #srb370-app .srbx-hero p{
    font-size:17px !important;
    max-width:820px !important;
  }

  #srb370-app .srbx-search-card{
    width:calc(100% - 48px) !important;
    max-width:1360px !important;
    margin:-30px auto 22px !important;
    padding:28px 30px 20px !important;
    border-radius:26px !important;
  }

  #srb370-app .srbx-tabs{
    margin-bottom:26px !important;
  }

  #srb370-app .srbx-tab{
    min-width:170px !important;
    padding:14px 30px !important;
    font-size:13px !important;
  }

  /* One-way / round-trip row: fit all controls cleanly. */
  #srb370-app .srbx-main-grid{
    grid-template-columns:1.45fr 34px 1.45fr 1fr 1fr .92fr .92fr !important;
    gap:18px !important;
    align-items:end !important;
  }

  #srb370-app .srb370-grid{
    grid-template-columns:repeat(6,minmax(0,1fr)) !important;
    gap:18px !important;
  }

  #srb370-app .srbx-location-block label,
  #srb370-app .srbx-compact-field label,
  #srb370-app .srbx-passenger-field label,
  #srb370-app .srb370-field label{
    font-size:12px !important;
  }

  #srb370-app .srbx-autocomplete input,
  #srb370-app .srbx-compact-field input,
  #srb370-app .srbx-passenger-field select,
  #srb370-app .srb370-field input,
  #srb370-app .srb370-field select{
    font-size:16px !important;
    min-height:46px !important;
  }

  #srb370-app .srbx-explore{
    min-width:210px !important;
    padding:15px 42px !important;
    font-size:17px !important;
    margin-top:24px !important;
  }

  #srb370-app .srbx-popular-row,
  #srb370-app .srb370-popular{
    margin-left:0 !important;
    margin-right:0 !important;
    gap:10px !important;
  }

  #srb370-app .srbx-city-chip{
    padding:9px 14px !important;
    font-size:13px !important;
  }

  #srb370-app .srbx-results{
    padding-top:26px !important;
  }

  #srb370-app .srbx-trip-summary,
  #srb370-app .srbx-package-wrap,
  #srb370-app .srbx-results-head,
  #srb370-app .srbx-vehicle-list,
  #srb370-app .srbx-route-area,
  #srb370-app .srbx-terms{
    width:100% !important;
    max-width:1360px !important;
  }

  #srb370-app .srbx-car{
    grid-template-columns:220px minmax(0,1fr) 190px !important;
    gap:24px !important;
  }

  #srb370-app .srbx-car-main{
    padding:22px 0 !important;
  }

  #srb370-app .srbx-car-main h4{
    font-size:22px !important;
  }

  #srb370-app .srbx-car-rate{
    font-size:22px !important;
  }

  /* 1.9.31: this used to force the map/fare summary side-by-side on wide screens with
     !important, silently overriding the stacked layout further down this file. Per explicit
     request, desktop now stacks the same way mobile does — map on top, fare summary below. */
  #srb370-app .srbx-route-area{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }

  #srb370-app .srbx-map{
    height:460px !important;
  }

  #srb370-app .srbx-fare{
    padding:22px !important;
  }
}

@media (min-width: 1600px){
  #srb370-app.srbx-wrap{
    padding-left:34px !important;
    padding-right:34px !important;
  }
  #srb370-app .srbx-search-card{
    width:calc(100% - 68px) !important;
  }
}

/* =========================================================
   1.5.5: terms & conditions rendered as a real point-wise list
   ========================================================= */
.srbx-note{ line-height:1.6; }
.srbx-terms-heading{
  font-weight:900;
  font-size:13px;
  letter-spacing:.03em;
  color:#5b4a12;
  margin-bottom:8px;
  text-transform:uppercase;
}
.srbx-terms-list{
  margin:0;
  padding-left:20px;
}
.srbx-terms-list li{
  margin:0 0 10px;
  padding-left:2px;
}
.srbx-terms-list li:last-child{ margin-bottom:0; }
.srbx-note p{ margin:0; }

/* =========================================================
   1.7.0: payment receipt summary shown after a verified payment
   ========================================================= */
.srbx-receipt{ margin:10px 0; }
.srbx-receipt:empty{ display:none; }
.srbx-receipt-row{
  font-size:13.5px;
  color:#12303c;
  margin-bottom:6px;
  line-height:1.5;
}
.srbx-receipt-note{ color:#60737c; font-size:12.5px; }
.srbx-receipt-wa{
  display:inline-block;
  margin:4px 8px 4px 0;
  padding:10px 16px;
  border-radius:9px;
  background:#25d366;
  color:#fff;
  font-weight:800;
  font-size:13.5px;
  text-decoration:none;
}

/* =========================================================
   1.9.0: premium visual polish pass — additive only, doesn't
   change any layout/structure, just adds motion, depth, and
   richer button/card styling on top of what already exists.
   ========================================================= */
.srbx-hero{ position:relative; overflow:hidden; }
.srbx-hero::after{
  content:'';
  position:absolute;
  top:-40%;
  right:-10%;
  width:280px;
  height:280px;
  background:radial-gradient(circle, rgba(255,255,255,.14), transparent 70%);
  pointer-events:none;
}
.srbx-hero h2{ letter-spacing:-.01em; }

.srbx-tab{ transition:background .15s ease, color .15s ease; }
.srbx-tab:hover:not(.active){ background:#f3f9fb; }
.srbx-tab.active{ background:linear-gradient(135deg,#159bd1,#0f7fb0); }

.srbx-explore, .srbx-select-car, .srbx-pay{
  background:linear-gradient(135deg,#f36a1f,#e0530f);
  transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.srbx-explore:hover:not(:disabled), .srbx-select-car:hover, .srbx-pay:hover:not(:disabled){
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(243,106,31,.3);
  filter:brightness(1.04);
}
.srbx-pay{ background:linear-gradient(135deg,#1590bf,#0f6f96); }
.srbx-pay:hover:not(:disabled){ box-shadow:0 14px 30px rgba(21,144,191,.3); filter:brightness(1.04); }

.srbx-car{ transition:transform .18s ease, box-shadow .18s ease; }
.srbx-car:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(27,60,74,.12); }
.srbx-car.selected{ transform:translateY(-2px); }

.srbx-package-card{ transition:transform .15s ease, box-shadow .15s ease; }
.srbx-package-card:hover{ transform:translateY(-2px); box-shadow:0 10px 22px rgba(13,118,86,.12); }

.srbx-city-chip{ transition:transform .12s ease, background .15s ease, color .15s ease; }
.srbx-city-chip:hover{ transform:translateY(-2px); background:#159bd1; color:#fff; border-color:#159bd1; }

.srbx-results{ animation:srbx-fade-in .35s ease; }
@keyframes srbx-fade-in{
  from{ opacity:0; transform:translateY(10px); }
  to{ opacity:1; transform:translateY(0); }
}

.srbx-total strong{ background:linear-gradient(135deg,#1590bf,#0d7656); -webkit-background-clip:text; background-clip:text; color:transparent; }

.srbx-reviews-google-link{ text-align:center; margin-top:18px; }
.srbx-reviews-google-link a{
  color:#159bd1;
  font-weight:800;
  font-size:13.5px;
  text-decoration:none;
}
.srbx-reviews-google-link a:hover{ text-decoration:underline; }

.srb370-place input{padding-right:38px}
.srb370-place .srbx-locbtn{position:absolute;right:0;top:4px;background:#eef7fa;border:1px solid #cfe4ea;border-radius:8px;width:30px;height:30px;font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;color:#c0392b;}
.srb370-place .srbx-locbtn:hover{background:#dff1f8}
.srb370-place .srbx-locbtn:disabled{opacity:.6;cursor:wait}

/* 1.9.8: header call button, tab description line, trust badges row */
.srbx-hero-call{display:inline-block;margin-top:14px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.5);color:#fff;text-decoration:none;font-weight:800;font-size:14px;padding:9px 18px;border-radius:999px}
.srbx-hero-call:hover{background:rgba(255,255,255,.28)}
.srbx-tab-desc{text-align:center;color:#5c7078;font-size:12.5px;margin:6px 0 16px;font-weight:600}
.srbx-trust-row{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:0 0 30px;padding:14px 10px;background:#f4f9fb;border-top:1px solid #e2edf0;border-radius:0 0 22px 22px}
.srbx-trust-item{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:800;color:#25404b;background:#fff;border:1px solid #dbe6ea;border-radius:999px;padding:8px 14px}

/* 1.9.9: two-tier trip tabs — 3 across on top (Outstation/Local/Airport), 2 across below
   (One Way/Round Trip, shown only while Outstation is active). Full width at every size. */
#srb370-app .srbx-tabs-top{display:grid;grid-template-columns:repeat(3,1fr);width:100%;border:1px solid #b8c9d0;border-radius:10px 10px 0 0;overflow:hidden;box-sizing:border-box;margin:0;}
#srb370-app .srbx-tab-top{border:0;background:#fff;padding:13px 6px;font-weight:900;letter-spacing:.02em;cursor:pointer;color:#253844;font-size:13.5px;box-sizing:border-box;}
#srb370-app .srbx-tab-top+.srbx-tab-top{border-left:1px solid #b8c9d0;}
#srb370-app .srbx-tab-top.active{background:#159bd1;color:#fff;}
#srb370-app .srbx-tabs-sub{display:grid;grid-template-columns:repeat(2,1fr);width:100%;border:1px solid #b8c9d0;border-top:0;border-radius:0 0 10px 10px;overflow:hidden;box-sizing:border-box;margin:0 0 16px;}
#srb370-app .srbx-tab-sub{border:0;background:#f4f9fb;padding:11px 6px;font-weight:800;letter-spacing:.02em;cursor:pointer;color:#3c545f;font-size:13px;box-sizing:border-box;}
#srb370-app .srbx-tab-sub+.srbx-tab-sub{border-left:1px solid #b8c9d0;}
#srb370-app .srbx-tab-sub.active{background:#0d7656;color:#fff;}

/* 1.9.18: covers a case the mobile-only fixes above don't — "Force desktop layout on mobile"
   makes the browser report a wide (1280px) viewport, so every @media(max-width:700px) rule
   above simply never activates, leaving the widget unprotected again. On an actual desktop
   screen this widget is meant to be centered with a sensible max-width (not edge-to-edge) — this
   makes sure that happens reliably at ANY viewport width, forced or real, beating the theme's
   own centering the same way the mobile fix does (see 1.9.14's note on :where() specificity). */
/* 1.9.27: mobile Fare Summary showing giant, overlapping CGST/SGST/Total text — these elements
   never had their own explicit font-size, they inherited it from whatever was around them. Given
   this theme has already proven to impose its own global text styling aggressively (that's been
   the root of several fights in this conversation), explicit sizes here removes the guesswork:
   nothing in the fare box depends on inheritance anymore, so a theme rule can't blow it up. */
#srb370-app .srbx-fare,
#srb370-app .srbx-fare *{ font-size:14px; line-height:1.4; }
#srb370-app .srbx-fare h3{ font-size:18px !important; }
#srb370-app .srbx-line{ display:flex !important; flex-wrap:wrap; justify-content:space-between !important; gap:6px 10px; align-items:baseline; padding:9px 0 !important; }
#srb370-app .srbx-line span{ font-size:13px !important; color:#5c6c74; }
#srb370-app .srbx-line b{ font-size:14px !important; font-weight:800; white-space:nowrap; }
#srb370-app .srbx-total{ display:flex !important; flex-wrap:wrap; justify-content:space-between !important; align-items:baseline; gap:6px; }
#srb370-app .srbx-total strong{ font-size:22px !important; }
#srb370-app .srbx-advance strong{ font-size:19px !important; }
#srb370-app .srbx-advance span{ font-size:12px !important; }
#srb370-app .srbx-advance small{ font-size:11.5px !important; line-height:1.5 !important; }
@media(max-width:420px){
  #srb370-app .srbx-total strong{ font-size:19px !important; }
}

/* 1.9.25: split back into genuinely separate desktop and mobile treatments, per request. Desktop
   goes back to the simplest version that worked correctly on its own (confirmed in an earlier
   round, before ancestor-neutralizing was layered on top of it) — just defeating the theme's
   :where()-based centering directly on this element, with no ancestor changes at all. Mobile
   keeps its own proven full-bleed approach, including the ancestor fix, completely separately. */
html,body{overflow-x:hidden !important;}

/* Desktop / laptop (701px and up): centered, capped width, no ancestor changes. */
@media(min-width:701px){
  #srb370-app.srbx-wrap{
    max-width:1100px !important;
    width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
    transform:none !important;
    left:auto !important;
    right:auto !important;
    position:static !important;
  }
}

/* Mobile (700px and below): full-bleed edge-to-edge, ancestors neutralized too. */
@media(max-width:700px){
  html body *:has(> #srb370-app), html body *:has(#srb370-app){
    max-width:none !important;
    width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    box-sizing:border-box !important;
  }
  #srb370-app.srbx-wrap{width:100% !important;max-width:none !important;margin-left:0 !important;margin-right:0 !important;padding:0 10px !important;box-sizing:border-box !important;}
  #srb370-app .srbx-hero{border-radius:16px 16px 0 0 !important;padding:24px 16px 30px !important;width:100%;box-sizing:border-box;}
  #srb370-app .srbx-hero-call{white-space:nowrap !important;font-size:13px !important;padding:9px 14px !important;}
  #srb370-app .srbx-search-card{margin:-14px 0 0 !important;padding:14px !important;border-radius:0 0 16px 16px !important;width:100% !important;box-sizing:border-box;}
  #srb370-app .srbx-tabs-top{grid-template-columns:repeat(3,1fr) !important;border-radius:10px 10px 0 0;}
  #srb370-app .srbx-tab-top{border-left:1px solid #b8c9d0 !important;border-top:0 !important;padding:10px 2px !important;font-size:10.5px !important;line-height:1.2;text-align:center;white-space:normal;word-break:keep-all;}
  #srb370-app .srbx-tab-top:first-child{border-left:0 !important;}
  #srb370-app .srbx-tab-sub{padding:11px 4px !important;font-size:12px !important;white-space:normal !important;}
  #srb370-app .srbx-trust-row{margin:0 !important;border-radius:0 !important;}
}
@media(max-width:360px){
  #srb370-app .srbx-tab-top{font-size:9.5px !important;padding:9px 1px !important;}
  #srb370-app .srbx-hero-call{font-size:11.5px !important;padding:8px 10px !important;}
}

/* 1.9.31: final safety net — guarantees the map/fare stack vertically at every screen size,
   regardless of any other rule (including ones not yet found) that might set grid columns. */
#srb370-app .srbx-route-area{ grid-template-columns:1fr !important; }

/* 1.9.36: for Round Trip bookings, the "One Way" metric box is hidden (redundant with Round
   Trip km shown right next to it) — this reflows the remaining 3 boxes to fill the row evenly. */
#srb370-app .srbx-route-metrics.srbx-metrics-3col{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }

/* 1.9.52: dynamic "+" add/remove stop list UI */
.srbx-stop-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.srbx-stop-row{display:flex;align-items:center;gap:8px}
.srbx-stop-input{flex:1;box-sizing:border-box;border:1px solid #ccd8dd;border-radius:8px;padding:9px 11px;font-size:13.5px;font-family:inherit}
.srbx-stop-input:focus{outline:none;border-color:#159bd1}
.srbx-stop-remove{flex:0 0 auto;width:30px;height:30px;border:1px solid #e3b7ae;background:#fbeeec;color:#a44836;border-radius:8px;font-size:16px;line-height:1;cursor:pointer}
.srbx-stop-remove:hover{background:#f6dbd6}
.srbx-stop-add{background:#eef6fb;border:1px dashed #9dc6dc;color:#146a94;font-weight:800;font-size:12.5px;padding:8px 14px;border-radius:8px;cursor:pointer}
.srbx-stop-add:hover{background:#e0eef6}

/* 1.9.78: a small "Services Across 2000+ Cities" stat line in the empty space of the Book Your
   Cab hero, and wider From/To fields on desktop so a full pickup/drop address is visible and
   easy to review or clear, instead of being cramped into the same width as the date/time/
   passenger fields. Scoped to min-width:1101px, matching the existing 1100px breakpoint, so
   tablet/mobile stacking (already single/triple-column) is untouched. */
.srbx-hero-stat{margin-top:14px;display:inline-block;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:8px 16px;font-weight:800;font-size:13px;letter-spacing:.02em}


/* 1.9.78: dedicated clear ("×") button for From/To/airport fields, positioned to the left of the
   location button when one is present (From field) or flush right when not (To/airport fields),
   with extra input padding-right so typed text never sits under either button. */
.srb370-place input{padding-right:34px;box-sizing:border-box;}
.srb370-place:has(.srbx-locbtn) input{padding-right:72px;}
.srbx-clearbtn{position:absolute;right:2px;top:2px;width:26px;height:30px;border:0;background:transparent;color:#8a9aa2;font-size:20px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2;}
.srbx-clearbtn:hover{color:#c0392b}
.srb370-place:has(.srbx-locbtn) .srbx-clearbtn{right:36px;}

/* 1.9.80: the suggestions dropdown was constrained to the same (narrow) width as the input
   itself, forcing every address to wrap across 3-4 lines, which made the whole dropdown tall
   enough to visually overlap unrelated content further down the page. Letting it be wider than
   the input (anchored to the input's left edge) means each suggestion fits on 1-2 lines, so the
   dropdown stays short and sits cleanly below the field instead of sprawling downward. */
.srb370-grid .srbx-suggestions{min-width:340px;max-width:420px;right:auto;}

/* 1.9.89: From and To are now permanently stacked, each its own full-width line, at every screen
   size — not just below a mobile breakpoint. This removes any dependency on viewport-width
   thresholds (which had been unreliable) and matches the same full-width treatment already used
   for Pick Up Date and the other detail fields below. The swap button sits centred on its own
   line between them. Uses !important to guarantee this wins regardless of any other rule order. */
.srbx-locrow{grid-template-columns:1fr!important;}
.srbx-locrow .srbx-swap{grid-column:1/-1!important;justify-self:center;margin:2px 0;display:inline-flex!important;}
.srbx-detailsrow{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:14px;}
.local-grid{grid-template-columns:1.8fr 1fr .7fr .7fr .7fr .7fr;}
.airport-grid{grid-template-columns:.8fr 1.5fr 1.5fr .7fr .7fr .7fr;}
@media(max-width:1100px){
  .srbx-detailsrow{grid-template-columns:repeat(2,minmax(0,1fr));}
  .local-grid,.airport-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:700px){
  .srbx-detailsrow{grid-template-columns:1fr;}
}


/* 1.9.84: push the suggestions dropdown further down so it always starts fully below the input
   line (never overlapping the field itself), regardless of label/font sizing differences on the
   live site. */
/* 1.9.85: a fixed pixel offset (54px) was a guess that didn't account for this site's actual
   theme-inherited font/padding sizes, so it could still overlap the field. top:100% instead
   positions the dropdown exactly at the bottom edge of the field's real rendered height, however
   tall that turns out to be — this can never overlap the field, on any theme. */
.srb370-grid .srbx-suggestions{top:100%;margin-top:8px;}

/* 1.9.88: the icon/clear/location buttons were absolutely positioned with fixed pixel offsets,
   which could drift out of line with the input depending on exact rendered spacing (as seen —
   buttons floating above the actual text line). Switching .srb370-auto to a flex row instead
   means the icon, input, clear button and location button are always vertically centred and
   inline with each other automatically, regardless of theme font/spacing differences. Also
   enlarges the input text now that the field has much more room to use. */
.srb370-auto{display:flex;align-items:center;gap:4px;}
.srb370-auto .srbx-icon{position:static;font-size:19px;color:#7d8f99;flex:0 0 auto;line-height:1;}
.srb370-auto input{flex:1 1 auto;min-width:0;padding-left:2px!important;padding-right:6px!important;font-size:16px!important;}
.srb370-auto .srbx-clearbtn{position:static;flex:0 0 auto;}
.srb370-auto .srbx-locbtn{position:static;flex:0 0 auto;}
.srb370-place:has(.srbx-locbtn) input{padding-right:6px!important;}

/* 1.9.90: defensive safety net — the widget's outer wrapper can never cause horizontal overflow
   (text cut off on both edges, as seen), regardless of any inner element's sizing. */
.srbx-wrap{overflow-x:hidden;box-sizing:border-box;width:100%;}
.srbx-wrap *{box-sizing:border-box;}

/* 1.9.91: every field in the widget (not just From/To) is now at a minimum 16px font size.
   Mobile browsers (iOS Safari, Chrome on Android) auto-zoom the whole page when a tapped input
   is below 16px — this was happening on Pick Up Date/Time/Passengers/AC, which shifted the
   entire viewport (explaining why From, Pick Up Date, and the clear button all appeared cut off
   together in the same screenshot) even though From/To themselves were already sized correctly.
   This is the standard, accessible fix (unlike disabling pinch-zoom via the viewport meta tag,
   which this does not touch). */
.srbx-wrap input,.srbx-wrap select,.srbx-wrap textarea{font-size:16px!important;}

/* 1.9.92: matching the site owner's exact hand-drawn layout — From/To inputs are now compact
   (not stretched full-width), so the × clear button sits right next to the typed text instead
   of far away at the edge of a wide field. The GPS pin button stays only on From, as drawn.
   Pick Up Date/Time and Return Date/Time are now genuinely paired together on their own rows
   (not mixed with each other), at every screen size. */
.srb370-auto input{flex:0 1 60%!important;max-width:260px;}
.srbx-detailsrow{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
@media(max-width:420px){
  .srbx-detailsrow{grid-template-columns:1fr!important;}
}

/* 1.9.95: Local and Airport tabs now use the same locrow/detailsrow split as the Outstation
   tab — address-typing fields (Pickup Address, Drop Airport) each get their own full-width row
   (srbx-locrow-single), separate from the compact dropdown/date/time fields (srbx-detailsrow).
   .intercity-grid is now an explicit flex column (equivalent to plain block stacking when order
   isn't touched) so the Airport tab's Pickup/Drop swap-on-direction-change (which uses CSS
   order) continues to work correctly now that they're in separate row containers. */
.intercity-grid{display:flex;flex-direction:column;gap:14px;}
.srbx-locrow-single{grid-template-columns:1fr;}

/* 1.9.96: the Airport tab has 5 compact fields (Service, Date, Time, Passengers, AC) — an odd
   number that left one field stranded alone on its own row in the 2-column layout, looking
   broken/uneven next to Outstation's clean paired rows. A 3-column grouping for this specific
   row divides more evenly (3 + 2), matching the same visual quality as the other tabs. */
.srbx-detailsrow-airport{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
@media(max-width:900px){
  .srbx-detailsrow-airport{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:420px){
  .srbx-detailsrow-airport{grid-template-columns:1fr!important;}
}

/* ============================================================================
   1.9.97: FULL CARD-STYLE REDESIGN of the booking form fields, matching the
   reference design exactly — rounded card fields with a small blue caps label,
   bold larger value text, pin icon, and a swap button floating at the seam
   between From/To. Uses !important throughout to decisively override every
   prior iteration's styling, since this replaces the visual approach entirely
   rather than patching it further.
   ============================================================================ */
.srb370-field{background:#eef6fb!important;border:1px solid #d3e7f0!important;border-radius:14px!important;padding:10px 14px!important;box-sizing:border-box!important;}
.srb370-field label{color:#159bd1!important;font-size:11px!important;font-weight:800!important;letter-spacing:.04em!important;text-transform:uppercase;margin-bottom:2px!important;display:block;}
.srb370-field input,.srb370-field select{border:0!important;background:transparent!important;font-size:17px!important;font-weight:700!important;color:#16303c!important;padding:2px 0!important;}
.srb370-field input::placeholder{font-weight:500!important;color:#8b9aa2!important;}
.srb370-field input:focus,.srb370-field select:focus{outline:none!important;}
.srb370-auto{display:flex;align-items:center;gap:8px;}
.srb370-auto .srbx-icon{position:static!important;font-size:20px!important;color:#159bd1!important;flex:0 0 auto;}
.srb370-auto input{flex:1 1 auto!important;width:auto!important;max-width:none!important;}
.srb370-auto .srbx-clearbtn{position:static!important;flex:0 0 auto;color:#8b9aa2!important;}
.srb370-auto .srbx-locbtn{position:static!important;flex:0 0 auto;background:transparent!important;}

/* From/To cards: swap button floats as a white circle at the seam between them */
.srbx-locrow{position:relative!important;gap:12px!important;}
.srbx-locrow .srbx-swap{position:absolute!important;right:18px!important;top:50%!important;transform:translateY(-50%)!important;grid-column:unset!important;justify-self:unset!important;margin:0!important;width:38px!important;height:38px!important;border-radius:50%!important;background:#fff!important;box-shadow:0 3px 10px rgba(20,43,58,.18)!important;display:flex!important;align-items:center;justify-content:center;z-index:5;font-size:18px!important;}

.srbx-detailsrow,.srbx-detailsrow-airport{gap:12px!important;}
.srbx-stop-add{background:#fff!important;border:1.5px solid #b9dcec!important;color:#146a94!important;font-weight:800!important;padding:10px 16px!important;border-radius:10px!important;}
#srb370-calc,.srbx-cta{font-weight:800!important;border-radius:12px!important;padding:14px 20px!important;font-size:15px!important;}

/* 1.9.99: ensure the location-pin button's icon and the input text next to it are always
   visibly rendered — an explicit colour and size on the button icon (rather than relying on
   default emoji rendering, which can appear blank in some browser/OS combinations), a guaranteed
   minimum width so it never gets squeezed to nothing, and confirming the input itself can never
   be accidentally collapsed to zero width by its siblings. */
.srb370-auto .srbx-locbtn{position:static!important;flex:0 0 30px!important;width:30px!important;font-size:17px!important;color:#c0392b!important;background:#eef7fa!important;}
.srb370-auto .srbx-clearbtn{position:static!important;flex:0 0 22px!important;}
.srb370-auto input{flex:1 1 60px!important;min-width:60px!important;}

/* 1.9.104: THE ACTUAL ROOT CAUSE of the From/To "can't type" bug — deleting the old legacy CSS
   block earlier also deleted the only rule giving .srbx-suggestions its "position:absolute" and
   "display:none" base state. Without those, this div stopped being a hidden, absolutely-
   positioned overlay and became a normal, always-visible, empty block-level element sitting
   INSIDE the same flex row as the input (since .srb370-auto is display:flex) — competing for
   space and intercepting interaction with the real input right next to it. This restores both
   properties explicitly, with !important to guarantee they can never be silently dropped again
   the way this was. */
.srbx-suggestions{position:absolute!important;display:none;z-index:50;background:#fff;border:1px solid #d8e1e5;border-radius:12px;box-shadow:0 18px 38px rgba(20,43,58,.18);overflow-y:auto;overflow-x:hidden;max-height:280px;left:0;}

/* 1.9.105: DESKTOP-ONLY (min-width:769px) layout — matches the site owner's exact diagram.
   From and To each stack as their own full-width row (not side-by-side), and every detail field
   (Pick Up Date, Pick Up Time, Return Date, Return Time) also gets its own full-width row,
   EXCEPT Passengers and AC/Non-AC, which pair together side-by-side on one row as drawn.
   Scoped strictly to min-width:769px so nothing below that (tablet/mobile) is touched at all. */
@media(min-width:769px){
  .srbx-locrow{grid-template-columns:1fr!important;}
  .srbx-detailsrow{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .srbx-detailsrow .srb370-field:not(:nth-last-child(-n+2)){grid-column:1/-1!important;}
  .srb370-field input,.srb370-field select{width:100%!important;box-sizing:border-box!important;}
}

/* 1.9.106: force From/To to full width even more directly than relying on the grid's column
   count — explicitly span each card across the entire row and set width:100% on the card itself,
   removing any ambiguity about why they were still appearing side-by-side. */
@media(min-width:769px){
  .srbx-locrow>.srb370-field.srb370-place{grid-column:1/-1!important;width:100%!important;max-width:100%!important;}
}

/* 1.9.109: a small explanatory note directly under "Extra KM charge" in the fare summary,
   showing the included km limit, the actual route km, and the extra-km × rate math behind that
   figure — so customers can see exactly why it was added instead of just a bare rupee amount. */
.srbx-line-note{font-size:11.5px;color:#60737c;line-height:1.5;padding:0 0 10px;border-bottom:1px solid #eef2f3;}

/* 1.9.112: the Airport tab's Pickup Address and Drop Airport fields were relying on the same
   single-column grid stretch behaviour that FROM/TO on the Outstation tab also needed an explicit
   fix for (see 1.9.106) — applying that same explicit, decisive width fix here for consistency,
   rather than assuming grid's default stretch is enough. */
.srbx-locrow-single{grid-template-columns:1fr!important;}
#srb370-address-field,#srb370-airport-field,.srbx-locrow-single>.srb370-field{
  grid-column:1/-1!important;
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
#srb370-address-field .srb370-auto,#srb370-airport-field .srb370-auto{width:100%!important;}
#srb370-address-field .srb370-auto input,#srb370-airport-field .srb370-auto input{
  flex:1 1 auto!important;
  min-width:0!important;
  width:100%!important;
}

/* 1.9.113: Airport tab — Pickup Address / Drop Airport were still showing cramped on the live
   site. An older desktop rule ("#srb370-app .srb370-grid" = 6 columns, !important) outranks the
   plain-class fixes above, and theme/other-plugin input styles can cap input widths. These rules
   are scoped under #srb370-app #srb370-fields (two IDs) so they win decisively, and they make
   both address cards a single full-width column with a roomier, full-width text box. */
#srb370-app #srb370-form,#srb370-app #srb370-fields,#srb370-app #srb370-fields .intercity-grid{width:100%!important;max-width:none!important;box-sizing:border-box!important;}
#srb370-app #srb370-fields .srbx-locrow-single{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:100%!important;max-width:none!important;}
#srb370-app #srb370-fields #srb370-address-field,
#srb370-app #srb370-fields #srb370-airport-field{
  grid-column:1/-1!important;width:100%!important;max-width:none!important;min-width:0!important;
  margin:0!important;padding:12px 18px!important;box-sizing:border-box!important;
}
#srb370-app #srb370-fields #srb370-address-field .srb370-auto,
#srb370-app #srb370-fields #srb370-airport-field .srb370-auto{display:flex!important;align-items:center!important;width:100%!important;max-width:none!important;}
#srb370-app #srb370-fields #srb370-address-field .srb370-auto input,
#srb370-app #srb370-fields #srb370-airport-field .srb370-auto input{
  display:block!important;float:none!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;max-width:none!important;
  min-height:44px!important;margin:0!important;font-size:17px!important;text-overflow:ellipsis;
}
/* Passengers / AC pair side-by-side at half width each (they were collapsing to 1/6 width on
   wide screens because of the same 6-column rule). */
@media(min-width:769px){
  #srb370-app #srb370-fields .srbx-detailsrow{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:480px){
  #srb370-app #srb370-fields #srb370-address-field,
  #srb370-app #srb370-fields #srb370-airport-field{padding:10px 12px!important;}
  #srb370-app #srb370-fields #srb370-address-field .srb370-auto input,
  #srb370-app #srb370-fields #srb370-airport-field .srb370-auto input{font-size:16px!important;}
}
#srb370-app #srb370-fields .srb370-field input,#srb370-app #srb370-fields .srb370-field select{max-width:none!important;}

/* 1.9.114: advance vs full payment chooser (Local & Airport only) + balance instruction box. */
#srb370-app .srbx-payopt[hidden],#srb370-app .srbx-balance-note[hidden]{display:none!important;}
#srb370-app .srbx-payopt{margin-top:12px;border:1px solid #cfe4ee;border-radius:12px;padding:12px;background:#fff;}
#srb370-app .srbx-payopt-title{font-size:12px;font-weight:800;color:#12303c;margin-bottom:8px;}
#srb370-app .srbx-payopt-item{display:flex!important;align-items:flex-start;gap:10px;border:1.5px solid #d6e5ec;border-radius:10px;padding:10px 12px;margin:0 0 8px;cursor:pointer;background:#f8fbfc;}
#srb370-app .srbx-payopt-item:last-child{margin-bottom:0;}
#srb370-app .srbx-payopt-item:has(input:checked){border-color:#159bd1;background:#eef9fc;}
#srb370-app .srbx-payopt-item input{margin-top:3px;flex:0 0 auto;width:auto!important;accent-color:#159bd1;}
#srb370-app .srbx-payopt-item span{display:block;font-size:13px;color:#12303c;line-height:1.35;}
#srb370-app .srbx-payopt-item em{font-style:normal;font-weight:800;color:#0d7656;margin-left:4px;}
#srb370-app .srbx-payopt-item small{display:block;color:#60737c;font-size:11.5px;margin-top:2px;}
#srb370-app .srbx-balance-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#e9f7ef;border:1px solid #bfe3cd;color:#1d4d35;font-size:13px;line-height:1.5;}
#srb370-app .srbx-balance-note b{display:block;font-size:14px;color:#0d7656;margin-bottom:3px;}
#srb370-app .srbx-balance-note span{display:block;}
#srb370-app .srbx-balance-note span+span{margin-top:4px;font-size:12px;color:#4b6b5a;}
.srbx-receipt-balance{background:#e9f7ef;border-radius:8px;padding:6px 10px;color:#1d4d35;}

/* 1.9.115: UPI tap-to-pay button — phones only; desktop users scan the QR. */
#srb370-app .srbx-upi-pay-btn{display:none;text-align:center;background:linear-gradient(135deg,#5f259f,#1a73e8);color:#fff!important;font-weight:800;font-size:15px;padding:14px 16px;border-radius:12px;text-decoration:none!important;margin:8px 0 6px;box-shadow:0 8px 20px rgba(26,115,232,.25);}
#srb370-app .srbx-upi-pay-hint{display:none;text-align:center;color:#60737c;font-size:12px;margin-bottom:6px;}
#srb370-app.srbx-is-mobile .srbx-upi-pay-btn,#srb370-app.srbx-is-mobile .srbx-upi-pay-hint{display:block!important;}
@media(max-width:768px){#srb370-app .srbx-upi-pay-btn,#srb370-app .srbx-upi-pay-hint{display:block!important;}}
#srb370-app .srbx-receipt-upi{display:block!important;margin:10px 0;}
#srb370-app.srbx-is-mobile .srbx-upi-qr img{width:190px!important;}

/* 1.9.118: note shown when the customer returns from the UPI app. */
#srb370-app .srbx-upi-return-note{margin:8px 0;padding:10px 12px;border-radius:10px;background:#fff8e6;border:1px solid #f1d38a;color:#5a4410;font-size:12.5px;line-height:1.5;}

/* 1.9.119: mobile accordions. Desktop: headers hidden, panels always open (no change). */
#srb370-app .srbx-acc[hidden]{display:none!important;}
#srb370-app .srbx-acc-head{display:none;}
#srb370-app .srbx-acc-body{display:block;}
@media(max-width:768px){
  #srb370-app .srbx-acc{margin:10px 0;border:1px solid #cfe4ee;border-radius:12px;background:#fff;overflow:hidden;}
  #srb370-app .srbx-acc-head{display:flex!important;align-items:center;gap:8px;width:100%;margin:0;padding:13px 14px;border:0;background:#eef6fb;color:#12303c;font-size:15px;font-weight:800;text-align:left;cursor:pointer;line-height:1.3;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:0;}
  #srb370-app .srbx-acc-title{flex:1 1 auto;min-width:0;}
  #srb370-app .srbx-acc-meta{flex:0 1 auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:#0d7656;}
  #srb370-app .srbx-acc-icon{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#159bd1;position:relative;}
  #srb370-app .srbx-acc-icon::before,#srb370-app .srbx-acc-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:2px;}
  #srb370-app .srbx-acc-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s;}
  #srb370-app .srbx-acc.is-open .srbx-acc-icon::after{transform:translate(-50%,-50%) rotate(0deg);}
  #srb370-app .srbx-acc-body{display:none;padding:10px 12px;}
  #srb370-app .srbx-acc.is-open > .srbx-acc-body{display:block;}
  #srb370-app .srbx-acc-hide-mobile{display:none!important;}
}

/* 1.9.120: car cards on phones — photo on top (full width, never cropped), thumbnails in a
   centred row under it, then name, details, price and button. Scoped under two IDs so the many
   older .srbx-car layout rules above cannot squeeze the photo column any more. */
@media(max-width:768px){
  #srb370-app #srb370-vehicle-list .srbx-car{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;grid-template-rows:none!important;padding:0!important;gap:0!important;overflow:hidden!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-gallery,
  #srb370-app #srb370-vehicle-list .srbx-car-img{order:0;width:100%!important;max-width:100%!important;min-width:0!important;min-height:0!important;height:auto!important;margin:0!important;padding:12px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:10px!important;grid-column:auto!important;grid-row:auto!important;position:static!important;background:#f3f8fa!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-main-image{width:100%!important;max-width:100%!important;height:170px!important;min-height:0!important;display:flex!important;align-items:center!important;justify-content:center!important;background:#fff!important;border-radius:10px!important;overflow:hidden!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-main-image img{width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;object-position:center!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-thumbs{position:static!important;display:flex!important;flex-wrap:wrap!important;justify-content:center!important;gap:8px!important;width:100%!important;margin:0!important;padding:0!important;transform:none!important;overflow:visible!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-thumb{flex:0 0 60px!important;width:60px!important;height:44px!important;padding:0!important;margin:0!important;border-radius:8px!important;overflow:hidden!important;background:#fff!important;position:static!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-main{order:1;width:100%!important;min-width:0!important;padding:12px 14px 14px!important;grid-column:auto!important;grid-row:auto!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-rate{position:static!important;margin:8px 0!important;}
  #srb370-app #srb370-vehicle-list .srbx-select-car{width:100%!important;}
}

/* 1.9.120: UPI ID box (replaces the one-tap pay bar). */
#srb370-app .srbx-upi-idbox{margin:6px 0 12px;padding:12px;border:1.5px solid #b9d6e3;border-radius:12px;background:#fff;}
#srb370-app .srbx-upi-idbox-label{font-size:12.5px;font-weight:800;color:#12303c;margin-bottom:8px;}
#srb370-app .srbx-upi-idbox-row{display:flex!important;gap:8px;align-items:stretch;}
#srb370-app .srbx-upi-idbox-input{flex:1 1 auto;min-width:0;display:flex;align-items:center;padding:10px 12px;border:1px solid #cfe4ee;border-radius:10px;background:#f5fafc;font-weight:700;color:#12303c;font-size:15px;line-height:1.35;word-break:break-all;user-select:all;-webkit-user-select:all;cursor:text;}
#srb370-app .srbx-upi-copy-btn{flex:0 0 auto;padding:10px 16px;border:0;border-radius:10px;background:#159bd1;color:#fff;font-weight:800;font-size:14px;cursor:pointer;min-width:84px;}
#srb370-app .srbx-upi-copy-btn.copied{background:#0d7656;}
#srb370-app .srbx-upi-idbox-amt{margin-top:8px;font-size:13px;color:#3d5561;}
#srb370-app .srbx-upi-idbox-amt b{color:#0d7656;}

/* 1.9.120: site-editor sections collapsed on phones (JS adds these classes on mobile only). */
.srb-sec-toggle{display:none;}
@media(max-width:768px){
  .srb-sec-acc:not(.srb-sec-open) .srb-sec-hide{display:none!important;}
  .srb-sec-toggle{display:inline-flex!important;align-items:center;gap:8px;margin:10px auto 4px!important;padding:8px 16px!important;border:0!important;border-radius:999px!important;background:#fff!important;color:#0b3a57!important;font-size:14px!important;font-weight:700!important;line-height:1.2!important;box-shadow:0 2px 8px rgba(0,0,0,.12)!important;cursor:pointer;text-transform:none!important;letter-spacing:0!important;}
  .srb-sec-head{cursor:pointer;}
  .srb-sec-head + .srb-sec-toggle{display:flex!important;width:max-content;}
  .srb-sec-ico{width:22px;height:22px;border-radius:50%;background:#159bd1;position:relative;flex:0 0 22px;}
  .srb-sec-ico::before,.srb-sec-ico::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:2px;}
  .srb-sec-ico::after{transform:translate(-50%,-50%) rotate(90deg);}
  .srb-sec-open .srb-sec-ico::after{transform:translate(-50%,-50%) rotate(0deg);}
}

/* 1.9.121: same accordion styling for the separate Share Your Experience form (it sits outside #srb370-feedback-app, so the rules above never reached it). */
#srb370-feedback-app .srbx-acc[hidden]{display:none!important;}
#srb370-feedback-app .srbx-acc-head{display:none;}
#srb370-feedback-app .srbx-acc-body{display:block;}
@media(max-width:768px){
  #srb370-feedback-app .srbx-acc{margin:10px 0;border:1px solid #cfe4ee;border-radius:12px;background:#fff;overflow:hidden;}
  #srb370-feedback-app .srbx-acc-head{display:flex!important;align-items:center;gap:8px;width:100%;margin:0;padding:13px 14px;border:0;background:#eef6fb;color:#12303c;font-size:15px;font-weight:800;text-align:left;cursor:pointer;line-height:1.3;border-radius:0;box-shadow:none;text-transform:none;letter-spacing:0;}
  #srb370-feedback-app .srbx-acc-title{flex:1 1 auto;min-width:0;}
  #srb370-feedback-app .srbx-acc-meta{flex:0 1 auto;max-width:45%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;color:#0d7656;}
  #srb370-feedback-app .srbx-acc-icon{flex:0 0 26px;width:26px;height:26px;border-radius:50%;background:#159bd1;position:relative;}
  #srb370-feedback-app .srbx-acc-icon::before,#srb370-feedback-app .srbx-acc-icon::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:2px;}
  #srb370-feedback-app .srbx-acc-icon::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s;}
  #srb370-feedback-app .srbx-acc.is-open .srbx-acc-icon::after{transform:translate(-50%,-50%) rotate(0deg);}
  #srb370-feedback-app .srbx-acc-body{display:none;padding:10px 12px;}
  #srb370-feedback-app .srbx-acc.is-open > .srbx-acc-body{display:block;}
  #srb370-feedback-app .srbx-acc-hide-mobile{display:none!important;}
}

/* 1.9.121: compact Contact card with tappable icons. Phones: compact rows replace the spread-out
   items. Desktop: original layout kept. */
.srb-contact-list{display:none;}
@media(max-width:768px){
  .srb-contact-box .srb-contact-orig{display:none!important;}
  .srb-contact-list{display:flex!important;flex-direction:column;gap:10px;width:100%;max-width:420px;margin:14px auto!important;padding:0!important;}
  .srb-contact-row{display:flex!important;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:#fff;border:1px solid #d8e7ee;box-shadow:0 2px 8px rgba(18,48,60,.06);text-decoration:none!important;color:#12303c!important;text-align:left;}
  .srb-contact-ico{flex:0 0 46px;width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
  .srb-contact-ico svg{width:24px;height:24px;}
  .srb-contact-phone .srb-contact-ico{background:#1a73e8;}
  .srb-contact-whatsapp .srb-contact-ico{background:#25d366;}
  .srb-contact-email .srb-contact-ico{background:#ea4335;}
  .srb-contact-txt{display:flex;flex-direction:column;min-width:0;line-height:1.3;}
  .srb-contact-txt b{font-size:15px;color:#0b3a57;}
  .srb-contact-txt span{font-size:14.5px;color:#0f7fa6;font-weight:600;word-break:break-all;}
  .srb-contact-box .wp-block-spacer{height:8px!important;}
}

/* 1.9.132: mobile step-by-step booking (wizard). Only active when JS adds .srbx-wizard (phones,
   setting on). Each block carries data-srb-step="…"; only the current step's blocks are shown. */
.srbx-wiz-top,.srbx-wiz-strip,.srbx-wiz-foot,.srbx-wiz-incl{display:none;}
#srb370-app.srbx-wizard[data-step="1"] [data-srb-step]:not([data-srb-step~="1"]),
#srb370-app.srbx-wizard[data-step="2"] [data-srb-step]:not([data-srb-step~="2"]),
#srb370-app.srbx-wizard[data-step="3"] [data-srb-step]:not([data-srb-step~="3"]),
#srb370-app.srbx-wizard[data-step="4"] [data-srb-step]:not([data-srb-step~="4"]){display:none!important;}
#srb370-app.srbx-wizard #srb370-pay{display:none!important;}
/* step bar */
#srb370-app.srbx-wizard .srbx-wiz-top{display:flex;align-items:center;gap:8px;margin:0 0 10px;padding:10px 10px;background:#fff;border:1px solid #d6e6ee;border-radius:14px;position:sticky;top:0;z-index:30;box-shadow:0 4px 14px rgba(18,48,60,.06);}
#srb370-app.srbx-wizard[data-step="1"] .srbx-wiz-backbtn{visibility:hidden;}
#srb370-app .srbx-wiz-backbtn{flex:0 0 34px;width:34px;height:34px;border-radius:50%;border:1px solid #cfe4ee;background:#f3f8fb;color:#0b3a57;font-size:24px;line-height:1;padding:0 0 3px;cursor:pointer;}
#srb370-app .srbx-wiz-steps{flex:1 1 auto;display:flex;justify-content:space-between;list-style:none;margin:0;padding:0;counter-reset:none;position:relative;}
#srb370-app .srbx-wiz-steps li{flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;margin:0;padding:0;cursor:default;min-width:0;}
#srb370-app .srbx-wiz-steps li:not(:last-child)::after{content:"";position:absolute;top:13px;left:calc(50% + 16px);right:calc(-50% + 16px);height:2px;background:#d6e6ee;}
#srb370-app .srbx-wiz-steps li.is-done:not(:last-child)::after{background:#159bd1;}
#srb370-app .srbx-wiz-steps i{font-style:normal;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12.5px;font-weight:800;background:#eef4f7;color:#7d929c;border:2px solid #d6e6ee;}
#srb370-app .srbx-wiz-steps span{font-size:11px;font-weight:700;color:#7d929c;white-space:nowrap;}
#srb370-app .srbx-wiz-steps li.is-current i{background:#159bd1;border-color:#159bd1;color:#fff;box-shadow:0 0 0 4px rgba(21,155,209,.15);}
#srb370-app .srbx-wiz-steps li.is-current span{color:#0b3a57;}
#srb370-app .srbx-wiz-steps li.is-done i{background:#0d7656;border-color:#0d7656;color:#fff;}
#srb370-app .srbx-wiz-steps li.is-done{cursor:pointer;}
/* trip strip (like "Modify Booking") */
#srb370-app.srbx-wizard .srbx-wiz-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;padding:10px 14px;background:#eef6fb;border:1px solid #cfe4ee;border-radius:12px;}
#srb370-app .srbx-wiz-strip b{display:block;font-size:15px;color:#12303c;line-height:1.3;}
#srb370-app .srbx-wiz-strip small{display:block;font-size:12px;color:#60737c;margin-top:2px;}
#srb370-app .srbx-wiz-modify{flex:0 0 auto;border:1.5px solid #159bd1;background:#fff;color:#159bd1;border-radius:999px;padding:7px 14px;font-weight:700;font-size:13px;cursor:pointer;}
/* inclusions */
#srb370-app.srbx-wizard .srbx-wiz-incl{display:block;margin:12px 0;padding:12px 14px;border:1px solid #cfe9dc;border-radius:12px;background:#f1fbf5;}
#srb370-app .srbx-wiz-incl h4{margin:0 0 6px;font-size:13px;color:#0d7656;}
#srb370-app .srbx-wiz-incl ul{list-style:none;margin:0;padding:0;}
#srb370-app .srbx-wiz-incl li{font-size:13px;color:#1d4d35;margin:0 0 4px;}
/* panels that are a whole step are always open in the wizard (their header is the step itself) */
#srb370-app.srbx-wizard .srbx-acc:is([data-acc="packages"],[data-acc="cars"],[data-acc="route"],[data-acc="fare"],[data-acc="booking"],[data-acc="notincluded"]) > .srbx-acc-head{display:none!important;}
#srb370-app.srbx-wizard .srbx-acc:is([data-acc="packages"],[data-acc="cars"],[data-acc="route"],[data-acc="fare"],[data-acc="booking"],[data-acc="notincluded"]) > .srbx-acc-body{display:block!important;}
#srb370-app.srbx-wizard .srbx-acc[data-acc="fare"] > .srbx-acc-body::before{content:"Fare Breakdown";display:block;font-weight:800;color:#12303c;font-size:15px;margin:0 0 6px;}
#srb370-app.srbx-wizard .srbx-acc[data-acc="booking"] > .srbx-acc-body::before{content:"Your Details";display:block;font-weight:800;color:#12303c;font-size:15px;margin:0 0 6px;}
/* sticky bottom bar (steps 3 & 4) */
body > .srbx-wiz-foot.is-on{display:flex;}
body > .srbx-wiz-foot{position:fixed;left:0;right:0;bottom:0;z-index:2147483000;box-sizing:border-box;font-family:inherit;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #d6e6ee;box-shadow:0 -6px 18px rgba(18,48,60,.10);}
body > .srbx-wiz-foot .srbx-wiz-foot-l{display:flex;flex-direction:column;min-width:0;line-height:1.2;}
body > .srbx-wiz-foot .srbx-wiz-foot-l small{font-size:11.5px;color:#60737c;font-weight:700;}
body > .srbx-wiz-foot .srbx-wiz-foot-l b{font-size:20px;color:#12303c;}
body > .srbx-wiz-foot .srbx-wiz-foot-l span{font-size:12px;color:#0d7656;font-weight:700;}
body > .srbx-wiz-foot .srbx-wiz-next{flex:0 0 auto;max-width:58%;border:0;border-radius:12px;padding:13px 18px;background:linear-gradient(135deg,#f36b21,#e0520f);color:#fff;font-weight:800;font-size:14px;line-height:1.2;cursor:pointer;box-shadow:0 6px 16px rgba(243,107,33,.3);}
body > .srbx-wiz-foot .srbx-wiz-next:disabled{opacity:.55;box-shadow:none;}
body.srbx-wiz-foot-on{padding-bottom:84px!important;}
body.srbx-wiz-foot-on #srb370-app .srbx-sticky-contact{transform:translateY(-78px);}
/* notebook page-turn */
@keyframes srbPageFwd{from{opacity:0;transform:perspective(1200px) rotateY(-10deg) translateX(28px);}to{opacity:1;transform:none;}}
@keyframes srbPageBack{from{opacity:0;transform:perspective(1200px) rotateY(10deg) translateX(-28px);}to{opacity:1;transform:none;}}
#srb370-app.srbx-wiz-fwd > [data-srb-step]:not(.srbx-wiz-top):not(.srbx-wiz-foot):not(.srbx-wiz-strip){animation:srbPageFwd .34s ease-out both;transform-origin:left center;}
#srb370-app.srbx-wiz-back > [data-srb-step]:not(.srbx-wiz-top):not(.srbx-wiz-foot):not(.srbx-wiz-strip){animation:srbPageBack .34s ease-out both;transform-origin:right center;}
#srb370-app .srbx-search-card.srbx-wiz-turn #srb370-fields{animation:srbPageFwd .3s ease-out both;transform-origin:left center;}
@media (prefers-reduced-motion:reduce){#srb370-app [data-srb-step],#srb370-app #srb370-fields{animation:none!important;}}
/* 1.9.132: Fare step — price breakdown first, then route & a compact map. */
#srb370-app.srbx-wizard #srb370-route-area{display:flex!important;flex-direction:column!important;gap:12px;}
#srb370-app.srbx-wizard #srb370-route-area > .srbx-fare{order:1;}
#srb370-app.srbx-wizard #srb370-route-area > .srbx-acc[data-acc="route"],#srb370-app.srbx-wizard #srb370-route-area > div:not(.srbx-fare){order:2;}
#srb370-app.srbx-wizard #srb370-map{height:190px!important;min-height:0!important;}
#srb370-app.srbx-wizard .srbx-wiz-status:not([hidden]){display:block;margin:0 0 12px;padding:10px 14px;border-radius:12px;background:#fff8e6;border:1px solid #f1d38a;color:#5a4410;font-size:13px;line-height:1.45;}
/* 1.9.134: Book & Pay field checks */
#srb370-app .srbx-invalid{border-color:#d93025!important;box-shadow:0 0 0 3px rgba(217,48,37,.12)!important;}
#srb370-app .srbx-field-err{margin:5px 0 8px;color:#c5221f;font-size:12.5px;font-weight:600;}
#srb370-app.srbx-wizard #srb370-payment-status:not(:empty){margin:12px 0;padding:10px 12px;border-radius:10px;background:#eef6fb;border:1px solid #cfe4ee;}

/* 1.9.136: one master Show all / Hide all bar for the coloured site sections (phones only). */
.srb-master{display:none;}
@media(max-width:768px){
  .srb-master{display:block;margin:18px 0;padding:0 2px;}
  .srb-master-btn{display:flex!important;align-items:center;justify-content:space-between;gap:12px;width:100%;margin:0;padding:16px 16px;border:1.5px solid #cfe4ee!important;border-radius:16px;background:linear-gradient(135deg,#eef7fb,#ffffff)!important;color:#0b3a57!important;text-align:left;cursor:pointer;box-shadow:0 6px 18px rgba(18,48,60,.08);font-family:inherit;text-transform:none!important;letter-spacing:0!important;}
  .srb-master-txt{display:flex;flex-direction:column;min-width:0;gap:3px;}
  .srb-master-txt b{font-size:17px;font-weight:800;line-height:1.25;}
  .srb-master-txt small{font-size:12.5px;color:#5b707a;line-height:1.35;font-weight:500;}
  .srb-master-act{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:#159bd1;white-space:nowrap;}
  .srb-master-ico{width:26px;height:26px;border-radius:50%;background:#159bd1;position:relative;display:inline-block;}
  .srb-master-ico::before,.srb-master-ico::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:2px;background:#fff;transform:translate(-50%,-50%);border-radius:2px;}
  .srb-master-ico::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .2s;}
  .srb-master.is-open .srb-master-ico::after{transform:translate(-50%,-50%) rotate(0deg);}
  .srb-master-item.srb-master-collapsed{display:none!important;}
}

/* 1.9.149: "Price on request" contact box for vehicles without a rate */
#srb370-app .srbx-car-talk{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:#f1f7fb;border:1px dashed #9cc7dc;}
#srb370-app .srbx-car-talk-t{font-size:13px;font-weight:800;color:#0b3a57;margin:0 0 8px;}
#srb370-app .srbx-car-talk-b{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
#srb370-app .srbx-car-talk-b a{display:block;padding:10px 8px;border-radius:10px;text-align:center;font-weight:800;font-size:14px;color:#fff!important;text-decoration:none!important;}
#srb370-app .srbx-talk-call{background:#1a73e8;}
#srb370-app .srbx-talk-wa{background:#25d366;}
#srb370-app .srbx-car-talk-b a:only-child{grid-column:1 / -1;}

/* 1.9.151: vehicle description on booking cards */
#srb370-app .srbx-car-about{margin:6px 0 8px!important;font-size:13.5px!important;line-height:1.5!important;color:#3d5561!important;}

/* 1.9.154: vehicle photos FILL their box again (all vehicles, all screens). Since descriptions made
   the cards taller, the old fixed white frame left gaps around a small "contained" photo. Now the
   photo panel is full card height on desktop / full width on phones, and the photo covers it
   (cropped neatly, never stretched); thumbnails sit in a strip underneath. */
#srb370-app #srb370-vehicle-list .srbx-car{overflow:hidden!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery{padding:0!important;margin:0!important;gap:0!important;background:#e9f1f5!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-main-image{position:relative!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;background:#dfe8ec!important;overflow:hidden!important;box-shadow:none!important;border:0!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-main-image img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;margin:0!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-thumbs{display:flex!important;justify-content:center!important;gap:8px!important;padding:8px!important;margin:0!important;position:static!important;transform:none!important;flex:0 0 auto!important;}
@media(min-width:769px){
  #srb370-app #srb370-vehicle-list .srbx-car{display:grid!important;grid-template-columns:minmax(220px,32%) minmax(0,1fr)!important;align-items:stretch!important;padding:0!important;gap:0!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-gallery{height:100%!important;min-height:240px!important;align-self:stretch!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-main-image{flex:1 1 auto!important;height:auto!important;min-height:200px!important;}
  #srb370-app #srb370-vehicle-list .srbx-car-main{padding:20px 24px!important;}
}
@media(max-width:768px){
  #srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-main-image{height:210px!important;flex:0 0 210px!important;}
}
/* Local / Airport package view */
#srb370-app .srbx-package-selected-gallery .srbx-car-main-image{position:relative!important;height:220px!important;padding:0!important;border-radius:12px!important;overflow:hidden!important;background:#dfe8ec!important;}
#srb370-app .srbx-package-selected-gallery .srbx-car-main-image img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;}

/* 1.9.157: clean white photo frames, no blur. The whole photo is shown (never cropped / zoomed)
   in a 4:3 frame - the shape of most car photos - on a plain white background. Booking cards on all
   screens and the Local/Airport package view. */
#srb370-app #srb370-vehicle-list .srbx-car-gallery{background:#ffffff!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-main-image,
#srb370-app .srbx-package-selected-gallery .srbx-car-main-image{position:relative!important;background:#ffffff!important;aspect-ratio:4/3!important;height:auto!important;min-height:0!important;flex:0 0 auto!important;overflow:hidden!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-main-image::before,
#srb370-app .srbx-package-selected-gallery .srbx-car-main-image::before{content:none!important;display:none!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-main-image img,
#srb370-app .srbx-package-selected-gallery .srbx-car-main-image img{object-fit:contain!important;background:#ffffff!important;}
#srb370-app #srb370-vehicle-list .srbx-car-gallery .srbx-car-thumbs{background:#ffffff!important;}
@media(min-width:769px){
  #srb370-app #srb370-vehicle-list .srbx-car-gallery{justify-content:center!important;min-height:0!important;}
}

/* 1.9.180: Fare breakdown block inside the Fare Summary */
#srb370-app .srbx-breakdown{margin:14px 0 6px;padding:12px 14px;border:1px solid #d6e6ea;border-radius:12px;background:#f7fbfc}
#srb370-app .srbx-breakdown:empty{display:none}
#srb370-app .srbx-breakdown h4{margin:0 0 8px;font-size:13px;color:#12303c}
#srb370-app .srbx-bd-row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:6px 0;border-bottom:1px dashed #dbe7ea;font-size:12.5px;color:#1e3040}
#srb370-app .srbx-bd-row span small{display:block;margin-top:2px;font-size:11.5px;color:#586b78;line-height:1.4}
#srb370-app .srbx-bd-row b{white-space:nowrap;font-weight:700}
#srb370-app .srbx-bd-info{border-bottom-style:solid}
#srb370-app .srbx-bd-sub{border-top:1px solid #9db4bc;margin-top:2px;font-weight:600}
#srb370-app .srbx-bd-total{border-bottom:0;font-size:14px;font-weight:700;padding-top:8px}
#srb370-app .srbx-bd-foot{margin:8px 0 0;font-size:11.5px;color:#586b78}
