/* Xingfa warm-gold palette. Loaded after legacy page foundations, before component refinements. */
:root {
  --brand-gold: #b7894f;
  --brand-gold-hover: #9a6f3d;
  --brand-gold-deep: #74502d;
  --brand-gold-soft: #f1e6d4;
  --brand-gold-pale: #f7f0e4;
  --brand-ivory: #faf7f1;
  --brand-paper: #fffdf8;
  --brand-ink: #2d271f;
  --brand-muted: #72685c;
  --brand-line: #e6d8c4;
  --brand-shadow: rgba(83, 58, 31, .12);
  --brand-dark: #33271c;
  --brand-dark-deep: #211910;
  --brand-on-dark: #ead4b0;

  --ink: var(--brand-ink);
  --muted: var(--brand-muted);
  --line: var(--brand-line);
  --accent: var(--brand-gold);
  --accent-deep: var(--brand-gold-deep);
  --panel-from: var(--brand-ivory);
  --panel-to: var(--brand-gold-soft);
  --background-gradient: linear-gradient(120deg, var(--panel-from), var(--panel-to));

  --hm-green: var(--brand-gold);
  --hm-green-deep: var(--brand-gold-deep);
  --hm-green-soft: var(--brand-gold-soft);
  --hm-ink: var(--brand-ink);
  --hm-muted: var(--brand-muted);

  --home-ink: var(--brand-ink);
  --home-muted: var(--brand-muted);
  --home-green: var(--brand-gold);
  --home-green-dark: var(--brand-gold-deep);
  --home-mint: var(--brand-gold-soft);
  --home-line: var(--brand-line);
  --home-warm: var(--brand-ivory);
}

body {
  color: var(--brand-ink);
  background: var(--brand-ivory);
}

::selection {
  color: #fff;
  background: var(--brand-gold-deep);
}

/* Header and primary actions */
.site-header {
  background: rgba(255, 253, 248, .96);
  border-bottom-color: rgba(183, 137, 79, .24);
  box-shadow: 0 8px 28px rgba(83, 58, 31, .07);
}

.brand-mark {
  color: #fff;
  background: var(--brand-gold);
  box-shadow: 0 9px 22px rgba(116, 80, 45, .2);
}

.brand strong,
.desktop-nav,
.mobile-nav,
.language-toggle {
  color: var(--brand-ink);
}

.brand small {
  color: var(--brand-muted);
}

.desktop-nav a:focus,
.desktop-nav a:hover,
.nav-item:focus-within > a,
.nav-item:hover > a,
.desktop-nav a[aria-current="page"],
.mobile-nav a[aria-current="page"] {
  color: var(--brand-gold-deep);
}

.desktop-nav a::after,
.mobile-nav a::after,
.eyebrow::before,
.section-heading .eyebrow::before {
  background: var(--brand-gold) !important;
}

.header-cta,
.primary-button,
.buy-now-button,
.floating-quote-button {
  color: #fff;
  background: var(--brand-gold) !important;
  box-shadow: 0 12px 28px rgba(116, 80, 45, .22);
}

.header-cta:hover,
.primary-button:hover,
.buy-now-button:hover,
.floating-quote-button:hover {
  color: #fff;
  background: var(--brand-gold-deep) !important;
  box-shadow: 0 16px 34px rgba(116, 80, 45, .28);
}

.secondary-button {
  color: var(--brand-ink);
  background: var(--brand-paper);
  border-color: rgba(116, 80, 45, .25);
}

.secondary-button:hover,
.language-toggle:hover,
.language-toggle:focus {
  color: var(--brand-gold-deep);
  border-color: var(--brand-gold);
  box-shadow: 0 9px 22px rgba(116, 80, 45, .12);
}

.language-toggle {
  background: var(--brand-paper);
  border-color: rgba(116, 80, 45, .2);
}

.eyebrow,
.text-link,
.product-card__category,
.catalog-product-body .product-card__category {
  color: var(--brand-gold-deep) !important;
}

