/* MJ bundle 2026-10-18: style.css + gufeng v3/v4/v5, order preserved. Generated, do not edit. */

/* === style.css === */
/*
Theme Name: MoJiang Ink
Theme URI: https://mojiang.local
Description: MoJiang child theme - Chinese ink-wash classical style over Kadence. Paper, ink, seal-red.
Author: MoJiang
Template: kadence
Version: 1.0.0
License: GPL-2.0-or-later
*/

/* ============================================================
   1. Palette & type — rice paper, ink, cinnabar seal
   ============================================================ */
:root {
  --mj-paper: #f5f0e4;
  --mj-paper-2: #faf6ec;
  --mj-paper-3: #ece5d3;
  --mj-ink: #26221d;
  --mj-ink-2: #3a352e;
  --mj-ink-3: #6f675a;
  --mj-seal: #8f3423;
  --mj-seal-deep: #75281a;
  --mj-moss: #56695a;
  --mj-line: #e0d7c2;
  --mj-serif: Georgia, "Palatino Linotype", "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;

  --global-palette1: #8f3423;
  --global-palette2: #56695a;
  --global-palette3: #26221d;
  --global-palette4: #3a352e;
  --global-palette5: #7c7466;
  --global-palette6: #b7ad99;
  --global-palette7: #ded4bd;
  --global-palette8: #ece5d3;
  --global-palette9: #f5f0e4;
  --global-body-font-family: var(--mj-serif);
  --global-heading-font-family: var(--mj-serif);
  --global-fallback-font: var(--mj-serif);
}

html body {
  background: var(--mj-paper);
  color: var(--mj-ink-2);
  font-family: var(--mj-serif);
  -webkit-font-smoothing: antialiased;
}

/* faint paper grain */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-image:
    radial-gradient(rgba(110, 100, 80, 0.05) 1px, transparent 1px),
    radial-gradient(rgba(110, 100, 80, 0.04) 1px, transparent 1px);
  background-size: 5px 5px, 9px 9px;
  background-position: 0 0, 3px 4px;
}
#inner-wrap, .site-container-row { position: relative; z-index: 1; }

h1, h2, h3, h4, h5, h6, .entry-title, .page-title {
  font-family: var(--mj-serif);
  color: var(--mj-ink);
  font-weight: 600;
  letter-spacing: 0.02em;
}

a { color: var(--mj-seal); text-decoration: none; }
a:hover { color: var(--mj-seal-deep); }

