/* Refinamiento cromatico Medisis: conserva superficies claras y aplica la marca en los acentos. */
:root {
  --medisis-cyan: #0FC8D8;
  --medisis-teal: #008D99;
  --medisis-deep: #003C48;
  --whatsapp-green: #25D366;
  --facebook-blue: #1877F2;
  --instagram-pink: #E1306C;
  --youtube-red: #FF0033;
  --urgent-coral: #FF8A5B;
  --medisis-brand-gradient: linear-gradient(135deg, #0FC8D8 0%, #0FC8D8 48%, #008D99 100%);
  --medisis-page-wash: linear-gradient(
    180deg,
    #ffffff 0%,
    rgba(15, 200, 216, 0.025) 32%,
    rgba(15, 200, 216, 0.055) 68%,
    #ffffff 100%
  );
}

/* Un solo lienzo por pagina: las secciones dejan de verse como franjas cortadas. */
body main {
  background: var(--medisis-page-wash) !important;
}

body main > section:not([class*="hero"]):not([class*="banner"]):not([class*="cta"]) {
  background: transparent !important;
  background-color: transparent !important;
  border-top-color: transparent !important;
  border-bottom-color: transparent !important;
  box-shadow: none !important;
}

/* Las cabeceras internas de preparacion forman parte del mismo flujo visual. */
body main > section:not([class*="hero"]) :where(
  [class*="prep-hero"]) {
  background-color: transparent !important;
}

body main > section:not([class*="hero"]) :where([class*="prep-hero"])::before {
  background: none !important;
}

/* Halos de imagen tenues: profundidad sin manchas de color dominantes. */
body :where([class*="halo"]) {
  background: rgba(15, 200, 216, 0.055) !important;
  opacity: 0.72;
}

body .about-gallery__stage::before {
  background: radial-gradient(
    ellipse,
    rgba(15, 200, 216, 0.075),
    rgba(15, 200, 216, 0.025) 46%,
    transparent 72%
  ) !important;
}

body :where(p, li, dd, figcaption) {
  color: #003C48 !important;
}

body :where(h1, h2) {
  color: #003C48 !important;
}

body :where(h3, h4, h5, h6) {
  color: #003C48 !important;
}

body :where( .eyebrow) {
  color: #008D99 !important;
}

body :where(a:not(.btn)) {
  color: #008D99;
}

/* Menu principal blanco en escritorio y movil. */
body :where(.header, .shared-header, .header__inner, .nav, .nav__list) {
  background-color: #ffffff !important;
}

body :where(.header, .shared-header) {
  border-bottom-color: rgba(0, 141, 153, 0.18) !important;
  box-shadow: 0 10px 30px rgba(0, 60, 72, 0.08) !important;
}

body :where(.nav__list > li > a, .nav__toggle) {
  color: #003C48 !important;
}

body :where(.nav__list > li > a:hover, .nav__list > li > a:focus-visible) {
  color: #008D99 !important;
}

body :where(.btn--primary, [class*="btn-primary"], [class*="button--primary"]) {
  background: linear-gradient(135deg, #0FC8D8, #008D99) !important;
  border-color: #0FC8D8 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 24px rgba(0, 60, 72, 0.20) !important;
}

body :where(a[class*="button"], button[class*="button"], [class*="button--primary"]),
body :where(a[class*="btn--primary"], button[class*="btn--primary"]) {
  color: #ffffff !important;
}

/* Boton secundario sobre fondo blanco: excepcion al texto blanco de los botones con degradado. */
body .preparacion-download__button {
  background: #ffffff !important;
  color: #003C48 !important;
}

body .preparacion-download__button:hover,
body .preparacion-download__button:focus-visible {
  color: #008D99 !important;
}

/* Boton claro del llamado a agendar examenes: texto oscuro sobre fondo blanco. */
body .lab-cta .lab-button--light {
  color: #003C48 !important;
  background: #ffffff !important;
}

body .lab-cta .lab-button--light i {
  color: #008D99 !important;
}

body .lab-cta .lab-button--light:hover,
body .lab-cta .lab-button--light:focus-visible {
  color: #003C48 !important;
  background: #eefafa !important;
}

body :where(.btn--primary, [class*="btn-primary"], [class*="button--primary"]):hover {
  background: linear-gradient(135deg, #008D99, #0FC8D8) !important;
  border-color: #008D99 !important;
}

body :where(input, textarea, select):focus-visible,
body :where(a, button):focus-visible {
  outline-color: #0FC8D8 !important;
}

body ::selection {
  background: #008D99;
  color: #ffffff;
}

body :where(.footer, footer) {
  background-color: #003C48 !important;
}

body :where(.footer, footer)
  :where(h1, h2, h3, h4, h5, h6, p, li, a, span, small, strong) {
  color: #ffffff !important;
}

body :where([class*="cta-band"], [class*="cta-section"])
  :where(h1, h2, h3, h4, h5, h6, p, li, a, span, small, strong) {
  color: #003C48 !important;
}

/* Colores distintivos de redes sociales. */
body .whatsapp-float,
body .whatsapp-pulse {
  background: var(--whatsapp-green) !important;
}

body .whatsapp-float {
  color: #ffffff !important;
  box-shadow: 0 4px 20px rgba(37, 211, 102, .38) !important;
}

body .whatsapp-float:hover {
  box-shadow: 0 7px 30px rgba(37, 211, 102, .52) !important;
}


body .fa-facebook-f,
body .bi-facebook {
  color: var(--facebook-blue);
}

body .fa-instagram,
body .bi-instagram {
  color: var(--instagram-pink);
}

body .fa-youtube {
  color: var(--youtube-red);
}

body .shared-footer .socials li:nth-child(1) a {
  background: var(--facebook-blue);
}

body .shared-footer .socials li:nth-child(2) a {
  background: var(--instagram-pink);
}

body .shared-footer .socials li:nth-child(3) a {
  background: var(--youtube-red);
}

body .shared-footer .socials a i {
  color: #ffffff !important;
}

body .social-facebook__header {
  background: linear-gradient(100deg, #2d88ff, var(--facebook-blue)) !important;
}

body .social-facebook__header strong {
  background: #0f5fc7 !important;
}

body .social-facebook__body {
  background: linear-gradient(112deg, #ffffff 0%, #ffffff 45%, #2d88ff 45%, var(--facebook-blue) 100%) !important;
}

body .social-facebook__body::after {
  background: rgba(24, 119, 242, .78) !important;
}

body .social-facebook__brand > p,
body .social-facebook__brand > h3,
body .social-facebook__identity strong,
body .social-facebook__cta {
  color: var(--facebook-blue) !important;
}

body .social-facebook__icon {
  background: linear-gradient(145deg, #0f5fc7, #2d88ff) !important;
}

body .social-facebook__icon i,
body .social-facebook__header i {
  color: #ffffff !important;
}

body .social-facebook__copy p,
body .social-facebook__copy strong {
  color: #ffffff !important;
}

body .social-facebook__cta {
  border-color: var(--facebook-blue) !important;
}

body .social-facebook__cta:hover {
  color: #ffffff !important;
  background: var(--facebook-blue) !important;
}

body .social-instagram h3 i {
  color: var(--instagram-pink) !important;
}

body .social-instagram .social-side-card__content h3,
body .social-instagram .social-side-card__content h3 strong {
  color: var(--instagram-pink) !important;
}

body .social-instagram .social-side-card__content a {
  color: #ffffff !important;
  background: var(--instagram-pink) !important;
}

body .social-youtube h3 i {
  color: var(--youtube-red) !important;
}

body .social-youtube .social-side-card__content h3,
body .social-youtube .social-side-card__content h3 strong {
  color: var(--youtube-red) !important;
}

body .social-youtube .social-side-card__content a {
  color: #ffffff !important;
  background: var(--youtube-red) !important;
}

/* Contactos del banner superior: jerarquia y legibilidad en escritorio. */
body .medisis-searchbar__actions > .medisis-top-contact:first-child
  .medisis-top-contact__content > span {
  color: #ffffff !important;
}

body .medisis-searchbar__actions > .medisis-top-contact:nth-child(2)
  .medisis-top-contact__content > span {
  color: var(--urgent-coral) !important;
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
  font-family: "Inter", Arial, sans-serif !important;
  font-synthesis: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body .medisis-searchbar__actions > .medisis-top-contact:nth-child(2),
body .medisis-searchbar__actions > .medisis-top-contact:nth-child(2)
  .medisis-top-contact__content {
  text-shadow: none !important;
  -webkit-text-stroke: 0 !important;
  filter: none !important;
}

@media (min-width: 900px) {
  body .medisis-top-contact__content > span {
    font-size: 10px;
  }

  body .medisis-top-contact__content strong {
    font-size: 13px;
  }

  body .medisis-top-contact__content small {
    font-size: 9px;
  }
}

@media (max-width: 767.98px) {
  body .social-facebook__copy {
    background: linear-gradient(135deg, #2d88ff, var(--facebook-blue)) !important;
  }
}
