/* Only discovery forms, venue result collections and Rendezvous navigation. */
.nb-filters select,
.nb-guide-filter-form select,
.discovery-controls select,
select#discovery-category,
select#discovery-mood {
    color-scheme: dark !important;
    background-color:#122a2d !important;
    color:#f7ead8 !important;
    border:1px solid #c3a67f !important;
    -webkit-text-fill-color:#f7ead8;
}
.nb-filters select option,.nb-filters select optgroup,
.nb-guide-filter-form select option,.nb-guide-filter-form select optgroup,
.discovery-controls select option,.discovery-controls select optgroup,
select#discovery-category option, select#discovery-mood option {
    background:#122a2d !important;
    color:#f7ead8 !important;
    -webkit-text-fill-color:#f7ead8;
}
.nb-filters select:focus-visible,.nb-guide-filter-form select:focus-visible,.discovery-controls select:focus-visible {
    outline:2px solid #f4d6a7;outline-offset:2px;
}
.nb-place-collection { border:1px solid rgba(195,166,127,.46);padding:0 15px 16px;margin:18px 0 24px;background:#10251f; }
.nb-place-collection > summary {color:#f3dfbf;font:600 15px/1.5 Georgia,serif;cursor:pointer;padding:15px 4px;}
.nb-place-collection > summary:hover,.nb-place-collection > summary:focus-visible{color:#fff1d9;text-decoration:underline;}
.nb-place-collection:not([open]){padding-bottom:0}
.nb-rendezvous-types{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.nb-rendezvous-types a{border:1px solid #bda078;background:#132b2d;color:#e9d5b6;padding:11px 13px;text-decoration:none;font:600 12px Arial,sans-serif}
.nb-rendezvous-types a[aria-current="page"],.nb-rendezvous-types a:hover{background:#806146;color:#fff3e0}
.nb-guide-context{font:13px/1.65 Arial,sans-serif;color:#d5cabc;max-width:850px;margin:0 0 18px}

.nb-external-guides{margin:18px 0;border:1px solid rgba(195,166,127,.46);padding:0 15px;background:#10251f}
.nb-external-guides>summary{padding:15px 4px;cursor:pointer;color:#f3dfbf;font:600 15px/1.5 Georgia,serif}
.nb-external-guides .directory-services{margin:0 0 15px}

/* Unify the dropdown palette with the existing dark TICINO rooms. */
select, select option, select optgroup { color-scheme: dark; }
.nb-guide-districts a, .nb-rendezvous-types a { text-decoration: none; }
.nb-venue-grid .nb-card { max-width: 100%; }

/* FINAL place-card layout: separated, bounded, readable. */
.nb-place-collection .nb-card-grid.nb-venue-grid,
.nb-guide-directory .nb-card-grid.nb-venue-grid {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px 22px !important;
  align-items:start !important;
  padding:18px 0 10px;
}
.nb-venue-grid > .nb-card.nb-venue-card {
  box-sizing:border-box !important;
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  min-height:290px;
  max-height:410px;
  overflow-y:auto;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
  gap:9px;
  margin:0 !important;
  padding:20px !important;
  border:1px solid rgba(199,167,120,.52) !important;
  border-radius:3px;
  background:#0b1d16 !important;
  box-shadow:none !important;
  overflow-wrap:anywhere;
}
.nb-venue-grid .nb-venue-card h3 {
  font:400 clamp(19px,1.45vw,23px)/1.23 Georgia,'Times New Roman',serif !important;
  color:#cda0bf !important; /* Muted mauve, not oversized cream */
  margin:4px 0 5px !important;
  letter-spacing:0 !important;
  overflow-wrap:anywhere;
}
.nb-venue-grid .nb-venue-card p,
.nb-venue-grid .nb-venue-card a { margin:0 0 3px; line-height:1.55; }
.nb-venue-grid .nb-venue-card .nb-comment-thread {
  margin-top:auto;
  flex-shrink:0;
}
.nb-venue-grid .nb-venue-card:has(.nb-comment-thread[open]) {
  max-height:none !important;
  overflow:visible;
}
.nb-venue-description { margin:5px 0 8px; }
.nb-venue-description > summary {
  cursor:pointer;
  color:#d1b17b;
  font:600 12px/1.6 Arial,sans-serif;
  padding:7px 0;
}
.nb-venue-description > p { margin:8px 0; }
@media(max-width:1050px) {
 .nb-place-collection .nb-card-grid.nb-venue-grid,
 .nb-guide-directory .nb-card-grid.nb-venue-grid {
   grid-template-columns:repeat(2,minmax(0,1fr)) !important;
   gap:20px !important;
 }
}
@media(max-width:640px) {
 .nb-place-collection .nb-card-grid.nb-venue-grid,
 .nb-guide-directory .nb-card-grid.nb-venue-grid {
   grid-template-columns:minmax(0,1fr) !important;
   gap:18px !important;
 }
 .nb-venue-grid > .nb-card.nb-venue-card { min-height:0; max-height:400px; }
}

/* The only whole-directory disclosure is for external digital services (Grindr, etc.). */
.nb-place-collection.nb-always-open{display:block; padding:18px 16px 22px;}
.nb-place-collection.nb-always-open>.nb-results-counter{color:#d8ba87;margin:0 0 14px;font-size:13px;}
.nb-map-loader .nb-city-map-canvas{width:100%;min-height:340px;margin-top:12px;}
.nb-map-loader.nb-map-unselected{min-height:200px;display:flex;flex-direction:column;justify-content:center;}
.nb-map-loader.nb-map-unselected p{max-width:440px;}
.nb-world-panel #atlas-world{min-height:340px;}
/* Existing <details> on individual comments and optional long descriptions remain functional. */
