/* "What's nearby" area profile on listing detail pages (rendered by tools/nearby/render_nearby.py).
   Light cards in the site palette; Thai/English dual spans switch with html.lang-th (js/i18n.js). */
.nearby { margin-top: 2.6rem; }
.nearby h2 { margin-bottom: .35em; }
.nearby-lede { color: var(--muted); font-size: .98rem; margin: 0 0 1.1rem; }
.nearby-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: .7rem; }
.nb-item, .nb-delivery { display: flex; gap: .85rem; align-items: flex-start; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--r); padding: .85rem 1rem; }
.nb-ico { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 11px; background: #E4F1E7; color: var(--maroon); display: grid; place-items: center; }
.nb-ico svg { width: 20px; height: 20px; display: block; }
.nb-airport .nb-ico svg { fill: currentColor; stroke: none; }
.nb-body { min-width: 0; display: block; }
.nb-label { display: block; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--tan); line-height: 1.4; }
.nb-name { display: block; font-weight: 650; font-size: .97rem; line-height: 1.3; margin: .18rem 0 .12rem; color: var(--text); overflow-wrap: anywhere; }
.nb-none { font-weight: 500; color: var(--muted); }
.nb-dist { display: block; font-size: .88rem; color: var(--muted); }
.nb-delivery { margin-top: .7rem; }
.nb-pills { list-style: none; margin: .35rem 0 .2rem; padding: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.nb-pill { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .7rem; border-radius: 999px; font-size: .86rem; border: 1px solid var(--line); background: #fff; }
.nb-pill .nb-svc { font-weight: 700; color: var(--text); }
.nb-pill.nb-ok { border-color: rgba(36,117,51,.35); background: #EAF5EC; }
.nb-pill.nb-ok .nb-st { color: #1D6B2C; }
.nb-pill.nb-likely { border-color: rgba(221,153,51,.45); background: #FDF5E7; }
.nb-pill.nb-likely .nb-st { color: #8A5A10; }
.nb-pill.nb-tbc { background: #F3F4F3; }
.nb-pill.nb-tbc .nb-st { color: var(--muted); }
.nb-small { font-size: .8rem; color: var(--muted); margin: .25rem 0 0; }
.nb-foot { font-size: .78rem; color: var(--muted); margin: .9rem 0 0; line-height: 1.5; }
.nb-foot a { color: var(--muted); }
.nearby .i18n-th { display: none; }
html.lang-th .nearby .i18n-th { display: inline; }
html.lang-th .nearby .i18n-en { display: none; }
html.lang-th .nb-label { letter-spacing: .02em; text-transform: none; font-size: .78rem; }
@media (max-width: 640px) {
  .nearby-grid { grid-template-columns: 1fr; gap: .55rem; }
  .nb-item, .nb-delivery { padding: .75rem .85rem; }
}
/* Detail pages on phones: the single-column grid was "1fr" (min-content), so the gallery thumbnail strip
   stretched .detail-main (and this section) to thousands of px. minmax(0,1fr) keeps it to the screen width. */
@media (max-width: 960px) {
  .detail-layout { grid-template-columns: minmax(0, 1fr); }
}
