/* Stepfox Food Delivery · sfd-location.css (P-MAPS) · ceiling 25 lines (SPEC §3.1, §4.1, §4.3.5, §5.11): address button/bar internals, combobox list, location dialog steps, find/confirm controls, saved places, mode toggle thumb, zone check state swaps. Mechanics and token reads only; values are theme-owned; no priority flags. */
.sfd-address-button{display:inline-flex;align-items:center;gap:.5rem;min-width:0;min-height:44px;color:inherit;text-decoration:none;cursor:pointer}.sfd-address-button__text{display:flex;flex-direction:column;min-width:0;line-height:1.2}.sfd-address-button .sfd-icon{flex:none}.sfd-address-button__prefix{color:var(--sfd-muted);font-size:var(--wp--preset--font-size--x-small,.75em)}.sfd-address-button__label{overflow:hidden;font-weight:var(--wp--custom--sfd--strong,700);text-overflow:ellipsis;white-space:nowrap}
.sfd-address-bar,.sfd-location-search{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sfd-location-search{flex-direction:column;align-items:stretch}.sfd-address-bar__input,.sfd-location-search__input{flex:1;min-width:0;min-height:44px;padding:0;border:0;background:transparent;color:inherit;font:inherit;appearance:none}.sfd-address-bar__input:focus-visible,.sfd-location-search__input:focus-visible{outline:0;box-shadow:none}
.sfd-address-bar:has(.sfd-address-bar__input:focus-visible),.sfd-location-search__field:has(input:focus-visible),.sfd-mode-toggle__option:has(input:focus-visible){box-shadow:var(--sfd-shadow-focus)}.sfd-address-bar__notice{flex-basis:100%;margin:0;color:var(--sfd-danger-ink)}
.sfd-address-bar__locate,.sfd-location-search__clear,.sfd-location-details__back,.sfd-locate-me,.sfd-location-list__item,.sfd-location-search__state-action,.sfd-place__remove,.sfd-place__toggle{appearance:none;display:inline-flex;flex:none;align-items:center;justify-content:center;gap:.5rem;min-width:44px;min-height:44px;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:start;cursor:pointer}
.sfd-address-bar__submit,.sfd-zone-check__action,.sfd-place__save,.sfd-location-confirm,.sfd-account-places__add,.sfd-mode-toggle__apply{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:44px;padding:0 1.25rem;border:0;border-radius:var(--sfd-radius-pill);background:var(--sfd-accent);color:var(--sfd-on-accent);font:inherit;font-weight:var(--wp--custom--sfd--strong,700);text-decoration:none;cursor:pointer;transition:background-color var(--sfd-dur-1) var(--sfd-ease)}.sfd-address-bar__submit:hover,.sfd-zone-check__action:hover,.sfd-place__save:hover,.sfd-location-confirm:not(:disabled):hover,.sfd-mode-toggle__apply:hover{background:var(--sfd-accent-deep)}
.sfd-zone-check__action.sfd-button--ghost,.sfd-account-places__add{background:var(--sfd-surface-2);color:var(--sfd-ink)}.sfd-zone-check__action.sfd-button--ghost:hover,.sfd-account-places__add:hover{background:var(--sfd-surface-3)}.sfd-account-places__actions{margin:1rem 0 0}.sfd-location-confirm{width:100%}.sfd-location-dialog__foot{position:sticky;bottom:0;z-index:2;display:flex;flex-direction:column;padding:.75rem 0 max(.75rem,env(safe-area-inset-bottom));border-image:linear-gradient(var(--sfd-line) 1px,var(--sfd-surface) 0) fill 0/0/0 100vmax}.sfd-location-confirm:disabled{opacity:.6;cursor:progress}
.sfd-combobox__list{position:absolute;top:calc(100% + .5rem);inset-inline:0;z-index:90;max-height:min(60vh,24rem);margin:0;padding:.5rem;overflow:auto;overscroll-behavior:contain;list-style:none;border-radius:var(--sfd-radius-lg);background:var(--sfd-surface);color:var(--sfd-ink);box-shadow:var(--sfd-shadow-pop)}.sfd-location-search .sfd-combobox__list{position:static;max-height:none;padding:0;overflow:visible;box-shadow:none;background:none}
.sfd-combobox__option,.sfd-location-list__item{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;padding:.5rem .75rem;border-radius:var(--sfd-radius-md);cursor:pointer}.sfd-combobox__option[aria-selected="true"],.sfd-combobox__option:hover,.sfd-location-list__item:hover{background:var(--sfd-surface-2)}
.sfd-combobox__text,.sfd-location-list__text{display:flex;flex-direction:column;min-width:0}.sfd-combobox__name,.sfd-location-list__name{font-weight:var(--wp--custom--sfd--semibold,600)}.sfd-combobox__sub,.sfd-location-list__sub,.sfd-combobox__status,.sfd-combobox__attribution,.sfd-location-search__attribution,.sfd-location-search__status,.sfd-location-details__sub{margin:0;color:var(--sfd-muted);font-size:var(--wp--preset--font-size--small,.8125em)}.sfd-combobox__status,.sfd-combobox__attribution{padding:.5rem .75rem}
.sfd-combobox__option .sfd-icon,.sfd-location-list__item .sfd-icon{flex:none;color:var(--sfd-muted)}.sfd-location-search__field{display:flex;align-items:center;gap:.5rem;padding:0 .25rem 0 1rem;border-radius:var(--sfd-radius-pill);background:var(--sfd-surface-2)}
.sfd-location-dialog:not(.is-step-confirm):not(.is-editor-inline) [data-sfd-step="confirm"],.sfd-location-dialog.is-step-confirm [data-sfd-step="find"]{display:none}.sfd-location-dialog.is-step-confirm :has(>[data-sfd-step="find"]):not(:has(>:not([data-sfd-step="find"]))),.sfd-location-dialog:not(.is-step-confirm):not(.is-editor-inline) :has(>[data-sfd-step="confirm"]):not(:has(>:not([data-sfd-step="confirm"]))){display:none;position:absolute}.sfd-location-dialog[open]:not(:modal):not(.is-editor-inline){position:fixed;inset:0;z-index:1000}.sfd-location-dialog .sfd-map--picker{min-height:var(--sfd-map-h);border-radius:var(--sfd-radius-lg)}
.sfd-location-search__state{padding:.75rem 1rem;border-radius:var(--sfd-radius-md);background:var(--sfd-accent-2-soft)}.sfd-location-search__state p{margin:0}.sfd-location-search__state-title{font-weight:var(--wp--custom--sfd--strong,700)}.sfd-location-search__state-action{color:var(--sfd-accent-ink);font-weight:var(--wp--custom--sfd--strong,700);text-decoration:underline}
.sfd-locate-me{justify-content:flex-start;width:100%;color:var(--sfd-accent-ink);font-weight:var(--wp--custom--sfd--semibold,600)}.sfd-location-list,.sfd-location-details{display:flex;flex-direction:column;gap:.75rem}.sfd-location-list__heading{margin:0 0 .25rem;color:var(--sfd-muted);font-size:var(--wp--preset--font-size--small,.8125em);letter-spacing:.04em;text-transform:uppercase}
.sfd-location-list__items,.sfd-location-list__places,.sfd-chips{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}.sfd-chips{flex-flow:row wrap;gap:.5rem}.sfd-chips .sfd-chip{appearance:none;border:0;font:inherit}
.sfd-location-details__back{justify-content:flex-start;align-self:flex-start;font-weight:var(--wp--custom--sfd--semibold,600)}.sfd-location-details__back.is-in-head{align-self:center;justify-content:center;width:44px;height:44px;margin-inline-start:-.25rem;border-radius:var(--sfd-radius-pill);background:var(--sfd-surface-2);color:var(--sfd-ink)}.sfd-location-details__back.is-in-head:hover{background:var(--sfd-surface-3)}.sfd-location-dialog.is-step-confirm .is-in-head~:is(h1,h2,h3,h4,h5,h6){flex:1 1 auto;min-width:0}.sfd-location-details__address{margin:0;font-weight:var(--wp--custom--sfd--strong,700);font-size:var(--wp--preset--font-size--large,1.125em)}.sfd-location-details__field,.sfd-place__field{display:flex;flex-direction:column;gap:.25rem}.sfd-location-details__label,.sfd-place__field-label{color:var(--sfd-muted);font-size:var(--wp--preset--font-size--small,.8125em)}
.sfd-location-details__input,.sfd-place__input{box-sizing:border-box;width:100%;min-height:44px;padding:0 1rem;border:1px solid var(--sfd-edge);border-radius:var(--sfd-radius-md);background:var(--sfd-surface);color:var(--sfd-ink);font:inherit}.sfd-location-details__save,.sfd-place__kind{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;border:0}
.sfd-mode-toggle{margin:0}.sfd-mode-toggle__apply{margin-inline-start:.5rem;vertical-align:middle}.sfd-mode-toggle__set{position:relative;display:inline-grid;vertical-align:middle;grid-auto-columns:1fr;grid-auto-flow:column;margin:0;padding:.25rem;border:0;border-radius:var(--sfd-radius-pill);background:var(--sfd-surface-2)}
.sfd-mode-toggle__option{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:.375rem;min-height:44px;padding:0 1rem;border-radius:var(--sfd-radius-pill);color:var(--sfd-mode-fg,var(--sfd-muted));font-weight:var(--wp--custom--sfd--semibold,600);white-space:nowrap;cursor:pointer;transition:color var(--sfd-dur-2) var(--sfd-ease)}.sfd-mode-toggle__option.is-selected,.sfd-mode-toggle__option:has(input:checked){--sfd-mode-fg:var(--sfd-ink)}.sfd-mode-toggle__option.is-disabled{opacity:.5;cursor:not-allowed}
.sfd-mode-toggle__option input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;appearance:none;cursor:inherit}.sfd-mode-toggle__eta{color:var(--sfd-muted);font-weight:var(--wp--custom--sfd--regular,400);font-variant-numeric:var(--sfd-nums,tabular-nums)}
.sfd-mode-toggle__thumb{position:absolute;top:.25rem;bottom:.25rem;left:.25rem;width:calc(50% - .25rem);border-radius:var(--sfd-radius-pill);background:var(--sfd-surface);box-shadow:var(--sfd-shadow-xs);transition:transform var(--sfd-dur-3) var(--sfd-spring)}.sfd-mode-toggle.is-pickup .sfd-mode-toggle__thumb,.sfd-mode-toggle__set:has(input[value="pickup"]:checked) .sfd-mode-toggle__thumb{transform:translateX(100%)}
.sfd-zone-check{display:flex;align-items:center;gap:.375rem;color:var(--sfd-zone-fg,inherit)}.sfd-zone-check.is-in{--sfd-zone-fg:var(--sfd-success-ink)}.sfd-zone-check.is-out{--sfd-zone-fg:var(--sfd-danger-ink)}.sfd-zone-check .sfd-zone-check__icon{display:none;flex:none}.sfd-zone-check.is-in .sfd-zone-check__icon--in,.sfd-zone-check.is-out .sfd-zone-check__icon--out,.sfd-zone-check.is-unknown .sfd-zone-check__icon--unknown{display:inline-block}
.sfd-zone-check--summary{flex-direction:column;align-items:stretch}.sfd-zone-check__text{display:flex;align-items:center;gap:.375rem;margin:0;font-weight:var(--wp--custom--sfd--semibold,600)}.sfd-zone-check__empty{display:flex;flex-direction:column;align-items:center;gap:.5rem;color:var(--sfd-ink);text-align:center}.sfd-zone-check__empty p{margin:0}.sfd-zone-check__art{width:min(100%,10rem);height:auto}.sfd-zone-check__title{font-weight:var(--wp--custom--sfd--strong,700)}.sfd-zone-check__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem}
.sfd-place{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:.5rem 1rem;padding:1rem 0;border-bottom:1px solid var(--sfd-line)}.sfd-place p{margin:0}.sfd-place__name{font-weight:var(--wp--custom--sfd--strong,700)}.sfd-place__line{color:var(--sfd-muted)}.sfd-place__edit{grid-column:2}.sfd-place__toggle{justify-content:flex-start;list-style:none;color:var(--sfd-accent-ink);font-weight:var(--wp--custom--sfd--semibold,600)}.sfd-place__toggle::-webkit-details-marker{display:none}.sfd-place__form{display:flex;flex-direction:column;gap:.75rem;padding-top:.5rem}.sfd-place__delete{grid-column:3;grid-row:1}
@media (prefers-reduced-motion:reduce){.sfd-mode-toggle__thumb,.sfd-mode-toggle__option,.sfd-address-bar__submit,.sfd-zone-check__action,.sfd-place__save,.sfd-location-confirm,.sfd-account-places__add,.sfd-mode-toggle__apply{transition:none}}