.text-link:hover {
  color: var(--brand-gold-hover);
}

/* Four-column product preview */
.product-preview-menu {
  background: var(--brand-paper);
  border-color: var(--brand-line);
  box-shadow: 0 24px 58px rgba(67, 48, 29, .17);
}

.product-preview-menu:hover {
  border-color: rgba(183, 137, 79, .52);
  box-shadow: 0 26px 62px rgba(67, 48, 29, .18), 0 0 0 1px rgba(183, 137, 79, .1);
}

.product-preview-menu__column {
  border-right-color: var(--brand-line);
}

.product-preview-menu__column--subcategories,
.product-preview-menu__column--detail,
.product-preview-detail__image {
  background: var(--brand-gold-pale);
}

.product-preview-menu__label,
.product-preview-menu__link small,
.product-preview-menu__empty {
  color: #958671;
}

.product-preview-menu__link {
  color: var(--brand-ink);
}

.product-preview-menu__link:hover,
.product-preview-menu__link:focus-visible,
.product-preview-menu__link.is-active {
  color: var(--brand-gold-deep);
  background: var(--brand-gold-soft);
  border-left-color: var(--brand-gold);
}

.product-preview-detail__copy {
  background: var(--brand-paper);
  border-top-color: var(--brand-line);
}

/* Homepage */
.home-hero {
  background: var(--brand-gold-pale);
  border-bottom-color: rgba(183, 137, 79, .24);
}

.home-hero__video-background {
  background: #e8ddca;
}

.home-hero__video-background video {
  filter: sepia(.18) saturate(.72) contrast(.88);
}

.home-hero__video-scrim {
  background: linear-gradient(90deg, rgba(250, 247, 241, .95) 0%, rgba(250, 247, 241, .87) 55%, rgba(236, 220, 194, .7) 100%);
}

.home-hero h1,
.featured-products__heading h2,
.home-solutions__heading h2,
.home-advantages h2,
.home-about h2 {
  color: var(--brand-ink);
}

.home-hero__lede,
.home-hero__proofs li {
  color: #5f5549;
}

.home-hero__proofs svg,
.home-proof-nav__icon {
  color: var(--brand-gold);
}

.home-proof-nav,
.featured-products,
.home-about,
.home-video {
  background: var(--brand-paper);
}

.home-proof-nav,
.home-proof-nav__item,
.featured-category-tabs,
.featured-product-carousel,
.featured-product-carousel__toolbar,
.featured-product-card,
.featured-product-card__link {
  border-color: var(--brand-line);
}

.home-proof-nav__item:hover {
  color: var(--brand-gold-deep);
  background: var(--brand-gold-soft);
}

.featured-category-tab.is-active {
  color: #fff;
  background: var(--brand-gold-deep);
}

.featured-category-tab.is-active::after {
  background: var(--brand-gold);
}

.featured-category-tab__number,
.featured-product-card__category {
  color: var(--brand-gold-deep);
}

.featured-category-tab.is-active .featured-category-tab__number {
  color: #ead4b0;
  background: transparent;
}

.featured-category-tab small,
.featured-category-panel__intro p,
.featured-product-card__body > p:not(.featured-product-card__category) {
  color: var(--brand-muted);
}

.featured-product-carousel {
  box-shadow: 0 24px 58px rgba(83, 58, 31, .1);
}

.featured-product-carousel__toolbar,
.home-advantages,
body.home .inquiry-section {
  background: var(--brand-ivory);
}

.featured-product-carousel__controls button {
  color: var(--brand-gold-deep);
  background: var(--brand-paper);
  border-color: var(--brand-line);
}

.featured-product-carousel__controls button:hover:not(:disabled) {
  color: #fff;
  background: var(--brand-gold-deep);
  border-color: var(--brand-gold-deep);
}

.featured-product-carousel__track {
  scrollbar-color: #c7a97e #f4ede2;
}

.featured-product-card {
  border-radius: 12px;
}

