/*
 * TESSIRVE Theme 5.17.221 — pasto cromático compartido
 * Misma ilustración anime del 5.17.220: Tessirve la preserva natural;
 * cualquier equipo hace un reemplazo perceptible del TONO, no un velo translúcido.
 * Modo oscuro modifica luminosidad, sin ocultar el dibujo. Incluye el footer.
 * CSS reactivo al selector actual; no añade JS, peticiones ni observadores.
 */
html {
  --tsv221-field-tint-a: transparent;
  --tsv221-field-tint-b: transparent;
  --tsv221-field-tint-blend: normal;
  --tsv221-field-light: rgba(4,17,10,.09);
  --tsv221-field-deep: rgba(3,14,8,.20);
  --tsv221-field-render: brightness(.91) saturate(1.02) contrast(1.04);
  --tsv221-footer-top: rgba(4,19,12,.35);
  --tsv221-footer-bottom: rgba(2,12,9,.76);
}
html[data-tessirve-theme]:not([data-tessirve-theme="neutral"]) {
  --tsv221-field-tint-a: color-mix(in srgb,var(--theme-primary,#16884a) 96%,#25313e 4%);
  --tsv221-field-tint-b: color-mix(in srgb,var(--theme-secondary,#0a5b35) 92%,#25313e 8%);
  --tsv221-field-tint-blend: color;
  --tsv221-field-render: brightness(.92) saturate(1.07) contrast(1.04);
}
html[data-tessirve-color-mode="dark"] {
  --tsv221-field-light: rgba(3,8,13,.24);
  --tsv221-field-deep: rgba(2,6,12,.37);
  --tsv221-field-render: brightness(.71) saturate(.99) contrast(1.09);
  --tsv221-footer-top: rgba(2,7,12,.55);
  --tsv221-footer-bottom: rgba(1,5,10,.84);
}
html[data-tessirve-color-mode="dark"][data-tessirve-theme]:not([data-tessirve-theme="neutral"]) {
  --tsv221-field-render: brightness(.73) saturate(1.06) contrast(1.09);
}
/* Ambos usan EXACTAMENTE el mismo orden: sombreado, tinte y campo original. */
html body.tessirve-theme .ms-site-header::before {
  background-image:
    linear-gradient(180deg,var(--tsv221-field-light),var(--tsv221-field-deep)),
    linear-gradient(110deg,var(--tsv221-field-tint-a),var(--tsv221-field-tint-b)),
    url('tessirve-anime-grass.webp')!important;
  background-blend-mode:normal,var(--tsv221-field-tint-blend),normal!important;
  background-repeat:no-repeat!important;
  background-size:cover,cover,cover!important;
  background-position:center 43%,center 43%,center 43%!important;
  filter:var(--tsv221-field-render)!important;
}
/* El footer incluye la barra de controles y la nota legal, sin tapar sus textos. */
html body.tessirve-theme .ms-site-footer {
  background-color:#102a20!important;
  background-image:
    linear-gradient(180deg,var(--tsv221-footer-top),var(--tsv221-footer-bottom)),
    linear-gradient(110deg,var(--tsv221-field-tint-a),var(--tsv221-field-tint-b)),
    url('tessirve-anime-grass.webp')!important;
  background-blend-mode:normal,var(--tsv221-field-tint-blend),normal!important;
  background-position:center center,center center,center 53%!important;
  background-size:cover,cover,cover!important;
  background-repeat:no-repeat!important;
  color:#fff!important;
}
html body.tessirve-theme .ms-site-footer .ms-theme-footer-strip {
  background:rgba(5,16,12,.29)!important;
  border-bottom:1px solid rgba(255,255,255,.19)!important;
}
html[data-tessirve-color-mode="dark"] body.tessirve-theme .ms-site-footer .ms-theme-footer-strip {
  background:rgba(1,7,11,.40)!important;
}
html body.tessirve-theme .ms-site-footer .ms-footer-note {
  color:rgba(255,255,255,.84)!important;
  text-shadow:0 1px 2px rgba(0,0,0,.48);
}

@media(max-width:782px) {
  html {
    --tsv221-canvas-h:var(--tsv220-field-canvas-height,max(1040px,128dvh));
    --tsv221-header-h:var(--ms-header-mobile-height,58px);
  }
  /* Dos ventanas de la MISMA imagen vertical, sin salto de color en el borde. */
  html body.tessirve-theme .ms-site-header::before,
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open::before {
    background-image:
      linear-gradient(180deg,var(--tsv221-field-light),var(--tsv221-field-deep)),
      linear-gradient(110deg,var(--tsv221-field-tint-a),var(--tsv221-field-tint-b)),
      url('tessirve-anime-grass-mobile-217.webp')!important;
    background-blend-mode:normal,var(--tsv221-field-tint-blend),normal!important;
    background-size:100% var(--tsv221-canvas-h),100% var(--tsv221-canvas-h),100% var(--tsv221-canvas-h)!important;
    background-repeat:no-repeat!important;
    filter:var(--tsv221-field-render)!important;
  }
  html body.tessirve-theme .ms-site-header::before {
    background-position:center top,center top,center top!important;
  }
  html body.tessirve-theme .ms-site-header .ms-site-header-inner > .ms-primary-nav.is-open::before {
    background-position:
      center calc(-1 * var(--tsv221-header-h)),
      center calc(-1 * var(--tsv221-header-h)),
      center calc(-1 * var(--tsv221-header-h))!important;
  }
  /* Las tarjetas conservan las transparencias claras/oscuras del 5.17.220. */
  html body.tessirve-theme .ms-site-footer {
    background-position:center center,center center,center 50%!important;
  }
}
