/* Pinned settlement hubs (GEN-1528/1529): featured record, compact rows,
   Show more. Loaded only on hub pages (inc/settlement-hubs.php). Existing
   theme tokens only. */
.st-hub__crumbs { margin: 0 0 16px; }
/* Long breadcrumbs (month and week pages) wrap instead of widening the head
   column past a phone viewport. */
.sthub .st-hub__crumbs { flex-wrap: wrap; row-gap: 2px; }
.sthub .st-hub__crumbs > * { min-width: 0; }
.sthub .st-hubgroups__more { margin: -14px 0 30px; font-size: 14px; color: var(--ink-2); }
.sthub [hidden] { display: none !important; }
.sthub ul[role="list"] { margin: 0; padding: 0; list-style: none; }
.sthub .st-tile--archive { width: 40px; height: 40px; border-radius: 11px; font-size: 17px; flex: none; object-fit: contain; background: #fff; box-shadow: inset 0 0 0 1px var(--line); }
.sthub .st-tile--monogram { box-shadow: none; }
.sthub-count { max-width: none; margin-top: 22px; }
.sthub .st-quicklinks { justify-content: flex-start; }
.sthub-groups { margin-top: 8px; }
.sthub-group { margin: 0 0 34px; }
.sthub-sec-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 16px; margin: 0 0 10px; }
.sthub-group__title { margin: 0; font-size: 19px; font-weight: 700; line-height: 1.3; letter-spacing: -0.01em; color: var(--ink); }
.sthub-sec-head p { margin: 0; font-size: 13.5px; color: var(--ink-2); }
.sthub-n { display: inline-block; min-width: 24px; margin-left: 6px; padding: 2px 8px; border-radius: 100px; background: var(--surface-2); font-size: 12.5px; font-weight: 700; color: var(--ink-2); text-align: center; vertical-align: 2px; }
.sthub-empty { margin: 0; padding: 16px 18px; border-radius: 12px; background: var(--surface-2); font-size: 14.5px; color: var(--ink-2); }
.sthub-beyond { margin: -14px 0 30px; font-size: 14px; color: var(--ink-2); }
.sthub-link { color: inherit; text-decoration: none; }
.sthub-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.sthub-link:hover { color: var(--blue); text-decoration: none; }
.sthub-link:focus { outline: none; }
.sthub-row:has(.sthub-link:focus-visible), .sthub-lead:has(.sthub-link:focus-visible) { outline: 3px solid var(--blue); outline-offset: 2px; }

/* facts */
.sthub-facts { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: 10px; margin: 0; }
.sthub-facts > div { min-width: 0; }
.sthub-facts dt { margin: 0 0 2px; font-size: 11.5px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--ink-2); }
.sthub-facts dd { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.4; color: var(--ink); }
.sthub-facts dd.sthub-pay { font-size: 15px; font-weight: 700; }
.sthub-facts dd.sthub-pay--none { font-size: 14px; font-weight: 500; color: var(--ink-2); }
.sthub-pay-note { display: block; margin-top: 1px; font-size: 12.5px; font-weight: 500; line-height: 1.35; color: var(--ink-2); }
.sthub-days { display: block; font-size: 13px; font-weight: 600; color: var(--ink-2); }
.sthub-days--urgent { color: var(--st-amber-ink); }
.sthub-meta { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 0; font-size: 12.5px; font-weight: 500; color: var(--ink-2); }
.sthub-status::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--st-green); vertical-align: 1px; }
.sthub-status--soon::before { background: var(--st-amber); }
.sthub-status--upcoming::before { background: var(--blue); }
.sthub-status--closed::before { background: var(--ink-3); }

