/* Mapa de tiendas del Club (app/tiendas.js, 2-oct-2026). Usa los colores de la página (--ink, --sage, --line…). */
.ti-barra { display: flex; gap: 8px; margin: 6px 0 12px; }
.ti-barra .search { flex: 1 1 auto; min-width: 0; }
.ti-cerca { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--ink); background: var(--ink); color: var(--paper);
  padding: 0 14px; font-weight: 700; font-size: 13px; cursor: pointer; }
.ti-cerca svg { width: 17px; height: 17px; stroke: currentColor; fill: none; stroke-width: 1.8; }
.ti-cerca:hover { background: var(--sage); border-color: var(--sage); color: #121212; }
.ti-chips { margin-bottom: 12px; padding-bottom: 2px; }
@media (min-width: 900px) { .ti-chips { flex-wrap: wrap; overflow: visible; } }
.ti-chips .chip { display: inline-flex; align-items: center; gap: 7px; }
.ti-chips .chip[aria-pressed="false"] { opacity: .55; }
.ti-n { font-weight: 500; opacity: .7; font-size: 12px; }
.ti-punto { display: inline-block; flex: 0 0 auto; width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid #fff; box-shadow: 0 0 0 1px rgba(18,18,18,.25); }
.ti-aviso { font-size: 13px; color: var(--muted); margin: -4px 0 12px; }
.ti-cargando { color: var(--muted); padding: 40px 0; }

.ti-cuerpo { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
@media (min-width: 900px) { .ti-cuerpo { grid-template-columns: minmax(0, 1fr) 360px; } }
.ti-mapa { height: 62vh; min-height: 360px; border: 1px solid var(--line); background: var(--smoke); scroll-margin-top: 12px; z-index: 0; }
@media (min-width: 900px) { .ti-mapa { height: 640px; } }
/* Teselas en gris para que manden los pines; en modo oscuro, invertidas. */
.ti-mapa .leaflet-tile-pane { filter: grayscale(1) contrast(.92) brightness(1.03); }
@media (prefers-color-scheme: dark) { .ti-mapa .leaflet-tile-pane { filter: grayscale(1) invert(1) brightness(.85) contrast(.9); } }
.ti-mapa .leaflet-control-attribution { font-size: 10px; }
.ti-mapa .leaflet-tooltip { font-family: var(--font); font-weight: 700; font-size: 12px; border-radius: 0; }

.ti-lado { min-width: 0; display: flex; flex-direction: column; }
@media (min-width: 900px) { .ti-lado { height: 640px; } }
.ti-cab { font-size: 13px; color: var(--muted); padding: 2px 0 8px; border-bottom: 1px solid var(--line); }
.ti-cab b { color: var(--ink); }
.ti-lista { list-style: none; margin: 0; padding: 0; overflow-y: auto; flex: 1 1 auto; max-height: 520px; }
@media (min-width: 900px) { .ti-lista { max-height: none; } }
.ti-lista button { width: 100%; display: flex; align-items: center; gap: 10px; text-align: left; border: 0; border-bottom: 1px solid var(--line);
  background: none; color: var(--ink); padding: 10px 4px; cursor: pointer; }
.ti-lista button:hover, .ti-lista button[aria-current="true"] { background: var(--sage-soft); }
.ti-t { flex: 1 1 auto; min-width: 0; }
.ti-t b { display: block; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ti-t span { display: block; font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ti-d { flex: 0 0 auto; font-size: 12px; font-weight: 700; color: var(--sage-ink); }

.ti-ficha { border: 1px solid var(--ink); padding: 14px 16px 16px; margin-bottom: 12px; background: var(--paper); }
.ti-fcab { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.ti-tipo { display: inline-flex; align-items: center; gap: 7px; font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.ti-x { border: 0; background: none; color: var(--muted); font-size: 12px; text-decoration: underline; cursor: pointer; padding: 4px 0; }
.ti-ficha h3 { font-size: 20px; font-weight: 800; line-height: 1.15; margin: 8px 0 10px; overflow-wrap: anywhere; }
.ti-datos { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; font-size: 14px; }
.ti-datos li { display: grid; grid-template-columns: 18px 1fr; gap: 9px; align-items: start; }
.ti-datos svg { width: 18px; height: 18px; stroke: var(--sage-ink); fill: none; stroke-width: 1.7; margin-top: 1px; }
.ti-datos span { overflow-wrap: anywhere; }
.ti-datos a { color: var(--ink); }
.ti-datos em { font-style: normal; font-weight: 700; color: var(--sage-ink); white-space: nowrap; }
.ti-sin { font-size: 12px; color: var(--muted); margin: 10px 0 0 !important; }
.ti-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin-top: 14px; }
.ti-btns .cta { display: inline-block; text-decoration: none; text-align: center; padding: 11px 18px; width: auto; margin: 0; }
.ti-corr { font-size: 12px; color: var(--muted); }
.ti-fuente { font-size: 12px; color: var(--muted) !important; margin-top: 14px !important; max-width: none !important; }
.ti-fuente a { color: inherit; }
