/* Easy Store Locator - No code */
.esl{display:grid;grid-template-columns:minmax(320px,420px) 1fr;gap:18px}
.esl-left{min-height:520px}
.esl-controls{display:flex;flex-direction:column;gap:12px;margin-bottom:14px}
.esl-search{display:flex;gap:10px}
.esl-input{width:100%;padding:12px 14px;border:1px solid rgba(0,0,0,.12);border-radius:12px}
.esl-btn{padding:12px 14px;border-radius:12px;border:1px solid rgba(0,0,0,.12);background:transparent;cursor:pointer}
.esl-btn[disabled]{opacity:.45;cursor:not-allowed}
.esl-btn-primary{border-color:transparent}
.esl-filters{display:flex;flex-wrap:wrap;gap:8px}
.esl-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid rgba(0,0,0,.12);border-radius:999px;cursor:pointer;user-select:none}
.esl-chip input{margin:0}
.esl-list{display:flex;flex-direction:column;gap:10px;max-height:68vh;overflow:auto;padding-right:6px}
.esl-card{border:1px solid rgba(0,0,0,.12);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.esl-card.is-active{outline:2px solid rgba(0,0,0,.18)}
.esl-title{font-weight:700;line-height:1.2}
.esl-meta{display:flex;flex-direction:column;gap:6px;opacity:.9}
.esl-row{display:flex;gap:10px;flex-wrap:wrap}
.esl-link{cursor:pointer;text-decoration:underline}
.esl-km{opacity:.75;font-size:12px;margin-left:auto}
.esl-mapwrap{position:sticky;top:18px;height:min(68vh,720px);border-radius:18px;overflow:hidden;border:1px solid rgba(0,0,0,.12)}
.esl-map{width:100%;height:100%}
.esl-consent{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.04);backdrop-filter:blur(2px)}
.esl-consent-card{max-width:360px;background:#fff;border:1px solid rgba(0,0,0,.12);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:10px}
.esl-consent-title{font-weight:800}
.esl-consent-text{opacity:.85}
.esl-consent-small{opacity:.75;font-size:12px}

@media (max-width: 960px){
  .esl{grid-template-columns:1fr}
  .esl-mapwrap{position:relative;top:auto;height:420px}
  .esl-list{max-height:unset}
}