.featured-product-card:hover {
  border-color: #cdae82;
  box-shadow: 0 22px 44px rgba(83, 58, 31, .12);
}

.featured-product-card__media,
.home-solution-card__media {
  background: #f5efe5;
}

.featured-product-card__model,
.home-advantages__media-label,
.home-about__media > div {
  background: var(--brand-gold-deep);
}

.home-advantages__grid {
  background: var(--brand-line);
  border-color: var(--brand-line);
}

.home-advantages__grid article,
.home-advantages__media,
.home-solution-card {
  background: var(--brand-paper);
}

.home-advantages__grid article > span,
.home-about__steps li > span,
.home-solution-card__eyebrow,
.home-solution-card__body > a,
.home-solution-card__media > span,
.featured-category-panel__intro .text-link,
.featured-product-card__link {
  color: var(--brand-gold-deep) !important;
}

.home-solutions,
.home-video__inner,
body.home .site-footer,
body.home .site-footer.gradient-panel {
  color: #fff;
  background: #33271c;
}

.home-solutions__heading h2,
.home-video h2 {
  color: #fff;
}

.home-solutions .eyebrow,
.home-video .eyebrow {
  color: #e1c59b !important;
}

.home-solutions__heading > p,
.home-video__intro {
  color: rgba(255, 247, 234, .7);
}

.home-about__media {
  background: var(--brand-gold-soft);
}

.home-about__steps,
.home-about__steps li,
body.home .inquiry-form,
body.home .inquiry-form input,
body.home .inquiry-form select,
body.home .inquiry-form textarea {
  border-color: var(--brand-line);
}

.home-video__frame,
.home-video__frame video {
  background: #211910;
}

.home-video__controls button:hover {
  background: var(--brand-gold);
  border-color: var(--brand-gold);
}

/* Product catalogue */
.product-catalog-page {
  color: var(--brand-ink);
}

.product-sidebar {
  background: var(--brand-paper);
  border-color: var(--brand-line);
  box-shadow: 0 16px 38px rgba(83, 58, 31, .06);
}
.product-sidebar:hover {
  border-color: var(--brand-gold);
  box-shadow: 0 16px 38px var(--brand-shadow);
}
.inquiry-form:focus-within {
  border-color: var(--brand-gold);
  box-shadow: 0 12px 28px var(--brand-shadow);
}

.xingfa-product-hero__specs dd,
.inquiry-form label,
.inquiry-copy h2,
.product-preview-detail__copy h3 {
  color: var(--brand-ink);
}

.product-spec-group dt,
.inquiry-copy p:not(.eyebrow),
.product-preview-detail__copy h3 + p {
  color: var(--brand-muted);
}

.product-sidebar a,
.product-sidebar .product-category-tree__row > a {
  color: var(--brand-ink);
  background: #f7f1e7;
}

.product-sidebar a.active,
.product-sidebar a:hover,
.product-sidebar .product-category-tree__row > a[aria-current="page"] {
  color: var(--brand-gold-deep);
  background: var(--brand-gold-soft);
  border-left-color: var(--brand-gold);
}

.product-category-tree__row button {
  color: var(--brand-gold-deep);
  background: rgba(183, 137, 79, .12);
}

.catalog-heading p:not(.eyebrow),
.catalog-product-body p {
  color: var(--brand-muted);
}

.catalog-product-card,
.related-product-card {
  overflow: hidden;
  background: var(--brand-paper);
  border-color: rgba(183, 137, 79, .22);
  border-radius: 12px;
}

.catalog-product-card:hover,
.related-product-card:hover {
  border-color: rgba(183, 137, 79, .56);
  box-shadow: 0 25px 54px rgba(83, 58, 31, .14), 0 0 0 1px rgba(183, 137, 79, .1);
}

.catalog-product-image {
  background-color: #f4ede2;
}

.badge {
  color: var(--brand-gold-deep) !important;
  background: var(--brand-gold-soft) !important;
  border-color: rgba(183, 137, 79, .28) !important;
}

