.location-choice-trigger{font-family:inherit;cursor:pointer;min-height:44px}
html.location-dialog-open,body.location-dialog-open{overflow:hidden}
.location-choice{position:fixed;inset:0;width:min(900px,calc(100vw - 2rem));max-width:900px;max-height:92dvh;margin:auto;padding:clamp(1.4rem,4vw,2.7rem);border:1px solid var(--gold);border-radius:28px;overflow:auto;overscroll-behavior:contain;background:var(--cream);color:var(--navy);box-shadow:0 24px 80px #071b32aa}
.location-choice:not([open]){display:none}
.location-choice::backdrop{background:rgba(5,20,30,.8);backdrop-filter:blur(5px)}
.location-choice h2{font-family:var(--font-display);font-size:clamp(2.1rem,5vw,3.4rem);line-height:1.1;margin:0 2.5rem .6rem 0}
.location-choice-intro{font-size:1rem;line-height:1.6;margin-bottom:1.6rem;max-width:50ch}
.location-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.location-choice-card{min-width:0;overflow:hidden;border:2px solid transparent;border-radius:22px;background:var(--paper);box-shadow:0 6px 18px #0e3a5210;transition:border-color .2s,box-shadow .2s}
.location-choice-card.is-chosen{border-color:var(--gold);box-shadow:0 8px 26px #0e3a5220}
.location-choice-card>img{display:block;width:100%;height:160px;object-fit:cover;object-position:center}
.location-choice-body{padding:1.2rem}
.location-choice h3{font-family:var(--font-display);font-size:1.6rem;margin:0 0 .6rem}
.location-choice address{font-style:normal;font-size:.92rem;line-height:1.6;min-height:3.2em}
.location-choice-hours{font-size:.9rem;font-weight:700;margin:.8rem 0}
.location-choice-select{width:100%;min-height:46px;border:1px solid var(--navy);border-radius:999px;background:transparent;color:var(--navy);padding:.6rem .9rem;font:inherit;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}
.location-choice-select[aria-pressed=true]{background:var(--navy);color:var(--cream)}
.location-choice-links{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin-top:.9rem}
.location-choice-links a{display:inline-flex;align-items:center;min-height:36px;font-size:.84rem;font-weight:700;text-underline-offset:4px}
.location-choice-status{min-height:1.5em;font-size:.88rem;font-weight:700;margin:1.2rem 0 .5rem}
.location-choice-note{font-size:.8rem;line-height:1.6;max-width:75ch}
.location-choice-close{position:sticky;top:0;z-index:2;display:grid;place-items:center;width:44px;height:44px;margin:0 0 -44px auto;border:1px solid #0e3a5230;border-radius:50%;background:var(--paper);color:var(--navy);font-size:28px;cursor:pointer}
.location-choice button:focus-visible,.location-choice a:focus-visible,.location-choice-trigger:focus-visible{outline:3px solid var(--red);outline-offset:3px}
@media(max-width:600px){.location-choice{width:calc(100vw - 1rem);border-radius:18px;padding:1.2rem}.location-choice-grid{grid-template-columns:1fr}.location-choice-card>img{height:120px}.location-choice address{min-height:0}.location-choice-body{padding:1rem}}
@media(prefers-reduced-motion:reduce){.location-choice-card,.location-choice-select{transition:none}}
.reduce-motion .location-choice-card,.reduce-motion .location-choice-select{transition:none}
@media print{.location-choice{display:none!important}body.location-dialog-open{overflow:visible}}
