/**
 * HelloOlivia Heritage — 中西合璧
 * Chinese pride + academic seriousness: ink, cinnabar, rice paper, seal accents.
 * Loads last so cultural identity wins over Western-only Ivy chrome.
 */

:root,
body.helloolivia-brand,
body.mmp-private-tutor-test-prep {
  /* Ink & paper */
  --ho-ink: #1c1412;
  --ho-navy: #2a1216;
  --ho-navy-mid: #4a1c24;
  --ho-paper: #f8f3ea;
  --ho-cream: #f8f3ea;
  --ho-white: #fffdf9;
  --ho-muted: #4a3b36;
  --ho-muted-soft: #6b5a53;
  --ho-border: #e0d2c0;
  --ho-border-soft: #ebe1d2;

  /* Cinnabar 朱红 — primary cultural signal */
  --ho-red: #b01e28;
  --ho-red-deep: #7e141c;
  --ho-red-bright: #d12834;

  /* Quiet paper accents — no gold */
  --ho-yellow: #efe4d6;
  --ho-yellow-soft: #f7f0e6;
  --ho-yellow-deep: #6a5348;

  --ho-shadow: rgba(126, 20, 28, 0.1);
  --ho-focus: var(--ho-red-deep);
  --ho-focus-ring: 0 0 0 3px #fffdf9, 0 0 0 6px var(--ho-red);

  /* Chinese-first display pairing */
  --ho-font-display: "Noto Serif SC", "Cormorant Garamond", "Songti SC", serif;
  --ho-font-body: "Noto Sans SC", "Source Sans 3", sans-serif;
  --ho-font-seal: "Ma Shan Zheng", "Noto Serif SC", cursive;

  --mmp-navy: var(--ho-red-deep);
  --mmp-navy-deep: #5a0f16;
  --mmp-blue: var(--ho-red);
  --mmp-surface: var(--ho-paper);
  --bs-primary: var(--ho-red);
  --bs-primary-rgb: 176, 30, 40;
  --bs-link-color: var(--ho-red);
  --bs-link-hover-color: var(--ho-red-deep);
  --bs-body-bg: var(--ho-paper);
  --bs-body-color: var(--ho-ink);
}

/* Subtle 云纹 / lattice paper — cultural atmosphere without kitsch */
html,
body {
  background-color: var(--ho-paper);
  background-image:
    linear-gradient(180deg, rgba(176, 30, 40, 0.04) 0%, transparent 22%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120' viewBox='0 0 120 120'%3E%3Cpath d='M10 60c20-28 40-28 50 0 10 28 30 28 50 0' fill='none' stroke='%23b01e28' stroke-opacity='0.04' stroke-width='1'/%3E%3Cpath d='M0 0h120v120H0z' fill='none'/%3E%3Cpath d='M0 30h120M0 60h120M0 90h120M30 0v120M60 0v120M90 0v120' stroke='%231c1412' stroke-opacity='0.03' stroke-width='0.6'/%3E%3C/svg%3E");
  background-attachment: fixed;
  color: var(--ho-ink);
}

body.helloolivia-brand,
body.lang-en.helloolivia-brand {
  font-family: var(--ho-font-body);
}

body.lang-zh-cn {
  font-family: "Noto Sans SC", "Source Sans 3", sans-serif;
}

/* Headings — Song/serif Chinese presence on every locale */
h1,
h2,
h3,
.entry-title,
.ho-section-head h2,
.mmp-story h1,
.mmp-story h2,
.hero-slide-title {
  font-family: var(--ho-font-display) !important;
}

/* -------------------------------------------------------------------------- */
/* Heritage ribbon under header — bilingual pride */
/* -------------------------------------------------------------------------- */
.ho-heritage-bar {
  background:
    linear-gradient(90deg, var(--ho-red-deep) 0%, var(--ho-red) 45%, #8a1820 100%);
  color: #fff8ef;
  border-bottom: 2px solid rgba(255, 248, 239, 0.35);
  font-size: 0.86rem;
  letter-spacing: 0.04em;
}

.ho-heritage-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem 1.25rem;
  padding: 0.55rem 0;
  min-height: 2.5rem;
}

.ho-heritage-bar__seal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.35rem;
  margin-right: 0.55rem;
  border: 1.5px solid rgba(255, 248, 239, 0.75);
  color: #fff8ef;
  font-family: var(--ho-font-seal);
  font-size: 1.05rem;
  line-height: 1;
  transform: rotate(-6deg);
}

.ho-heritage-bar__main,
.ho-heritage-bar__pride {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
  font-weight: 500;
}

.ho-heritage-bar__main strong,
.ho-heritage-bar__pride strong {
  font-weight: 700;
  color: #fff;
}

.ho-heritage-bar__meta {
  opacity: 0.92;
  font-size: 0.8rem;
}

.ho-heritage-bar a {
  color: #fff8ef;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.ho-heritage-bar a:hover,
.ho-heritage-bar a:focus-visible {
  color: #fff;
}

/* -------------------------------------------------------------------------- */
/* Nav — cinnabar rule, not cold Western chrome */
/* -------------------------------------------------------------------------- */
#wrapper-navbar {
  background: rgba(255, 253, 249, 0.96);
  border-bottom: 0;
}

