/**
 * Tema claro — segundo baseline del sistema TMM (no “modo nocturno”).
 * Activo con <html data-theme="light"> (ver siteTheme-init.js).
 *
 * Paleta neutra inspirada en apple.com:
 *   canvas #FBFBFD · surface #FFFFFF · text #1D1D1F · muted #6E6E73
 * Validada para WCAG AA en cuerpo, AAA en titulares.
 *
 * Solo remapeamos --tm-role-* (y sombras). Primitivos --tm-gold y marcas
 * de programa se conservan para mantener identidad cromática.
 */
html[data-theme="light"] {
  color-scheme: light;
  font-family: var(--tm-font-sans);

  /* Superficies — escala neutra más clara (marketing index / EMUSINI / cápsulas) */
  --tm-role-canvas:            #ffffff;
  --tm-role-surface:           #ffffff;
  --tm-role-surface-elevated:  #fafafc;
  --tm-role-section-alt:       #f8f8fc;

  /* Tinta — texto principal casi negro (#1D1D1F evita vibración óptica) */
  --tm-role-text-primary:   #1d1d1f;
  --tm-role-text-secondary: #424245;
  --tm-role-text-muted:     #6e6e73;
  --tm-role-text-disabled:  #a1a1a6;

  /* Bordes */
  --tm-role-border-subtle: rgba(15, 23, 42, 0.10);
  --tm-role-border-strong: rgba(15, 23, 42, 0.18);

  /* Acento institucional: oro reservado a CTA / branding */
  --tm-role-accent-dim: rgba(212, 175, 55, 0.18);
  --tm-role-accent-ink: #0a0a0a;

  --tm-role-vignette-body: none;

  --tm-role-ink-canvas-mix:      #fafafc;
  --tm-role-surface-glass:        rgba(255, 255, 255, 0.94);
  --tm-role-surface-glass-hover:  #f5f5f7;
  --tm-role-surface-landing-card: rgba(255, 255, 255, 0.92);
  --tm-role-overlay-on-canvas-12: rgba(15, 23, 42, 0.08);
  --tm-role-border-on-dark-10:    rgba(15, 23, 42, 0.08);
  --tm-role-border-on-dark-12:    rgba(15, 23, 42, 0.12);

  --tm-vignette-index-radial-end: transparent;
  --tm-vignette-index-top:        rgb(255 255 255 / 0.28);
  --tm-vignette-index-fade:       rgb(255 255 255 / 0);
  --tm-vignette-index-bottom:     rgb(255 255 255 / 0.22);

  /* Estados (refinados para WCAG AA sobre canvas claro) */
  --tm-role-success: #067647;
  --tm-role-error:   #b42318;

  /* Sombras suaves Apple-style (alineadas con 01c-tokens-space.css) */
  --tm-shadow-ambient-50: rgba(15, 23, 42, 0.12);
  --tm-shadow-ambient-45: rgba(15, 23, 42, 0.14);
  --tm-shadow-ambient-40: rgba(15, 23, 42, 0.10);
  --tm-shadow-ambient-30: rgba(15, 23, 42, 0.08);
  --tm-shadow-accent-glow: rgba(212, 175, 55, 0.32);

  --tm-elev-1: 0 1px 2px rgba(15, 23, 42, 0.04), 0 1px 1px rgba(15, 23, 42, 0.04);
  --tm-elev-2: 0 4px 12px rgba(15, 23, 42, 0.06), 0 2px 4px rgba(15, 23, 42, 0.04);
  --tm-elev-3: 0 12px 28px rgba(15, 23, 42, 0.08), 0 4px 10px rgba(15, 23, 42, 0.04);
  --tm-elev-4: 0 24px 56px rgba(15, 23, 42, 0.12), 0 8px 16px rgba(15, 23, 42, 0.06);

  /* Hero: velo suave arriba (nav legible) sin lavar la foto detrás */
  --gradient-hero-overlay: linear-gradient(
    180deg,
    color-mix(in srgb, var(--tm-role-canvas) 22%, transparent) 0%,
    color-mix(in srgb, var(--tm-role-canvas) 8%, transparent) 32%,
    color-mix(in srgb, var(--tm-role-canvas) 10%, transparent) 52%,
    color-mix(in srgb, var(--tm-role-canvas) 32%, transparent) 100%
  );
}

/* Index, EMUSINI (/inteligencia-musical) y cápsulas — base más clara, viñeta muy suave */
html[data-theme="light"] body.index-home,
html[data-theme="light"] body.emusini-page,
html[data-theme="light"] body.tm-marketing-page {
  background-color: #ffffff;
  background-image: var(--gradient-body-vignette-index-home);
}

