.asb-booking{--asb-accent:#5b49e8;--asb-ink:#171827;--asb-muted:#73758a;--asb-line:#e8e9f0;max-width:1180px;margin:32px auto;color:var(--asb-ink);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.asb-booking *{box-sizing:border-box}.asb-booking form{margin:0}.asb-shell{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:34px;align-items:start}.asb-main,.asb-summary-card{background:#fff;border:1px solid var(--asb-line);border-radius:20px;box-shadow:0 14px 42px rgba(27,28,48,.07)}.asb-main{padding:34px 42px 42px;min-height:650px}.asb-step{display:none}.asb-step.active{display:block;animation:asbIn .22s ease}.asb-step-label{font-size:13px;color:var(--asb-muted);text-align:right;margin:-3px 0 8px}.asb-step-label b{color:var(--asb-accent)}.asb-back-link{border:0;background:transparent;color:var(--asb-ink);font-weight:700;padding:0;cursor:pointer;float:left}.asb-back-link span{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid var(--asb-line);border-radius:50%;margin-right:7px}.asb-heading{clear:both;padding:18px 0 24px;border-bottom:1px solid var(--asb-line);margin-bottom:28px}.asb-eyebrow{display:block;color:var(--asb-accent);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;margin-bottom:8px}.asb-heading h2{font-size:30px;line-height:1.2;margin:0 0 7px;color:var(--asb-ink)}.asb-heading p{margin:0;color:var(--asb-muted)}.asb-question{font-size:17px;margin:28px 0 14px}.asb-question em{color:#e74c3c;font-style:normal}.asb-choice-grid,.asb-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.asb-choice-card,.asb-option{position:relative;display:flex;align-items:center;gap:13px;min-height:76px;border:1.5px solid var(--asb-line);border-radius:13px;padding:14px 16px;cursor:pointer;background:#fff;transition:.18s ease}.asb-choice-card:hover,.asb-option:hover{border-color:#b9b5ee;transform:translateY(-1px)}.asb-choice-card input,.asb-option input{position:absolute;opacity:0;pointer-events:none}.asb-choice-card:has(input:checked),.asb-option:has(input:checked){border-color:var(--asb-accent);background:#f8f7ff;box-shadow:0 0 0 1px var(--asb-accent)}.asb-choice-icon,.asb-summary-icon{display:grid;place-items:center;flex:0 0 43px;height:43px;border-radius:11px;background:#f0efff;color:var(--asb-accent);font-size:20px}.asb-choice-card span:nth-child(3),.asb-option span{display:flex;flex-direction:column}.asb-choice-card strong,.asb-option b{font-size:14px}.asb-choice-card small,.asb-option small{color:var(--asb-muted);font-size:12px;margin-top:4px}.asb-choice-card i,.asb-option i{margin-left:auto;display:none;color:var(--asb-accent);font-style:normal}.asb-choice-card:has(input:checked) i,.asb-option:has(input:checked) i{display:block}.asb-field-block{padding-bottom:10px}.asb-field-block>input,.asb-field-block>select,.asb-field-block>textarea,.asb-form-grid input,.asb-form-grid textarea,.asb-date-wrap input{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #dfe0e8;border-radius:10px;background:#fff;font:inherit;outline:0}.asb-field-block>input:focus,.asb-field-block>select:focus,.asb-field-block>textarea:focus,.asb-form-grid input:focus,.asb-form-grid textarea:focus,.asb-date-wrap input:focus{border-color:var(--asb-accent);box-shadow:0 0 0 3px rgba(91,73,232,.12)}.asb-info-card{display:flex;gap:10px;background:#f7f7fb;border-radius:10px;padding:13px 15px;color:#5f6173;margin-top:10px}.asb-info-card span{display:grid;place-items:center;flex:0 0 21px;height:21px;border-radius:50%;background:var(--asb-accent);color:#fff;font-size:12px}.asb-info-card p{margin:0;font-size:13px;line-height:1.5}.asb-date-wrap{max-width:390px}.asb-slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.asb-slot{border:1.5px solid var(--asb-line);border-radius:10px;background:#fff;padding:13px 8px;color:var(--asb-ink);font-weight:700;cursor:pointer}.asb-slot:hover,.asb-slot.selected{border-color:var(--asb-accent);color:var(--asb-accent);background:#f7f6ff}.asb-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.asb-form-grid label{display:block}.asb-form-grid label.wide{grid-column:1/-1}.asb-form-grid label>span{display:block;font-size:13px;font-weight:700;margin-bottom:7px}.asb-consent{display:flex;gap:9px;align-items:flex-start;margin-top:20px;font-size:13px;color:var(--asb-muted)}.asb-consent input{margin-top:2px}.asb-summary{position:sticky;top:24px}.asb-summary-card{padding:25px}.asb-summary-card>h3,.asb-payment h3{font-size:17px;margin:0 0 18px}.asb-summary-empty{text-align:center;padding:22px 10px 32px;color:var(--asb-muted)}.asb-summary-empty span{display:grid;place-items:center;width:55px;height:55px;border-radius:50%;background:#f2f1ff;color:var(--asb-accent);font-size:23px;margin:0 auto 12px}.asb-summary-empty p{margin:0;font-size:13px}.asb-summary-service{display:flex;gap:12px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--asb-line)}.asb-summary-service div{display:flex;flex-direction:column}.asb-summary-service small{color:var(--asb-muted);font-size:11px}.asb-summary-service strong{font-size:14px;margin-top:3px}.asb-summary-row{display:flex;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #f0f0f4;font-size:13px}.asb-summary-row span{color:var(--asb-muted)}.asb-summary-row strong{text-align:right}.asb-payment{border-top:1px solid var(--asb-line);margin-top:22px;padding-top:20px}.asb-payment>div{display:flex;justify-content:space-between;align-items:center;font-size:15px}.asb-payment>div strong{font-size:21px}.asb-payment small{display:block;color:var(--asb-muted);font-size:11px;margin-top:6px}.asb-summary button,.asb-mobile-bar button{width:100%;border:0;border-radius:11px;background:var(--asb-accent);color:#fff;padding:15px 18px;font-weight:800;cursor:pointer;margin-top:22px}.asb-summary button:hover,.asb-mobile-bar button:hover{filter:brightness(.94)}.asb-summary button[disabled],.asb-mobile-bar button[disabled]{opacity:.6}.asb-safe{display:flex;align-items:center;gap:10px;padding:16px 18px;color:var(--asb-muted)}.asb-safe>span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e9f8f1;color:#168a5b}.asb-safe div{display:flex;flex-direction:column}.asb-safe strong{font-size:12px;color:var(--asb-ink)}.asb-safe small{font-size:11px}.asb-mobile-bar{display:none}.asb-message{display:none;margin:18px auto;padding:14px 18px;max-width:1180px;border-radius:10px}.asb-message.error,.asb-message.success{display:block}.asb-message.error{background:#fff1f1;color:#a83232}.asb-message.success{background:#eaf9f1;color:#16764d}.asb-loading,.asb-muted{color:var(--asb-muted);padding:16px 0}.asb-service-card[hidden],.asb-field-block[hidden]{display:none!important}@keyframes asbIn{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:900px){.asb-booking{margin:14px auto}.asb-shell{display:block}.asb-main{padding:24px 20px;border-radius:14px;min-height:0}.asb-summary{display:none}.asb-mobile-bar{display:block;position:sticky;z-index:20;bottom:0;padding:10px 0;background:#fff;border-top:1px solid var(--asb-line);box-shadow:0 -8px 24px rgba(0,0,0,.08)}.asb-mobile-bar button{margin:0}.asb-heading h2{font-size:25px}.asb-choice-grid,.asb-option-grid{grid-template-columns:1fr}.asb-slot-grid{grid-template-columns:repeat(3,1fr)}.asb-form-grid{grid-template-columns:1fr}.asb-form-grid label.wide{grid-column:auto}}@media(max-width:480px){.asb-slot-grid{grid-template-columns:repeat(2,1fr)}.asb-main{padding-left:16px;padding-right:16px}}
.asb-service-image{width:64px;height:58px;flex:0 0 64px;object-fit:cover;border-radius:10px}.asb-service-card>span:not(.asb-choice-icon){min-width:0}.asb-service-card small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.asb-package-grid{grid-template-columns:1fr}.asb-package-option{min-height:128px;padding:16px}.asb-package-option>img{width:82px;height:82px;object-fit:cover;border-radius:9px;flex:0 0 82px}.asb-package-copy{gap:3px;min-width:0}.asb-package-copy>small{font-size:13px;line-height:1.45;margin:2px 0 6px}.asb-package-price{font-size:15px}.asb-package-price del{color:#9a9aa5;margin-left:6px;font-size:13px}.asb-add-label{margin-left:auto;align-self:flex-end;white-space:nowrap;background:var(--asb-accent);color:#fff;border-radius:22px;padding:9px 15px;font-weight:800;font-size:13px}.asb-package-option:has(input:checked) .asb-add-label{background:#fff;color:var(--asb-accent);box-shadow:inset 0 0 0 1px var(--asb-accent);font-size:0}.asb-package-option:has(input:checked) .asb-add-label:after{content:"Added ✓";font-size:13px}
@media(max-width:480px){.asb-package-option{align-items:flex-start;flex-wrap:wrap}.asb-package-option>img{width:68px;height:68px;flex-basis:68px}.asb-package-copy{flex:1}.asb-add-label{margin-left:80px}.asb-service-card small{max-width:180px}}
.asb-verification{margin-top:22px;padding:20px;border:1px solid #d9d7f7;border-radius:14px;background:#f8f7ff}
.asb-verification-head p{margin:6px 0 16px;color:#667085}
.asb-verification label{display:block}
.asb-verification label span{display:block;margin-bottom:7px;font-weight:600}
.asb-verification input{width:100%;max-width:280px;letter-spacing:.25em;font-size:18px;font-weight:700}
.asb-resend-code{margin-top:10px;padding:0!important;background:transparent!important;color:var(--asb-accent)!important;border:0!important;box-shadow:none!important;font-weight:600}

/* v0.6 action placement: Continue stays left; final confirmation appears right. */
.asb-mobile-bar{display:flex;justify-content:flex-start}
.asb-mobile-bar button{width:auto;padding-left:28px;padding-right:28px}
.asb-final-actions{justify-content:flex-end}
.asb-mobile-bar button[hidden]{display:none}
@media(max-width:900px){
  .asb-mobile-bar{display:flex}
  .asb-mobile-bar button{width:100%}
}

/* v0.7.2: locations use visible, accessible radio buttons. */
.asb-location-options{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.asb-location-radio{position:relative;display:flex;align-items:center;gap:10px;min-width:160px;padding:14px 18px;border:1.5px solid var(--asb-line);border-radius:10px;background:#fff;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease}
.asb-location-radio:hover{border-color:#b9b5ee}
.asb-location-radio input{position:absolute;opacity:0;width:1px;height:1px}
.asb-radio-mark{position:relative;display:block;flex:0 0 20px;width:20px;height:20px;border:2px solid #b8bac6;border-radius:50%;background:#fff}
.asb-location-radio input:focus-visible+.asb-radio-mark{outline:3px solid rgba(91,73,232,.18);outline-offset:2px}
.asb-location-radio input:checked+.asb-radio-mark{border-color:var(--asb-accent)}
.asb-location-radio input:checked+.asb-radio-mark:after{content:"";position:absolute;inset:4px;border-radius:50%;background:var(--asb-accent)}
.asb-location-radio:has(input:checked){border-color:var(--asb-accent);background:#f8f7ff;box-shadow:0 0 0 1px var(--asb-accent)}
.asb-location-radio strong{font-size:14px}
@media(max-width:480px){.asb-location-options{display:grid;grid-template-columns:1fr 1fr}.asb-location-radio{min-width:0;padding:13px 14px}}

/* v0.8.20: session-first location finder and service catalogue. */
.asb-shell:has(.asb-location-screen:not([hidden])){grid-template-columns:1fr;max-width:920px;margin:0 auto}
.asb-shell:has(.asb-location-screen:not([hidden])) .asb-summary,.asb-shell:has(.asb-location-screen:not([hidden])) .asb-back-link,.asb-shell:has(.asb-location-screen:not([hidden])) .asb-step-label{display:none}
.asb-shell:has(.asb-location-screen:not([hidden])) .asb-main{min-height:510px;display:grid;place-items:center;background:linear-gradient(135deg,#f4fbff 0%,#fff 55%,#fff8ef 100%);overflow:hidden}
.asb-location-screen{max-width:680px;width:100%;text-align:center;padding:54px 24px}.asb-location-screen h2{font-size:36px;line-height:1.15;margin:8px 0 10px}.asb-location-screen>p{color:var(--asb-muted);font-size:16px;margin:0 auto 26px}
.asb-location-launch{width:100%;min-height:66px;border:1px solid #dde3ea;border-radius:34px;background:#fff;box-shadow:0 10px 30px rgba(26,45,68,.1);display:flex;align-items:center;gap:14px;padding:10px 18px;cursor:pointer;text-align:left;color:#6f7480;font:inherit}.asb-location-launch>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#eef9ff;color:#06a9ec;font-size:22px}.asb-location-launch b{font-weight:500;flex:1}.asb-location-launch i{font-size:28px;color:#06a9ec;font-style:normal}.asb-map-setup{margin-top:18px;text-align:left}
.asb-selected-location{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid #dceaf1;border-radius:13px;background:#f4fbff;margin-bottom:18px}.asb-selected-location>span{font-size:22px;color:#04a8e7}.asb-selected-location>div{display:flex;flex-direction:column;min-width:0;flex:1}.asb-selected-location small{color:var(--asb-muted);font-size:11px}.asb-selected-location strong{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asb-selected-location button{border:0;background:transparent;color:#029bd7;font-weight:800;cursor:pointer}
.asb-service-catalog{grid-template-columns:repeat(3,minmax(0,1fr))}.asb-service-catalog .asb-service-card{display:block;padding:0;overflow:hidden;min-height:220px}.asb-service-catalog .asb-service-image{width:100%;height:148px;border-radius:0;display:block}.asb-service-catalog .asb-service-card>span:not(.asb-choice-icon){padding:14px 15px;display:flex}.asb-service-catalog .asb-service-card i{position:absolute;right:10px;top:10px;width:28px;height:28px;border-radius:50%;background:var(--asb-accent);color:#fff;text-align:center;line-height:28px}.asb-service-catalog .asb-choice-icon{height:148px;border-radius:0;font-size:42px}.asb-location-values{display:none!important}
body.asb-map-open{overflow:hidden}.asb-map-modal{position:fixed;inset:0;z-index:999999;background:rgba(10,17,24,.55);padding:4.5vh 20px;overflow:auto}.asb-map-modal[hidden]{display:none}.asb-map-dialog{width:min(860px,100%);margin:0 auto;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.25)}.asb-map-titlebar{height:57px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:1px solid #eceff2}.asb-map-titlebar h2{font-size:18px;margin:0}.asb-map-close{border:0;background:transparent;font-size:28px;color:#6e737b;cursor:pointer}.asb-map-stage{height:min(670px,82vh);min-height:480px;position:relative;background:#e9eef2}.asb-map-searchbar{position:absolute;z-index:5;top:22px;left:24px;right:24px;min-height:52px;display:flex;align-items:center;gap:8px;padding:5px 7px 5px 15px;background:#fff;border-radius:28px;box-shadow:0 3px 16px rgba(20,35,50,.14)}.asb-map-searchbar>span{font-size:21px}.asb-map-searchbar input{flex:1;min-width:0;border:0!important;box-shadow:none!important;outline:0;background:transparent;font:inherit;padding:9px 4px}.asb-use-location{border:0;background:#eefaff;color:#02a2e3;border-radius:22px;padding:10px 13px;white-space:nowrap;cursor:pointer}.asb-use-location b{font-size:18px;margin-left:4px}#asb-google-map{position:absolute;inset:0}.asb-fixed-pin{position:absolute;z-index:4;left:50%;top:50%;width:38px;height:48px;transform:translate(-50%,-100%);pointer-events:none}.asb-fixed-pin:before{content:"";position:absolute;width:34px;height:34px;left:2px;top:0;border-radius:50% 50% 50% 0;background:#ff1539;transform:rotate(-45deg);box-shadow:0 3px 7px rgba(0,0,0,.25)}.asb-fixed-pin span{position:absolute;z-index:1;width:11px;height:11px;left:13px;top:11px;border-radius:50%;background:#fff}.asb-map-hint{position:absolute;z-index:4;left:50%;top:calc(50% - 79px);transform:translateX(-50%);background:rgba(39,39,39,.85);color:#fff;padding:7px 12px;border-radius:4px;font-size:13px;white-space:nowrap;pointer-events:none}.asb-confirm-location{position:absolute;z-index:5;left:24px;right:24px;bottom:18px;border:0;border-radius:28px;background:#ffd03a;color:#fff;min-height:50px;font-weight:800;font-size:15px;cursor:pointer;box-shadow:0 7px 20px rgba(148,106,0,.2)}
@media(max-width:760px){.asb-service-catalog{grid-template-columns:1fr 1fr}.asb-map-modal{padding:0}.asb-map-dialog{min-height:100%;border-radius:0}.asb-map-stage{height:calc(100vh - 57px)}.asb-map-searchbar{top:14px;left:12px;right:12px}.asb-confirm-location{left:12px;right:12px}.asb-location-screen{padding:32px 4px}.asb-location-screen h2{font-size:29px}}
@media(max-width:480px){.asb-service-catalog{grid-template-columns:1fr}.asb-service-catalog .asb-service-card{min-height:0;display:flex}.asb-service-catalog .asb-service-image,.asb-service-catalog .asb-choice-icon{width:112px;height:100px;flex:0 0 112px}.asb-use-location{font-size:0}.asb-use-location b{font-size:20px;margin:0}.asb-map-hint{font-size:11px}.asb-location-launch{min-height:58px}.asb-location-launch-copy{font-size:13px}}
.asb-options-modal[hidden]{display:none!important}.asb-options-modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:24px;background:rgba(20,22,27,.62);backdrop-filter:blur(2px)}body.asb-options-open{overflow:hidden}.asb-options-dialog{display:flex;flex-direction:column;width:min(620px,100%);max-height:min(780px,calc(100vh - 48px));overflow:hidden;background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.26)}.asb-options-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 25px;border-bottom:1px solid var(--asb-line)}.asb-options-titlebar small{display:block;color:var(--asb-accent);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}.asb-options-titlebar h2{font-size:19px;line-height:1.25;margin:0}.asb-options-close{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:0;border-radius:50%;background:#f4f4f7;color:#23242d;font-size:28px;line-height:1;cursor:pointer}.asb-options-body{overflow:auto;padding:4px 25px 22px}.asb-options-body .asb-question{margin-top:22px}.asb-options-body .asb-package-option{background:#f7f7f8;border-color:#ededf0;min-height:132px}.asb-options-body .asb-package-option:hover{background:#fff}.asb-options-body .asb-field-error{border-radius:12px;box-shadow:0 0 0 2px #e55353;padding:1px 10px 10px;margin:12px -10px}.asb-options-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 25px;border-top:1px solid var(--asb-line);background:#fff}.asb-options-footer>div{display:flex;flex-direction:column}.asb-options-footer small{color:var(--asb-muted);font-size:11px}.asb-options-footer strong{font-size:17px;margin-top:2px}.asb-confirm-options{min-width:150px;border:0;border-radius:24px;background:var(--asb-accent);color:#fff;padding:12px 22px;font-weight:800;cursor:pointer}.asb-confirm-options:hover{filter:brightness(.94)}
@media(max-width:640px){.asb-options-modal{padding:0;align-items:end}.asb-options-dialog{width:100%;max-height:92vh;border-radius:20px 20px 0 0}.asb-options-titlebar,.asb-options-body,.asb-options-footer{padding-left:16px;padding-right:16px}.asb-options-body .asb-package-option{display:grid;grid-template-columns:64px minmax(0,1fr);gap:12px}.asb-options-body .asb-package-option>img{grid-row:1;width:64px;height:64px}.asb-options-body .asb-package-copy{grid-column:2}.asb-options-body .asb-add-label{grid-column:2;margin:4px 0 0;justify-self:start;align-self:auto}.asb-confirm-options{min-width:120px}}
.asb-option-add{margin-left:auto;align-self:flex-end;white-space:nowrap;background:var(--asb-accent);color:#fff;border-radius:22px;padding:9px 15px;font-weight:800;font-size:13px}.asb-option-quantity{display:none!important;margin-left:auto;align-self:flex-end;flex-direction:row!important;align-items:center;gap:11px;white-space:nowrap}.asb-package-option:has(input:checked) .asb-option-add{display:none}.asb-package-option:has(input:checked) .asb-option-quantity{display:flex!important}.asb-option-quantity button{display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid #dfe0e8;border-radius:50%;background:#fff;color:#0bbcf1;font-size:21px;line-height:1;cursor:pointer}.asb-option-quantity b{min-width:18px;text-align:center;font-size:15px}@media(max-width:640px){.asb-options-body .asb-option-add,.asb-options-body .asb-option-quantity{grid-column:2;margin:4px 0 0;justify-self:start;align-self:auto}}
.asb-booking-success{max-width:760px;margin:32px auto;padding:56px 36px;text-align:center;background:#fff;border:1px solid #e6e9f0;border-radius:22px;box-shadow:0 18px 50px rgba(16,39,75,.09)}
.asb-booking-success[hidden]{display:none}
.asb-success-check{display:flex;width:64px;height:64px;margin:0 auto 20px;align-items:center;justify-content:center;border-radius:50%;background:#e9f8f0;color:#169b62;font-size:34px;font-weight:700}
.asb-booking-success h2{margin:8px 0 14px;color:#10274b;font-size:32px}
.asb-booking-success p{margin:8px 0;color:#667085;font-size:16px}
.asb-booking-success .asb-success-number{color:#10274b}
.asb-account-access{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:16px 19px;border:1px solid #e3e6ec;border-radius:13px;background:#fff;box-shadow:0 7px 22px rgba(27,28,48,.05)}
.asb-account-access>div{display:flex;min-width:0;flex-direction:column;gap:3px}.asb-account-access strong{font-size:14px}.asb-account-access span{color:var(--asb-muted);font-size:12px;line-height:1.45}.asb-account-access a,.asb-success-manage{display:inline-block;flex:0 0 auto;border-radius:9px;background:var(--asb-accent);color:#fff!important;padding:11px 17px;font-size:13px;font-weight:800;text-decoration:none}.asb-success-manage{margin-top:17px;padding:14px 22px}.asb-account-access a:hover,.asb-success-manage:hover{filter:brightness(.94)}
@media(max-width:640px){.asb-account-access{align-items:flex-start;flex-direction:column}.asb-account-access a{width:100%;text-align:center}}
.asb-payment-methods{margin-top:24px}.asb-payment-methods .asb-question{margin:0 0 12px}.asb-payment-option{position:relative;display:flex;align-items:flex-start;gap:12px;border:1.5px solid var(--asb-line);border-radius:12px;padding:14px 15px;margin-bottom:10px;cursor:pointer;background:#fff;transition:.18s ease}.asb-payment-option:hover{border-color:#b9b5ee}.asb-payment-option>input{position:absolute;opacity:0;pointer-events:none}.asb-payment-option:has(input:checked){border-color:var(--asb-accent);background:#f8f7ff;box-shadow:0 0 0 1px var(--asb-accent)}.asb-payment-radio{width:20px;height:20px;flex:0 0 20px;border:2px solid #c5c6d0;border-radius:50%;margin-top:1px;box-shadow:inset 0 0 0 4px #fff;background:#fff}.asb-payment-option:has(input:checked) .asb-payment-radio{border-color:var(--asb-accent);background:var(--asb-accent)}.asb-payment-option>span:last-child{display:flex;flex-direction:column}.asb-payment-option strong{font-size:14px}.asb-payment-option small{color:var(--asb-muted);font-size:12px;line-height:1.45;margin-top:3px}

/* v0.8.11: dedicated review step with modular hosted gateways, including Nomod. */
.asb-checkout-step .asb-heading{margin-bottom:22px}
.asb-checkout-panel,.asb-checkout-review{border:1px solid var(--asb-line);border-radius:14px;background:#fff;padding:22px;margin-bottom:18px}
.asb-checkout-panel-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.asb-checkout-panel-head h3,.asb-checkout-review>h3{margin:0;font-size:17px}
.asb-change-payment{border:0;background:transparent;color:var(--asb-accent);font:inherit;font-weight:800;cursor:pointer;padding:4px}
.asb-checkout-panel .asb-payment-methods{margin-top:16px}
.asb-secure-checkout{display:flex;align-items:center;gap:11px;margin-top:16px;padding-top:16px;border-top:1px solid var(--asb-line);color:var(--asb-muted)}
.asb-secure-checkout>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#e9f8f1}
.asb-secure-checkout>div{display:flex;flex-direction:column;gap:3px}
.asb-secure-checkout strong{font-size:13px;color:var(--asb-ink)}
.asb-secure-checkout small{font-size:11px;line-height:1.45}
.asb-checkout-review .asb-summary-row:last-of-type{border-bottom:0}
.asb-checkout-total{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:10px;padding-top:18px;border-top:1px solid var(--asb-line);font-size:16px}
.asb-checkout-total strong{font-size:22px}
.asb-checkout-confirm{display:flex;align-items:flex-start;gap:9px;margin:18px 0 0;color:var(--asb-muted);font-size:13px}
.asb-checkout-confirm input{margin-top:2px}
@media(max-width:480px){
 .asb-checkout-panel,.asb-checkout-review{padding:17px}
 .asb-checkout-total strong{font-size:19px}
}

/* v0.8.16: automatic service recommendations embedded in the Schedule step. */
.asb-schedule-addons{margin-top:34px;padding-top:28px;border-top:1px solid var(--asb-line)}
.asb-schedule-instructions{margin-top:34px;padding-top:28px;border-top:1px solid var(--asb-line)}
.asb-schedule-instructions .asb-question{margin-top:0}
.asb-instructions-field{position:relative}
.asb-instructions-field textarea{display:block;width:100%;min-height:120px;box-sizing:border-box;padding:16px 16px 34px;border:1px solid var(--asb-line);border-radius:12px;background:#fff;color:inherit;line-height:1.55;resize:vertical}
.asb-instructions-field textarea:focus{border-color:var(--asb-accent);outline:0;box-shadow:0 0 0 3px color-mix(in srgb,var(--asb-accent) 12%,transparent)}
.asb-instructions-field>small{position:absolute;right:14px;bottom:11px;color:var(--asb-muted);font-size:12px}
.asb-summary-address strong{max-width:190px;line-height:1.45;overflow-wrap:anywhere}
.asb-summary-address>div{display:flex;flex-direction:column;align-items:flex-end;gap:7px;max-width:190px;text-align:right}
.asb-summary-address>div strong{max-width:100%}
.asb-summary-change-address{border:0;background:transparent;color:var(--asb-accent);padding:0;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.asb-change-services{align-self:flex-start;border:0;background:transparent;color:var(--asb-accent);padding:5px 0 0;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.asb-change-services:hover,.asb-summary-change-address:hover{text-decoration:underline}
.asb-saved-address-modal[hidden]{display:none!important}
.asb-saved-address-modal{position:fixed;z-index:100003;inset:0;display:grid;place-items:center;padding:20px;background:rgba(18,20,24,.55);backdrop-filter:blur(2px)}
body.asb-saved-address-open{overflow:hidden}
.asb-saved-address-dialog{width:min(500px,100%);max-height:calc(100vh - 40px);overflow:auto;border-radius:14px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28);padding:0 24px 24px}
.asb-saved-address-titlebar{display:flex;align-items:center;justify-content:space-between;margin:0 -24px;padding:17px 24px;border-bottom:1px solid #e5e5e8}
.asb-saved-address-titlebar h2{margin:0;font-size:19px}
.asb-saved-address-close{border:0;background:transparent;color:#222;font-size:31px;line-height:1;cursor:pointer}
.asb-add-new-address{display:flex;align-items:center;gap:8px;width:100%;padding:19px 0;border:0;border-bottom:1px solid #dfe2e6;background:#fff;color:#02aee8;font:inherit;font-weight:800;text-align:left;cursor:pointer}
.asb-add-new-address span{font-size:20px}
.asb-saved-address-list{margin-bottom:22px}
.asb-saved-address-card{position:relative;display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid #dfe2e6;cursor:pointer}
.asb-saved-address-card input{position:absolute;opacity:0}
.asb-saved-address-card>span{display:flex;flex:1;min-width:0;flex-direction:column;gap:4px}
.asb-saved-address-card strong{font-size:15px}
.asb-saved-address-card small{color:#555b65;font-size:13px;line-height:1.55}
.asb-saved-address-card i{width:21px;height:21px;flex:0 0 21px;border:2px solid #13b9ed;border-radius:50%;box-shadow:inset 0 0 0 5px #fff}
.asb-saved-address-card input:checked~i{background:#13b9ed}
.asb-select-saved-address{width:100%;min-height:50px;border:0;border-radius:27px;background:#ffd03a;color:#fff;font:inherit;font-weight:800;cursor:pointer}
@media(max-width:560px){.asb-saved-address-modal{padding:0;align-items:end}.asb-saved-address-dialog{width:100%;max-height:90vh;box-sizing:border-box;border-radius:18px 18px 0 0}}
.asb-schedule-addons-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:16px}
.asb-schedule-addons-head h3{margin:0 0 5px;font-size:21px}
.asb-schedule-addons-head p{margin:0;color:var(--asb-muted);font-size:13px}
.asb-schedule-addons-head .asb-eyebrow{margin-bottom:6px}
.asb-schedule-addons-head>small{flex:0 0 auto;padding:5px 9px;border-radius:20px;background:#f0efff;color:var(--asb-accent);font-size:10px;font-weight:800;text-transform:uppercase}
.asb-addon-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.asb-addon-card{position:relative;display:grid;grid-template-columns:92px 1fr;gap:14px;min-height:126px;padding:14px;border:1px solid var(--asb-line);border-radius:14px;background:#fff}
.asb-addon-card>img,.asb-addon-placeholder{width:92px;height:92px;border-radius:11px;object-fit:cover;background:#f5f5fa}
.asb-addon-placeholder{display:grid;place-items:center;color:var(--asb-accent);font-size:26px}
.asb-addon-copy{display:flex;flex-direction:column;align-items:flex-start;padding-right:38px}
.asb-addon-copy>strong{font-size:14px;line-height:1.35}
.asb-addon-copy p{margin:5px 0;color:var(--asb-muted);font-size:11px;line-height:1.4}
.asb-addon-badge{margin:0 0 5px;padding:3px 7px;border-radius:20px;background:#fff0d8;color:#a45f00;font-size:9px;font-weight:800;text-transform:uppercase}
.asb-addon-price{margin-top:auto;color:var(--asb-accent);font-size:13px;font-weight:800}
.asb-addon-price del{margin-left:4px;color:#a1a3ae;font-size:11px;font-weight:500}
.asb-addon-control{position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:7px}
.asb-addon-control button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:var(--asb-accent);color:#fff;font-size:19px;line-height:1;cursor:pointer}
.asb-addon-control b{min-width:16px;text-align:center;font-size:13px}
@media(max-width:700px){.asb-addon-grid{grid-template-columns:1fr}}
@media(max-width:420px){.asb-addon-card{grid-template-columns:76px 1fr}.asb-addon-card>img,.asb-addon-placeholder{width:76px;height:76px}}

/* v0.8.25: session-aware email login/sign-up after schedule selection. */
.asb-auth-modal[hidden]{display:none!important}
.asb-auth-modal{position:fixed;z-index:100001;inset:0;display:grid;place-items:center;padding:20px;background:rgba(18,20,24,.55);backdrop-filter:blur(2px)}
body.asb-auth-open{overflow:hidden}
.asb-auth-dialog{width:min(500px,100%);overflow:hidden;border-radius:10px;background:#fff;box-shadow:0 28px 80px rgba(0,0,0,.28)}
.asb-auth-titlebar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 24px;border-bottom:1px solid #e5e5e8}
.asb-auth-titlebar h2{margin:0;font-size:19px;line-height:1.3}
.asb-auth-close{display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;background:transparent;color:#222;font-size:31px;line-height:1;cursor:pointer}
.asb-auth-body{padding:27px 24px 23px}
.asb-auth-body label{display:block;margin-bottom:8px;color:#87838b;font-size:14px}
.asb-auth-input{display:flex;align-items:center;gap:10px;border-bottom:1px solid #d5d3d7;padding:2px 0 10px}
.asb-auth-input>span{color:var(--asb-accent);font-size:18px}
.asb-auth-input input,.asb-auth-code-stage>input{width:100%;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;padding:8px 2px;font:inherit}
.asb-auth-code-stage>input{border-bottom:1px solid #d5d3d7!important;letter-spacing:.22em;font-size:19px;font-weight:700}
.asb-auth-code-stage>p{margin:0 0 21px;color:#73717a;font-size:14px;line-height:1.5}
.asb-auth-continue,.asb-auth-verify{width:100%;min-height:50px;margin-top:24px;border:0;border-radius:27px;background:#ffe49a;color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:filter .18s ease}
.asb-auth-continue:hover,.asb-auth-verify:hover{filter:brightness(.97)}
.asb-auth-continue:disabled,.asb-auth-verify:disabled{opacity:.65;cursor:wait}
.asb-auth-links{display:flex;justify-content:space-between;gap:15px;margin-top:15px}
.asb-auth-links button{border:0;background:transparent;color:var(--asb-accent);padding:0;font:inherit;font-size:12px;font-weight:800;cursor:pointer}
.asb-auth-message{min-height:18px;margin-top:13px;font-size:12px}
.asb-auth-message.success{color:#16845b}.asb-auth-message.error{color:#c83d4d}
@media(max-width:560px){.asb-auth-modal{padding:0;align-items:end}.asb-auth-dialog{width:100%;border-radius:18px 18px 0 0}.asb-auth-titlebar,.asb-auth-body{padding-left:19px;padding-right:19px}}

/* v0.8.28: complete the post-OTP address inside the map popup. */
.asb-map-address-panel[hidden],.asb-map-stage[hidden]{display:none!important}
.asb-map-address-panel{padding:24px;background:#fff}
.asb-address-types{display:flex;gap:12px;margin-bottom:19px}
.asb-address-types button{min-width:76px;padding:10px 17px;border:1px solid #d9dde2;border-radius:24px;background:#fff;color:#50545b;font:inherit;font-weight:700;cursor:pointer}
.asb-address-types button.active{border-color:#09b8ec;background:#09b8ec;color:#fff}
.asb-address-line{display:block;padding:0 0 12px;margin:0 0 13px;border-bottom:1px solid #dfe2e6}
.asb-address-line>span{display:block;margin-bottom:4px;color:#a2a0a8;font-size:12px;letter-spacing:.02em}
.asb-address-line input,.asb-address-line textarea{display:block;width:100%;box-sizing:border-box;padding:5px 0;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;outline:0!important;color:#202229;font:inherit;line-height:1.45;resize:none}
.asb-address-line input[readonly]{color:#12151a}
.asb-save-address{width:100%;min-height:51px;margin-top:9px;border:0;border-radius:28px;background:#ffd03a;color:#fff;font:inherit;font-weight:800;cursor:pointer}
.asb-map-final .asb-map-dialog{width:min(760px,100%)}
@media(max-width:760px){
 .asb-map-address-panel{padding:22px 24px 24px}
 .asb-address-types{gap:9px}
 .asb-address-types button{min-width:0;flex:0 1 auto;padding:9px 16px}
}

/* v1.8.27: hide Chaty only on the page that renders the ASB booking form. */
body.asb-booking-form-page .chaty-widget,
body.asb-booking-form-page #chaty-widget,
body.asb-booking-form-page [id^="chaty-widget"],
body.asb-booking-form-page [class*="chaty-widget"],
body.asb-booking-form-page .chaty-channel-list,
body.asb-booking-form-page .chaty-widget-is,
body.asb-booking-form-page .chaty-widget-mobile,
body.asb-booking-form-page .chaty-widget-desktop{display:none!important;visibility:hidden!important;pointer-events:none!important}
.asb-form-grid select{width:100%;min-height:50px;padding:12px 14px;border:1.5px solid #dfe0e8;border-radius:10px;background:#fff;font:inherit;outline:0}
.asb-form-grid select:focus{border-color:var(--asb-accent);box-shadow:0 0 0 3px rgba(91,73,232,.12)}
.asb-phone-hint{display:block;margin-top:6px;color:var(--asb-muted);font-size:11px}
#asb-service-information{display:block;clear:both;width:100%}#asb-service-information[hidden]{display:none!important}
.asb-popup-info-section{padding:22px 0 2px;border-top:1px solid var(--asb-line)}.asb-popup-info-section h3{margin:0 0 16px;font-size:18px}.asb-popup-info-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.asb-popup-info-cards article{display:flex;flex-direction:column;align-items:center;gap:9px;padding:15px 8px;border:1px solid var(--asb-line);border-radius:12px;background:#fafafa;text-align:center}.asb-popup-info-cards strong{font-size:11px;line-height:1.35}.asb-popup-info-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--asb-accent) 10%,#fff);color:var(--asb-accent)}.asb-popup-info-icon svg,.asb-popup-info-icon img{width:24px;height:24px;object-fit:contain;fill:currentColor}.asb-popup-info-intro>div{color:var(--asb-muted);font-size:13px;line-height:1.65}.asb-popup-info-intro p{margin:0 0 10px}.asb-popup-info-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}.asb-popup-info-list li{display:flex;align-items:flex-start;gap:10px;color:var(--asb-muted);font-size:13px;line-height:1.5}.asb-popup-info-list li span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:50%;background:#eaf8f1;color:#16845b;font-size:12px;font-weight:800}.asb-popup-info-list.note li span{background:#fff4dd;color:#a45f00}@media(max-width:520px){.asb-popup-info-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
.asb-minimum-booking-condition{margin:18px 0;padding:16px 18px;border:1px solid #e6b94f;border-left:4px solid #d89b14;border-radius:10px;background:#fff9e8;color:#493710}
.asb-minimum-booking-condition strong{display:block;margin-bottom:6px;font-size:15px}
.asb-minimum-booking-condition p{margin:0;line-height:1.6;white-space:normal}
.asb-booking{width:min(1180px,100%);min-width:0;isolation:isolate;overflow:visible}
.asb-booking,.asb-booking *{max-width:100%}
.asb-booking input,.asb-booking select,.asb-booking textarea,.asb-booking button{max-width:100%}
.asb-booking .asb-shell,.asb-booking .asb-main,.asb-booking .asb-step,.asb-booking .asb-summary{min-width:0}
@media(max-width:900px){.asb-booking{margin:14px 0;width:100%}.asb-booking .asb-mobile-bar{position:sticky;left:auto;right:auto;bottom:0;width:100%;max-width:100%;z-index:30;margin:20px 0 0;padding:10px 0 max(10px,env(safe-area-inset-bottom));transform:none}.asb-booking .asb-mobile-bar button{width:100%;max-width:100%}.asb-booking .asb-main{overflow:visible}.asb-booking .asb-package-option,.asb-booking .asb-choice-card{min-width:0}.asb-booking .asb-package-copy,.asb-booking .asb-package-copy>*{min-width:0;overflow-wrap:anywhere}}
@media(max-width:480px){.asb-booking .asb-main{padding:18px 14px}.asb-booking .asb-options-footer{gap:10px}.asb-booking .asb-confirm-options{min-width:0;flex:0 1 auto}.asb-booking .asb-slot-grid{width:100%}}
.asb-minimum-booking-condition[hidden]{display:none!important}

/* v1.7.7: responsive layout with actions contained inside the booking form. */
@media(max-width:900px){
 .asb-booking{width:100%;max-width:100%;margin:12px auto;padding:0 10px;overflow:visible}
 .asb-shell,.asb-main,.asb-step{min-width:0;width:100%}
 .asb-main{padding:22px 18px;overflow:visible}
 .asb-step.active{overflow:visible}
 .asb-mobile-bar{display:block;position:sticky;z-index:20;left:auto;right:auto;bottom:0;width:100%;margin:28px 0 0;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--asb-line);box-shadow:0 -8px 24px rgba(0,0,0,.08)}
 .asb-mobile-bar button{display:block;width:100%;min-height:50px;margin:0;white-space:normal;line-height:1.25}
 .asb-choice-card,.asb-option,.asb-addon-card,.asb-summary-row{min-width:0;max-width:100%}
 .asb-heading h2,.asb-question,.asb-addon-copy strong,.asb-addon-copy p,.asb-minimum-booking-condition{overflow-wrap:anywhere}
 .asb-form-grid input,.asb-form-grid select,.asb-form-grid textarea,.asb-date-wrap input{max-width:100%}
}
@media(max-width:640px){
 .asb-booking{padding:0 6px}
 .asb-main{padding-left:14px;padding-right:14px;border-radius:12px}
 .asb-options-dialog{max-height:100dvh;border-radius:18px 18px 0 0}
 .asb-options-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 .asb-options-footer{position:relative;flex:0 0 auto;padding-top:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 .asb-confirm-options{min-height:46px;max-width:55%;white-space:normal}
 .asb-addon-copy{padding-right:0;padding-bottom:38px}
 .asb-addon-control{right:10px;bottom:10px}
}
@media(max-width:380px){
 .asb-main{padding-left:12px;padding-right:12px}
 .asb-heading h2{font-size:23px}
 .asb-slot-grid{grid-template-columns:1fr 1fr}
 .asb-addon-card{grid-template-columns:64px minmax(0,1fr);gap:10px;padding:11px}
 .asb-addon-card>img,.asb-addon-placeholder{width:64px;height:64px}
 .asb-options-footer{gap:10px}
 .asb-confirm-options{min-width:108px;padding-left:14px;padding-right:14px}
}

/* v1.7.9: true viewport-level Google Map modal. */
body.asb-map-open{overflow:hidden!important;overscroll-behavior:none}
body>.asb-map-modal{
 position:fixed!important;
 inset:0!important;
 z-index:2147483647!important;
 width:100vw!important;
 height:100vh!important;
 height:100dvh!important;
 max-width:none!important;
 max-height:none!important;
 margin:0!important;
 padding:clamp(8px,2vh,20px)!important;
 box-sizing:border-box!important;
 display:flex;
 align-items:center!important;
 justify-content:center!important;
 overflow:hidden!important;
 transform:none!important;
 isolation:isolate!important;
 pointer-events:auto!important;
}
body>.asb-map-modal[hidden]{display:none!important}
body>.asb-map-modal>.asb-map-dialog{
 position:relative!important;
 width:min(920px,100%)!important;
 height:min(760px,calc(100dvh - clamp(16px,4vh,40px)))!important;
 max-height:calc(100dvh - clamp(16px,4vh,40px))!important;
 min-height:0!important;
 margin:0!important;
 display:flex!important;
 flex-direction:column!important;
 overflow:hidden!important;
 transform:none!important;
}
body>.asb-map-modal .asb-map-titlebar{flex:0 0 57px!important}
body>.asb-map-modal .asb-map-stage{flex:1 1 auto!important;width:100%!important;height:auto!important;min-height:0!important;overflow:hidden!important}
body>.asb-map-modal #asb-google-map{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important}
body>.asb-map-modal .asb-confirm-location{z-index:20!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;pointer-events:auto!important}
body>.asb-map-modal .asb-map-address-panel{flex:1 1 auto!important;min-height:0!important;overflow:auto!important;-webkit-overflow-scrolling:touch}

/* v1.8.26: isolate mobile overlays from WoodMart/Elementor and contain booking height. */
.asb-options-modal{--asb-accent:#5b49e8;--asb-ink:#171827;--asb-muted:#73758a;--asb-line:#e8e9f0;position:fixed!important;z-index:2147483000!important;inset:0!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;isolation:isolate}
body>.asb-options-modal button.asb-confirm-options{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;border:0!important;border-radius:24px!important;background:#5b49e8!important;background:var(--asb-accent,#5b49e8)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;font:inherit!important;font-weight:800!important;line-height:1.2!important;text-align:center!important;text-indent:0!important;opacity:1!important;visibility:visible!important;box-shadow:none!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important}
body>.asb-options-modal button.asb-confirm-options:hover{background:#4f3ed6!important;background:color-mix(in srgb,var(--asb-accent,#5b49e8) 90%,#000)!important;color:#fff!important;-webkit-text-fill-color:#fff!important;filter:none!important}
body>.asb-options-modal button.asb-confirm-options:focus-visible{outline:3px solid rgba(91,73,232,.28)!important;outline-offset:3px!important}
body>.asb-options-modal button.asb-confirm-options:disabled{opacity:.6!important;cursor:not-allowed!important}
body.asb-options-open{overflow:hidden!important;overscroll-behavior:none}
@media(max-width:900px){
 .asb-booking,.asb-shell,.asb-main,.asb-step.active{height:auto!important;max-height:none!important}
 .asb-booking,.asb-shell,.asb-main{display:flow-root}
 .asb-booking .asb-mobile-bar{position:relative!important;inset:auto!important;z-index:1!important;clear:both;float:none!important}
 body>.asb-options-modal{position:fixed!important;inset:0!important;margin:0!important;padding:0!important;display:grid;align-items:end;overflow:hidden!important;background:rgba(20,22,27,.72)!important}
 body>.asb-options-modal>.asb-options-dialog{width:100%!important;max-width:100%!important;max-height:100dvh!important;margin:0!important;border-radius:18px 18px 0 0;overflow:hidden!important}
 body>.asb-options-modal .asb-options-body{min-height:0;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
 body>.asb-options-modal .asb-options-footer{position:relative!important;z-index:2;background:#fff!important}
}

/* v1.8.29: keep dynamic date fields and the native calendar inside the mobile viewport. */
body>.asb-options-modal,
body>.asb-options-modal *{box-sizing:border-box}
body>.asb-options-modal .asb-field-block>input[type="date"]{
 display:block!important;
 width:100%!important;
 min-width:0!important;
 max-width:100%!important;
 min-height:50px;
 padding:12px 14px;
 border:1.5px solid #dfe0e8;
 border-radius:10px;
 background:#fff;
 font:inherit;
 color:#171827;
}
@media(max-width:900px){
 body>.asb-options-modal>.asb-options-dialog{
  width:calc(100vw - 24px)!important;
  min-width:calc(100vw - 24px)!important;
  max-width:calc(100vw - 24px)!important;
  margin:0 12px max(8px,env(safe-area-inset-bottom))!important;
 }
 body>.asb-options-modal .asb-options-body,
 body>.asb-options-modal #asb-dynamic-fields-modal,
 body>.asb-options-modal .asb-field-block{width:100%!important;min-width:0!important;max-width:100%!important;overflow:visible}
}
@media(max-width:760px){
 body>.asb-map-modal{padding:max(6px,env(safe-area-inset-top)) 6px max(6px,env(safe-area-inset-bottom))!important}
 body>.asb-map-modal>.asb-map-dialog{width:100%!important;height:100%!important;max-height:100%!important;min-height:0!important;border-radius:12px!important}
 body>.asb-map-modal .asb-map-searchbar{top:12px!important;left:10px!important;right:10px!important}
 body>.asb-map-modal .asb-confirm-location{left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom))!important}
}
