/* GaryCity sitemap: XML + CSS stays independent of deprecated browser XSLT.
   sm| selectors apply only to the standard sitemap XML namespace. */
@namespace sm url("http://www.sitemaps.org/schemas/sitemap/0.9");

sm|urlset {
  display:block;
  box-sizing:border-box;
  min-height:100vh;
  max-width:1040px;
  margin:0 auto;
  padding:40px 24px;
  background:#f7f5f0;
  color:#122b3f;
  font:16px/1.65 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  counter-reset:sitemap-page;
}
sm|urlset::before {
  content:"GaryCity · XML sitemap\A\A Published canonical pages for search engines.\A For clickable links arranged by city and topic, visit:\A https://garycity.com/sitemap/";
  display:block;
  margin-bottom:28px;
  padding-bottom:28px;
  border-bottom:3px solid #15636b;
  white-space:pre-line;
  overflow-wrap:anywhere;
  font-size:1.125em;
  font-weight:600;
}
sm|url {
  display:grid;
  grid-template-columns:2.5em minmax(0,1fr);
  gap:4px 12px;
  padding:20px;
  margin:0 0 12px;
  border:1px solid #d8dcd6;
  border-radius:5px;
  background:#fff;
  counter-increment:sitemap-page;
}
sm|url::before {
  content:counter(sitemap-page,decimal-leading-zero);
  grid-column:1;
  grid-row:1 / span 2;
  font-weight:600;
  color:#52616b;
}
sm|loc {
  display:block;
  grid-column:2;
  min-width:0;
  color:#15636b;
  overflow-wrap:anywhere;
  word-break:normal;
}
sm|lastmod {
  display:block;
  grid-column:2;
  color:#52616b;
  font-size:.875em;
}
sm|lastmod::before { content:"Page updated: "; }
sm|urlset::after {
  content:"End of sitemap · GaryCity is an independent guide to Gary, Indiana and Gary City, Texas.";
  display:block;
  padding-block:20px;
  color:#52616b;
  font-size:.875em;
}
/* XML cannot carry HTML viewport metadata. On a phone the browser commonly
   lays it out at 980 CSS px; compensate for that scaled layout without adding
   non-protocol HTML elements. The HTML companion has normal viewport metadata. */
@media (max-device-width:640px) and (min-width:700px) {
  sm|urlset { font-size:40px; padding:48px 36px; }
  sm|url { padding:28px; }
}

/* Human HTML companion. Shared site tokens/fonts remain in the main shell. */
.sitemap-intro { padding:36px 0 40px; }
.sitemap-intro h1 { max-width:16ch; margin-bottom:20px; }
.sitemap-intro .page-lede { max-width:56ch; }
.sitemap-intro-note { margin-bottom:24px; }
.sitemap-jumps { display:flex; flex-wrap:wrap; gap:10px; }
.sitemap-jumps a {
  display:flex;
  align-items:center;
  gap:14px;
  min-height:48px;
  padding:9px 14px;
  border:1px solid #657380;
  border-radius:5px;
  color:#122b3f;
  background:#fff;
}
.sitemap-jumps a:hover { background:#e8efeb; }
.sitemap-jumps a span { color:#52616b; font-size:.875rem; text-decoration:none; }
.sitemap-groups { padding-bottom:8px; }
.sitemap-group {
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  align-items:start;
  gap:clamp(28px,5vw,76px);
  border-top:1px solid #d8dcd6;
  padding-block:44px;
  scroll-margin-top:24px;
}
.sitemap-group h2 { margin-top:8px; margin-bottom:16px; }
.sitemap-group-intro > p { color:#52616b; max-width:42ch; }
.sitemap-group-image { margin:24px 0 0; }
.sitemap-group-image img { width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:5px; }
.sitemap-group-image figcaption { margin-top:10px; max-width:48ch; color:#52616b; font-size:.875rem; }
.sitemap-page-list { list-style:none; padding:0; margin:0; }
.sitemap-page-list li { border-bottom:1px solid #d8dcd6; padding-block:4px 18px; margin-bottom:14px; }
.sitemap-page-list a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:48px;
  padding-block:8px;
  font-size:1.2rem;
  line-height:1.4;
  font-weight:600;
  color:#15636b;
  overflow-wrap:anywhere;
}
.sitemap-page-list p { margin:4px 30px 0 0; color:#52616b; }
.sitemap-arrow { flex:none; text-decoration:none; }
.sitemap-help { border-top:3px solid #15636b; padding-top:32px; }
.sitemap-help p { max-width:60ch; }
.sitemap-jumps a:focus-visible,.sitemap-page-list a:focus-visible,.sitemap-intro-note a:focus-visible {
  outline:3px solid #9b3e25;
  outline-offset:4px;
}
@media(max-width:640px) {
  sm|urlset { padding:24px 14px; }
  sm|url { padding:16px 12px; grid-template-columns:1.75em minmax(0,1fr); gap:4px 8px; }
  .sitemap-intro { padding-top:24px; }
  .sitemap-group { grid-template-columns:minmax(0,1fr); gap:24px; padding-block:32px; }
  .sitemap-group-image { max-width:420px; }
  .sitemap-page-list a { font-size:1.125rem; }
  .sitemap-jumps a { flex:1 1 190px; justify-content:space-between; }
}
@media print {
  .sitemap-group { break-inside:avoid; }
  .sitemap-group-image { display:none; }
}
