/* ServiHogar V18.4 — cierre global de contraste y variantes de botones. */

/*
 * Cada variante define fondo, borde y texto completos. Esto evita que una
 * capa anterior aporte el fondo y otra posterior conserve un color pensado
 * para una superficie distinta. Los descendientes siguen el color real del
 * control, incluido Safari/iPhone mediante -webkit-text-fill-color.
 */
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button{
  color:#fff;-webkit-text-fill-color:#fff
}
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button *,
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button svg{
  color:inherit!important;-webkit-text-fill-color:currentColor!important
}

body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-secondary{
  border-color:#a9beb6;background:#fffdf9;color:#154943;-webkit-text-fill-color:#154943;box-shadow:none
}
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-secondary:hover{
  border-color:#216861;background:#e4f0eb;color:#154943;-webkit-text-fill-color:#154943
}

body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-ghost{
  border-color:transparent;background:transparent;color:#216861;-webkit-text-fill-color:#216861;box-shadow:none
}
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-ghost:hover{
  border-color:transparent;background:#e4f0eb;color:#154943;-webkit-text-fill-color:#154943;box-shadow:none
}

body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-light{
  border-color:#fff;background:#fff;color:#154943;-webkit-text-fill-color:#154943;box-shadow:0 10px 25px rgba(21,73,67,.18)
}
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-light:hover{
  border-color:#f6eee6;background:#f6eee6;color:#7f301e;-webkit-text-fill-color:#7f301e
}

body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-danger{
  border-color:#a91f34;background:#a91f34;color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 8px 22px rgba(169,31,52,.2)
}
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-danger:hover{
  border-color:#851729;background:#851729;color:#fff;-webkit-text-fill-color:#fff
}

body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-danger-ghost{
  border-color:#d7a8b0;background:#fff7f8;color:#9b2835;-webkit-text-fill-color:#9b2835;box-shadow:none
}
body.servihogar-app:not(.is-admin-route) :is(a,button,label).button.button-danger-ghost:hover{
  border-color:#bd6976;background:#fbe8eb;color:#7d1f2d;-webkit-text-fill-color:#7d1f2d;box-shadow:none
}

/* La tarjeta profesional es deliberadamente oscura: texto y CTA son un par. */
body.servihogar-app:not(.is-admin-route) .card.account-professional-cta{
  border-color:#154943;background:linear-gradient(145deg,#154943,#216861);color:#fff;
  box-shadow:0 20px 44px rgba(21,73,67,.22)
}
body.servihogar-app:not(.is-admin-route) .card.account-professional-cta h2,
body.servihogar-app:not(.is-admin-route) .card.account-professional-cta p{
  color:#fff;-webkit-text-fill-color:#fff
}
body.servihogar-app:not(.is-admin-route) .card.account-professional-cta .eyebrow{
  border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.1);color:#fff;-webkit-text-fill-color:#fff
}
body.servihogar-app:not(.is-admin-route) .card.account-professional-cta :is(a,button,label).button{
  border-color:#fff;background:#fff;color:#074a9e;-webkit-text-fill-color:#074a9e;box-shadow:0 12px 26px rgba(4,38,35,.2)
}
body.servihogar-app:not(.is-admin-route) .card.account-professional-cta :is(a,button,label).button:hover{
  border-color:#eef7f3;background:#eef7f3;color:#053b80;-webkit-text-fill-color:#053b80
}

/* CTAs con botones claros: el color de texto no depende de la regla primaria. */
body.servihogar-app:not(.is-admin-route) .home-work-invite :is(a,button,label).button,
body.servihogar-app:not(.is-admin-route) .home-work-invite :is(a,button,label).button *{
  color:#154943!important;-webkit-text-fill-color:#154943!important
}
body.servihogar-app:not(.is-admin-route) .home-final-cta :is(a,button,label).button:not(.button-secondary),
body.servihogar-app:not(.is-admin-route) .home-final-cta :is(a,button,label).button:not(.button-secondary) *,
body.servihogar-app:not(.is-admin-route) .work-final-cta :is(a,button,label).button,
body.servihogar-app:not(.is-admin-route) .work-final-cta :is(a,button,label).button *{
  color:#7f301e!important;-webkit-text-fill-color:#7f301e!important
}
body.servihogar-app:not(.is-admin-route) .home-final-cta :is(a,button,label).button-secondary,
body.servihogar-app:not(.is-admin-route) .home-final-cta :is(a,button,label).button-secondary *{
  color:#fff!important;-webkit-text-fill-color:#fff!important
}
body.servihogar-app:not(.is-admin-route) .cta-band :is(a,button,label).button-light,
body.servihogar-app:not(.is-admin-route) .cta-band :is(a,button,label).button-light *{
  color:#073b7c!important;-webkit-text-fill-color:#073b7c!important
}

/* Controles y texto auxiliar sobre papel claro también alcanzan AA. */
body.servihogar-app:not(.is-admin-route) .favorite-button{
  color:#60716d;-webkit-text-fill-color:#60716d
}
body.servihogar-app:not(.is-admin-route) .muted,
body.servihogar-app:not(.is-admin-route) .optional{
  color:#60716d;-webkit-text-fill-color:#60716d
}

/* El panel administrador usa la misma semántica sin heredar el botón azul. */
body.servihogar-app.is-admin-route :is(a,button,label).button *{
  color:inherit!important;-webkit-text-fill-color:currentColor!important
}
body.servihogar-app.is-admin-route :is(a,button,label).button.button-secondary{
  border-color:#abc0db;background:#fff;color:#06459e;-webkit-text-fill-color:#06459e;box-shadow:none
}
body.servihogar-app.is-admin-route :is(a,button,label).button.button-ghost{
  border-color:transparent;background:transparent;color:#0758b8;-webkit-text-fill-color:#0758b8;box-shadow:none
}
body.servihogar-app.is-admin-route :is(a,button,label).button.button-danger-ghost{
  border-color:#d7a8b0;background:#fff7f8;color:#9b2835;-webkit-text-fill-color:#9b2835;box-shadow:none
}
body.servihogar-app.is-admin-route :is(a,button,label).button.button-danger-ghost:hover{
  border-color:#bd6976;background:#fbe8eb;color:#7d1f2d;-webkit-text-fill-color:#7d1f2d
}
body.servihogar-app.is-admin-route :is(a,button,label).button.button-danger{
  border-color:#a91f34;background:#a91f34;color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 8px 22px rgba(169,31,52,.2)
}
body.servihogar-app.is-admin-route :is(a,button,label).button.button-danger:hover{
  border-color:#851729;background:#851729;color:#fff;-webkit-text-fill-color:#fff
}

body.servihogar-app :is(a,button,label).button:disabled,
body.servihogar-app :is(a,button,label).button[aria-disabled="true"]{opacity:.68}
