/* Final brand and contrast guard. Loaded after WordPress global styles. */
body.thome-catalog-route {
  --paper: #f4f1e7;
  --paper-deep: #e9e4d8;
  --white: #fffdf7;
  --white-muted: #d6cfc0;
  --ink: #19211b;
  --muted: #526158;
  --line: #d6cfc0;
  --forest: #2f5d43;
  --forest-deep: #1e3a2b;
  --clay: #765335;
  --clay-deep: #5d422c;
  --focus: #b98a5a;
  --footer-line: #425448;
  --footer-muted: #c4ccbf;
  --color-paper: #f4f1e7;
  --color-paper-deep: #e9e4d8;
  --color-white: #fffdf7;
  --color-ink: #19211b;
  --color-ink-deep: #1e3a2b;
  --color-muted: #526158;
  --color-line: #d6cfc0;
  --color-accent: #2f5d43;
  --color-accent-soft: #d6cfc0;
  --color-warm: #765335;
  --rd-paper-deep: #e9e4d8;
  --rd-panel: #f4f1e7;
  --rd-white-muted: #e2ddd2;
  background: #f4f1e7;
  color: #19211b;
  font-family: var(--font-body, "Inter Tight", ui-sans-serif, system-ui, sans-serif);
}

/* WordPress global styles are printed after normal plugin styles. */
body.thome-catalog-route :where(h1, h2, h3, h4, h5, h6),
body.thome-catalog-route a:where(:not(.wp-element-button)) {
  color: #19211b;
}

body.thome-catalog-route :where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display, "Space Grotesk", ui-sans-serif, system-ui, sans-serif);
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

body.thome-catalog-route p,
body.thome-catalog-route :where(.section-head, .rd-section-head) > p {
  color: #526158;
}

body.thome-catalog-route .site-header {
  background: color-mix(in srgb, #fffdf7 96%, transparent);
  border-bottom-color: #d6cfc0;
  color: #19211b;
}

body.thome-catalog-route :where(.brand, .nav-links a, .primary-nav a),
body.thome-catalog-route .site-header a:where(:not(.nav-cta, .header-enquiry)) {
  color: #19211b !important;
}

body.thome-catalog-route :where(.nav-cta, .header-enquiry, .button--dark) {
  background: #19211b;
  border-color: #19211b;
  color: #fffdf7 !important;
}

body.thome-catalog-route :where(.nav-cta, .header-enquiry, .button--dark):hover {
  background: #2f5d43;
  border-color: #2f5d43;
}

/* Keep headings and links legible inside every dark or image-backed region. */
body.thome-catalog-route :where(
  .home-hero,
  .rd-hero,
  .rd-route,
  .rd-wpc-lead,
  .rd-bathroom-visual,
  .rd-application-grid a,
  .rd-company,
  .section.dark,
  .split-copy,
  .page-hero.visual-hero,
  .culture-panel,
  .contact-band,
  .site-footer,
  .wpc-hero,
  .page-hero.document-hero,
  .library-cta,
  .category-section--dark,
  .specification-band,
  .product-system--green,
  .factory-section
) :where(h1, h2, h3, h4, h5, h6, a, b, strong, li) {
  color: #fffdf7 !important;
}

body.thome-catalog-route :where(
  .rd-wpc-lead,
  .rd-company,
  .section.dark,
  .split-copy,
  .culture-panel,
  .contact-band,
  .site-footer,
  .page-hero.document-hero,
  .library-cta,
  .category-section--dark,
  .specification-band,
  .product-system--green,
  .factory-section
) p {
  color: #e2ddd2;
}

body.thome-catalog-route :where(.rd-hero, .home-hero, .page-hero.visual-hero, .page-hero.document-hero, .wpc-hero) p {
  color: #fffdf7;
}

body.thome-catalog-route :where(.section.dark, .rd-wpc-lead, .rd-company, .contact-band, .page-hero.document-hero, .library-cta, .category-section--dark, .specification-band, .product-system--green, .factory-section) .eyebrow {
  color: #d6cfc0;
}

body.thome-catalog-route :where(.button.light, .button--light) {
  background: #fffdf7;
  border-color: #fffdf7;
  color: #19211b !important;
}

body.thome-catalog-route :where(.button--outline-light, .rd-button-clear) {
  border-color: #fffdf7;
  color: #fffdf7 !important;
}

body.thome-catalog-route .button.ghost {
  border-color: #19211b;
  color: #19211b !important;
}

body.thome-catalog-route .form-consent {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.thome-catalog-route .form-consent input[type="checkbox"] {
  position: static !important;
  flex: 0 0 20px !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 2px 0 0 !important;
}

body.thome-catalog-route .form-consent label {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: calc(100% - 32px) !important;
  max-width: none !important;
  color: #19211b;
  writing-mode: horizontal-tb !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
}

body.thome-catalog-route .form-consent a {
  color: #19211b !important;
}

/* Match the consent UI to the site instead of the plugin's default purple. */
body.thome-catalog-route .cmplz-cookiebanner {
  --cmplz_banner_background_color: #fffdf7;
  --cmplz_banner_border_color: #d6cfc0;
  --cmplz_button_accept_background_color: #1e3a2b;
  --cmplz_button_accept_border_color: #1e3a2b;
  --cmplz_button_accept_text_color: #fffdf7;
  --cmplz_button_deny_background_color: #f4f1e7;
  --cmplz_button_deny_border_color: #d6cfc0;
  --cmplz_button_deny_text_color: #19211b;
  --cmplz_button_settings_background_color: #fffdf7;
  --cmplz_button_settings_border_color: #2f5d43;
  --cmplz_button_settings_text_color: #1e3a2b;
  --cmplz_slider_active_color: #2f5d43;
  border: 1px solid #d6cfc0;
  border-radius: 4px;
  box-shadow: 0 16px 44px rgb(25 33 27 / 18%);
}

body.thome-catalog-route .cmplz-cookiebanner :where(.cmplz-title, .cmplz-message, a) {
  color: #19211b !important;
}

@media (max-width: 980px) {
  body.thome-catalog-route .nav-links,
  body.thome-catalog-route .primary-nav {
    background: #fffdf7;
    color: #19211b;
  }
}

@media (max-width: 600px) {
  body.thome-catalog-route .cmplz-cookiebanner {
    margin: 8px;
    width: calc(100% - 16px);
  }

  body.thome-catalog-route .cmplz-cookiebanner .cmplz-buttons {
    gap: 7px;
  }
}