.product-price-row strong,
.detail-price-box strong,
.detail-highlight-list svg,
.feature-list svg {
  color: var(--brand-gold-deep);
}

/* Product detail */
.xingfa-product-detail {
  color: var(--brand-ink);
  background: var(--brand-paper);
}

.xingfa-product-hero {
  background: linear-gradient(135deg, #fbf8f2, #f0e5d3);
}

.product-breadcrumbs,
.xingfa-product-hero__summary,
.xingfa-product-hero__specs dt,
.product-feature-row__copy p,
.product-application-card p {
  color: var(--brand-muted);
}

.xingfa-product-hero__specs > div,
.product-section-nav,
.product-spec-group,
.product-spec-group dl > div,
.product-application-card,
.product-detail-gallery__main,
.product-detail-gallery__thumbs button,
.detail-panel {
  border-color: var(--brand-line);
}

.xingfa-product-hero__media,
.product-spec-group,
.product-application-card,
.product-detail-gallery__thumbs button,
.detail-panel {
  background: var(--brand-paper);
  box-shadow: 0 18px 48px rgba(83, 58, 31, .08);
}

.product-media-carousel__viewport,
.product-media-carousel__thumb {
  background: #f7f1e7;
  border-color: var(--brand-line);
}

.product-media-carousel__thumb.is-active {
  border-color: var(--brand-gold);
  box-shadow: 0 7px 20px rgba(83, 58, 31, .15);
}

.product-media-carousel__arrow:hover,
.product-media-carousel__play-icon {
  background: var(--brand-gold-deep);
}

.product-media-carousel__counter,
.product-media-carousel__thumb-play,
.product-media-carousel__type {
  background: rgba(92, 65, 35, .88);
}

.product-section-nav {
  background: rgba(255, 253, 248, .96);
}

.product-section-nav a {
  color: var(--brand-muted);
}

.product-section-nav a:hover,
.product-section-nav a[aria-current] {
  color: var(--brand-gold-deep);
}

.product-long-section--muted,
.product-feature-row__media,
.detail-overview,
.empty-panel {
  background: var(--brand-gold-pale);
}

.product-feature-row__copy > span {
  color: var(--brand-gold-deep);
}

.product-detail-gallery__thumbs button[aria-pressed="true"],
.product-gallery button.active {
  border-color: var(--brand-gold);
}

/* Inquiry and footer */
.inquiry-section {
  background: var(--brand-gold-pale);
}

.inquiry-form {
  background: var(--brand-paper);
  border-color: var(--brand-line);
  box-shadow: 0 20px 48px rgba(83, 58, 31, .1);
}

.inquiry-form input,
.inquiry-form select,
.inquiry-form textarea {
  color: var(--brand-ink);
  background: #fff;
  border-color: var(--brand-line);
}

.inquiry-form input:focus,
.inquiry-form select:focus,
.inquiry-form textarea:focus {
  border-color: var(--brand-gold);
  box-shadow: 0 0 0 3px rgba(183, 137, 79, .15);
}

.site-footer,
.site-footer.gradient-panel {
  --panel-from: #2d241b;
  --panel-to: #493724;
  color: #ddd0bd;
  background: #2d241b;
}

.site-footer a,
.site-footer p {
  color: #d8cbb9;
}

.site-footer h2,
.site-footer h3,
.site-footer strong {
  color: #fffaf2;
}

.site-footer a:hover,
body.home .site-footer a:hover {
  color: #e4c89d;
}

.site-footer .footer-meta,
.site-footer .footer-admin-link {
  border-color: rgba(232, 214, 184, .24);
}

/* Accessible focus color follows the palette without losing visibility. */
:where(a, button, input, select, textarea):focus-visible {
  outline-color: var(--brand-gold) !important;
}

@media (max-width: 920px) {
  .mobile-nav {
    background: var(--brand-paper);
    border-color: var(--brand-line);
  }
}
