/* Lista GPS dei luoghi culturali: sobria, leggibile e leggera anche con
   cataloghi molto grandi. */
.monuments-nearby {
  display: grid;
  gap: 14px;
  margin-top: 8px;
  padding: 20px;
  border: 1px solid rgba(143, 103, 16, .24);
  border-radius: 3px;
  background: linear-gradient(145deg, #fffdf7, #f8efd9);
  box-shadow: 0 8px 18px rgba(96, 68, 12, .08);
  scroll-margin-top: 18px;
}
.monuments-nearby[hidden] { display: none !important; }
.monuments-nearby-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.monuments-nearby-head h2 { margin: 0; color: #241c12; font: 800 clamp(1.2rem, 3vw, 1.7rem)/1.1 'Archivo Narrow', 'Arial Narrow', system-ui, sans-serif; letter-spacing: .02em; text-transform: uppercase; }
.monuments-nearby-head p { max-width: 62ch; margin: 7px 0 0; color: rgba(36, 28, 18, .66); font-size: .84rem; line-height: 1.45; }
.monuments-nearby-close { min-width: 42px; min-height: 42px; border: 1px solid rgba(36, 28, 18, .16); border-radius: 3px; background: #fff; color: #241c12; font-size: 1.25rem; cursor: pointer; }
.monuments-nearby-launch { min-height: 42px; padding: 0 13px; border: 1px solid #8f6710; border-radius: 3px; background: #f6d184; color: #241c12; font: 850 .72rem/1 system-ui, sans-serif; cursor: pointer; }
.monuments-nearby-launch:hover { filter: brightness(1.05); transform: translateY(-1px); }
.monuments-nearby-tools { display: flex; flex-wrap: wrap; gap: 9px; align-items: center; }
.monuments-nearby-locate, .monuments-nearby-more { min-height: 44px; padding: 0 14px; border: 1px solid #8f6710; border-radius: 3px; background: #2d4e47; color: #fff; font: 800 .78rem/1 system-ui, sans-serif; cursor: pointer; }
.monuments-nearby-more { border-color: rgba(143, 103, 16, .35); background: #fff8e7; color: #6c4d0c; }
.monuments-nearby-locate:hover, .monuments-nearby-more:hover, .monuments-nearby-close:hover { filter: brightness(1.05); transform: translateY(-1px); }
.monuments-nearby-locate:disabled { cursor: wait; opacity: .65; }
.monuments-nearby-status { min-height: 20px; margin: 0; color: rgba(36, 28, 18, .66); font-size: .8rem; font-weight: 750; }
.monuments-nearby-status[data-kind="success"] { color: #2d6950; }
.monuments-nearby-status[data-kind="error"] { color: #a43e2d; }
.monuments-nearby-status[data-kind="loading"] { color: #8f6710; }
.monuments-nearby-list { display: grid; gap: 7px; }
.monuments-nearby-row { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 11px 12px; border: 1px solid rgba(36, 28, 18, .1); background: rgba(255, 255, 255, .72); }
.monuments-nearby-rank { color: #a87a17; font: 800 .72rem/1 'Arial Narrow', system-ui, sans-serif; letter-spacing: .08em; }
.monuments-nearby-copy { min-width: 0; }
.monuments-nearby-copy h3 { overflow: hidden; margin: 0; color: #241c12; font: 800 .92rem/1.2 'Archivo Narrow', 'Arial Narrow', system-ui, sans-serif; text-overflow: ellipsis; white-space: nowrap; }
.monuments-nearby-copy p { overflow: hidden; margin: 4px 0 0; color: rgba(36, 28, 18, .6); font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.monuments-nearby-distance { display: inline-block; margin-top: 6px; color: #a15f3d; font-size: .78rem; }
.monuments-nearby-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.monuments-nearby-actions button, .monuments-nearby-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 38px; padding: 0 9px; border: 1px solid rgba(143, 103, 16, .28); border-radius: 3px; background: #fff; color: #6c4d0c; font: 750 .7rem/1 system-ui, sans-serif; text-decoration: none; cursor: pointer; }
.monuments-nearby-actions button:hover, .monuments-nearby-actions a:hover { background: #fff8e7; }
.monuments-nearby-empty { margin: 0; color: rgba(36, 28, 18, .66); font-size: .84rem; }
@media (max-width: 620px) {
  .monuments-nearby { padding: 15px 12px; }
  .monuments-nearby-head { gap: 9px; }
  .monuments-nearby-head h2 { font-size: 1.1rem; }
  .monuments-nearby-row { grid-template-columns: 28px minmax(0, 1fr); align-items: start; padding: 10px 8px; }
  .monuments-nearby-actions { grid-column: 2; justify-content: flex-start; }
  .monuments-nearby-actions button, .monuments-nearby-actions a { flex: 1 1 120px; }
  .monuments-nearby-copy h3, .monuments-nearby-copy p { white-space: normal; }
}
