/* Self-hosted Telugu fallback for Land Locator only. Source: google/fonts,
   ofl/notosanstelugu/NotoSansTelugu[wdth,wght].ttf (retrieved 2026-10-09).
   Copyright 2022 The Noto Project Authors. SIL OFL 1.1: fonts/noto-sans-telugu-OFL.txt. */
@font-face {
  font-family: "Noto Sans Telugu";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("/assets/noto-sans-telugu-83c96d4e.ttf") format("truetype");
}

[data-controller~="land-locator"],
[data-controller~="land-locator"] :is(input, select, option, button) {
  font-family: "Hanken Grotesk", "Noto Sans Telugu", sans-serif;
}

/* Headings get Bricolage Grotesque directly (application.css), which has no Telugu glyphs. */
[data-controller~="land-locator"] :is(h1, h2, h3) {
  font-family: "Bricolage Grotesque", "Hanken Grotesk", "Noto Sans Telugu", sans-serif;
}

[data-controller~="land-locator"] .font-mono {
  font-family: "JetBrains Mono", "Noto Sans Telugu", monospace;
}

/* The one search box's dropdown (JAR-43 §1): hidden until it has matches or a message. */
.land-locator-suggestions:empty { display: none; }
.land-locator-suggestions button { display: block; width: 100%; text-align: left; padding: 12px; font-size: 14px; border-bottom: 1px solid #f3f4f6; }
.land-locator-suggestions button:hover, .land-locator-suggestions button:focus { background: #ecfdf5; outline: none; }
.land-locator-suggestions [data-no-match] { padding: 12px; font-size: 14px; color: #92400e; background: #fffbeb; }

/* The result card: a column beside the map on wide screens, a bottom sheet on phones (§7).
   Plain CSS, not Tailwind utilities: the compiled stylesheet may predate these classes. */
.land-locator-sheet[hidden] { display: none; }
.land-locator-sheet-bar { display: none; }
@media (max-width: 1023px) {
  .land-locator-sheet {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 1100;
    max-height: 62vh; overflow-y: auto; -webkit-overflow-scrolling: touch;
    background: #fff; border-radius: 16px 16px 0 0; padding: 0 12px 16px;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.18);
  }
  .land-locator-sheet-bar {
    display: flex; align-items: center; justify-content: space-between;
    position: sticky; top: 0; background: #fff; padding: 8px 0 6px;
  }
  .land-locator-sheet-handle { display: block; width: 40px; height: 4px; border-radius: 2px; background: #d1d5db; }
  .land-locator-sheet-close { padding: 6px 8px; }
}
