/* EPD Dealer Locator — scoped to .epd-dls; inherits the theme's fonts/colors. */
.epd-dls { --epd-dls-accent: #c8102e; --epd-dls-border: #e2e2e2; --epd-dls-muted: #666; margin: 2em 0; }
.epd-dls h2 { font-size: 1.35em; margin: 0 0 .6em; }
.epd-dls-back { margin-bottom: 1.5em; font-size: .95em; }

.epd-dls-header { display: flex; gap: 1.5em; align-items: center; flex-wrap: wrap; margin-bottom: 2em; }
.epd-dls-logo { width: 140px; height: auto; max-height: 140px; object-fit: contain; border: 1px solid var(--epd-dls-border); border-radius: 6px; padding: 8px; background: #fff; }
.epd-dls-name { margin: 0 0 .2em; }
.epd-dls-subtitle { margin: 0 0 .6em; color: var(--epd-dls-muted); }
.epd-dls-badges { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .4em; }
.epd-dls-badge { font-size: .8em; padding: .25em .7em; border-radius: 999px; background: #f3f3f3; border: 1px solid var(--epd-dls-border); }

.epd-dls-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 2.5em; }
@media (max-width: 860px) { .epd-dls-grid { grid-template-columns: 1fr; } }
.epd-dls-section { margin-bottom: 2.25em; }
.epd-dls-card { border: 1px solid var(--epd-dls-border); border-radius: 8px; padding: 1.25em; margin-bottom: 1.25em; }
.epd-dls-card p { margin: 0 0 .6em; }
.epd-dls-services { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5em; }
.epd-dls-services a { display: inline-block; padding: .35em .8em; border: 1px solid var(--epd-dls-border); border-radius: 4px; text-decoration: none; }
.epd-dls-photos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: .75em; }
.epd-dls-photos img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 6px; }
.epd-dls-nearby, .epd-dls-hours { list-style: none; margin: 0; padding: 0; }
.epd-dls-nearby li { margin-bottom: .5em; }
.epd-dls-nearby span { display: block; font-size: .85em; color: var(--epd-dls-muted); }

.epd-dls-button, .epd-dls button[type="submit"] { display: inline-block; background: var(--epd-dls-accent); color: #fff; border: 0; border-radius: 4px; padding: .7em 1.4em; font-weight: 600; text-decoration: none; cursor: pointer; }
.epd-dls-button:hover, .epd-dls button[type="submit"]:hover { opacity: .9; color: #fff; }

.epd-dls-lead-form label { display: block; font-weight: 600; margin-bottom: .25em; }
.epd-dls-lead-form input[type="text"], .epd-dls-lead-form input[type="email"], .epd-dls-lead-form input[type="tel"], .epd-dls-lead-form textarea { width: 100%; max-width: 560px; }
.epd-dls-lead-form fieldset { border: 0; padding: 0; margin: 0 0 1em; }
.epd-dls-lead-form legend { font-weight: 600; margin-bottom: .4em; }
.epd-dls-check { font-weight: 400 !important; display: block; }
.epd-dls-privacy { font-size: .85em; color: var(--epd-dls-muted); }
.epd-dls-hp { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.epd-dls-notice { padding: .9em 1.1em; border-radius: 6px; }
.epd-dls-notice-success { background: #edf7ed; border: 1px solid #b7dfb9; }
.epd-dls-notice-error { background: #fdecea; border: 1px solid #f5c2bd; }

.epd-dls-search { display: flex; flex-wrap: wrap; gap: .75em; align-items: flex-end; margin-bottom: 1.25em; }
.epd-dls-search label span { display: block; font-size: .85em; font-weight: 600; margin-bottom: .2em; }
.epd-dls-count { color: var(--epd-dls-muted); }
.epd-dls-states { display: flex; flex-wrap: wrap; gap: .35em; margin: 1em 0 2em; }
.epd-dls-states a { padding: .2em .5em; border: 1px solid var(--epd-dls-border); border-radius: 3px; text-decoration: none; font-size: .9em; }
.epd-dls-state { margin-bottom: 2em; }
.epd-dls-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .75em; }
.epd-dls-item { border: 1px solid var(--epd-dls-border); border-radius: 6px; padding: .9em 1em; display: flex; flex-direction: column; gap: .15em; }
.epd-dls-item-name { font-weight: 600; }
.epd-dls-item-loc, .epd-dls-item-tier { font-size: .88em; color: var(--epd-dls-muted); }
.epd-dls-item-distance { font-size: .85em; font-weight: 600; }
