.bn-booking{--bn-accent:#667ff0;box-sizing:border-box;color:#555;font:14px/1.55 Arial,Helvetica,sans-serif;width:100%;padding:42px 24px;background:#eee}.bn-booking *,.bn-booking *:before{box-sizing:border-box}.bn-booking [hidden]{display:none!important}.bn-layout{max-width:1130px;margin:auto;display:grid;grid-template-columns:minmax(0,1.67fr) minmax(280px,1fr);gap:24px;align-items:start}.bn-card{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 5px #00000014;overflow:hidden}.bn-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);margin:0!important;padding:0!important;border-bottom:1px solid #ddd}.bn-steps li{padding:16px 6px;text-align:center;font-size:12px;font-weight:700;border-right:1px solid #eee;white-space:nowrap}.bn-steps .is-active{background:var(--bn-accent);color:white}.bn-steps .is-done{color:var(--bn-accent)}.bn-form{padding:40px 9% 32px}.bn-booking h2{font:400 22px/1.35 Arial,sans-serif;margin:0 0 18px;color:#333}.bn-booking label{display:block;font-size:13px;font-weight:400;margin:0 0 18px;color:#666}.bn-booking input:not([type=checkbox]):not([type=radio]),.bn-booking select,.bn-booking textarea{display:block;width:100%;border:1px solid #ccc!important;border-radius:3px!important;background:#fcfcfc!important;box-shadow:inset 0 1px 2px #00000008;color:#444!important;min-height:38px;height:auto;padding:9px 11px!important;font:13px/1.4 Arial,Helvetica,sans-serif!important;margin:6px 0 0!important;outline:none}.bn-booking input:focus,.bn-booking textarea:focus,.bn-booking select:focus{border-color:var(--bn-accent)!important;box-shadow:0 0 0 2px #667ff022}.bn-booking input::placeholder,.bn-booking textarea::placeholder{color:#999;opacity:1}.bn-booking button{font:13px/1.4 Arial,Helvetica,sans-serif;cursor:pointer;border-radius:3px;box-shadow:none;text-transform:none;letter-spacing:normal;min-height:0;width:auto}.bn-booking button:focus-visible,.bn-booking a:focus-visible{outline:3px solid #2442a8;outline-offset:3px}.bn-booking button:disabled{opacity:.5;cursor:wait}.bn-trip-toggle{display:flex;justify-content:flex-end;margin-bottom:24px}.bn-trip-toggle button{padding:8px 12px;border:1px solid #929bd4;background:#fff;color:#666;font-size:12px}.bn-trip-toggle button:first-child{border-radius:3px 0 0 3px}.bn-trip-toggle button:last-child{border-radius:0 3px 3px 0;border-left:0}.bn-booking button.is-active{background:var(--bn-accent);color:white}.bn-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.bn-timezone{font-size:11px;text-align:right;margin:-12px 0 22px;color:#888}.bn-locations{position:relative}.bn-locations:before{content:'';position:absolute;left:-26px;top:26px;bottom:52px;border-left:1px solid #d1d1d1}.bn-location{background:#eee;border-radius:5px;padding:9px 6px 8px;margin-bottom:16px;position:relative}.bn-location:before{content:'';position:absolute;left:-32px;top:22px;width:13px;height:13px;border:3px solid #fff;box-shadow:0 0 0 1px var(--bn-accent);background:var(--bn-accent);border-radius:50%}.bn-location-types{display:flex;align-items:center;gap:3px;flex-wrap:wrap;margin-bottom:8px;font-size:12px}.bn-location-types>span{margin-right:8px;color:#888}.bn-location-types button{border:0;background:transparent;color:#222;font-size:11px;padding:7px 9px;border-radius:2px}.bn-booking .bn-address-label{display:flex;align-items:center;border:1px solid #ccc;border-radius:3px;padding:0 9px;background:#fcfcfc;margin:0}.bn-address-label>span{white-space:nowrap;font-size:13px;padding-right:9px}.bn-booking .bn-address-label input{margin:0!important;border:0!important;background:transparent!important;box-shadow:none!important;padding:10px 2px!important}.bn-booking .bn-address-label:focus-within{outline:2px solid #667ff044}.bn-add-stop-row{display:flex;justify-content:flex-end;margin:-2px 0 18px}.bn-booking .bn-link{color:var(--bn-accent);border:0;border-radius:0;background:transparent;padding:0 0 2px;border-bottom:1px solid #a7b2ec;font-size:12px;text-decoration:none}.bn-counts{grid-template-columns:repeat(3,minmax(0,1fr))}.bn-booking .bn-counts label{margin-bottom:0}.bn-help{color:#888;font-size:12px;line-height:1.6;margin:10px 0 22px}.bn-actions{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee;padding-top:22px;margin-top:26px;gap:14px}.bn-booking .bn-primary{background:var(--bn-accent);color:#fff;padding:11px 22px;border:1px solid var(--bn-accent);font-weight:400}.bn-booking .bn-primary:hover{filter:brightness(.93)}.bn-cancel{color:#999!important;border:0!important}.bn-summary h2{font-size:16px;font-weight:600;letter-spacing:1px;text-transform:uppercase;background:var(--bn-accent);color:white;padding:16px 32px;margin:0}.bn-map{height:380px;display:flex;align-items:center;justify-content:center;background:white}.bn-map-empty{padding:20px;text-align:center;color:#222;font-size:14px}.bn-map iframe{border:0;width:100%;height:100%;display:block}.bn-summary-details{padding:22px 26px;border-top:1px solid #eee}.bn-route-point{position:relative;padding:0 0 20px 22px;border-left:1px solid #ddd;margin-left:5px;font-size:13px;overflow-wrap:anywhere}.bn-route-point:before{content:'';position:absolute;left:-5px;top:5px;width:9px;height:9px;background:var(--bn-accent);border-radius:50%}.bn-route-point:last-child{border:0;padding-bottom:0}.bn-route-point small{display:block;text-transform:uppercase;color:#999;font-size:10px;letter-spacing:1px}.bn-summary-meta{margin-top:18px;font-size:12px;color:#888}.bn-summary-price{border-top:1px solid #eee;margin-top:20px;padding-top:16px;display:flex;align-items:center;justify-content:space-between}.bn-summary-price strong{font-size:24px;color:var(--bn-accent);font-weight:400}.bn-demo{max-width:1130px;margin:0 auto 18px;padding:10px 14px;background:#fff8dc;color:#6b571d;font-size:12px;border:1px solid #ecdfaa;border-radius:3px}.bn-message{padding:12px 15px;margin-bottom:20px;border-left:3px solid #c34842;background:#fff2f1;color:#9b302b;font-size:13px}.bn-flight{padding:16px 6px 0;gap:12px}.bn-booking .bn-flight label{margin-bottom:0}.bn-booking .bn-airport-note{padding:14px 6px 2px;margin-bottom:0}.bn-remove-stop{border:0!important;background:none!important;color:#8b4545!important;font-size:11px!important;display:block;margin:8px 0 0 auto;padding:0!important}.bn-vehicle{border:1px solid #ddd;border-radius:4px;margin:14px 0;overflow:hidden}.bn-vehicle label{margin:0;cursor:pointer;display:grid;grid-template-columns:20px 1fr auto;align-items:center;padding:20px 14px;gap:12px}.bn-vehicle:has(input:checked){border-color:var(--bn-accent);box-shadow:0 0 0 1px var(--bn-accent)}.bn-vehicle input{accent-color:var(--bn-accent);width:16px;height:16px;margin:0}.bn-vehicle-name{display:block;font-size:16px;color:#333;margin-bottom:7px}.bn-vehicle-desc{font-size:11px;color:#999;display:block;margin-bottom:9px}.bn-vehicle-capacity{font-size:12px;color:#666}.bn-vehicle-price{text-align:right;color:var(--bn-accent);font-size:21px}.bn-vehicle-price small{display:block;color:#999;font-size:10px}.bn-review{background:#f6f6f6;border:1px solid #e6e6e6;padding:16px 20px;margin-bottom:24px;font-size:13px}.bn-review dl{display:grid;grid-template-columns:85px 1fr;gap:8px 14px;margin:0}.bn-review dt{color:#999}.bn-review dd{margin:0;overflow-wrap:anywhere}.bn-consent{display:flex!important;gap:10px;align-items:flex-start;margin-top:8px!important;line-height:1.6}.bn-consent input{width:16px;height:16px;flex:0 0 16px;margin-top:3px;accent-color:var(--bn-accent)}.bn-consent a{color:var(--bn-accent);text-decoration:underline}.bn-payment-note{font-size:12px;line-height:1.6;color:#888}.bn-honey{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}.bn-result{text-align:center;padding:38px 0}.bn-result-icon{color:var(--bn-accent);font-size:42px;margin-bottom:20px}.bn-result p{margin-bottom:30px}.bn-suggestions{position:absolute;z-index:20;background:#fff;border:1px solid #ccc;box-shadow:0 4px 9px #0002;left:6px;right:6px}.bn-suggestions button{display:block;background:white;border:0;border-bottom:1px solid #eee;text-align:left;width:100%;padding:11px 13px;color:#555}.bn-suggestions button:hover,.bn-suggestions button:focus{background:#eff2ff}.bn-google-credit{text-align:right;padding:7px 12px}.bn-google-credit img{width:72px;height:auto}.bn-quote-note:empty{display:none}
@media(max-width:1050px){.bn-booking{padding:24px 16px}.bn-layout{grid-template-columns:minmax(0,1.5fr) minmax(250px,1fr);gap:18px}.bn-form{padding:30px 7%}.bn-steps li{font-size:10px;padding:16px 4px}.bn-location-types>span{width:100%;margin-bottom:5px}.bn-map{height:340px}}
@media(max-width:767px){.bn-booking{padding:20px 12px}.bn-layout{grid-template-columns:1fr}.bn-form{padding:28px 25px 26px 35px}.bn-steps li{font-size:10px;white-space:normal;line-height:1.5;padding:13px 5px}.bn-grid{gap:12px}.bn-locations:before{left:-18px}.bn-location:before{left:-24px;width:11px;height:11px}.bn-location-types>span{width:auto;margin-bottom:0;margin-right:5px;font-size:11px}.bn-location-types button{padding:7px 6px;font-size:10px}.bn-counts{gap:10px}.bn-counts label{font-size:12px}.bn-map{height:240px}.bn-summary h2{font-size:14px;padding:15px 24px}.bn-summary h2 br{display:none}.bn-actions .bn-primary{padding:11px 16px}.bn-vehicle label{padding:16px 10px;gap:9px;grid-template-columns:16px 1fr}.bn-vehicle-price{grid-column:2;text-align:left;font-size:20px}.bn-vehicle-price small{display:inline;margin-left:8px}.bn-review{padding:14px}.bn-review dl{grid-template-columns:65px 1fr;gap:9px}.bn-pay{max-width:75%;font-size:12px!important}.bn-timezone{text-align:left}}

/* BNTRAN theme and full-width Elementor integration — 1.0.1 */
.elementor-widget-shortcode:has(.bn-booking-host){width:100%!important;max-width:100%!important;min-width:0;flex:1 1 100%}
.bn-book-layout:has(.bn-booking-host)>.elementor-container{display:block!important;width:100%!important;max-width:1440px!important;margin-inline:auto}
.bn-book-layout:has(.bn-booking-host)>.elementor-container>.elementor-column{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
.bn-book-layout:has(.bn-booking-host){padding:48px clamp(16px,4vw,64px) 72px!important}
.bn-booking-host{width:100%;max-width:none;min-width:0;container:bnride / inline-size}
.bn-booking{--bn-accent:#c28a36;--bn-navy:#10203a;--bn-gold:#f2ae60;--bn-cream:#fbf7f0;--bn-line:#e8e1d7;background:var(--bn-cream);color:#334155;font-family:Inter,Arial,sans-serif;padding:0;width:100%;min-width:0}
.bn-booking .bn-layout{width:100%;max-width:none;grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:32px}
.bn-booking .bn-card{min-width:0;border:1px solid var(--bn-line);border-radius:18px;box-shadow:0 12px 36px rgba(16,32,58,.045)}
.bn-booking .bn-steps{border-color:var(--bn-line);background:#fff}
.bn-booking .bn-steps li{font:600 11px/1.6 Inter,Arial,sans-serif;white-space:normal;min-width:0;padding:21px 10px;letter-spacing:.035em;color:#647083;border-color:var(--bn-line)}
.bn-booking .bn-steps li.is-active{background:var(--bn-navy);color:#fff;box-shadow:inset 0 -3px var(--bn-gold)}
.bn-booking .bn-steps li.is-done{color:#83591f;background:#fff8ee}
.bn-booking .bn-form{padding:32px clamp(24px,4cqw,52px) 32px}
.bn-booking h2{font:500 26px/1.3 Georgia,'Times New Roman',serif;color:var(--bn-navy)}
.bn-booking label{font:500 13px/1.6 Inter,Arial,sans-serif;color:#334155}
.bn-booking input:not([type=checkbox]):not([type=radio]),.bn-booking select,.bn-booking textarea{font:400 14px/1.5 Inter,Arial,sans-serif!important;color:var(--bn-navy)!important;border-color:#ded8cf!important;border-radius:9px!important;background:#fff!important;min-width:0;min-height:48px;box-shadow:none;padding:12px!important}
.bn-booking input:focus,.bn-booking select:focus,.bn-booking textarea:focus{border-color:#b57d29!important;box-shadow:0 0 0 3px #c28a361c}
.bn-booking button{font-family:Inter,Arial,sans-serif;white-space:normal}
.bn-booking button:focus-visible,.bn-booking a:focus-visible{outline-color:var(--bn-navy)}
.bn-booking .bn-trip-toggle{justify-content:flex-start;margin-bottom:28px;gap:0}
.bn-booking .bn-trip-toggle button{padding:11px 18px;min-height:44px;border-color:#ded8cf;color:#334155;background:#fff;font-size:12px;font-weight:500}
.bn-booking .bn-trip-toggle button:first-child{border-radius:999px 0 0 999px}
.bn-booking .bn-trip-toggle button:last-child{border-radius:0 999px 999px 0}
.bn-booking button.is-active{background:var(--bn-navy);color:#fff}
.bn-booking .bn-timezone{color:#6c7683;margin:-8px 0 24px;font-size:11px}
.bn-booking .bn-location{background:#f8f5ef;border:1px solid #eee6da;border-radius:12px;padding:12px;margin-bottom:18px}
.bn-booking .bn-location-types{gap:4px;margin-bottom:12px}
.bn-booking .bn-location-types>span{width:auto;margin-bottom:0;margin-right:5px;color:#707980;font-size:11px}
.bn-booking .bn-location-types button{font-size:11px;padding:7px 10px;border-radius:999px;color:#475569}
.bn-booking .bn-location-types button.is-active{background:#fff0d9;color:#78501a;box-shadow:inset 0 0 0 1px #ead5b2}
.bn-booking .bn-address-label{border-color:#ded8cf;border-radius:8px;background:white;padding:0 12px;min-width:0}
.bn-booking .bn-address-label>span{color:var(--bn-navy);font-weight:500;font-size:13px}
.bn-booking .bn-address-label input{padding:12px 2px!important;min-width:0;background:transparent!important}
.bn-booking .bn-address-label:focus-within{outline-color:#c28a3640}
.bn-booking .bn-locations:before{left:-19px;border-color:#dfd5c5}
.bn-booking .bn-location:before{left:-25px;top:25px;background:#c28a36;box-shadow:0 0 0 1px #c28a36}
.bn-booking .bn-link,.bn-booking .bn-consent a{color:#865c22;border-color:#d7bd94}
.bn-booking .bn-help,.bn-booking .bn-payment-note,.bn-booking .bn-summary-meta{color:#697586}
.bn-booking .bn-primary{background:var(--bn-gold);color:var(--bn-navy);border-color:var(--bn-gold);border-radius:999px;padding:13px 26px;font:600 13px/1.5 Inter,Arial,sans-serif;min-height:46px}
.bn-booking .bn-primary:hover{background:#e9a14d;filter:none;border-color:#e9a14d}
.bn-booking .bn-actions{border-color:var(--bn-line);padding-top:24px;margin-top:24px}
.bn-booking .bn-summary h2{font:500 18px/1.5 Inter,Arial,sans-serif;letter-spacing:.035em;background:var(--bn-navy);color:#fff;padding:24px 28px;border-bottom:3px solid var(--bn-gold)}
.bn-booking .bn-map{height:350px;background:#fffdf9}
.bn-booking .bn-map-empty{color:#6c7683;font:400 13px/1.8 Inter,Arial,sans-serif;max-width:300px;padding:32px}
.bn-booking .bn-summary-details{border-color:var(--bn-line);padding:24px 28px}
.bn-booking .bn-summary-price{border-color:var(--bn-line)}
.bn-booking .bn-summary-price strong,.bn-booking .bn-vehicle-price{color:var(--bn-navy);font-weight:600}
.bn-booking .bn-demo{max-width:none;width:100%;border:1px solid #e8d8bc;background:#fff8eb;color:#785a2d;border-radius:10px;padding:13px 18px;margin-bottom:22px;font-size:12px}
.bn-booking .bn-vehicle{border-color:var(--bn-line);border-radius:12px}
.bn-booking .bn-vehicle:has(input:checked){border-color:#b57d29;box-shadow:0 0 0 1px #b57d29;background:#fffaf2}
.bn-booking .bn-vehicle-name{color:var(--bn-navy)}
.bn-booking .bn-review{background:#fbf7f0;border-color:var(--bn-line);border-radius:12px}
.bn-booking .bn-suggestions{left:12px;right:12px;border-color:var(--bn-line);border-radius:8px;overflow:hidden}
.bn-booking .bn-suggestions button:hover,.bn-booking .bn-suggestions button:focus{background:#fff4e2}
@container bnride (max-width:880px){.bn-booking .bn-layout{grid-template-columns:minmax(0,1fr);gap:24px}.bn-booking .bn-map{height:260px}.bn-booking .bn-form{padding:30px 36px}.bn-booking .bn-summary h2 br{display:none}}
@container bnride (max-width:520px){.bn-booking .bn-form{padding:24px 18px 24px 28px}.bn-booking .bn-steps li{font-size:10px;letter-spacing:0;padding:16px 5px}.bn-booking .bn-grid:not(.bn-counts){grid-template-columns:minmax(0,1fr);gap:0}.bn-booking .bn-counts{gap:10px}.bn-booking .bn-timezone{text-align:left}.bn-booking .bn-location{padding:10px}.bn-booking .bn-location-types>span{width:100%}.bn-booking .bn-location-types button{padding:8px;font-size:11px}.bn-booking .bn-locations:before{left:-14px}.bn-booking .bn-location:before{left:-20px;width:11px;height:11px}.bn-booking .bn-vehicle label{grid-template-columns:16px minmax(0,1fr)}.bn-booking .bn-vehicle-price{grid-column:2;text-align:left}.bn-booking .bn-pay{max-width:75%}.bn-booking .bn-primary{padding:12px 18px}.bn-booking .bn-summary h2{padding:20px;font-size:16px}.bn-booking .bn-demo{font-size:11px;padding:12px 14px}}
@media(max-width:767px){.bn-booking .bn-layout{grid-template-columns:minmax(0,1fr)}.bn-booking .bn-form{padding:24px 18px 24px 28px}.bn-booking .bn-steps li{white-space:normal}.bn-booking .bn-map{height:240px}}

/* A single booking column must override the site template first/last column rules. */
body .bn-book-layout:has(.bn-booking-host)>.elementor-container>.elementor-column:only-child{width:100%!important;max-width:100%!important;flex:0 0 100%!important}
