#shine-booking-root{--green:#3cad53;--blue:#2235a9;--ink:#000;--muted:#777;--line:#e5e7eb;--soft:#f7f8fb;--mfn-button-bg-hover:#f2f4ff;--mfn-button-border-color-hover:#2235a9;--mfn-button-color-hover:#2235a9;width:100%;max-width:1280px;margin:0 auto;color:var(--ink);font-family:Montserrat,Arial,sans-serif}
#shine-booking-root *{box-sizing:border-box}
.complete-booking-layout{width:100%;max-width:1640px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.complete-booking-layout #shine-booking-root{max-width:none;margin:0;min-width:0}.complete-booking-sidebar{position:sticky;top:20px;border:1px solid #eceef1;border-radius:18px;background:#fff;padding:22px;box-shadow:0 10px 30px rgba(17,24,39,.06);font-family:Montserrat,Arial,sans-serif;color:#000}.complete-booking-layout.address-pending-sidebar{grid-template-columns:1fr}.complete-booking-layout.address-pending-sidebar .complete-booking-sidebar{display:none}.complete-trust-header{display:flex;align-items:center;gap:10px;min-width:0}.complete-booking-sidebar h2{font-size:20px!important;line-height:1.25!important;margin:0 0 18px!important;color:#000!important}.complete-trust-list{display:grid;gap:11px}.complete-trust-badge{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:11px;padding:12px;border-radius:13px;background:#f7f8fb}.complete-trust-badge>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#e9f7ef;color:#3cad53;font-weight:900}.complete-trust-badge div{display:grid;gap:2px}.complete-trust-badge strong{font-size:13px}.complete-trust-badge small{color:#777;font-size:10px;line-height:1.35}.complete-review-widget{margin-top:18px;padding-top:18px;border-top:1px solid #eceef1;overflow:hidden}.complete-review-widget img,.complete-review-widget iframe{max-width:100%;height:auto}.complete-review-widget--mobile{display:none}
.complete-trust-city{color:#2235a9!important}.sb-shell{position:relative;min-height:760px;background:#fff;overflow:hidden;border:1px solid #eceef1;border-radius:2px}
.sb-top{position:relative;z-index:5;height:82px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 28px;background:#fff}
.sb-header-title{grid-column:2;min-width:0;max-width:70vw;margin:0!important;color:var(--blue)!important;font:600 21px/1.2 Montserrat,Arial,sans-serif!important;text-align:center!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:none!important}
.sb-header-spacer{justify-self:end;width:44px;height:1px}
.sb-header-back{justify-self:start;border:0;background:transparent;color:var(--blue);font:400 48px/1 Arial;padding:0 8px;cursor:pointer}
.sb-progress{position:relative;z-index:6;height:4px;background:#f0f1f4}.sb-progress b{display:block;height:100%;background:var(--blue);transition:width .25s}
.sb-body{position:relative;min-height:674px;padding:26px clamp(24px,7vw,88px) 130px;background:#fff}
.sb-step-0 .sb-body{z-index:3;padding:0;min-height:674px;background:transparent;pointer-events:none}
#sb-map{position:absolute;z-index:1;inset:86px 0 0;filter:saturate(.72) contrast(.93);pointer-events:none;touch-action:none;user-select:none}
.sb-map-filter{position:absolute;z-index:2;inset:86px 0 0;background:rgba(255,255,255,.46);pointer-events:none}
.sb-map-car-pin{position:absolute;z-index:3;left:50%;top:56%;width:58px;height:58px;display:grid;place-items:center;border:4px solid #fff;border-radius:50% 50% 50% 0;background:var(--blue);box-shadow:0 10px 24px rgba(17,24,39,.28);transform:translate(-50%,-100%) rotate(-45deg);pointer-events:none}.sb-map-car-pin span{font-size:27px;line-height:1;transform:rotate(45deg)}
.sb-address-panel{position:absolute;top:24px;left:50%;transform:translateX(-50%);width:min(520px,calc(100% - 36px));text-align:center;pointer-events:auto}
.sb-address-panel>label{font-size:0}
.sb-address-panel>.sb-address-search-label{font-size:12px;font-weight:700}
#sb-address-autocomplete{position:relative;min-height:58px;background:#fff;border:1px solid rgba(17,24,39,.1);border-radius:16px;box-shadow:0 10px 30px rgba(17,24,39,.14);overflow:visible}
.sb-address-search-icon{position:absolute;z-index:2;left:17px;top:50%;transform:translateY(-50%);color:var(--blue);font-size:24px;line-height:1;pointer-events:none}
#sb-address-search{display:block;width:100%;height:58px!important;border:0!important;border-radius:16px!important;background:#fff!important;padding:0 46px 0 49px!important;font-size:16px!important;font-weight:500!important;box-shadow:none!important;-webkit-appearance:none;appearance:none}
#sb-address-search::-webkit-search-cancel-button{margin-right:2px}.pac-container{z-index:2147483647!important;border:0!important;border-radius:0 0 14px 14px!important;box-shadow:0 14px 30px rgba(17,24,39,.18)!important;font-family:Montserrat,Arial,sans-serif!important}.pac-item{padding:10px 14px!important;font-size:13px!important;line-height:24px!important}.pac-item-query{font-size:14px!important}
gmp-place-autocomplete{display:block;width:100%;min-height:58px;--gmpx-color-surface:#fff;--gmpx-color-primary:var(--blue);border:0!important;outline:0!important;box-shadow:none!important;border-radius:16px}
.sb-selected{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:20px;background:#fff;border-radius:16px;padding:16px 18px;box-shadow:0 7px 22px rgba(0,0,0,.12)}.sb-selected span{display:grid;gap:4px}.sb-selected small{color:var(--muted)}.sb-selected button{border:0;background:transparent;color:var(--blue);font-weight:700;cursor:pointer}
.sb-address-panel .sb-grid{padding:18px;background:#fff;border-radius:16px;box-shadow:0 7px 22px rgba(0,0,0,.12);text-align:left}
.sb-section-title{font-size:24px;margin:8px 0 18px;font-weight:600}.sb-section-title small{font-size:12px;color:var(--muted)}.sb-body>p{color:#69717b;margin:0 0 24px}
.sb-crumb{font-weight:600;margin:0 0 22px}.sb-crumb b{color:var(--blue);padding:0 14px}
.sb-tile-grid{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:16px}.sb-tile{min-width:0;min-height:220px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;cursor:pointer;transition:.18s;white-space:normal!important;overflow:hidden}.sb-tile:hover,.sb-tile.active{border-color:var(--blue);box-shadow:0 7px 20px rgba(34,53,169,.09);transform:translateY(-1px)}.sb-tile.active{background:#f2f4ff}.sb-tile>span{font-size:62px;line-height:1}.sb-tile strong{width:100%;max-width:100%;font-size:16px;line-height:1.35;text-align:center;white-space:normal!important;overflow-wrap:anywhere;word-break:normal}.sb-tile small{width:100%;max-width:100%;color:#a1a7b0;line-height:1.4;text-align:center;white-space:normal!important;overflow-wrap:anywhere}.sb-service-grid .sb-tile{min-height:245px}
.sb-detail-grid{max-width:860px;margin:12px auto}.sb-detail-choice{min-height:240px}.sb-detail-choice:disabled{opacity:.42;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.sb-nav{position:absolute;z-index:10;left:0;right:0;bottom:0;min-height:105px;background:#fff;padding:18px clamp(24px,7vw,88px);display:flex;justify-content:flex-end;align-items:center;gap:24px;border-top:1px solid #f0f1f3}.sb-step-0 .sb-nav{pointer-events:auto}.sb-secondary{min-width:94px;height:50px;margin-right:auto;border:1px solid #d9dde3;border-radius:13px;background:#fff;color:#4b5563;font:700 14px Montserrat,Arial,sans-serif;cursor:pointer}.sb-secondary:hover{border-color:var(--blue);color:var(--blue)}.sb-current{min-width:210px;min-height:58px;background:var(--soft);border-radius:14px;display:flex;align-items:center;gap:16px;padding:10px 16px}.sb-current:has(>small){display:grid;gap:2px}.sb-current>small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}.sb-current>span{width:32px;height:32px;border-radius:9px;background:#fff;display:grid;place-items:center}.sb-primary{min-width:142px;height:58px;border:0;border-radius:15px;background:var(--blue);color:#fff;font:700 17px Montserrat,Arial,sans-serif;cursor:pointer}.sb-primary:disabled{opacity:.32;cursor:not-allowed}
.complete-trust-header{display:flex;align-items:center;gap:10px;min-width:0}.sb-body label{display:grid;gap:7px;font-size:12px;font-weight:600}.sb-body input,.sb-body textarea{width:100%;border:1px solid #d5d9df;border-radius:10px;padding:15px 16px;font:inherit;outline:none}.sb-body input:focus,.sb-body textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(34,53,169,.1)}.sb-body textarea{min-height:100px;resize:vertical}.sb-contact-field.is-invalid input{border-color:#b42318;box-shadow:0 0 0 3px rgba(180,35,24,.09)}.sb-field-error{color:#b42318;font-size:11px;font-weight:600;line-height:1.35}.sb-field-error[hidden]{display:none}
.sb-vehicle-search{position:relative;max-width:720px;margin:16px auto}.sb-vehicle-search>span{position:absolute;z-index:2;left:20px;top:15px;color:var(--blue);font-size:28px}.sb-vehicle-search>input{height:62px;padding-left:56px;border-radius:16px;font-size:16px;box-shadow:0 6px 20px rgba(0,0,0,.07)}#sb-vehicle-results{position:absolute;z-index:20;left:0;right:0;top:68px;background:#fff;border-radius:14px;box-shadow:0 15px 40px rgba(0,0,0,.16);overflow:hidden}#sb-vehicle-results button{width:100%;border:0;border-bottom:1px solid #f0f1f3;background:#fff;padding:13px 18px;display:flex;justify-content:space-between;text-align:left;cursor:pointer}#sb-vehicle-results button:hover{background:#f2f4ff}#sb-vehicle-results small{color:var(--muted)}
.sb-vehicle-result{max-width:720px;margin:20px auto;display:grid;grid-template-columns:1.2fr 1fr;align-items:center;border:1px solid var(--line);border-radius:20px;overflow:hidden}.sb-vehicle-image{height:290px;background:linear-gradient(145deg,#f8f9fb,#eef1f4);display:grid;place-items:center;overflow:hidden;padding:18px}.sb-vehicle-image img{display:block;width:100%;height:100%;object-fit:contain}.sb-vehicle-result>div:last-child{padding:28px}.sb-vehicle-result h3{font-size:25px;margin:8px 0}.sb-vehicle-result p{color:var(--muted)}.sb-vehicle-result button{border:0;background:transparent;color:var(--blue);font-weight:700;padding:0;cursor:pointer}
.sb-seat-capacity{display:grid;gap:6px;margin:18px 0;color:var(--ink);font-weight:700}.sb-seat-capacity>small{color:var(--muted);font-size:12px;font-weight:500;line-height:1.4}.sb-seat-capacity>input{width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);font:600 16px Montserrat,Arial,sans-serif}.sb-seat-capacity>input:focus{outline:3px solid rgba(52,82,235,.18);border-color:var(--blue)}
.sb-upsell-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;max-width:860px;margin:12px auto}.sb-upsell{position:relative;min-width:0;min-height:144px;border:1px solid var(--line);border-radius:17px;background:#fff;padding:17px;display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;align-content:start;align-items:start;gap:10px 13px;text-align:left;font:inherit;white-space:normal;cursor:pointer;transition:.18s}.sb-upsell:hover,.sb-upsell.active{border-color:var(--blue);box-shadow:0 8px 22px rgba(34,53,169,.09);transform:translateY(-1px)}.sb-upsell.active{background:#f2f4ff}.sb-upsell-check{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#eef1ff;color:var(--blue);font-size:20px;font-weight:800}.sb-upsell.active .sb-upsell-check{background:var(--blue);color:#fff}.sb-upsell>span:nth-child(2){min-width:0;display:grid;gap:6px}.sb-upsell strong{font-size:15px;line-height:1.3;overflow-wrap:anywhere}.sb-upsell small{color:var(--muted);font-size:11px;line-height:1.45;overflow-wrap:anywhere}.sb-upsell>b{grid-column:2;justify-self:start;color:var(--blue);background:#f2f4ff;border-radius:999px;padding:5px 9px;font-size:13px;line-height:1;white-space:nowrap}.sb-empty{text-align:center;color:var(--muted);grid-column:1/-1}
.sb-vehicle-silhouette{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.sb-calendar{max-width:700px;margin:0 auto;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;box-shadow:0 8px 26px rgba(17,24,39,.05)}.sb-calendar-head{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;text-align:center;margin-bottom:15px}.sb-calendar-head strong{font-size:20px}.sb-calendar-head button{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--blue);font-size:28px;line-height:1;cursor:pointer}.sb-calendar-head button:disabled{opacity:.25;cursor:not-allowed}.sb-calendar-weekdays,.sb-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.sb-calendar-weekdays{margin-bottom:7px}.sb-calendar-weekdays span{text-align:center;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.sb-calendar-day,.sb-calendar-blank{aspect-ratio:1;min-width:0}.sb-calendar-day{position:relative;border:1px solid transparent;border-radius:12px;background:#f7f8fa;color:#b0b5bc;font:600 14px Montserrat,Arial,sans-serif;cursor:not-allowed}.sb-calendar-day.has-times{background:#fff;border-color:var(--line);color:var(--ink);cursor:pointer}.sb-calendar-day.has-times:hover,.sb-calendar-day.active{border-color:var(--blue);background:#f2f4ff;color:var(--blue);box-shadow:0 4px 12px rgba(34,53,169,.1)}.sb-calendar-day i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--blue);bottom:7px;left:50%;transform:translateX(-50%)}.sb-time-dropdown{max-width:700px;margin:14px auto 0;border:1px solid #d4dafb;border-radius:16px;background:#f7f8ff;padding:16px;animation:sb-drop .18s ease-out}.sb-time-dropdown h3{font-size:14px;margin:0 0 12px}.sb-time-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.sb-slot{min-height:48px;border:1px solid var(--line);border-radius:11px;background:#fff;font:600 12px Montserrat,Arial,sans-serif;cursor:pointer}.sb-slot:hover,.sb-slot.active{background:var(--blue);border-color:var(--blue);color:#fff}.sb-calendar-help{text-align:center!important;font-size:12px!important;margin:14px 0 0!important;color:var(--muted)!important}.sb-loading{text-align:center;padding:90px;color:var(--muted)}@keyframes sb-drop{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
.sb-check{display:flex!important;grid-template-columns:20px 1fr!important;align-items:start;margin-top:14px;font-weight:400!important}.sb-check input{width:17px!important;margin:0}.sb-summary{border:1px solid var(--line);border-radius:13px;overflow:hidden}.sb-summary>div{display:flex;justify-content:space-between;gap:25px;padding:15px 18px;border-bottom:1px solid #eee}.sb-summary>div:last-child{border:0}.sb-summary span{color:var(--muted)}.sb-summary b{text-align:right}.sb-summary .sb-total{font-size:19px;background:var(--soft)}.sb-error{margin-top:15px;background:#fff0ed;color:#9c382e;padding:12px;border-radius:9px}.sb-success{text-align:center;padding:80px 30px}.sb-success h2{font-size:38px}.sb-checkmark{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:#e9f7ef;color:#17884c;font-size:30px;margin:auto}
@media(max-width:760px){#shine-booking-root{margin:0}.sb-shell{min-height:100vh;border:0}.sb-top{height:62px;padding:0 14px}.sb-header-spacer{width:34px}.sb-header-title{font-size:16px}.sb-header-back{font-size:38px}.sb-body{min-height:calc(100vh - 66px);padding:22px 22px 118px}.sb-step-0 .sb-body{min-height:calc(100vh - 66px)}#sb-map{inset:66px 0 0}.sb-address-panel{top:26px}.sb-address-panel h2{font-size:28px}.sb-nav{min-height:92px;padding:14px 22px}.sb-current{min-width:0;flex:1}.sb-primary{min-width:116px;height:58px}.sb-tile-grid{grid-template-columns:1fr 1fr;gap:12px}.sb-service-grid{grid-template-columns:1fr}.sb-tile{min-height:190px;padding:15px}.sb-service-grid .sb-tile{min-height:132px;padding:18px}.sb-service-grid .sb-tile>span{font-size:42px}.sb-grid{grid-template-columns:1fr}.sb-grid label:first-child{grid-column:auto}.sb-calendar{padding:12px}.sb-calendar-weekdays,.sb-calendar-grid{gap:4px}.sb-calendar-day{border-radius:9px;font-size:12px}.sb-time-options{grid-template-columns:1fr}.sb-vehicle-result{grid-template-columns:1fr}.sb-vehicle-image{height:220px}}
.sb-checkout-privacy{text-align:center!important;font-size:12px!important;color:#747b84!important;margin:18px 0 0!important}.sb-checkout-privacy a{color:var(--blue);font-weight:700}.sb-step-0 .sb-vehicle-image{display:none!important}
.sb-places-error{display:grid;gap:7px;background:#fff;border:1px solid #ffd2cf;border-radius:16px;padding:18px;box-shadow:0 7px 22px rgba(0,0,0,.12);color:#8f2d27}.sb-places-error span{font-size:13px;color:#69717b}.sb-manual-address{margin-top:8px}.sb-manual-address .sb-grid{margin:0;padding:14px;background:#fff;border-radius:14px;box-shadow:0 7px 22px rgba(0,0,0,.12)}.sb-address-note{margin:0 0 10px;color:#69717b;font-size:12px}.sb-address-note button{all:unset;display:inline-block;cursor:pointer;color:var(--blue);background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.7);border-radius:999px;padding:7px 12px;box-shadow:0 4px 14px rgba(17,24,39,.08);font:700 12px Montserrat,Arial,sans-serif;text-decoration:underline;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.sb-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sb-summary .sb-deposit{background:#edf8f0;color:#226f34;font-size:18px}.sb-summary .sb-deposit span{color:#226f34;font-weight:700}.sb-secure-note{text-align:center!important;color:#4e5965!important;font-size:12px!important;margin:16px 0 0!important}.sb-payment-spinner{width:48px;height:48px;border:4px solid #f1f2f4;border-top-color:var(--blue);border-radius:50%;margin:0 auto 18px;animation:sb-spin .8s linear infinite}.sb-cancelled{background:#fff3e7;color:#8a4d08;border:1px solid #ffd7a5;border-radius:12px;padding:12px!important;margin:0 0 14px!important;font-size:13px!important}@keyframes sb-spin{to{transform:rotate(360deg)}}
.sb-summary .sb-discount-row{background:#f1fbf5;color:#167246}.sb-summary .sb-discount-row span{color:#167246}.sb-discount{max-width:560px;margin:12px auto 0;border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.sb-discount>summary{position:relative;padding:12px 42px 12px 15px;color:#000;font-size:12px;font-weight:800;cursor:pointer;list-style:none}.sb-discount>summary::-webkit-details-marker{display:none}.sb-discount>summary:after{content:'+';position:absolute;right:15px;top:50%;transform:translateY(-50%);color:var(--blue);font-size:20px;line-height:1}.sb-discount[open]>summary{border-bottom:1px solid var(--line)}.sb-discount[open]>summary:after{content:'−'}.sb-discount-fields{padding:12px 14px}.sb-discount-fields>label{display:block;margin-bottom:7px;font-size:11px;font-weight:700}.sb-discount-fields>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.sb-discount input{min-width:0;height:42px;text-transform:uppercase}.sb-discount button{min-width:84px;border:0;border-radius:9px;background:#000;color:#fff;font:700 12px Montserrat,Arial,sans-serif;cursor:pointer}.sb-discount button:disabled{opacity:.55}.sb-discount-success,.sb-discount-message{margin:8px 0 0!important;font-size:11px!important}.sb-discount-success{color:#167246!important}.sb-discount-message{color:#9c382e!important}
.sb-step-7{height:min(760px,100svh);min-height:0}.sb-step-7 .sb-body{height:calc(100% - 86px);min-height:0;padding:14px clamp(18px,4vw,48px) 88px;overflow:auto}.sb-step-7 .sb-section-title{margin:0 0 10px;font-size:21px}.sb-step-7 .sb-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.sb-step-7 .sb-summary>div{min-width:0;padding:7px 11px;gap:12px;font-size:11px;line-height:1.3;border-right:1px solid #eee}.sb-step-7 .sb-summary b{overflow-wrap:anywhere}.sb-step-7 .sb-summary .sb-total,.sb-step-7 .sb-summary .sb-deposit{font-size:14px}.sb-step-7 .sb-secure-note,.sb-step-7 .sb-checkout-privacy{margin:7px 0 0!important;font-size:10px!important;line-height:1.3}.sb-step-7 .sb-error{margin-top:7px;padding:8px;font-size:11px}.sb-step-7 .sb-nav{min-height:78px;padding:10px clamp(18px,4vw,48px)}.sb-step-7 .sb-current{min-height:54px}.sb-step-7 .sb-primary{height:54px}
.sb-resume-note{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;background:#000;color:#fff;border-radius:14px;padding:12px 14px;box-shadow:0 9px 24px rgba(17,24,39,.2);font-size:12px;font-weight:600;animation:sb-drop .18s ease-out}.sb-resume-note>div{display:flex;gap:7px}.sb-resume-note button{border:0;border-radius:9px;background:var(--blue);color:#fff;padding:9px 12px;font:700 12px Montserrat,Arial,sans-serif;white-space:nowrap;cursor:pointer}.sb-resume-note .sb-resume-dismiss{background:#fff;color:#111827}
@media(max-width:980px){.complete-booking-layout{grid-template-columns:1fr;gap:16px}.complete-booking-layout #shine-booking-root{order:1}.complete-booking-sidebar{position:static;order:2;margin:0 14px 18px}.complete-booking-layout.is-sidebar-top .complete-booking-sidebar{order:0;margin:14px}.complete-booking-layout.is-sidebar-top #shine-booking-root{order:1}.complete-trust-list{grid-template-columns:repeat(3,1fr)}.complete-review-widget{text-align:center}}
@media(max-width:760px){.complete-booking-layout{height:100svh;max-height:100svh;grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 96px;gap:0;overflow:hidden}.complete-booking-layout.address-pending-sidebar{grid-template-rows:1fr}.complete-booking-layout #shine-booking-root{grid-row:1;height:100%;min-height:0;overflow:hidden}.complete-booking-layout .complete-booking-sidebar{box-sizing:border-box;grid-row:2;position:static;height:96px;min-height:96px;margin:0!important;padding:8px 12px;border:0;border-radius:0;overflow:hidden;background:#fff;box-shadow:0 -4px 18px rgba(17,24,39,.08);display:grid;grid-template-rows:18px minmax(0,1fr);gap:5px}.complete-booking-layout.is-sidebar-top{grid-template-rows:96px minmax(0,1fr)}.complete-booking-layout.address-pending-sidebar.is-sidebar-top{grid-template-rows:1fr}.complete-booking-layout.is-sidebar-top .complete-booking-sidebar{grid-row:1;box-shadow:0 4px 18px rgba(17,24,39,.08)}.complete-booking-layout.is-sidebar-top #shine-booking-root{grid-row:2}.complete-booking-layout #shine-booking-root .sb-shell{height:100%;min-height:0}.complete-booking-layout #shine-booking-root .sb-body,.complete-booking-layout #shine-booking-root .sb-step-0 .sb-body{position:static;height:calc(100% - 66px);min-height:0;overflow:auto}.complete-booking-layout #shine-booking-root .sb-step-7{height:100%}.complete-trust-header{display:block;min-width:0}.complete-booking-sidebar h2{font-size:12px!important;line-height:18px!important;margin:0!important;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.complete-trust-list,.complete-review-widget:not(.complete-review-widget--mobile),.complete-mobile-proof{display:none!important}.complete-review-widget--mobile{display:block!important;height:57px;min-height:57px;margin:0;padding:0;border:0;overflow:hidden}.complete-review-widget--mobile>div,.complete-review-widget--mobile iframe{display:block;width:100%!important;height:57px!important;min-height:57px!important;max-height:57px!important}.sb-map-filter{inset:66px 0 0}.sb-address-panel{top:22px;width:calc(100% - 28px)}.sb-address-panel h2{margin-bottom:14px}.sb-address-note{margin-top:10px}.sb-resume-note{top:74px;right:12px;left:12px;justify-content:space-between}.sb-section-title{margin:4px 0 10px}.sb-body>p{margin-bottom:12px}.sb-upsell-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sb-detail-grid{grid-template-columns:1fr;gap:8px}.sb-upsell{min-height:126px;padding:9px;grid-template-columns:28px minmax(0,1fr);gap:6px 8px}.sb-upsell-check{width:27px;height:27px;font-size:16px}.sb-upsell strong{font-size:12px}.sb-upsell small{font-size:9px;line-height:1.3}.sb-upsell>b{padding:4px 7px;font-size:11px}.sb-detail-choice{min-height:96px;padding:10px}.sb-detail-choice>span{font-size:36px}.sb-service-grid .sb-tile{min-height:92px;padding:10px}.sb-service-grid .sb-tile>span{font-size:34px}.sb-service-grid .sb-tile strong{font-size:14px}.sb-service-grid .sb-tile small{font-size:10px}.sb-vehicle-image{height:190px;padding:10px}.sb-vehicle-result>div:last-child{padding:14px}.sb-vehicle-result h3{font-size:20px;margin:5px 0}.sb-calendar{padding:8px}.sb-calendar-head{margin-bottom:7px}.sb-calendar-head button{width:32px;height:32px}.sb-calendar-day,.sb-calendar-blank{height:30px;aspect-ratio:auto}.sb-calendar-day i{bottom:3px}.sb-time-dropdown{margin-top:8px;padding:10px}.sb-time-dropdown h3{margin-bottom:7px}.sb-calendar-help{margin-top:6px!important}.sb-step-7 .sb-body{height:calc(100% - 66px);padding:12px 14px 84px}.sb-step-7 .sb-section-title{font-size:21px;margin-bottom:10px}.sb-step-7 .sb-summary>div{padding:8px 10px;font-size:12px;line-height:1.35}.sb-step-7 .sb-summary .sb-total,.sb-step-7 .sb-summary .sb-deposit{font-size:14px}.sb-step-7 .sb-discount{margin-top:9px}.sb-step-7 .sb-discount>summary{padding:10px 38px 10px 12px;font-size:12px}.sb-step-7 .sb-secure-note,.sb-step-7 .sb-checkout-privacy{margin-top:6px!important;font-size:10px!important}.sb-step-7 .sb-nav{min-height:76px;padding:9px 72px}.sb-step-7 .sb-current,.sb-step-7 .sb-primary{min-height:56px;height:56px}}

@media(min-width:761px){.complete-booking-sidebar .complete-trust-header{display:grid;grid-template-columns:minmax(0,1fr);gap:0;align-items:stretch}.complete-booking-sidebar .complete-trust-header>h2{width:100%}}
.complete-mobile-proof{display:none}
@media(max-width:520px){.sb-step-7 .sb-summary{grid-template-columns:1fr}.sb-step-7 .sb-summary>div{padding:8px 10px;line-height:1.35;border-right:0}.sb-step-7 .sb-summary>div:nth-child(-n+4){display:grid;grid-template-columns:82px minmax(0,1fr)}.sb-step-7 .sb-discount-fields{padding:9px 11px}.sb-step-7 .sb-discount input{height:38px}.sb-step-7 .sb-discount button{min-width:72px}}
@media(max-width:760px){.complete-booking-layout #shine-booking-root .sb-resume-note{position:relative;top:auto;right:auto;left:auto;flex-direction:column;align-items:stretch}.sb-resume-note>div{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:760px){.complete-booking-layout.address-pending-sidebar.is-sidebar-top #shine-booking-root{grid-row:1}.complete-booking-layout #shine-booking-root .sb-body,.complete-booking-layout #shine-booking-root .sb-step-0 .sb-body{position:relative}.complete-booking-layout .sb-nav{justify-content:center;padding-left:56px;padding-right:56px;gap:8px}.complete-booking-layout .sb-primary{min-width:106px}.complete-booking-layout .sb-step-7 .sb-nav{padding-left:56px;padding-right:56px}}
/* Mobile production hardening: escape narrow theme columns and keep actions clear of fixed site widgets. */
@media(max-width:760px){.complete-booking-layout{width:100vw!important;max-width:100vw!important;margin-left:calc(50% - 50vw)!important;margin-right:calc(50% - 50vw)!important;isolation:isolate}.complete-booking-layout.address-pending-sidebar{display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}.complete-booking-layout.address-pending-sidebar #shine-booking-root,.complete-booking-layout.address-pending-sidebar.is-sidebar-top #shine-booking-root{display:block!important;grid-column:1!important;grid-row:1!important;width:100%!important;height:100%!important;min-height:0!important}.complete-booking-layout.address-pending-sidebar .complete-booking-sidebar{display:none!important}.complete-booking-layout.address-pending-sidebar .sb-shell{height:100%!important;min-height:0!important}.complete-booking-layout.address-pending-sidebar .sb-body{height:calc(100% - 66px)!important;min-height:0!important}.complete-booking-layout .sb-nav,.complete-booking-layout.is-sidebar-top:not(.address-pending-sidebar) .sb-nav{bottom:104px}.complete-booking-layout .sb-body,.complete-booking-layout.is-sidebar-top:not(.address-pending-sidebar) .sb-body{padding-bottom:234px}.complete-booking-layout .sb-nav{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
/* Prevent WordPress themes from restyling the address search. */
#shine-booking-root #sb-address-autocomplete{height:58px!important;min-height:58px!important;max-height:58px!important;margin:0!important;padding:0!important}
#shine-booking-root #sb-address-search{height:58px!important;min-height:58px!important;max-height:58px!important;margin:0!important;color:var(--ink)!important;line-height:normal!important}
#shine-booking-root #sb-address-search::placeholder{color:#7b838d!important;opacity:1!important}
#shine-booking-root gmp-place-autocomplete{height:58px!important;min-height:58px!important;max-height:58px!important;margin:0!important}
/* The form content owns scrolling; the action bar remains a separate shell layer. */
#shine-booking-root .sb-shell{height:760px;min-height:760px}
#shine-booking-root .sb-body{height:674px;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:140px}
#shine-booking-root .sb-nav{position:absolute}
@media(max-width:760px){.complete-booking-layout #shine-booking-root .sb-shell{height:100%!important;min-height:0!important}.complete-booking-layout #shine-booking-root .sb-body,.complete-booking-layout #shine-booking-root .sb-step-0 .sb-body{height:calc(100% - 66px)!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:234px}}
@media(max-width:760px){#shine-booking-root .sb-header-title{max-width:78vw;font-size:15px!important}}
@media(max-width:760px){.complete-booking-layout .sb-secondary{min-width:64px;width:64px;height:56px;margin-right:0;padding:0;font-size:12px}.complete-booking-layout .sb-nav{gap:8px}.complete-booking-layout .sb-current{padding:8px 9px;gap:7px}.complete-booking-layout .sb-current>span{width:26px;height:30px}.complete-booking-layout .sb-current strong{font-size:13px}.complete-booking-layout .sb-step-7 .sb-secondary{height:56px}}
#shine-booking-root #sb-vehicle-results{max-height:min(360px,calc(100svh - 300px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#c7ccd4 #fff}
#shine-booking-root #sb-vehicle-results::-webkit-scrollbar{width:8px}#shine-booking-root #sb-vehicle-results::-webkit-scrollbar-track{background:#fff}#shine-booking-root #sb-vehicle-results::-webkit-scrollbar-thumb{border:2px solid #fff;border-radius:999px;background:#c7ccd4}
@media(max-width:760px){#shine-booking-root #sb-vehicle-results{max-height:min(320px,calc(100svh - 290px))}}
@media(max-width:760px){#shine-booking-root .sb-calendar-weekdays,#shine-booking-root .sb-calendar-grid{display:grid!important;grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:5px!important;width:100%!important}#shine-booking-root .sb-calendar-weekdays>span{min-width:0!important;text-align:center!important}#shine-booking-root .sb-calendar-day,#shine-booking-root .sb-calendar-blank{display:block!important;box-sizing:border-box!important;min-width:0!important;width:100%!important;max-width:100%!important;height:clamp(34px,10vw,40px)!important;min-height:34px!important;margin:0!important;padding:0!important;aspect-ratio:auto!important;border-radius:9px!important;line-height:1!important}#shine-booking-root .sb-calendar-day>span{display:grid!important;width:100%!important;height:100%!important;place-items:center!important}}
@media(max-width:760px){#shine-booking-root .sb-calendar-head{display:grid!important;grid-template-columns:38px minmax(0,1fr) 38px!important;align-items:center!important;gap:6px!important;width:100%!important;max-width:100%!important;margin:0 0 8px!important}#shine-booking-root .sb-calendar-head>strong{min-width:0!important;text-align:center!important}#shine-booking-root .sb-calendar-head>button{position:static!important;display:grid!important;place-items:center!important;box-sizing:border-box!important;width:36px!important;min-width:36px!important;max-width:36px!important;height:36px!important;min-height:36px!important;max-height:36px!important;margin:0!important;padding:0!important;transform:none!important;justify-self:center!important;line-height:1!important}}
/* Prevent the WordPress theme's global aqua button hover from leaking into the booking widget. */
#shine-booking-root .sb-primary:hover,#shine-booking-root .sb-primary:focus-visible{background:#2235a9!important;border-color:#2235a9!important;color:#fff!important}
#shine-booking-root .sb-secondary:hover,#shine-booking-root .sb-secondary:focus-visible{background:#f2f4ff!important;border-color:#2235a9!important;color:#2235a9!important}
#shine-booking-root .sb-header-back:hover,#shine-booking-root .sb-header-back:focus-visible{background:#f2f4ff!important;border-color:transparent!important;color:#2235a9!important}
.sb-period-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:10px 0 14px}.sb-period{min-width:0;min-height:74px;display:grid;place-items:center;gap:4px;padding:12px;border:1px solid var(--line);border-radius:14px;background:#fff;color:#000;cursor:pointer;font-family:Montserrat,Arial,sans-serif;text-align:center}.sb-period strong{font-size:15px}.sb-period small{font-size:10px;line-height:1.3;color:var(--muted)}.sb-period:hover,.sb-period:focus-visible{border-color:#2235a9!important;background:#f2f4ff!important;color:#000!important}.sb-period.active{border-color:#2235a9;background:#e9ecff;box-shadow:inset 0 0 0 1px #2235a9}.sb-period.active small{color:#2235a9}.sb-period:disabled{cursor:not-allowed;opacity:.55;background:#f5f6f8}.sb-period:disabled:hover{border-color:var(--line)!important;background:#f5f6f8!important}.sb-slot:disabled{cursor:wait;opacity:.65}
@media(max-width:760px){.sb-period-options{gap:7px;margin:6px 0 9px}.sb-period{min-height:62px;padding:8px 5px;border-radius:11px}.sb-period strong{font-size:12px}.sb-period small{font-size:8px}.sb-time-options{grid-template-columns:repeat(2,minmax(0,1fr))}.sb-slot{min-height:46px;font-size:11px}}
/* Give the desktop checkout summary enough visual weight while preserving the compact mobile layout. */
@media(min-width:761px){#shine-booking-root .sb-step-8 .sb-body{padding:24px clamp(28px,5vw,64px) 104px}#shine-booking-root .sb-step-8 .sb-section-title{margin:0 0 17px;font-size:26px}#shine-booking-root .sb-step-8 .sb-summary{border-radius:16px;box-shadow:0 5px 18px rgba(17,24,39,.04)}#shine-booking-root .sb-step-8 .sb-summary>div{min-height:55px;padding:13px 18px;gap:18px;font-size:14px;line-height:1.4;align-items:center}#shine-booking-root .sb-step-8 .sb-summary span{font-size:13px;font-weight:500}#shine-booking-root .sb-step-8 .sb-summary b{font-size:14px;line-height:1.4}#shine-booking-root .sb-step-8 .sb-summary .sb-total,#shine-booking-root .sb-step-8 .sb-summary .sb-deposit{font-size:18px}#shine-booking-root .sb-step-8 .sb-discount{max-width:680px;margin-top:16px}#shine-booking-root .sb-step-8 .sb-discount>summary{padding:14px 44px 14px 17px;font-size:13px}#shine-booking-root .sb-step-8 .sb-secure-note,#shine-booking-root .sb-step-8 .sb-checkout-privacy{margin-top:10px!important;font-size:11px!important;line-height:1.4}}
/* Let the date card fill the space above the fixed action bar. Five-week months
   get taller rows, while six-week months divide the same space without clipping. */
#shine-booking-root .sb-step-5 .sb-body{display:flex;min-height:0;flex-direction:column;overflow:hidden}
#shine-booking-root .sb-step-5 .sb-calendar{display:flex;width:100%;min-height:0;flex:1 1 auto;flex-direction:column}
#shine-booking-root .sb-step-5 .sb-calendar-head,#shine-booking-root .sb-step-5 .sb-calendar-weekdays{flex:0 0 auto}
#shine-booking-root .sb-step-5 .sb-calendar-grid{min-height:0;flex:1 1 auto;grid-auto-rows:minmax(0,1fr);align-content:stretch}
#shine-booking-root .sb-step-5 .sb-calendar-day,#shine-booking-root .sb-step-5 .sb-calendar-blank{height:auto!important;min-height:0!important;aspect-ratio:auto!important}
#shine-booking-root .sb-step-5 .sb-calendar-day>span{display:grid;width:100%;height:100%;place-items:center}
@media(min-width:761px){#shine-booking-root .sb-step-5 .sb-body{padding:20px clamp(24px,7vw,88px) 112px}#shine-booking-root .sb-step-5 .sb-body>p{margin-bottom:16px}#shine-booking-root .sb-step-5 .sb-calendar{padding:16px 18px}#shine-booking-root .sb-step-5 .sb-calendar-head{margin-bottom:12px}}
/* Center the arrow artwork independently of font baselines and theme button padding. */
#shine-booking-root .sb-calendar-head>button{display:grid!important;place-items:center!important;margin:0!important;padding:0!important;font-size:0!important;line-height:0!important;text-align:center!important;text-indent:0!important}
#shine-booking-root .sb-calendar-head>button:before{display:block;font:400 28px/1 Arial,sans-serif;transform:translateY(-1px)}
#shine-booking-root .sb-calendar-head>button[aria-label="Previous month"]:before{content:'‹'}
#shine-booking-root .sb-calendar-head>button[aria-label="Next month"]:before{content:'›'}
@media(max-width:760px){.complete-booking-layout #shine-booking-root .sb-step-5 .sb-body{padding-bottom:204px!important;overflow:hidden!important}#shine-booking-root .sb-calendar-head>button:before{font-size:24px}}
/* On wide screens, use the full booking-card height for social proof instead of
   leaving an empty column beneath the review widget. */
@media(min-width:981px){.complete-booking-sidebar{box-sizing:border-box;height:740px;display:flex;flex-direction:column}.complete-booking-sidebar .complete-trust-header{flex:0 0 auto}.complete-booking-sidebar .complete-review-widget:not(.complete-review-widget--mobile){display:flex;min-height:180px;flex:1 1 auto;flex-direction:column}.complete-booking-sidebar .complete-review-widget:not(.complete-review-widget--mobile)>*{width:100%;min-height:100%;flex:1 1 auto}.complete-booking-sidebar .complete-review-widget:not(.complete-review-widget--mobile) iframe{width:100%!important;height:100%!important;min-height:100%!important}}

/* Embedded Stripe payment stays inside the booking card. Stripe owns the
   sensitive inputs; these styles only frame its mounted Payment Element. */
#shine-booking-root .sb-payment-shell{max-width:680px;margin:16px auto 0;padding:16px;border:1px solid #d8dce6;border-radius:16px;background:linear-gradient(180deg,#fff 0%,#fafbff 100%);box-shadow:0 8px 24px rgba(31,45,128,.08)}
#shine-booking-root .sb-payment-shell[hidden]{display:none!important}
#shine-booking-root .sb-payment-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;color:#111827}
#shine-booking-root .sb-payment-heading strong{font-size:15px}
#shine-booking-root .sb-payment-heading span{padding:5px 9px;border-radius:999px;background:#eef0ff;color:#2235a9;font-size:10px;font-weight:800;letter-spacing:.02em;text-transform:uppercase}
#shine-booking-root .sb-payment-message{min-height:18px;margin:12px 0 0!important;color:#667085!important;font-size:11px!important;line-height:1.45!important}
#shine-booking-root .sb-check-payment{width:auto;min-width:180px;margin:18px auto 0;padding:0 20px}
#shine-booking-root .sb-payment-review h2{color:#7a4b00}
@media(max-width:760px){#shine-booking-root .sb-payment-shell{margin-top:10px;padding:12px;border-radius:13px}#shine-booking-root .sb-payment-heading{margin-bottom:10px}#shine-booking-root .sb-payment-heading strong{font-size:13px}#shine-booking-root .sb-payment-heading span{font-size:8px}}

.sb-draft-notice{font-size:12px;line-height:1.4;color:#64748b;margin:0;padding:0 20px 8px;text-align:center}

/* The resume prompt and address fields share normal document flow, so either can
   grow or wrap without covering the other. The map stays non-interactive. */
#shine-booking-root .sb-address-panel{position:relative;top:auto;left:auto;transform:none;margin:24px auto 0;pointer-events:auto}
#shine-booking-root .sb-resume-note{position:relative;top:auto;right:auto;left:auto;pointer-events:auto;flex-direction:column;align-items:stretch;text-align:left}
#shine-booking-root .sb-resume-note>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
#shine-booking-root .sb-resume-note button{pointer-events:auto;min-width:0;min-height:44px;height:auto;margin:0;white-space:normal;line-height:1.4}
#shine-booking-root .sb-resume-note button:focus-visible{outline:3px solid #8ea0ff;outline-offset:2px}
#shine-booking-root .sb-shell{display:flex;flex-direction:column}
#shine-booking-root .sb-top,#shine-booking-root .sb-progress,#shine-booking-root .sb-draft-notice{flex:none}
.complete-booking-layout #shine-booking-root .sb-body,#shine-booking-root .sb-body{flex:1 1 auto;height:auto!important;min-height:0!important}
@media(max-width:760px){#shine-booking-root .sb-address-panel{margin-top:22px}.complete-booking-layout #shine-booking-root .sb-step-0 .sb-body{height:auto!important}}

#shine-booking-root .sb-address-results{margin:6px 0 12px;max-height:240px;overflow-y:auto;border:1px solid #d5d9df;border-radius:12px;background:#fff;box-shadow:0 8px 22px rgba(0,0,0,.1);text-align:left}
#shine-booking-root .sb-address-results[hidden]{display:none}
#shine-booking-root .sb-address-results button{display:block;width:100%;min-height:44px;margin:0;padding:12px 14px;border:0;border-bottom:1px solid #eee;background:#fff;color:#111827;text-align:left;font:500 14px/1.4 Montserrat,Arial,sans-serif;white-space:normal;cursor:pointer}
#shine-booking-root .sb-address-results button:hover,#shine-booking-root .sb-address-results button:focus-visible{background:#eef0ff;color:#2235a9}

/* Decorative vehicle examples fade independently of the editable input. */
#shine-booking-root #sb-vehicle-query::placeholder{color:transparent!important;opacity:0!important}
#shine-booking-root .sb-vehicle-examples{position:absolute;inset:0 16px auto 56px;height:62px;display:grid;align-items:center;pointer-events:none;overflow:hidden;color:#7b838d;font:500 16px/1.4 Montserrat,Arial,sans-serif}
#shine-booking-root .sb-vehicle-examples>span{grid-area:1/1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:0;animation:sb-vehicle-example 24s linear var(--example-delay) infinite}
#shine-booking-root #sb-vehicle-query:not(:placeholder-shown)~.sb-vehicle-examples{visibility:hidden}
@keyframes sb-vehicle-example{0%{opacity:0}2.5%,14.166%{opacity:1}16.666%,100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#shine-booking-root .sb-vehicle-examples>span{animation:none}#shine-booking-root .sb-vehicle-examples>span:first-child{opacity:1}}

/* Payment amount selection shares the booking form's accessible controls. */
.sb-payment-choice{border:0;padding:0;margin:22px 0;min-width:0}.sb-payment-choice legend{font-weight:700;margin-bottom:12px}.sb-payment-choice label{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #d8dce6;border-radius:12px;margin:10px 0;cursor:pointer}.sb-payment-choice label:has(input:checked){border-color:#2235a9;background:#f5f6ff}.sb-payment-choice input{margin-top:4px;flex:0 0 auto;width:18px;height:18px;accent-color:#2235a9}.sb-payment-choice strong,.sb-payment-choice small{display:block}.sb-payment-choice small{margin-top:5px;color:#475569}.sb-payment-choice p{font-size:13px;line-height:1.5;color:#475569}.sb-payment-choice:disabled label{cursor:default}.sb-payment-choice input:focus-visible{outline:3px solid #8290e9;outline-offset:3px}

.sb-test-payment-note{padding:10px 14px;margin:12px 0;background:#fff6dd;border:1px solid #e2bd60;border-radius:10px;color:#624400;font-size:13px;font-weight:600;line-height:1.5;text-align:left}
.sb-success p{overflow-wrap:anywhere}

/* Optional service-plan choice stays readable as a separate, explicit charge. */
.sb-service-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:16px 0}.sb-service-plan-card{display:grid;gap:12px;padding:18px;border:1px solid #d8dce6;border-radius:14px;background:#fff}.sb-service-plan-card.is-selected{border-color:#2235a9;background:#f5f6ff}.sb-service-plan-card h3{margin:0;font-size:18px;line-height:1.3}.sb-service-plan-card p{margin:0;line-height:1.5}.sb-service-plan-visits{font-size:13px;font-weight:700;color:#2235a9}.sb-service-plan-price{display:grid;gap:3px}.sb-service-plan-price strong{font-size:18px}.sb-service-plan-price span,.sb-service-plan-card small,.sb-service-plan-summary small,.sb-review-plan-offer small{display:block;color:#475569;font-size:13px;line-height:1.5}.sb-service-plan-consent,.sb-review-plan-offer label{display:flex;gap:10px;align-items:flex-start}.sb-service-plan-consent input,.sb-review-plan-offer input{width:19px;height:19px;flex:0 0 auto;margin-top:3px;accent-color:#2235a9}.sb-service-plan-selected{font-weight:700;color:#173f8a}.sb-link-button{border:0;padding:4px 0;background:transparent;color:#2235a9;text-decoration:underline;cursor:pointer}.sb-review-plan-offer{margin:18px 0;padding:14px;border:1px solid #d8dce6;border-radius:12px}.sb-review-plan-offer legend{font-weight:700;padding:0 5px}.sb-service-plan-summary{display:grid;gap:4px;padding-top:10px;margin-top:8px;border-top:1px solid #d8dce6}.sb-service-plan-summary>span{display:flex;justify-content:space-between;gap:12px}.sb-service-plan-summary span small{font-weight:400}.sb-two-charge-notice{margin:16px 0;padding:12px 14px;border-radius:10px;background:#fff6dd;color:#4c3c00;font-size:14px;line-height:1.5}.sb-membership-confirmed{padding:10px 12px;border-radius:10px;background:#edf9ef;color:#155724;font-weight:600}

/* A stopped check retains a visible recovery action without an indefinite spinner. */
.sb-payment-recovery-actions{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:12px;margin:24px 0}
.sb-payment-recovery-actions button{min-height:48px;white-space:normal}
.sb-payment-help{font-size:14px;line-height:1.6;overflow-wrap:anywhere}
@media(max-width:480px){.sb-payment-recovery-actions{align-items:stretch;flex-direction:column}.sb-payment-recovery-actions button{width:100%}}
@media(max-width:480px){.sb-service-plan-grid{grid-template-columns:1fr}.sb-service-plan-card{padding:14px}.sb-two-charge-notice{font-size:13px}.sb-service-plan-summary>span{display:grid;gap:3px}}
/* The membership disclosure spans the row; currency must stay on one line. */
#shine-booking-root .sb-step-9 .sb-summary>.sb-service-plan-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:start;grid-column:1/-1;margin:0;border-top:0}
#shine-booking-root .sb-step-9 .sb-service-plan-summary>span{display:block;min-width:0}
#shine-booking-root .sb-step-9 .sb-service-plan-summary>small{grid-column:1/-1;text-align:left}
#shine-booking-root .sb-step-9 .sb-summary>div:nth-child(n+5)>b{white-space:nowrap;flex-shrink:0;overflow-wrap:normal}

/* Family cards group their server-published frequency offers. */
#shine-booking-root .sb-service-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
#shine-booking-root .sb-service-plan-card{min-width:0;align-content:start;transition:opacity .18s,filter .18s,border-color .18s,box-shadow .18s}
#shine-booking-root .sb-service-plan-card.is-muted{background:#eeeeee;border-color:#b8b8b8;box-shadow:none;filter:grayscale(1);opacity:.55}
#shine-booking-root .sb-plan-card-heading{display:grid;align-content:start;gap:9px;min-width:0}
#shine-booking-root .sb-plan-title-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
#shine-booking-root .sb-plan-title-row h3{margin:0}
#shine-booking-root .sb-plan-badge{display:inline-flex;align-items:center;min-height:25px;padding:3px 10px;border:1.5px solid #111;border-radius:999px;background:#33A141;color:#fff;font-size:11px;font-weight:800;letter-spacing:.02em;box-shadow:2px 2px 0 #191F99}
#shine-booking-root .sb-plan-intro{margin:4px 0 18px;line-height:1.55}
#shine-booking-root .sb-plan-includes{padding:11px;border-left:4px solid #191F99;background:#f3f4fa;font-size:14px;line-height:1.45}
#shine-booking-root .sb-plan-includes>strong{display:inline-block;margin-bottom:3px}
#shine-booking-root .sb-plan-description{color:#555;font-size:13px}
#shine-booking-root .sb-plan-frequency-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
#shine-booking-root .sb-plan-frequency{min-width:0;min-height:48px;padding:6px 3px;border:1.5px solid #111;border-radius:7px;background:#fff;color:#111;font:700 12px/1.15 "Complete DM Sans",Arial,sans-serif;cursor:pointer}
#shine-booking-root .sb-plan-frequency{white-space:nowrap}
#shine-booking-root .sb-plan-frequency-label{display:block;font:inherit;white-space:nowrap}
#shine-booking-root .sb-plan-frequency-price{display:block;margin-top:4px;color:#555;font-size:10px;font-weight:500;white-space:nowrap}
#shine-booking-root .sb-plan-frequency.active{background:#191F99;border-color:#191F99;color:#fff;box-shadow:3px 3px 0 #111}
#shine-booking-root .sb-plan-frequency.active>.sb-plan-frequency-price{color:#fff}
#shine-booking-root .sb-plan-frequency:disabled{cursor:default}
#shine-booking-root .sb-service-plan-card .sb-service-plan-price{margin:0}
#shine-booking-root .sb-plan-disclosure{font-size:12px;line-height:1.45;color:#555}
#shine-booking-root .sb-plan-select{width:100%;min-height:48px;margin-top:auto;white-space:normal}
#shine-booking-root .sb-service-plan-card.is-selected .sb-plan-select{border-color:#191F99;background:#191F99;color:#fff}
#shine-booking-root .complete-detail-benefit{font-weight:800}
.complete-booking-layout.sb-theme-complete #shine-booking-root .complete-detail-benefit{color:#191F99}
.complete-booking-layout.sb-theme-complete #shine-booking-root .sb-plan-includes{border-left-color:#191F99;background:#F3F4FA}
.complete-booking-layout.sb-theme-complete #shine-booking-root .sb-plan-frequency.active{background:#191F99;border-color:#191F99;box-shadow:3px 3px 0 #111}
.complete-booking-layout.sb-theme-complete #shine-booking-root .sb-service-plan-card.is-selected{border-color:#191F99;box-shadow:5px 5px 0 #191F99}
.complete-booking-layout.sb-theme-complete #shine-booking-root .sb-service-plan-card.is-muted{background:#eeeeee;border-color:#b8b8b8;box-shadow:none;filter:grayscale(1);opacity:.55}
@media(max-width:600px){#shine-booking-root .sb-service-plan-grid{grid-template-columns:1fr}}

/* COMPLETE brand theme. The classic rules above remain available for instant rollback. */
@font-face{font-family:"Complete DM Sans";src:url("dm-sans-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Complete DM Sans";src:url("dm-sans-bold.ttf") format("truetype");font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:"Complete Barlow Condensed";src:url("barlow-condensed-black.ttf") format("truetype");font-style:normal;font-weight:900;font-display:swap}

.complete-booking-layout.sb-theme-complete{
  --complete-blue:#191F99;
  --complete-blue-hover:#12166F;
  --complete-green:#33A141;
  --complete-ink:#111111;
  --complete-muted:#555555;
  --complete-surface:#F4F4F4;
  --complete-line:#C8C8C8;
  --complete-paper:#FFFFFF;
  color:var(--complete-ink);
  font-family:"Complete DM Sans",Arial,sans-serif;
}
.complete-booking-layout.sb-theme-complete #shine-booking-root{
  --green:#33A141;
  --blue:#191F99;
  --ink:#111111;
  --muted:#555555;
  --line:#C8C8C8;
  --soft:#F4F4F4;
  --mfn-button-bg-hover:#12166F;
  --mfn-button-border-color-hover:#12166F;
  --mfn-button-color-hover:#FFFFFF;
  color:var(--complete-ink);
  font-family:"Complete DM Sans",Arial,sans-serif;
  font-size:18px;
  line-height:1.55;
}
.complete-booking-layout.sb-theme-complete #shine-booking-root *,
.complete-booking-layout.sb-theme-complete .complete-booking-sidebar *{font-family:inherit}
.complete-booking-layout.sb-theme-complete .sb-shell{
  border:1.5px solid var(--complete-ink);
  border-radius:6px;
  box-shadow:6px 6px 0 var(--complete-blue);
  background:var(--complete-paper);
}
.complete-booking-layout.sb-theme-complete .sb-top{height:86px;border-bottom:1px solid var(--complete-line)}
.complete-booking-layout.sb-theme-complete .sb-header-title{
  color:var(--complete-ink)!important;
  font:700 22px/1.2 "Complete DM Sans",Arial,sans-serif!important;
  letter-spacing:-.01em;
}
.complete-booking-layout.sb-theme-complete .sb-header-back{color:var(--complete-blue);min-width:48px;min-height:48px;border-radius:4px}
.complete-booking-layout.sb-theme-complete .sb-header-back:hover{background:var(--complete-surface)}
.complete-booking-layout.sb-theme-complete .sb-progress{height:7px;background:var(--complete-surface)}
.complete-booking-layout.sb-theme-complete .sb-progress b{background:var(--complete-blue)}
.complete-booking-layout.sb-theme-complete .sb-draft-notice{font-size:16px!important;color:var(--complete-muted)!important}
.complete-booking-layout.sb-theme-complete .sb-section-title,
.complete-booking-layout.sb-theme-complete .sb-address-panel h2{
  color:var(--complete-ink)!important;
  font:900 clamp(32px,4vw,48px)/.96 "Complete Barlow Condensed","Arial Narrow",Impact,sans-serif!important;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.complete-booking-layout.sb-theme-complete .sb-body>p,
.complete-booking-layout.sb-theme-complete .sb-address-note,
.complete-booking-layout.sb-theme-complete .sb-calendar-help{font-size:18px!important;color:var(--complete-muted)!important;line-height:1.55!important}
.complete-booking-layout.sb-theme-complete .sb-body label{font-size:16px;font-weight:700;line-height:1.4}
.complete-booking-layout.sb-theme-complete .sb-body input,
.complete-booking-layout.sb-theme-complete .sb-body textarea,
.complete-booking-layout.sb-theme-complete .sb-body select{
  min-height:48px;
  border:1.5px solid var(--complete-ink);
  border-radius:4px;
  background:var(--complete-paper);
  color:var(--complete-ink);
  font:400 18px/1.4 "Complete DM Sans",Arial,sans-serif;
}
.complete-booking-layout.sb-theme-complete #sb-address-autocomplete,
.complete-booking-layout.sb-theme-complete #sb-address-search,
.complete-booking-layout.sb-theme-complete gmp-place-autocomplete{border-radius:4px!important}
.complete-booking-layout.sb-theme-complete #sb-address-autocomplete{border:1.5px solid var(--complete-ink);box-shadow:4px 4px 0 var(--complete-blue)}
.complete-booking-layout.sb-theme-complete .sb-selected,
.complete-booking-layout.sb-theme-complete .sb-address-panel .sb-grid{border:1.5px solid var(--complete-ink);border-radius:4px;box-shadow:4px 4px 0 var(--complete-blue)}
.complete-booking-layout.sb-theme-complete .sb-tile,
.complete-booking-layout.sb-theme-complete .sb-upsell,
.complete-booking-layout.sb-theme-complete .sb-detail-choice,
.complete-booking-layout.sb-theme-complete .sb-service-plan-card,
.complete-booking-layout.sb-theme-complete .sb-review-plan-offer,
.complete-booking-layout.sb-theme-complete .sb-payment-choice label{
  border:1.5px solid var(--complete-line);
  border-radius:6px;
  background:var(--complete-paper);
  box-shadow:none;
}
.complete-booking-layout.sb-theme-complete .sb-tile:hover,
.complete-booking-layout.sb-theme-complete .sb-tile.active,
.complete-booking-layout.sb-theme-complete .sb-upsell:hover,
.complete-booking-layout.sb-theme-complete .sb-upsell.active,
.complete-booking-layout.sb-theme-complete .sb-detail-choice:hover,
.complete-booking-layout.sb-theme-complete .sb-detail-choice.active,
.complete-booking-layout.sb-theme-complete .sb-service-plan-card.is-selected,
.complete-booking-layout.sb-theme-complete .sb-payment-choice label:has(input:checked){
  border-color:var(--complete-blue);
  background:#F1F2FF;
  box-shadow:4px 4px 0 var(--complete-blue);
  transform:translate(-2px,-2px);
}
.complete-booking-layout.sb-theme-complete .sb-tile strong,
.complete-booking-layout.sb-theme-complete .sb-upsell strong,
.complete-booking-layout.sb-theme-complete .sb-service-plan-card h3{font-size:18px;line-height:1.35;color:var(--complete-ink)}
.complete-booking-layout.sb-theme-complete .sb-tile small,
.complete-booking-layout.sb-theme-complete .sb-upsell small,
.complete-booking-layout.sb-theme-complete .sb-service-plan-card p,
.complete-booking-layout.sb-theme-complete .sb-service-plan-card small,
.complete-booking-layout.sb-theme-complete .sb-service-plan-price span,
.complete-booking-layout.sb-theme-complete .sb-service-plan-summary small,
.complete-booking-layout.sb-theme-complete .sb-review-plan-offer small,
.complete-booking-layout.sb-theme-complete .sb-payment-choice small,
.complete-booking-layout.sb-theme-complete .sb-payment-choice p{font-size:16px;line-height:1.5;color:var(--complete-muted)}
.complete-booking-layout.sb-theme-complete .sb-service-plan-visits,
.complete-booking-layout.sb-theme-complete .sb-service-plan-selected,
.complete-booking-layout.sb-theme-complete .sb-link-button{color:var(--complete-blue);font-size:16px}
.complete-booking-layout.sb-theme-complete input[type="checkbox"],
.complete-booking-layout.sb-theme-complete input[type="radio"]{accent-color:var(--complete-blue)}
.complete-booking-layout.sb-theme-complete .sb-calendar,
.complete-booking-layout.sb-theme-complete .sb-summary,
.complete-booking-layout.sb-theme-complete .sb-discount,
.complete-booking-layout.sb-theme-complete .sb-payment-shell{border:1.5px solid var(--complete-ink);border-radius:6px;background:var(--complete-paper);box-shadow:4px 4px 0 var(--complete-blue)}
.complete-booking-layout.sb-theme-complete .sb-calendar-head,
.complete-booking-layout.sb-theme-complete .sb-calendar-weekdays,
.complete-booking-layout.sb-theme-complete .sb-calendar-day,
.complete-booking-layout.sb-theme-complete .sb-time-slot,
.complete-booking-layout.sb-theme-complete .sb-period{font-size:16px}
.complete-booking-layout.sb-theme-complete .sb-calendar-day,
.complete-booking-layout.sb-theme-complete .sb-time-slot,
.complete-booking-layout.sb-theme-complete .sb-period{border-radius:4px}
.complete-booking-layout.sb-theme-complete .sb-calendar-day.active,
.complete-booking-layout.sb-theme-complete .sb-time-slot.active,
.complete-booking-layout.sb-theme-complete .sb-period.active{background:var(--complete-blue);border-color:var(--complete-blue);color:#fff}
.complete-booking-layout.sb-theme-complete .sb-period.active,
.complete-booking-layout.sb-theme-complete .sb-period.active:hover,
.complete-booking-layout.sb-theme-complete .sb-period.active:focus-visible{background:var(--complete-blue)!important;border-color:var(--complete-blue)!important;color:#fff!important}
.complete-booking-layout.sb-theme-complete .sb-period.active small{color:#fff!important}
.complete-booking-layout.sb-theme-complete .sb-summary>div{font-size:16px;line-height:1.5;border-color:var(--complete-line)}
.complete-booking-layout.sb-theme-complete .sb-summary .sb-total{background:var(--complete-surface);font-size:20px}
.complete-booking-layout.sb-theme-complete .sb-summary .sb-deposit,
.complete-booking-layout.sb-theme-complete .sb-summary .sb-discount-row{background:#F1F8F2;color:#195F22}
.complete-booking-layout.sb-theme-complete .sb-secure-note,
.complete-booking-layout.sb-theme-complete .sb-checkout-privacy,
.complete-booking-layout.sb-theme-complete .sb-payment-message,
.complete-booking-layout.sb-theme-complete .sb-payment-help{font-size:16px!important;line-height:1.55!important;color:var(--complete-muted)!important}
.complete-booking-layout.sb-theme-complete .sb-primary,
.complete-booking-layout.sb-theme-complete .sb-secondary,
.complete-booking-layout.sb-theme-complete .sb-discount button{
  min-height:56px;
  height:auto;
  padding:14px 22px;
  border:1.5px solid var(--complete-ink);
  border-radius:4px;
  font:700 16px/1.25 "Complete DM Sans",Arial,sans-serif;
  transition:transform .12s ease,box-shadow .12s ease,background-color .12s ease;
}
.complete-booking-layout.sb-theme-complete .sb-primary{background:var(--complete-blue);color:#fff;box-shadow:4px 4px 0 var(--complete-ink)}
.complete-booking-layout.sb-theme-complete .sb-secondary{background:#fff;color:var(--complete-ink)}
.complete-booking-layout.sb-theme-complete .sb-primary:hover{background:var(--complete-blue-hover)!important;box-shadow:2px 2px 0 var(--complete-ink);transform:translate(2px,2px)}
.complete-booking-layout.sb-theme-complete .sb-secondary:hover{background:var(--complete-surface)!important;color:var(--complete-blue)!important;box-shadow:3px 3px 0 var(--complete-blue)}
.complete-booking-layout.sb-theme-complete :is(button,a,input,textarea,select,summary):focus-visible{
  outline:3px solid #fff!important;
  outline-offset:2px!important;
  box-shadow:0 0 0 5px var(--complete-blue)!important;
}
.complete-booking-layout.sb-theme-complete .sb-two-charge-notice,
.complete-booking-layout.sb-theme-complete .sb-test-payment-note{border:1.5px solid var(--complete-ink);border-radius:4px;font-size:16px;line-height:1.5}
.complete-booking-layout.sb-theme-complete .sb-membership-confirmed{border-left:6px solid var(--complete-green);border-radius:4px;background:#F1F8F2;color:var(--complete-ink);font-size:16px}
.complete-booking-layout.sb-theme-complete .sb-nav{border-top:1.5px solid var(--complete-ink);background:var(--complete-paper)}
.complete-booking-layout.sb-theme-complete .sb-current{border-radius:4px;background:var(--complete-surface)}
.complete-booking-layout.sb-theme-complete .sb-current>small{font-size:14px;color:var(--complete-muted)}
.complete-booking-layout.sb-theme-complete .complete-booking-sidebar{border:1.5px solid var(--complete-ink);border-radius:6px;background:var(--complete-paper);box-shadow:5px 5px 0 var(--complete-blue);font-family:"Complete DM Sans",Arial,sans-serif}
.complete-booking-layout.sb-theme-complete .complete-booking-sidebar h2{font:900 28px/.98 "Complete Barlow Condensed","Arial Narrow",Impact,sans-serif!important;text-transform:uppercase;color:var(--complete-ink)!important}
.complete-booking-layout.sb-theme-complete .complete-trust-badge{border-radius:4px;background:var(--complete-surface)}
.complete-booking-layout.sb-theme-complete .complete-trust-badge>span{background:var(--complete-blue);color:#fff}
.complete-booking-layout.sb-theme-complete .complete-trust-badge strong{font-size:16px}
.complete-booking-layout.sb-theme-complete .complete-trust-badge small{font-size:16px;color:var(--complete-muted)}
.complete-booking-layout.sb-theme-complete .sb-map-car-pin{border-radius:50% 50% 50% 0;background:var(--complete-blue);box-shadow:4px 4px 0 var(--complete-ink)}
.complete-booking-layout.sb-theme-complete .sb-car-mark{position:relative;width:30px;height:16px;border:3px solid #fff;border-radius:5px;display:block}
.complete-booking-layout.sb-theme-complete .sb-car-mark:before{content:"";position:absolute;left:5px;right:5px;top:-9px;height:8px;border:3px solid #fff;border-bottom:0;border-radius:5px 5px 0 0}
.complete-booking-layout.sb-theme-complete .sb-car-mark:after{content:"";position:absolute;left:3px;bottom:-7px;width:5px;height:5px;border-radius:50%;background:var(--complete-green);box-shadow:16px 0 0 var(--complete-green)}

.complete-booking-layout.sb-theme-complete .sb-payment-status{min-height:620px;padding:clamp(32px,7vw,80px) clamp(20px,5vw,56px);display:grid;place-items:center;background:linear-gradient(145deg,#fff 0 70%,#F4F4F4 70% 100%)}
.complete-booking-layout.sb-theme-complete .sb-payment-status>.sb-test-payment-note{position:absolute;top:20px;left:20px;right:20px;margin:0 auto;max-width:700px}
.complete-booking-layout.sb-theme-complete .sb-status-card{position:relative;width:min(680px,100%);padding:clamp(28px,5vw,52px);border:1.5px solid var(--complete-ink);border-radius:6px;background:#fff;box-shadow:8px 8px 0 var(--complete-blue);text-align:left;overflow:hidden}
.complete-booking-layout.sb-theme-complete .sb-status-card:after{content:"";position:absolute;right:24px;top:22px;width:12px;height:12px;border:4px solid var(--complete-green);border-radius:50%;box-shadow:19px 14px 0 -2px #fff,19px 14px 0 2px var(--complete-green)}
.complete-booking-layout.sb-theme-complete .sb-status-kicker{margin:0 0 24px;color:var(--complete-blue);font-size:14px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.complete-booking-layout.sb-theme-complete .sb-payment-status h2{margin:18px 0 14px;color:var(--complete-ink);font:900 clamp(38px,7vw,62px)/.9 "Complete Barlow Condensed","Arial Narrow",Impact,sans-serif;text-transform:uppercase;letter-spacing:.01em}
.complete-booking-layout.sb-theme-complete .sb-payment-status p{font-size:18px;line-height:1.55;color:var(--complete-muted);text-align:left}
.complete-booking-layout.sb-theme-complete .sb-payment-status strong{color:var(--complete-ink)}
.complete-booking-layout.sb-theme-complete .sb-status-mark,
.complete-booking-layout.sb-theme-complete .sb-checkmark{width:64px;height:64px;margin:0;border:3px solid var(--complete-blue);border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--complete-blue);font:900 36px/1 "Complete DM Sans",Arial,sans-serif;box-shadow:5px 5px 0 var(--complete-green)}
.complete-booking-layout.sb-theme-complete .sb-payment-spinner{width:58px;height:58px;margin:0;border:5px solid var(--complete-surface);border-top-color:var(--complete-blue)}
.complete-booking-layout.sb-theme-complete .sb-payment-recovery-actions{justify-content:flex-start;margin:28px 0 20px}
.complete-booking-layout.sb-theme-complete .sb-brand-tagline{margin:30px 0 0!important;padding-top:20px;border-top:1px solid var(--complete-line);color:var(--complete-blue)!important;font:900 28px/1 "Complete Barlow Condensed","Arial Narrow",Impact,sans-serif!important;text-transform:uppercase}
.complete-booking-layout.sb-theme-complete .sb-payment-status--canceled .sb-status-mark,
.complete-booking-layout.sb-theme-complete .sb-payment-status--review .sb-status-mark{border-style:dashed}
.complete-booking-layout.sb-theme-complete .sb-payment-status--unavailable .sb-status-mark{box-shadow:5px 5px 0 var(--complete-surface)}

@media(max-width:760px){
  .complete-booking-layout.sb-theme-complete{height:auto;max-height:none;display:block;overflow:visible}
  .complete-booking-layout.sb-theme-complete #shine-booking-root{height:auto;overflow:visible}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-shell{height:auto;min-height:100svh}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-body,
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-0 .sb-body{height:auto;min-height:calc(100svh - 70px);overflow:visible}
  .complete-booking-layout.sb-theme-complete .complete-booking-sidebar{height:auto;min-height:0;margin:18px 0 0!important;padding:18px;display:block;overflow:visible}
  .complete-booking-layout.sb-theme-complete .complete-booking-sidebar h2{font-size:24px!important;white-space:normal}
  .complete-booking-layout.sb-theme-complete .sb-top{height:70px;padding:0 12px}
  .complete-booking-layout.sb-theme-complete .sb-header-title{font-size:18px!important;white-space:normal}
  .complete-booking-layout.sb-theme-complete .sb-section-title{font-size:34px!important}
  .complete-booking-layout.sb-theme-complete .sb-tile-grid,
  .complete-booking-layout.sb-theme-complete .sb-upsell-grid{grid-template-columns:1fr}
  .complete-booking-layout.sb-theme-complete .sb-tile,
  .complete-booking-layout.sb-theme-complete .sb-upsell,
  .complete-booking-layout.sb-theme-complete .sb-detail-choice{min-height:0;padding:18px}
  .complete-booking-layout.sb-theme-complete .sb-nav{position:sticky;bottom:0;padding:12px;gap:8px;flex-wrap:wrap}
  .complete-booking-layout.sb-theme-complete .sb-secondary{min-width:84px;width:auto;padding:12px}
  .complete-booking-layout.sb-theme-complete .sb-current{min-width:0;flex:1}
  .complete-booking-layout.sb-theme-complete .sb-payment-status{min-height:100svh;padding:76px 16px 32px}
  .complete-booking-layout.sb-theme-complete .sb-status-card{padding:28px 20px;box-shadow:5px 5px 0 var(--complete-blue)}
  .complete-booking-layout.sb-theme-complete .sb-payment-status h2{font-size:42px}
  .complete-booking-layout.sb-theme-complete .sb-payment-recovery-actions{align-items:stretch;flex-direction:column}
  .complete-booking-layout.sb-theme-complete .sb-payment-recovery-actions button{width:100%}
}

/* In the COMPLETE phone layout, only the form scrolls. The action bar takes
   ordinary flex space below it, including on the six-row calendar. */
@media(max-width:760px){
  .complete-booking-layout.sb-theme-complete{display:flex!important;flex-direction:column;height:100svh!important;max-height:100svh!important;overflow:hidden!important}
  .complete-booking-layout.sb-theme-complete #shine-booking-root{flex:1 1 auto;height:auto!important;min-height:0!important;overflow:hidden!important}
  .complete-booking-layout.sb-theme-complete.is-sidebar-top #shine-booking-root{order:2}
  .complete-booking-layout.sb-theme-complete .complete-booking-sidebar{flex:0 0 96px;height:96px!important;min-height:96px!important;margin:0!important;padding:8px 12px;display:grid;grid-template-rows:18px minmax(0,1fr);gap:5px;overflow:hidden}
  .complete-booking-layout.sb-theme-complete.is-sidebar-top .complete-booking-sidebar{order:1}
  .complete-booking-layout.sb-theme-complete .complete-booking-sidebar h2{font-size:12px!important;line-height:18px!important;white-space:nowrap}
  .complete-booking-layout.sb-theme-complete.address-pending-sidebar .complete-booking-sidebar{display:none!important}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-shell{display:flex;height:100%!important;min-height:0!important;flex-direction:column;overflow:hidden}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-shell.sb-payment-status{display:grid;height:100%!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-body,
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-0 .sb-body,
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-5 .sb-body,
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-7 .sb-body{display:block;flex:1 1 auto;height:auto!important;min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;padding-bottom:24px!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-nav,
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-7 .sb-nav{position:static!important;bottom:auto!important;flex:0 0 auto;padding:12px max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));z-index:1}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-5 .sb-calendar{display:block;flex:none;height:auto;min-height:0}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-5 .sb-calendar-grid{grid-auto-rows:auto;align-content:start}
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-5 .sb-calendar-day,
  .complete-booking-layout.sb-theme-complete #shine-booking-root .sb-step-5 .sb-calendar-blank{height:clamp(34px,10vw,40px)!important;min-height:34px!important}
}
@media(prefers-reduced-motion:reduce){
  .complete-booking-layout.sb-theme-complete *,
  .complete-booking-layout.sb-theme-complete *:before,
  .complete-booking-layout.sb-theme-complete *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}
}

/* The subscription authorization keeps its checkbox beside the wrapped terms. */
#shine-booking-root .sb-plan-consent,
.complete-booking-layout.sb-theme-complete #shine-booking-root .sb-body label.sb-plan-consent{display:flex!important;align-items:flex-start!important;gap:12px;margin:18px 0;font-weight:400!important;cursor:pointer}
#shine-booking-root .sb-plan-consent input[type="checkbox"],
.complete-booking-layout.sb-theme-complete #shine-booking-root .sb-body label.sb-plan-consent input[type="checkbox"]{appearance:auto!important;display:block!important;box-sizing:border-box!important;flex:0 0 20px!important;width:20px!important;min-width:20px!important;max-width:20px!important;height:20px!important;min-height:20px!important;max-height:20px!important;margin:2px 0 0!important;padding:0!important;border-radius:4px;accent-color:#191F99;cursor:pointer}
#shine-booking-root .sb-plan-consent input[type="checkbox"]:focus-visible{outline:3px solid #8290e9;outline-offset:3px}
/* The accepted authorization is visible in the existing checkout, without a
   second payment step or an approval prompt before technician travel. */
.sb-booking-terms{margin:18px 0;padding:14px 16px;border:1px solid #d6dce4;border-radius:10px;background:#f6f8fb;color:#243348;font-size:13px;line-height:1.55}
.sb-booking-terms p{margin:0 0 10px}
.sb-booking-terms p:last-child{margin-bottom:0}
.sb-booking-terms summary{cursor:pointer;font-weight:650;padding:4px 0}

/* Checkout follows COMPLETE Brand Brief v1.9; the footer remains outside the scroll body. */
#shine-booking-root .sb-shell.sb-step-9 {
  --blue:#191F99; --complete-blue:#191F99;
  color:#111111; background:#FFFFFF;
  font-family:"Complete DM Sans",Arial,sans-serif;
}
#shine-booking-root .sb-shell.sb-step-9 :is(button,input,select,textarea) {font-family:inherit;}
#shine-booking-root .sb-shell.sb-step-9 .sb-header-title {
  font:700 1.25rem/1.3 "Complete DM Sans",Arial,sans-serif;
  text-transform:none; letter-spacing:normal;
}
#shine-booking-root .sb-shell.sb-step-9 .sb-body {font-size:1.125rem!important;line-height:1.5;}
#shine-booking-root .sb-shell.sb-step-9 :is(.sb-summary>div,.sb-payment-message,.sb-secure-note,.sb-checkout-privacy,.sb-plan-disclosure,.sb-plan-consent,.sb-payment-choice,.sb-payment-choice small,.sb-payment-choice p,.sb-payment-heading span,.sb-payment-terms) {
  font-size:1rem!important;line-height:1.5!important;
}
#shine-booking-root .sb-shell.sb-step-9 :is(.sb-summary,.sb-payment-shell,.sb-payment-choice label) {
  border:1.5px solid #111111;border-radius:6px;background:#FFFFFF;
}
#shine-booking-root .sb-shell.sb-step-9 .sb-payment-shell {padding:1rem;box-shadow:3px 3px 0 #191F99;scroll-margin-block:1rem;}
#shine-booking-root .sb-shell.sb-step-9 .sb-payment-heading strong {font-size:1.125rem;}
#shine-booking-root .sb-shell.sb-step-9 .sb-payment-heading {gap:.5rem;flex-wrap:wrap;}
#shine-booking-root .sb-shell.sb-step-9 :is(.sb-total,.sb-deposit) {background:#F4F4F4;color:#111111;}
#shine-booking-root .sb-shell.sb-step-9 :is(a,.sb-link-button) {color:#191F99;}
#shine-booking-root .sb-shell.sb-step-9 input:is([type=checkbox],[type=radio]) {accent-color:#191F99;}
#shine-booking-root .sb-shell.sb-step-9 .sb-payment-choice label:has(input:checked) {border-color:#191F99;box-shadow:2px 2px 0 #191F99;}
.complete-booking-layout #shine-booking-root .sb-shell.sb-step-9 > .sb-nav,
#shine-booking-root .sb-shell.sb-step-9 > .sb-nav {
  position:relative!important;inset:auto!important;flex:0 0 auto;display:flex;flex-wrap:wrap;
  gap:.75rem;align-items:center;padding:1rem;border-top:1.5px solid #111111;background:#FFFFFF;
}
.complete-booking-layout #shine-booking-root .sb-shell.sb-step-9 .sb-nav .sb-primary,
#shine-booking-root .sb-shell.sb-step-9 .sb-nav .sb-primary {
  min-height:56px;height:auto;padding:.875rem 1.125rem;border:1.5px solid #111111;border-radius:4px;
  font-size:1rem!important;font-weight:700;line-height:1.35!important;white-space:normal;
  background:#191F99;color:#FFFFFF;box-shadow:3px 3px 0 #111111;flex:1 1 10rem;
}
#shine-booking-root .sb-shell.sb-step-9 .sb-nav .sb-primary:disabled {background:#F4F4F4;color:#555555;box-shadow:none;opacity:1;cursor:not-allowed;}
#shine-booking-root .sb-shell.sb-step-9 .sb-nav .sb-primary:hover:not(:disabled) {background:#191F99!important;box-shadow:1px 1px 0 #111111;}
#shine-booking-root .sb-shell.sb-step-9 :is(.sb-secondary,.sb-header-back) {min-height:48px;min-width:48px;font-size:1rem!important;}
#shine-booking-root .sb-shell.sb-step-9 :is(button,a,input,select,textarea):focus-visible {outline:3px solid #191F99!important;outline-offset:3px!important;}
#shine-booking-root .sb-shell.sb-step-9 .sb-scroll-cue {display:none;}
#shine-booking-root .sb-shell.sb-step-9 .sb-checkout-amount {display:grid;gap:.125rem;flex:1 1 5rem;font-size:1rem;line-height:1.35;}
#shine-booking-root .sb-shell.sb-step-9 .sb-checkout-amount strong {font-size:1.25rem;white-space:nowrap;color:#111111;}
#shine-booking-root .sb-shell.sb-step-9 :is(.sb-scroll-cue,.sb-checkout-amount)[hidden] {display:none!important;}
@media(max-width:760px) {
  .complete-booking-layout #shine-booking-root .sb-shell.sb-step-9,
  #shine-booking-root .sb-shell.sb-step-9 {display:flex;flex-direction:column;height:calc(100dvh - 100px);min-height:0;overflow:hidden;}
  #shine-booking-root .sb-shell.sb-step-9 > :is(.sb-top,.sb-draft-notice,.sb-progress) {flex:0 0 auto;}
  #shine-booking-root .sb-shell.sb-step-9 > .sb-body {flex:1 1 auto;min-height:0;overflow-y:auto;height:auto;padding-bottom:1.5rem!important;}
  #shine-booking-root .sb-shell.sb-step-9 .sb-nav .sb-secondary {display:none;}
  .complete-booking-layout #shine-booking-root .sb-shell.sb-step-9 .sb-nav .sb-scroll-cue,
  #shine-booking-root .sb-shell.sb-step-9 .sb-nav .sb-scroll-cue {
    display:block;flex:0 0 100%;min-height:48px;padding:.625rem .75rem;border:0;border-radius:4px;
    background:#F4F4F4;color:#191F99;font-size:1rem!important;font-weight:700;line-height:1.4;cursor:pointer;text-align:center;
  }
  #shine-booking-root .sb-shell.sb-step-9 .sb-nav:has(.sb-scroll-cue:not([hidden]))::before {
    content:"";position:absolute;inset:auto 0 100%;height:1.5rem;pointer-events:none;background:linear-gradient(transparent,#FFFFFF);
  }
  #shine-booking-root .sb-shell.sb-step-9 .sb-summary>div {gap:.75rem;}
  #shine-booking-root .sb-shell.sb-step-9 .sb-summary b {overflow-wrap:anywhere;}
}
/* A short viewport (including an open phone keyboard) uses normal page scrolling. */
@media(max-height:480px) {
  .complete-booking-layout #shine-booking-root .sb-shell.sb-step-9.sb-step-7,
  #shine-booking-root .sb-shell.sb-step-9 {height:auto!important;max-height:none!important;overflow:visible;}
  .complete-booking-layout #shine-booking-root .sb-shell.sb-step-9.sb-step-7 > .sb-body,
  #shine-booking-root .sb-shell.sb-step-9 > .sb-body {overflow:visible!important;height:auto!important;flex:none;}
  #shine-booking-root .sb-shell.sb-step-9 .sb-scroll-cue {display:none!important;}
}
@media(prefers-reduced-motion:reduce) {#shine-booking-root .sb-shell.sb-step-9 * {scroll-behavior:auto!important;transition:none!important;}}

#shine-booking-root .sb-shell.sb-step-9 .sb-payment-shell::before {display:none;}

.complete-booking-layout #shine-booking-root .sb-shell.sb-step-9.sb-checkout-flow,
#shine-booking-root .sb-shell.sb-step-9.sb-checkout-flow {height:auto!important;max-height:none!important;overflow:visible;}
.complete-booking-layout #shine-booking-root .sb-shell.sb-step-9.sb-checkout-flow > .sb-body,
#shine-booking-root .sb-shell.sb-step-9.sb-checkout-flow > .sb-body {height:auto!important;overflow:visible!important;flex:none;}
#shine-booking-root .sb-shell.sb-step-9.sb-checkout-flow .sb-scroll-cue {display:none!important;}
#shine-booking-root .sb-shell.sb-step-9.sb-checkout-flow .sb-nav::before {display:none;}
