/* Facilityclean brand theme — derived from the supplied logo.svg. */
:root {
  --gold: #146ba9 !important;
  --sfm-gold: #146ba9 !important;
  --sfm-accent: #288b20 !important;
}

h1, h2, h3, h4, h5, h6,
.font-display,
.sfm-faq-question {
  font-weight: 800 !important;
}

.text-gold,
.hover\:text-gold:hover {
  color: #146ba9 !important;
}

.bg-gold,
.hover\:bg-gold:hover {
  background-color: #146ba9 !important;
}

.bg-gold\/10 {
  background-color: rgba(20, 107, 169, 0.10) !important;
}

.bg-gold\/20 {
  background-color: rgba(20, 107, 169, 0.20) !important;
}

.border-gold,
.border-gold\/30 {
  border-color: rgba(20, 107, 169, 0.40) !important;
}

.sfm-faq-gold {
  background: linear-gradient(135deg, #f2f8fc 0%, #eef8ea 100%) !important;
}

.sfm-faq-gold [class*="text-foreground"],
.sfm-faq-gold .sfm-faq-question,
.sfm-faq-gold .sfm-faq-answer p {
  color: #0a1d34 !important;
}

.sfm-faq-gold .text-gold {
  color: #146ba9 !important;
}

.sfm-faq-gold .sfm-faq-accordion {
  background: #e8f7cd !important;
  border-color: rgba(40, 139, 32, 0.30) !important;
}

.sfm-faq-gold .sfm-faq-accordion:nth-child(even) {
  background: #e8f7cd !important;
  border-color: rgba(40, 139, 32, 0.30) !important;
}

.sfm-faq-gold .sfm-faq-toggle {
  color: #ffffff !important;
  background: #236f1b !important;
  border-color: #236f1b !important;
}

.sfm-faq-gold .sfm-faq-accordion:nth-child(even) .sfm-faq-toggle {
  background: #236f1b !important;
  border-color: #236f1b !important;
}

.sfm-faq-gold .sfm-faq-answer::before {
  background: #82c7f0 !important;
}

html body .sfm-service-kicker {
  color: #0a1d34 !important;
  background: rgba(40, 139, 32, 0.12) !important;
  border-color: rgba(40, 139, 32, 0.45) !important;
}

.sfm-service-hero .sfm-service-content .sfm-service-cta {
  background: #146ba9 !important;
  border-color: #146ba9 !important;
}

.sfm-service-hero .sfm-service-content .sfm-service-cta:hover {
  background: #0f83c1 !important;
}

.sfm-gold-intro,
section.bg-sfm-surface {
  background: #0a1d34 !important;
}

.sfm-quality-step__number {
  border-color: #288b20 !important;
  color: #146ba9 !important;
}

#qualitaet .sfm-quality-step__ring,
#qualitaet .sfm-quality-step__body {
  background: #15314a !important;
  border-color: #294660 !important;
}

#qualitaet .sfm-quality-step__ring::before {
  border-color: rgba(130, 199, 240, 0.55) !important;
}

#qualitaet .sfm-quality-step__ring svg,
#qualitaet .sfm-quality-step__arrow {
  stroke: #82c7f0 !important;
}

#qualitaet .sfm-quality-step__number {
  color: #ffffff !important;
  background: #288b20 !important;
  border-color: #15314a !important;
}

footer.bg-background {
  background: #e8f7cd !important;
  border-color: rgba(40, 139, 32, 0.28) !important;
}

footer.bg-background [class*="text-foreground"] {
  color: #0a1d34 !important;
}

footer.bg-background a:hover {
  color: #146ba9 !important;
}

/* Complete subpage palette with accessible light/dark contrast. */
html body nav.fixed {
  top: 0.75rem !important;
  border-color: rgba(20, 107, 169, 0.24) !important;
  transition: background-color 0.3s ease, box-shadow 0.3s ease,
    border-color 0.3s ease, backdrop-filter 0.3s ease !important;
}

html body nav.fixed .sfm-header-logo {
  height: 2.5rem !important;
  width: auto !important;
  filter: brightness(0) invert(1) !important;
  transform: translateY(15px) scale(2.5);
  transform-origin: center;
  transition: filter 0.3s ease, transform 0.3s ease !important;
}

/* Legal pages: transparent navigation over a blue breadcrumb banner. */
.sfm-legal-page > section.pt-40.pb-16 {
  background: #146ba9 !important;
  border-color: rgba(255, 255, 255, 0.28) !important;
}

.sfm-legal-page > section.pt-40.pb-16 [class*="text-gold"] {
  color: #e8f7cd !important;
}

.sfm-legal-page > section.pt-40.pb-16 h1 {
  color: #ffffff !important;
}

.sfm-legal-page > section.pt-40.pb-16 .bg-gold {
  background-color: #82c7f0 !important;
}

footer.bg-background .sfm-footer-logo {
  filter: none !important;
}

html body section:not([data-facilityclean-ignore]) [class*="text-gold"],
html body footer [class*="text-gold"] {
  color: #146ba9 !important;
}

