.locator-page { padding-top:32px; padding-bottom:48px; }
.locator-page h1 { font-size:clamp(28px,4vw,36px); margin:8px 0 12px; letter-spacing:-.035em; }
.locator-eyebrow { font-size:11px; font-weight:700; letter-spacing:.08em; color:#a64100; }
.locator-intro { color:#666; line-height:1.65; margin-bottom:28px; }
.locator-filters { display:grid; grid-template-columns:2fr 1fr 1fr auto auto; gap:14px; align-items:end; padding:20px; background:#fafafa; border:1px solid #e3e5e7; border-radius:8px; }
.locator-filters label { display:block; font-size:13px; font-weight:600; margin-bottom:7px; }
.locator-filters input,.locator-filters select { width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #b8bbbe; border-radius:5px; font:inherit; background:#fff; }
.locator-reset { font-size:13px; text-decoration:underline; min-height:44px; display:flex; align-items:center; }
.locator-toolbar { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:20px 0 10px; }
.locator-toolbar p { margin:0 auto 0 0; }
.locator-status { min-height:22px; font-size:13px; line-height:1.6; color:#555; margin-bottom:12px; }
.locator-grid { display:grid; grid-template-columns:360px minmax(0,1fr); gap:24px; align-items:start; }
.locator-results { min-width:0; max-height:650px; overflow-y:auto; padding-right:8px; }
.location-card { border:1px solid #e3e5e7; border-radius:8px; padding:20px; margin-bottom:12px; background:white; overflow-wrap:anywhere; }
.location-card[data-selected] { border-color:#a64100; box-shadow:inset 3px 0 #ff6b00; }
.location-card h2 { font-size:17px; line-height:1.4; margin:0 0 6px; }
.location-card p { font-size:13px; line-height:1.6; margin:8px 0; }
.location-area { color:#a64100; font-weight:600; }
.location-description { color:#666; }
.location-distance { color:#216e36; font-weight:600; }
.location-actions { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:12px; }
.location-actions a,.location-actions button { font:inherit; font-size:13px; color:#a64100; padding:8px 0; text-decoration:underline; background:none; border:none; cursor:pointer; }
.locator-map { height:560px; border:1px solid #d6dadc; border-radius:8px; background:#f2f3f4; z-index:0; }
.location-map-placeholder { padding:24px; color:#666; }
.locator-map-note { font-size:12px; line-height:1.65; color:#666; margin:14px 0 4px; }
.locator-map-issue { font-size:12px; text-decoration:underline; display:inline-block; padding:8px 0; }
.locator-map .leaflet-control-attribution { font-size:11px; color:#333; }
.dealer-pin { width:30px; height:30px; border-radius:50%; border:2px solid white; background:#a64100; color:white; box-shadow:0 1px 5px #0004; text-align:center; line-height:24px; font-size:13px; }
.locator-map .leaflet-container { font:inherit; }
.locator-popup strong { display:block; margin-bottom:5px; }
.locator-popup p { margin:5px 0; }
.locator-popup a { display:inline-block; padding:6px 0; text-decoration:underline; }
.location-empty { border:1px dashed #ccc; padding:24px; border-radius:8px; }
.location-empty h2 { font-size:20px; }
.location-empty p { color:#666; line-height:1.6; }
.locator-pagination { display:flex; gap:16px; padding:12px 0; }
.locator-pagination a { padding:10px 0; text-decoration:underline; }
.locator-more { width:100%; margin-top:12px; }
.location-field-pair { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.location-editor label:not(:first-child) { margin-top:18px; }
.location-delete .button { margin-top:14px; }
.admin-location-map { height:300px; margin-top:14px; }
.admin-location-map button { width:auto; min-width:30px; }
@media(max-width:1000px) { .locator-grid { grid-template-columns:310px minmax(0,1fr); }.locator-filters { grid-template-columns:2fr 1fr 1fr; }.locator-reset { justify-self:start; }.locator-filters>.button { grid-column:1; } }
@media(max-width:750px) { .locator-grid { display:flex; flex-direction:column; gap:20px; }.locator-map-panel { order:-1; width:100%; }.locator-map { height:350px; }.locator-results { width:100%; max-height:none; padding:0; }.locator-filters { grid-template-columns:1fr 1fr; padding:16px; gap:12px; }.locator-filters>div:first-child { grid-column:1/-1; }.locator-filters>.button { width:100%; }.locator-toolbar>.button { font-size:12px; }.location-field-pair { grid-template-columns:minmax(0,1fr); } }