::selection { background: var(--mj-seal); color: #f7f1e2; }

/* ============================================================
   2. Header — a mounted scroll
   ============================================================ */
.site-header {
  background: rgba(245, 240, 228, 0.94);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(38, 34, 29, 0.18);
}
.site-header-item {
  font-family: var(--mj-serif);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.78rem;
}
.site-title, .site-branding .site-title {
  font-family: var(--mj-serif);
  letter-spacing: 0.3em;
  font-weight: 600;
}
.main-navigation ul li a { color: var(--mj-ink-2); }
.main-navigation ul li a:hover { color: var(--mj-seal); }
.header-navigation .header-menu-container > ul > li > a { letter-spacing: 0.16em; }

/* brand seal dot after site title */
.site-title::after {
  content: "墨";
  display: inline-block;
  margin-left: 0.6em;
  padding: 0.08em 0.3em;
  background: var(--mj-seal);
  color: #f7f1e2;
  font-size: 0.55em;
  vertical-align: middle;
  letter-spacing: 0;
}

/* ============================================================
   3. Buttons — dry brush stroke
   ============================================================ */
.button, button, .button:hover, input[type="submit"],
.wp-block-button__link, .wp-block-button.is-style-outline .wp-block-button__link,
.wc-block-components-button, .checkout-button {
  font-family: var(--mj-serif);
  border-radius: 2px !important;
  border: 1.5px solid var(--mj-ink);
  background: transparent;
  color: var(--mj-ink);
  padding: 0.7em 1.6em;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.8rem;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.2s ease;
  box-shadow: none;
}
.button:hover, input[type="submit"]:hover, .wp-block-button__link:hover {
  background: var(--mj-ink);
  color: var(--mj-paper-2);
  border-color: var(--mj-ink);
  transform: translateY(-1px);
}
/* primary commerce actions = cinnabar seal */
.single_add_to_cart_button, .checkout-button, .wp-block-button.is-style-primary .wp-block-button__link {
  background: var(--mj-seal);
  border-color: var(--mj-seal);
  color: #f7f1e2;
}
.single_add_to_cart_button:hover, .checkout-button:hover {
  background: var(--mj-seal-deep);
  border-color: var(--mj-seal-deep);
  color: #f7f1e2;
}

/* ============================================================
   4. WooCommerce grid — paper cards
   ============================================================ */
ul.products li.product, .wc-block-grid__product {
  background: var(--mj-paper-2);
  border: 1px solid var(--mj-line);
  padding: 18px 18px 26px;
  border-radius: 3px;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
ul.products li.product:hover, .wc-block-grid__product:hover {
  transform: translateY(-4px);
  box-shadow: 0 14px 30px -18px rgba(38, 34, 29, 0.45);
  border-color: #cfc3a8;
}
ul.products li.product img { background: #f0ead9; }
.woocommerce-loop-product__title, .wc-block-grid__product-title {
  font-family: var(--mj-serif) !important;
  color: var(--mj-ink) !important;
  font-weight: 600 !important;
}
ul.products li.product .price, .wc-block-grid__product-price__value {
  color: var(--mj-seal);
  font-family: var(--mj-serif);
  font-size: 1.15em;
}
ul.products li.product .price del { color: var(--mj-ink-3); opacity: 0.55; }

/* zero-social redlines: no ratings, no sale badges, no review counts */
.star-rating, .woocommerce-review-link, .onsale, .wc-block-grid__product-rating { display: none !important; }

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-info, .woocommerce-error {
  background: var(--mj-paper-2);
  border-top-color: var(--mj-seal);
  color: var(--mj-ink-2);
}

/* ============================================================
   5. Single product — the gallery as a mounted piece
   ============================================================ */
.single-product div.product {
  background: var(--mj-paper-2);
  border: 1px solid var(--mj-line);
  border-radius: 4px;
  padding: 34px;
}
.single-product div.product .product_title { font-size: 2rem; }
.single-product div.product p.price {
  color: var(--mj-seal);
  font-family: var(--mj-serif);
  font-size: 1.7em;
  border-bottom: 1px solid var(--mj-line);
  padding-bottom: 0.6em;
}
.single-product div.product .woocommerce-product-details__short-description {
  font-style: italic;
  color: var(--mj-ink-3);
  border-left: 3px solid var(--mj-seal);
  padding-left: 1em;
}
.single-product div.product .product_meta {
  border-top: 1px solid var(--mj-line);
  padding-top: 1em;
  font-size: 0.85em;
  color: var(--mj-ink-3);
  letter-spacing: 0.05em;
}
.quantity input, .woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea, select, .select2-container .select2-selection--single .select2-selection__rendered {
  background: var(--mj-paper-2) !important;
  border: 1px solid var(--mj-line) !important;
  border-radius: 2px !important;
  font-family: var(--mj-serif);
  color: var(--mj-ink-2);
}

/* queue badge — the honest line you wait in */
.mj-queue-badge {
  display: inline-block;
  margin: 0.4em 0 1.2em;
  padding: 0.45em 1em;
  border: 1px dashed var(--mj-seal);
  color: var(--mj-seal);
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-radius: 2px;
  background: rgba(143, 52, 35, 0.05);
}

/* tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color: var(--mj-seal);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom-color: var(--mj-seal);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a { letter-spacing: 0.1em; }

/* ============================================================
   6. Archives & titles
   ============================================================ */
.woocommerce-products-header__title.page-title,
.entry-title, .page-title {
  letter-spacing: 0.06em;
}
.term-description, .archive-description { color: var(--mj-ink-3); font-style: italic; }
.woocommerce-result-count { color: var(--mj-ink-3); font-size: 0.85rem; }
.woocommerce-ordering select { font-size: 0.85rem; }

.breadcrumb, .woocommerce-breadcrumb { font-size: 0.82rem; color: var(--mj-ink-3); letter-spacing: 0.06em; }
.woocommerce-breadcrumb a { color: var(--mj-ink-3); }

/* pagination — ink dots */
.woocommerce-pagination ul.page-numbers li a,
.woocommerce-pagination ul.page-numbers li span,
.pagination ul.page-numbers li a {
  border: 1px solid var(--mj-line);
  background: var(--mj-paper-2);
  color: var(--mj-ink-2);
  border-radius: 2px;
}
.woocommerce-pagination ul.page-numbers li span.current {
  background: var(--mj-ink);
  color: var(--mj-paper);
  border-color: var(--mj-ink);
}

/* ============================================================
   7. Footer — ink stone
   ============================================================ */
.site-footer, .site-footer-row, footer.site-footer {
  background: #26221d;
  color: #cfc6b4;
}
.site-footer h1, .site-footer h2, .site-footer h3, .site-footer .widget-title {
  color: #efe8d6;
  font-size: 0.95rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 600;
}
.site-footer a { color: #d8cdb4; }
.site-footer a:hover { color: #e78b74; }
.site-footer .widget { color: #a99f8c; font-size: 0.92rem; }

/* the three standing data lines */
.mj-data-lines {
  border-top: 1px solid rgba(245, 240, 228, 0.16);
  margin-top: 2em;
  padding-top: 1.2em;
  font-size: 0.8rem;
  color: #948b78;
  line-height: 2;
}

/* ============================================================
   8. Homepage — ink-wash narrative
   ============================================================ */
.mj-hero {
  position: relative;
  text-align: center;
  padding: 110px 24px 90px;
  overflow: hidden;
  background: linear-gradient(180deg, #f6f1e5 0%, #f1ead8 100%);
}
.mj-hero::after {
  content: "";
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 50% 120%, rgba(38,34,29,0.10), transparent 60%);
  pointer-events: none;
}
.mj-hero .mj-hero-mountains { width: 100%; line-height: 0; display: block; opacity: 0.9; }
.mj-hero-glyph {
  font-family: var(--mj-serif);
  font-size: clamp(4.5rem, 12vw, 8.5rem);
  letter-spacing: 0.35em;
  margin-left: 0.35em; /* balance letterspacing */
  color: var(--mj-ink);
  font-weight: 600;
  text-shadow: 0 2px 0 rgba(143, 52, 35, 0.08);
}
.mj-hero-sub {
  margin-top: 1.4em;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--mj-ink-3);
}
.mj-hero-tag {
  margin: 1.6em auto 2.4em;
  max-width: 560px;
  font-style: italic;
  font-size: 1.15rem;
  color: var(--mj-ink-2);
  line-height: 1.9;
}
.mj-hero-cta { display: inline-flex; gap: 18px; flex-wrap: wrap; justify-content: center; position: relative; z-index: 1; }

/* three lines */
.mj-lines {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 26px;
  padding: 30px 0 70px;
}
.mj-line-card {
  background: var(--mj-paper-2);
  border: 1px solid var(--mj-line);
  border-top: 4px solid var(--mj-ink);
  border-radius: 3px;
  padding: 42px 30px 34px;
  text-align: center;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  position: relative;
}
.mj-line-card:hover { transform: translateY(-5px); box-shadow: 0 16px 34px -20px rgba(38,34,29,0.5); }
.mj-line-card.is-place { border-top-color: var(--mj-moss); }
.mj-line-card.is-word { border-top-color: var(--mj-ink); }
.mj-line-card.is-lineage { border-top-color: var(--mj-seal); }
.mj-line-glyph {
  font-family: var(--mj-serif);
  font-size: 4.2rem;
  line-height: 1;
  color: var(--mj-ink);
  display: block;
}
.is-place .mj-line-glyph { color: var(--mj-moss); }
.is-lineage .mj-line-glyph { color: var(--mj-seal); }
.mj-line-name {
  display: block;
  margin-top: 18px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--mj-ink-3);
}
.mj-line-card h3 { margin: 14px 0 10px; font-size: 1.35rem; }
.mj-line-card p { color: var(--mj-ink-3); font-style: italic; line-height: 1.8; font-size: 0.98rem; }
.mj-line-card .mj-line-link {
  display: inline-block;
  margin-top: 14px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--mj-seal);
  border-bottom: 1px solid rgba(143, 52, 35, 0.4);
  padding-bottom: 3px;
}
.mj-line-card .mj-line-link:hover { color: var(--mj-seal-deep); border-bottom-color: var(--mj-seal-deep); }

/* section heading with seal square */
.mj-section-head {
  text-align: center;
  padding: 60px 24px 8px;
}
.mj-section-head h2 { font-size: 1.9rem; letter-spacing: 0.1em; }
.mj-section-head h2::before {
  content: "";
  display: inline-block;
  width: 12px; height: 12px;
  background: var(--mj-seal);
  margin-right: 14px;
  transform: translateY(-2px) rotate(45deg);
}
.mj-section-head p { color: var(--mj-ink-3); font-style: italic; margin-top: 10px; }

/* carriers strip */
.mj-carriers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 18px;
  padding: 26px 0 60px;
}
.mj-carrier {
  text-align: center;
  border: 1px dashed var(--mj-line);
  border-radius: 3px;
  padding: 26px 14px;
  background: rgba(250, 246, 236, 0.6);
}
.mj-carrier .mj-carrier-glyph { font-family: var(--mj-serif); font-size: 2.1rem; color: var(--mj-ink); display: block; }
.mj-carrier strong { display: block; margin-top: 10px; letter-spacing: 0.14em; text-transform: uppercase; font-size: 0.75rem; color: var(--mj-ink-2); }
.mj-carrier span { display: block; margin-top: 6px; font-size: 0.85rem; color: var(--mj-ink-3); font-style: italic; }

/* principles */
.mj-principles {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 26px;
  padding: 26px 0 70px;
}
.mj-principle { padding-left: 16px; border-left: 3px solid var(--mj-line); }
.mj-principle .mj-num {
  font-family: var(--mj-serif);
  color: var(--mj-seal);
  font-size: 1.1rem;
  letter-spacing: 0.2em;
}
.mj-principle h3 { font-size: 1.15rem; margin: 8px 0; }
.mj-principle p { color: var(--mj-ink-3); line-height: 1.8; font-size: 0.95rem; }

/* closing band */
.mj-cta-band {
  background: var(--mj-ink);
  color: var(--mj-paper);
  text-align: center;
  padding: 74px 24px;
}
.mj-cta-band .mj-cta-glyph {
  font-family: var(--mj-serif);
  font-size: 2.6rem;
  letter-spacing: 0.5em;
  margin-left: 0.5em;
  color: #efe8d6;
}
.mj-cta-band p { color: #b3a98f; font-style: italic; margin: 1.2em 0 2em; letter-spacing: 0.05em; }
.mj-cta-band a.mj-cta-btn {
  display: inline-block;
  border: 1.5px solid #efe8d6;
  color: #efe8d6;
  padding: 0.85em 2.2em;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  font-size: 0.82rem;
  border-radius: 2px;
  transition: background 0.25s, color 0.25s;
}
.mj-cta-band a.mj-cta-btn:hover { background: #efe8d6; color: var(--mj-ink); }

@media (max-width: 760px) {
  .mj-hero { padding: 70px 16px 60px; }
  .single-product div.product { padding: 20px 16px; }
}

/* front page: hide the page-title H1 (hero carries it) */
body.home .entry-title, body.home .page-title { display: none; }
.entry-content { max-width: 1140px; margin-left: auto; margin-right: auto; }

/* ============================================================
   10. v2 sections — stamp-then-write combo, place chips,
       surname grid, four moods
   ============================================================ */
.mj-combo {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 72px;
  padding: 26px 24px 6px;
}
.mj-combo-seal {
  width: 190px; height: 190px;
  background: var(--mj-seal);
  border-radius: 16px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: #f7f1e2;
  font-family: var(--mj-serif);
  font-size: 58px; line-height: 1.15;
  letter-spacing: 0.05em;
  box-shadow: 0 10px 26px -12px rgba(143, 52, 35, 0.55);
}
.mj-combo-vtext {
  writing-mode: vertical-rl;
  font-family: var(--mj-serif);
  font-size: 44px;
  letter-spacing: 0.32em;
  color: var(--mj-ink);
  border-left: 1px solid var(--mj-line);
  padding-left: 26px;
  height: 340px;
}
.mj-combo-note {
  text-align: center;
  color: var(--mj-ink-3);
  font-style: italic;
  padding: 22px 24px 54px;
  line-height: 2;
}

.mj-seal-chips {
  display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
  max-width: 900px; margin: 0 auto; padding: 24px 16px 10px;
}
.mj-seal-chip {
  border: 1px solid var(--mj-line);
  background: var(--mj-paper-2);
  color: var(--mj-ink-2);
  padding: 10px 24px;
  font-size: 1.05rem;
  letter-spacing: 0.22em;
  border-radius: 2px;
}
.mj-strip-note {
  text-align: center;
  color: var(--mj-ink-3);
  font-style: italic;
  font-size: 0.92rem;
  line-height: 1.9;
  padding: 6px 20px 48px;
}

.mj-surnames {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(132px, 1fr));
  gap: 10px;
  max-width: 1000px;
  margin: 0 auto;
  padding: 22px 16px 6px;
}
.mj-surname {
  text-align: center;
  background: var(--mj-paper-2);
  border: 1px solid var(--mj-line);
  border-radius: 2px;
  padding: 14px 6px 12px;
}
.mj-surname b {
  display: block;
  font-family: var(--mj-serif);
  font-size: 1.55rem;
  color: var(--mj-ink);
  line-height: 1.2;
}
.mj-surname span {
  font-size: 0.72rem;
  color: var(--mj-ink-3);
  letter-spacing: 0.12em;
}

.mj-moods {
  display: flex; justify-content: center; gap: 46px; flex-wrap: wrap;
  padding: 26px 16px 6px;
}
.mj-mood { text-align: center; }
.mj-mood .dot {
  width: 46px; height: 46px; border-radius: 50%;
  margin: 0 auto 12px;
  box-shadow: inset 0 0 0 1px rgba(38,34,29,0.12);
}
.mj-mood-hope .dot { background: #7d9a63; }
.mj-mood-solace .dot { background: #d3a94e; }
.mj-mood-farewell .dot { background: #5b7d84; }
.mj-mood-persevere .dot { background: #7a5d43; }
.mj-mood b {
  display: block;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--mj-ink-2);
}
.mj-mood span { font-size: 0.82rem; color: var(--mj-ink-3); font-style: italic; }

@media (max-width: 760px) {
  .mj-combo { gap: 34px; }
  .mj-combo-seal { width: 130px; height: 130px; font-size: 40px; }
  .mj-combo-vtext { font-size: 30px; height: 250px; }
  .mj-moods { gap: 26px; }
}

/* ============================================================
   9. Cart & checkout paper forms
   ============================================================ */
.woocommerce-cart-form, #order_review, .woocommerce-checkout-review-order-table,
.cart_totals, .wc-proceed-to-checkout {
  background: var(--mj-paper-2);
  border: 1px solid var(--mj-line);
  border-radius: 3px;
}
.woocommerce table.shop_table th { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.8rem; color: var(--mj-ink-3); }

/* block content typography on pages/posts */
.entry-content p, .entry-content li { line-height: 1.95; }
.entry-content h2, .entry-content h3 { margin-top: 1.6em; }
blockquote {
  border-left: 3px solid var(--mj-seal);
  font-style: italic;
  color: var(--mj-ink-3);
  padding-left: 1.4em;
}


/* === assets\gufeng-v3.css === */
/* ============================================================
   MoJiang 古风 v3 —— 叠在 style.css 之上的一层「美化皮肤」
   目标:唯美、留白、纸墨感;所有装饰都是 CSS 画的,不外链任何字体/图片
   文件:assets/gufeng-v3.css   入队:functions.php(依赖 child style)
   自查:prefers-reduced-motion / :focus-visible / 移动端断点都写了
   ============================================================ */

:root {
  --mj-gold: #b08d4f;          /* 描金 */
  --mj-jade: #6f8b7e;          /* 玉色 */
  --mj-silk: #e6dcc4;          /* 绫边 */
  --mj-shadow: 38, 34, 29;    /* 墨影 rgb 分量:必须是逗号形式,下面全靠 rgba(var(--mj-shadow), .n) 组色 */
  --mj-ease: cubic-bezier(.22, .61, .36, 1);

  /* 纸纤维:SVG 噪声,自包含 data URI */
  --mj-fiber: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='f'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.86' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23f)' opacity='0.05'/%3E%3C/svg%3E");

  /* 远山:给首页 hero 底部压一层水墨山影 */
  --mj-mountains: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 210' preserveAspectRatio='none'%3E%3Cpath d='M0 210V152q104-58 208-16T430 122t214 30t214-42t196 34t146-20v86z' fill='%2326221d' opacity='.075'/%3E%3Cpath d='M0 210v-38q158-44 302-8t264-14t262 26t234-24t138 18v40z' fill='%2326221d' opacity='.05'/%3E%3Cpath d='M0 210v-14q210-26 392-6t384 4t424-14v16z' fill='%238f3423' opacity='.045'/%3E%3C/svg%3E");

  /* 云纹分隔:一条细链,当章节之间的「界」 */
  --mj-cloud: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='16' viewBox='0 0 132 16'%3E%3Cpath d='M2 12c10 0 10-8 20-8s10 8 20 8 10-8 20-8 10 8 20 8 10-8 20-8 10 8 18 8' fill='none' stroke='%238f3423' stroke-opacity='.42' stroke-width='1.1'/%3E%3C/svg%3E");

  /* 回纹角:卡片左上/右下的小拐 */
  --mj-corner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='M1 9V1h14' fill='none' stroke='%238f3423' stroke-opacity='.55' stroke-width='1.5'/%3E%3Cpath d='M6 14V6h14' fill='none' stroke='%2326221d' stroke-opacity='.26' stroke-width='1.1'/%3E%3C/svg%3E");
}

/* ---------- 1. 纸与气:整页底纹 ---------- */
html body::before {
  background-image: var(--mj-fiber);
  background-size: 260px 260px;
  background-position: 0 0;
  opacity: 1;
}
html body {
  background-color: #f5f0e4;
  background-image:
    radial-gradient(120% 60% at 50% -10%, rgba(255, 253, 246, .9), transparent 60%),
    radial-gradient(90% 50% at 50% 108%, rgba(143, 52, 35, .05), transparent 65%),
    linear-gradient(180deg, #f7f2e6 0%, #f2ecdd 55%, #efe7d6 100%);
  background-attachment: fixed, fixed, fixed;
}

/* 让正文更「书」一点:标题略收,正文行距略放 */
html body { letter-spacing: .005em; }
.entry-content p { max-width: 74ch; }
.entry-content > p { text-align: justify; text-justify: inter-word; }
.entry-content p br { margin-bottom: .4em; }

/* 细水脚注:所有引用块左侧改「题跋」样式 */
blockquote {
  position: relative;
  border-left: none;
  padding-left: 1.8em;
  background: linear-gradient(90deg, rgba(143, 52, 35, .06), transparent 42%);
}
blockquote::before {
  content: "「";
  position: absolute;
  left: 0; top: -.05em;
  color: var(--mj-seal);
  font-size: 1.2em;
  line-height: 1;
}

/* ---------- 2. 顶栏:宣纸匾额 ---------- */
/* Kadence 行内样式用 id 选择器 `#masthead{background:#fff}`(特异度 1,0,0)把顶栏
   刷成纯白,单写 `.site-header` 会被它整条盖掉(实测 computed background = 白、
   background-image = none)。这里带上 #masthead(1,1,0)且本表加载在后,才压得住。 */
#masthead.site-header,
.site-header {
  background: linear-gradient(180deg, rgba(250, 246, 236, .97), rgba(245, 240, 228, .92));
  border-bottom: 1px solid rgba(38, 34, 29, .14);
  box-shadow: 0 1px 0 rgba(255, 255, 255, .7) inset, 0 10px 26px -24px rgba(var(--mj-shadow), .55);
}
/* 底边再压一道朱线,像装裱的下杆 */
.site-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -3px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(143, 52, 35, .5) 22%, rgba(143, 52, 35, .5) 78%, transparent);
  pointer-events: none;
}
.main-navigation ul li a {
  position: relative;
  padding-bottom: .35em;
}
/* 悬停:一笔横扫的墨痕(纯 background-size 动画) */
.main-navigation ul li a::after {
  content: "";
  position: absolute;
  left: 12%; right: 12%; bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--mj-seal) 18%, var(--mj-seal) 82%, transparent);
  transform: scaleX(0);
  transform-origin: 50%;
  transition: transform .34s var(--mj-ease);
}
.main-navigation ul li a:hover::after,
.main-navigation ul li.current-menu-item > a::after { transform: scaleX(1); }

/* 站名后面的「墨」印,做成真的印章方角 */
.site-title::after {
  content: "墨";
  display: inline-block;
  margin-left: .7em;
  padding: .12em .34em;
  background: linear-gradient(160deg, #9c3a26, #7a2a1a);
  color: #f9f3e6;
  font-size: .56em;
  letter-spacing: 0;
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(249, 243, 230, .35), 0 3px 10px -4px rgba(143, 52, 35, .8);
  transform: translateY(-1px) rotate(-2deg);
}

/* ---------- 3. 首页:先让 H1 出来,再上「墨疆」大字 ---------- */
/* 原来把 H1 直接 display:none,搜索引擎看得见但用户看不见;这里改成看得见也好看 */
body.home section.entry-hero,
body.page-id-42 section.entry-hero {
  background: transparent !important;
  padding: 34px 0 0 !important;
}
body.home .entry-hero .entry-title,
body.home .page-title {
  display: block;
  text-align: center;
  font-size: clamp(1.05rem, 2.4vw, 1.5rem);
  font-weight: 500;
  letter-spacing: .16em;
  color: var(--mj-ink-2);
  max-width: 40ch;
  margin: 0 auto;
  padding: 0 20px 6px;
}
/* 标题两侧压云纹 */
body.home .entry-hero .entry-title::before,
body.home .entry-hero .entry-title::after {
  content: "";
  display: block;
  height: 16px;
  margin: 0 auto 14px;
  background: var(--mj-cloud) center / 132px 16px no-repeat;
  opacity: .8;
}
body.home .entry-hero .entry-title::after { margin: 14px auto 0; }

.mj-hero {
  padding: clamp(48px, 8vw, 96px) 24px clamp(96px, 12vw, 150px);
  background:
    var(--mj-mountains) bottom center / 100% 210px no-repeat,
    radial-gradient(ellipse at 50% 8%, rgba(255, 252, 244, .95), transparent 55%),
    linear-gradient(180deg, #f7f2e6 0%, #f0e9d8 100%);
  border-bottom: 1px solid rgba(38, 34, 29, .1);
}
/* 覆盖 base 的那层暗角,腾出 ::after 给竖排题字 */
.mj-hero::after {
  content: "一人一手 · 不作复制";
  position: absolute;
  right: clamp(14px, 4vw, 54px);
  top: clamp(28px, 6vw, 66px);
  writing-mode: vertical-rl;
  font-family: var(--mj-serif);
  font-size: .82rem;
  letter-spacing: .42em;
  color: rgba(38, 34, 29, .4);
  background: none;
  pointer-events: none;
}
.mj-hero::before {
  content: "手写 · 不打印";
  position: absolute;
  left: clamp(14px, 4vw, 54px);
  top: clamp(28px, 6vw, 66px);
  writing-mode: vertical-rl;
  font-family: var(--mj-serif);
  font-size: .82rem;
  letter-spacing: .42em;
  color: rgba(143, 52, 35, .5);
  border-left: 1px solid rgba(143, 52, 35, .22);
  padding-left: .6em;
  pointer-events: none;
}
.mj-hero-glyph {
  position: relative;
  display: inline-block;
  font-size: clamp(4rem, 11vw, 7.6rem);
  letter-spacing: .3em;
  margin-left: .3em;
  color: var(--mj-ink);
  /* text-shadow 不支持 spread,写了 4 个长度会让整条声明作废(实测 computed=none) */
  text-shadow: 0 1px 0 rgba(255, 255, 255, .6), 0 12px 26px rgba(var(--mj-shadow), .45);
}
/* 大字背后一圈淡墨晕 */
.mj-hero-glyph::after {
  content: "";
  position: absolute;
  inset: -22% -14%;
  background: radial-gradient(closest-side, rgba(38, 34, 29, .1), transparent 72%);
  z-index: -1;
}
.mj-hero-sub { letter-spacing: .5em; margin-left: .5em; font-size: .78rem; }
.mj-hero-tag {
  margin: 1.7em auto 2.4em;
  line-height: 2.15;
  color: var(--mj-ink-2);
  font-style: normal;
}
.mj-hero-tag em { color: var(--mj-ink-3); font-size: .95em; }
.mj-hero-cta .button {
  background: rgba(250, 246, 236, .72);
  border-color: rgba(38, 34, 29, .55);
}

/* ---------- 4. 章节头:朱印 + 两侧细线 ---------- */
.mj-section-head { padding: 74px 24px 10px; position: relative; }
.mj-section-head h2 {
  display: inline-block;
  font-size: clamp(1.45rem, 3.2vw, 1.9rem);
  letter-spacing: .12em;
  padding: 0 1.1em;
  position: relative;
}
/* 把 base 的菱形点换成一方小印章 */
.mj-section-head h2::before {
  content: "印";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55em; height: 1.55em;
  margin: 0 .7em -.35em 0;
  transform: none;
  border-radius: 3px;
  background: linear-gradient(160deg, #9c3a26, #75281a);
  color: #f9f3e6;
  font-size: .72em;
  letter-spacing: 0;
  box-shadow: inset 0 0 0 1px rgba(249, 243, 230, .4), 0 6px 14px -8px rgba(143, 52, 35, .9);
}
.mj-section-head::after {
  content: "";
  display: block;
  width: min(560px, 78%);
  height: 16px;
  margin: 22px auto 0;
  background: var(--mj-cloud) center / 132px 16px repeat-x;
  opacity: .55;
}
.mj-section-head p { color: var(--mj-ink-3); font-style: italic; margin-top: 14px; }

/* ---------- 5. 卡片:册页装裱(双线 + 回纹角) ---------- */
/* 权重说明(实测本机 DOM):
   · Kadence 用 .woocommerce .content-bg .product.entry.loop-entry{box-shadow:none} 与
     .content-style-unboxed .products… li.product.content-bg{background/padding:0}(5~6 类)
     把商品卡的底板、阴影、内边距全清了 → 子主题一律带上 body.woocommerce + .entry.content-bg。
   · .entry-content a 也会把 box-shadow 清成 none,所以首页卡用「双类名」抬权重,不靠 !important。 */
.mj-line-card.mj-line-card,
ul.products li.product,
ul.products li.product.entry.content-bg.loop-entry,
.wc-block-grid__product,
.mj-carrier.mj-carrier,
.mj-surname.mj-surname {
  position: relative;
  background:
    linear-gradient(180deg, rgba(255, 253, 247, .9), rgba(250, 246, 236, .75));
  border: 1px solid var(--mj-line);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .65),
    inset 0 0 0 4px rgba(245, 240, 228, .5),
    0 12px 26px -22px rgba(var(--mj-shadow), .75);
  border-radius: 2px;
}
.mj-line-card.mj-line-card:hover {
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .7),
    inset 0 0 0 4px rgba(245, 240, 228, .55),
    0 22px 40px -24px rgba(var(--mj-shadow), .9);
  border-color: #d7caad;
}
/* 左上 + 右下一对回纹角 */
.mj-line-card::before,
ul.products li.product::before {
  content: "";
  position: absolute;
  left: 7px; top: 7px;
  width: 24px; height: 24px;
  background: var(--mj-corner) no-repeat;
  opacity: .85;
  transition: opacity .3s var(--mj-ease), transform .3s var(--mj-ease);
}
.mj-line-card::after,
ul.products li.product::after {
  content: "";
  position: absolute;
  right: 7px; bottom: 7px;
  width: 24px; height: 24px;
  background: var(--mj-corner) no-repeat;
  transform: rotate(180deg);
  opacity: .5;
  transition: opacity .3s var(--mj-ease), transform .35s var(--mj-ease);
}
.mj-line-card:hover::after,
ul.products li.product:hover::after { opacity: .9; transform: rotate(180deg) scale(1.08); }

ul.products li.product,
ul.products li.product.entry.content-bg.loop-entry { padding: 16px 16px 26px; overflow: hidden; }
ul.products li.product:hover,
ul.products li.product.entry.content-bg.loop-entry:hover {
  transform: translateY(-5px);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .7),
    inset 0 0 0 4px rgba(245, 240, 228, .55),
    0 22px 38px -24px rgba(var(--mj-shadow), .85);
  border-color: #d7caad;
}
/* 商品图当「画心」:四周留白 + 极轻内阴影
   Kadence 的 .woocommerce div.product div.images img{box-shadow:none} 权重 (0,3,3),
   单品图再多带一个 div.images 才能压住。 */
ul.products li.product a img,
.single-product div.product img,
body.single-product div.product div.images img {
  background: #f2ecdd;
  box-shadow: 0 0 0 1px rgba(38, 34, 29, .07), 0 10px 22px -20px rgba(var(--mj-shadow), .8);
  transition: transform .5s var(--mj-ease), filter .5s var(--mj-ease);
}
ul.products li.product:hover a img { transform: scale(1.025); filter: saturate(1.04); }

/* 价格:朱砂,前面加一枚小圆点当「落款」
   Kadence 的 body.woocommerce ul.products li.product .price 权重 (0,4,2),
   子主题原来的 3 类选择器压不住,这里同样带上 body.woocommerce */
body.woocommerce ul.products li.product .price,
body.woocommerce ul.products li.product .price ins {
  color: var(--mj-seal);
  font-family: var(--mj-serif);
}
body.woocommerce ul.products li.product .price del { color: var(--mj-ink-3); opacity: .55; }
ul.products li.product .price { font-size: 1.08em; letter-spacing: .02em; }
ul.products li.product .price::before {
  content: "";
  display: inline-block;
  width: 6px; height: 6px;
  margin-right: .5em;
  border-radius: 50%;
  background: var(--mj-seal);
  opacity: .8;
  transform: translateY(-2px);
}

.woocommerce-loop-product__title { font-size: 1.02rem !important; line-height: 1.5; }

/* ---------- 6. 单品页:立轴装裱 ---------- */
/* Kadence 的 unboxed 内容样式用 .content-style-unboxed .content-bg / .entry /
   .entry-content-wrap.product 三组规则(最高 4 类)把底板、内边距、阴影全清了。
   这里挂满同一批类名把权重抬到 (0,4,2) 压回去,不加 !important,以后好覆盖。 */
body.single-product div.product.entry.content-bg.entry-content-wrap {
  position: relative;
  background: linear-gradient(180deg, #fbf7ee, #f5f0e4);
  border: 1px solid var(--mj-line);
  border-radius: 2px;
  padding: clamp(22px, 4vw, 40px) clamp(18px, 4vw, 42px) clamp(26px, 4vw, 44px);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7), 0 18px 40px -32px rgba(var(--mj-shadow), .8);
}
/* 天杆 / 地杆:上下各一条绫边 */
.woocommerce div.product::before,
.woocommerce div.product::after {
  content: "";
  position: absolute;
  left: -1px; right: -1px;
  height: 10px;
  background: linear-gradient(180deg, var(--mj-silk), #d8cbb0);
  box-shadow: inset 0 -1px 0 rgba(38, 34, 29, .12);
}
.woocommerce div.product::before { top: -1px; border-radius: 2px 2px 0 0; }
.woocommerce div.product::after { bottom: -1px; border-radius: 0 0 2px 2px; }

.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery figure { margin: 0; }
/* 主图外再套一层细框 */
.woocommerce-product-gallery .woocommerce-product-gallery__trigger { display: none; }

.woocommerce div.product .product_title {
  font-size: clamp(1.5rem, 3.4vw, 2.05rem);
  letter-spacing: .04em;
  padding-bottom: .45em;
  border-bottom: 1px solid rgba(224, 215, 194, .9);
  position: relative;
}
.woocommerce div.product .product_title::after {
  content: "";
  position: absolute;
  left: 0; bottom: -1px;
  width: 96px; height: 3px;
  background: linear-gradient(90deg, var(--mj-seal), rgba(143, 52, 35, .1));
}
/* 短描述 = 小楷题跋 */
.woocommerce div.product .woocommerce-product-details__short-description {
  font-style: normal;
  color: var(--mj-ink-2);
  border-left: 2px solid rgba(143, 52, 35, .55);
  background: linear-gradient(90deg, rgba(143, 52, 35, .05), transparent 55%);
  padding: .8em 1.1em;
  line-height: 2;
  border-radius: 0 2px 2px 0;
}
/* 规格表 = 朱丝栏 */
.woocommerce-product-attributes { border-collapse: separate; border-spacing: 0; }
.woocommerce-product-attributes th,
.woocommerce-product-attributes td {
  border: none;
  border-bottom: 1px solid rgba(224, 215, 194, .95);
  padding: .72em .9em;
  font-size: .93rem;
}
.woocommerce-product-attributes th {
  width: 34%;
  color: var(--mj-seal);
  letter-spacing: .1em;
  font-weight: 600;
  background: rgba(143, 52, 35, .035);
  border-left: 2px solid rgba(143, 52, 35, .28);
}
.woocommerce-product-attributes tr:last-child th,
.woocommerce-product-attributes tr:last-child td { border-bottom: none; }
/* 单价 */
.woocommerce div.product p.price { font-size: 1.5em; border-bottom-color: var(--mj-line); }
.woocommerce div.product span.price { color: var(--mj-ink-3); }
/* 数量 + 加购按钮成一组 */
.woocommerce div.product form.cart { margin-top: 1.4em; }
.woocommerce div.product form.cart .quantity { margin-right: .8em; }
.single_add_to_cart_button { letter-spacing: .18em; }
.single_add_to_cart_button:hover { transform: translateY(-1px); box-shadow: 0 10px 22px -16px rgba(143, 52, 35, .95); }

/* 排产牌 = 火漆印 */
.mj-queue-badge {
  border-style: solid;
  border-color: rgba(143, 52, 35, .45);
  background: linear-gradient(160deg, rgba(143, 52, 35, .1), rgba(143, 52, 35, .04));
  border-radius: 999px;
  padding: .5em 1.3em;
  box-shadow: inset 0 0 0 1px rgba(249, 243, 230, .8);
}
/* 相关商品 */
.woocommerce ul.products li.productRelated { padding-bottom: 26px; }

/* 标签页:当前页压一道朱线。Kadence 的 li/active 各带一份媒体查询版,权重层层叠叠;
   再加上本机浏览器 0 宽视口下 border-bottom-color 的 computed 值不可信(实测连行内
   !important 都读回 transparent),所以这里不用 border,改用 inset box-shadow 画那道朱线。 */
body.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding: 0 0 0 .5em;
  border-bottom: 1px solid rgba(224, 215, 194, .95);
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: transparent;
  border: none;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  box-shadow: inset 0 -2px 0 rgba(143, 52, 35, .85);
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  color: var(--mj-ink-3);
  font-weight: 500;
  font-size: .8rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--mj-seal); }
body.woocommerce div.product .woocommerce-tabs .panel { margin: 1.4em 0 0; padding: 0; }

/* ---------- 7. 分类 / 商店页:题头 = 一纸题签 ---------- */
/* 两套标记都要接住(实测本机 DOM):
   Kadence 分类页 → section.entry-hero > header.product-archive-title > h1.archive-title + .archive-description
   商店页 /shop/ → .woocommerce-products-header > .woocommerce-products-header__title
   原来的 .woocommerce-products-header__title / .term-description 在分类页一个都命中不了。 */
.entry-hero { position: relative; }
.entry-hero .entry-hero-container-inner {
  position: relative;
  background: linear-gradient(180deg, #faf6ec 0%, #f1eade 56%, #e9e1cd 100%);
  border-bottom: 1px solid rgba(38, 34, 29, .12);
}
.entry-hero .hero-section-overlay { background: none; }
.entry-hero .hero-container {
  padding-top: clamp(30px, 5vw, 54px);
  padding-bottom: clamp(38px, 6vw, 66px);
}
/* 题签底下压一道山影 */
.entry-hero .entry-hero-container-inner::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 74px;
  background: var(--mj-mountains) center bottom / 100% 74px no-repeat;
  opacity: .45;
  pointer-events: none;
}
/* 首页不走题签:那里由 .mj-hero 承担,题签底板会让首页多出一截横带 */
body.home .entry-hero .entry-hero-container-inner,
body.page-id-42 .entry-hero .entry-hero-container-inner {
  background: transparent;
  border-bottom: none;
}
body.home .entry-hero .entry-hero-container-inner::after,
body.page-id-42 .entry-hero .entry-hero-container-inner::after { display: none; }
body.home .entry-hero .hero-container,
body.page-id-42 .entry-hero .hero-container { padding-top: 30px; padding-bottom: 8px; }
.woocommerce-products-header {
  position: relative;
  padding: 8px 0 22px;
  border-bottom: 1px solid rgba(224, 215, 194, .95);
}
.archive-title,
.woocommerce-products-header__title {
  position: relative;
  letter-spacing: .1em;
}
/* 标题右上角一枚阴刻方印 */
.archive-title::after,
.woocommerce-products-header__title::after {
  content: "墨";
  display: inline-block;
  margin-left: .8em;
  width: 1.7em; height: 1.7em;
  line-height: 1.7;
  text-align: center;
  font-size: .5em;
  color: var(--mj-seal);
  border: 1.5px solid var(--mj-seal);
  border-radius: 3px;
  transform: translateY(-.2em) rotate(-3deg);
  opacity: .85;
}
.archive-title::after { vertical-align: middle; }
.term-description,
.archive-description {
  max-width: 62ch;
  margin: .9em auto 0;
  font-style: normal;
  color: var(--mj-ink-2);
  line-height: 2.05;
}
.archive-description p { margin: 0; }
/* 引言起首一道云纹 = 题跋的抬头 */
.archive-description::before {
  content: "";
  display: block;
  width: 132px; height: 16px;
  margin: 0 auto .95em;
  background: var(--mj-cloud) center / 132px 16px no-repeat;
  opacity: .8;
}
/* 商店页那一套是左对齐的,用朱线当抬头更合适 */
.term-description {
  padding-left: 1em;
  border-left: 2px solid rgba(143, 52, 35, .4);
}
/* 面包屑:Kadence 出的是 .kadence-breadcrumbs(不是 .woocommerce-breadcrumb,实测)
   —— 淡墨 + 疏字距,悬停转朱砂,像目录里的行脚注 */
.kadence-breadcrumbs,
.woocommerce-breadcrumb {
  font-family: var(--mj-serif);
  font-size: .82rem;
  letter-spacing: .08em;
  color: var(--mj-ink-3);
}
.kadence-breadcrumbs a,
.woocommerce-breadcrumb a { color: var(--mj-ink-3); transition: color .2s var(--mj-ease); }
.kadence-breadcrumbs a:hover,
.woocommerce-breadcrumb a:hover { color: var(--mj-seal); }
.woocommerce .products ul, .woocommerce ul.products { row-gap: 26px; }

/* ---------- 8. 首页其余板块的小修整 ---------- */
.mj-line-card { padding: 46px 30px 36px; }
.mj-line-glyph { font-size: 3.6rem; opacity: .92; }
.mj-line-card h3 { font-size: 1.28rem; letter-spacing: .04em; }
.mj-line-card p { line-height: 1.95; }
/* 三条线的顶边色:上面 §5 的 .mj-line-card.mj-line-card 权重是 (0,2,0),
   base 的 .is-place/.is-lineage 只有 (0,1,0) 会被顶掉,这里跟着抬一级。 */
.mj-line-card.mj-line-card.is-place  { border-top-color: var(--mj-jade); }
.mj-line-card.mj-line-card.is-word   { border-top-color: var(--mj-ink); }
.mj-line-card.mj-line-card.is-lineage{ border-top-color: var(--mj-seal); }
.is-place .mj-line-glyph  { color: var(--mj-jade); }
.is-lineage .mj-line-glyph { color: var(--mj-seal); }

.mj-combo-seal {
  border-radius: 14px;
  background: linear-gradient(155deg, #a03d27 0%, #8a3020 45%, #6f2417 100%);
  box-shadow:
    inset 0 0 0 2px rgba(249, 243, 230, .32),
    inset 0 0 22px rgba(0, 0, 0, .18),
    0 18px 34px -18px rgba(143, 52, 35, .75);
}
.mj-combo-vtext {
  border-left-color: rgba(38, 34, 29, .18);
  font-size: clamp(28px, 3.2vw, 44px);
  letter-spacing: .3em;
}
.mj-surname { transition: transform .3s var(--mj-ease), box-shadow .3s var(--mj-ease); }
.mj-surname:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px rgba(255,255,255,.7), 0 12px 22px -18px rgba(var(--mj-shadow), .9); }
.mj-mood .dot { box-shadow: inset 0 0 0 1px rgba(38,34,29,.14), 0 6px 14px -10px rgba(var(--mj-shadow), .8); }

.mj-principle { border-left-color: rgba(143, 52, 35, .35); }
.mj-principle:hover { border-left-color: var(--mj-seal); }

.mj-cta-band {
  position: relative;
  background:
    radial-gradient(120% 90% at 50% 0%, rgba(143, 52, 35, .22), transparent 60%),
    linear-gradient(180deg, #2b2620, #1f1b17);
  border-top: 1px solid rgba(240, 232, 214, .12);
}
.mj-cta-band::before {
  content: "";
  position: absolute; inset: 0;
  background: var(--mj-fiber);
  opacity: .5;
  pointer-events: none;
}
.mj-cta-band > * { position: relative; }

/* ---------- 8b. 首页剩下几个只穿了 base 的构件,一并抬到 v3 的水准 ---------- */
/* 地名印 chips:一小片宣纸压朱字,悬停时墨迹洇开一点 */
.mj-seal-chip {
  background: linear-gradient(180deg, #fbf7ee, #f2ebdb);
  border-color: rgba(143, 52, 35, .28);
  color: var(--mj-ink);
  box-shadow: inset 0 0 0 3px rgba(250, 246, 236, .8), 0 10px 20px -18px rgba(var(--mj-shadow), .8);
  transition: transform .3s var(--mj-ease), box-shadow .3s var(--mj-ease), border-color .3s var(--mj-ease);
}
.mj-seal-chip:hover {
  transform: translateY(-2px);
  border-color: rgba(143, 52, 35, .5);
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, .75), 0 16px 26px -18px rgba(var(--mj-shadow), .9);
}
.mj-surname { background: linear-gradient(180deg, #fbf7ee, #f3ecdd); }
.mj-surname:hover { border-color: rgba(143, 52, 35, .45); }
/* 两行小楷跋文:起首一道云纹 */
.mj-combo-note, .mj-strip-note { color: var(--mj-ink-3); line-height: 2.1; }
.mj-combo-note::before, .mj-strip-note::before {
  content: "";
  display: block;
  width: 132px; height: 16px;
  margin: 0 auto 1.2em;
  background: var(--mj-cloud) center / 132px 16px no-repeat;
  opacity: .7;
}
/* 守则编号:套一枚极小的朱框 */
.mj-num {
  display: inline-block;
  padding: .1em .5em;
  border: 1px solid rgba(143, 52, 35, .35);
  border-radius: 2px;
  background: rgba(143, 52, 35, .05);
}
/* 「进入这一条线」的链接:改成会洇开的墨迹下划线 */
.mj-line-card .mj-line-link {
  border-bottom: none;
  background: linear-gradient(90deg, var(--mj-seal), rgba(143, 52, 35, .4)) left bottom / 0% 1px no-repeat;
  transition: background-size .4s var(--mj-ease), color .25s ease;
}
.mj-line-card .mj-line-link:hover { background-size: 100% 1px; color: var(--mj-seal-deep); }
/* 收尾带的两个大字与按钮 */
.mj-cta-glyph { text-shadow: 0 1px 0 rgba(0, 0, 0, .35), 0 0 26px rgba(240, 232, 214, .18); }.mj-cta-band a.mj-cta-btn { box-shadow: inset 0 0 0 1px rgba(240, 232, 214, .18); }
.mj-cta-band a.mj-cta-btn:hover {
  box-shadow: inset 0 0 0 1px rgba(240, 232, 214, .3), 0 12px 26px -18px rgba(0, 0, 0, .6);
}

/* ---------- 8c. 博客 / 搜索结果列表:把 Kadence 的现代卡片压成纸片 ---------- */
/* 实测本机 /?s=seal:列表项走 .entry.loop-entry,只有 Kadence 自带的
   box-shadow: rgba(0,0,0,.05) 0 15px 15px -10px,没有商品卡的册页处理。
   :not(.product) 保证不碰商品循环卡(它们由 §5 管)。 */
.blog .entry.loop-entry:not(.product),
.search .entry.loop-entry:not(.product),
.archive:not(.woocommerce) .entry.loop-entry:not(.product) {
  background: linear-gradient(180deg, #fbf7ee, #f4eee0);
  border: 1px solid var(--mj-line);
  border-radius: 2px;
  box-shadow: 0 12px 24px -22px rgba(var(--mj-shadow), .8);
  transition: transform .3s var(--mj-ease), box-shadow .3s var(--mj-ease);
}
.blog .entry.loop-entry:not(.product):hover,
.search .entry.loop-entry:not(.product):hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 30px -22px rgba(var(--mj-shadow), .9);
}
.search .entry.loop-entry .search-title a,
.blog .loop-entry .entry-title a { color: var(--mj-ink); }
.search .entry.loop-entry .search-title a:hover,
.blog .loop-entry .entry-title a:hover { color: var(--mj-seal); }
/* 摘要里的关键词高亮(浏览器 :target 与搜索匹配)不要用刺眼黄 */
.search mark, .entry-content mark {
  background: rgba(143, 52, 35, .12);
  color: var(--mj-seal-deep);
  padding: 0 .15em;
  border-radius: 2px;
}
/* 搜索结果里的商品命中的是 .loop-entry.product(它们不在 ul.products 里,§5 管不到),
   给同一张纸,但不加回纹角,免得和 Kadence 的循环结构打架。
   Kadence 有 .woocommerce .content-bg .product.entry.loop-entry{box-shadow:none} 这条 5 类规则,
   所以这里也带满 5 个类才压得住。 */
.search .entry.content-bg.loop-entry.product,
.archive .entry.content-bg.loop-entry.product:not(li) {
  background: linear-gradient(180deg, rgba(255, 253, 247, .9), rgba(250, 246, 236, .75));
  border: 1px solid var(--mj-line);
  border-radius: 2px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65), 0 12px 26px -22px rgba(var(--mj-shadow), .75);
}

/* ---------- 9. 表单 / 购物车 / 结账:纸上书写 ---------- */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-checkout #customer_details {
  background: rgba(252, 248, 240, .92) !important;
  box-shadow: inset 0 1px 3px rgba(var(--mj-shadow), .07);
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  border-color: var(--mj-seal) !important;
  box-shadow: 0 0 0 3px rgba(143, 52, 35, .12);
  outline: none;
}
.woocommerce-checkout h3, .woocommerce-billing-fields h3 { letter-spacing: .12em; font-size: 1.02rem; }
.woocommerce table.shop_table { border: 1px solid var(--mj-line); }
.woocommerce table.shop_table td, .woocommerce table.shop_table th { border-bottom: 1px solid rgba(224, 215, 194, .8); }
.woocommerce-info::before, .woocommerce-message::before, .woocommerce-error::before { color: var(--mj-seal); }
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-message {
  border-top: none;
  border-left: 3px solid var(--mj-seal);
  background: linear-gradient(90deg, rgba(143, 52, 35, .06), rgba(250, 246, 236, .9) 40%);
  border-radius: 0 2px 2px 0;
}

/* ---------- 9b. 购物车 / 结账用的是「区块」而不是经典短代码 ---------- */
/* 实测本机:/cart/ 渲染的是 Cart Block(有 .wc-block-cart__empty-cart__title、
   .wc-block-grid__product 共 29 个 wc-block 节点,一张经典 ul.products 都没有),
   /checkout/ 在空车时 301 回首页。所以这一节的类名分两档:
   · 【已验证】.wc-block-cart__empty-cart__title / .wc-block-grid__product* /
     .wp-block-button__link / .wc-block-components-notices —— 本机读到过;
   · 【未验证】带 items 的购物车与结账表单(.wc-block-cart-items、.wc-block-components-totals-*、
     .wc-block-components-notice-banner、.wc-block-checkout …):本机加购动作被权限拦下,
     没拿到真 DOM。这些选择器只会「命中不了=不生效」,不会伤到别的样式;
     上线前请在浏览器里看一眼购物车有货时的样子。 */
.wc-block-cart__empty-cart__title,
.wc-block-components-empty-cart__title {
  font-weight: 500;
  letter-spacing: .1em;
  color: var(--mj-ink-2);
}
/* 区块商品卡与经典卡同一套册页处理 */
.wc-block-grid__product .wc-block-components-product-name,
.wc-block-grid__product .wc-block-grid__product-title-link { color: var(--mj-ink); }
.wc-block-grid__product .wc-block-grid__product-price,
.wc-block-grid__product .wc-block-components-product-price {
  color: var(--mj-seal);
  font-family: var(--mj-serif);
}
/* 区块里的按钮:描边墨线,主操作才上朱砂 */
.wc-block-cart .wp-block-button__link,
.wc-block-components-button {
  font-family: var(--mj-serif);
  letter-spacing: .14em;
  text-transform: uppercase;
  border-radius: 2px;
}
.wc-block-components-notice-banner {
  border: none;
  border-left: 3px solid var(--mj-seal);
  border-radius: 0 2px 2px 0;
  background: linear-gradient(90deg, rgba(143, 52, 35, .07), rgba(250, 246, 236, .92) 45%);
  color: var(--mj-ink-2);
}
.wc-block-cart,
.wc-block-checkout,
.wc-block-components-totals-wrapper {
  background: rgba(250, 246, 236, .9);
  border: 1px solid var(--mj-line);
  border-radius: 3px;
}
.wc-block-components-totals-item__value,
.wc-block-components-totals-item__label { font-family: var(--mj-serif); }
.wc-block-components-totals-item__value { color: var(--mj-ink); }
.wc-block-cart__submit-button,
.wc-block-checkout__place-order .wc-block-components-button {
  background: var(--mj-seal);
  border-color: var(--mj-seal);
  color: #f7f1e2;
}
.wc-block-components-textinput input,
.wc-block-components-textinput select,
.wc-block-components-textinput textarea,
.wc-block-components-quantity-selector input {
  background: rgba(252, 248, 240, .92);
  border: 1px solid var(--mj-line);
  border-radius: 2px;
  font-family: var(--mj-serif);
}

/* ---------- 10. 页脚:端砚 ---------- */
.site-footer, .site-footer-row, footer.site-footer {
  background:
    radial-gradient(90% 120% at 50% -20%, rgba(143, 52, 35, .22), transparent 55%),
    linear-gradient(180deg, #241f1a, #1a1612);
  border-top: 1px solid rgba(240, 232, 214, .14);
}
.site-footer .widget a:hover { color: #eaa088; }

/* ---------- 11. 焦点可达性:base 关掉了轮廓,这里补回来 ---------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
.mj-line-card:focus-visible,
ul.products li.product a:focus-visible {
  outline: 2px solid var(--mj-seal);
  outline-offset: 3px;
  border-radius: 2px;
}

/* ---------- 12. 动效偏好:系统关了就不动 ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
  ul.products li.product:hover,
  .mj-line-card:hover,
  .mj-surname:hover,
  .button:hover { transform: none !important; }
}

/* ---------- 13. 窄屏:去掉竖排题字与固定底纹,保住留白 ---------- */
@media (max-width: 900px) {
  html body { background-attachment: scroll, scroll, scroll; }
  .mj-hero::before, .mj-hero::after { display: none; }
  .mj-hero { padding-bottom: 96px; }
}
@media (max-width: 600px) {
  .mj-section-head { padding-top: 52px; }
  body.single-product div.product.entry.content-bg.entry-content-wrap { padding: 20px 16px 26px; }
  ul.products li.product { padding: 14px 14px 22px; }
  .mj-combo { gap: 26px; flex-wrap: wrap; }
  .entry-content > p { text-align: left; }
  .woocommerce-products-header__title { padding-right: 2.6em; }
}


/* === assets\gufeng-v4.css === */
/**
 * gufeng-v4.css — 前端档次重塑层(2026-10-18)
 * 压在 gufeng-v3.css 之后。只做四件事:
 *  1) 按钮系统:实心墨色主按钮 / 描边次按钮 / 朱印强调,全站统一,修掉 hero 浅底浅字看不见的问题
 *  2) hero:题字留白、信任三标(真人手写 / 按单写制 / 芯纸分离)、CTA 层级
 *  3) 半签视觉:燕尾互补剪口 + 骑缝章各半(首页「一句话,只写一遍」段)
 *  4) 排版节奏:章节留白、字阶、卡片与焦点态
 * 许可:与本站其余样式同,GPL-2.0-or-later。字体仍只用思源(OFL)与系统衬线栈。
 */

/* ---------- 1. 按钮系统 ----------
   Kadence 的 .button 默认白字,压在纸色底上=看不见(v3 只改了底没改字)。
   v4 把全站按钮收成两级:实心=主行动,描边=次行动;朱印色只留给「盖章/成交」类。 */
a.button,
button.button,
input.button,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.added_to_cart,
.mj-btn,
.mj-cta-btn {
  display: inline-block;
  padding: .98em 2.4em;
  border: 1px solid var(--mj-ink);
  border-radius: 2px;
  background: var(--mj-ink);
  color: #f7f2e6;
  font-family: var(--mj-serif);
  font-size: .84rem;
  letter-spacing: .22em;
  text-indent: .22em; /* 抵消末字 letter-spacing 造成的视觉偏左 */
  text-transform: uppercase;
  text-decoration: none;
  line-height: 1.2;
  box-shadow: 0 10px 22px -18px rgba(var(--mj-shadow), .9);
  transition: background .28s var(--mj-ease), color .28s var(--mj-ease),
    border-color .28s var(--mj-ease), transform .28s var(--mj-ease),
    box-shadow .28s var(--mj-ease);
}
a.button:hover,
button.button:hover,
input.button:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.mj-btn:hover,
.mj-cta-btn:hover {
  background: var(--mj-seal);
  border-color: var(--mj-seal);
  color: #fdf8ec;
  transform: translateY(-2px);
  box-shadow: 0 16px 28px -18px rgba(143, 52, 35, .8);
}
a.button:active, button.button:active, input.button:active,
.mj-btn:active, .mj-cta-btn:active { transform: translateY(0); }

/* 次按钮:描边墨色,悬停才填墨 */
.mj-btn-line.mj-btn-line,
.mj-hero-cta .mj-btn-line.mj-btn-line {
  background: transparent;
  border-color: rgba(38, 34, 29, .62);
  color: var(--mj-ink);
  box-shadow: none;
}
.mj-btn-line.mj-btn-line:hover {
  background: var(--mj-ink);
  border-color: var(--mj-ink);
  color: #f7f2e6;
}

/* Woo 的 .alt(加购/结算)走朱印底:边框跟底同色,悬停回墨 */
.woocommerce button.button.alt,
.woocommerce a.button.alt,
a.button.alt,
button.button.alt {
  background: var(--mj-seal);
  border-color: var(--mj-seal);
  color: #fdf8ec;
}
.woocommerce button.button.alt:hover,
.woocommerce a.button.alt:hover,
a.button.alt:hover,
button.button.alt:hover {
  background: var(--mj-ink);
  border-color: var(--mj-ink);
  color: #f7f2e6;
}

/* 焦点态:键盘用户看得见的金描边 */
a.button:focus-visible,
button.button:focus-visible,
input.button:focus-visible,
.wp-block-button__link:focus-visible,
.mj-btn:focus-visible,
.mj-cta-btn:focus-visible,
a.mj-line-card:focus-visible,
a.mj-seal-chip:focus-visible {
  outline: 2px solid var(--mj-gold);
  outline-offset: 3px;
}

/* hero 的 CTA 行:主左次右,间距拉开 */
.mj-hero-cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 18px 22px;
  margin-top: 2.6em;
}
/* 旧内联样式(button + style=)兜底:万一 markup 没换,字也得看得见 */
.mj-hero-cta .button,
.mj-hero-cta a.button {
  background: var(--mj-ink);
  border-color: var(--mj-ink);
  color: #f7f2e6;
}

/* ---------- 2. hero 节奏与信任三标 ---------- */
.mj-hero { padding-bottom: clamp(72px, 9vw, 116px); }
.mj-hero-sub {
  position: relative;
  display: inline-block;
  padding-bottom: 1.15em;
}
.mj-hero-sub::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 64px;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, var(--mj-gold), transparent);
}
.mj-hero-tag { margin: 1.9em auto 0; max-width: 36em; }
.mj-hero-marks {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 0;
  margin: 3.2em auto 0;
  padding: 1.15em 18px 0;
  border-top: 1px solid rgba(38, 34, 29, .12);
  max-width: 46em;
}
.mj-hero-marks li {
  position: relative;
  padding: 0 1.5em;
  color: var(--mj-ink-3);
  font-size: .72rem;
  letter-spacing: .26em;
  text-indent: .26em;
}
.mj-hero-marks li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 4px;
  height: 4px;
  margin-top: -2px;
  border-radius: 50%;
  background: var(--mj-seal);
  opacity: .65;
}

/* ---------- 3. 半签视觉:燕尾剪口 + 骑缝章各半 ---------- */
.mj-combo.mj-combo-half {
  display: flex;
  justify-content: center;
  align-items: stretch;
  gap: 14px;
  padding: 8px 18px 0;
}
.mj-half {
  position: relative;
  width: min(238px, 42vw);
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(180deg, rgba(255, 253, 246, .9), rgba(246, 240, 226, .9)),
    var(--mj-fiber);
  box-shadow: 0 18px 34px -26px rgba(var(--mj-shadow), .85);
}
.mj-half-l {
  clip-path: polygon(0 0, 100% 0, 100% 38%, 80% 50%, 100% 62%, 100% 100%, 0 100%);
  padding-right: 26px;
}
.mj-half-r {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 0 62%, 20% 50%, 0 38%);
  padding-left: 26px;
}
.mj-half-text {
  writing-mode: vertical-rl;
  font-family: var(--mj-serif);
  font-size: clamp(1.5rem, 4vw, 2.1rem);
  letter-spacing: .3em;
  color: var(--mj-ink);
}
/* 骑缝章:左半持章之左半,右半持章之右半 */
.mj-half-seal {
  position: absolute;
  top: 26px;
  width: 21px;
  height: 42px;
  background: linear-gradient(160deg, #9c3a26, #75281a);
}
.mj-half-l .mj-half-seal { right: 12px; border-radius: 3px 0 0 3px; }
.mj-half-r .mj-half-seal { left: 12px; border-radius: 0 3px 3px 0; }
.mj-half-scene {
  position: absolute;
  bottom: 20px;
  left: 0;
  right: 0;
  text-align: center;
  color: var(--mj-ink-3);
  font-size: .68rem;
  letter-spacing: .22em;
  text-indent: .22em;
}
/* 剪口虚线:两半之间那一刀 */
.mj-cut {
  align-self: stretch;
  width: 0;
  border-left: 1px dashed rgba(143, 52, 35, .55);
}

/* ---------- 4. 半签线卡片配色 + 排版节奏 ---------- */
.mj-line-card.mj-line-card.is-half { border-top-color: #924a58; }
.mj-line-card.is-half .mj-line-glyph,
.mj-line-card.is-half .mj-line-link { color: #924a58; }

.mj-section-head { padding-top: 92px; }
.mj-section-head h2 { font-size: clamp(1.55rem, 3.4vw, 2.05rem); }
.mj-section-head p { letter-spacing: .06em; }
.mj-strip-note { letter-spacing: .04em; }

/* 商品卡:图角与价目字阶,跟册页一个脾气 */
ul.products li.product .img-wrap,
ul.products li.product img { border-radius: 3px; }
body.woocommerce ul.products li.product .price {
  font-family: var(--mj-serif);
  letter-spacing: .04em;
}
body.woocommerce ul.products li.product .price ins { text-decoration: none; }

/* 底栏 CTA:印章式主按钮 */
.mj-cta-btn { background: var(--mj-seal); border-color: var(--mj-seal); }
.mj-cta-btn:hover { background: var(--mj-ink); border-color: var(--mj-ink); }

/* 页脚政策导航:小字距、金点分隔,跟数据三句话一个声部 */
.mj-policy-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 12px;
  max-width: 1140px;
  margin: 0 auto 8px;
  padding: 0 20px;
  font-size: .7rem;
  letter-spacing: .18em;
  text-indent: .18em;
  text-transform: uppercase;
}
.mj-policy-nav a {
  color: var(--mj-ink-3);
  text-decoration: none;
  border-bottom: 1px solid transparent;
  transition: color .25s var(--mj-ease), border-color .25s var(--mj-ease);
}
.mj-policy-nav a:hover { color: var(--mj-seal); border-bottom-color: var(--mj-seal); }
.mj-policy-nav span { color: rgba(38, 34, 29, .28); }

/* ---------- 5. 动效偏好与窄屏 ---------- */
@media (prefers-reduced-motion: reduce) {
  a.button, button.button, input.button, .mj-btn, .mj-cta-btn { transition: none; }
  a.button:hover, button.button:hover, .mj-btn:hover, .mj-cta-btn:hover { transform: none; }
}
@media (max-width: 600px) {
  .mj-hero-cta { flex-direction: column; align-items: stretch; }
  .mj-hero-cta .mj-btn, .mj-hero-cta a.button { width: 100%; text-align: center; }
  .mj-hero-marks { flex-direction: column; gap: 8px; }
  .mj-hero-marks li { padding: 0; }
  .mj-hero-marks li + li::before { display: none; }
  .mj-combo.mj-combo-half { gap: 8px; }
  .mj-half { min-height: 260px; }
}


/* === assets\gufeng-v5.css === */
/**
 * gufeng-v5.css — 墨韵深化层(2026-10-18)
 * 压在 v3 / v4 之后。只做视觉与可读性,不改模板结构。
 * 设计母题:宣纸、浓墨、朱砂印、禅圆、远山、云纹、回纹、窗棂、梅影。
 * 许可:与本站其余样式同,GPL-2.0-or-later;字体只用系统衬线栈(无外链字体)。
 */

/* ==========================================================================
   0. 色与字:把「淡墨」压深一档,小字达到 WCAG AA 对比度
   ========================================================================== */
:root {
  /* 拉丁衬线在前,中文落到系统宋体;不引入任何 webfont */
  --mj-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua",
    Georgia, "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;
  --mj-ink-3: #5e5648;          /* 原 #6f675a,纸底对比约 6.3:1 */
  --mj-ink-4: #7b7263;          /* 仅用于大字号/装饰 */
  --mj-line: #d9cfb9;
  --mj-line-soft: rgba(38, 34, 29, .1);
  --mj-paper-2: #fbf7ee;

  /* 禅圆:一笔未合拢的圆。压低透明度,只当底纹,不切正文 */
  --mj-enso: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 320'%3E%3Cpath d='M160 22c76 0 138 62 138 138s-62 138-138 138S22 236 22 160 84 22 160 22' fill='none' stroke='%238f3423' stroke-opacity='.16' stroke-width='2.2' stroke-linecap='round' stroke-dasharray='800 70'/%3E%3C/svg%3E");

  /* 梅影:一枝从右上垂下的墨梅 */
  --mj-plum: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 280'%3E%3Cg fill='none' stroke='%2326221d' stroke-linecap='round'%3E%3Cpath d='M232 10c-48 38-78 74-96 116-15 34-34 58-66 78' stroke-width='2.2' opacity='.34'/%3E%3Cpath d='M166 70c-18 8-34 10-52 6M132 112c-14 12-26 20-40 24M104 156c-10 12-18 26-22 40' stroke-width='1.2' opacity='.26'/%3E%3C/g%3E%3Cg fill='%238f3423' opacity='.5'%3E%3Ccircle cx='104' cy='78' r='4'/%3E%3Ccircle cx='96' cy='70' r='3'/%3E%3Ccircle cx='112' cy='70' r='3'/%3E%3Ccircle cx='104' cy='62' r='3'/%3E%3Ccircle cx='84' cy='132' r='3.4'/%3E%3Ccircle cx='78' cy='125' r='2.6'/%3E%3Ccircle cx='90' cy='125' r='2.6'/%3E%3Ccircle cx='66' cy='184' r='3'/%3E%3C/g%3E%3C/svg%3E");

  /* 窗棂:只给深色收尾带用 */
  --mj-lattice: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cg fill='none' stroke='%23f0e8d6' stroke-opacity='.16' stroke-width='1'%3E%3Cpath d='M0 20h40M20 0v40'/%3E%3Cpath d='M0 0h40v40H0z'/%3E%3C/g%3E%3C/svg%3E");
}

html body {
  background:
    radial-gradient(1100px 520px at 50% -8%, rgba(255, 253, 246, .75), transparent 62%),
    var(--mj-paper);
}

/* ==========================================================================
   1. 页头:一条朱线压顶,像卷轴的天地杆
   ========================================================================== */
.site-header { position: relative; }
.site-header::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(143, 52, 35, .38) 18%, rgba(143, 52, 35, .38) 82%, transparent);
  pointer-events: none;
}
.site-header .site-title { letter-spacing: .34em; }
.site-header .main-navigation ul li a { letter-spacing: .17em; }

