/*
Theme Name: 中国民宿管家平台 Spectra One
Theme URI: https://msgj.org.cn/
Description: 中国民宿管家平台与中国文旅服务标准中心的 Spectra One 生产子主题。
Author: OpenLX
Version: 1.0.0
Requires at least: 6.1
Requires PHP: 7.4
Template: spectra-one
Text Domain: msgj-spectra-one-production
*/

:root {
  --msgj-ink: #172622;
  --msgj-green: #2f6b5f;
  --msgj-copper: #b6783c;
  --msgj-mist: #f5f4ef;
  --msgj-paper: #fffefa;
  --msgj-line: #d8d6cd;
  --msgj-text: #45504c;
  --msgj-risk: #8b4b3d;
  --msgj-shadow: 0 18px 48px rgba(23, 38, 34, 0.08);
}

html {
  scroll-behavior: smooth;
}

body.msgj-spectra {
  background: var(--msgj-mist);
  color: var(--msgj-text);
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  line-height: 1.75;
  margin: 0;
}

body.msgj-spectra .wp-site-blocks {
  padding-block: 0;
}

body.msgj-spectra :where(h1, h2, h3, h4, h5, h6) {
  color: var(--msgj-ink);
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", serif;
  letter-spacing: 0;
  line-height: 1.28;
}

body.msgj-spectra a {
  text-underline-offset: 0.18em;
}

.msgj-header {
  background: rgba(255, 254, 250, 0.97);
  border-bottom: 1px solid var(--msgj-line);
  position: relative;
  z-index: 30;
}

.msgj-header-inner,
.msgj-footer-inner,
.msgj-template-wrap {
  margin-inline: auto;
  max-width: 1180px;
  width: min(100% - 40px, 1180px);
}

.msgj-header-inner {
  min-height: 78px;
}

.msgj-brand {
  min-width: min(360px, 40vw);
}

.msgj-header .wp-block-site-title,
.msgj-footer .wp-block-site-title {
  font-family: "Source Han Serif SC", "Noto Serif SC", "Songti SC", serif;
  font-size: clamp(1rem, 1.8vw, 1.25rem);
  font-weight: 700;
}

.msgj-header a {
  color: var(--msgj-ink);
  text-decoration: none;
}

.msgj-header .wp-block-navigation-item__content {
  font-size: 0.91rem;
  font-weight: 650;
  min-height: 44px;
  padding-inline: 6px;
}

.msgj-header .wp-block-navigation-item__content:hover,
.msgj-header .wp-block-navigation-item__content:focus-visible {
  color: var(--msgj-green);
}

.msgj-header-search {
  flex: 0 1 190px;
  margin: 0;
}

.msgj-header-search .wp-block-search__inside-wrapper,
.msgj-search-panel .wp-block-search__inside-wrapper {
  background: var(--msgj-paper);
  border: 1px solid var(--msgj-line);
  border-radius: 4px;
  min-height: 44px;
}

.msgj-header-search .wp-block-search__input,
.msgj-search-panel .wp-block-search__input {
  background: transparent;
  color: var(--msgj-ink);
}

.msgj-header-search .wp-block-search__button,
.msgj-search-panel .wp-block-search__button {
  background: var(--msgj-ink);
  border: 0;
  color: #fff;
}

.msgj-main,
.msgj-main .wp-block-post-content {
  margin-block-start: 0;
}

.msgj-main .wp-block-post-content > :where(.msgj-v2, .msgj-page) {
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  max-width: 100vw !important;
  width: 100vw !important;
}

.msgj-main :where(.wp-block-post-content) {
  min-width: 0;
}

.msgj-template-main {
  min-height: 54vh;
  padding-block: clamp(48px, 7vw, 88px);
}

.msgj-template-heading {
  margin-bottom: clamp(28px, 4vw, 48px);
  max-width: 840px;
}

.msgj-template-kicker {
  color: var(--msgj-green);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.07em;
}

.msgj-query .wp-block-post-template {
  gap: 18px;
}

.msgj-result-card {
  background: var(--msgj-paper);
  border: 1px solid var(--msgj-line);
  border-radius: 6px;
  height: 100%;
  padding: 22px;
}

.msgj-result-card .wp-block-post-featured-image img {
  aspect-ratio: 16 / 9;
  object-fit: cover;
}

.msgj-result-card .wp-block-post-title {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  margin-block: 10px;
}

.msgj-result-card .wp-block-post-title a {
  color: var(--msgj-ink);
  text-decoration: none;
}

.msgj-result-card .wp-block-post-title a:hover,
.msgj-result-card .wp-block-post-title a:focus-visible {
  color: var(--msgj-green);
}

.msgj-result-card :where(.wp-block-post-date, .wp-block-post-terms) {
  color: var(--msgj-text);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
  font-size: 0.78rem;
}

.msgj-query .wp-block-query-pagination {
  border-top: 1px solid var(--msgj-line);
  margin-top: 36px;
  padding-top: 24px;
}

.msgj-single-head {
  border-bottom: 1px solid var(--msgj-line);
  margin-bottom: 34px;
  padding-bottom: 28px;
}

.msgj-single-head .wp-block-post-title {
  font-size: clamp(2rem, 5vw, 3.5rem);
  max-width: 920px;
}

.msgj-single-content,
.msgj-page-content {
  min-width: 0;
}

.msgj-single-content :where(p, li) {
  font-size: clamp(1rem, 1.2vw, 1.08rem);
}

.msgj-single-content :where(blockquote) {
  border-left: 3px solid var(--msgj-copper);
  color: var(--msgj-ink);
}

.msgj-post-nav {
  border-top: 1px solid var(--msgj-line);
  margin-top: 48px;
  padding-top: 24px;
}

.msgj-error-panel {
  background: var(--msgj-paper);
  border-left: 4px solid var(--msgj-risk);
  box-shadow: var(--msgj-shadow);
  max-width: 760px;
  padding: clamp(28px, 5vw, 56px);
}

.msgj-boundary-note {
  background: #ece9de;
  border-left: 3px solid var(--msgj-copper);
  color: var(--msgj-text);
  padding: 18px;
}

.msgj-footer {
  background: var(--msgj-ink);
  color: rgba(255, 255, 255, 0.78);
  margin-block-start: 0;
}

.msgj-footer-inner {
  padding-block: 34px;
}

.msgj-footer a,
.msgj-footer .wp-block-site-title {
  color: #fff;
}

.msgj-footer p {
  font-size: 0.86rem;
  margin: 0;
}

.msgj-footer-legal {
  color: rgba(255, 255, 255, 0.64);
  font-family: "IBM Plex Mono", "SFMono-Regular", Consolas, monospace;
}

body.msgj-spectra :focus-visible {
  outline: 3px solid var(--msgj-copper);
  outline-offset: 3px;
}

@media (max-width: 1020px) {
  .msgj-header-search {
    display: none;
  }

  .msgj-brand {
    min-width: 0;
  }
}

@media (max-width: 782px) {
  .msgj-header-inner,
  .msgj-footer-inner,
  .msgj-template-wrap {
    width: min(100% - 28px, 1180px);
  }

  .msgj-header-inner {
    min-height: 68px;
  }

  .msgj-header .wp-block-navigation__responsive-container.is-menu-open {
    background: var(--msgj-paper);
    color: var(--msgj-ink);
    padding: 24px;
  }

  .msgj-query .wp-block-post-template {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