.ho-navbar,
.navbar.ho-navbar {
  border-bottom: 3px solid var(--ho-red) !important;
}

.navbar .nav-link,
.navbar-light .navbar-nav .nav-link {
  color: var(--ho-ink) !important;
}

.navbar .nav-link:hover,
.navbar .current-menu-item > .nav-link {
  color: var(--ho-red) !important;
}

.ho-nav-cta {
  background: var(--ho-red) !important;
  border: 1px solid var(--ho-red-deep) !important;
  color: #fff !important;
  border-radius: 0.2rem !important;
}

.ho-nav-cta:hover,
.ho-nav-cta:focus-visible {
  background: var(--ho-red-deep) !important;
}

.helloolivia-lang-link.is-active {
  background: var(--ho-red) !important;
  color: #fff !important;
}

/* -------------------------------------------------------------------------- */
/* Buttons — solid fills, never ghost into the page */
/* -------------------------------------------------------------------------- */
.btn,
.wp-block-button__link,
.mmp-story .btn,
.hero-slide-cta,
.ho-nav-cta,
.ho-lead-form button[type="submit"],
.ho-lead-form .btn {
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  min-height: 2.85rem;
  padding: 0.75rem 1.35rem !important;
  border-width: 2px !important;
  border-style: solid !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.btn-primary,
.wp-block-button__link,
.mmp-story .btn-primary,
.ho-lead-form button[type="submit"],
.ho-lead-form .btn-primary {
  background: var(--ho-red) !important;
  border-color: var(--ho-red-deep) !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus-visible,
.wp-block-button__link:hover,
.mmp-story .btn-primary:hover,
.ho-lead-form button[type="submit"]:hover {
  background: var(--ho-red-deep) !important;
  border-color: #5a0f16 !important;
  color: #ffffff !important;
}

/* Outline = filled cream chip, not transparent red-on-paper mush */
.btn-outline-primary,
.mmp-story .btn-outline-primary {
  background: #fffdf9 !important;
  color: var(--ho-red-deep) !important;
  border-color: var(--ho-red) !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus-visible,
.mmp-story .btn-outline-primary:hover {
  background: var(--ho-red) !important;
  border-color: var(--ho-red-deep) !important;
  color: #ffffff !important;
}

.btn-link,
.mmp-story .btn-link {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--ho-red-deep) !important;
  text-decoration: underline !important;
  text-underline-offset: 0.2em;
  font-weight: 700 !important;
}

/* Section eyebrows → seal-like marks */
.mmp-story-eyebrow,
.ho-faq__eyebrow,
.ho-price-card__badge,
.hero-slide-kicker {
  font-family: var(--ho-font-body) !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase;
  color: var(--ho-red) !important;
  border-color: var(--ho-yellow) !important;
}

.hero-slide-kicker {
  color: #fff8ef !important;
  border-bottom-color: rgba(255, 248, 239, 0.55) !important;
  display: inline-flex !important;
  align-items: center;
  gap: 0.5rem;
}

.hero-slide-kicker::before {
  content: "印";
  font-family: var(--ho-font-seal);
  font-size: 1.1rem;
  letter-spacing: 0;
  text-transform: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.55rem;
  height: 1.55rem;
  border: 1.5px solid rgba(255, 248, 239, 0.7);
  color: #fff8ef;
  transform: rotate(-8deg);
  line-height: 1;
}

body.lang-zh-cn .hero-slide-kicker::before {
  content: "雅";
}

/* Hero — ink wash + cinnabar energy */
.hero-carousel {
  border-bottom: 3px solid var(--ho-red) !important;
  background: #1c1412 !important;
}

.hero-slide::after {
  background:
    linear-gradient(
      180deg,
      rgba(28, 20, 18, 0.45) 0%,
      rgba(126, 20, 28, 0.35) 48%,
      rgba(28, 20, 18, 0.82) 100%
    ) !important;
}

.hero-slide-title {
  color: #ffffff !important;
  text-shadow: 0 2px 24px rgba(28, 20, 18, 0.45);
}

.hero-slide-cta {
  background: #fff8ef !important;
  border: 2px solid #fff8ef !important;
  color: var(--ho-ink) !important;
  font-weight: 700 !important;
}

.hero-slide-cta:hover,
.hero-slide-cta:focus-visible {
  background: var(--ho-red) !important;
  color: #ffffff !important;
  border-color: #fff8ef !important;
  outline: none;
}

/* Section heads — double happiness style rule */
.ho-section-head h2::after,
.entry-content h2::after {
  content: "";
  display: block;
  width: 3.5rem;
  height: 3px;
  margin-top: 0.65rem;
  background: var(--ho-red);
}

.ho-section-head {
  text-align: center;
}

.ho-section-head h2::after {
  margin-left: auto;
  margin-right: auto;
}

.entry-content h2::after {
  margin-left: 0;
}

/* Prose panels — rice paper cards with red corner accent */
.ho-page-header,
.entry-content,
.ho-prose {
  background: var(--ho-white) !important;
  border-color: var(--ho-border) !important;
  box-shadow: inset 0 0 0 1px rgba(196, 163, 90, 0.15);
}

.ho-page-header {
  position: relative;
}

.ho-page-header::before {
  content: "中";
  position: absolute;
  top: 0.85rem;
  right: 1rem;
  font-family: var(--ho-font-seal);
  font-size: 1.35rem;
  color: var(--ho-red);
  border: 1.5px solid var(--ho-red);
  width: 1.85rem;
  height: 1.85rem;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.85;
  transform: rotate(-8deg);
  line-height: 1;
}

body.lang-zh-cn .ho-page-header::before {
  content: "华";
}

.entry-title,
.ho-page-header .entry-title {
  color: var(--ho-red-deep) !important;
  padding-right: 2.5rem;
}

/* Proof / method numbers — seal discs */
.ho-method__n,
.ho-faq__num,
.ho-proof__value {
  color: var(--ho-red) !important;
}

.ho-method__n,
.ho-faq__num {
  background: var(--ho-red-deep) !important;
  color: #fff8ef !important;
  border: 1px solid rgba(255, 248, 239, 0.45) !important;
}

/* CTA bands — deep cinnabar; buttons stay light-on-dark */
.mmp-story-final-cta,
.ho-consult {
  background:
    linear-gradient(155deg, #5a0f16 0%, var(--ho-red-deep) 42%, var(--ho-red) 100%) !important;
  border-top: 3px solid rgba(255, 248, 239, 0.4) !important;
  border-bottom: 3px solid rgba(255, 248, 239, 0.4) !important;
  color: #fff8ef !important;
}

.mmp-story-final-cta h2,
.mmp-story-final-cta p,
.mmp-story-final-cta .lead,
.ho-consult .ho-section-head h2,
.ho-consult .ho-section-head p {
  color: #fff8ef !important;
}

.mmp-story-final-cta .btn-primary,
.ho-consult .btn-primary {
  background: #fff8ef !important;
  border-color: #fff8ef !important;
  color: var(--ho-ink) !important;
}

.mmp-story-final-cta .btn-primary:hover,
.ho-consult .btn-primary:hover {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: var(--ho-ink) !important;
}

/* Never red outline on red band */
.mmp-story-final-cta .btn-outline-primary,
.ho-consult .btn-outline-primary {
  background: rgba(255, 248, 239, 0.14) !important;
  border-color: #fff8ef !important;
  color: #fff8ef !important;
}

.mmp-story-final-cta .btn-outline-primary:hover,
.ho-consult .btn-outline-primary:hover {
  background: #fff8ef !important;
  border-color: #fff8ef !important;
  color: var(--ho-ink) !important;
}

.ho-consult .btn-link,
.mmp-story-final-cta .btn-link {
  color: #fff8ef !important;
  border-color: transparent !important;
  background: transparent !important;
}

/* Footer — high-contrast text on deep ink (WCAG AA+) */
.wrapper-footer,
#wrapper-footer,
.ho-mega-footer,
.ho-footer,
footer.site-footer {
  background: #1a1012 !important;
  color: #fff8f0 !important;
  border-top: 3px solid rgba(255, 248, 239, 0.35) !important;
}

.ho-footer__heading {
  color: #fff8ef !important;
  font-family: var(--ho-font-display) !important;
  letter-spacing: 0.08em !important;
  font-weight: 700 !important;
}

/* Highlight box: light panel + dark ink — readable, not washed peach-on-red */
.ho-footer__heritage {
  margin: 0 0 1rem;
  padding: 0.85rem 1rem;
  border-left: 4px solid #b01e28;
  border-radius: 0.25rem;
  background: #fff8ef;
  color: #1a1012;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.55;
}

.ho-footer__blurb,
.ho-footer__copy,
.ho-footer__channels,
.ho-footer__contact,
.helloolivia-disclaimer {
  color: #fff4e8 !important;
  opacity: 1 !important;
}

.helloolivia-disclaimer {
  color: #f0e2d0 !important;
  font-size: 0.9rem;
  line-height: 1.55;
}

.ho-footer a,
.site-footer a,
#wrapper-footer a {
  color: #ffd5c8 !important;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.ho-footer a:hover,
.ho-footer a:focus-visible,
.site-footer a:hover,
#wrapper-footer a:hover {
  color: #ffffff !important;
}

/* Pricing featured — red seal frame */
.ho-price-card.is-featured {
  border: 2px solid var(--ho-red) !important;
  box-shadow: inset 0 0 0 1px rgba(176, 30, 40, 0.25) !important;
}

.ho-price-card__amount {
  color: var(--ho-red) !important;
}

/* Mobile heritage bar */
@media (max-width: 700px) {
  .ho-heritage-bar__inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 0.65rem 0;
  }

  .ho-page-header::before {
    top: 0.65rem;
    right: 0.65rem;
  }
}
