/* ============================================================
   LANDING PAGES — category, location, full map
   ============================================================ */

/* ---- shared landing hero ---- */
.land-hero {
  border-block-end: 1px solid var(--rule);
  padding-block: clamp(2rem, 4vw, 3.5rem);
  position: relative; overflow: hidden;
}
.land-hero__inner { display: grid; grid-template-columns: 1.4fr auto; gap: var(--sp-6); align-items: end; }
@media (max-width: 899px) { .land-hero__inner { grid-template-columns: 1fr; } }
.land-hero h1 { margin-block: var(--sp-3); }
.land-hero .lead { max-width: 56ch; }
.land-hero__icon {
  width: 60px; height: 60px; border-radius: var(--r-md);
  background: var(--brand-tint); color: var(--brand);
  display: grid; place-items: center; margin-block-end: var(--sp-4);
}
:root[data-theme="dark"] .land-hero__icon { color: var(--brand-2); }
.land-hero__icon svg { width: 30px; height: 30px; }
.land-stats { display: flex; gap: var(--sp-6); flex-wrap: wrap; }
.land-stat__n { font-family: var(--font-display); font-size: 1.75rem; letter-spacing: -0.03em; line-height: 1; display: block; }
.land-stat__l { font-size: var(--t-2xs); letter-spacing: var(--ls-caps-sm); text-transform: uppercase; color: var(--ink-3); font-weight: 600; }

/* ---- SEO copy block ---- */
.seo-copy { columns: 2; column-gap: var(--sp-7); font-size: var(--t-sm); line-height: 1.7; color: var(--ink-2); }
@media (max-width: 767px) { .seo-copy { columns: 1; } }
.seo-copy p { break-inside: avoid; margin-block-end: var(--sp-4); }

/* ============================================================
   FULL MAP EXPLORE
   ============================================================ */
.explore {
  display: grid;
  grid-template-columns: 400px minmax(0, 1fr);
  height: calc(100vh - var(--header-h) - 32px);
  min-height: 560px;
  border-block: 1px solid var(--rule);
}
@media (max-width: 899px) { .explore { grid-template-columns: minmax(0, 1fr); height: auto; } }

.explore__panel { display: flex; flex-direction: column; border-inline-end: 1px solid var(--rule); background: var(--paper-2); min-height: 0; min-width: 0; }
.explore__tools { padding: var(--sp-4); border-block-end: 1px solid var(--rule); display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
.explore__chips { display: flex; gap: 6px; overflow-x: auto; padding-block-end: 2px; scrollbar-width: none; min-width: 0; }
.explore__chips::-webkit-scrollbar { display: none; }
.explore__list { flex: 1; overflow-y: auto; min-height: 0; }
.explore__list::-webkit-scrollbar { width: 6px; }
.explore__list::-webkit-scrollbar-thumb { background: var(--rule-2); border-radius: 3px; }
.explore__foot { padding: var(--sp-3) var(--sp-4); border-block-start: 1px solid var(--rule); font-size: var(--t-xs); color: var(--ink-3); display: flex; justify-content: space-between; gap: var(--sp-3); }

.explore__map { position: relative; min-height: 0; }
.explore__map .map { height: 100%; border-radius: 0; border: 0; }
@media (max-width: 899px) { .explore__map .map { height: 62vh; } .explore__panel { border-inline-end: 0; border-block-end: 1px solid var(--rule); } }

.explore-row {
  display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: var(--sp-3);
  padding: var(--sp-3) var(--sp-4); border-block-end: 1px solid var(--rule);
  text-decoration: none; transition: background var(--dur-1) var(--ease-out);
  position: relative;
}
.explore-row:hover, .explore-row[data-hot="true"] { background: var(--paper-3); }
.explore-row[data-hot="true"]::before { content: ""; position: absolute; inset-inline-start: 0; inset-block: 0; width: 3px; background: var(--signal); }
.explore-row__img { width: 56px; height: 48px; border-radius: var(--r-xs); overflow: hidden; }
.explore-row__img img { width: 100%; height: 100%; object-fit: cover; }
.explore-row__nm { font-weight: 600; font-size: var(--t-sm); display: block; margin-block-end: 2px; }
.explore-row__meta { font-size: var(--t-xs); color: var(--ink-3); display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
