/* =========================================================
   VERTICALES (marketing, desarrollo, audiovisual, juan-manuel) · TEMA CLARO
   Mismo criterio que pdp-home-light.css: lo que va sobre fotografía,
   video o canvas, y los "dispositivos" (consolas, widgets de código),
   se quedan oscuros en ambos temas. El resto pasa a claro.
   Las utilidades de Tailwind fijan colores oscuros, por eso se remapean
   aquí con la misma especificidad que usan las capas existentes.
========================================================= */

html[data-theme="light"] body:is([data-pdp-page], .jm-page) {
  --vl-bg: #f6f7f5;
  --vl-surface: #ffffff;
  --vl-ink: #0b0d0b;
  --vl-muted: #3f463f;
  --vl-line: rgba(11, 13, 11, 0.12);
  --vl-green: #007a00;
  background: var(--vl-bg) !important;
  color: var(--vl-ink) !important;
}

/* Islas oscuras: tarjetas con foto/video/canvas y widgets de código. */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(
  [class*="bento-card"]:has(img, video, canvas),
  .pdp-vmacro__door,
  .widget-browser, .api-console, .code-typewriter, .lens-container, .lens-bridge-container,
  [class*="rounded"]:has(> img.absolute, > img.object-cover, > video, > div > img.object-cover, > canvas),
  a:has(> img.object-cover), figure
) {
  color-scheme: dark;
}

