.aura-locations {
	--aura-locations-accent: #4b5563;
	--aura-locations-accent-soft: color-mix(in srgb, var(--aura-locations-accent) 9%, #fff);
	--aura-location-focus-soft: color-mix(in srgb, var(--aura-locations-accent) 22%, transparent);
	--aura-locations-surface: transparent;
	--aura-locations-border: #d0d5dd;
	--aura-locations-text: currentColor;
	--aura-locations-muted: #667085;
	--aura-locations-radius: 10px;
	--aura-locations-gap: 14px;
	--aura-location-accent: var(--aura-locations-accent);
	--aura-location-text: var(--aura-locations-text);
	--aura-location-muted: var(--aura-locations-muted);
	--aura-location-surface: var(--aura-locations-surface);
	--aura-location-control-surface: #fff;
	--aura-location-card-surface: #fff;
	--aura-location-card-hover-surface: #f8fafc;
	--aura-location-selected-surface: var(--aura-locations-accent-soft);
	--aura-location-selected-border: var(--aura-location-accent);
	--aura-location-border: var(--aura-locations-border);
	--aura-location-marker: var(--aura-location-accent);
	--aura-location-marker-selected: #111827;
	--aura-location-marker-icon: #fff;
	--aura-location-radius: var(--aura-locations-radius);
	--aura-location-gap: var(--aura-locations-gap);
	--aura-location-control-height: 44px;
	--aura-location-control-radius: 8px;
	--aura-location-control-padding-inline: 12px;
	--aura-location-control-gap: 8px;
	--aura-location-search-height: 44px;
	--aura-location-search-width: 100%;
	--aura-location-search-padding-inline: 13px;
	--aura-location-search-padding-block: 0px;
	--aura-location-search-icon-size: 18px;
	--aura-location-filter-icon-size: 17px;
	--aura-location-filter-gap: 8px;
	--aura-location-district-width: 1fr;
	--aura-location-type-width: 1fr;
	--aura-location-hours-width: 1fr;
	--aura-location-near-width: auto;
	--aura-location-card-padding: 12px;
	--aura-location-card-gap: 12px;
	--aura-location-card-shadow: none;
	--aura-location-card-hover-shadow: 0 4px 16px rgba(16, 24, 40, .07);
	--aura-location-selected-shadow: 0 5px 18px rgba(16, 24, 40, .09);
	--aura-location-selected-border-width: 1px;
	--aura-location-selected-indicator-width: 3px;
	--aura-location-image-width: 112px;
	--aura-location-image-ratio: 4 / 3;
	--aura-location-image-radius: 0px;
	--aura-location-badge-background: var(--aura-location-selected-surface);
	--aura-location-badge-text: var(--aura-location-accent);
	--aura-location-badge-border: transparent;
	--aura-location-badge-radius: 999px;
	--aura-location-badge-padding-block: 2px;
	--aura-location-badge-padding-inline: 7px;
	--aura-location-map-radius: var(--aura-location-radius);
	--aura-location-map-border-width: 1px;
	--aura-location-map-background: #eef0f3;
	--aura-location-map-sticky-offset: 24px;
	--aura-location-popup-width: 270px;
	--aura-location-popup-surface: #fff;
	--aura-location-popup-text: #1f2937;
	--aura-location-popup-border: #e5e7eb;
	--aura-location-popup-radius: 10px;
	--aura-location-popup-padding: 10px;
	--aura-location-popup-shadow: none;
	--aura-location-popup-image-height: 124px;
	--aura-location-popup-image-ratio: auto;
	--aura-location-popup-image-radius: 7px;
	--aura-location-mobile-switch-surface: #f3f4f6;
	--aura-location-mobile-switch-active: var(--aura-location-accent);
	--aura-location-mobile-switch-text: currentColor;
	--aura-location-mobile-switch-active-text: #fff;
	--aura-location-map-app-marker: var(--aura-location-accent);
	--aura-location-map-app-marker-selected: #d92d20;
	--aura-location-map-app-chip-surface: #fff;
	--aura-location-map-app-sheet-surface: #fff;
	--aura-location-map-app-sheet-text: var(--aura-location-text);
	--aura-location-map-app-sheet-radius: 24px;
	--aura-location-map-app-sheet-height: 0px;
	--aura-location-map-app-filter-bottom-offset: 0px;
	--aura-location-map-app-filter-visible-height: 100svh;
	color: inherit;
	font-family: inherit;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	background: var(--aura-location-surface);
}
.aura-locations *, .aura-locations *::before, .aura-locations *::after { box-sizing: border-box; }
.aura-locations [hidden] { display: none; }
.aura-locations__sprite { position: absolute; overflow: hidden; pointer-events: none; }
.aura-locations__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.aura-locations__icon { flex: 0 0 auto; width: 1em; height: 1em; color: currentColor; }
.aura-locations__controls { display: grid; gap: 10px; margin-block-end: 14px; min-width: 0; }
.aura-locations__control-label { display: block; margin-block-end: 4px; color: var(--aura-location-muted); font-size: .76rem; font-weight: 650; letter-spacing: .01em; }
.aura-locations__search { display: block; width: var(--aura-location-search-width); min-width: 0; }
.aura-locations__search-control { display: flex; align-items: center; gap: var(--aura-location-control-gap); min-height: var(--aura-location-search-height); padding: var(--aura-location-search-padding-block) var(--aura-location-search-padding-inline); border: 1px solid var(--aura-location-border); border-radius: var(--aura-location-control-radius); background: var(--aura-location-control-surface); color: var(--aura-location-muted); }
.aura-locations__search-icon { width: var(--aura-location-search-icon-size); height: var(--aura-location-search-icon-size); }
.aura-locations__search-control input { flex: 1 1 auto; width: 100%; min-width: 0; min-height: calc(var(--aura-location-search-height) - (2 * var(--aura-location-search-padding-block)) - 2px); margin: 0; padding: 0; border: 0; outline: 0; background: transparent; color: var(--aura-location-text); font: inherit; box-shadow: none; }
.aura-locations__filter-toggle, .aura-locations__map-app-only { display: none; }
.aura-locations__filter-panel-body { display: contents; }
.aura-locations__filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--aura-location-filter-gap); align-items: end; min-width: 0; }
.aura-locations__filter { min-width: 0; }
.aura-locations__filter-control { display: flex; align-items: center; gap: var(--aura-location-control-gap); min-height: var(--aura-location-control-height); padding-inline-start: var(--aura-location-control-padding-inline); border: 1px solid var(--aura-location-border); border-radius: var(--aura-location-control-radius); background: var(--aura-location-control-surface); color: var(--aura-location-muted); }
.aura-locations__filter-control > .aura-locations__icon { width: var(--aura-location-filter-icon-size); height: var(--aura-location-filter-icon-size); }
.aura-locations__filter-control select { flex: 1 1 auto; width: 100%; min-width: 0; min-height: calc(var(--aura-location-control-height) - 2px); margin: 0; padding: 6px var(--aura-location-control-padding-inline) 6px 0; border: 0; outline: 0; background: transparent; color: var(--aura-location-text); font: inherit; box-shadow: none; }
.aura-locations__locate { display: inline-flex; align-items: center; justify-content: center; gap: var(--aura-location-control-gap); align-self: end; width: 100%; min-height: var(--aura-location-control-height); margin: 0; padding: 7px var(--aura-location-control-padding-inline); border: 1px solid var(--aura-location-border); border-radius: var(--aura-location-control-radius); background: var(--aura-location-control-surface); color: var(--aura-location-text); font: inherit; font-weight: 650; cursor: pointer; transition: color .15s ease, border-color .15s ease, background-color .15s ease; }
.aura-locations--locate-icon-end .aura-locations__locate .aura-locations__icon { order: 2; }
.aura-locations__locate:hover, .aura-locations__locate:active { border-color: var(--aura-location-accent); background: var(--aura-location-selected-surface); color: var(--aura-location-accent); }
.aura-locations__locate:disabled { opacity: .65; cursor: wait; }
.aura-locations__mobile-view { display: flex; gap: 4px; margin-block-end: 12px; padding: 4px; border: 1px solid var(--aura-location-border); border-radius: var(--aura-location-control-radius); background: var(--aura-location-mobile-switch-surface); }
.aura-locations__mobile-view button { flex: 1; min-height: 44px; border: 0; border-radius: calc(var(--aura-location-control-radius) - 2px); background: transparent; color: var(--aura-location-mobile-switch-text); font: inherit; font-weight: 700; cursor: pointer; }
.aura-locations__mobile-view button.is-active { color: var(--aura-location-mobile-switch-active-text); background: var(--aura-location-mobile-switch-active); }
.aura-locations__layout { display: grid; gap: var(--aura-location-gap); align-items: start; width: 100%; max-width: 100%; min-width: 0; }
.aura-locations__list-wrap, .aura-locations__map-wrap, .aura-locations__map-shell { min-width: 0; }
.aura-locations__list-wrap { display: flex; flex-direction: column; }
.aura-locations__count { display: flex; align-items: center; gap: 7px; margin: 0 0 10px; color: var(--aura-location-muted); font-size: .9rem; font-weight: 650; }
.aura-locations__summary-icon { width: 17px; height: 17px; }
.aura-locations__list { display: grid; gap: var(--aura-location-card-gap); min-width: 0; }
.aura-location-card { position: relative; display: grid; grid-template-columns: var(--aura-location-image-width) minmax(0, 1fr); min-width: 0; overflow: hidden; border: var(--aura-location-selected-border-width) solid var(--aura-location-border); border-radius: var(--aura-location-radius); background: var(--aura-location-card-surface); color: var(--aura-location-text); box-shadow: var(--aura-location-card-shadow); transition: border-color .15s ease, background-color .15s ease, box-shadow .15s ease, transform .15s ease; cursor: pointer; }
.aura-location-card:hover { background: var(--aura-location-card-hover-surface); box-shadow: var(--aura-location-card-hover-shadow); }
.aura-location-card::before { position: absolute; z-index: 2; inset-block: 0; inset-inline-start: 0; width: var(--aura-location-selected-indicator-width); background: transparent; content: ""; }
.aura-locations.selected-indicator-end .aura-location-card::before { inset-inline-start: auto; inset-inline-end: 0; }
.aura-location-card.is-selected { border-width: var(--aura-location-selected-border-width); border-color: var(--aura-location-selected-border); background: var(--aura-location-selected-surface); box-shadow: var(--aura-location-selected-shadow); }
.aura-locations.has-selected-indicator .aura-location-card.is-selected::before { background: var(--aura-location-selected-border); }
.aura-location-card__media { position: relative; display: block; align-self: stretch; width: 100%; min-height: 100%; overflow: hidden; border-radius: var(--aura-location-image-radius); background: #eef0f3; aspect-ratio: var(--aura-location-image-ratio); }
.aura-location-card__image { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; background: #eef0f3; }
.aura-location-card__image--placeholder { background: linear-gradient(135deg, #f2f4f7, #e4e7ec); }
.aura-locations--image-square { --aura-location-image-ratio: 1 / 1; }
.aura-locations--image-four-three { --aura-location-image-ratio: 4 / 3; }
.aura-locations--image-sixteen-nine { --aura-location-image-ratio: 16 / 9; }
.aura-location-card__body { display: flex; flex-direction: column; gap: 0; min-width: 0; padding: var(--aura-location-card-padding); }
.aura-location-card__title { margin: 0 0 5px; color: inherit; font: inherit; font-size: 1rem; font-weight: 750; line-height: 1.25; overflow-wrap: anywhere; }
.aura-location-card p { margin: 3px 0; line-height: 1.38; overflow-wrap: anywhere; }
.aura-location-card__type { align-self: flex-start; padding: var(--aura-location-badge-padding-block) var(--aura-location-badge-padding-inline); border: 1px solid var(--aura-location-badge-border); border-radius: var(--aura-location-badge-radius); color: var(--aura-location-badge-text); background: var(--aura-location-badge-background); font-size: .74rem; font-weight: 700; }
.aura-location-card__address, .aura-location-card__schedule, .aura-location-card__distance { display: flex; align-items: flex-start; gap: 6px; }
.aura-location-card__address, .aura-location-card__reference, .aura-location-card__schedule { color: var(--aura-location-muted); font-size: .84rem; }
.aura-location-card__address .aura-locations__icon, .aura-location-card__schedule .aura-locations__icon, .aura-location-card__distance .aura-locations__icon { margin-block-start: .15em; }
.aura-location-card__meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 7px; margin-block-start: auto; padding-block-start: 8px; }
.aura-location-card__distance { color: var(--aura-location-accent); font-size: .84rem; font-weight: 750; }
.aura-location-card__actions { display: flex; flex-wrap: wrap; gap: 9px; }
.aura-location-card__actions a { display: inline-flex; align-items: center; gap: 5px; color: var(--aura-location-accent); font-weight: 750; text-underline-offset: 3px; }
.aura-locations--cta-button .aura-location-card__actions a { min-height: 36px; padding: 6px 10px; border: 1px solid var(--aura-location-accent); border-radius: var(--aura-location-control-radius); text-decoration: none; }
.aura-locations--cta-inline .aura-location-card__actions { display: contents; }
.aura-location-card__selected-icon { position: absolute; z-index: 3; inset-block-start: 8px; inset-inline-end: 8px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--aura-location-selected-border); color: #fff; opacity: 0; transform: scale(.8); transition: opacity .15s ease, transform .15s ease; pointer-events: none; }
.aura-locations.has-selected-icon .aura-location-card.is-selected .aura-location-card__selected-icon { opacity: 1; transform: scale(1); }
.aura-locations.selected-icon-image .aura-location-card__selected-icon { inset-inline-start: max(8px, calc(var(--aura-location-image-width) - 34px)); inset-inline-end: auto; }
.aura-locations.selected-icon-content .aura-location-card__selected-icon { inset-inline-end: var(--aura-location-card-padding); }
.aura-locations--density-comfortable { --aura-location-card-padding: 16px; --aura-location-card-gap: 14px; --aura-location-image-width: 128px; }
.aura-locations--density-spacious { --aura-location-card-padding: 20px; --aura-location-card-gap: 18px; --aura-location-image-width: 148px; }
.aura-locations__map { position: relative; width: 100%; min-height: var(--aura-location-map-height-mobile, 420px); overflow: hidden; border: var(--aura-location-map-border-width) solid var(--aura-location-border); border-radius: var(--aura-location-map-radius); background: var(--aura-location-map-background); }
.aura-locations__map-message { margin: 9px 0 0; padding: 11px; border: 1px solid var(--aura-location-border); border-radius: var(--aura-location-control-radius); background: var(--aura-location-control-surface); color: var(--aura-location-muted); }
.aura-locations__map-empty { display: none; margin: 0; }
.aura-locations__map-actions { display: none; }
.aura-locations__mobile-selection { position: absolute; z-index: 4; inset-inline: 12px; inset-block-end: 12px; display: none; }
.aura-locations__status { min-height: 1.5em; margin-block: 8px 0; color: var(--aura-location-muted); }
.aura-locations__empty { padding: 26px 18px; border: 1px dashed var(--aura-location-border); border-radius: var(--aura-location-radius); text-align: center; }
.aura-locations__more { width: 100%; min-height: 44px; margin-block-start: 10px; border: 1px solid var(--aura-location-accent); border-radius: var(--aura-location-control-radius); background: transparent; color: var(--aura-location-accent); cursor: pointer; font: inherit; font-weight: 700; }
.aura-locations__pagination { display: flex; align-items: center; justify-content: center; gap: 5px; margin-block-start: 10px; }
.aura-locations__pagination > button, .aura-locations__pagination [data-aura-pages] button { min-width: 40px; min-height: 40px; margin: 0; padding: 6px; border: 1px solid var(--aura-location-border); border-radius: var(--aura-location-control-radius); background: var(--aura-location-control-surface); color: inherit; font: inherit; cursor: pointer; }
.aura-locations__pagination [data-aura-pages] { display: flex; gap: 5px; }
.aura-locations__pagination [aria-current="page"] { border-color: var(--aura-location-accent); background: var(--aura-location-selected-surface); color: var(--aura-location-accent); font-weight: 750; }
.aura-locations[data-mobile-view="list"] [data-aura-panel="map"] { display: none; }
.aura-locations[data-mobile-view="map"] [data-aura-panel="list"] { display: none; }

.aura-location-info[data-aura-owner] { display: grid; gap: 6px; width: min(var(--aura-location-popup-width), 72vw); max-width: 100%; padding: var(--aura-location-popup-padding); border: 1px solid var(--aura-location-popup-border); border-radius: var(--aura-location-popup-radius); background: var(--aura-location-popup-surface); color: var(--aura-location-popup-text); box-shadow: var(--aura-location-popup-shadow); font-family: inherit; }
.aura-location-info[data-aura-owner] img { display: block; width: 100%; height: var(--aura-location-popup-image-height); aspect-ratio: var(--aura-location-popup-image-ratio); border-radius: var(--aura-location-popup-image-radius); object-fit: cover; }
.aura-location-info[data-aura-owner] strong { font-size: 1rem; line-height: 1.25; }
.aura-location-info[data-aura-owner] span { display: block; color: var(--aura-location-muted); font-size: .85rem; }
.aura-location-info[data-aura-owner] .aura-location-info__type { justify-self: start; padding: 2px 7px; border-radius: var(--aura-location-badge-radius); background: var(--aura-location-badge-background); color: var(--aura-location-badge-text); font-weight: 700; }
.aura-location-info[data-aura-owner] a { color: var(--aura-location-accent); font-weight: 750; text-underline-offset: 3px; }
.aura-location-info[data-aura-owner] a span { display: inline; color: inherit; }

/* Finder presets share one DOM and only replace component tokens/defaults. */
.aura-locations--style-native {
	--aura-location-control-radius: 4px;
	--aura-location-card-shadow: none;
	--aura-location-card-hover-shadow: none;
	--aura-location-selected-shadow: none;
	--aura-location-image-radius: 2px;
	--aura-location-popup-shadow: none;
}
.aura-locations--style-native .aura-locations__search-control,
.aura-locations--style-native .aura-locations__filter-control,
.aura-locations--style-native .aura-locations__locate { background: transparent; }

.aura-locations--style-modern {
	--aura-locations-gap: 16px;
	--aura-location-control-height: 46px;
	--aura-location-search-height: 46px;
	--aura-location-control-radius: 999px;
	--aura-location-control-gap: 9px;
	--aura-location-filter-gap: 10px;
	--aura-location-search-width: 32%;
	--aura-location-card-padding: 4px;
	--aura-location-card-gap: 10px;
	--aura-location-card-hover-shadow: 0 5px 18px rgba(16, 24, 40, .08);
	--aura-location-selected-shadow: 0 5px 18px color-mix(in srgb, var(--aura-locations-accent) 14%, transparent);
	--aura-location-selected-indicator-width: 4px;
	--aura-location-image-width: 39%;
	--aura-location-image-radius: 8px;
	--aura-location-badge-background: var(--aura-locations-accent-soft);
	--aura-location-badge-text: var(--aura-locations-accent);
	--aura-location-marker: var(--aura-locations-accent);
	--aura-location-marker-selected: color-mix(in srgb, var(--aura-locations-accent) 78%, #111827);
	--aura-location-map-radius: 12px;
	--aura-location-popup-radius: 12px;
	--aura-location-popup-shadow: 0 14px 34px rgba(16, 24, 40, .18);
	--aura-location-popup-width: 340px;
	--aura-location-popup-image-height: 86px;
	--aura-location-mobile-switch-active: var(--aura-locations-accent);
}
.aura-locations--style-modern .aura-locations__controls { gap: 10px; }
.aura-locations--style-modern.aura-locations--search-inline .aura-locations__search,
.aura-locations--style-minimal.aura-locations--search-inline .aura-locations__search { width: 100%; }
.aura-locations--style-modern .aura-locations__search-control,
.aura-locations--style-modern .aura-locations__filter-control { box-shadow: 0 1px 3px rgba(16, 24, 40, .04); }
.aura-locations--style-modern .aura-locations__search-icon,
.aura-locations--style-modern .aura-locations__filter-control > .aura-locations__icon,
.aura-locations--style-modern .aura-locations__summary-icon { color: var(--aura-locations-accent); }
.aura-locations--style-modern .aura-locations__locate { border-color: var(--aura-locations-accent); background: var(--aura-locations-accent); color: #fff; }
.aura-locations--style-modern .aura-locations__locate:hover,
.aura-locations--style-modern .aura-locations__locate:active { border-color: color-mix(in srgb, var(--aura-locations-accent) 82%, #111827); background: color-mix(in srgb, var(--aura-locations-accent) 82%, #111827); color: #fff; }
.aura-locations--style-modern .aura-locations__count { color: var(--aura-location-text); }
.aura-locations--style-modern .aura-location-card { padding: 10px; }
.aura-locations--style-modern .aura-location-card__body { padding: 1px 3px 1px 12px; }
.aura-locations--style-modern .aura-location-card__title { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: .96rem; }
.aura-locations--style-modern .aura-location-card__type { border: 0; background: color-mix(in srgb, var(--aura-locations-accent) 14%, #fff); }
.aura-locations--style-modern .aura-location-card__address,
.aura-locations--style-modern .aura-location-card__schedule { font-size: .8rem; }
.aura-locations--style-modern .aura-location-card__meta { padding-block-start: 5px; }
.aura-locations--style-modern .aura-location-card__actions { margin-inline-start: auto; }
.aura-locations--style-modern .aura-location-card__directions { text-decoration: none; }
.aura-locations--style-modern .aura-location-card__directions::after,
.aura-location-info--modern[data-aura-owner] .aura-location-info__directions::after { margin-inline-start: 5px; content: "→"; }
.aura-locations--style-modern .aura-locations__more { background: var(--aura-location-control-surface); }
.aura-locations--style-modern .aura-locations__map { box-shadow: 0 2px 8px rgba(16, 24, 40, .06); }

.aura-location-info--modern[data-aura-owner] { grid-template-columns: 108px minmax(0, 1fr); grid-auto-flow: row; gap: 5px 11px; }
.aura-location-info--modern[data-aura-owner] img { grid-column: 1; grid-row: 1 / span 5; align-self: stretch; height: 100%; min-height: 86px; }
.aura-location-info--modern[data-aura-owner] > :not(img) { grid-column: 2; }
.aura-location-info--modern[data-aura-owner] .aura-location-info__directions { justify-self: start; text-decoration: none; }

.aura-locations--style-minimal {
	--aura-locations-gap: 12px;
	--aura-location-search-width: 32%;
	--aura-location-control-radius: 5px;
	--aura-location-card-shadow: none;
	--aura-location-card-hover-shadow: none;
	--aura-location-selected-shadow: none;
	--aura-location-card-hover-surface: transparent;
	--aura-location-badge-background: transparent;
	--aura-location-badge-border: transparent;
	--aura-location-badge-padding-block: 0;
	--aura-location-badge-padding-inline: 0;
	--aura-location-image-radius: 4px;
	--aura-location-popup-shadow: none;
}
.aura-locations--style-minimal .aura-location-card { border-inline: 0; border-block-start: 0; border-radius: 0; }
.aura-locations--style-minimal .aura-location-card__selected-icon { display: none; }
.aura-locations--style-minimal .aura-locations__map { border-width: 0; }

.aura-locations--style-custom {
	--aura-location-card-hover-shadow: 0 4px 16px rgba(16, 24, 40, .07);
}

.aura-locations .aura-locations__search-control:focus-within,
.aura-locations .aura-locations__search-control:has(input:focus-visible),
.aura-locations .aura-locations__filter-control:has(select:focus-visible) {
	border-color: var(--aura-location-accent);
	box-shadow: 0 0 0 2px var(--aura-location-focus-soft);
}
.aura-locations .aura-locations__search-control input:focus-visible,
.aura-locations .aura-locations__filter-control select:focus-visible {
	outline: none;
	box-shadow: none;
}
.aura-locations :where(button, a, [tabindex]):focus-visible {
	outline: 2px solid var(--aura-location-accent);
	outline-offset: 2px;
}

@media (min-width: 781px) {
	.aura-locations__controls { margin-block-end: 16px; }
	.aura-locations--search-inline .aura-locations__controls { grid-template-columns: minmax(220px, var(--aura-location-search-width)) minmax(0, 1fr); align-items: end; }
	.aura-locations--filters-toolbar .aura-locations__filters, .aura-locations--filters-auto .aura-locations__filters { display: flex; flex-wrap: wrap; }
	.aura-locations--filters-stacked .aura-locations__filters { grid-template-columns: 1fr; }
	.aura-locations--filter-width-equal .aura-locations__filter { flex: 1 1 0; }
	.aura-locations--filter-width-auto .aura-locations__filter { flex: 0 1 auto; min-width: 150px; }
	.aura-locations--filter-width-custom .aura-locations__filter--district { flex: 0 1 var(--aura-location-district-width); }
	.aura-locations--filter-width-custom .aura-locations__filter--type { flex: 0 1 var(--aura-location-type-width); }
	.aura-locations--filter-width-custom .aura-locations__filter--hours { flex: 0 1 var(--aura-location-hours-width); }
	.aura-locations--filter-width-custom .aura-locations__locate { flex: 0 1 var(--aura-location-near-width); }
	.aura-locations__locate { flex: 0 0 auto; width: auto; }
	.aura-locations__mobile-view { display: none; }
	.aura-locations[data-mobile-view] [data-aura-panel] { display: block; }
	.aura-locations--finder.aura-locations--layout-list-left .aura-locations__layout { grid-template-columns: minmax(240px, var(--aura-location-list-width, 36%)) minmax(0, 1fr); }
	.aura-locations--finder.aura-locations--layout-map-left .aura-locations__layout { grid-template-columns: minmax(0, 1fr) minmax(240px, var(--aura-location-list-width, 36%)); }
	.aura-locations--layout-map-left .aura-locations__map-wrap, .aura-locations--layout-map-top .aura-locations__map-wrap { order: -1; }
	.aura-locations__map { min-height: var(--aura-location-map-height-tablet, 440px); }
	.aura-locations.has-sticky-map .aura-locations__map-shell { position: sticky; top: var(--aura-location-map-sticky-offset); }
}

@media (min-width: 1100px) {
	.aura-locations--style-modern.aura-locations--search-inline .aura-locations__controls,
	.aura-locations--style-minimal.aura-locations--search-inline .aura-locations__controls { grid-template-columns: minmax(280px, var(--aura-location-search-width)) minmax(0, 1fr); align-items: end; }
	.aura-locations--style-modern .aura-locations__filters,
	.aura-locations--style-minimal .aura-locations__filters { flex-wrap: nowrap; }
}

@media (min-width: 1025px) {
	.aura-locations__map { min-height: var(--aura-location-map-height, 560px); }
	.aura-locations--map-viewport .aura-locations__map, .aura-locations--map-viewport .aura-locations__map-shell { height: var(--aura-location-finder-height); min-height: var(--aura-location-finder-height); }
	.aura-locations--map-viewport.has-scroll-results .aura-locations__list-wrap { height: var(--aura-location-finder-height); min-height: 0; }
	.aura-locations--map-viewport.has-scroll-results .aura-locations__list { flex: 1 1 auto; min-height: 0; padding-inline-end: 4px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
	.aura-locations--style-modern.aura-locations--map-viewport .aura-locations__layout,
	.aura-locations--style-minimal.aura-locations--map-viewport .aura-locations__layout { align-items: stretch; }
}

@media (min-width: 781px) and (max-width: 1024px) {
	.aura-locations--map-viewport.has-finder-height-tablet .aura-locations__map, .aura-locations--map-viewport.has-finder-height-tablet .aura-locations__map-shell { height: var(--aura-location-finder-height-tablet); min-height: var(--aura-location-finder-height-tablet); }
	.aura-locations--map-viewport.has-finder-height-tablet.has-scroll-results .aura-locations__list-wrap { height: var(--aura-location-finder-height-tablet); min-height: 0; }
	.aura-locations--map-viewport.has-finder-height-tablet.has-scroll-results .aura-locations__list { flex: 1 1 auto; min-height: 0; overflow-y: auto; }
}

@media (max-width: 780px) {
	.aura-locations__controls, .aura-locations--search-inline .aura-locations__controls { grid-template-columns: 1fr; }
	.aura-locations__search { width: 100%; }
	.aura-locations__filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.aura-locations__locate { width: 100%; }
	.aura-locations__layout { display: block; }
	.aura-locations__map-wrap { position: relative; }
	.aura-locations__mobile-selection:not([hidden]) { display: block; }
	.aura-locations--map-viewport .aura-locations__map, .aura-locations--map-viewport .aura-locations__map-shell { height: auto; min-height: 0; }
	.aura-locations--map-viewport.has-scroll-results .aura-locations__list-wrap, .aura-locations--map-viewport.has-scroll-results .aura-locations__list { height: auto; max-height: none; overflow: visible; }
	.aura-locations__map { min-height: var(--aura-location-map-height-mobile, 420px); }
	.aura-locations.has-finder-height-mobile .aura-locations__map { height: var(--aura-location-finder-height-mobile); min-height: var(--aura-location-finder-height-mobile); }
	.aura-locations--mobile-card-vertical .aura-location-card { grid-template-columns: 1fr; }
	.aura-locations--mobile-card-vertical .aura-location-card__media { min-height: 0; aspect-ratio: var(--aura-location-image-ratio); }
	.aura-locations--style-modern.aura-locations--mobile-card-vertical .aura-location-card__media { max-height: 150px; }
	.aura-locations--style-modern .aura-locations__mobile-view { border-radius: 999px; }
}

/*
 * Tablet/mobile map-app presentation. It stays in normal document flow: no Fullscreen API
 * and no page-level fixed positioning, so the content before and after the Finder
 * remains reachable. JavaScript promotes data-map-app to "active" only once a usable
 * Google Maps instance exists, so a missing provider keeps the classic list.
 */
@media (max-width: 1024px) {
	.aura-locations--mobile-map-app[data-map-app="active"] {
		--aura-location-search-height: 48px;
		position: relative;
		width: 100vw;
		max-width: 100vw;
		height: var(--aura-location-map-app-viewport-height, 100vh);
		height: var(--aura-location-map-app-viewport-height, 100svh);
		margin-inline: calc(50% - 50vw);
		overflow: hidden;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__layout {
		position: absolute;
		inset: 0;
		display: block;
		gap: 0;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-wrap,
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-shell { height: 100%; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map {
		height: 100%;
		min-height: 0;
		border-width: 0;
		border-radius: 0;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__mobile-view,
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__list-wrap,
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-message { display: none; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__controls {
		position: absolute;
		z-index: 5;
		display: block;
		inset: 0;
		margin-block-end: 0;
		pointer-events: none;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__controls > * { pointer-events: auto; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__search {
		position: absolute;
		inset-block-start: calc(env(safe-area-inset-top, 0px) + 12px);
		inset-inline-start: max(12px, env(safe-area-inset-left, 0px));
		inset-inline-end: max(12px, env(safe-area-inset-right, 0px));
		width: auto;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__search-control {
		border-radius: 999px;
		background: var(--aura-location-control-surface);
		box-shadow: 0 6px 20px rgba(16, 24, 40, .16);
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-toggle {
		display: grid;
		place-items: center;
		flex: 0 0 40px;
		width: 40px;
		height: 40px;
		margin: -4px -8px -4px 0;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: transparent;
		color: var(--aura-location-accent);
		cursor: pointer;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-toggle .aura-locations__icon { width: 24px; height: 24px; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filters { display: none; }
	.aura-locations--mobile-map-app.map-app-has-filters.is-filter-panel-open[data-map-app="active"] .aura-locations__filters {
		position: absolute;
		z-index: 9;
		inset-inline: max(10px, env(safe-area-inset-left, 0px)) max(10px, env(safe-area-inset-right, 0px));
		inset-block-end: calc(var(--aura-location-map-app-filter-bottom-offset, 0px) + max(10px, env(safe-area-inset-bottom, 0px)));
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto minmax(0, 1fr) auto;
		align-items: start;
		gap: 10px;
		max-height: calc(var(--aura-location-map-app-filter-visible-height, 100svh) - 74px);
		padding: 20px clamp(14px, 3.5vw, 24px) clamp(12px, 3vw, 20px);
		overflow-x: hidden;
		overflow-y: hidden;
		overscroll-behavior: contain;
		border: 1px solid color-mix(in srgb, var(--aura-location-border) 72%, transparent);
		border-radius: clamp(22px, 5vw, 34px);
		background: var(--aura-location-map-app-sheet-surface);
		color: var(--aura-location-map-app-sheet-text);
		box-shadow: 0 -8px 32px rgba(16, 24, 40, .2);
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-panel-body {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		gap: 10px;
		min-height: 0;
		padding: 2px;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-app-only { display: flex; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-panel-head { position: relative; align-items: center; justify-content: space-between; min-height: 32px; padding-inline-end: 30px; }
	.aura-locations__filter-panel-head h3 { margin: 0; color: inherit; font: inherit; font-size: clamp(1.2rem, 3.8vw, 1.55rem); font-weight: 800; }
	.aura-locations__filter-panel-head [data-aura-filter-clear] { appearance: none; margin: 0 0 0 auto; padding: 3px 8px; border: 0; border-radius: 999px; background: transparent; color: var(--aura-location-accent); box-shadow: none; font: inherit; font-size: .84rem; font-weight: 650; line-height: 1.2; cursor: pointer; }
	.aura-locations__filter-panel-handle { position: absolute; inset-block-start: -13px; inset-inline-start: 50%; width: 42px; height: 4px; border-radius: 99px; background: #d0d5dd; transform: translateX(-50%); }
	.aura-locations__filter-panel-close { appearance: none; position: absolute; inset-block-start: -1px; inset-inline-end: -5px; width: 32px; height: 32px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--aura-location-muted); box-shadow: none; font: inherit; font-size: 25px; line-height: 1; cursor: pointer; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__locate {
		align-self: end;
		justify-content: flex-start;
		width: 100%;
		font-family: inherit;
		font-size: inherit;
		font-style: normal;
		font-weight: 400;
		line-height: normal;
		letter-spacing: normal;
		text-transform: none;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__locate .aura-locations__icon { width: var(--aura-location-filter-icon-size); height: var(--aura-location-filter-icon-size); color: var(--aura-location-accent); }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-control,
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__locate {
		min-height: 46px;
		border-color: color-mix(in srgb, var(--aura-location-accent) 24%, transparent);
		border-radius: 14px;
		background: var(--aura-location-map-app-chip-surface);
		color: var(--aura-location-text);
		box-shadow: none;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-control select { width: 100%; min-width: 0; color: inherit; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter--hours { display: none; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-status { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; gap: 6px 10px; min-width: 0; margin: 0; padding: 0; border: 0; }
	.aura-locations__filter-status legend { grid-column: 1 / -1; margin-block-end: 0; color: var(--aura-location-muted); font-size: .8rem; font-weight: 700; }
	.aura-locations__filter-status label { display: flex; align-items: center; gap: 7px; min-height: 26px; color: var(--aura-location-text); font-size: .86rem; }
	.aura-locations__filter-status input { width: 20px; height: 20px; margin: 0; accent-color: var(--aura-location-accent); }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-distance { display: grid; grid-column: 1 / -1; gap: 6px; }
	.aura-locations__filter-distance > span { display: flex; justify-content: space-between; gap: 12px; color: var(--aura-location-text); }
	.aura-locations__filter-distance strong { font-weight: 600; }
	.aura-locations__filter-distance output { color: var(--aura-location-accent); font-weight: 750; }
	.aura-locations__filter-distance input { width: 100%; margin: 0; accent-color: var(--aura-location-accent); }
	.aura-locations__filter-distance small { color: var(--aura-location-muted); font-size: .78rem; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-hint { grid-column: 1 / -1; align-items: flex-start; gap: 10px; padding: 10px 12px; border-radius: 12px; background: color-mix(in srgb, var(--aura-location-accent) 8%, transparent); }
	.aura-locations__filter-hint .aura-locations__icon { width: 24px; height: 24px; color: var(--aura-location-accent); }
	.aura-locations__filter-hint span { display: grid; gap: 3px; }
	.aura-locations__filter-hint strong { color: var(--aura-location-accent); }
	.aura-locations__filter-hint small { color: var(--aura-location-muted); line-height: 1.4; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-apply { align-items: center; justify-content: center; width: 100%; min-height: 48px; margin: 0; padding: 8px 20px; border: 0; border-radius: 999px; background: var(--aura-location-accent); color: #fff; font: inherit; font-weight: 780; cursor: pointer; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-empty:not([hidden]) {
		position: absolute;
		inset-block-start: calc(env(safe-area-inset-top, 0px) + 70px);
		inset-inline-start: max(12px, env(safe-area-inset-left, 0px));
		inset-inline-end: max(12px, env(safe-area-inset-right, 0px));
		display: block;
		padding: 10px 15px;
		border-radius: var(--aura-location-control-radius);
		background: var(--aura-location-control-surface);
		color: var(--aura-location-text);
		box-shadow: 0 6px 20px rgba(16, 24, 40, .16);
		font-size: .88rem;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-actions {
		position: absolute;
		z-index: 6;
		inset-inline-end: max(14px, env(safe-area-inset-right, 0px));
		inset-block-end: calc(var(--aura-location-map-app-sheet-height) + max(18px, env(safe-area-inset-bottom, 0px)));
		display: flex;
		flex-direction: column;
		gap: 10px;
		transition: inset-block-end .2s ease;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-actions button {
		display: grid;
		place-items: center;
		width: 48px;
		height: 48px;
		margin: 0;
		padding: 0;
		border: 1px solid color-mix(in srgb, var(--aura-location-border) 75%, transparent);
		border-radius: 50%;
		background: var(--aura-location-control-surface);
		color: var(--aura-location-text);
		box-shadow: 0 5px 18px rgba(16, 24, 40, .18);
		cursor: pointer;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-actions button:disabled { opacity: .6; cursor: wait; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-actions button.is-location-ready { border-color: var(--aura-location-accent); color: var(--aura-location-accent); }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__map-actions .aura-locations__icon { width: 22px; height: 22px; }
	.aura-locations--mobile-map-app.is-filter-panel-open[data-map-app="active"] .aura-locations__map-actions { opacity: 0; pointer-events: none; }
	.aura-locations--mobile-map-app.map-app-has-sheet[data-map-app="active"] .aura-locations__mobile-selection:not([hidden]) {
		position: absolute;
		z-index: 7;
		inset-inline: max(12px, env(safe-area-inset-left, 0px)) max(12px, env(safe-area-inset-right, 0px));
		inset-block-end: max(12px, env(safe-area-inset-bottom, 0px));
		display: block;
		width: auto;
		max-width: 760px;
		max-height: min(52svh, 480px);
		margin-inline: auto;
		padding: 28px 18px 18px;
		overflow-x: hidden;
		overflow-y: auto;
		border: 1px solid color-mix(in srgb, var(--aura-location-border) 72%, transparent);
		border-radius: var(--aura-location-map-app-sheet-radius);
		background: var(--aura-location-map-app-sheet-surface);
		color: var(--aura-location-map-app-sheet-text);
		box-shadow: 0 -8px 28px rgba(16, 24, 40, .18);
	}
	.aura-locations__selection-handle { position: absolute; inset-block-start: 9px; inset-inline-start: 50%; width: 48px; height: 5px; border-radius: 999px; background: #d0d5dd; transform: translateX(-50%); }
	.aura-locations__selection-close { position: absolute; z-index: 1; inset-block-start: 16px; inset-inline-end: 16px; display: grid; place-items: center; width: 38px; height: 38px; margin: 0; padding: 0; border: 0; background: transparent; color: var(--aura-location-muted); font: inherit; font-size: 32px; line-height: 1; cursor: pointer; }
	.aura-locations__selection-body { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; padding-inline-end: 30px; }
	.aura-locations__selection-body.has-image { grid-template-columns: clamp(116px, 31vw, 184px) minmax(0, 1fr); }
	.aura-locations__selection-image { display: block; width: 100%; height: 100%; min-height: 132px; max-height: 190px; border-radius: 14px; object-fit: cover; }
	.aura-locations__selection-content { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; min-width: 0; padding-block: 2px; }
	.aura-locations__selection-title { margin: 0; color: inherit; font: inherit; font-size: clamp(1.15rem, 4vw, 1.5rem); font-weight: 780; line-height: 1.18; overflow-wrap: anywhere; }
	.aura-locations__selection-type { display: inline-flex; padding: 4px 10px; border-radius: 999px; background: var(--aura-location-selected-surface); color: var(--aura-location-accent); font-size: .82rem; font-weight: 750; }
	.aura-locations__selection-address { display: flex; align-items: flex-start; gap: 7px; color: var(--aura-location-muted); font-size: .92rem; line-height: 1.4; }
	.aura-locations__selection-address .aura-locations__icon { width: 19px; height: 19px; margin-block-start: 1px; }
	.aura-locations__selection-actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 10px; margin-block-start: 18px; }
	.aura-locations__selection-actions.has-single-action { grid-template-columns: minmax(0, min(100%, 420px)); justify-content: center; }
	.aura-locations__selection-actions a { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 9px 15px; border: 1px solid var(--aura-location-accent); border-radius: 999px; color: var(--aura-location-accent); font-weight: 750; text-align: center; text-decoration: none; }
	.aura-locations__selection-actions a.is-primary { background: var(--aura-location-accent); color: #fff; }
	.aura-locations__selection-actions .aura-locations__icon { width: 20px; height: 20px; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__status {
		position: absolute;
		z-index: 10;
		inset-block-start: calc(env(safe-area-inset-top, 0px) + 72px);
		inset-inline-start: 50%;
		width: max-content;
		max-width: calc(100% - 32px);
		min-height: 0;
		margin: 0;
		padding: 8px 13px;
		border: 1px solid color-mix(in srgb, var(--aura-location-border) 74%, transparent);
		border-radius: 999px;
		background: var(--aura-location-control-surface);
		color: var(--aura-location-text);
		box-shadow: 0 5px 18px rgba(16, 24, 40, .16);
		font-size: .8rem;
		line-height: 1.3;
		text-align: center;
		opacity: 0;
		pointer-events: none;
		transform: translate(-50%, -5px);
		transition: opacity .16s ease, transform .16s ease;
	}
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__status.is-visible { opacity: 1; transform: translate(-50%, 0); }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__status[data-aura-tone="success"] { border-color: color-mix(in srgb, var(--aura-location-accent) 35%, transparent); color: var(--aura-location-accent); }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__status[data-aura-tone="error"] { border-color: color-mix(in srgb, #d92d20 35%, transparent); color: #b42318;
	}
}

@media (max-width: 767px) {
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-hint { display: none; }
}

@media (max-width: 520px) {
	.aura-locations--mobile-map-app.map-app-has-filters.is-filter-panel-open[data-map-app="active"] .aura-locations__filters { gap: 8px; padding-inline: 12px; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-panel-body { gap: 8px; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__filter-status { font-size: .86rem; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__selection-body.has-image { grid-template-columns: 104px minmax(0, 1fr); }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__selection-actions:not(.has-single-action) { grid-template-columns: 1fr 1fr; }
	.aura-locations--mobile-map-app[data-map-app="active"] .aura-locations__selection-actions.has-single-action { grid-template-columns: 1fr; }
}

@media (max-width: 389px) {
	.aura-locations { --aura-location-image-width: 92px; }
	.aura-location-card__body { padding: 10px; }
}

@media (prefers-reduced-motion: reduce) {
	.aura-locations .aura-location-card, .aura-locations .aura-location-card__selected-icon, .aura-locations .aura-locations__locate { transition: none; }
}