/* Cabecera index — barra sólida; logo sin cápsula doble sobre foto nublada */
html[data-theme="light"] .heroNavShell {
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html[data-theme="light"] .heroNav {
  background: var(--tm-role-surface);
  border: 1px solid var(--tm-role-border-subtle);
  box-shadow: var(--tm-elev-1);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

html[data-theme="light"] .heroNav .brandLogo {
  background: transparent;
  box-shadow: none;
  padding: 0;
  border-radius: 0;
}

html[data-theme="light"] .heroNav .brandLogo img {
  filter: contrast(1.04);
}

html[data-theme="light"] .mobileNav {
  background: var(--tm-role-surface);
  border-bottom-color: var(--tm-role-border-subtle);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"] .mobileNavLogo img {
  background: transparent;
  /* Misma huella que modo oscuro (index.css); sin quitar padding → logo no “crece” */
  padding: 4px 6px;
  border-radius: 8px;
  box-shadow: none;
  height: 36px;
  max-height: 36px;
}

html[data-theme="light"] .heroNav .navLinks a {
  color: var(--tm-role-text-primary);
}

html[data-theme="light"] .heroNav .navLinks a:hover {
  color: var(--tm-role-accent);
}

/* Cabecera fija al scroll: sin blur en toggle (evita halos en iPad) */
html[data-theme="light"] body.index-home.index-nav-scroll-docked .heroNav {
  background: var(--tm-role-surface);
  border-color: var(--tm-role-border-subtle);
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"] body.index-home.index-nav-scroll-docked .tm-theme-toggle {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  background: color-mix(in srgb, var(--tm-role-surface-elevated, #f1f5f9) 92%, transparent);
}

html[data-theme="light"] .heroMedia {
  filter: saturate(1.08) contrast(1.02);
}

/* Hero index: foto oscura → titular y subtítulos en blanco (tema claro del sitio) */
html[data-theme="light"] .heroContent h1,
html[data-theme="light"] .heroTagline {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.38);
}

html[data-theme="light"] .heroSub {
  color: rgba(248, 250, 252, 0.94);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
}

html[data-theme="light"] .mobileNav {
  background: var(--tm-role-surface);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"] .mobileNav a {
  color: var(--tm-role-text-primary);
}

html[data-theme="light"] .mobileNav .tm-theme-toggle {
  background: rgba(255, 255, 255, 0.92);
  border-color: rgba(15, 23, 42, 0.14);
  color: var(--tm-role-text-primary, #0f172a);
}

html[data-theme="light"] .mobileNav .tm-theme-toggle:hover {
  background: #ffffff;
}

/* Pie de página (index, cápsulas, EMUSINI, términos, privacidad) — #fff, no gris alt */
html[data-theme="light"] footer#contacto,
html[data-theme="light"] .emusini-noscript-footer {
  background: #ffffff;
}

/* Componentes PR-3 — refuerzos en claro */
html[data-theme="light"] .section.alt,
html[data-theme="light"] .section--alt {
  background: color-mix(in srgb, var(--tm-role-section-alt) 38%, var(--tm-role-canvas));
}

html[data-theme="light"] .benefit,
html[data-theme="light"] .capsCard,
html[data-theme="light"] .card {
  border-color: var(--tm-role-border-strong);
}

/* Soundboard — tarjetas de instrumentos */
html[data-theme="light"] #descubre .sbCard {
  background: var(--tm-role-surface);
  border-color: var(--tm-role-border-strong);
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"] #descubre .sbArrow {
  background: var(--tm-role-surface);
  border-color: var(--tm-role-border-strong);
  color: var(--tm-role-text-primary);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"] #descubre .sbArrow:hover {
  background: var(--tm-role-text-primary);
  border-color: var(--tm-role-text-primary);
  color: var(--tm-role-surface);
  box-shadow: var(--tm-elev-2);
}

html[data-theme="light"] #descubre .sbArrow:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

html[data-theme="light"] #descubre .sbCard:hover {
  background: var(--tm-role-surface-elevated);
  border-color: var(--tm-role-border-strong);
  box-shadow: var(--tm-elev-3);
}

html[data-theme="light"] #descubre .sbCard:hover img {
  filter: drop-shadow(0 6px 18px rgba(15, 23, 42, 0.12));
}

html[data-theme="light"] #descubre .sbCard:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 4px;
  border-color: var(--accent);
}

html[data-theme="light"] #descubre .sbTitle {
  color: var(--tm-role-text-primary);
}

html[data-theme="light"] #descubre .sbDesc {
  color: var(--tm-role-text-secondary);
}

html[data-theme="light"] #descubre .sbTag {
  background: rgba(212, 175, 55, 0.14);
  border-color: rgba(212, 175, 55, 0.45);
  color: #8a6914;
}

/* Facultad — bicolor: oro institucional (rol/enlaces) + pizarra (chips) */
html[data-theme="light"] #facultad .facultyRole,
html[data-theme="light"] #facultad .facultyRole.ceo,
html[data-theme="light"] .facultyModal__role {
  color: #8a6914;
}

