/* Paleta común basada en la portada de Servitecnic Barcelona. */
html[data-brand] {
  --ink: #182e3e;
  --ink-2: #53636d;
  --paper: #f5f6f4;
  --surface: #ffffff;
  --soft: #eef2ef;
  --line: #dce3e7;
  --brand: #0d4776;
  --brand-dark: #173d58;
  --brand-soft: #dbe4e9;
  --brand-on: #ffffff;
  --accent: #0d4776;
  --call-bg: #0d4776;
  --call-bg-2: #10334f;
  --call-fg: #ffffff;
  --wa-bg: #25604a;
  --wa-bg-2: #164632;
  --wa-fg: #ffffff;
  --cta-accent: #bcdbcc;
  --focus: #ba790c;
  --brand-wordmark: #173d58;
}

html[data-brand] body.brand-page {
  color: #182e3e !important;
  background: #ffffff !important;
}

html[data-brand] body.brand-page :is(h1, h2, h3, h4, p, li, summary, .brand-route-title) {
  color: #182e3e !important;
}

html[data-brand] body.brand-page :is(.eyebrow, .brand-route-eyebrow, .brand-service-primary, .text-link) {
  color: #0d4776 !important;
}

html[data-brand] body.brand-page .brand-route-bar {
  background: #ffffff !important;
  border-bottom-color: #dce3e7 !important;
}

html[data-brand] body.brand-page .brand-route-bar::before {
  background: #0d4776 !important;
}

html[data-brand] body.brand-page .brand-hero-editorial {
  background: #f5f6f4 !important;
}

html[data-brand] body.brand-page :is(.brand-service-card, .coverage-card, .ad-bosch-family-grid article, .ad-bosch-error-grid article, [class*="-faq"] details, [class*="-gallery"] figure) {
  background: #ffffff !important;
  border-color: #dce3e7 !important;
  box-shadow: 0 12px 28px rgba(23, 61, 88, .08) !important;
}

html[data-brand] body.brand-page :is(.brand-trust-dock, .section-soft, [class*="section-soft"]) {
  background: #eef2ef !important;
  border-color: #dce3e7 !important;
}

html[data-brand] body.brand-page :is(.brand-route-call, .brand-call-primary, .button-primary, .footer-call) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0d4776, #10334f) !important;
  border-color: #0d4776 !important;
  box-shadow: 0 12px 24px rgba(13, 71, 118, .23) !important;
}

html[data-brand] body.brand-page :is(.brand-whatsapp-preview, .button-whatsapp, .footer-whatsapp) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #25604a, #164632) !important;
  border-color: #25604a !important;
  box-shadow: 0 12px 24px rgba(37, 96, 74, .22) !important;
}

html[data-brand] body.brand-page :is(.brand-service-primary:hover, .brand-route-call:hover, .brand-call-primary:hover, .button-primary:hover) {
  color: #ffffff !important;
  background: #10334f !important;
}

html[data-brand] body.brand-page :is(.final-cta, [class*="-safety"]) {
  color: #ffffff !important;
  background: #173d58 !important;
}

html[data-brand] body.brand-page :is(.final-cta, [class*="-safety"]) :is(h1, h2, h3, h4, p, li, strong, span) {
  color: #ffffff !important;
}

html[data-brand] body.brand-page :is(.final-cta, [class*="-safety"]) .eyebrow {
  color: #c9d9d4 !important;
}

html[data-brand] body.brand-page :is(.brand-reference-inline, .brand-service-card-media span, [class*="-location-list"] li:first-child, [class*="-error-code"]) {
  color: #ffffff !important;
  background: #0d4776 !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(a, button):focus-visible {
  outline-color: #ba790c !important;
}

html[data-brand] body.brand-page .mobile-actions {
  background: rgba(255, 255, 255, .98) !important;
  border-top-color: #dce3e7 !important;
}

/* Excepciones: estos bloques usan fondo oscuro y necesitan texto claro. */
html[data-brand] body.brand-page :is(.ad-independent-banner, .footer-conversion, .final-cta, .brand-final, [class*="-cta"]) {
  color: #ffffff !important;
  background: #173d58 !important;
}