/* ---------- Fondos de sección ---------- */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(main, section, footer.vertical-footer):not(.pdp-cookie-banner):not(:has(> canvas, > video, > img.absolute)) {
  background-color: transparent !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(.bg-black, .bg-ultra-dark, .bg-black\/90, .bg-\[\#050805\]):not(:is(
  [class*="bento-card"]:has(img, video, canvas), .widget-browser, .api-console, .code-typewriter, figure, a:has(> img.object-cover)
)):not(:has(> img.object-cover, > video, > canvas)) {
  background-color: var(--vl-bg) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .bg-white\/\[0\.02\] {
  background-color: var(--vl-surface) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(.border-white\/10, .border-white\/20, .border-y, .border-t) {
  border-color: var(--vl-line) !important;
}

/* Resplandores y viñetas negras pensadas para fondo oscuro */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(.hero-glow, .cursor-glow) {
  opacity: 0.35;
}

/* ---------- Texto fuera de las islas oscuras ---------- */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(.text-white, .text-white\/90, .text-on-surface):not(:is(
  [class*="bento-card"]:has(img, video, canvas) *, .pdp-vmacro__door *, .widget-browser *, .api-console *,
  .code-typewriter *, figure *, a:has(> img.object-cover) *,
  [class*="rounded"]:has(> img.absolute, > img.object-cover, > video, > div > img.object-cover) *,
  .bg-\[\#00cc00\], .bg-\[\#00cc00\] *, .bg-white, .bg-white *, [class*="btn"], [class*="btn"] *
)) {
  color: var(--vl-ink) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(
  .text-white\/80, .text-white\/75, .text-white\/70, .text-white\/60, .text-white\/55, .text-white\/30,
  .text-on-surface\/80, .text-on-surface\/70, .text-on-surface\/60, .text-on-surface\/40
):not(:is(
  [class*="bento-card"]:has(img, video, canvas) *, .pdp-vmacro__door *, .widget-browser *, .api-console *,
  .code-typewriter *, figure *, a:has(> img.object-cover) *,
  [class*="rounded"]:has(> img.absolute, > img.object-cover, > video, > div > img.object-cover) *
)) {
  color: var(--vl-muted) !important;
}

/* Verdes y acentos neón: en claro, versión con contraste AA */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(
  .text-primary-container, .text-\[\#00cc00\], .text-terminal-green, .text-neon-green
):not(:is(figure *, a:has(> img.object-cover) *, .widget-browser *, .api-console *, .code-typewriter *,
  [class*="bento-card"]:has(img, video, canvas) *)) {
  color: var(--vl-green) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .text-cyber-cyan:not(:is(.widget-browser *, .api-console *, .code-typewriter *)) {
  color: #006b80 !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(.text-electric-orange, .text-light-orange) {
  color: #a34200 !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .text-electric-purple {
  color: #6d28d9 !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(.text-gradient, .text-gradient-magenta, .text-gradient-orange) {
  background-image: linear-gradient(90deg, #007a00, #005c3d) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* ---------- Secciones de industrias (.pdp-vmacro) ---------- */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro {
  background: var(--vl-bg) !important;
  color: var(--vl-ink) !important;
  --vm-green: #007a00;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro :is(p, li):not(.pdp-vmacro__door *) {
  color: var(--vl-muted) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro :is(h2, h3, strong):not(.pdp-vmacro__door *) {
  color: var(--vl-ink) !important;
}

/* ---------- Formularios ---------- */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(input, select, textarea):not([type="checkbox"]):not([type="radio"]) {
  background-color: var(--vl-surface) !important;
  color: var(--vl-ink) !important;
  border-color: var(--vl-line) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(input, textarea)::placeholder {
  color: #5c635c !important;
}

/* ---------- Ajustes tras axe (iteración 2) ---------- */
/* Títulos fuera de islas oscuras */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(h1, h2, h3):not(:is(
  .pdp-vmacro__door *, figure img ~ * *, [class*="bento-card"]:has(img, video, canvas) *, a:has(> img.object-cover) *,
  [class*="rounded"]:has(> img.absolute, > img.object-cover, > video, > div > img.object-cover) *, .widget-browser *, .api-console *
)):not([class*="text-gradient"]) {
  color: var(--vl-ink) !important;
}
/* Las puertas con foto conservan su texto claro y su verde neón */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro__door {
  color: #fff !important;
  --vm-green: #00cc00;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro__door :is(h3, p, strong) {
  color: #fff !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro__door small {
  color: #00cc00 !important;
}
/* Leyenda de la foto del hero (va debajo de la imagen, sobre el fondo de la página) */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-hero-proof figcaption span {
  color: var(--vl-green) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-hero-proof figcaption strong {
  color: var(--vl-ink) !important;
}
/* Rejilla de capacidades */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro__caps article {
  background: var(--vl-surface) !important;
  border-color: var(--vl-line) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro__caps article span {
  color: var(--vl-muted) !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro__caps article strong {
  color: var(--vl-ink) !important;
}
/* Tarjetas bento de desarrollo: superficie clara; los widgets internos siguen oscuros */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .bento-card:not(:has(img, video, canvas)) {
  background: var(--vl-surface) !important;
  border-color: var(--vl-line) !important;
  box-shadow: 0 1px 2px rgba(11, 13, 11, 0.06);
}
/* Resplandores radiales grandes: en claro casi imperceptibles */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is([class*="blur-3xl"], [class*="blur-[1"], [class*="blur-[8"]) {
  opacity: 0.18 !important;
}

/* ---------- Juan Manuel (estilos propios jm-*) ---------- */
html[data-theme="light"] body.juan-manuel-page,
html[data-theme="light"] body.juan-manuel-page :is(.jm-hero, .jm-stats-section, .jm-conferences-section, .jm-booking-section, .jm-multimedia-section, .ecosistema-pdp, .jm-about, .jm-topics, .jm-experience) {
  background: var(--vl-bg) !important;
  color: var(--vl-ink) !important;
}
html[data-theme="light"] body.juan-manuel-page :is(.jm-stat-card, .jm-conf-card, .jm-booking-card, .multimedia-card, .eco-card, .jm-social-link, .jm-hero__avatar) {
  background: var(--vl-surface) !important;
  border-color: var(--vl-line) !important;
  color: var(--vl-ink) !important;
}
html[data-theme="light"] body.juan-manuel-page :is(.eco-card--active) {
  background: #eef6ee !important;
}
html[data-theme="light"] body.juan-manuel-page :is(
  h1, h2, h3, h4, .jm-hero__copy h1, .jm-stat-card h4, .jm-conf-card h3, .jm-booking-card__copy h2,
  .multimedia-card__title, .eco-card h3, .ecosistema-pdp__header h2
) {
  color: var(--vl-ink) !important;
}
html[data-theme="light"] body.juan-manuel-page :is(
  p, .jm-hero__lead, .jm-hero__copy p, .jm-hero__avatar-caption, .jm-conf-card__desc, .jm-conf-card__takeaways ul,
  .jm-booking-card__copy p, .jm-booking-features div, .multimedia-card__desc, .ecosistema-pdp__header p, .jm-form label, .jm-social-link
) {
  color: var(--vl-muted) !important;
}
html[data-theme="light"] body.juan-manuel-page :is(.jm-conf-card__takeaways, .jm-form) {
  background: #f1f4f1 !important;
}
html[data-theme="light"] body.juan-manuel-page :is(.jm-role-badge, .jm-conf-card__num, .eco-card__badge, .jm-hero__initials) {
  color: var(--vl-green) !important;
}
html[data-theme="light"] body.juan-manuel-page :is(.jm-form input, .jm-form textarea, .jm-form select) {
  background: var(--vl-surface) !important;
  color: var(--vl-ink) !important;
}
/* Videos: el reproductor sigue negro */
html[data-theme="light"] body.juan-manuel-page .video-container {
  background: #000 !important;
}

html[data-theme="light"]:has(body.jm-page) {
  background: #f6f7f5 !important;
}
/* Botones rellenos: conservan el verde de marca con texto negro */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-vmacro__btn--fill {
  background: #00cc00 !important;
  border-color: #00cc00 !important;
  color: #000 !important;
}
/* El banner de cookies es negro en ambos temas (diseño de cookie-consent.css) */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-cookie-banner {
  background: #000 !important;
  background-color: #000 !important;
  color: #fff !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-cookie-banner :is(h2, h3, p, span, strong, button:not([data-consent-action="accept"])) {
  color: #fff !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-cookie-banner a {
  color: #00cc00 !important;
}
/* Juan Manuel: verdes de texto con contraste AA y botón secundario legible */
html[data-theme="light"] body.jm-page :is(.eyebrow, .jm-stat-card strong, .section-label, .jm-hero__copy .eyebrow) {
  color: var(--vl-green) !important;
}
html[data-theme="light"] body.jm-page .btn--ghost {
  color: var(--vl-ink) !important;
  border-color: rgba(11, 13, 11, 0.35) !important;
}
html[data-theme="light"] body.jm-page :is(.section-heading h2 em, .jm-conf-card__takeaways h5, .jm-book-btn, .multimedia-badge),
html[data-theme="light"] body.jm-page h2:has(> em) em {
  color: var(--vl-green) !important;
}
html[data-theme="light"] body.jm-page .jm-tag {
  color: #5c635c !important;
}
html[data-theme="light"] body:is([data-pdp-page], .jm-page) .pdp-cookie-banner .pdp-cookie-banner__inner :is(h2, h3) {
  color: #fff !important;
}

/* Juan Manuel en oscuro: grises de apoyo con contraste AA (ya existían por debajo de 4.5:1) */
html:not([data-theme="light"]) body.jm-page .section-heading p {
  color: #9da49d !important;
}
html:not([data-theme="light"]) body.jm-page .eco-card__badge--soon {
  color: #b7c3b7 !important;
}

/* Hero de audiovisual: va sobre video/imagen, se queda oscuro también en tema claro */
html[data-theme="light"] #av-hero {
  background-color: #000 !important;
  isolation: isolate;
  color: #fff !important;
}
html[data-theme="light"] #av-hero :is(p, .text-white\/70, .text-on-surface\/70) {
  color: rgba(255, 255, 255, 0.78) !important;
}
html[data-theme="light"] #av-hero .text-\[\#00cc00\] {
  color: #00cc00 !important;
}
html[data-theme="light"] #av-hero .text-gradient-magenta {
  background-image: linear-gradient(90deg, #00cc00, #33dd33) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
html[data-theme="light"] #av-hero .border-white\/10 {
  border-color: rgba(255, 255, 255, 0.14) !important;
}
html[data-theme="light"] #av-hero .glass {
  color: #fff !important;
}

/* Desarrollo: botones y métricas con verde de texto sobre superficies claras */
html[data-theme="light"] body:is([data-pdp-page], .jm-page) :is(.btn-neon, .btn-explore, .btn-check-status, .metric-val):not(:is(.widget-browser *, .api-console *, .code-typewriter *)) {
  color: #007a00 !important;
  border-color: rgba(0, 122, 0, 0.45) !important;
}