/* Kadence 给每个 entry-header 留了 200px 最小高度;首页题眉与内页题签都不需要 */
.entry-hero .entry-header { min-height: 0 !important; }

/* ==========================================================================
   2. 首页题签:把原来那截「大标题 + 云纹」压成一行小字题眉
   ========================================================================== */
body.home section.entry-hero,
body.page-id-42 section.entry-hero {
  padding: 16px 0 0 !important;
}
body.home .entry-hero .hero-container,
body.page-id-42 .entry-hero .hero-container {
  padding-top: 0;
  padding-bottom: 4px;
}
body.home .entry-hero .entry-title,
body.home .page-title {
  display: block;
  max-width: 92vw;
  margin: 0 auto;
  padding: 0 20px 6px;
  font-size: clamp(.62rem, .82vw, .74rem);
  font-weight: 500;
  line-height: 1.9;
  letter-spacing: .3em;
  text-transform: uppercase;
  color: var(--mj-ink-3);
}
body.home .entry-hero .entry-title::before,
body.home .entry-hero .entry-title::after {
  display: none;
}

/* ==========================================================================
   3. 首页 hero:禅圆 + 远山 + 两侧竖题
   ========================================================================== */
body.home .mj-hero {
  padding: clamp(54px, 7vw, 88px) 24px clamp(78px, 9.5vw, 112px);
  background:
    var(--mj-enso) center 30% / min(34vw, 340px) auto no-repeat,
    var(--mj-mountains) bottom center / 118% 236px no-repeat,
    radial-gradient(ellipse at 50% 6%, rgba(255, 253, 247, .96), transparent 58%),
    linear-gradient(180deg, #f8f3e8 0%, #f0e8d7 100%);
  border-top: 1px solid rgba(143, 52, 35, .14);
  border-bottom: 1px solid rgba(38, 34, 29, .12);
  box-shadow: inset 0 0 90px rgba(255, 255, 255, .35);
}
body.home .mj-hero-glyph {
  display: block;
  font-family: "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;
  font-weight: 600;
  letter-spacing: .3em;
  margin-left: .3em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, .65), 0 16px 30px rgba(38, 34, 29, .28);
}
body.home .mj-hero-sub {
  display: block;
  margin: 1.35em auto 0;
  letter-spacing: .44em;
  margin-left: auto;
  font-size: .76rem;
  color: var(--mj-ink-3);
}
body.home .mj-hero-glyph::after {
  background: radial-gradient(closest-side, rgba(38, 34, 29, .12), transparent 70%);
}
body.home .mj-hero-tag {
  max-width: 36em;
  font-size: clamp(1.02rem, 1.15vw, 1.12rem);
  line-height: 2.1;
}
body.home .mj-hero-tag em {
  font-size: .92em;
  letter-spacing: .02em;
}
body.home .mj-hero-marks {
  border-top-color: rgba(38, 34, 29, .14);
}
body.home .mj-hero-marks li {
  font-size: .68rem;
  letter-spacing: .28em;
}