.sfm-service-detail-cards {
  color: #ffffff !important;
  background: #0a1d34 !important;
  border-color: #294660 !important;
}

.sfm-service-detail-cards [class*="text-foreground"],
.sfm-service-detail-cards h2,
.sfm-service-detail-cards h3,
.sfm-service-detail-cards p {
  color: #ffffff !important;
}

.sfm-service-detail-cards [class*="text-gold"] {
  color: #82c7f0 !important;
}

.sfm-service-detail-card {
  color: #ffffff !important;
  background: #15314a !important;
  border-color: #294660 !important;
}

.sfm-local-seo-wrap {
  color: #0a1d34 !important;
  background: #f2f8fc !important;
}

.sfm-local-seo-wrap > div > [class*="text-foreground"],
.sfm-local-seo-wrap > div > div > [class*="text-foreground"] {
  color: #0a1d34 !important;
}

.sfm-local-seo-wrap > .max-w-5xl > p,
.sfm-local-seo-wrap > .max-w-5xl > h2,
.sfm-local-seo-wrap > .max-w-5xl > .grid,
.sfm-local-seo-wrap > .max-w-5xl > .grid p,
.sfm-local-seo-wrap > .max-w-5xl > .grid h3,
.sfm-local-seo-wrap > .max-w-5xl > .grid strong,
.sfm-local-seo-wrap .sfm-local-link-card,
.sfm-local-seo-wrap .sfm-local-link-card h3,
.sfm-local-seo-wrap .sfm-local-link-card p,
.sfm-local-seo-wrap .sfm-local-link-card a {
  color: #0a1d34 !important;
}

.sfm-local-seo-wrap ol li,
.sfm-local-link-card {
  color: #0a1d34 !important;
  background: #ffffff !important;
  border-color: rgba(20, 107, 169, 0.30) !important;
}

.sfm-local-seo-wrap ol li::before {
  color: #ffffff !important;
  background: #288b20 !important;
}

.sfm-local-seo-depth {
  color: #ffffff !important;
  background: #146ba9 !important;
}

.sfm-local-seo-depth [class*="text-foreground"],
.sfm-local-seo-depth h2,
.sfm-local-seo-depth h3,
.sfm-local-seo-depth p,
.sfm-local-seo-depth a {
  color: #ffffff !important;
}

.sfm-depth-card {
  color: #ffffff !important;
  background: #15314a !important;
  border-color: #82c7f0 !important;
}

.sfm-subpage-faq {
  color: #0a1d34 !important;
  background: linear-gradient(135deg, #f2f8fc 0%, #e8f7cd 100%) !important;
}

.sfm-subpage-faq [class*="text-foreground"],
.sfm-subpage-faq .sfm-faq-question,
.sfm-subpage-faq .sfm-faq-answer p {
  color: #0a1d34 !important;
}

.sfm-subpage-faq .sfm-faq-accordion summary {
  color: #0a1d34 !important;
}

.sfm-subpage-faq .sfm-faq-accordion {
  background: #e8f7cd !important;
  border-color: rgba(40, 139, 32, 0.32) !important;
}

.sfm-subpage-faq .sfm-faq-accordion:nth-child(even) {
  background: #e8f7cd !important;
  border-color: rgba(40, 139, 32, 0.32) !important;
}

.sfm-subpage-faq .sfm-faq-toggle {
  color: #ffffff !important;
  background: #236f1b !important;
  border-color: #236f1b !important;
}

.sfm-subpage-faq .sfm-faq-accordion:nth-child(even) .sfm-faq-toggle {
  background: #236f1b !important;
  border-color: #236f1b !important;
}

.sfm-subpage-faq .sfm-faq-answer::before {
  background: #82c7f0 !important;
}

section.bg-sfm-surface [class*="text-foreground"] {
  color: #ffffff !important;
}

section.bg-sfm-surface [class*="text-gold"] {
  color: #82c7f0 !important;
}

.sfm-contact-page-section .space-y-7 > div,
.sfm-contact-page-section > .max-w-7xl > .grid > div:last-child {
  color: #0a1d34 !important;
  background: #ffffff !important;
  border-color: rgba(20, 107, 169, 0.30) !important;
}

.sfm-contact-page-section .space-y-7 > div [class*="text-foreground"],
.sfm-contact-page-section > .max-w-7xl > .grid > div:last-child [class*="text-foreground"],
.sfm-contact-page-section > .max-w-7xl > .grid > div:last-child label {
  color: #0a1d34 !important;
}

.sfm-contact-page-section input,
.sfm-contact-page-section textarea,
.sfm-contact-page-section select {
  color: #0a1d34 !important;
  background: #f2f8fc !important;
  border-color: rgba(20, 107, 169, 0.38) !important;
}

.sfm-contact-page-section input::placeholder,
.sfm-contact-page-section textarea::placeholder {
  color: #6b7c8d !important;
  opacity: 1 !important;
}

img[src*="logo.svg"] {
  filter: none !important;
}

::selection {
  color: #fff;
  background: #146ba9;
}