html[data-theme="light"] #facultad .facultyChips li,
html[data-theme="light"] .facultyModal .facultyChips li {
  border-color: var(--tm-role-border-strong);
  background: var(--tm-role-surface-elevated);
  color: var(--tm-role-text-secondary);
}

html[data-theme="light"] #facultad .facultyReadMore {
  color: var(--accent);
}

html[data-theme="light"] #facultad .facultyReadMore:focus-visible {
  outline-color: var(--accent);
}

html[data-theme="light"] #facultad .facultyDesc--lead strong,
html[data-theme="light"] #facultad .facultyScrollHint span {
  color: var(--accent);
}

html[data-theme="light"] #facultad .facultyTeamScroll:focus-visible {
  outline-color: var(--tm-role-border-strong);
}

/* Ruta de aprendizaje — superficie clara; colores de marca en 04-program-accents */
html[data-theme="light"] #comparacion .progPathCard {
  background: var(--tm-role-surface);
  border-color: var(--tm-role-border-strong);
  border-left-color: var(--path-primary, var(--accent));
  border-top-color: color-mix(in srgb, var(--path-primary, var(--accent)) 52%, transparent);
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"] #comparacion .progPathSubtitle {
  color: var(--tm-role-text-primary);
}

html[data-theme="light"] #comparacion .progPathDl dd {
  color: var(--tm-role-text-muted);
}

html[data-theme="light"] #comparacion .progPathScrollHint span {
  color: var(--accent);
}

html[data-theme="light"] #comparacion .progPathGrid:focus-visible {
  outline-color: var(--tm-role-border-strong);
}

/* Ingreso simple y transparente — foto visible, velo nublado suave (equilibrado) */
html[data-theme="light"] #como-funciona .how {
  background: color-mix(in srgb, var(--tm-role-section-alt) 18%, transparent);
  border-color: color-mix(in srgb, var(--tm-role-border-strong) 60%, transparent);
  box-shadow: var(--tm-elev-2);
  isolation: isolate;
}

html[data-theme="light"] #como-funciona .how::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: color-mix(in srgb, var(--tm-role-surface) 34%, transparent);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

html[data-theme="light"] #como-funciona .howBg {
  opacity: 1;
  filter: saturate(1.04) contrast(1.01);
}

html[data-theme="light"] #como-funciona .howBg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--tm-role-canvas) 22%, transparent) 0%,
    color-mix(in srgb, var(--tm-role-canvas) 6%, transparent) 45%,
    color-mix(in srgb, var(--tm-role-canvas) 12%, transparent) 100%
  );
  pointer-events: none;
}

html[data-theme="light"] #como-funciona .howInner {
  z-index: 2;
}

html[data-theme="light"] #como-funciona .howTitle p {
  color: var(--tm-role-text-secondary);
}

html[data-theme="light"] #como-funciona .step {
  background: color-mix(in srgb, var(--tm-role-surface) 82%, transparent);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  border-color: var(--tm-role-border-strong);
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"] #como-funciona .step p {
  color: var(--tm-role-text-muted);
}

html[data-theme="light"] .emusini-top-bar {
  background: color-mix(in srgb, var(--tm-role-surface) 92%, transparent);
  border-bottom-color: var(--tm-role-border-strong);
}

html[data-theme="light"] .emusini-antidote,
html[data-theme="light"] .emusini-antidote--callout {
  background: color-mix(in srgb, var(--tm-role-surface) 88%, var(--tm-role-canvas));
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"] .emusini-prog-card {
  background: var(--tm-role-surface);
  border-color: var(--tm-role-border-subtle);
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"] .emusini-ecosystem {
  background: transparent;
}

/* --- Landings inscripción --- */

html[data-theme="light"].tm-html.tm-prog-talentos {
  --bg:           var(--tm-role-canvas);
  --ink:          var(--tm-role-text-primary);
  --muted:        var(--tm-role-text-muted);
  --border:       var(--tm-role-border-strong);
  --card-bg:      var(--tm-role-surface-landing-card);
  --input-bg:     rgba(15, 23, 42, 0.05);
  --input-border: var(--tm-role-border-subtle);
  --shadow:       var(--tm-elev-3);
  --shadow-soft:  var(--tm-elev-1);
}

html[data-theme="light"].tm-html.tm-prog-talentos body {
  background:
    radial-gradient(at 10% 0%, rgba(139, 92, 246, 0.1) 0px, transparent 50%),
    radial-gradient(at 90% 8%, rgba(94, 234, 212, 0.08) 0px, transparent 45%),
    var(--tm-role-canvas);
}

html[data-theme="light"].tm-html.tm-prog-talentos .card {
  color: var(--ink);
  border-color: rgba(139, 92, 246, 0.22);
}