/* ==========================================================================
   4. 章节题头:阴刻「墨」印 + 云纹,不再满屏红方块
   ========================================================================== */
.mj-section-head { padding-top: clamp(66px, 8vw, 104px); }
.mj-section-head h2 {
  font-weight: 500;
  letter-spacing: .14em;
}
.mj-section-head h2::before {
  content: "墨";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em; height: 1.5em;
  margin: 0 .75em -.38em 0;
  transform: rotate(-4deg);
  border: 1.5px solid var(--mj-seal);
  border-radius: 2px;
  background: transparent;
  color: var(--mj-seal);
  font-size: .68em;
  letter-spacing: 0;
  box-shadow: inset 0 0 0 2px rgba(143, 52, 35, .1);
}
.mj-section-head::after {
  opacity: .42;
}
.mj-section-head p {
  letter-spacing: .04em;
}

/* ==========================================================================
   5. 三线卡与商品卡:册页的骨
   ========================================================================== */
.mj-line-card.mj-line-card {
  background:
    linear-gradient(180deg, rgba(255, 253, 247, .94), rgba(248, 242, 230, .86));
  border-top-width: 3px;
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .7),
    inset 0 0 0 4px rgba(246, 240, 228, .55),
    0 18px 34px -28px rgba(38, 34, 29, .85);
}
.mj-line-card .mj-line-glyph {
  font-family: "Songti SC", "STSong", "SimSun", "Noto Serif SC", serif;
  font-weight: 600;
}
.mj-line-card h3 { font-weight: 600; letter-spacing: .03em; }
.mj-line-card .mj-line-link { letter-spacing: .22em; }

