/* Sitemap page (sitemap.html): one card per section with its links. */
.sm .sm-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); gap: 1rem; margin-top: 1.2rem; }
.sm .sm-card { padding: 1rem 1.15rem 1.1rem; border: 1px solid var(--line, #e3dcf3); border-top: 4px solid #541ba3; border-radius: 16px; background: #fff; }
.sm .sm-card h2 { display: flex; align-items: center; gap: .55rem; margin: 0 0 .6rem; font-size: 1.1rem; font-weight: 800; color: #1e1b3a; }
.sm .sm-card h2 .bi { display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 10px; background: #eee8fb; color: #43138a; font-size: 1rem; }
.sm .sm-card ul { list-style: none; margin: 0; padding: 0; }
.sm .sm-card li { padding: .4rem 0; border-top: 1px solid #f0ebfa; line-height: 1.4; }
.sm .sm-card li:first-child { border-top: 0; }
.sm .sm-card li a { font-weight: 700; text-decoration: none; }
.sm .sm-card li a:hover { text-decoration: underline; }
.sm .sm-card li span { display: block; margin-top: .1rem; font-size: .84rem; color: #5b5778; }
.sm .sm-card li .sm-soon { display: inline; font-weight: 700; color: #7a4a00; font-size: inherit; margin: 0; }