/* featured */
.sthub-lead { position: relative; margin: 26px 0 30px; padding: 20px 24px; border: 1px solid #dfe6f7; border-left: 4px solid var(--blue); border-radius: 6px 18px 18px 6px; background: #f7f9ff; }
.sthub-lead__eyebrow { margin: 0 0 10px; font-size: 12.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--blue-dark, #0040cc); }
.sthub-lead__head { display: flex; align-items: center; gap: 14px; margin: 0 0 12px; }
.sthub-lead .st-tile--archive { width: 52px; height: 52px; border-radius: 14px; font-size: 22px; }
.sthub-lead__title { margin: 0; font-size: 22px; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; color: var(--ink); overflow-wrap: anywhere; }
.sthub-facts--lead { display: flex; flex-wrap: wrap; gap: 10px 44px; }
.sthub-facts--lead dd.sthub-pay { font-size: 19px; }
.sthub-lead .sthub-meta { margin-top: 12px; padding-top: 10px; border-top: 1px solid #dfe6f7; }

/* rows */
.sthub-rows { border-top: 1px solid var(--line); }
.sthub-row { position: relative; display: grid; grid-template-columns: 40px minmax(0, 1fr) minmax(0, 340px); align-items: center; gap: 16px; padding: 12px 8px; border-bottom: 1px solid var(--line); }
.sthub-row:hover { background: #fafbff; }
.sthub-row__main { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.sthub-row__title { margin: 0; font-size: 15.5px; font-weight: 600; line-height: 1.35; letter-spacing: -0.01em; color: var(--ink); overflow-wrap: anywhere; }
.sthub-facts--row { grid-template-columns: minmax(0, 170px) minmax(0, 1fr); }

/* day groups (C agenda, New day lists) */

/* cards (B) */

/* folds */
.sthub-fold { margin: 0 0 14px; border: 1px solid var(--st-border); border-radius: 14px; background: #fff; }
.sthub-fold__sum { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 14px; min-height: 56px; padding: 12px 18px; cursor: pointer; list-style: none; }
.sthub-fold__sum::-webkit-details-marker { display: none; }
.sthub-fold__sum::after { content: ""; width: 8px; height: 8px; margin-left: auto; border-right: 2px solid var(--blue); border-bottom: 2px solid var(--blue); transform: rotate(45deg); transition: transform .15s ease; }
.sthub-fold[open] > .sthub-fold__sum::after { transform: rotate(-135deg); }
.sthub-fold__sum:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; border-radius: 14px; }
.sthub-fold__title { margin: 0; font-size: 17px; font-weight: 700; color: var(--ink); }
.sthub-fold__n { font-size: 13.5px; font-weight: 600; color: var(--ink-2); }
.sthub-fold__body { padding: 0 18px 18px; }
.sthub-fold--calendar { margin-top: 8px; }
.sthub-fold--calendar .cal { margin-top: 6px; }

/* C strip */

/* New */

/* Show more */
.sthub-more { display: flex; justify-content: center; margin: 16px 0 0; }
.sthub-more__btn { min-height: 44px; padding: 10px 22px; border: 1px solid var(--blue); border-radius: 100px; background: #fff; color: var(--blue); font: 700 14.5px/1.2 var(--font-family); cursor: pointer; }
.sthub-more__btn:hover { background: var(--blue); color: #fff; }
.sthub-more__btn:focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }

@media (max-width: 1024px) {
  .sthub-row { grid-template-columns: 40px minmax(0, 1fr); align-items: start; }
  .sthub-facts--row { grid-column: 2; grid-template-columns: minmax(0, 200px) minmax(0, max-content); justify-content: start; column-gap: 28px; }
}
@media (max-width: 768px) {
  .sthub-lead { margin: 20px 0 24px; padding: 16px 16px; }
  .sthub-lead__title { font-size: 19px; }
  .sthub-facts--lead { gap: 10px 24px; }
  .sthub-row { grid-template-columns: 36px minmax(0, 1fr); gap: 12px; padding: 12px 2px; }
  .sthub-row .st-tile--archive { width: 36px; height: 36px; }
  .sthub-group { margin-bottom: 28px; }
  .sthub-more__btn { width: 100%; }
  .sthub-fold__sum { padding: 12px 14px; }
  .sthub-fold__body { padding: 0 14px 14px; }
}
@media (max-width: 559px) {
  .sthub-facts--row { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 12px; }
}
@media (max-width: 359px) {
  .sthub-facts, .sthub-facts--row { display: grid; grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .sthub-facts > div { display: grid; grid-template-columns: 84px minmax(0, 1fr); align-items: baseline; gap: 8px; }
  .sthub-facts dt { margin: 0; }
  .sthub-facts--lead { display: grid; }
}

/* /settlements/new/ (GEN-1529): rows grouped by first-published day, weekly
   archive, week page navigation. */
.sthub-day-group + .sthub-day-group { margin-top: 18px; }
.sthub-day-group__h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 0 6px; font-size: 14px; font-weight: 700; color: var(--ink); scroll-margin-top: 90px; }
.sthub-day-group__n { margin-left: auto; font-size: 12.5px; font-weight: 600; color: var(--ink-2); }
.sthub-weeks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 24px; border-top: 1px solid var(--line); }
.sthub-weeks li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 4px; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.sthub-weeks a { font-weight: 600; }
.sthub-weeks a:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; border-radius: 4px; }
.sthub-weeks span { color: var(--ink-2); white-space: nowrap; }
.st-weeknav { display: flex; justify-content: space-between; gap: 16px; margin: 8px 0 30px; font-weight: 600; }
.st-weeknav a[rel="next"] { margin-left: auto; }
@media (max-width: 1024px) {
  .sthub-weeks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
  .sthub-weeks { grid-template-columns: minmax(0, 1fr); }
}