ul.products li.product,
ul.products li.product.entry.content-bg.loop-entry {
  background:
    linear-gradient(180deg, rgba(255, 253, 247, .95), rgba(249, 244, 233, .88));
  border-color: rgba(217, 207, 185, .95);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .72),
    inset 0 0 0 4px rgba(246, 240, 228, .5),
    0 16px 30px -26px rgba(38, 34, 29, .8);
}
ul.products li.product:hover {
  border-color: rgba(143, 52, 35, .28);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .8),
    inset 0 0 0 4px rgba(246, 240, 228, .55),
    0 26px 44px -28px rgba(38, 34, 29, .9);
}
ul.products li.product .woocommerce-loop-product__title {
  min-height: 3.05em;
  font-weight: 600 !important;
  letter-spacing: .01em;
}
ul.products li.product .price {
  font-variant-numeric: lining-nums;
  letter-spacing: .03em;
}
ul.products li.product .mj-made-to-order {
  margin-top: 4px;
  font-size: .66rem;
  line-height: 1.6;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--mj-ink-3);
  white-space: nowrap;
}
@media (max-width: 700px) {
  ul.products li.product .mj-made-to-order { white-space: normal; letter-spacing: .06em; }
  .kadence-shop-top-row { gap: 8px; }
  .kadence-woo-results-count { flex: 1 1 100%; }
  .kadence-woo-ordering { flex: 1 1 100%; }
  body.woocommerce .woocommerce-ordering { width: 100%; }
  body.woocommerce .woocommerce-ordering select { width: 100% !important; min-width: 0; }
  body.woocommerce .kadence-shop-top-item.kadence-woo-toggle { display: none !important; }
}

