.location-control{display:flex;align-items:center;gap:11px;padding:10px 14px;border:1px solid var(--line);border-radius:13px;background:#fff;text-align:left;min-width:0;transition:border-color .2s,box-shadow .2s}
.location-control:hover{border-color:#a6c9e7;box-shadow:0 4px 16px #003f9308}.location-control>.icon:first-child{color:var(--brand-blue);width:21px;height:21px}.location-control>span{display:flex;flex-direction:column;gap:4px;min-width:0}.location-control strong{color:var(--ink);font-size:12px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:205px}.location-control small{color:var(--muted);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:205px}.location-control>.icon:last-child{width:14px;height:14px;color:#7b97b0;margin-left:8px}.header-location{margin-left:auto;margin-right:32px}.portal-location-control{background:transparent;border-color:transparent;padding:6px 10px}.portal-location-control strong{font-size:11px}.portal-location-control small{font-size:9px}.portal-topbar>div{gap:16px}
.location-summary{display:flex;align-items:center;gap:15px;border:1px solid #d8e7f3;border-radius:16px;padding:20px 23px;background:linear-gradient(115deg,#f0f7fd,#fff)}.profile-location{margin-bottom:24px}.location-summary-icon{height:44px;width:44px;display:grid;place-items:center;border-radius:13px;background:#e1eef9;color:var(--brand-blue);flex-shrink:0}.location-summary-icon .icon{width:23px;height:23px}.location-summary>div{display:flex;flex-direction:column;gap:6px;min-width:0;flex:1}.location-summary small{color:#70879d;letter-spacing:1.15px;font-size:8px}.location-summary strong{font-size:14px;font-weight:650;color:var(--ink)}.location-summary>div>span{font-size:12px;color:var(--muted);line-height:1.7}.location-summary>button{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:var(--brand-blue);flex-shrink:0}.location-summary>button .icon{height:14px;width:14px}.booking-location{padding:16px;gap:10px}.booking-location .location-summary-icon{width:34px;height:34px}.booking-location strong{font-size:12px}.booking-location>div>span{font-size:10px}.booking-location>button{font-size:10px}
.location-picker-open{overflow:hidden}.location-dialog{width:760px;max-width:calc(100vw - 40px);max-height:calc(100dvh - 56px);padding:0;border:1px solid #d9e6f1;border-radius:27px;background:#fff;color:var(--ink);box-shadow:0 30px 120px #06396b36;overflow:auto;overscroll-behavior:contain}.location-dialog::backdrop{background:#132f4e55;backdrop-filter:blur(5px)}.location-dialog-header{position:relative;padding:31px 34px 24px;background:radial-gradient(ellipse at 100% 0,#dceffb75,transparent 65%),#f9fcff;border-bottom:1px solid #edf3f8}.location-dialog-brand{display:flex;align-items:center;gap:8px;color:var(--brand-blue);font-size:9px;letter-spacing:1.6px;font-weight:650}.location-dialog-brand>.icon{width:17px;height:17px}.location-close{position:absolute;right:23px;top:23px;width:32px;height:32px;display:grid;place-items:center;border:1px solid #dfebf4;border-radius:50%;background:#fff;color:#6b859c}.location-close .icon{width:17px;height:17px}.location-close:hover{background:#eaf3fb}.location-dialog h2{margin:21px 0 8px;font-size:30px;font-weight:600;letter-spacing:-1.1px;outline:0;line-height:1.3}.location-dialog-header>p{margin:0;font-size:12px;color:var(--muted);line-height:1.8}.location-steps{display:flex;align-items:center;gap:13px;margin:24px 34px 0;padding-bottom:22px;border-bottom:1px solid #e7eff6}.location-steps>button{display:flex;align-items:center;gap:8px;font-size:12px;color:#7a8fa2;padding:0;white-space:nowrap}.location-steps>button>span{display:grid;place-items:center;width:25px;height:25px;background:#eff4f9;border:1px solid #e1eaf3;border-radius:50%;color:#8b9fb0;font-size:10px}.location-steps>button.active{font-weight:650;color:var(--brand-deep)}.location-steps>button.active>span{color:#fff;background:var(--brand-blue);border-color:var(--brand-blue)}.location-steps>button.complete>span{background:#e8f2fb;border-color:#d4e6f7;color:var(--brand-blue)}.location-steps>button>span>.icon{width:13px;height:13px}.location-steps>button>small{font-size:10px;font-weight:400;color:var(--muted);margin-left:2px;max-width:170px;overflow:hidden;text-overflow:ellipsis}.location-steps>span>.icon{width:12px;height:12px;color:#afc0ce}.location-steps button:disabled{cursor:default;opacity:.65}
.location-dialog-body{padding:24px 34px 28px;min-height:230px}.location-search{display:flex;align-items:center;gap:10px;border:1px solid #dce7f1;background:#fbfdff;border-radius:12px;padding:0 15px;margin-bottom:19px}.location-search:focus-within{border-color:#67a6d2;box-shadow:0 0 0 3px #1a72b909}.location-search>.icon{height:19px;width:19px;color:#90a6b8}.location-search input{width:100%;font-family:var(--font);font-size:13px;border:0;background:none;outline:0;height:47px;color:var(--ink);min-width:0}.location-search input::placeholder{color:#8c9eae}.location-detected{display:flex;align-items:flex-start;gap:8px;padding:0 2px;margin:0 0 20px;color:#768ba0;font-size:11px;line-height:1.8}.location-detected>.icon{height:15px;width:15px;margin-top:2px;flex-shrink:0;color:var(--brand-cyan)}.location-detected strong{font-weight:600;color:#4e6e89}.location-city-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.location-city{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid #e3ebf3;border-radius:13px;text-align:left;background:#fff;min-width:0;transition:background .15s,border-color .15s}.location-city:hover{background:#f5faff;border-color:#99c2e3}.location-city.selected{border-color:#80b5de;background:#f0f7fd}.location-city-symbol{height:35px;width:35px;display:grid;place-items:center;background:#f0f5fa;border-radius:10px;color:#7e9db7;flex-shrink:0}.location-city-symbol>.icon{height:19px;width:19px}.location-city>span:nth-child(2){display:flex;flex-direction:column;gap:6px;min-width:0}.location-city strong{font-size:13px;font-weight:600;color:var(--ink);line-height:1.5}.location-city small{font-size:10px;color:#7c91a3;line-height:1.5}.location-city>.icon:last-child{height:13px;width:13px;color:#94acc0;margin-left:auto}.location-check{height:22px;width:22px;border-radius:50%;background:var(--brand-blue);color:#fff;margin-left:auto;display:grid;place-items:center;flex-shrink:0}.location-check>.icon{height:13px;width:13px}
.location-branch-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 1px 17px;font-size:11px;color:#7d91a3}.location-branch-heading>button{display:flex;align-items:center;gap:5px;color:var(--brand-blue);font-size:11px;padding:0}.location-branch-heading .icon{height:13px;width:13px}.location-branch-list{display:flex;flex-direction:column;gap:11px}.location-branch{position:relative;display:block;cursor:pointer}.location-branch>input{position:absolute;opacity:0;width:1px;height:1px}.location-branch-content{display:flex;align-items:center;gap:16px;border:1px solid #dfe9f3;border-radius:16px;padding:21px;background:#fff;transition:border-color .2s,background .2s,box-shadow .2s}.location-branch:hover .location-branch-content{border-color:#94bfdf;background:#fbfdff}.location-branch:has(input:checked) .location-branch-content{border-color:var(--brand-blue);background:#f3f9fe;box-shadow:0 0 0 1px #1a72b912}.location-branch:has(input:focus-visible) .location-branch-content{outline:3px solid #80b9e3;outline-offset:3px}.location-branch-icon{height:49px;width:49px;background:#edf4fb;color:#6f9cbd;display:grid;place-items:center;border-radius:13px;flex-shrink:0}.location-branch-icon .icon{width:25px;height:25px}.location-branch:has(input:checked) .location-branch-icon{background:#dfedfa;color:var(--brand-blue)}.location-branch-copy{display:flex;flex-direction:column;gap:8px;min-width:0;flex:1}.location-branch-copy>strong{font-size:15px;font-weight:650;line-height:1.5}.location-branch-copy>span{display:flex;align-items:flex-start;gap:5px;font-size:12px;color:#617f98;line-height:1.7}.location-branch-copy>span .icon{width:14px;height:14px;margin-top:3px}.location-branch-copy>small{font-size:10px;color:#869bae;margin-left:19px}.location-radio{height:22px;width:22px;border-radius:50%;border:1px solid #c4d6e5;background:#fff;display:grid;place-items:center;flex-shrink:0;color:transparent}.location-radio>.icon{height:14px;width:14px}.location-branch:has(input:checked) .location-radio{background:var(--brand-blue);border-color:var(--brand-blue);color:#fff}.location-empty{grid-column:1/-1;text-align:center;padding:30px 20px 25px}.location-empty>.icon{width:30px;height:30px;color:#9dbbd2;margin-bottom:13px}.location-empty strong{display:block;font-size:16px;font-weight:600}.location-empty p{font-size:12px;line-height:1.9;color:var(--muted);margin:9px auto 0;max-width:330px}.location-empty>button{display:inline-flex;align-items:center;gap:7px;font-size:12px;margin-top:20px;color:var(--brand-blue)}.location-empty>button .icon{height:15px;width:15px}
.location-dialog-footer{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e2ebf3;padding:20px 34px;background:#fff;z-index:1;box-shadow:0 -8px 20px #143e6503}.location-footer-copy{display:flex;align-items:center;gap:9px;min-width:0}.location-footer-copy>.icon{width:17px;height:17px;color:#93adc2}.location-footer-copy>span{display:flex;flex-direction:column;gap:6px;min-width:0}.location-footer-copy strong{font-size:11px;font-weight:600;color:#5d7890;line-height:1.5}.location-footer-copy small{font-size:9px;color:#8a9fb0;line-height:1.7}.location-confirm{display:flex;align-items:center;justify-content:center;gap:14px;background:linear-gradient(110deg,var(--brand-blue),var(--brand-deep));color:#fff;border-radius:11px;font-size:12px;font-weight:600;padding:15px 20px;min-height:47px;flex-shrink:0}.location-confirm .icon{width:16px;height:16px}.location-confirm:hover{background:var(--brand-deep)}.location-confirm:disabled{background:#e7eef5;color:#93a6b7;cursor:default;opacity:1}.location-error{font-size:11px;color:#b55850;margin:0 34px 12px;line-height:1.8}.location-error:empty{display:none}
@media(max-width:1100px){.header-location{margin-right:18px}.header-nav{gap:15px}.header-nav>button:first-child{display:none}.portal-topbar .topbar-date{display:none}.portal-location-control strong,.portal-location-control small{max-width:170px}}
@media(max-width:730px){.header{height:98px;gap:12px;padding:0 20px}.header .brand-logo-window{width:112px}.header .brand-subtitle{font-size:7px;white-space:nowrap}.header-location{margin:0 0 0 auto;min-width:0}.header-location .location-control{border:0;background:transparent;padding:8px 0;gap:6px}.header-location .location-control>.icon:first-child{width:16px;height:16px}.header-location .location-control>.icon:last-child{width:11px;margin:0}.header-location .location-control strong{max-width:123px;font-size:10px}.header-location .location-control small{max-width:123px;font-size:8px}.header-nav .help-button{padding:4px}.header-nav .help-button .icon{width:19px;height:19px}.header-nav{gap:0}.location-dialog{max-width:100%;width:100%;max-height:94dvh;border-radius:24px 24px 0 0;margin:auto 0 0;bottom:0;top:auto;border-bottom:0}.location-dialog-header{padding:27px 23px 21px}.location-dialog-brand{font-size:8px;letter-spacing:1.4px}.location-dialog h2{font-size:27px;margin-top:19px}.location-dialog-header>p{font-size:11px;max-width:290px}.location-close{right:18px;top:21px;width:30px;height:30px}.location-steps{margin:20px 23px 0;padding-bottom:18px;gap:10px}.location-steps>button{font-size:11px;gap:6px}.location-steps>button>small{font-size:9px;max-width:110px}.location-steps>button>span{height:23px;width:23px}.location-dialog-body{padding:20px 23px 22px;min-height:225px}.location-city-grid{grid-template-columns:1fr;gap:8px}.location-city{padding:13px}.location-city strong{font-size:13px}.location-search input{height:46px;font-size:13px}.location-detected{font-size:10px}.location-branch-content{padding:17px 14px;gap:12px}.location-branch-copy>strong{font-size:14px}.location-branch-copy>span{font-size:11px}.location-branch-icon{height:39px;width:39px;border-radius:11px}.location-branch-icon .icon{height:21px;width:21px}.location-branch-copy>small{font-size:9px}.location-radio{height:21px;width:21px}.location-dialog-footer{padding:17px 23px 23px;flex-direction:column;align-items:stretch;gap:13px}.location-footer-copy>.icon{height:14px;width:14px}.location-footer-copy strong{font-size:10px}.location-footer-copy small{font-size:9px}.location-confirm{width:100%;min-height:48px}.location-error{margin:0 23px 13px}.location-summary{padding:17px 16px;gap:11px}.location-summary-icon{width:36px;height:36px}.location-summary strong{font-size:13px}.location-summary>div>span{font-size:10px}.location-summary>button{font-size:10px}.location-summary small{font-size:7px}.portal-topbar{height:71px;padding:0 18px;gap:8px}.portal-topbar>span{max-width:100px;line-height:1.8}.portal-topbar>div{gap:8px}.portal-location-control{gap:6px;padding:4px 0}.portal-location-control>.icon:first-child{height:17px;width:17px}.portal-location-control strong{font-size:10px;max-width:122px}.portal-location-control small{font-size:8px;max-width:122px}.portal-location-control>.icon:last-child{display:none}}
@media(prefers-reduced-motion:no-preference){.location-dialog[open]{animation:location-enter .2s ease both}@keyframes location-enter{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}}

.location-demo-note{display:flex;align-items:flex-start;gap:9px;padding:12px 14px;margin-bottom:18px;background:#f1f7fd;border:1px solid #e1edf8;border-radius:11px;color:#65829b;font-size:11px;line-height:1.8}
.location-demo-note>.icon{width:16px;height:16px;flex-shrink:0;margin-top:2px;color:var(--brand-blue)}
.location-demo-note strong{font-weight:650;color:#366b98}
@media(max-width:730px){.location-dialog-footer{padding-bottom:calc(23px + env(safe-area-inset-bottom,0px))}.location-search input{font-size:16px}.location-demo-note{font-size:10px;padding:11px 12px}.location-city small{line-height:1.6}}

@media(max-width:730px){.location-dialog:has(#location-city-search) .location-dialog-footer{display:none}.location-dialog-header{padding-top:25px;padding-bottom:17px}.location-dialog h2{margin-top:16px}.location-dialog-body{padding-top:18px}.location-dialog:has(#location-city-search) .location-dialog-body{padding-bottom:calc(25px + env(safe-area-inset-bottom,0px))}}

html.vision-mode .location-dialog :is(.location-confirm:not(:disabled),.location-check,.location-branch:has(input:checked) .location-radio,.location-steps>button.active>span){background:#111!important;color:#fff!important;border-color:#111!important}
html.vision-mode .location-dialog :is(.location-confirm:not(:disabled),.location-check,.location-branch:has(input:checked) .location-radio,.location-steps>button.active>span) .icon{color:#fff!important}
html.vision-mode .location-confirm:disabled{background:#eee!important;color:#444!important;border:2px dashed #666!important}
html.vision-mode .location-branch:not(:has(input:checked)) .location-radio{color:transparent!important}
html.vision-mode .location-branch:not(:has(input:checked)) .location-radio .icon{visibility:hidden}
html.vision-mode .location-city-grid{grid-template-columns:minmax(0,1fr)}
html.vision-mode .location-steps{flex-wrap:wrap;gap:10px}
html.vision-mode .location-steps>button{flex-wrap:wrap;white-space:normal}
html.vision-mode .location-steps>button>small{max-width:none;overflow:visible;white-space:normal}
html.vision-mode .location-close{width:44px;height:44px;min-width:44px}
html.vision-mode .location-dialog-brand{padding-right:48px;line-height:1.6}
html.vision-mode .location-branch:has(input:focus-visible) .location-branch-content{outline:3px solid #111;outline-offset:3px}
html.vision-mode .location-branch-content{gap:12px}
html.vision-mode .location-branch-copy>span .icon{flex-shrink:0}
html.vision-mode .location-dialog .location-search input[type=search]{border:0!important;padding:10px 0!important}
