/* Lake George Land: listings / sales / news sections (2026-09-27)
   Page-level additions only. Tokens, type and cards come from site.css. */

/* Hero stats line (quiet heroes) */
.sx-meta { display: flex; flex-wrap: wrap; gap: 0.35rem 1.4rem; margin: 0.9rem 0 0; font-family: var(--font-sans); font-size: 0.9rem; color: var(--muted); }
.sx-meta strong { color: var(--ink); font-weight: 650; }

/* Filter bar */
.lx-controls { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem 1rem; align-items: end; padding: 1rem 0 1.1rem; margin: 0 0 1.4rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-family: var(--font-sans); }
.lx-controls[hidden] { display: none; }
.lx-controls label { display: flex; flex-direction: column; gap: 0.3rem; font-size: 0.7rem; font-weight: 650; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); }
.lx-controls select { appearance: none; -webkit-appearance: none; font: inherit; font-size: 0.95rem; letter-spacing: 0; text-transform: none; font-weight: 500; color: var(--ink); background: var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238a7348'/%3E%3C/svg%3E") no-repeat right 0.8rem center; border: 1px solid var(--line); border-radius: var(--radius-sm, 4px); padding: 0.6rem 2rem 0.6rem 0.75rem; min-height: 44px; }
.lx-controls select:focus-visible { outline: 2px solid var(--focus); outline-offset: 1px; }
.lx-count { grid-column: 1 / -1; margin: 0; font-size: 0.88rem; color: var(--muted); }
.lx-count strong { color: var(--ink); }
.lx-reset { font: inherit; font-size: 0.88rem; font-weight: 600; background: none; border: 0; padding: 0; margin-left: 0.6rem; color: var(--wood); cursor: pointer; text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 900px) {
  .lx-controls { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* Listing cards */
.lx-grid { display: grid; grid-template-columns: 1fr; gap: var(--space-4, 1.25rem); }
@media (min-width: 720px) { .lx-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .lx-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.lx-card[hidden] { display: none; }
.lx-card--text { padding-top: 1.35rem; }
.lx-card .price { margin-top: 0.05rem; }
.lx-card .lx-facts { font-family: var(--font-sans); font-size: 0.92rem; color: var(--ink); margin: 0; }
.lx-credit { font-family: var(--font-sans); font-size: 0.8rem !important; line-height: 1.45 !important; color: var(--muted); margin: 0.1rem 0 0 !important; }
.lx-links { flex: 0 0 auto !important; align-content: flex-start; display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin-top: auto; padding-top: 0.7rem; border-top: 1px solid var(--line); font-family: var(--font-sans); font-size: 0.86rem; font-weight: 600; }
.lx-links a { display: inline; min-height: 0; height: auto; padding: 0; color: var(--lake); text-decoration: none; }
.lx-links a:hover { color: var(--lake-deep); text-decoration: underline; text-underline-offset: 3px; }
.lx-pill-wf { color: var(--wood) !important; }
.lx-empty { padding: 2rem 0; color: var(--muted); font-family: var(--font-sans); }
.lx-featured-note { font-family: var(--font-sans); font-size: 0.8rem; color: var(--muted); margin: 0 0 0.25rem; }

/* Stats */
.sx-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0 0 1.75rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
@media (min-width: 720px) { .sx-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sx-stat { padding: 1rem 1rem 1rem 0; }
.sx-stat b { display: block; font-family: var(--font-sans); font-size: 0.68rem; font-weight: 650; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); margin-bottom: 0.3rem; }
.sx-stat span { font-family: var(--font-serif); font-size: clamp(1.35rem, 2.6vw, 1.75rem); color: var(--ink); letter-spacing: -0.02em; }

/* Sales table */
.sx-table-wrap { overflow-x: auto; }
.sx-table { width: 100%; border-collapse: collapse; font-family: var(--font-sans); font-size: 0.92rem; }
.sx-table th { text-align: left; font-size: 0.68rem; font-weight: 650; letter-spacing: 0.1em; text-transform: uppercase; color: var(--muted); padding: 0.6rem 0.75rem 0.6rem 0; border-bottom: 1px solid var(--ink); white-space: nowrap; }
.sx-table td { padding: 0.8rem 0.75rem 0.8rem 0; border-bottom: 1px solid var(--line); vertical-align: top; color: var(--ink); }
.sx-table td.n, .sx-table th.n { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sx-table td.d { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--muted); }
.sx-table .sx-addr { font-weight: 600; }
.sx-table .sx-addr a { color: var(--ink); text-decoration: none; border-bottom: 1px solid var(--shore); }
.sx-table .sx-addr a:hover { border-bottom-color: var(--ink); }
.sx-sub { display: block; font-size: 0.8rem; color: var(--muted); font-weight: 400; margin-top: 0.15rem; }
.sx-flag { color: var(--wood); font-weight: 700; text-decoration: none; }
.sx-src a { color: var(--lake); font-weight: 600; text-decoration: none; white-space: nowrap; }
.sx-src a:hover { text-decoration: underline; }
@media (max-width: 719px) {
  .sx-table thead { display: none; }
  .sx-table, .sx-table tbody, .sx-table tr, .sx-table td { display: block; width: 100%; }
  .sx-table tr { padding: 0.85rem 0; border-bottom: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 0.15rem 1rem; }
  .sx-table td { border: 0; padding: 0; }
  .sx-table td.sx-addr-cell { grid-column: 1; grid-row: 1; }
  .sx-table td.n { grid-column: 2; grid-row: 1; font-weight: 700; }
  .sx-table td.d { grid-column: 1 / -1; grid-row: 2; font-size: 0.84rem; }
  .sx-table td.sx-town { grid-column: 1 / -1; grid-row: 3; font-size: 0.84rem; color: var(--muted); }
  .sx-table td.sx-type { grid-column: 1 / -1; grid-row: 4; font-size: 0.84rem; color: var(--muted); }
  .sx-table td.sx-src { grid-column: 1 / -1; grid-row: 5; font-size: 0.84rem; margin-top: 0.2rem; }
}
.sx-legend { font-family: var(--font-sans); font-size: 0.84rem; color: var(--muted); margin: 1rem 0 0; max-width: 46rem; line-height: 1.55; }

/* Top sales list */
.sx-top { list-style: none; padding: 0; margin: 0 0 2rem; counter-reset: top; border-top: 1px solid var(--line); }
.sx-top li { counter-increment: top; display: grid; grid-template-columns: 2rem 1fr auto; gap: 0.25rem 0.75rem; padding: 0.8rem 0; border-bottom: 1px solid var(--line); font-family: var(--font-sans); align-items: baseline; }
.sx-top li::before { content: counter(top, decimal-leading-zero); font-family: var(--font-serif); color: var(--wood); font-size: 0.95rem; }
.sx-top .sx-top-price { font-weight: 700; font-variant-numeric: tabular-nums; }
.sx-top a { color: var(--ink); text-decoration: none; font-weight: 600; }
.sx-top a:hover { text-decoration: underline; }

/* News feed */
.nx-feed { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.nx-item p, .nx-item h3, .nx-item h4 { margin: 0; }
.nx-item { padding: 1.15rem 0 1.2rem; border-bottom: 1px solid var(--line); display: grid; gap: 0.35rem; }
@media (min-width: 720px) { .nx-item { grid-template-columns: 9.5rem 1fr; gap: 0.35rem 1.75rem; } .nx-item > .nx-when { grid-row: 1 / span 3; } }
.nx-when { font-family: var(--font-sans); font-size: 0.8rem; color: var(--muted); line-height: 1.4; }
.nx-when time { display: block; color: var(--ink); font-weight: 600; font-size: 0.86rem; }
.nx-item h3 { margin: 0; font-size: 1.12rem; line-height: 1.3; letter-spacing: -0.012em; }
.nx-item h3 a { color: var(--ink); text-decoration: none; }
.nx-item h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.nx-sum { margin: 0; color: var(--muted); font-size: 0.98rem; line-height: 1.55; max-width: 44rem; }
.nx-rel { display: flex; flex-wrap: wrap; gap: 0.3rem 1rem; font-family: var(--font-sans); font-size: 0.84rem; font-weight: 600; }
.nx-rel a { color: var(--lake); text-decoration: none; }
.nx-rel a:hover { text-decoration: underline; }
.nx-note { font-family: var(--font-sans); font-size: 0.84rem; color: var(--muted); margin: 1rem 0 0; }

/* Homepage market modules */
.hm-grid { display: grid; grid-template-columns: 1fr; gap: 2.25rem; }
@media (min-width: 960px) { .hm-grid { grid-template-columns: 1fr 1fr; gap: 3rem; } }
.hm-head { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; margin: 0 0 0.85rem; }
.hm-head h3 { margin: 0; font-size: 1.25rem; letter-spacing: -0.015em; }
.hm-head a { font-family: var(--font-sans); font-size: 0.86rem; font-weight: 600; color: var(--lake); text-decoration: none; white-space: nowrap; }
.hm-head a:hover { text-decoration: underline; }
.hm-listings { margin-bottom: 2.5rem; }
.hm-sales { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); font-family: var(--font-sans); }
.hm-sales li { display: grid; grid-template-columns: 1fr auto; gap: 0.1rem 1rem; padding: 0.75rem 0; border-bottom: 1px solid var(--line); }
.hm-sales .hm-addr { font-weight: 600; color: var(--ink); text-decoration: none; }
.hm-sales a.hm-addr:hover { text-decoration: underline; }
.hm-sales .hm-price { font-weight: 700; font-variant-numeric: tabular-nums; text-align: right; }
.hm-sales .hm-sub { grid-column: 1 / -1; font-size: 0.82rem; color: var(--muted); }
.hm-note { font-family: var(--font-sans); font-size: 0.8rem; color: var(--muted); margin: 0.7rem 0 0; }

/* /sales/ summaries (2026-09-27 feed build) */
.sx-cols { display: grid; grid-template-columns: 1fr; gap: 1.5rem 3rem; margin: 0 0 2rem; }
@media (min-width: 960px) { .sx-cols { grid-template-columns: 1fr 1fr; } }
.sx-cols .section-title { font-size: 1.3rem; margin-bottom: 0.6rem; }
.sx-table.sx-mini td, .sx-table.sx-mini th { padding-top: 0.55rem; padding-bottom: 0.55rem; }
.sx-table.sx-mini td a { color: var(--ink); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--shore); }
.sx-table.sx-mini .sx-sub { font-variant-numeric: normal; white-space: normal; }
.sx-table tr[hidden] { display: none !important; }
.sx-na { color: var(--muted) !important; font-size: 0.84rem; }
.sx-srclist { padding-left: 1.2rem; margin-top: 0.4rem; }
.sx-srclist li { margin: 0.15rem 0; }
.sx-top .sx-sub a.sx-srcl { font-weight: 500; color: var(--lake); }
.hm-sales .hm-sub a { color: var(--lake); text-decoration: none; }
@media (max-width: 719px) {
  .sx-table.sx-mini thead { display: table-header-group; }
  .sx-table.sx-mini, .sx-table.sx-mini tbody { display: table; width: 100%; }
  .sx-table.sx-mini tbody { display: table-row-group; }
  .sx-table.sx-mini tr { display: table-row; padding: 0; }
  .sx-table.sx-mini td { display: table-cell; width: auto; padding: 0.55rem 0.5rem 0.55rem 0; border-bottom: 1px solid var(--line); }
}

/* /news/ Properties in the news: top stories + filters (2026-09-27 feed) */
.nx-top-title { font-size: 1.2rem; letter-spacing: -0.012em; margin: 0.5rem 0 0.9rem; }
.nx-top { list-style: none; margin: 0 0 2.25rem; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0.9rem; }
@media (min-width: 720px) { .nx-top { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .nx-top { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.nx-top-card { border: 1px solid var(--line); border-top: 3px solid var(--wood); border-radius: var(--radius-sm, 4px); background: var(--card); padding: 0.9rem 1rem 0.85rem; display: flex; flex-direction: column; gap: 0.35rem; }
.nx-top-card p { margin: 0; }
.nx-top-angle { font-family: var(--font-sans); font-size: 0.68rem; font-weight: 650; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wood); }
.nx-top-head { font-size: 1.02rem; line-height: 1.35; }
.nx-top-head a { color: var(--ink); text-decoration: none; }
.nx-top-head a:hover { text-decoration: underline; text-underline-offset: 3px; }
.nx-top-links { display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem; margin-top: auto !important; padding-top: 0.4rem; font-family: var(--font-sans); font-size: 0.84rem; font-weight: 600; }
.nx-top-links a { color: var(--lake); text-decoration: none; }
.nx-top-links a:hover { text-decoration: underline; }
.nx-tag { display: inline-block; font-family: var(--font-sans); font-size: 0.72rem; font-weight: 650; letter-spacing: 0.04em; color: var(--muted); }
.nx-tag--board { color: var(--wood); }
.nx-controls { margin-top: 0; }
@media (min-width: 900px) { .nx-controls { grid-template-columns: repeat(3, minmax(0, 1fr)); } .nx-controls .lx-count { grid-column: auto; align-self: center; } }
.nx-item[hidden] { display: none !important; }
.press-note { font-family: var(--font-sans); font-size: 0.86rem; color: var(--muted); }

/* /news/ building timelines (items sharing a property_key) */
.nx-group-title { font-size: 1.12rem; line-height: 1.3; margin: 0.1rem 0 0.2rem; }
.nx-group-meta { margin: 0 0 0.55rem; font-family: var(--font-sans); font-size: 0.84rem; font-weight: 600; display: flex; flex-wrap: wrap; gap: 0.3rem 0.9rem; align-items: baseline; }
.nx-group-meta a { color: var(--lake); text-decoration: none; }
.nx-group-meta a:hover { text-decoration: underline; }
.nx-timeline { list-style: none; margin: 0; padding: 0 0 0 0.95rem; border-left: 2px solid var(--line); display: grid; gap: 0.7rem; }
.nx-tl { position: relative; display: grid; grid-template-columns: 1fr; gap: 0.1rem; }
.nx-tl::before { content: ""; position: absolute; left: calc(-0.95rem - 5px); top: 0.42rem; width: 8px; height: 8px; border-radius: 50%; background: var(--wood); }
@media (min-width: 720px) { .nx-tl { grid-template-columns: 7.2rem 1fr; gap: 0.9rem; } }
.nx-tl-date { font-family: var(--font-sans); font-size: 0.8rem; font-weight: 650; color: var(--muted); padding-top: 0.12rem; }
.nx-tl-body > a { font-family: var(--font-sans); font-weight: 650; font-size: 0.96rem; line-height: 1.35; color: var(--ink); text-decoration: none; }
.nx-tl-body > a:hover { text-decoration: underline; text-underline-offset: 3px; }
.nx-tl-body .nx-sum { margin: 0.2rem 0 0; }
.nx-tl[hidden] { display: none !important; }
