/* =====================================================================
   ELENEX — NUESTRAS TIENDAS (store locator + Leaflet map) · monochrome
   ===================================================================== */

.el-stores { display: grid; grid-template-columns: 1fr; gap: var(--space-l); }
@media (min-width: 900px) { .el-stores { grid-template-columns: 0.9fr 1.1fr; align-items: start; } }

/* ---- store list ---- */
.el-stores__list { display: flex; flex-direction: column; gap: var(--space-2xs); }
@media (min-width: 900px) {
  .el-stores__list { max-height: 70vh; overflow-y: auto; padding-right: var(--space-2xs); order: 1; }
  .el-stores__list::-webkit-scrollbar { width: 5px; }
  .el-stores__list::-webkit-scrollbar-thumb { background: var(--ash); }
}

.el-store {
  border: var(--border-hair); padding: var(--space-s) var(--space-m);
  cursor: pointer; transition: border-color var(--dur-1) var(--ease-out), background var(--dur-1) var(--ease-out);
}
.el-store:hover { border-color: var(--ink); }
.el-store:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }
.el-store.is-active { border-color: var(--ink); background: var(--paper-2); border-left: 4px solid var(--ink); }
.el-store__name { font-family: var(--font-display); font-size: var(--step-1); letter-spacing: var(--tracking-display); text-transform: uppercase; margin: 0 0 var(--space-3xs); }
.el-store__addr { font-family: var(--font-body); font-size: var(--step--1); color: var(--ink-soft); margin: 0; }
.el-store__city { font-family: var(--font-body); font-size: var(--step--1); color: var(--smoke); margin: 0 0 var(--space-2xs); }
.el-store__link { font-family: var(--font-body); font-weight: 700; font-size: var(--step--1); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--ink); text-decoration: none; border-bottom: 2px solid transparent; transition: border-color var(--dur-1) var(--ease-out); }
.el-store__link:hover { border-color: var(--ink); }

/* ---- map ---- */
.el-stores__map { order: 0; }
@media (min-width: 900px) { .el-stores__map { position: sticky; top: calc(var(--chrome-h) + var(--space-s)); order: 2; } }
#store-map { width: 100%; height: clamp(22rem, 60vh, 36rem); background: var(--paper-2); border: var(--border-hair); filter: grayscale(1) contrast(1.05); }

/* Leaflet popup → monochrome editorial */
.leaflet-popup-content-wrapper { border-radius: 0; box-shadow: 0 8px 24px rgba(10,10,10,0.2); }
.leaflet-popup-content { font-family: var(--font-body); font-size: var(--step--1); line-height: 1.45; }
.leaflet-popup-content strong { font-family: var(--font-display); font-size: var(--step-0); letter-spacing: 0.03em; text-transform: uppercase; }
.leaflet-popup-content a { color: var(--ink); font-weight: 700; }
.leaflet-container a.leaflet-popup-close-button { color: var(--ink); }