html[data-theme="light"].tm-html.tm-prog-talentos select,
html[data-theme="light"].tm-html.tm-prog-talentos select option {
  background: #fff;
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-esquema-pago__legend,
html[data-theme="light"].tm-html.tm-prog-talentos .tm-esquema-pago__opcion .label-text,
html[data-theme="light"].tm-html.tm-prog-talentos .tm-esquema-pago__opcion .label-text strong {
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-esquema-pago__footer .helper-text {
  color: var(--tm-role-text-muted);
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta {
  background: rgba(139, 92, 246, 0.05);
  border-color: rgba(139, 92, 246, 0.18);
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta .k {
  color: #6d28d9;
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta:nth-child(1) .k {
  color: #5b21b6;
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta:nth-child(2) .k {
  color: #0f766e;
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta:nth-child(3) .k {
  color: #7c3aed;
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta:nth-child(4) .k {
  color: #115e59;
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta .v {
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta .v #tal-precio-mensual-desde {
  color: #0f766e;
}

html[data-theme="light"].tm-html.tm-prog-talentos .card .meta .v .tm-meta-mensual-nota {
  color: var(--tm-role-text-muted);
}

html[data-theme="light"].tm-html.tm-prog-talentos .title {
  background: linear-gradient(118deg, #1e1b4b 0%, #6d28d9 45%, #0f766e 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

html[data-theme="light"].tm-html.tm-prog-talentos .subtitle {
  color: var(--tm-role-text-muted);
}

html[data-theme="light"].tm-html.tm-prog-talentos .subtitle strong {
  color: #6d28d9;
}

html[data-theme="light"].tm-html.tm-prog-talentos .btnPrimary {
  background: linear-gradient(135deg, #8b5cf6 0%, #6d28d9 50%, #0f766e 100%);
  color: #fff;
  box-shadow: 0 8px 20px rgba(109, 40, 217, 0.18);
}

html[data-theme="light"].tm-html.tm-prog-talentos .btnSecondary {
  background: rgba(139, 92, 246, 0.08);
  border: 1px solid rgba(139, 92, 246, 0.32);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-talentos .btnSecondary:hover {
  background: rgba(139, 92, 246, 0.14);
  border-color: #6d28d9;
}

html[data-theme="light"].tm-html.tm-prog-talentos button.tm-link-precios {
  color: #5b21b6;
  background: linear-gradient(135deg, rgba(139, 92, 246, 0.16), rgba(94, 234, 212, 0.08));
  border-color: rgba(109, 40, 217, 0.28);
}

html[data-theme="light"].tm-html.tm-prog-talentos button.tm-link-precios:hover {
  color: #fff;
  background: linear-gradient(135deg, #6d28d9, #0f766e);
}

html[data-theme="light"].tm-html.tm-prog-talentos .progressBar {
  background: linear-gradient(90deg, #6d28d9, #0f766e);
}

html[data-theme="light"].tm-html.tm-prog-talentos .progressTrack {
  background: rgba(15, 23, 42, 0.08);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-landing-gallery .ph {
  background: #fff;
  border-color: rgba(139, 92, 246, 0.22);
  box-shadow:
    0 1px 0 rgba(139, 92, 246, 0.12),
    0 12px 28px rgba(15, 23, 42, 0.06);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-landing-gallery .ph:hover {
  border-color: rgba(109, 40, 217, 0.32);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-landing-gallery .ph .cap {
  color: var(--tm-role-text-primary);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, #8b5cf6 12%, #f5f3ff) 0%,
    #fff 100%
  );
  border-top: 1px solid rgba(139, 92, 246, 0.18);
  font-weight: 600;
}

html[data-theme="light"].tm-html.tm-prog-talentos .card label,
html[data-theme="light"].tm-html.tm-prog-talentos .label-text,
html[data-theme="light"].tm-html.tm-prog-talentos .nd-card label {
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-talentos .helper-text,
html[data-theme="light"].tm-html.tm-prog-talentos .tal-nd-lead {
  color: var(--tm-role-text-muted);
}

html[data-theme="light"].tm-html.tm-prog-talentos .nd-card {
  background: rgba(139, 92, 246, 0.04);
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-talentos .nd-card:hover {
  background: rgba(139, 92, 246, 0.08);
}

html[data-theme="light"].tm-html.tm-prog-talentos .nd-card:has(input:checked) {
  border-color: rgba(109, 40, 217, 0.45);
  background: rgba(139, 92, 246, 0.1);
}

html[data-theme="light"].tm-html.tm-prog-talentos .checkRow {
  background: rgba(139, 92, 246, 0.04);
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-talentos .checkRow:has(input:checked) {
  border-color: rgba(109, 40, 217, 0.4);
  background: rgba(139, 92, 246, 0.08);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-esquema-pago__opcion {
  background: rgba(139, 92, 246, 0.04);
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-esquema-pago__opcion:has(input:checked) {
  border-color: rgba(109, 40, 217, 0.4);
  background: rgba(139, 92, 246, 0.1);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-esquema-pago__opcion input[type="radio"] {
  accent-color: #6d28d9;
}

html[data-theme="light"].tm-html.tm-prog-talentos #termsLink {
  color: #6d28d9;
}

html[data-theme="light"].tm-html.tm-prog-talentos #termsLink:hover {
  color: #0f766e;
}

html[data-theme="light"].tm-html.tm-prog-talentos .tal-nd-block {
  border-top-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-talentos .tm-conocer-panel {
  border-color: rgba(139, 92, 246, 0.32);
}

html[data-theme="light"].tm-html.tm-prog-talentos input:focus,
html[data-theme="light"].tm-html.tm-prog-talentos select:focus,
html[data-theme="light"].tm-html.tm-prog-talentos textarea:focus {
  border-color: #6d28d9;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(139, 92, 246, 0.18);
}

html[data-theme="light"].tm-html.tm-prog-encanto {
  --bg:           #faf7f2;
  --ink:          #1c1410;
  --muted:        #5c4f46;
  --border:       rgba(200, 129, 34, 0.22);
  --card-bg:      #ffffff;
  --input-bg:     rgba(28, 20, 16, 0.05);
  --input-border: rgba(200, 129, 34, 0.28);
  --shadow:       0 20px 25px -5px rgba(28, 20, 16, 0.08),
                  0 10px 10px -5px rgba(200, 129, 34, 0.10);
  --shadow-soft:  0 4px 6px -1px rgba(28, 20, 16, 0.06);
}

html[data-theme="light"].tm-html.tm-prog-encanto body {
  background:
    radial-gradient(at 8% 0%, rgba(212, 168, 92, 0.14) 0px, transparent 48%),
    radial-gradient(at 92% 8%, rgba(196, 30, 58, 0.06) 0px, transparent 42%),
    var(--bg);
}

html[data-theme="light"].tm-html.tm-prog-encanto .card {
  color: var(--ink);
  border-color: rgba(212, 168, 92, 0.22);
}

html[data-theme="light"].tm-html.tm-prog-encanto select,
html[data-theme="light"].tm-html.tm-prog-encanto select option {
  background: #fff;
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-esquema-pago__legend,
html[data-theme="light"].tm-html.tm-prog-encanto .tm-esquema-pago__opcion .label-text,
html[data-theme="light"].tm-html.tm-prog-encanto .tm-esquema-pago__opcion .label-text strong {
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-esquema-pago__footer .helper-text {
  color: var(--muted);
}

html[data-theme="light"].tm-html.tm-prog-encanto .card label,
html[data-theme="light"].tm-html.tm-prog-encanto .label-text,
html[data-theme="light"].tm-html.tm-prog-encanto .ndGrid .checkRow label {
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-encanto .helper-text {
  color: var(--muted);
}

html[data-theme="light"].tm-html.tm-prog-encanto .checkRow {
  background: rgba(212, 168, 92, 0.06);
  border-color: rgba(212, 168, 92, 0.22);
}

html[data-theme="light"].tm-html.tm-prog-encanto .checkRow:has(input:checked) {
  border-color: rgba(180, 83, 9, 0.45);
  background: rgba(212, 168, 92, 0.12);
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-esquema-pago__opcion {
  background: rgba(212, 168, 92, 0.06);
  border-color: rgba(212, 168, 92, 0.22);
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-esquema-pago__opcion:has(input:checked) {
  border-color: rgba(180, 83, 9, 0.45);
  background: rgba(212, 168, 92, 0.12);
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-esquema-pago__opcion input[type="radio"] {
  accent-color: #b45309;
}

html[data-theme="light"].tm-html.tm-prog-encanto #termsLink {
  color: #9a3412;
}

html[data-theme="light"].tm-html.tm-prog-encanto #termsLink:hover {
  color: #be123c;
}

html[data-theme="light"].tm-html.tm-prog-misamores .card {
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-esquema-pago__legend,
html[data-theme="light"].tm-html.tm-prog-misamores .tm-esquema-pago__opcion .label-text,
html[data-theme="light"].tm-html.tm-prog-misamores .tm-esquema-pago__opcion .label-text strong {
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-esquema-pago__footer .helper-text {
  color: var(--muted);
}

html[data-theme="light"].tm-html.tm-prog-misamores .ndGrid .checkRow label,
html[data-theme="light"].tm-html.tm-prog-misamores .label-text {
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-esquema-pago__opcion {
  background: rgba(221, 150, 175, 0.08);
  border-color: rgba(221, 150, 175, 0.28);
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-esquema-pago__opcion:has(input:checked) {
  border-color: rgba(54, 201, 203, 0.55);
  background: rgba(221, 150, 175, 0.14);
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-esquema-pago__opcion input[type="radio"] {
  accent-color: var(--dipav-purple);
}

html[data-theme="light"].tm-html.tm-prog-misamores body {
  background:
    radial-gradient(at 8% 0%, rgba(221, 150, 175, 0.14) 0px, transparent 48%),
    radial-gradient(at 92% 8%, rgba(54, 201, 203, 0.12) 0px, transparent 42%),
    var(--bg);
}

html[data-theme="light"].tm-html.tm-prog-misamores .title {
  background: linear-gradient(118deg, #2a4549 0%, #c97a94 42%, #36c9cb 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

html[data-theme="light"].tm-html.tm-prog-misamores .subtitle {
  color: var(--muted);
}

html[data-theme="light"].tm-html.tm-prog-misamores .subtitle strong {
  color: #b85c7a;
}

html[data-theme="light"].tm-html.tm-prog-misamores main.grid > .card .meta {
  background: color-mix(in srgb, #fff 88%, rgba(221, 150, 175, 0.14));
  border-color: rgba(221, 150, 175, 0.22);
}

html[data-theme="light"].tm-html.tm-prog-misamores .card .meta .k {
  color: #7a5a68;
}

html[data-theme="light"].tm-html.tm-prog-misamores .card .meta .v {
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-misamores .btnPrimary {
  background: linear-gradient(135deg, var(--dipav-purple), var(--dipav-blue));
  box-shadow: 0 8px 20px rgba(221, 150, 175, 0.22);
}

html[data-theme="light"].tm-html.tm-prog-misamores .btnSecondary {
  background: rgba(221, 150, 175, 0.1);
  border-color: rgba(221, 150, 175, 0.32);
  color: var(--ink);
}

html[data-theme="light"].tm-html.tm-prog-misamores .btnSecondary:hover {
  background: rgba(54, 201, 203, 0.12);
  border-color: var(--dipav-blue);
  color: var(--dipav-blue);
}

html[data-theme="light"].tm-html.tm-prog-misamores button.tm-link-precios {
  color: #2a7a7c;
}

html[data-theme="light"].tm-html.tm-prog-misamores button.tm-link-precios:hover {
  color: #fff;
  background: linear-gradient(135deg, var(--dipav-purple), var(--dipav-blue));
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-landing-gallery .ph {
  background: #fff;
  border-color: rgba(221, 150, 175, 0.24);
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-landing-gallery .ph .cap {
  color: var(--ink);
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--tm-brand-mis-amores) 14%, #fff) 0%,
    #fff 100%
  );
  border-top-color: rgba(221, 150, 175, 0.32);
}

html[data-theme="light"].tm-html.tm-prog-misamores .checkRow {
  background: #fff;
  border-color: rgba(221, 150, 175, 0.24);
}

html[data-theme="light"].tm-html.tm-prog-misamores .checkRow:has(input:checked) {
  border-color: rgba(54, 201, 203, 0.5);
  background: rgba(221, 150, 175, 0.1);
}

html[data-theme="light"].tm-html.tm-prog-misamores .tm-conocer-panel {
  border-color: rgba(221, 150, 175, 0.38);
}

html[data-theme="light"].tm-html.tm-prog-misamores #termsLink {
  color: var(--dipav-blue);
}

html[data-theme="light"].tm-html.tm-prog-misamores #termsLink:hover {
  color: var(--dipav-purple);
}

html[data-theme="light"].tm-html.tm-prog-misamores input:focus,
html[data-theme="light"].tm-html.tm-prog-misamores select:focus,
html[data-theme="light"].tm-html.tm-prog-misamores textarea:focus {
  border-color: var(--dipav-purple);
  box-shadow: 0 0 0 4px rgba(221, 150, 175, 0.2);
}

html[data-theme="light"].tm-html.tm-prog-encanto .card .meta {
  background: rgba(212, 168, 92, 0.06);
  border-color: rgba(212, 168, 92, 0.18);
}

html[data-theme="light"].tm-html.tm-prog-encanto .card .meta .k {
  color: #9a3412;
}

html[data-theme="light"].tm-html.tm-prog-encanto .card .meta:nth-child(1) .k {
  color: #7c2d12;
}

html[data-theme="light"].tm-html.tm-prog-encanto .card .meta:nth-child(2) .k {
  color: #b45309;
}

html[data-theme="light"].tm-html.tm-prog-encanto .card .meta:nth-child(3) .k {
  color: #9f1239;
}

html[data-theme="light"].tm-html.tm-prog-encanto .card .meta:nth-child(4) .k {
  color: #a16207;
}

html[data-theme="light"].tm-html.tm-prog-encanto .card .meta .v .tm-meta-mensual-nota {
  color: #78716c;
}

html[data-theme="light"].tm-html.tm-prog-encanto .title {
  background: linear-gradient(118deg, #1c1410 0%, #9a3412 42%, #b45309 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

html[data-theme="light"].tm-html.tm-prog-encanto .subtitle {
  color: #78716c;
}

html[data-theme="light"].tm-html.tm-prog-encanto .subtitle strong {
  color: #9a3412;
}

html[data-theme="light"].tm-html.tm-prog-encanto .btnPrimary {
  background: linear-gradient(135deg, #d4a054 0%, #b45309 42%, #be123c 100%);
  box-shadow: 0 8px 20px rgba(154, 52, 18, 0.16);
}

html[data-theme="light"].tm-html.tm-prog-encanto .btnSecondary {
  background: rgba(212, 168, 92, 0.08);
  border-color: rgba(212, 168, 92, 0.35);
  color: #1c1410;
}

html[data-theme="light"].tm-html.tm-prog-encanto .btnSecondary:hover {
  background: rgba(212, 168, 92, 0.16);
  border-color: #b45309;
  color: #1c1410;
}

html[data-theme="light"].tm-html.tm-prog-encanto button.tm-link-precios {
  color: #7c2d12;
  background: linear-gradient(135deg, rgba(212, 168, 92, 0.2), rgba(196, 30, 58, 0.06));
  border-color: rgba(180, 83, 9, 0.28);
}

html[data-theme="light"].tm-html.tm-prog-encanto button.tm-link-precios:hover {
  color: #fff;
  background: linear-gradient(135deg, #b45309, #be123c);
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-landing-gallery .ph {
  background: #f5f0ea;
  border-color: rgba(212, 168, 92, 0.22);
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-landing-gallery .ph .cap {
  color: #1c1410;
  background: linear-gradient(180deg, transparent, rgba(212, 168, 92, 0.28));
}

html[data-theme="light"].tm-html.tm-prog-encanto .tm-conocer-panel {
  border-color: rgba(212, 168, 92, 0.35);
}

html[data-theme="light"].tm-html.tm-prog-encanto input:focus,
html[data-theme="light"].tm-html.tm-prog-encanto select:focus,
html[data-theme="light"].tm-html.tm-prog-encanto textarea:focus {
  border-color: #b45309;
  background: #fff;
  box-shadow: 0 0 0 4px rgba(212, 168, 92, 0.22);
}

/* Sala DIPAV (inscripción): tokens + contenedores que seguían “modo oscuro” */
html[data-theme="light"].tm-html.tm-prog-dipav {
  color-scheme: light;
  --bg-deep:              var(--tm-role-canvas);
  --bg-surface:           var(--tm-role-surface);
  --bg-surface-elevated:  var(--tm-role-surface-elevated);
  --text-pearl:           var(--tm-role-text-primary);
  --text-muted:           var(--tm-role-text-muted);
  --text-secondary-dark:  var(--tm-role-text-secondary);
  --border-color:         var(--tm-role-border-subtle);
  --shadow-glass:         var(--tm-elev-2);
  --mut:                  var(--tm-role-text-muted);
}

html[data-theme="light"].tm-html.tm-prog-dipav body {
  background-color: var(--bg-deep);
  color: var(--text-pearl);
}

html[data-theme="light"].tm-html.tm-prog-dipav .adn-card,
html[data-theme="light"].tm-html.tm-prog-dipav .authority-section,
html[data-theme="light"].tm-html.tm-prog-dipav .director-block,
html[data-theme="light"].tm-html.tm-prog-dipav .experiencia-dipav-media,
html[data-theme="light"].tm-html.tm-prog-dipav .price-container-step1,
html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card,
html[data-theme="light"].tm-html.tm-prog-dipav .checkbox-group {
  border-color: var(--tm-role-border-subtle);
  box-shadow: var(--tm-elev-1);
}

html[data-theme="light"].tm-html.tm-prog-dipav .adn-card:hover {
  box-shadow: var(--tm-elev-2);
}

html[data-theme="light"].tm-html.tm-prog-dipav .adn-card img {
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav .authority-logos img {
  filter: none;
}

html[data-theme="light"].tm-html.tm-prog-dipav .director-block img {
  background: var(--tm-role-section-alt);
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav .dipav-step-pill {
  background: var(--tm-role-surface-elevated);
  color: var(--tm-role-text-muted);
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav .dipav-step-pill--done {
  background: var(--tm-role-accent-dim);
  color: var(--tm-role-text-secondary);
  border-color: rgba(212, 175, 55, 0.35);
}

html[data-theme="light"].tm-html.tm-prog-dipav .dipav-step-pill--current {
  color: #8a6914;
}

html[data-theme="light"].tm-html.tm-prog-dipav .dipav-step-line {
  background: var(--tm-role-border-strong);
}

@media (max-width: 767px) {
  html[data-theme="light"].tm-html.tm-prog-dipav .dipav-step-progress-wrap {
    background: color-mix(in srgb, var(--tm-role-canvas) 94%, #fff 6%);
    border-bottom-color: var(--tm-role-border-subtle);
    box-shadow: var(--tm-elev-1);
  }
}

html[data-theme="light"].tm-html.tm-prog-dipav input[type="text"],
html[data-theme="light"].tm-html.tm-prog-dipav input[type="email"],
html[data-theme="light"].tm-html.tm-prog-dipav input[type="tel"],
html[data-theme="light"].tm-html.tm-prog-dipav input[type="number"],
html[data-theme="light"].tm-html.tm-prog-dipav select {
  background: var(--tm-role-surface);
  border-color: var(--tm-role-border-strong);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-dipav input:focus,
html[data-theme="light"].tm-html.tm-prog-dipav select:focus {
  background: var(--tm-role-surface);
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card {
  box-shadow: var(--tm-elev-1);
}

/* Cupo agotado (claro): tarjeta gris suave + instrumento desaturado; orden: foto → nombre → pista → sello abajo */
html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.full {
  background: #f2f2f4;
  border: 1px solid var(--tm-role-border-subtle);
  opacity: 1;
  filter: none;
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.full:hover,
html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.full:focus-visible {
  opacity: 1;
  filter: none;
  border-color: var(--tm-role-border-strong);
  background: #ebebed;
  transform: translateY(-2px);
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.full .instrument-thumb__img {
  filter: grayscale(1) saturate(0.12);
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.full .instrument-name {
  color: var(--tm-role-text-primary);
  text-shadow: none;
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.full .dipav-instrument-full-hint {
  color: var(--tm-role-text-muted);
  font-weight: 600;
  text-shadow: none;
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.full .tag-full {
  background: #3d4554;
  color: #d4c4c8;
  border: none;
  border-radius: 999px;
  font-weight: 700;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  box-shadow: none;
  text-shadow: none;
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.selected:not(.full) {
  border-color: var(--accent-gold);
  background: color-mix(in srgb, var(--accent-gold) 16%, var(--tm-role-surface));
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--accent-gold) 38%, transparent),
    var(--tm-elev-2);
}

html[data-theme="light"].tm-html.tm-prog-dipav .instrument-card.selected:focus-visible:not(.full) {
  outline-color: var(--accent-gold);
}

html[data-theme="light"].tm-html.tm-prog-dipav button.tm-conocer-trust-trigger.tm-conocer-trust-btn {
  background: var(--tm-role-surface-elevated);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-dipav .btn-secondary:hover {
  background: var(--tm-role-section-alt);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-dipav .nav-controls,
html[data-theme="light"].tm-html.tm-prog-dipav .dipav-form-hr,
html[data-theme="light"].tm-html.tm-prog-dipav .dipav-pricing-modal-title {
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav .modal-overlay {
  background: rgba(15, 23, 42, 0.45);
}

html[data-theme="light"].tm-html.tm-prog-dipav .close-modal {
  background: var(--tm-role-overlay-on-canvas-12);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-dipav .table-responsive,
html[data-theme="light"].tm-html.tm-prog-dipav .pricing-table {
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav .pricing-table th,
html[data-theme="light"].tm-html.tm-prog-dipav .pricing-table td {
  border-bottom-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav .pricing-table th {
  background: var(--tm-role-surface-elevated);
}

html[data-theme="light"].tm-html.tm-prog-dipav .btn-maps {
  background: var(--tm-role-surface-elevated);
  border-color: var(--tm-role-border-subtle);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-dipav .dipav-success-map-card,
html[data-theme="light"].tm-html.tm-prog-dipav .dipav-pricing-teatro-card {
  background: var(--tm-role-surface-elevated);
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav #alerta-programa.dipav-alerta-programa {
  background: rgba(30, 58, 138, 0.08);
  color: var(--tm-role-text-primary);
}

html[data-theme="light"].tm-html.tm-prog-dipav .dipav-cupo-reserva-note,
html[data-theme="light"].tm-html.tm-prog-dipav .dipav-cupo-submit-note {
  color: var(--text-muted);
}

/* DIPAV paso 1 — hero con foto: texto claro (la imagen es oscura); velo suave, sin glow */
html[data-theme="light"].tm-html.tm-prog-dipav .hero-section {
  background-image: linear-gradient(
    to bottom,
    color-mix(in srgb, var(--tm-role-canvas) 12%, transparent) 0%,
    rgba(15, 23, 42, 0.28) 40%,
    rgba(15, 23, 42, 0.5) 100%
  ),
    url('/assets/img/dipav/foto1.png');
  border-color: var(--tm-role-border-subtle);
}

html[data-theme="light"].tm-html.tm-prog-dipav .hero-title {
  color: #fff;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
}

html[data-theme="light"].tm-html.tm-prog-dipav .hero-title .gold-text {
  color: var(--accent-gold, #d4af37);
}

html[data-theme="light"].tm-html.tm-prog-dipav .hero-subtitle {
  color: rgba(248, 250, 252, 0.94);
  font-weight: 500;
  line-height: 1.55;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.32);
  opacity: 1;
}
