#booking-modal.open.modal-overlay{height:var(--vm-chat-height,100dvh)!important;top:var(--vm-chat-top,0)!important;bottom:auto!important;padding:12px!important;overflow:hidden!important;align-items:center!important}
#booking-modal.open.modal-overlay .modal-container:not(.vm-assistant-mode){width:100%!important;max-width:620px!important;height:min(790px,calc(var(--vm-chat-height,100dvh) - 24px))!important;max-height:100%!important;margin:0!important;overflow:hidden!important;border-radius:18px!important;display:flex!important;flex-direction:column!important;flex:0 1 auto!important}
#booking-modal.open.modal-overlay .modal-container:not(.vm-assistant-mode) #modal-form-container{flex:1 1 auto!important;min-height:0!important;max-height:none!important;height:auto!important;overflow-y:auto!important;overflow-x:hidden!important;padding:20px 22px!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch}
#booking-modal .modal-header{padding:16px 22px 12px!important;flex:none!important;border-bottom:1px solid #e5eaf2!important}
#booking-modal .vm-compact-brand{display:flex;gap:15px;align-items:center;justify-content:space-between;padding-right:30px;margin-bottom:16px}
#booking-modal .vm-compact-brand img{width:145px;height:27px;object-fit:contain;object-position:left center}
#booking-modal .vm-compact-brand span{font-size:11px;color:#6d7b92}
#booking-modal .progress-bar{margin:0 0 6px!important;padding:0!important;height:auto!important}
#booking-modal .progress-step{width:23px!important;height:23px!important;font-size:10px!important;border-width:1px!important}
#booking-modal .progress-labels{font-size:10px!important;letter-spacing:0!important;text-transform:none!important;margin:0!important}
#booking-modal .progress-line{height:1px!important;margin:0 10px!important}
#booking-modal .vm-mode-toggle{padding:8px 12px!important;min-height:32px!important;font-size:11px!important;border-radius:0!important;flex:none!important}
#booking-modal .modal-close{top:12px!important;right:11px!important;font-size:18px!important}
#booking-modal .vm-step-title{font:650 23px/1.25 'DM Sans',system-ui,sans-serif!important;letter-spacing:-.6px!important;margin:0 0 7px!important;color:#172338!important}
#booking-modal .vm-hint{font-size:12px!important;line-height:1.5!important;color:#68778d!important;margin:7px 0 16px!important}
#booking-modal .vm-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#booking-modal .vm-field{display:block!important;font-size:12px!important;margin:12px 0!important}
#booking-modal .vm-field>span{display:block!important;font-weight:600!important;margin-bottom:6px!important;color:#34465e!important}
#booking-modal .vm-field input,#booking-modal .vm-field select,#booking-modal textarea{box-sizing:border-box;width:100%!important;min-height:43px!important;padding:10px 11px!important;border:1px solid #dce3ef!important;border-radius:9px!important;background:#fff!important;color:#172338!important;font:16px system-ui,sans-serif!important}
#booking-modal .vm-tv{padding:15px;border:1px solid #e2e8f1;border-radius:12px;margin:14px 0}
#booking-modal .vm-flow-hidden{display:none!important}
#booking-modal .vm-question{border:1px solid #dbe5f3;border-radius:16px;background:linear-gradient(145deg,#fff 0%,#f7faff 100%);padding:20px;margin:14px 0 8px;box-shadow:0 8px 24px rgba(27,65,118,.06)}
#booking-modal .vm-question h3{font:700 20px/1.25 'DM Sans',system-ui,sans-serif;color:#172b4b;letter-spacing:-.35px;margin:3px 0 14px}
#booking-modal .vm-question-kicker{font-size:11px!important;font-weight:750!important;letter-spacing:.08em;text-transform:uppercase;color:#2863c7!important;margin:0 0 6px!important}
#booking-modal .vm-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
#booking-modal .vm-choice{display:flex;min-height:74px;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;padding:12px;border:1px solid #cbd9ed;border-radius:11px;background:#fff;color:#1d3454;cursor:pointer;transition:border-color .15s,background .15s,box-shadow .15s}
#booking-modal .vm-choice:hover,#booking-modal .vm-choice:focus-visible{border-color:#2766d2;box-shadow:0 0 0 3px rgba(39,102,210,.14);outline:none}
#booking-modal .vm-choice.selected{background:#eaf2ff;border-color:#2766d2;box-shadow:inset 0 0 0 1px #2766d2}
#booking-modal .vm-choice strong{font-size:13px;line-height:1.3}
#booking-modal .vm-choice small{font-size:11px;color:#5f7594;margin-top:4px;line-height:1.3}
#booking-modal .vm-size-entry{display:flex;gap:9px;align-items:stretch}
#booking-modal .vm-size-entry input{min-width:0;flex:1;border:1px solid #cbd9ed;border-radius:11px;padding:12px;font-size:17px;color:#172b4b}
#booking-modal .vm-size-entry .btn-next{white-space:nowrap}
#booking-modal .vm-condition-grid .vm-choice{min-height:64px}
#booking-modal .vm-condition-next{display:block;width:100%;margin-top:14px}
#booking-modal .vm-card-back{border:0;background:transparent;color:#4e6b91;font-size:12px;padding:13px 0 0;cursor:pointer}
#booking-modal .vm-inline-question{margin-top:15px;padding:13px;border-radius:11px;background:#f1f6ff;color:#273f60;font-size:12px;font-weight:600}
#booking-modal .vm-inline-question .vm-choice-grid{margin-top:10px}
#booking-modal .vm-inline-question .vm-choice{min-height:52px}
#booking-modal .vm-tv h3,#booking-modal .vm-crew h3{margin:0 0 7px;font-size:13px;font-weight:700;color:#243957}
#booking-modal .vm-tv .vm-field{margin:6px 0!important}
#booking-modal .vm-toggles{display:flex;flex-wrap:wrap;gap:10px 16px;margin-top:13px;font-size:11px;color:#5b6e89}
#booking-modal input[type=checkbox]{accent-color:#225ee7;flex-shrink:0}
#booking-modal .vm-accept{display:flex!important;gap:9px;align-items:flex-start;font-size:11px!important;line-height:1.6;margin:15px 0!important;color:#5c6c83!important}
#booking-modal .vm-accept input{width:17px;height:17px;flex:none;margin-top:3px}
#booking-modal .vm-crew{margin:18px 0}
#booking-modal .vm-crew p{font-size:11px;color:#718099;margin:2px 0 9px}
#booking-modal .vm-crew-choice{display:flex!important;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:12px;border:1px solid #dce4f0;border-radius:10px;background:#fff;color:#304761;text-align:left;cursor:pointer;margin:7px 0}
#booking-modal .vm-crew-choice.selected{background:#edf3ff;border-color:#7ca5ef}
#booking-modal .vm-crew-choice strong{font-size:12px}
#booking-modal .vm-crew-choice small{display:block;font-size:10px;color:#70819b;margin-top:3px}
#booking-modal .vm-crew-choice>b{font-size:10px;color:#215ac5;white-space:nowrap}
#booking-modal .vm-crew-note,#booking-modal #zip-calc-panel{font-size:11px;color:#547191;background:#f1f6ff;padding:10px 12px;border-radius:9px;margin:10px 0}
#booking-modal #zip-calc-panel:empty{display:none}
#booking-modal #vm-compact-extras,#booking-modal .vm-other-notes{border:1px solid #e1e7f0;border-radius:11px;margin:16px 0}
#booking-modal #vm-compact-extras>summary,#booking-modal .vm-other-notes>summary{font-size:12px;font-weight:600;cursor:pointer;padding:13px;list-style:none}
#booking-modal #vm-compact-extras>summary:after,#booking-modal .vm-other-notes>summary:after{content:'+';float:right}
#booking-modal #vm-compact-extras summary small{font-size:10px;color:#8290a5;font-weight:400;margin-left:7px}
#booking-modal #vm-extras-host{padding:0 10px 10px}
#booking-modal .modal-nav{padding:8px 0 4px!important;gap:10px!important;margin-top:14px!important}
#booking-modal .btn-next{font:600 13px system-ui,sans-serif!important;padding:13px 16px!important;min-height:44px!important;border-radius:10px!important;letter-spacing:0!important;text-transform:none!important}
#booking-modal .btn-back{font-size:12px!important;padding:12px!important;letter-spacing:0!important;text-transform:none!important}
#booking-modal #vm-booking-total{flex:none;border-top:1px solid #c7d8f2;padding:12px 22px 15px;background:#f9fbff;z-index:2;box-shadow:0 -8px 24px rgba(23,60,112,.10)}
#booking-modal .vm-assistant-mode #vm-booking-total{display:none}
#booking-modal #vm-booking-total summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;list-style:none}
#booking-modal #vm-booking-total summary b{font-size:24px;color:#102e59;letter-spacing:-.6px}
#booking-modal #vm-booking-total small{font-size:10px;color:#748198;margin-left:4px}
#booking-modal #vm-booking-total em{display:block;font-style:normal;font-size:11px;color:#3766b0;margin-top:3px}
#booking-modal .vm-breakdown-label{font-size:11px;color:#547098;text-decoration:underline}
#booking-modal #vm-booking-total details>div{max-height:150px;overflow:auto;margin-top:10px}
#booking-modal .vm-price-line{display:flex;justify-content:space-between;gap:15px;font-size:11px;padding:4px 0;color:#5b7193}
#booking-modal #vm-booking-error{padding:12px;border:1px solid #edb8b8;background:#fff4f4;color:#9c3333;border-radius:9px;font-size:12px;margin-bottom:12px}
#booking-modal .vm-email-check{font-size:11px;padding:12px;background:#f3f6fb;border-radius:9px;margin:5px 0 15px}
#booking-modal .vm-email-check button{border:0;border-radius:7px;background:#225ee7;color:white;padding:9px 12px;font-size:11px;margin:7px 5px 4px 0;cursor:pointer}
#booking-modal .vm-email-check input{font-size:16px;padding:9px;border:1px solid #dce3ef;border-radius:7px;max-width:150px}
#booking-modal #step-3>div:has(>#booking-total-amt){display:none}
#booking-modal .modal-footer,#booking-modal .scroll-indicator{display:none!important}
#booking-modal #step-2{display:none!important}
#vm-assistant-crew{margin-top:10px}
@media(max-width:620px){#booking-modal.open.modal-overlay{padding:0!important}#booking-modal.open.modal-overlay .modal-container:not(.vm-assistant-mode){height:100%!important;border-radius:0!important;border:0!important}#booking-modal .vm-compact-brand span{display:none}#booking-modal .modal-header{padding:13px 16px 10px!important}#booking-modal.open.modal-overlay .modal-container:not(.vm-assistant-mode) #modal-form-container{padding:17px 16px!important}#booking-modal #vm-booking-total{padding:10px 16px calc(12px + env(safe-area-inset-bottom))}#booking-modal .vm-fields{gap:9px}#booking-modal .vm-tv{padding:12px}}

#vm-assistant-crew{order:3;flex:none;max-height:200px;overflow-y:auto;font-size:11px}#vm-assistant-crew>details>summary{cursor:pointer;color:#45668d;padding:7px 0}

#booking-modal .vm-selection-summary{margin:0 0 9px;font-size:12px;color:#244573}#booking-modal .vm-selection-summary>summary{cursor:pointer;padding:6px 0;font-weight:650}#booking-modal .vm-edit-choice{display:flex;justify-content:space-between;gap:10px;width:100%;text-align:left;padding:9px 0;background:none;border:0;border-bottom:1px solid #dce5f3;color:#263d5c;font-size:12px;cursor:pointer}#booking-modal .vm-edit-choice span{color:#2255bd;text-decoration:underline}#booking-modal .vm-selection-summary[open]{max-height:180px;overflow:auto}#booking-modal .vm-card-back{min-height:44px;font-weight:650}

#booking-modal .vm-detail-card[hidden]{display:none!important}#booking-modal .vm-detail-card .vm-field{margin:14px 0!important}#booking-modal .vm-detail-card .modal-nav{display:flex;justify-content:space-between}#booking-modal .vm-crew-time{color:#164f9d!important;font-weight:700!important;font-size:12px!important;margin-top:7px!important;line-height:1.4!important}#booking-modal .vm-crew-note .vm-crew-time{display:block}#booking-modal .vm-detail-card h3:focus{outline:none}

@media(min-width:900px){#booking-modal.open.modal-overlay .modal-container:not(.vm-assistant-mode){max-width:960px!important;height:min(900px,calc(100dvh - 40px))!important}#booking-modal.open.modal-overlay .modal-container.vm-assistant-mode{width:min(1180px,calc(100vw - 64px))!important;max-width:1180px!important;height:calc(100dvh - 40px)!important;max-height:calc(100dvh - 40px)!important}#booking-modal .vm-assistant-mode #vm-voice-booking{width:100%!important;max-width:none!important;flex:1!important;min-height:0!important}#booking-modal .vm-assistant-mode #vm-voice-messages{flex:1!important;min-height:240px!important;max-height:none!important}#booking-modal .vm-question{max-width:760px;margin-left:auto;margin-right:auto}#booking-modal .vm-assistant-mode #modal-form-container{max-width:none!important;width:100%!important;flex:1!important;min-height:0!important}}

/* Focused blue card palette and consistent spacing. */
#booking-modal #modal-form-container{background:#f0f5fc!important}
#booking-modal .vm-question{background:linear-gradient(135deg,#e5efff,#eff3ff)!important;border:1px solid #b8cef0!important;padding:24px!important;margin-top:8px!important;margin-bottom:16px!important;box-shadow:0 6px 20px rgba(24,63,120,.06)!important}
#booking-modal .vm-question h3{margin:5px 0 20px!important;line-height:1.3!important}
#booking-modal .vm-choice{background:#f8fbff!important;border-color:#b4c9e6!important}
#booking-modal .vm-choice.selected{background:#d2e4ff!important;border-color:#2255bd!important}
#booking-modal .vm-choice:hover{background:#e0ecff!important}
#booking-modal .vm-email-check{display:flex;flex-direction:column;align-items:flex-start;gap:10px;background:#dbe8fa!important;border:1px solid #bed0e9;padding:16px!important;margin:16px 0!important;color:#263f60}
#booking-modal .vm-email-check>span{display:block;font-size:12px;line-height:1.5}
#booking-modal .vm-email-check button{margin:0!important;min-height:42px!important;padding:11px 16px!important;font-size:12px!important}
#booking-modal #email-code-step{width:100%}
#booking-modal #email-code-step input{margin-right:8px}
#booking-modal .vm-detail-card .modal-nav{margin-top:20px!important;padding:0!important;gap:12px!important}
#booking-modal .vm-detail-card .modal-nav>button{flex:1;min-height:46px!important}
#booking-modal #vm-booking-total{background:#eaf1fc!important;padding-top:12px!important}
#booking-modal #vm-booking-total .vm-selection-summary{margin-bottom:6px!important}
#booking-modal #vm-booking-total .vm-selection-summary>summary{padding:4px 0 8px!important}
#booking-modal #vm-booking-total details>div{margin-top:6px!important}
#booking-modal .vm-crew-choice{background:#edf4ff!important;border-color:#b8cdee!important}
#booking-modal .vm-crew-choice.selected{background:#d5e6ff!important;border-color:#2255bd!important}
@media(min-width:900px){#booking-modal.open.modal-overlay .modal-container:not(.vm-assistant-mode) #modal-form-container{padding:22px 30px!important}#booking-modal .vm-detail-card{max-width:800px!important}}
@media(max-width:620px){#booking-modal .vm-question{padding:18px!important}#booking-modal .vm-question h3{font-size:20px!important;margin-bottom:16px!important}}

#booking-modal #vm-place-autocomplete,#booking-modal gmp-place-autocomplete{color-scheme:light!important;background:#fff!important;color:#172b4b!important;border-radius:10px!important;--gmp-mat-color-surface:#fff;--gmp-mat-color-on-surface:#172b4b;--gmp-mat-color-on-surface-variant:#526682;--gmp-mat-color-primary:#2255bd}#booking-modal gmp-place-autocomplete{border:1px solid #b4c9e6!important;min-height:46px}

/* Appointment choices must read as controls, not low-contrast chat links. */
#booking-modal #vm-assistant-choices{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;width:100%!important;margin:12px 0 18px!important;padding:0!important;flex:none!important}
#booking-modal #vm-assistant-choices .vm-assistant-choice{display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;background:#fff!important;color:#12386a!important;border:2px solid #769bcf!important;border-radius:11px!important;min-height:64px!important;padding:13px 14px!important;font:650 14px/1.45 system-ui,sans-serif!important;box-shadow:0 3px 8px rgba(20,55,105,.07)!important;cursor:pointer!important;opacity:1!important}
#booking-modal #vm-assistant-choices .vm-assistant-choice:before{display:none!important}
#booking-modal #vm-assistant-choices .vm-assistant-choice:hover,#booking-modal #vm-assistant-choices .vm-assistant-choice:focus-visible{background:#dceaff!important;border-color:#2255bd!important;outline:3px solid #9fc4ff!important;outline-offset:2px}
#booking-modal #booking-avail .slot-btn{background:#fff!important;border:2px solid #769bcf!important;color:#12386a!important}
#booking-modal #booking-avail .slot-btn.selected{background:#dceaff!important;border-color:#2255bd!important}
#booking-modal #booking-avail input[type=date]{color-scheme:light!important;background:#fff!important;color:#172b4b!important;border-color:#769bcf!important}
@media(max-width:620px){#booking-modal #vm-assistant-choices{grid-template-columns:repeat(2,minmax(0,1fr))!important}#booking-modal #vm-assistant-choices .vm-assistant-choice{font-size:13px!important;min-height:62px!important}}

/* Keep the location context compact and the active question above the fold. */
#booking-modal .vm-location-row{display:flex;align-items:center;gap:16px;max-width:760px;margin:0 auto 12px}
#booking-modal .vm-location-row .vm-field{flex:0 0 130px;margin:0!important}
#booking-modal .vm-location-row #booking-zip{width:130px!important;min-height:40px!important;padding:8px 10px!important;font-size:16px!important;letter-spacing:normal!important;text-align:left!important}
#booking-modal .vm-location-row #zip-calc-panel{flex:1;margin:18px 0 0!important;padding:0!important;background:none!important}
#booking-modal #tv-pricing-section>.vm-question,#booking-modal #tv-cards-container>.vm-question{margin-top:0!important}
#booking-modal .vm-more-count{width:100%;margin-top:9px;min-height:48px}
#booking-modal #vm-more-tvs[hidden]{display:none!important}
#booking-modal .modal-header .vm-compact-brand{margin-bottom:9px!important}
@media(max-height:800px){#booking-modal .vm-question{padding:16px!important}#booking-modal .vm-choice{min-height:58px!important}#booking-modal #vm-booking-total{padding-bottom:10px!important}}
