/* Shuttle Bus Premium V4 — quote, extras and pricing dashboard, isolated selectors. */
.sbs-site .sbs-v4-outer{background:#f4efe6;padding:44px 0 80px;color:#192a36}
.sbs-site .sbs-v4-quote{width:min(1180px,calc(100% - 38px));margin:0 auto;background:#fffdf8;border:1px solid #d8bd8b;box-shadow:0 24px 70px #0c233022;padding:34px 38px 36px;position:relative}
.sbs-site .sbs-v4-quote:before{content:"";height:4px;background:linear-gradient(90deg,#8d672e,#f0d8a2,#bb9059);position:absolute;top:0;left:0;right:0}
.sbs-site .sbs-v4-quote-heading,.sbs-site .sbs-v4-extras-head,.sbs-site .sbs-v4-action-row{display:flex;justify-content:space-between;gap:24px;align-items:center}
.sbs-site .sbs-v4-eyebrow{display:block;color:#927041;font-size:10px;font-weight:850;letter-spacing:.18em;text-transform:uppercase}
.sbs-site .sbs-v4-quote-heading h2{font:normal clamp(29px,3.6vw,48px)/1.13 Georgia,serif!important;color:#1b2e3d!important;letter-spacing:-.045em;margin:9px 0!important}
.sbs-site .sbs-v4-quote-heading em,.sbs-site .sbs-v4-book-intro em{font-style:italic;color:#ac8750}
.sbs-site .sbs-v4-quote-heading p{font-size:13px;color:#637280;line-height:1.6;margin:6px 0 0}
.sbs-site .sbs-v4-badge{background:#142638;color:#efcd8c;border:1px solid #d4ae6d6b;font-size:10px;font-weight:800;letter-spacing:.12em;white-space:nowrap;padding:11px 15px}
.sbs-site .sbs-v4-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px 18px;margin-top:26px}
.sbs-site .sbs-v4-field{display:flex;flex-direction:column;position:relative;gap:9px;min-width:0;color:#3d505f;font-size:12px;font-weight:750;line-height:1.45}
.sbs-site .sbs-v4-field span b{color:#bc8d4d}
.sbs-site .sbs-v4-field input,.sbs-site .sbs-v4-field select,.sbs-site .sbs-v4-field textarea{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d5d8d5!important;background:#fff!important;color:#203240!important;border-radius:3px;padding:15px 13px;min-height:50px;font-size:13px;font-weight:500;box-shadow:none!important;outline-offset:3px}
.sbs-site .sbs-v4-field input:focus,.sbs-site .sbs-v4-field select:focus{border-color:#a37f4b!important;box-shadow:0 0 0 3px #b89c6a24!important}
.sbs-site .sbs-v4-field input::placeholder{color:#91a0a7}
.sbs-site .sbs-v4-location{grid-column:span 2}
.sbs-site .sbs-v4-google-credit{color:#6f7885;font-weight:500;font-size:10px;margin-top:-1px}
.sbs-site .sbs-v4-google-word{font-weight:800;letter-spacing:-.025em;color:#4285f4;font-size:11px}
.sbs-site .sbs-v4-predictions{position:absolute;top:86px;left:0;right:0;background:#fff;z-index:30;box-shadow:0 18px 34px #061c2c35;border:1px solid #e2cda6;max-height:320px;overflow:auto}
.sbs-site .sbs-v4-predictions[hidden],.sbs-site [hidden]{display:none!important}
.sbs-site .sbs-v4-suggestion{display:block;width:100%;background:white;border:0;border-bottom:1px solid #eae7e0;font-size:13px;text-align:left;padding:13px 15px;cursor:pointer;color:#1a3346;line-height:1.55}
.sbs-site .sbs-v4-suggestion:hover,.sbs-site .sbs-v4-suggestion:focus{background:#f9f2e5}
.sbs-site .sbs-v4-return-row{margin:23px 0 10px;padding:13px 16px;background:#f4efe5;border:1px solid #e7dcc7}
.sbs-site .sbs-v4-return-row label{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:#20384b;font-size:12px;cursor:pointer}
.sbs-site .sbs-v4-return-row input,.sbs-site .sbs-v4-consent input{width:17px;height:17px;accent-color:#ad8248;flex:0 0 17px}
.sbs-site .sbs-v4-return-row small{color:#7b8590;font-size:11px}
.sbs-site .sbs-v4-return-inputs{margin-top:12px}
.sbs-site .sbs-v4-extras-head{margin-top:30px;padding-top:24px;border-top:1px solid #e7dfd2;align-items:end}
.sbs-site .sbs-v4-extras-head h3{font:normal clamp(22px,2.5vw,29px)/1.24 Georgia,serif!important;color:#1a3042!important;margin:8px 0 0!important}
.sbs-site .sbs-v4-extras-head>span,.sbs-site .sbs-v4-extras-head>small{font-size:11px;color:#7d8b91}
.sbs-site .sbs-v4-addons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.sbs-site .sbs-v4-addon{display:flex;align-items:center;justify-content:space-between;gap:13px;background:#f8f5ef;border:1px solid #e8e0d4;padding:15px 16px;min-height:94px;color:#233849;cursor:pointer}
.sbs-site .sbs-v4-addon:hover{border-color:#a88750}
.sbs-site .sbs-v4-addon-text{display:flex;flex-direction:column;gap:5px;min-width:0}
.sbs-site .sbs-v4-addon-text strong{font-size:13px;color:#263f4b}
.sbs-site .sbs-v4-addon-text small{font-size:11px;color:#6a7987;font-weight:500;line-height:1.5}
.sbs-site .sbs-v4-addon-right{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:0 0 95px}
.sbs-site .sbs-v4-addon-right b{color:#906a36;font-size:11px;text-align:right}
.sbs-site .sbs-v4-addon-right input{font-size:13px;text-align:center;border:1px solid #d5bea0!important;background:white!important;color:#173145!important;width:65px!important;padding:8px;min-height:37px;box-sizing:border-box}
.sbs-site .sbs-v4-action-row{margin-top:26px;padding:23px 24px;background:#142637;color:#fbf5ec;gap:20px}
.sbs-site .sbs-v4-action-row strong{display:block;color:#e7d6b4;font-size:13px}
.sbs-site .sbs-v4-action-row small{display:block;color:#acb8bd;font-size:11px;margin-top:5px;line-height:1.5}
.sbs-site .sbs-v4-calculate{background:linear-gradient(105deg,#f2dca6,#c29b63);border:0;border-radius:2px;color:#152432;min-height:50px;cursor:pointer;font-weight:800;font-size:12px;padding:15px 23px;display:inline-flex;gap:20px;align-items:center;justify-content:space-between;text-decoration:none;white-space:nowrap}
.sbs-site .sbs-v4-calculate:hover{filter:brightness(1.065);transform:translateY(-1px)}
.sbs-site .sbs-v4-calculate:disabled{opacity:.65;cursor:wait}
.sbs-site .sbs-v4-result{border:1px solid #c5a573;background:linear-gradient(142deg,#172938,#0a1620);padding:25px 29px;margin-top:26px;color:#f7eedc;box-shadow:0 22px 34px #162b382a}
.sbs-site .sbs-v4-result-header{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap}
.sbs-site .sbs-v4-result .sbs-v4-eyebrow{color:#d8bd8a}
.sbs-site .sbs-v4-result h3{color:#fff8e9!important;font:normal 42px/1.15 Georgia,serif!important;letter-spacing:-.025em;margin:9px 0!important}
.sbs-site .sbs-v4-result-km{font-size:12px;color:#d8b77c}
.sbs-site .sbs-v4-breakdown{border-top:1px solid #d8c39944;margin-top:20px;padding-top:14px}
.sbs-site .sbs-v4-breakdown>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;font-size:12px;color:#d1d9dc;border-bottom:1px solid #cdb68420}
.sbs-site .sbs-v4-breakdown>div strong{color:#f2d5a4;font-weight:700}
.sbs-site .sbs-v4-breakdown>div.total{margin-top:8px;font-size:16px;border-top:1px solid #cdb68686;border-bottom:none;padding-top:14px;color:#fff}
.sbs-site .sbs-v4-breakdown>div.total strong{font:normal 28px Georgia,serif;color:#f6d69c}
.sbs-site .sbs-v4-disclaimer{color:#bbc7cd;font-size:12px;line-height:1.65;margin:17px 0 10px}
.sbs-site .sbs-v4-flag{color:#f4d79d;background:#ffffff13;border-left:3px solid #d6ad6b;padding:9px 13px;font-size:12px}
.sbs-site .sbs-v4-link{margin-top:15px}
.sbs-site .sbs-v4-error{color:#ffdddd;font-size:13px}
.sbs-site .sbs-v4-next{padding-top:7px}
.sbs-site .sbs-v4-booking{padding:0 0 8px}
.sbs-site .sbs-v4-consent{display:flex;gap:9px;margin:22px 0;font-size:12px;color:#283f4e;align-items:flex-start}
.sbs-site .sbs-v4-consent a{color:#a07439;text-decoration:underline}
.sbs-site .sbs-v4-booking>.sbs-v4-disclaimer{color:#687886}
.sbs-site .sbs-v4-full{grid-column:1/-1}
.sbs-site .sbs-v4-policy{margin-top:21px;border:1px solid #e4d9c5;background:#f9f6ee;color:#223746;font-size:12px}
.sbs-site .sbs-v4-policy summary{cursor:pointer;padding:17px 20px;font-weight:800;color:#957044}
.sbs-site .sbs-v4-policy>div{padding:0 20px 14px;line-height:1.7;color:#3b4c59}
.sbs-site .sbs-v4-book-wrap{background:linear-gradient(140deg,#0b1620 0,#192b3d 25%,#f1ece4 25.1%);padding:55px 0 70px}
.sbs-site .sbs-v4-book-intro{color:#fff;max-width:770px;padding-bottom:35px}
.sbs-site .sbs-v4-book-intro .sbs-v4-eyebrow{color:#edd5a9}
.sbs-site .sbs-v4-book-intro h1{font:normal clamp(40px,6vw,66px)/1.05 Georgia,serif!important;letter-spacing:-.05em;color:#fff7ea!important;margin:12px 0 16px!important}
.sbs-site .sbs-v4-book-intro p{color:#d3dee5;line-height:1.7;font-size:13px}
.sbs-site .sbs-v4-book-wrap .sbs-v4-outer{padding:0;background:transparent}
.sbs-site .sbs-v4-book-wrap .sbs-v4-quote{width:100%}
.sbs-site .sbs-v4-message{max-width:1180px;margin:0 auto 18px;padding:17px 20px;font-size:13px}
.sbs-site .sbs-v4-message.good{background:#e6f4e7;color:#15502a}
.sbs-site .sbs-v4-message.bad{background:#fff0ec;color:#913b25}
.sbs-dashboard .sbs-v4-admin-intro{background:linear-gradient(120deg,#102332,#182d41);color:#f7f0e4;padding:23px 27px;border-left:4px solid #d9b981;margin-bottom:20px;line-height:1.7}
.sbs-dashboard .sbs-v4-admin-intro strong{color:#e8ca93;font:normal 25px Georgia,serif}
.sbs-dashboard .sbs-v4-admin-intro p{color:#d3dade;font-size:12px;margin:8px 0}
.sbs-dashboard .sbs-v4-admin-intro span{font-size:11px;color:#d1b481}
.sbs-dashboard .sbs-v4-admin-panel{margin-bottom:20px}
.sbs-dashboard .sbs-v4-admin-panel h2{font:normal 26px Georgia,serif!important;color:#182e3d!important}
.sbs-dashboard .sbs-v4-admin-panel label{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#29404f;font-weight:700}
.sbs-dashboard .sbs-v4-admin-panel input:not([type="checkbox"]),.sbs-dashboard .sbs-v4-admin-panel select,.sbs-dashboard .sbs-v4-admin-panel textarea{box-sizing:border-box;width:100%;background:#fff;border:1px solid #cfd6d5;border-radius:2px;color:#152b3a;padding:12px;min-height:42px;font-size:12px}
.sbs-dashboard .sbs-v4-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:18px 0}
.sbs-dashboard .sbs-v4-admin-checks{display:flex;flex-wrap:wrap;gap:11px 24px;align-items:center;margin:16px 0 19px}
.sbs-dashboard .sbs-v4-admin-panel label.sbs-v4-admin-check{flex-direction:row;align-items:center;gap:8px;font-size:11px;margin:0;font-weight:700}
.sbs-dashboard .sbs-v4-admin-check input{accent-color:#ab8651;width:16px;height:16px}
.sbs-dashboard .sbs-v4-admin-panel .sbs-v3-button{min-height:42px;font-size:12px;padding:10px 17px}
.sbs-dashboard .sbs-v4-tag{background:#ecdfc6;color:#745022;padding:6px 12px;font-size:10px;font-weight:800;letter-spacing:.06em}
.sbs-dashboard .sbs-v4-subheading{font:normal 25px Georgia,serif!important;color:#21394a!important;margin:33px 0 5px}
.sbs-dashboard .sbs-v4-muted{color:#647681;font-size:12px;line-height:1.7;margin-bottom:16px}
.sbs-dashboard .sbs-v4-tier-list{display:grid;gap:11px}
.sbs-dashboard .sbs-v4-tier-row{display:grid;grid-template-columns:1fr auto;align-items:end;gap:11px;border-bottom:1px solid #e2dfd7;padding-bottom:13px}
.sbs-dashboard .sbs-v4-tier-form{display:grid;grid-template-columns:minmax(90px,1fr) minmax(90px,1fr) auto auto;align-items:end;gap:11px}
.sbs-dashboard .sbs-v4-tier-form .sbs-v4-admin-check{align-self:center}
.sbs-dashboard .sbs-v4-add-form{padding:14px;background:#f6f1e7;border:1px dashed #c7ab83}
.sbs-dashboard .sbs-v4-delete{padding:12px;border:1px solid #d9baa9;background:#fff3ef;color:#924630;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}
.sbs-dashboard .sbs-v4-extra-panel>.sbs-v3-panel-head{margin-bottom:4px}
.sbs-dashboard .sbs-v4-extra-panel{padding:23px 28px}
.sbs-dashboard .sbs-v4-extra-panel .sbs-v3-panel-head h2{font-size:22px}
.sbs-dashboard .sbs-v4-extra-panel .sbs-v4-delete{margin-top:12px}
.sbs-dashboard .sbs-v4-admin-wide{display:block!important;margin:20px 0}
.sbs-dashboard .sbs-v4-admin-help{margin-top:27px;background:#f2ecdf;padding:15px 20px;border-left:3px solid #b78c4c}
.sbs-dashboard .sbs-v4-admin-help h3{font:normal 24px Georgia,serif;color:#1c3443}
.sbs-dashboard .sbs-v4-admin-help p{font-size:12px;color:#374c58;line-height:1.8}
.sbs-dashboard .sbs-v4-test-google{margin-top:20px}
.sbs-dashboard .sbs-v4-booking-snapshot{margin-top:18px}
.sbs-dashboard .sbs-v4-booking-snapshot>p{font-size:12px;color:#455867}
.sbs-dashboard .sbs-v4-booking-snapshot .sbs-v4-breakdown{border-top:1px solid #e0ddd5}
.sbs-dashboard .sbs-v4-booking-snapshot .sbs-v4-breakdown>div{color:#344e5b;border-bottom:1px solid #e1e1df}
.sbs-dashboard .sbs-v4-booking-snapshot .sbs-v4-breakdown strong{color:#986c2c}
.sbs-dashboard .sbs-v4-booking-snapshot .sbs-v4-breakdown .total{color:#1e3745}
.sbs-dashboard .sbs-v4-booking-snapshot .sbs-v4-breakdown .total strong{color:#895d28}
@media(max-width:880px){.sbs-site .sbs-v4-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sbs-site .sbs-v4-addons{grid-template-columns:1fr}.sbs-site .sbs-v4-badge{display:none}.sbs-dashboard .sbs-v4-tier-form{grid-template-columns:repeat(2,minmax(0,1fr))}.sbs-dashboard .sbs-v4-tier-row{grid-template-columns:1fr}.sbs-dashboard .sbs-v4-tier-row>form:last-child{justify-self:end}}
@media(max-width:600px){.sbs-site .sbs-v4-outer{padding:22px 0 40px}.sbs-site .sbs-v4-quote{width:calc(100% - 20px);padding:28px 17px 24px}.sbs-site .sbs-v4-grid{grid-template-columns:1fr;gap:13px}.sbs-site .sbs-v4-location,.sbs-site .sbs-v4-full{grid-column:1}.sbs-site .sbs-v4-quote-heading h2{font-size:30px!important}.sbs-site .sbs-v4-extras-head{align-items:flex-start}.sbs-site .sbs-v4-extras-head>span{display:none}.sbs-site .sbs-v4-action-row{flex-direction:column;align-items:stretch;padding:19px}.sbs-site .sbs-v4-calculate{justify-content:center;white-space:normal}.sbs-site .sbs-v4-addon{padding:13px 12px}.sbs-site .sbs-v4-result{padding:21px 16px}.sbs-site .sbs-v4-result h3{font-size:29px!important}.sbs-site .sbs-v4-book-wrap{padding-top:28px}.sbs-site .sbs-v4-book-intro h1{font-size:42px!important}.sbs-dashboard .sbs-v4-admin-grid{grid-template-columns:1fr}.sbs-dashboard .sbs-v4-tier-form{grid-template-columns:1fr}.sbs-dashboard .sbs-v4-extra-panel{padding:20px}}
@media(prefers-reduced-motion:reduce){.sbs-site .sbs-v4-calculate{transition:none;transform:none!important}}

/* V4.1 realtime published DB rates; inherits the existing luxury palette. */
.sbs-v41-rate-board{border:1px solid rgba(194,153,91,.32);background:rgba(14,25,32,.06);padding:14px 20px;margin:18px 0;border-radius:8px}
.sbs-v41-rate-board summary{display:flex;gap:14px;align-items:center;justify-content:space-between;cursor:pointer;color:#9b7538;font-weight:700;letter-spacing:.02em}
.sbs-v41-rate-board summary span{color:#638084;font-size:11px;font-weight:600;letter-spacing:.02em}
.sbs-v41-rate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;padding-top:18px}
.sbs-v41-service-rate{border:1px solid #d5c7b1;background:#fffdf7;border-radius:7px;padding:14px 16px}
.sbs-v41-service-rate strong{font-size:16px;color:#182b36}
.sbs-v41-service-rate p{color:#485762;font-size:13px;line-height:1.65;margin:8px 0 0}
.sbs-v41-fetch-note{padding:10px;color:#8b3622;font-weight:600}
.sbs-v4-preview-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sbs-v4-preview-totals>div{padding:15px;background:#f6f0e5;border:1px solid #dcc8aa;border-radius:8px;display:grid;gap:6px}
.sbs-v4-preview-totals strong{font-size:24px;color:#162a37}
.sbs-v4-preview-totals small{color:#5e6871;font-size:12px}
@media(max-width:560px){.sbs-v41-rate-board summary{align-items:flex-start;flex-direction:column;gap:4px}.sbs-v41-rate-grid{grid-template-columns:1fr}}
