#ddm-locator{--ddm-primary:#2B6CB0;--ddm-primary-dark:#215387;--ddm-ink:#1A202C;--ddm-ink-soft:#4A5568;--ddm-muted:#718096;--ddm-bg-soft:#F7FAFC;--ddm-border:#E2E8F0;--ddm-white:#ffffff;--ddm-radius:12px;font-family:'Roboto',-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif;color:var(--ddm-ink);max-width:1100px;margin:0 auto;padding:48px 20px 64px}
#ddm-locator *{box-sizing:border-box}
.ddm-locator__intro{text-align:center;max-width:640px;margin:0 auto 32px}
.ddm-locator__title{font-family:'Roboto',sans-serif;font-weight:600;font-size:clamp(26px,4vw,38px);line-height:1.2;margin:0 0 12px;color:var(--ddm-ink)}
.ddm-locator__lead{font-size:16px;line-height:1.6;color:var(--ddm-ink-soft);margin:0}
.ddm-locator__form{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;background:var(--ddm-bg-soft);border:1px solid var(--ddm-border);border-radius:var(--ddm-radius);padding:20px;margin-bottom:8px}
.ddm-locator__field{flex:1 1 260px;display:flex;flex-direction:column;gap:6px}
.ddm-locator__label{font-size:13px;font-weight:500;color:var(--ddm-ink-soft)}
#ddm-locator-input{font-family:inherit;font-size:16px;padding:12px 14px;border:1px solid var(--ddm-border);border-radius:8px;background:var(--ddm-white);color:var(--ddm-ink);width:100%}
#ddm-locator-input:focus{outline:none;border-color:var(--ddm-primary);box-shadow:0 0 0 3px rgba(43,108,176,.15)}
.ddm-locator__actions{display:flex;flex-wrap:wrap;gap:10px}
.ddm-locator__btn{font-family:inherit;font-size:15px;font-weight:500;padding:12px 20px;border-radius:8px;border:1px solid transparent;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .15s ease,border-color .15s ease,color .15s ease;white-space:nowrap}
.ddm-locator__btn--primary{background:var(--ddm-primary);color:var(--ddm-white)}
.ddm-locator__btn--primary:hover{background:var(--ddm-primary-dark)}
.ddm-locator__btn--ghost{background:var(--ddm-white);color:var(--ddm-ink-soft);border-color:var(--ddm-border)}
.ddm-locator__btn--ghost:hover{border-color:var(--ddm-primary);color:var(--ddm-primary)}
.ddm-locator__btn:disabled{opacity:.6;cursor:not-allowed}
.ddm-locator__status{min-height:20px;font-size:14px;color:var(--ddm-ink-soft);margin:12px 2px 24px}
.ddm-locator__status--error{color:#b82105}
.ddm-locator__layout{display:grid;grid-template-columns:minmax(280px,380px) 1fr;gap:24px;align-items:start}
.ddm-locator__results{display:flex;flex-direction:column;gap:12px}
.ddm-store-card{border:1px solid var(--ddm-border);border-radius:var(--ddm-radius);padding:16px 18px;background:var(--ddm-white);display:flex;flex-direction:column;gap:6px}
.ddm-store-card--nearest{border-color:var(--ddm-primary);box-shadow:0 0 0 1px var(--ddm-primary)}
.ddm-store-card__top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px}
.ddm-store-card__name{font-weight:600;font-size:16px;margin:0;color:var(--ddm-ink)}
.ddm-store-card__badge{font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--ddm-primary);background:rgba(43,108,176,.1);border-radius:999px;padding:3px 10px;white-space:nowrap}
.ddm-store-card__distance{font-size:14px;font-weight:600;color:var(--ddm-primary-dark);white-space:nowrap}
.ddm-store-card__address,.ddm-store-card__hours{font-size:14px;color:var(--ddm-ink-soft);margin:0;line-height:1.5}
.ddm-store-card__row{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px}
.ddm-store-card__link{font-size:13.5px;font-weight:500;color:var(--ddm-primary);text-decoration:none}
.ddm-store-card__link:hover{text-decoration:underline}
.ddm-locator__map-wrap{position:sticky;top:20px}
.ddm-locator__map{width:100%;height:520px;border-radius:var(--ddm-radius);border:1px solid var(--ddm-border);background:var(--ddm-bg-soft)}
.ddm-locator__empty{font-size:14px;color:var(--ddm-muted);padding:8px 2px}
@media (max-width:820px){
  .ddm-locator__layout{grid-template-columns:1fr}
  .ddm-locator__map-wrap{position:static}
  .ddm-locator__map{height:320px}
  .ddm-locator__form{flex-direction:column;align-items:stretch}
  .ddm-locator__actions{width:100%}
  .ddm-locator__btn{flex:1;justify-content:center}
}