/* ==========================================================================
   6. 商店页:一条纸 toolbar,把结果数与排序收进细线里
   ========================================================================== */
.entry-hero .hero-container {
  padding-top: clamp(26px, 3.6vw, 42px);
  padding-bottom: clamp(28px, 4vw, 48px);
}
.entry-hero .entry-hero-container-inner::after { opacity: .38; }
.archive-title,
.woocommerce-products-header__title {
  font-weight: 500;
  letter-spacing: .12em;
}

.kadence-shop-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0 0 28px;
  padding: 12px 0;
  border-top: 1px solid var(--mj-line);
  border-bottom: 1px solid var(--mj-line);
}
.kadence-shop-top-item { display: flex; align-items: center; }
.woocommerce-result-count {
  margin: 0;
  font-size: .74rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--mj-ink-3);
}
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select {
  min-width: 190px;
  padding: .45em 2em .45em .8em;
  font-size: .76rem;
  letter-spacing: .08em;
  background-color: rgba(251, 247, 238, .9);
  border-color: var(--mj-line) !important;
}
.kadence-product-toggle-container { border-color: var(--mj-line); }

/* ==========================================================================
   7. 商品页:立轴、朱印、题签式标签
   ========================================================================== */
body.single-product div.product.entry.content-bg.entry-content-wrap {
  background:
    linear-gradient(180deg, #fcf8f0 0%, #f7f1e4 100%);
  border: 1px solid var(--mj-line);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, .7),
    inset 0 0 0 6px rgba(250, 246, 236, .55),
    0 30px 60px -52px rgba(38, 34, 29, .9);
}
body.single-product .product_title {
  font-size: clamp(1.55rem, 2.6vw, 2.05rem);
  line-height: 1.3;
  font-weight: 600;
  letter-spacing: .005em;
}
body.single-product div.product p.price {
  font-size: clamp(1.6rem, 2.4vw, 1.95rem);
  border-bottom: 1px solid var(--mj-line);
  padding-bottom: .45em;
}
body.single-product div.product p.price::after {
  content: "USD";
  font-size: .34em;
  letter-spacing: .24em;
  margin-left: .6em;
  vertical-align: .45em;
  color: var(--mj-ink-3);
}
/* 画心:细线压边,不再往图上盖印章(会挡掉图内的品牌字) */
body.single-product .woocommerce-product-gallery { position: relative; }
body.single-product .woocommerce-product-gallery img {
  border: 1px solid rgba(38, 34, 29, .08);
}
/* 排期徽章:从虚线药丸改成一条朱线题跋 */
.mj-queue-badge {
  display: block;
  padding: .7em 1em;
  border: 1px solid rgba(143, 52, 35, .28);
  border-left: 3px solid var(--mj-seal);
  border-radius: 0 2px 2px 0;
  background: linear-gradient(90deg, rgba(143, 52, 35, .07), rgba(251, 247, 238, .7) 70%);
  color: var(--mj-seal);
  font-size: .76rem;
  letter-spacing: .08em;
  text-transform: none;
  line-height: 1.7;
}

