/* Booking checkout: shared teal and lime palette, scoped to this page. */
.bhc-site .booking-page{padding-top:clamp(26px,4vw,54px)!important;padding-bottom:80px!important;background:linear-gradient(180deg,#eaf5f1 0,#f4faf9 340px,#f4faf9 100%)}
.booking-page>.container{max-width:1320px}
.booking-page .row>[class*="col-"]{min-width:0}
.booking-page .bike-image-wrapper{margin-bottom:18px!important;border:1px solid #d8e8e2;border-radius:22px!important;background:#eaf6f1;box-shadow:0 18px 38px rgba(0,49,43,.08)}
.booking-page .bike-image-wrapper>img{display:block;width:100%;height:clamp(250px,31vw,390px)!important;object-fit:contain!important;object-position:center;padding:20px 24px 0;background:linear-gradient(155deg,#f5fbf8,#e4f2ed)}
.booking-page .bike-status{top:14px!important;right:14px!important;margin:0!important}
.booking-page .bike-status .badge{padding:8px 12px!important;border:1px solid #b7e6cb;background:#137d5a!important;color:#fff;font-size:12px;font-weight:800}
.booking-bike-caption{display:grid;gap:4px;padding:18px 23px 20px;background:#07332f;color:#fff}
.booking-bike-caption>span{color:#d4f57b;font-size:11px;font-weight:800;letter-spacing:.13em}
.booking-bike-caption>strong{font-size:clamp(19px,1.65vw,25px);font-weight:800;line-height:1.22}
.booking-bike-caption>small{color:#bad9d1;font-size:13px}
.booking-page .rental-highlights{padding:25px!important;border:1px solid #dae9e3;border-radius:20px!important;background:#fff!important;box-shadow:0 12px 30px rgba(0,49,43,.05)}
.booking-page .rental-highlights h5,.booking-page .rental-highlights h6{color:#0a3934;font-weight:800}
.booking-page .rental-highlights .highlight-item,.booking-page .rental-highlights li{height:100%;min-height:54px;padding:12px 13px;border:1px solid #e3eee9;border-radius:11px;background:#f6faf8;color:#31554f;font-size:13px;line-height:1.45}
.booking-page .rental-highlights li{display:flex;align-items:center;gap:4px;margin-bottom:8px!important}
.booking-page .rental-highlights :is(.highlight-item,li) i{flex:none;color:#0f766e!important}
.booking-page .delivery-info{border:1px solid #cde5d8;background:#eff9f1!important}
.booking-page .booking-form-wrapper{padding:clamp(22px,2.8vw,40px)!important;border:1px solid #d9e8e2;border-radius:22px!important;box-shadow:0 20px 52px rgba(0,49,43,.1)!important}
.booking-form-eyebrow{display:inline-block;margin-bottom:9px;color:#0d7569;font-size:11px;font-weight:800;letter-spacing:.13em}
.booking-page .booking-form-wrapper h1{margin-bottom:8px!important;color:#082f2e;font-size:clamp(27px,2.6vw,40px)!important;font-weight:800;line-height:1.13;letter-spacing:-.045em}
.booking-form-intro{margin:0 0 27px;color:#5c746e;font-size:14px;line-height:1.55}
.booking-page #bookingForm>.booking-form-section{padding-bottom:23px;border-bottom:1px solid #e5efeb}
.booking-page #bookingForm>.booking-form-section h5{margin-bottom:14px!important;color:#0a3934;font-size:17px;font-weight:800}
.booking-page #bookingForm .form-label{margin-bottom:8px;color:#315a52;font-size:13px;font-weight:750}
.booking-page .trip-type-buttons{gap:10px}
.booking-page .trip-type-buttons .btn{display:grid;place-items:center;min-height:51px;border:1px solid #cfe5dc;border-radius:11px;background:#f5faf8;color:#0c554d;font-size:14px;font-weight:800}
.booking-page .trip-type-buttons .btn-check:checked+.btn{border-color:#0f766e;background:#0f766e;color:#fff}
.booking-page .location-options .row{row-gap:10px!important}
.booking-page .location-options .col-md-6,.booking-page .location-options .col-12{display:flex}
.booking-page .location-options .btn{min-height:76px;margin:0!important;padding:12px 13px!important;border:1px solid #cfe5dc;border-radius:12px;background:#f7fbf9;color:#164b44;font-size:14px;line-height:1.38}
.booking-page .location-options .btn i{flex:none;margin-top:2px;color:#0f766e}
.booking-page .location-options .btn strong{display:block;margin-bottom:2px;font-size:14px;font-weight:800}
.booking-page .location-options .btn .small{font-size:11px;line-height:1.4}
.booking-page .location-options .btn-check:checked+.btn{border-color:#0f766e;background:#0f766e;color:#fff;box-shadow:0 8px 16px rgba(15,118,110,.14)}
.booking-page .location-options .btn-check:checked+.btn i{color:#d4f57b}
.booking-page #deliveryAddressForm{margin-top:16px;padding:20px!important;border:1px solid #c9e2d7;border-radius:14px!important;background:#f0f8f4!important}
.booking-page #deliveryAddressForm .form-control,.booking-page #bookingForm :is(.form-control,textarea){min-height:49px;border:1px solid #cfe1da;border-radius:10px;background:#fff;color:#123b35;font-size:14px}
.booking-page #deliveryAddressForm textarea{min-height:90px!important}
.booking-page #deliveryAddressForm .alert{border:1px solid #cfe5d9;background:#e7f3eb;color:#27544a;font-size:12px;line-height:1.5}
.booking-page .booking-calendar-trigger{min-height:58px;padding:12px 14px;background:#f5faf8;font-size:13px}
.booking-page .booking-calendar-trigger span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.booking-page .price-summary{padding:23px!important;border:1px solid #c7e5da;border-radius:17px!important;background:#eff8f3!important;color:#315750}
.booking-page .price-summary h5{margin-bottom:16px!important;color:#073b34;font-size:18px;font-weight:800}
.booking-page .price-summary>.d-flex{gap:10px;font-size:13px}
.booking-page .price-summary>.d-flex span:last-child{text-align:right}
.booking-page .price-summary hr{border-color:#c9ded4;opacity:1}
.booking-page .booking-summary-total{align-items:center;padding:14px 16px;border-radius:12px;background:#073b34;color:#fff;font-size:15px!important}
.booking-page .booking-summary-total>span:last-child{color:#d4f57b;font-size:clamp(24px,2vw,30px);font-weight:800}
.booking-page .price-summary>.mt-3{border:1px solid #d9e8cb;background:#f8fce7!important}
.booking-page .price-summary>.mt-3 small{color:#4e6049!important;line-height:1.5}
.booking-page #payButton{min-height:54px;border:0;border-radius:12px!important;background:#d4f57b;color:#11322d;font-weight:800;box-shadow:0 9px 20px rgba(126,165,42,.2)}
.booking-page #payButton:hover{background:#c8ee63}
@media(max-width:991px){.booking-page .booking-form-wrapper{margin-top:4px}}
@media(max-width:767px){.bhc-site .booking-page{padding-top:16px!important;padding-bottom:104px!important}.booking-page .bike-image-wrapper>img{height:270px!important;padding:15px 16px 0}.booking-page .booking-form-wrapper{padding:20px 17px!important}.booking-page .rental-highlights{padding:20px!important}.booking-page .rental-highlights .row>.col-6{width:50%}.booking-page .rental-highlights .highlight-item{font-size:11px}.booking-page .trip-type-buttons{flex-direction:row}.booking-page .location-options .col-md-6{width:100%}.booking-page .price-summary{padding:18px!important}}
@media(max-width:430px){.booking-page .bike-image-wrapper>img{height:235px!important}.booking-page .rental-highlights .row>.col-6{width:100%}.booking-page .booking-calendar-fields{grid-template-columns:1fr}.booking-page .booking-form-wrapper h1{font-size:28px!important}}
.booking-location-trigger,.booking-location-menu-head{display:none}
@media(max-width:767px){
 .booking-location-trigger{display:flex;align-items:center;gap:11px;width:100%;min-height:64px;padding:11px 14px;border:1px solid #cde3da;border-radius:12px;background:#f7fbf9;color:#0e5148;text-align:left;scroll-margin-top:84px}
 .booking-location-trigger>i:first-child{color:#0f766e;font-size:17px}
 .booking-location-trigger-copy{display:grid;gap:2px;flex:1;min-width:0}
 .booking-location-trigger-copy strong{overflow:hidden;font-size:14px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
 .booking-location-trigger-copy small{overflow:hidden;color:#607b72;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
 .booking-location-chevron{color:#0f766e;font-size:12px;transition:transform .2s ease}
 .booking-location-trigger[aria-expanded=true]{border-color:#0f766e;border-bottom-right-radius:0;border-bottom-left-radius:0;background:#fff}
 .booking-location-trigger[aria-expanded=true] .booking-location-chevron{transform:rotate(180deg)}
 .booking-location-trigger:focus-visible{outline:3px solid #d4f57b;outline-offset:2px}
 .booking-page .location-options{display:none;margin:0!important;padding:0 0 5px;border:1px solid #0f766e;border-top:0;border-radius:0 0 13px 13px;background:#fff;box-shadow:0 14px 24px rgba(0,48,42,.1)}
 .booking-page .location-options.is-open{display:block}
 .booking-location-menu-head{display:block;padding:13px;background:#eef7f3}
 .booking-location-menu-head>span{display:block;margin-bottom:9px;color:#5d8276;font-size:10px;font-weight:800;letter-spacing:.09em}
 .booking-location-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
 .booking-location-modes button{min-height:42px;padding:7px;border:1px solid #d9e8e1;border-radius:9px;background:#fff;color:#31574e;font-size:11px;font-weight:750}
 .booking-location-modes button.is-active{border-color:#0f766e;background:#e7f4ec;color:#0a5147}
 .booking-location-modes button i{margin-right:5px}
 .booking-page .location-options .row{max-height:230px;overflow-y:auto;row-gap:0!important;margin:0!important}
 .booking-page .location-options .row>[class*=col-]{padding:0!important}
 .booking-page .location-options .btn{min-height:59px;padding:10px 14px!important;border:0;border-bottom:1px solid #e8f0eb;border-radius:0;background:#fff;box-shadow:none!important}
 .booking-page .location-options .btn-check:checked+.btn{background:#eaf6ee;color:#0d554b}
 .booking-page .location-options .btn-check:checked+.btn .text-muted{color:#56786d!important}
 .booking-page .location-options .btn-check:checked+.btn i{color:#0f766e}
 .booking-page .location-options.is-delivery .row>.col-md-6,.booking-page .location-options:not(.is-delivery) .row>.col-12{display:none}
}
