/* Location card layout scoped to the locations page. */
.location-directory{max-width:100%!important}
.loc-controls{display:grid;gap:12px;margin:18px 0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:15px}
.loc-search-label{display:grid;gap:7px;max-width:440px;font-weight:700;color:var(--ink)}
.loc-search-label input{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font:inherit}
.loc-regions{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.loc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.loc-region-head{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 2px;padding:8px 2px;border-bottom:1px solid var(--line)}
.loc-region-head h2{margin:0;font-size:1.2rem;color:var(--purple-dark)}
.loc-count{color:var(--muted);font-size:.85rem}
.loc-card{display:flex;min-width:0;align-items:center;gap:12px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:13px;color:var(--ink);box-shadow:0 4px 14px rgba(46,24,69,.05)}
.loc-pin{font-size:1.25rem}.loc-body{display:grid;gap:4px;min-width:0;flex:1}.loc-city{font-weight:750;line-height:1.25}.loc-meta{font-size:.8rem;color:var(--muted)}
.loc-region-badge{display:inline-block;padding:2px 7px;border-radius:999px;background:#f0e7fa;color:var(--purple-dark);font-weight:750}
.loc-cta{padding:5px 9px;border-radius:999px;background:#f7f1fc;color:var(--purple-dark);font-size:.75rem;font-weight:750}
.loc-card.is-hidden,.loc-region-head.is-hidden{display:none!important}.loc-empty{padding:14px;background:#fff;border:1px dashed var(--line);border-radius:12px}
.scroll-top{position:fixed;right:18px;bottom:18px;z-index:60;display:grid;place-items:center;width:46px;height:46px;border:0;border-radius:50%;background:var(--purple);color:#fff;font-size:1.35rem;box-shadow:0 5px 18px rgba(46,24,69,.2);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,transform .2s,visibility .2s;cursor:pointer}
.scroll-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.scroll-top:hover{background:var(--purple-dark)}
@media(max-width:700px){.loc-grid{grid-template-columns:1fr}.location-directory{padding:14px!important}.loc-controls{padding:12px}.loc-regions .filter-chip{padding:7px 10px;font-size:.8rem}}