/* 标签:从 Woo 的胶囊条改成题签 */
body.woocommerce div.product .woocommerce-tabs ul.tabs {
  margin: 2.2em 0 0;
  padding: 0;
  text-align: center;
  border-bottom: 1px solid var(--mj-line);
}
body.woocommerce div.product .woocommerce-tabs ul.tabs::before,
body.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
body.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li {
  float: none;
  display: inline-block;
  margin: 0 .15em;
  padding: 0;
  background: transparent;
  border: none;
  border-radius: 0;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block;
  padding: .95em 1.25em;
  font-size: .74rem;
  letter-spacing: .18em;
}
body.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  border-bottom: 2px solid var(--mj-seal);
}
body.woocommerce div.product .woocommerce-tabs .panel {
  padding: .4em 0 0;
  line-height: 1.95;
}
/* 区块标题「Description」与标签同名,重复一次;隐掉面板里那一个 */
body.woocommerce div.product .woocommerce-Tabs-panel--description > h2:first-child {
  display: none;
}
body.woocommerce div.product .woocommerce-Tabs-panel--description > p:first-of-type {
  margin-top: 1.2em;
}
body.woocommerce div.product .shop_attributes th,
body.woocommerce div.product .shop_attributes td {
  border-color: rgba(217, 207, 185, .9);
  padding: .7em .9em;
}
body.woocommerce div.product .shop_attributes th {
  font-weight: 500;
  letter-spacing: .1em;
  color: var(--mj-ink-3);
  width: 34%;
}

/* 相关商品:另起一纸,加「同」印 */
.related.products {
  margin-top: 36px;
  padding-top: 4px;
  border-top: 1px solid var(--mj-line);
}
.related.products > h2 {
  margin: 18px 0 8px;
  text-align: center;
  font-size: clamp(1.3rem, 2.2vw, 1.55rem);
  font-weight: 500;
  letter-spacing: .16em;
}
.related.products > h2::before {
  content: "同";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5em; height: 1.5em;
  margin: 0 .8em -.3em 0;
  border: 1.5px solid var(--mj-seal);
  border-radius: 2px;
  color: var(--mj-seal);
  font-size: .62em;
  transform: rotate(-4deg);
}

/* ==========================================================================
   8. 购物车 / 结账:区块组件也回到纸上
   ========================================================================== */
