/**
 * base.css — Reset, html/body, global box-sizing.
 * Depends on: variables.css.
 */

*, *::before, *::after { box-sizing: border-box; }

html {
  font-size: 16px;
  -webkit-text-size-adjust: 100%;
  margin: 0;
  padding: 0;
}

body {
  margin: 0;
  padding: 0;
  font-family: var(--font-acumin);
  font-weight: var(--fw-regular);
  font-size: 1rem;
  line-height: 1.5;
  color: var(--color-base-content, var(--color-text));
  background: var(--color-base-100, var(--color-white));
  min-height: var(--slide-height);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

/* Vantive: strong/b use Acumin bold */
strong,
b {
  font-family: var(--font-acumin);
  font-weight: var(--fw-bold);
}

/* Vantive: in-slide links use button font and brand color */
.slide a:not([class]) {
  font-family: var(--font-button);
  font-weight: var(--fw-bold);
  color: var(--color-brand);
}
.slide a:not([class]):hover,
.slide a:not([class]):focus {
  color: var(--color-plum-dark);
}

.body-overflow {
  overflow-y: scroll;
}

.homecoming-container table {
  border-collapse: initial;
}

/* No box-shadow on content images (per design) */
.slide img,
.slide .cover-image,
.slide .widget-image,
.cover-image,
.widget-image {
  box-shadow: none;
}

/* Health Icons: contenedor redondo con borde y color representativo (index, detalle, curso) */
.sec-concept-icon-wrap {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  border-radius: 50%;
  border: 2px solid;
  padding: 0;
  box-sizing: border-box;
}
.sec-concept-icon-wrap img {
  display: block;
}
/* Health icons: tonos oscuros y serios */
.sec-concept-icon-wrap--blood { border-color: #7f1d1d; background: rgba(127, 29, 29, 0.15); }
.sec-concept-icon-wrap--blood img { filter: invert(12%) sepia(95%) saturate(2000%) hue-rotate(350deg) brightness(0.7) contrast(1.15); }
.sec-concept-icon-wrap--blood-bag { border-color: #5c1010; background: rgba(92, 16, 16, 0.18); }
.sec-concept-icon-wrap--blood-bag img { filter: invert(8%) sepia(95%) saturate(2500%) hue-rotate(350deg) brightness(0.6) contrast(1.15); }
.sec-concept-icon-wrap--heartbeat,
.sec-concept-icon-wrap--heart { border-color: #991b1b; background: rgba(153, 27, 27, 0.14); }
.sec-concept-icon-wrap--heartbeat img,
.sec-concept-icon-wrap--heart img { filter: invert(15%) sepia(98%) saturate(1800%) hue-rotate(350deg) brightness(0.75) contrast(1.1); }
.sec-concept-icon-wrap--lungs { border-color: #0e7490; background: rgba(14, 116, 144, 0.16); }
.sec-concept-icon-wrap--lungs img { filter: invert(32%) sepia(55%) saturate(600%) hue-rotate(165deg) brightness(0.75) contrast(1.05); }
.sec-concept-icon-wrap--kidneys { border-color: #9a3412; background: rgba(154, 52, 18, 0.18); }
.sec-concept-icon-wrap--kidneys img { filter: invert(38%) sepia(50%) saturate(500%) hue-rotate(340deg) brightness(0.75) contrast(1.05); }
.sec-concept-icon-wrap--bacteria { border-color: #14532d; background: rgba(20, 83, 45, 0.18); }
.sec-concept-icon-wrap--bacteria img { filter: invert(28%) sepia(60%) saturate(400%) hue-rotate(100deg) brightness(0.75) contrast(1.05); }
.sec-concept-icon-wrap--doctor { border-color: #1e40af; background: rgba(30, 64, 175, 0.16); }
.sec-concept-icon-wrap--doctor img { filter: invert(22%) sepia(85%) saturate(1000%) hue-rotate(215deg) brightness(0.7) contrast(1.1); }
.sec-concept-icon-wrap--sm { width: 28px; height: 28px; min-width: 28px; min-height: 28px; }
.sec-concept-icon-wrap--sm img { width: 18px; height: 18px; }
.sec-concept-icon-wrap--hero { width: 56px; height: 56px; min-width: 56px; min-height: 56px; }
.sec-concept-icon-wrap--hero img { width: 36px; height: 36px; }
@media (min-width: 768px) {
  .sec-concept-icon-wrap--hero { width: 64px; height: 64px; min-width: 64px; min-height: 64px; }
  .sec-concept-icon-wrap--hero img { width: 40px; height: 40px; }
}