html[data-brand] body.brand-page :is(.ad-independent-banner, .footer-conversion, .final-cta, .brand-final, [class*="-cta"]) :is(h1, h2, h3, h4, p, li, strong, span, small) {
  color: #ffffff !important;
}

html[data-brand] body.brand-page :is(.ad-independent-banner, .footer-conversion, .final-cta, .brand-final, [class*="-cta"]) .eyebrow {
  color: #c9d9d4 !important;
}

html[data-brand] body.brand-page .ad-independent-banner {
  border-bottom-color: rgba(255, 255, 255, .18) !important;
}

html[data-brand] body.brand-page :is(.footer-conversion, .final-cta, .brand-final) :is(.button-primary, .brand-call-primary) {
  background: linear-gradient(135deg, #0d4776, #10334f) !important;
}

html[data-brand] body.brand-page :is(.footer-conversion, .final-cta, .brand-final) :is(.button-whatsapp, .brand-whatsapp-preview) {
  background: linear-gradient(135deg, #25604a, #164632) !important;
}

/* Componentes repetidos: todos deben seguir la paleta de la página principal. */
html[data-brand] body.brand-page :is(.brand-service-primary, .ad-smeg-service-card a) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0d4776, #10334f) !important;
  border-color: #0d4776 !important;
  box-shadow: 0 12px 24px rgba(13, 71, 118, .18) !important;
}

html[data-brand] body.brand-page :is(.brand-service-primary, .ad-smeg-service-card a):hover {
  color: #ffffff !important;
  background: #10334f !important;
}

html[data-brand] body.brand-page :is(
  .ad-bosch-gallery-slide,
  .ad-junkers-gallery-slide,
  .ad-miele-gallery-slide,
  .ad-saunier-gallery-slide,
  .ad-smeg-gallery-slide,
  .ad-siemens-gallery-slide,
  .ad-vaillant-gallery-slide
) {
  background: #ffffff !important;
  border-color: #dce3e7 !important;
  box-shadow: 0 12px 28px rgba(23, 61, 88, .08) !important;
}

html[data-brand] body.brand-page :is(
  .ad-bosch-gallery-slide,
  .ad-junkers-gallery-slide,
  .ad-miele-gallery-slide,
  .ad-saunier-gallery-slide,
  .ad-smeg-gallery-slide,
  .ad-siemens-gallery-slide,
  .ad-vaillant-gallery-slide
) figcaption {
  color: #182e3e !important;
  background: #ffffff !important;
}

html[data-brand] body.brand-page :is(
  .ad-bosch-gallery-slide,
  .ad-junkers-gallery-slide,
  .ad-miele-gallery-slide,
  .ad-saunier-gallery-slide,
  .ad-smeg-gallery-slide,
  .ad-siemens-gallery-slide,
  .ad-vaillant-gallery-slide
) figcaption :is(h3, p, small, span) {
  color: #182e3e !important;
}

html[data-brand] body.brand-page :is(
  .ad-bosch-gallery-slide,
  .ad-junkers-gallery-slide,
  .ad-miele-gallery-slide,
  .ad-saunier-gallery-slide,
  .ad-smeg-gallery-slide,
  .ad-siemens-gallery-slide,
  .ad-vaillant-gallery-slide
) figcaption .eyebrow {
  color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  .ad-bosch-gallery-arrows button,
  .ad-junkers-gallery-arrows button,
  .ad-miele-gallery-arrows button,
  .ad-saunier-gallery-arrows button,
  .ad-smeg-gallery-arrows button,
  .ad-siemens-gallery-arrows button,
  .ad-vaillant-gallery-arrows button
) {
  color: #0d4776 !important;
  background: #ffffff !important;
  border-color: #dce3e7 !important;
}

html[data-brand] body.brand-page :is(
  .ad-bosch-gallery-dots button[aria-current="true"]::after,
  .ad-junkers-gallery-dots button[aria-current="true"]::after,
  .ad-miele-gallery-dots button[aria-current="true"]::after,
  .ad-saunier-gallery-dots button[aria-current="true"]::after,
  .ad-smeg-gallery-dots button[aria-current="true"]::after,
  .ad-siemens-gallery-dots button[aria-current="true"]::after,
  .ad-vaillant-gallery-dots button[aria-current="true"]::after
) {
  background: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  section[class*="-gallery"],
  section[class*="-services"],
  section[class*="-knowledge"],
  section[class*="-family"]
) {
  background: #f5f6f4 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-service-grid"] figcaption,
  [class*="-gallery"] figcaption[class*="overlay"],
  [class*="-gallery"] [class*="caption-overlay"]
) {
  color: #ffffff !important;
  background: rgba(23, 61, 88, .94) !important;
  border-color: #173d58 !important;
}

/* En tablet evita que las tarjetas de servicio se monten unas sobre otras. */
@media (max-width: 1100px) {
  html[data-brand] body.brand-page :is(
    .ad-junkers-service-grid,
    .ad-saunier-service-grid,
    .ad-miele-service-grid,
    .ad-smeg-service-grid,
    .ad-siemens-service-grid,
    .ad-vaillant-service-grid,
    .ad-bosch-service-grid
  ) {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  html[data-brand] body.brand-page :is(
    .ad-junkers-service-grid,
    .ad-saunier-service-grid,
    .ad-miele-service-grid,
    .ad-smeg-service-grid,
    .ad-siemens-service-grid,
    .ad-vaillant-service-grid,
    .ad-bosch-service-grid
  ) article {
    grid-template-columns: 1fr !important;
  }
}

/* El bloque técnico oscuro también debe conservar contraste en todos sus textos. */
html[data-brand] body.brand-page :is(
  .ad-junkers-method-media,
  .ad-bosch-method-media,
  .ad-miele-method-media,
  .ad-saunier-method-media,
  .ad-siemens-method-media,
  .ad-vaillant-method-media
) {
  color: #ffffff !important;
  background: #173d58 !important;
}

html[data-brand] body.brand-page :is(
  .ad-junkers-method-media,
  .ad-bosch-method-media,
  .ad-miele-method-media,
  .ad-saunier-method-media,
  .ad-siemens-method-media,
  .ad-vaillant-method-media
) :is(h2, h3, h4, p, strong, span) {
  color: #ffffff !important;
}

/* Procesos, síntomas y garantías: sustituyen los acentos amarillo, rojo y rosa. */
html[data-brand] body.brand-page :is(
  [class*="-pain-grid"] article,
  [class*="-process-list"] li,
  [class*="-trust-row"] strong
) {
  color: #182e3e !important;
  border-color: #dce3e7 !important;
  background: #ffffff !important;
}

html[data-brand] body.brand-page :is(
  [class*="-pain-grid"] article,
  [class*="-process-list"] li
) {
  border-top-color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-pain-grid"] article > span,
  [class*="-process-list"] li > span
) {
  color: #ffffff !important;
  background: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-pain-grid"] h3,
  [class*="-process-list"] h3,
  [class*="-pain-grid"] p,
  [class*="-process-list"] p,
  [class*="-trust-row"] strong
) {
  color: #182e3e !important;
}

html[data-brand] body.brand-page :is([class*="-trust-row"] strong) {
  background: #eef2ef !important;
}

/* Elacell: mostrar el producto completo sin recortar sus laterales. */
html[data-brand] body.brand-page .ad-junkers-service-grid figure.ad-elacell-media {
  background: #ffffff !important;
}

html[data-brand] body.brand-page .ad-junkers-service-grid figure.ad-elacell-media img {
  object-fit: contain !important;
  object-position: center !important;
  padding: 1rem !important;
}

/* Los números de proceso deben ser círculos, no barras verticales. */
html[data-brand] body.brand-page :is(
  [class*="-process-list"] li > span,
  [class*="-pain-grid"] article > span
) {
  width: 2.35rem !important;
  height: 2.35rem !important;
  min-width: 2.35rem !important;
  min-height: 2.35rem !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 2.35rem !important;
  margin: 0 0 1rem !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  line-height: 1 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-process-list"] li,
  [class*="-pain-grid"] article
) {
  border-top: 0 !important;
  border: 1px solid #dce3e7 !important;
}

/* Acentos de familias, conocimientos, errores y cobertura. */
html[data-brand] body.brand-page :is(
  [class*="-family-grid"] article,
  [class*="-knowledge-grid"] article,
  [class*="-error-grid"] article
) {
  border-color: #dce3e7 !important;
  border-left-color: #0d4776 !important;
  background: #ffffff !important;
}

html[data-brand] body.brand-page :is(
  [class*="-family-grid"] h3,
  [class*="-knowledge-grid"] h3,
  [class*="-error-grid"] h3,
  [class*="-family-grid"] p,
  [class*="-knowledge-grid"] p,
  [class*="-error-grid"] p
) {
  color: #182e3e !important;
}

html[data-brand] body.brand-page :is(
  [class*="-service-grid"] figcaption,
  [class*="-knowledge-layout"] figure figcaption
) {
  color: #ffffff !important;
  background: #173d58 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-error-code"],
  [class*="-radius"]
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0d4776, #173d58) !important;
  border-color: #0d4776 !important;
  box-shadow: none !important;
}

/* Footer común: se conserva el fondo oscuro de la página principal. */
html[data-brand] body.brand-page :is(.site-footer, footer) {
  color: #c8d3da !important;
  background: #061a28 !important;
  border-color: rgba(255, 255, 255, .13) !important;
}

html[data-brand] body.brand-page .site-footer .footer-conversion {
  color: #ffffff !important;
  background: #0a2538 !important;
  border-bottom-color: rgba(255, 255, 255, .13) !important;
}

html[data-brand] body.brand-page .site-footer :is(.footer-main, .footer-legal) {
  background: transparent !important;
}

html[data-brand] body.brand-page .site-footer :is(h2, h3, .footer-phone, .footer-map, .footer-links a) {
  color: #ffffff !important;
}

html[data-brand] body.brand-page .site-footer :is(.footer-purpose, .footer-contact > p, .footer-contact address, .footer-legal-copy p, .ad-footer-disclosure) {
  color: #b5c2c9 !important;
}

html[data-brand] body.brand-page .site-footer .footer-proof li {
  color: #eef3f5 !important;
  border-color: rgba(255, 255, 255, .1) !important;
}

html[data-brand] body.brand-page .site-footer .footer-legal-copy {
  color: #b5c2c9 !important;
  background: rgba(255, 255, 255, .035) !important;
  border-color: rgba(255, 255, 255, .1) !important;
  border-left-color: #0d4776 !important;
}

html[data-brand] body.brand-page .site-footer .footer-legal-bottom {
  border-top-color: rgba(255, 255, 255, .1) !important;
}

html[data-brand] body.brand-page .site-footer .footer-copyright {
  color: #d5e0e6 !important;
}

html[data-brand] body.brand-page .site-footer .ad-legal-links a {
  color: #ffffff !important;
}

html[data-brand] body.brand-page .smeg-campaign-footer {
  color: #c8d3da !important;
  background: #061a28 !important;
}

/* Unificación completa con la paleta de la portada.
   Estas reglas cubren los módulos específicos que cada landing tenía
   definidos con el color original de su fabricante. */
html[data-brand] body.brand-page :is(
  .hero,
  .page-hero,
  [class*="-hero-editorial"],
  [class*="-knowledge"],
  [class*="-family"],
  [class*="-process"],
  [class*="-pain"],
  [class*="-error"],
  [class*="-radius"],
  [class*="-location"],
  [class*="-model"],
  [class*="-alert"],
  [class*="-decision"],
  [class*="-trust-band"],
  [class*="-chapters"]
) {
  border-color: #dce3e7 !important;
}

html[data-brand] body.brand-page :is(
  section[class*="-knowledge"],
  section[class*="-family"],
  section[class*="-process"],
  section[class*="-pain"],
  section[class*="-error"],
  section[class*="-radius"],
  section[class*="-location"],
  section[class*="-model"],
  section[class*="-alert"],
  section[class*="-decision"],
  section[class*="-trust-band"],
  section[class*="-chapters"],
  section[class*="-services"],
  section[class*="-coverage"]
) {
  color: #182e3e !important;
  background: #f5f6f4 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-knowledge"] article,
  [class*="-family"] article,
  [class*="-process"] article,
  [class*="-pain"] article,
  [class*="-error"] article,
  [class*="-radius"] article,
  [class*="-location"] li,
  [class*="-model"] article,
  [class*="-alert"] article,
  [class*="-decision"] article,
  [class*="-trust-band"] article,
  [class*="-chapters"] article,
  [class*="-service-card"],
  [class*="-service-grid"] article
) {
  color: #182e3e !important;
  background: #ffffff !important;
  border-color: #dce3e7 !important;
  box-shadow: 0 12px 28px rgba(23, 61, 88, .08) !important;
}

html[data-brand] body.brand-page :is(
  [class*="-knowledge"] article::before,
  [class*="-knowledge"] article::after,
  [class*="-family"] article::before,
  [class*="-family"] article::after,
  [class*="-process"] article::before,
  [class*="-pain"] article::before,
  [class*="-error"] article::before,
  [class*="-decision"] article::before,
  [class*="-trust-band"] article::before
) {
  background: #0d4776 !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-knowledge"] strong,
  [class*="-knowledge"] h3,
  [class*="-family"] strong,
  [class*="-family"] h3,
  [class*="-process"] strong,
  [class*="-process"] h3,
  [class*="-pain"] strong,
  [class*="-pain"] h3,
  [class*="-error"] strong,
  [class*="-error"] h3,
  [class*="-radius"] strong,
  [class*="-model"] strong,
  [class*="-model"] h3,
  [class*="-alert"] strong,
  [class*="-decision"] strong,
  [class*="-chapters"] strong
) {
  color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-service-card"] a,
  [class*="-service-card"] button,
  [class*="-model"] a,
  [class*="-model"] button,
  [class*="-alert"] a,
  [class*="-alert"] button,
  [class*="-decision"] a,
  [class*="-decision"] button,
  [class*="-cta"] a,
  [class*="-cta"] button,
  [class*="-header-call"],
  [class*="-call"]
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0d4776, #10334f) !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-gallery"] button,
  [class*="-gallery"] [role="button"],
  [class*="-gallery"]::before,
  [class*="-gallery"]::after,
  [class*="-chapters"]::before,
  [class*="-chapters"]::after
) {
  color: #0d4776 !important;
  background-color: #ffffff !important;
  border-color: #dce3e7 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-gallery"] [aria-current="true"]::after,
  [class*="-gallery"] .is-active,
  [class*="-gallery"] .active,
  [class*="-chapters"] .is-active,
  [class*="-chapters"] .active
) {
  color: #ffffff !important;
  background: #0d4776 !important;
  border-color: #0d4776 !important;
}

/* Refuerza la legibilidad de todos los bloques oscuros de las landings. */
html[data-brand] body.brand-page :is(
  [class*="-safety"],
  [class*="-final"],
  [class*="-independent"],
  [class*="-dark"]
) {
  color: #ffffff !important;
  background: #173d58 !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  [class*="-safety"],
  [class*="-final"],
  [class*="-independent"],
  [class*="-dark"]
) :is(h1, h2, h3, h4, p, li, strong, span, small, a) {
  color: #ffffff !important;
}

/* Correcciones de contraste: los módulos de confianza y cobertura son
   bloques claros en la portada; solo las bandas de seguridad/finales son
   oscuras. */
html[data-brand] body.brand-page :is(
  .brand-trust-dock,
  [class*="-trust-row"],
  section[class*="-trust"]
) {
  color: #182e3e !important;
  background: #eef2ef !important;
  border-color: #dce3e7 !important;
}

html[data-brand] body.brand-page :is(
  .brand-trust-dock,
  [class*="-trust-row"],
  section[class*="-trust"]
) :is(h1, h2, h3, h4, p, li, strong, span, small, summary) {
  color: #182e3e !important;
}

html[data-brand] body.brand-page [class*="-trust-row"] strong {
  background: #ffffff !important;
  border: 1px solid #dce3e7 !important;
  color: #182e3e !important;
}

html[data-brand] body.brand-page :is(
  section[class*="-coverage"],
  [class*="-coverage-layout"]
) {
  color: #182e3e !important;
  background: #f5f6f4 !important;
}

html[data-brand] body.brand-page [class*="-coverage-layout"] :is(
  h1, h2, h3, h4, p, li, span, strong
) {
  color: #182e3e !important;
}

html[data-brand] body.brand-page [class*="-coverage-layout"] [class*="-radius"] {
  color: #ffffff !important;
  background: #173d58 !important;
}

html[data-brand] body.brand-page [class*="-coverage-layout"] [class*="-radius"] :is(
  strong, span
) {
  color: #ffffff !important;
}

html[data-brand] body.brand-page [class*="-coverage-layout"] [class*="-location-list"] li {
  color: #182e3e !important;
  background: #ffffff !important;
  border-color: #dce3e7 !important;
}

html[data-brand] body.brand-page [class*="-coverage-layout"] [class*="-location-list"] li:first-child {
  color: #ffffff !important;
  background: #0d4776 !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page [class*="-cta"] :is(h1, h2, h3, h4, p, strong, span, small) {
  color: #ffffff !important;
}

/* Contraste interno de cada CTA: algunos estilos de marca tienen selectores
   más específicos para h3, strong y small y volvían a ponerlos oscuros. */
html[data-brand] body.brand-page [class*="-cta"] [class*="-cta-copy"] :is(
  h1, h2, h3, h4, p, strong, span, small
) {
  color: #ffffff !important;
}

html[data-brand] body.brand-page [class*="-cta"] .button {
  color: #ffffff !important;
  background: linear-gradient(135deg, #0d4776, #10334f) !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page [class*="-cta"] .button :is(
  strong, span, small
) {
  color: #ffffff !important;
}

html[data-brand] body.brand-page [class*="-cta"] .button svg {
  color: #ffffff !important;
  stroke: currentColor !important;
}

/* Colores exactos de los botones de la portada: azul principal y verde de
   WhatsApp, sin degradados. */
html[data-brand] body.brand-page :is(
  .brand-route-call,
  .brand-call-primary,
  .button-primary,
  .brand-service-primary,
  .footer-call,
  .mobile-call,
  .btn-call,
  .btn-header-call,
  .hc-call
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2f6f9f, #0d4776) !important;
  background-image: linear-gradient(135deg, #2f6f9f, #0d4776) !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  .brand-route-call:hover,
  .brand-call-primary:hover,
  .button-primary:hover,
  .brand-service-primary:hover,
  .footer-call:hover,
  .mobile-call:hover,
  .btn-call:hover,
  .btn-header-call:hover,
  .hc-call:hover
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #245d88, #10334f) !important;
  background-image: linear-gradient(135deg, #245d88, #10334f) !important;
}

html[data-brand] body.brand-page :is(
  .brand-whatsapp-preview,
  .button-whatsapp,
  .footer-whatsapp,
  .mobile-whatsapp,
  .btn-whatsapp,
  .hc-wa
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #4f9278, #164632) !important;
  background-image: linear-gradient(135deg, #4f9278, #164632) !important;
  border-color: #25604a !important;
}

html[data-brand] body.brand-page :is(
  .brand-whatsapp-preview:hover,
  .button-whatsapp:hover,
  .footer-whatsapp:hover,
  .mobile-whatsapp:hover,
  .btn-whatsapp:hover,
  .hc-wa:hover
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #3f8067, #103c2b) !important;
  background-image: linear-gradient(135deg, #3f8067, #103c2b) !important;
}

/* Variantes del sistema Smeg y de las landings HVAC. */
html[data-brand] body.brand-page :is(
  .btn-primary,
  .btn-secondary,
  .btn-call,
  .btn-header-call,
  .hc-call
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #2f6f9f, #0d4776) !important;
  background-image: linear-gradient(135deg, #2f6f9f, #0d4776) !important;
  border-color: #0d4776 !important;
}

html[data-brand] body.brand-page :is(
  .btn-primary:hover,
  .btn-secondary:hover,
  .btn-call:hover,
  .btn-header-call:hover,
  .hc-call:hover
) {
  background: linear-gradient(135deg, #245d88, #10334f) !important;
  background-image: linear-gradient(135deg, #245d88, #10334f) !important;
  border-color: #10334f !important;
}

html[data-brand] body.brand-page :is(
  .btn-whatsapp,
  .hc-wa
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #4f9278, #164632) !important;
  background-image: linear-gradient(135deg, #4f9278, #164632) !important;
  border-color: #25604a !important;
}

html[data-brand] body.brand-page :is(
  .btn-whatsapp:hover,
  .hc-wa:hover
) {
  background: linear-gradient(135deg, #3f8067, #103c2b) !important;
  background-image: linear-gradient(135deg, #3f8067, #103c2b) !important;
  border-color: #164632 !important;
}

/* Regla definitiva para cualquier botón que enlace a WhatsApp, aunque la
   landing le asigne una clase distinta. */
html[data-brand] body.brand-page :is(
  a.button[data-channel="whatsapp"],
  a.btn[data-channel="whatsapp"],
  a.mobile-whatsapp[data-channel="whatsapp"]
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #4f9278, #164632) !important;
  background-image: linear-gradient(135deg, #4f9278, #164632) !important;
  background-color: #164632 !important;
  border-color: #25604a !important;
}

html[data-brand] body.brand-page :is(
  a.button[data-channel="whatsapp"]:hover,
  a.btn[data-channel="whatsapp"]:hover,
  a.mobile-whatsapp[data-channel="whatsapp"]:hover
) {
  color: #ffffff !important;
  background: linear-gradient(135deg, #3f8067, #103c2b) !important;
  background-image: linear-gradient(135deg, #3f8067, #103c2b) !important;
  background-color: #103c2b !important;
}

html[data-brand] body.brand-page :is(
  .brand-route-call,
  .brand-call-primary,
  .button-primary,
  .brand-service-primary,
  .footer-call,
  .brand-whatsapp-preview,
  .button-whatsapp,
  .footer-whatsapp,
  .mobile-call,
  .mobile-whatsapp
) :is(strong, span, small, svg) {
  color: #ffffff !important;
  stroke: currentColor !important;
}

/* Texto auxiliar situado debajo de los botones CTA. En varias landings la
   regla de marca era más específica y lo dejaba oscuro sobre azul. */
html[data-brand] body.brand-page :is(
  .ad-miele-cta,
  .ad-junkers-cta,
  .ad-bosch-cta,
  .ad-daikin-cta,
  .ad-mitsubishi-cta,
  .ad-saunier-cta,
  .ad-smeg-cta,
  .ad-siemens-cta,
  .ad-vaillant-cta,
  [class*="-cta"]
) .cta-reassurance {
  color: #ffffff !important;
}

html[data-brand] body.brand-page :is(
  .ad-miele-cta,
  .ad-junkers-cta,
  .ad-bosch-cta,
  .ad-daikin-cta,
  .ad-mitsubishi-cta,
  .ad-saunier-cta,
  .ad-smeg-cta,
  .ad-siemens-cta,
  .ad-vaillant-cta,
  [class*="-cta"]
) :is(.cta-reassurance, [class*="-note"], [class*="-description"]) {
  color: #ffffff !important;
}

/* La franja de marca deja de usar rojo, amarillo, verde o turquesa. */
html[data-brand] body.brand-page :is(
  .campaign-brand-sign,
  .brand-route-bar,
  [class*="brand-sign"],
  [class*="route-bar"]
) {
  color: #182e3e !important;
  background: #ffffff !important;
  border-color: #dce3e7 !important;
}

html[data-brand] body.brand-page :is(
  .campaign-brand-sign::before,
  .campaign-brand-sign::after,
  .brand-route-bar::before,
  [class*="brand-sign"]::before,
  [class*="route-bar"]::before
) {
  background: #0d4776 !important;
  border-color: #0d4776 !important;
}