.wp-block-woocommerce-empty-cart-block {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 48px) clamp(16px, 3vw, 34px);
  background: linear-gradient(180deg, rgba(255, 253, 247, .92), rgba(249, 244, 233, .86));
  border: 1px solid var(--mj-line);
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .7), 0 22px 44px -40px rgba(38, 34, 29, .85);
}
.wc-block-cart__empty-cart__title,
.wc-block-components-empty-cart__title {
  font-weight: 500;
  letter-spacing: .1em;
}
/* 把 Woo 的空车图标换成一枚「墨」印(空车也留在纸面上) */
.wc-block-cart__empty-cart__title.with-empty-cart-icon {
  background-image: none !important;
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  content: "墨" !important;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px; height: 64px;
  margin: 0 auto 1.2em;
  border: 1.5px solid rgba(143, 52, 35, .55);
  border-radius: 2px;
  color: var(--mj-seal);
  font-family: "Songti SC", "STSong", "SimSun", serif;
  font-size: 1.7rem;
  line-height: 1;
  transform: rotate(-3deg);
  opacity: .8;
  background: none !important;
}
.wc-block-cart__empty-cart__title.with-empty-cart-icon svg { display: none !important; }
.wp-block-woocommerce-empty-cart-block hr.wp-block-separator {
  border-color: transparent;
  background: var(--mj-cloud) center / 132px 16px repeat-x;
  height: 16px;
  opacity: .5;
  margin: 2em auto;
}
.wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  font-weight: 500;
  letter-spacing: .12em;
  margin-top: 1.6em;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  background: linear-gradient(180deg, #fdfaf2, #f8f2e5);
  border: 1px solid var(--mj-line);
  padding: 12px 12px 18px;
}

/* 政策与 FAQ:正文收成书页宽度,长行不横穿整张纸 */
body.page:not(.home):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content {
  max-width: 860px;
  margin-left: auto;
  margin-right: auto;
}

/* DAP 提示:结账/购物车顶部一条纸色小跋 */
.mj-duty-note {
  max-width: 1140px;
  margin: 0 auto 22px;
  padding: 13px 18px;
  border-left: 3px solid var(--mj-seal);
  background: linear-gradient(90deg, rgba(143, 52, 35, .06), rgba(251, 247, 238, .88) 55%);
  color: var(--mj-ink-2);
  font-size: .8rem;
  line-height: 1.8;
  letter-spacing: .01em;
}
.mj-duty-note strong {
  display: inline-block;
  margin-right: .7em;
  color: var(--mj-seal);
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}

/* 有货时的购物车行:纸上的清单 */
.wc-block-cart-items { border-color: var(--mj-line); }
.wc-block-cart-item { border-bottom: 1px solid rgba(217, 207, 185, .8); }
.wc-block-cart-item__image img { border: 1px solid var(--mj-line); background: #f4eedf; }
.wc-block-components-product-name {
  font-family: var(--mj-serif);
  color: var(--mj-ink);
  letter-spacing: .01em;
}
.wc-block-components-product-price,
.wc-block-cart-item__total,
.wc-block-components-totals-item__value {
  font-family: var(--mj-serif);
  color: var(--mj-seal);
}
.wc-block-components-totals-wrapper { border-color: var(--mj-line); }
.wc-block-cart__submit-button,
.wc-block-checkout__actions .wc-block-components-button,
.wc-block-components-button.wc-block-cart__submit-button {
  background: var(--mj-seal);
  border-color: var(--mj-seal);
  color: #fdf8ec;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.wc-block-cart__submit-button:hover,
.wc-block-checkout__actions .wc-block-components-button:hover {
  background: var(--mj-ink);
  border-color: var(--mj-ink);
}

/* 结账主面板 */
.wc-block-checkout {
  background:
    linear-gradient(180deg, rgba(255, 253, 247, .94), rgba(249, 244, 233, .9));
  border: 1px solid var(--mj-line);
  border-radius: 3px;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .72), 0 26px 50px -46px rgba(38, 34, 29, .9);
  padding: clamp(18px, 3vw, 34px) clamp(16px, 3vw, 32px);
}
.wc-block-checkout h2,
.wc-block-checkout h3,
.wc-block-components-checkout-step__title,
.wc-block-components-title {
  font-weight: 500;
  letter-spacing: .06em;
}
/* Woo 的区块输入框自带一层冷灰蓝描边(实测 border-color rgb(43,45,47,.8));
 * 这里用 !important 收回纸色边框,否则整张结账单会像后台表单。 */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input select,
body.woocommerce-checkout .wc-block-components-text-input textarea,
body.woocommerce-checkout .wc-block-components-select select,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-address-form select,
.wc-block-components-text-input input,
.wc-block-components-text-input select,
.wc-block-components-text-input textarea,
.wc-block-components-select select,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
  background: rgba(252, 248, 240, .96) !important;
  border: 1px solid var(--mj-line) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  font-family: var(--mj-serif);
}
.wc-block-components-text-input input:focus,
.wc-block-components-address-form input:focus,
.wc-block-components-select select:focus {
  border-color: var(--mj-seal) !important;
  box-shadow: 0 0 0 3px rgba(143, 52, 35, .12) !important;
  outline: none;
}
.wc-block-components-radio-control__label,
.wc-block-components-radio-control-accordion-option {
  font-family: var(--mj-serif);
  letter-spacing: .02em;
}
.wc-block-checkout .wc-block-components-notice-banner {
  border-left: 3px solid var(--mj-seal);
  background: linear-gradient(90deg, rgba(143, 52, 35, .06), rgba(251, 247, 238, .92) 55%);
}
.wc-block-checkout__sidebar .wc-block-components-totals-item__label,
.wc-block-checkout__sidebar .wc-block-components-totals-item__value {
  font-family: var(--mj-serif);
}

/* ==========================================================================
   9. 收尾带与页脚:窗棂、梅影、墨疆水印
   ========================================================================== */
.mj-cta-band {
  position: relative;
  overflow: hidden;
  background-image:
    var(--mj-lattice),
    radial-gradient(120% 90% at 50% 0%, rgba(143, 52, 35, .24), transparent 60%),
    linear-gradient(180deg, #2b2620, #1f1b17);
  background-size: 40px 40px, auto, auto;
}
.mj-cta-band::after {
  content: "";
  position: absolute;
  right: 3%; top: 8%;
  width: clamp(120px, 16vw, 190px);
  height: clamp(140px, 19vw, 220px);
  background: var(--mj-plum) center / contain no-repeat;
  opacity: .45;
  pointer-events: none;
}
.mj-cta-band > * { position: relative; z-index: 1; }

.site-footer {
  position: relative;
  overflow: hidden;
}
.site-footer::before {
  content: "墨疆";
  position: absolute;
  right: -.06em;
  bottom: -.28em;
  z-index: 0;
  font-family: "Songti SC", "STSong", "SimSun", serif;
  font-size: clamp(140px, 19vw, 250px);
  line-height: .8;
  letter-spacing: .08em;
  writing-mode: vertical-rl;
  color: rgba(240, 232, 214, .035);
  pointer-events: none;
}
.site-footer .site-footer-row,
.site-footer .mj-policy-nav,
.site-footer .mj-data-lines { position: relative; z-index: 1; }
.mj-policy-nav {
  padding-top: 18px;
  border-top: 1px solid rgba(240, 232, 214, .14);
  margin-top: 24px;
}
.mj-policy-nav a { color: #c8bda6; }
.mj-policy-nav span { color: rgba(240, 232, 214, .28); }
.mj-data-lines {
  border-top-color: rgba(240, 232, 214, .1);
  color: #a99f8c;
}

/* ==========================================================================
   10. 可达性:小字与焦点
   ========================================================================== */
.mj-strip-note,
.mj-combo-note,
.woocommerce-result-count,
.woocommerce-breadcrumb,
.kadence-breadcrumbs,
.term-description,
.archive-description {
  color: var(--mj-ink-3);
}
a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--mj-seal);
  outline-offset: 3px;
}

/* ==========================================================================
   11. 窄屏:收掉竖题、压紧题眉、让工具条可换行
   ========================================================================== */
@media (max-width: 900px) {
  body.home .mj-hero {
    background:
      var(--mj-enso) center 38% / min(72vw, 340px) auto no-repeat,
      var(--mj-mountains) bottom center / 150% 190px no-repeat,
      radial-gradient(ellipse at 50% 4%, rgba(255, 253, 247, .96), transparent 60%),
      linear-gradient(180deg, #f8f3e8 0%, #f0e8d7 100%);
  }
  .mj-cta-band::after { display: none; }
}

@media (max-width: 600px) {
  body.home .entry-hero .entry-title,
  body.home .page-title {
    font-size: .58rem;
    letter-spacing: .22em;
    line-height: 1.9;
    padding: 0 14px 4px;
  }
  body.home .mj-hero {
    padding: 42px 18px 66px;
    background:
      var(--mj-mountains) bottom center / 190% 150px no-repeat,
      radial-gradient(ellipse at 50% 4%, rgba(255, 253, 247, .96), transparent 60%),
      linear-gradient(180deg, #f8f3e8 0%, #f0e8d7 100%);
  }
  body.home .mj-hero-glyph {
    font-size: clamp(3.15rem, 17vw, 4.4rem);
    letter-spacing: .22em;
    margin-left: .22em;
  }
  body.home .mj-hero-sub {
    font-size: .64rem;
    letter-spacing: .28em;
    margin-left: .28em;
  }
  body.home .mj-hero-tag {
    font-size: .98rem;
    line-height: 2.05;
    margin-top: 1.5em;
  }
  body.home .mj-hero-marks li {
    font-size: .62rem;
    letter-spacing: .18em;
  }
  .mj-section-head { padding-top: 54px; }
  .mj-section-head h2 { font-size: 1.38rem; letter-spacing: .1em; }
  .mj-section-head h2::before { font-size: .62em; }
  .entry-hero .hero-container { padding-top: 22px; padding-bottom: 26px; }
  .kadence-shop-top-row { align-items: flex-start; }
  .woocommerce-ordering select { min-width: 0; width: 100%; }
  .kadence-woo-ordering { flex: 1 1 100%; }
  ul.products li.product .woocommerce-loop-product__title { min-height: 0; }
  body.single-product .woocommerce-product-gallery::after {
    width: 38px; height: 38px; font-size: .62rem; top: 8px; left: 8px;
  }
  body.woocommerce div.product .woocommerce-tabs ul.tabs {
    text-align: left;
    white-space: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .site-footer::before { font-size: 120px; opacity: .8; }
}

/* 用户要求减少动效时,不动 */
@media (prefers-reduced-motion: reduce) {
  ul.products li.product:hover,
  .mj-line-card:hover { transform: none; }
}

/* PayPal 审核:商户身份 / 支付安全 / 定制预览披露 */
.mj-business-footer {
  max-width: 1080px;
  margin: 0 auto;
  padding: 26px 24px 34px;
  border-top: 1px solid rgba(30, 30, 30, .14);
  font-size: .78rem;
  line-height: 1.75;
  color: #4a4a44;
}
.mj-business-footer p { margin: .22rem 0; }
.mj-business-footer strong { color: #1f1f1c; letter-spacing: .02em; }
.mj-business-footer a { color: #6b3f2a; text-decoration: underline; text-underline-offset: 2px; }
.mj-pay-security,
.mj-contact-extra {
  margin: 22px 0;
  padding: 18px 20px;
  border: 1px solid rgba(107, 63, 42, .28);
  background: rgba(247, 243, 234, .66);
  font-size: .86rem;
  line-height: 1.7;
  color: #3c3a34;
}
.mj-pay-security h3,
.mj-contact-extra h2 { margin: 0 0 8px; font-size: 1rem; color: #2b2a25; }
.mj-pay-security p,
.mj-contact-extra p { margin: .28rem 0; }
.mj-preview-note {
  margin: 10px 0 18px;
  padding: 10px 14px;
  border-left: 3px solid #9b6a4b;
  background: rgba(247, 243, 234, .7);
  font-size: .78rem;
  line-height: 1.6;
  color: #5a5148;
}
@media (max-width: 760px) {
  .mj-business-footer { padding: 20px 16px 30px; font-size: .74rem; }
  .mj-pay-security, .mj-contact-extra { padding: 14px 14px; }
}

