/* Трезвая жизнь — визуальная тема (подключается после style.css) */
@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,500;0,9..144,600;0,9..144,700;1,9..144,500&family=Source+Sans+3:wght@400;500;600;700&display=swap");

:root {
  --site-font-family: "Source Sans 3", system-ui, -apple-system, Segoe UI, sans-serif;
  --site-body-color: #152018;
  --site-body-bg: #f3f1ea;
  --tz-ink: #152018;
  --tz-ink-soft: #2c3d32;
  --tz-muted: #5a6b5f;
  --tz-paper: #f3f1ea;
  --tz-cream: #faf8f3;
  --tz-white: #fffcf7;
  --tz-forest: #1a5a3c;
  --tz-forest-deep: #0f3d28;
  --tz-moss: #2d7a52;
  --tz-gold: #c4933a;
  --tz-gold-soft: #e8d5b0;
  --tz-line: #d8d2c4;
  --tz-sage: #dce8df;
  --tz-shadow: 0 20px 50px rgba(15, 40, 28, 0.12);
  --tz-radius: 22px;
  --tz-radius-sm: 12px;
}

html {
  font-size: 17px;
}

h1,
h2,
h3,
.home-hero__title,
.home-services__top h2,
.home-gallery__top h2,
.home-prices__top h2,
.price-page__title,
.doctors-page__head h1,
.article-page__title,
.contacts-page__title {
  font-family: Fraunces, Georgia, "Times New Roman", serif;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--tz-forest-deep);
}

.btn {
  background: linear-gradient(165deg, var(--tz-moss) 0%, var(--tz-forest) 100%);
  color: var(--tz-white);
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(26, 90, 60, 0.35);
  font-weight: 600;
  letter-spacing: 0.01em;
}

.btn:hover {
  filter: brightness(1.05);
}

.btn-outline {
  background: var(--tz-white);
  color: var(--tz-forest);
  border: 2px solid var(--tz-forest);
  border-radius: 999px;
}

.btn--soft {
  background: rgba(26, 90, 60, 0.1);
  color: var(--tz-forest-deep);
}

.btn--compact {
  border-radius: 999px;
}

.grey-bg,
.header,
.header__top-wrap {
  background: var(--tz-cream) !important;
}

.header {
  border-bottom: 1px solid var(--tz-line) !important;
  box-shadow: 0 1px 0 rgba(255, 252, 247, 0.8);
}

.header__top-wrap {
  border-bottom-color: var(--tz-line) !important;
}

.header__logo img {
  width: 48px;
  border-radius: 14px;
  box-shadow: 0 4px 12px rgba(15, 61, 40, 0.2);
}

.header__logo-title {
  font-family: Fraunces, Georgia, serif;
  font-weight: 700;
  font-size: clamp(26px, 4vw, 36px);
  line-height: 1.05;
}

.header__logo-title-main {
  color: var(--tz-forest-deep) !important;
  display: block;
}

.header__logo-title-accent {
  color: var(--tz-gold) !important;
  display: block;
  font-style: italic;
  font-weight: 500;
}

.header__city,
.header__contacts,
.header__mobile-address {
  color: var(--tz-muted) !important;
}

.header__contacts a,
.header__callback {
  color: var(--tz-forest-deep) !important;
}

.header__bottom {
  border-top: 1px solid var(--tz-line) !important;
  background: var(--tz-white);
}

.link.lvl-1__link {
  color: var(--tz-ink-soft) !important;
  border-radius: 999px;
}

.lvl-1__menu-item:hover > .menu-item-has-child-wrap > .link.lvl-1__link,
.lvl-1__menu-item:focus-within > .menu-item-has-child-wrap > .link.lvl-1__link {
  background: rgba(26, 90, 60, 0.1) !important;
  color: var(--tz-forest) !important;
}

.lvl-2 {
  border-color: var(--tz-line) !important;
  border-radius: var(--tz-radius-sm) !important;
  box-shadow: var(--tz-shadow) !important;
}

.lvl-2__menu-item a {
  color: var(--tz-ink-soft) !important;
  border-radius: 8px;
}

