@layer base, layout, components, utilities, pages;

/* Page: /sitemap/ */

.molding.sitemap .molding-hero {
  padding: clamp(40px, 8vw, 72px) 0;
  background: #f8fafc;
}

.molding.sitemap .molding-hero__inner {
  min-height: auto;
  padding-left: clamp(24px, 6vw, 80px);
  padding-right: clamp(24px, 6vw, 80px);
}

.molding.sitemap .molding-hero__body {
  width: min(720px, 100%);
  padding: 0;
  margin: 0;
  background: none;
  color: #0f172a;
  border: none;
  box-shadow: none;
}

.molding.sitemap .molding-hero__body::after {
  display: none;
}

.molding.sitemap .molding-hero__meta,
.molding.sitemap .molding-hero__lead {
  color: rgba(15, 23, 42, 0.68);
}

.molding.sitemap .molding-hero__visual {
  display: none;
}

.sitemap-index {
  padding: clamp(32px, 6vw, 64px) 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  background: #ffffff;
}

.sitemap-index__title {
  margin: 0 0 clamp(14px, 3vw, 24px);
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(15, 23, 42, 0.72);
}

.sitemap-index__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sitemap-index__list a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  border: 1px solid rgba(37, 99, 235, 0.28);
  background: rgba(59, 130, 246, 0.08);
  color: #1d4ed8;
  font-size: 0.9rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.sitemap-index__list a::after {
  content: '\2192';
  font-size: 0.85rem;
}

.sitemap-index__list a:hover,
.sitemap-index__list a:focus-visible {
  background: rgba(59, 130, 246, 0.18);
  color: #1e3a8a;
  transform: translateX(2px);
}

.sitemap-section {
  padding: clamp(36px, 7vw, 72px) 0;
  border-bottom: 1px solid rgba(15, 23, 42, 0.08);
  background: #ffffff;
}

.sitemap-section .section__head {
  margin-bottom: clamp(18px, 4vw, 32px);
}

.sitemap-section .post-list {
  border-top: 0;
}

.sitemap-section .post-list__item {
  border-bottom: 0;
}

.sitemap-section__empty {
  margin: 0;
  font-size: 0.95rem;
  color: rgba(15, 23, 42, 0.6);
}

.post-list--root {
  list-style: none;
  margin: 0;
  padding: 0;
}

.post-list--child {
  list-style: none;
  margin: 6px 0 0 1.2rem;
  padding: 0;
}

.post-list--child .post-list__item {
  border-bottom: 0;
}

.post-list--child .post-list__link {
  padding: 8px 0;
}

@media (max-width: 680px) {
  .sitemap-index__list {
    gap: 8px;
  }

  .sitemap-index__list a {
    padding: 8px 12px;
  }

  .post-list--child {
    margin-left: 0.9rem;
  }
}