.lvl-2__menu-item a:hover {
  background: rgba(196, 147, 58, 0.12) !important;
  color: var(--tz-forest-deep) !important;
}

.header__menu-mobile,
.header__phone-mobile,
.mobile-menu__close {
  border-color: var(--tz-line) !important;
  color: var(--tz-forest) !important;
}

.mobile-menu {
  background: var(--tz-cream) !important;
  border-left-color: var(--tz-line) !important;
}

.strong-text {
  color: var(--tz-forest-deep) !important;
}

/* Герой: полноширинный блок с наклонной подложкой */
.page-main > .home-hero,
.page-main--home > .home-hero {
  margin-bottom: clamp(40px, 6vw, 80px) !important;
  padding: 0;
  background: transparent !important;
  color: var(--tz-white);
}

/* Страховка от каскадных конфликтов: герой всегда с темным фоном */
.home-hero {
  background: transparent !important;
}

.page-main > .home-hero .home-hero__inner,
.page-main--home > .home-hero .home-hero__inner {
  position: relative;
  overflow: hidden;
  border-radius: 0;
  padding: clamp(20px, 3.2vw, 34px);
  background: transparent !important;
}

.page-main > .home-hero .container,
.page-main--home > .home-hero .container {
  position: relative;
  z-index: 1;
}

.page-main > .home-hero,
.page-main--home > .home-hero {
  background-image:
    repeating-conic-gradient(
      from 45deg,
      rgba(255, 255, 255, 0.065) 0deg 90deg,
      rgba(255, 255, 255, 0.02) 90deg 180deg
    ),
    linear-gradient(105deg, #0f3d28 0%, #1a5a3c 42%, #256b4a 100%) !important;
  background-size: 34px 34px, cover;
  background-position: 0 0, center;
  background-color: #0f3d28 !important;
}

/* Совместимость с шаблоном, где main уже является .container */
main.container.page-main > .home-hero,
main.container.page-main--home > .home-hero {
  width: auto;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}

main.container.page-main > .home-hero > .container.home-hero__inner,
main.container.page-main--home > .home-hero > .container.home-hero__inner {
  width: min(1240px, 100% - 32px);
  margin: 0 auto;
}

/* Ровные отступы между секциями на главной (в т.ч. после блока с margin:0 в base CSS) */
.page-main > .page-main__inner,
.page-main--home > .page-main__inner {
  display: flex;
  flex-direction: column;
  gap: clamp(48px, 7vw, 104px);
  padding-bottom: clamp(32px, 5vw, 64px);
}

.page-main > .page-main__inner > section,
.page-main--home > .page-main__inner > section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Совместимость с шаблоном без .page-main__inner */
main.page-main > section + section,
main.page-main--home > section + section {
  margin-top: clamp(40px, 6vw, 80px);
}

.home-hero__title {
  color: var(--tz-white) !important;
  font-size: clamp(1.55rem, 2.8vw, 2.35rem);
  line-height: 1.18;
  max-width: 22ch;
}

.home-hero__lead {
  margin: 0 0 14px;
  max-width: 42ch;
  font-size: clamp(1rem, 1.55vw, 1.12rem);
  line-height: 1.55;
  font-weight: 400;
  color: rgba(255, 252, 247, 0.9);
}

.home-hero__tagline {
  margin: 0 0 clamp(22px, 3.2vw, 30px);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(232, 212, 176, 0.88);
}

.home-hero__btn-primary.btn {
  background: var(--tz-white);
  color: var(--tz-forest-deep);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.home-hero__btn-outline.btn-outline {
  background: transparent;
  color: var(--tz-white);
  border-color: rgba(255, 252, 247, 0.55);
}

.home-hero__figure {
  border-radius: var(--tz-radius);
  border: 3px solid rgba(255, 252, 247, 0.35);
  box-shadow: 0 28px 60px rgba(0, 0, 0, 0.35);
  transform: rotate(-1.5deg);
}

.home-hero__figure img {
  border-radius: calc(var(--tz-radius) - 3px);
}

@media (max-width: 900px) {
  .home-hero__figure {
    transform: none;
  }
}

/* Услуги: горизонтальные карточки */
.home-services__top h2,
.home-services__lead {
  color: var(--tz-forest-deep);
}

.home-services__lead {
  color: var(--tz-muted) !important;
}

.home-services__grid {
  gap: 20px;
}

.home-service-card {
  display: grid;
  grid-template-columns: minmax(0, 38%) 1fr;
  align-items: stretch;
  border-radius: var(--tz-radius);
  border: 1px solid var(--tz-line);
  background: var(--tz-white);
  box-shadow: var(--tz-shadow);
  overflow: hidden;
}

.home-service-card__img {
  height: 100%;
  min-height: 140px;
  object-fit: cover;
}

.home-service-card__body {
  padding: 18px 20px 20px;
}

.home-service-card__body h3 {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.home-service-card__body p {
  color: var(--tz-muted) !important;
}

.home-service-card__num {
  color: rgba(196, 147, 58, 0.2) !important;
  font-family: Fraunces, Georgia, serif;
}

@media (max-width: 680px) {
  .home-service-card {
    grid-template-columns: 1fr;
  }

  .home-service-card__img {
    height: 200px;
    min-height: 0;
  }
}

/* О клинике */
.home-about-text__card {
  background: var(--tz-white);
  border: 1px solid var(--tz-line);
  border-radius: var(--tz-radius);
  border-left: 5px solid var(--tz-gold);
  box-shadow: var(--tz-shadow);
}

.home-about-text__card h2 {
  color: var(--tz-forest-deep) !important;
}

.home-about-text__card p,
.home-about-text__list {
  color: var(--tz-ink-soft) !important;
}

.home-about-text__list li::marker {
  color: var(--tz-gold) !important;
}

/* Галереи и заголовки секций */
.home-gallery__top h2,
.home-reviews-carousel__top h2,
.home-licenses__top h2,
.faq-section__top h2,
.contacts-map-section .home-gallery__top h2 {
  color: var(--tz-forest-deep);
}

.home-gallery-swiper__prev,
.home-gallery-swiper__next,
.home-doctors-swiper__prev,
.home-doctors-swiper__next,
.home-reviews-swiper__prev,
.home-reviews-swiper__next,
.home-licenses-swiper__prev,
.home-licenses-swiper__next {
  background: var(--tz-white) !important;
  border: 2px solid var(--tz-line) !important;
  color: var(--tz-forest) !important;
}

.home-gallery-card,
.home-license-card {
  border-radius: var(--tz-radius-sm);
  border: 1px solid var(--tz-line);
}

/* CTA блок */
.home-instalment__card {
  background: linear-gradient(135deg, var(--tz-white) 0%, #f0ebe2 100%);
  border: 1px solid var(--tz-line);
  border-radius: var(--tz-radius);
  box-shadow: var(--tz-shadow);
}

.home-instalment__icon-wrap {
  background: linear-gradient(145deg, rgba(26, 90, 60, 0.12) 0%, rgba(196, 147, 58, 0.15) 100%) !important;
  border-color: var(--tz-gold-soft) !important;
  border-radius: 50%;
}

.home-instalment__icon path[fill="#1ab2c8"],
.home-instalment__icon circle[fill="#0a6fb2"] {
  fill: var(--tz-moss) !important;
}

.home-instalment__icon rect[stroke="#0a6fb2"],
.home-instalment__icon path[stroke="#0a6fb2"] {
  stroke: var(--tz-forest) !important;
}

.home-instalment__title {
  color: var(--tz-forest-deep) !important;
}

.home-instalment__title span {
  color: var(--tz-gold);
}

.home-instalment__text {
  color: var(--tz-muted) !important;
}

.home-instalment__phone a {
  color: var(--tz-forest) !important;
  font-weight: 700;
}

/* Врачи, отзывы */
.doctor-card {
  border-radius: var(--tz-radius);
  border-color: var(--tz-line) !important;
  background: var(--tz-white);
  box-shadow: var(--tz-shadow);
}

.doctor-card__role {
  color: var(--tz-gold) !important;
}

.doctor-card__name {
  color: var(--tz-forest-deep) !important;
}

.doctor-card__photo {
  background: var(--tz-sage) !important;
  border: 3px solid var(--tz-white);
  box-shadow: 0 0 0 2px var(--tz-gold-soft);
}

.home-reviews-card {
  background: var(--tz-white);
  border: 1px solid var(--tz-line);
  border-radius: var(--tz-radius);
  box-shadow: var(--tz-shadow);
}

/* Прайс */
.home-prices__top h2,
.price-section__title {
  color: var(--tz-forest-deep) !important;
}

.price-section__title {
  border-bottom-color: var(--tz-gold-soft) !important;
}

.home-prices__lead,
.home-prices__lead a {
  color: var(--tz-muted) !important;
}

.home-prices__lead a {
  color: var(--tz-forest) !important;
}

.price-table-wrap {
  border-color: var(--tz-line) !important;
  border-radius: var(--tz-radius-sm);
}

.price-table thead th {
  background: rgba(26, 90, 60, 0.1) !important;
  color: var(--tz-forest-deep) !important;
  border-bottom-color: var(--tz-line) !important;
}

.price-table tbody tr:nth-child(even) {
  background: rgba(243, 241, 234, 0.6) !important;
}

.price-table tbody tr:hover {
  background: rgba(196, 147, 58, 0.08) !important;
}

.price-table td:nth-child(2) {
  color: var(--tz-forest) !important;
}

.price-note {
  background: linear-gradient(135deg, #faf3e3 0%, #f5ead0 100%) !important;
  border-color: var(--tz-gold-soft) !important;
  border-radius: var(--tz-radius-sm);
}

.price-note__title {
  color: #6b4a12 !important;
}

.price-note a {
  color: var(--tz-forest) !important;
}

/* FAQ */
.faq-item {
  border-radius: var(--tz-radius-sm);
  border: 1px solid var(--tz-line);
  background: var(--tz-white);
  margin-bottom: 10px;
  overflow: hidden;
}

.faq-item__button {
  font-family: "Source Sans 3", sans-serif;
  color: var(--tz-forest-deep);
}

.faq-item__button:hover {
  background: rgba(26, 90, 60, 0.06);
}

/* Футер */
.site-footer {
  background: linear-gradient(180deg, var(--tz-forest-deep) 0%, #0a2818 100%);
  color: rgba(255, 252, 247, 0.88);
  border-top: 4px solid var(--tz-gold);
}

.site-footer h3 {
  color: var(--tz-gold-soft);
  font-family: Fraunces, Georgia, serif;
}

.site-footer a:hover {
  color: var(--tz-gold-soft);
}

.footer-bottom {
  background: rgba(0, 0, 0, 0.2);
  border-top: 1px solid rgba(255, 252, 247, 0.12);
}

.footer-phone {
  color: var(--tz-gold-soft) !important;
}

.footer-mail {
  color: rgba(255, 252, 247, 0.9) !important;
}

.gallery-lightbox__close {
  background: var(--tz-forest);
  color: var(--tz-white);
}

/* Хлебные крошки и внутренние страницы */
.breadcrumbs span,
.breadcrumbs a {
  color: var(--tz-muted);
}

.stub,
.price-cta,
.contacts-map__frame-wrap {
  border-color: var(--tz-line) !important;
  border-radius: var(--tz-radius-sm);
}

.logo span {
  color: var(--tz-gold) !important;
}

.page-mistake__title {
  color: var(--tz-forest-deep) !important;
}

.page-mistake__lead a {
  color: var(--tz-forest) !important;
}

.vision-toggle--menu,
.vision-toggle--mobile {
  border-radius: 999px;
  border: 1px solid var(--tz-line);
}

/* Внутренние страницы: контакты, FAQ, статьи */
.contacts-page__head h1,
.contacts-map-section__title {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.contacts-page__lead,
.contacts-map-section__hint {
  color: var(--tz-muted) !important;
}

.contacts-card {
  background: var(--tz-white) !important;
  border: 1px solid var(--tz-line) !important;
  border-radius: var(--tz-radius) !important;
  box-shadow: var(--tz-shadow) !important;
}

.contacts-card__title {
  color: var(--tz-forest) !important;
}

.contacts-card__link {
  color: var(--tz-forest) !important;
}

.contacts-map {
  border-color: var(--tz-line) !important;
  background: var(--tz-sage) !important;
  border-radius: var(--tz-radius) !important;
}

.faq-section__top h1,
.faq-section__top h2 {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.faq-section__intro {
  color: var(--tz-muted) !important;
}

.faq-item__button {
  background: var(--tz-white) !important;
}

.faq-item__button::after {
  border-color: var(--tz-gold-soft) !important;
  color: var(--tz-forest) !important;
}

.faq-item__answer {
  color: var(--tz-ink-soft) !important;
}

.article-card,
.articles-page__list .article-card {
  border-color: var(--tz-line) !important;
  border-radius: var(--tz-radius-sm) !important;
}

.article-card__title {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.article-page__content {
  color: var(--tz-ink-soft);
}

.article-page__content h2,
.article-page__content h3 {
  color: var(--tz-forest-deep);
  font-family: Fraunces, Georgia, serif;
}

.review-card {
  background: var(--tz-white);
  border: 1px solid var(--tz-line);
  border-radius: var(--tz-radius-sm);
  box-shadow: var(--tz-shadow);
}

/* ---------- Внутренние страницы: единая палитра с главной ---------- */
main.container.page-main:not(.page-main--home) {
  padding-top: clamp(20px, 3vw, 36px);
  padding-bottom: clamp(40px, 5vw, 72px);
}

.breadcrumbs {
  margin-bottom: clamp(16px, 2.5vw, 24px);
}

.breadcrumbs a:hover {
  color: var(--tz-forest) !important;
}

/* Герой услуги / статьи */
.service-hero {
  background: linear-gradient(135deg, var(--tz-sage) 0%, var(--tz-cream) 50%, var(--tz-white) 100%) !important;
  border: 1px solid var(--tz-line) !important;
  border-radius: var(--tz-radius) !important;
  box-shadow: var(--tz-shadow) !important;
}

.service-hero__eyebrow {
  color: var(--tz-moss) !important;
  font-weight: 600;
}

.service-hero__title {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
  font-weight: 600;
  letter-spacing: -0.02em;
}

.service-hero__lead {
  color: var(--tz-ink-soft) !important;
}

.service-hero__features li {
  background: var(--tz-white) !important;
  border-color: var(--tz-line) !important;
  color: var(--tz-ink-soft) !important;
  box-shadow: 0 2px 12px rgba(15, 40, 28, 0.06) !important;
}

.service-hero__feat-icon {
  background: rgba(26, 90, 60, 0.12) !important;
  border-color: var(--tz-gold-soft) !important;
  color: var(--tz-forest) !important;
  box-shadow: none !important;
}

.service-hero__feat-icon svg path,
.service-hero__feat-icon svg circle {
  stroke: currentColor !important;
}

.service-hero__badges p {
  background: var(--tz-white) !important;
  border-color: var(--tz-line) !important;
  color: var(--tz-ink-soft) !important;
}

.service-hero__badges strong {
  color: var(--tz-forest-deep) !important;
}

.service-hero__media {
  border: 1px solid var(--tz-line);
  box-shadow: var(--tz-shadow) !important;
}

/* Оглавление и текст статьи */
.article-toc {
  background: var(--tz-white) !important;
  border: 1px solid var(--tz-line) !important;
  border-radius: var(--tz-radius-sm) !important;
  box-shadow: 0 8px 28px rgba(15, 40, 28, 0.07);
}

.article-toc__heading {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.article-toc a {
  color: var(--tz-forest) !important;
}

.article-toc a:hover {
  color: var(--tz-moss) !important;
}

.article-toc__list--nested > li::marker {
  color: var(--tz-moss) !important;
}

.article-body {
  color: var(--tz-ink-soft) !important;
}

.article-body > h2 {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.article-body > h3 {
  color: var(--tz-forest) !important;
  font-family: Fraunces, Georgia, serif;
}

.article-body figure,
.article-body__figure {
  border-color: var(--tz-line) !important;
  background: var(--tz-sage) !important;
}

.article-sheet__title {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.article-sheet__meta {
  color: var(--tz-muted) !important;
}

.article-sheet__back a {
  color: var(--tz-forest) !important;
}

.article-sheet__back a:hover {
  color: var(--tz-moss) !important;
}

.article-author {
  background: var(--tz-white) !important;
  border-color: var(--tz-line) !important;
  border-radius: var(--tz-radius-sm) !important;
  box-shadow: var(--tz-shadow) !important;
}

.article-author__label {
  color: var(--tz-moss) !important;
}

.article-author__name a {
  color: var(--tz-forest-deep) !important;
}

.article-author__name a:hover {
  color: var(--tz-gold) !important;
}

.article-author__role {
  color: var(--tz-muted) !important;
}

.article-author__photo {
  background: var(--tz-sage) !important;
}

.service-consult-box {
  border-color: var(--tz-line) !important;
  background: linear-gradient(180deg, rgba(26, 90, 60, 0.09) 0%, var(--tz-white) 100%) !important;
  border-radius: var(--tz-radius-sm) !important;
}

.service-consult-box__icon {
  background: linear-gradient(165deg, var(--tz-moss) 0%, var(--tz-forest) 100%) !important;
  box-shadow: 0 8px 20px rgba(26, 90, 60, 0.28) !important;
}

.service-consult-box__title {
  color: var(--tz-forest-deep) !important;
}

.service-consult-box__phone a {
  color: var(--tz-forest) !important;
}

.service-consult-box__phone a:hover {
  color: var(--tz-forest-deep) !important;
}

.service-consult-box__note {
  color: var(--tz-muted) !important;
}

/* Заглушки разделов */
.stub {
  background: var(--tz-white) !important;
  border: 1px solid var(--tz-line) !important;
  border-radius: var(--tz-radius) !important;
  box-shadow: var(--tz-shadow) !important;
  padding: clamp(28px, 4vw, 44px) !important;
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
}

.stub h1 {
  font-family: Fraunces, Georgia, serif;
  color: var(--tz-forest-deep);
  margin: 0 0 16px;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
  line-height: 1.2;
}

.stub p {
  color: var(--tz-ink-soft);
  line-height: 1.65;
  margin: 0 0 14px;
}

.stub a {
  color: var(--tz-forest);
  font-weight: 600;
}

.stub a:hover {
  color: var(--tz-moss);
}

/* Профиль врача (детальная страница) */
.doctor-profile__photo {
  background: var(--tz-sage) !important;
  border-color: var(--tz-gold-soft) !important;
}

.doctor-profile__role {
  color: var(--tz-gold) !important;
}

.doctor-profile__name {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.doctor-profile__fact dt {
  color: var(--tz-muted) !important;
}

.doctor-profile__fact dd {
  color: var(--tz-ink-soft) !important;
}

.doctor-profile__bio {
  color: var(--tz-ink-soft) !important;
}

.doctor-profile-section-title {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.doctor-profile-docs__lead {
  color: var(--tz-muted) !important;
}

.price-page__lead {
  color: var(--tz-muted) !important;
}

.reviews-page h1,
.gallery-page h1 {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.article-card__more {
  color: var(--tz-forest) !important;
}

.article-card:hover .article-card__more {
  color: var(--tz-moss) !important;
}

/* Карта сайта */
.sitemap-sheet {
  background: var(--tz-white) !important;
  border: 1px solid var(--tz-line) !important;
  border-radius: var(--tz-radius) !important;
  box-shadow: var(--tz-shadow) !important;
}

.sitemap-sheet__head h1 {
  color: var(--tz-forest-deep) !important;
  font-family: Fraunces, Georgia, serif;
}

.sitemap-sheet__head p {
  color: var(--tz-muted) !important;
}

.sitemap-group {
  border-color: var(--tz-line) !important;
  background: var(--tz-cream) !important;
}

.sitemap-group h2 {
  color: var(--tz-forest) !important;
  font-family: Fraunces, Georgia, serif;
}

.sitemap-group li::marker {
  color: var(--tz-gold) !important;
}

.sitemap-group a {
  color: var(--tz-ink-soft) !important;
}

.sitemap-group a:hover {
  color: var(--tz-forest) !important;
}
