/* Hub sections — modo claro (Cursos, Tienda, Games, Programas, Servicios, Home) */

html.vy-light {
    color-scheme: light;
}

html.vy-light body.hub-layout-section,
html.vy-light body.hub-layout-home {
    background: #f2f2f7 !important;
    color: #1d1d1f !important;
}

/* Status bar + canvas particles */
html.vy-light body.hub-layout-section .global-status,
html.vy-light body.hub-layout-home .global-status {
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}

html.vy-light body.hub-layout-section .status-track,
html.vy-light body.hub-layout-home .status-track {
    color: #6e6e73 !important;
}

/* Partículas desactivadas en todo el hub */
#home-particle-canvas,
#cursos-particle-canvas,
#tienda-particle-canvas,
#games-particle-canvas,
#servicios-particle-canvas,
#investigador-particle-canvas,
#ia-particle-canvas,
#particles,
#adm-particle-canvas,
canvas[id*="particle"] {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

/* Dock nav — active visible on pill claro */
html.vy-light .hub-nav-dock .hub-btn.hub-btn--active,
html.vy-light .hub-nav-dock .hub-btn--active {
    background: rgba(0, 0, 0, 0.07) !important;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.1) !important;
}

html.vy-light .hub-nav-dock .hub-btn--cursos.hub-btn--active { color: #059669 !important; }
html.vy-light .hub-nav-dock .hub-btn--tienda.hub-btn--active { color: #d97706 !important; }
html.vy-light .hub-nav-dock .hub-btn--tv.hub-btn--active { color: #dc2626 !important; }
html.vy-light .hub-nav-dock .hub-btn--ia.hub-btn--active { color: #1d1d1f !important; }
html.vy-light .hub-nav-dock .hub-btn--games.hub-btn--active { color: #9333ea !important; }
html.vy-light .hub-nav-dock .hub-btn--investigador.hub-btn--active { color: #52525b !important; }
html.vy-light .hub-nav-dock .hub-btn--servicios.hub-btn--active { color: #52525b !important; }

html.vy-light .hub-page-nav__brand,
html.vy-light .hub-page-nav__link,
html.vy-light .cur-brand,
html.vy-light .shop-brand,
html.vy-light .games-brand,
html.vy-light .sv-brand,
html.vy-light .inv-brand,
html.vy-light .inv-brand span,
html.vy-light .tv-brand,
html.vy-light .tv-brand-name {
    color: var(--head, #000) !important;
}

/* ===== HOME ===== */
html.vy-light body.hub-page-home {
    --bg-void: #f2f2f7;
    --bg-deep: #ebebef;
    --bg-elev: #ffffff;
    --bg-card: rgba(255, 255, 255, 0.96);
    --text: #1d1d1f;
    --head: #000000;
    --muted: #6e6e73;
}

html.vy-light .home-hero,
html.vy-light .home-hero h1,
html.vy-light .home-hero h2,
html.vy-light .home-section h2 {
    color: var(--head) !important;
}

html.vy-light .home-hero p,
html.vy-light .home-section p,
html.vy-light .home-hero-sub {
    color: var(--text) !important;
}

html.vy-light .home-card,
html.vy-light .home-tile,
html.vy-light .home-feature {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
}

html.vy-light .home-btn,
html.vy-light .home-btn--ghost {
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--head) !important;
}

html.vy-light .home-btn--primary,
html.vy-light .home-btn:not(.home-btn--ghost) {
    background: rgba(0, 0, 0, 0.88) !important;
    color: #fff !important;
}

/* ===== CURSOS ===== */
html.vy-light body.hub-page-cursos {
    --bg-void: #f2f2f7;
    --bg-card: rgba(255, 255, 255, 0.96);
    --border: rgba(0, 0, 0, 0.09);
    --border-strong: rgba(0, 0, 0, 0.12);
    --text: #3a3a3c;
    --head: #000000;
    --muted: #6e6e73;
    --accent: #059669;
    --accent-dim: #10b981;
    --accent-glow: rgba(5, 150, 105, 0.28);
    --accent-soft: rgba(5, 150, 105, 0.1);
    background: #f2f2f7 !important;
    color: var(--text) !important;
}

html.vy-light .cur-bg {
    background: #f2f2f7 !important;
}

html.vy-light .cur-bg-grid {
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px) !important;
    opacity: 0.5 !important;
}

html.vy-light .cur-orb-1,
html.vy-light .cur-orb-2 {
    opacity: 0.45 !important;
}

html.vy-light .cur-hero h1,
html.vy-light .cur-hero-card__body h2,
html.vy-light .cur-section-head h2,
html.vy-light .cur-section h2,
html.vy-light .cur-grid-section h2,
html.vy-light .cur-featured-title,
html.vy-light .cur-cta h2 {
    color: var(--head) !important;
}

html.vy-light .cur-hero-sub,
html.vy-light .cur-hero-card__desc,
html.vy-light .cur-hero-card__tag,
html.vy-light .cur-section p,
html.vy-light .cur-section-head p,
html.vy-light .cur-featured-tagline,
html.vy-light .cur-card-body p,
html.vy-light .cur-card-desc {
    color: var(--text) !important;
}

html.vy-light .cur-eyebrow,
html.vy-light .cur-section-head .tag,
html.vy-light .cur-featured-badge {
    color: #059669 !important;
}

html.vy-light .cur-hero-card,
html.vy-light .cur-card,
html.vy-light .cur-grid-card,
html.vy-light .cur-featured-stage,
html.vy-light .cur-step,
html.vy-light .cur-eco-card,
html.vy-light .cur-cta-box {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
}

html.vy-light .cur-hero-card__media,
html.vy-light .cur-hero-card__media--banner {
    background: #ebebef !important;
}

html.vy-light .cur-hero-card__media::after {
    background: linear-gradient(180deg, transparent 50%, rgba(255, 255, 255, 0.55) 100%) !important;
}

html.vy-light .cur-hero-card__pick {
    background: rgba(255, 255, 255, 0.92) !important;
    color: var(--head) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

html.vy-light .cur-feat-list__item,
html.vy-light .cur-bullet__txt,
html.vy-light .cur-card-meta,
html.vy-light .cur-step p,
html.vy-light .cur-eco-card p,
html.vy-light .cur-cta p {
    color: var(--text) !important;
}

html.vy-light .cur-step h3,
html.vy-light .cur-eco-card h3,
html.vy-light .cur-card-body h3 {
    color: var(--head) !important;
}

html.vy-light .cur-market__toolbar {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06) !important;
}

html.vy-light .cur-market__search {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

html.vy-light .cur-market__search:focus-within {
    border-color: rgba(5, 150, 105, 0.45) !important;
    background: rgba(5, 150, 105, 0.06) !important;
    box-shadow: 0 0 0 3px rgba(5, 150, 105, 0.12) !important;
}

html.vy-light .cur-market__search input {
    color: var(--head) !important;
}

html.vy-light .cur-market__search input::placeholder {
    color: var(--muted) !important;
}

html.vy-light .cur-market__meta {
    color: var(--muted) !important;
}

html.vy-light .cur-chip,
html.vy-light .cur-filter-btn {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--text) !important;
}

html.vy-light .cur-chip.is-on {
    background: rgba(5, 150, 105, 0.12) !important;
    border-color: rgba(5, 150, 105, 0.4) !important;
    color: #047857 !important;
    box-shadow: 0 0 16px rgba(5, 150, 105, 0.12) !important;
}

html.vy-light body.hub-page-cursos .cur-buy,
html.vy-light body.hub-page-cursos .btn--primary,
html.vy-light body.hub-page-cursos .cur-featured-cta,
html.vy-light body.hub-page-cursos .cur-hero-card__cta {
    background: #059669 !important;
    color: #fff !important;
    border: none !important;
    box-shadow: 0 4px 16px rgba(5, 150, 105, 0.28) !important;
}

html.vy-light body.hub-page-cursos .cur-buy:hover,
html.vy-light body.hub-page-cursos .btn--primary:hover,
html.vy-light body.hub-page-cursos .cur-featured-cta:hover,
html.vy-light body.hub-page-cursos .cur-hero-card__cta:hover {
    filter: brightness(1.06) !important;
}

html.vy-light body.hub-page-cursos .btn--ghost {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--head) !important;
}

html.vy-light .cur-foot {
    border-top-color: rgba(0, 0, 0, 0.08) !important;
    color: var(--muted) !important;
}

/* ===== TIENDA ===== */
html.vy-light body.hub-page-tienda {
    --bg: #f2f2f7;
    --head: #000000;
    --muted: #6e6e73;
    --text: #3a3a3c;
    --border: rgba(0, 0, 0, 0.09);
    --accent: #f59e0b;
    --accent-glow: rgba(245, 158, 11, 0.28);
    --accent-soft: rgba(245, 158, 11, 0.12);
    background: #f2f2f7 !important;
    color: var(--text) !important;
}

html.vy-light .shop-bg {
    background: #f2f2f7 !important;
}

html.vy-light .shop-bg-grid {
    background-image:
        linear-gradient(rgba(251, 191, 36, 0.06) 1px, transparent 1px),
        linear-gradient(90deg, rgba(251, 191, 36, 0.06) 1px, transparent 1px) !important;
    opacity: 0.45 !important;
}

html.vy-light .shop-orb-1,
html.vy-light .shop-orb-2 {
    opacity: 0.4 !important;
}

html.vy-light .tienda-main {
    color: var(--text) !important;
}

html.vy-light .tienda-hero h1,
html.vy-light .tienda-hero__title,
html.vy-light .shop-hero h1,
html.vy-light .tienda-section h2,
html.vy-light .tienda-card__title,
html.vy-light .tienda-featured__title {
    color: var(--head) !important;
}

html.vy-light .tienda-hero p,
html.vy-light .shop-hero p,
html.vy-light .tienda-card__desc,
html.vy-light .tienda-featured__desc {
    color: var(--text) !important;
}

html.vy-light .tienda-hero__eyebrow,
html.vy-light .tienda-spotlight__label {
    color: #d97706 !important;
}

html.vy-light .tienda-cat,
html.vy-light .tienda-cats {
    background: transparent !important;
}

html.vy-light .tienda-cat {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--text) !important;
}

html.vy-light .tienda-cat.is-active {
    background: rgba(251, 191, 36, 0.12) !important;
    color: #b45309 !important;
    border-color: rgba(251, 191, 36, 0.45) !important;
}

html.vy-light .tienda-super,
html.vy-light .shop-card,
html.vy-light .tienda-card,
html.vy-light .tienda-featured,
html.vy-light .tienda-spotlight-card,
html.vy-light .product-card,
html.vy-light .tienda-spotlight__panel {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
}

html.vy-light .tienda-search input,
html.vy-light .shop-search,
html.vy-light .tienda-search {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--head) !important;
}

html.vy-light .tienda-chip,
html.vy-light .shop-filter,
html.vy-light .filter-pill {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--text) !important;
}

html.vy-light .tienda-detail,
html.vy-light .product-detail-panel,
html.vy-light .tienda-card__media {
    background: #ebebef !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--text) !important;
}

html.vy-light .tienda-empty,
html.vy-light .tienda-loading {
    color: var(--muted) !important;
}

html.vy-light body.hub-page-tienda .tienda-buy,
html.vy-light body.hub-page-tienda .tienda-spotlight-card .tienda-buy {
    background: #f59e0b !important;
    color: #111 !important;
    box-shadow: 0 4px 16px rgba(245, 158, 11, 0.28) !important;
}

html.vy-light body.hub-page-tienda .tienda-buy:hover {
    filter: brightness(1.06) !important;
}

/* ===== GAMES ===== */
html.vy-light body.hub-page-games {
    --bg-void: #f2f2f7;
    --text: #3a3a3c;
    --head: #000000;
    --muted: #6e6e73;
    --border: rgba(0, 0, 0, 0.09);
    --border-strong: rgba(0, 0, 0, 0.12);
    background: #f2f2f7 !important;
    color: var(--text) !important;
}

html.vy-light .gm-bg {
    background:
        radial-gradient(ellipse 70% 50% at 50% -10%, rgba(191, 90, 242, 0.1), transparent 55%),
        #f2f2f7 !important;
}

html.vy-light .gm-bg-grid {
    background-image:
        linear-gradient(rgba(147, 51, 234, 0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(147, 51, 234, 0.05) 1px, transparent 1px) !important;
    opacity: 0.45 !important;
}

html.vy-light .gm-orb-1,
html.vy-light .gm-orb-2 {
    opacity: 0.35 !important;
}

html.vy-light .gm-hero h1,
html.vy-light .gm-section-head h2,
html.vy-light .gm-section h2,
html.vy-light .gm-featured-banner__title,
html.vy-light .gm-pavos-amount,
html.vy-light .gm-cta-box h2,
html.vy-light .gm-game-card-body h3 {
    color: var(--head) !important;
}

html.vy-light .gm-hero p,
html.vy-light .gm-hero-sub,
html.vy-light .gm-hero__lead,
html.vy-light .gm-section p,
html.vy-light .gm-section-head p,
html.vy-light .gm-featured-banner__tagline,
html.vy-light .gm-featured-copy p,
html.vy-light .gm-featured-copy li,
html.vy-light .gm-game-card-body p,
html.vy-light .gm-pavos-desc,
html.vy-light .gm-step p,
html.vy-light .gm-cta-box p {
    color: var(--text) !important;
}

html.vy-light .gm-eyebrow,
html.vy-light .gm-section-head .tag {
    color: #9333ea !important;
}

html.vy-light .gm-hero-card,
html.vy-light .gm-card,
html.vy-light .gm-pack,
html.vy-light .gm-game-card,
html.vy-light .gm-pavos-card,
html.vy-light .gm-step,
html.vy-light .gm-hero-side,
html.vy-light .gm-featured-banner__frame {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
}

html.vy-light .gm-featured-banner__shade {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0.55) 45%, rgba(255, 255, 255, 0.15) 100%) !important;
}

html.vy-light .gm-pavos-price-wrap {
    background: rgba(147, 51, 234, 0.08) !important;
    border-color: rgba(147, 51, 234, 0.2) !important;
}

html.vy-light .gm-eyebrow,
html.vy-light .gm-chip {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--text) !important;
}

html.vy-light body.hub-page-games .btn--ghost {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--head) !important;
}

html.vy-light .gm-cta-box {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(147, 51, 234, 0.2) !important;
}

html.vy-light .gm-foot {
    border-top-color: rgba(0, 0, 0, 0.08) !important;
    color: var(--muted) !important;
}

/* ===== PROGRAMAS (investigador) ===== */
html.vy-light body.hub-page-investigador {
    --inv-bg: #f2f2f7;
    --inv-surface: #ffffff;
    --inv-surface-2: #f5f5f7;
    --inv-border: rgba(0, 0, 0, 0.1);
    --inv-border-strong: rgba(0, 0, 0, 0.14);
    --inv-muted: #6e6e73;
    --inv-text: #3a3a3c;
    --inv-head: #000000;
    background: #f2f2f7 !important;
    color: var(--inv-text) !important;
}

html.vy-light .inv-bg {
    background:
        radial-gradient(ellipse 70% 45% at 50% -8%, rgba(59, 130, 246, 0.08), transparent 55%) !important;
}

html.vy-light .inv-grid {
    opacity: 0.15 !important;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px) !important;
}

html.vy-light .inv-hero__program,
html.vy-light .inv-vydox__title,
html.vy-light .inv-section-label,
html.vy-light h2.inv-hero__program,
html.vy-light .inv-card h3,
html.vy-light .inv-extract__copy h2 {
    color: var(--inv-head) !important;
}

html.vy-light .inv-hero__lead,
html.vy-light .inv-vydox__sub,
html.vy-light .inv-extract__copy p,
html.vy-light .inv-program-hero__lead,
html.vy-light .inv-card p {
    color: var(--inv-text) !important;
}

html.vy-light .inv-eyebrow {
    color: #2563eb !important;
}

html.vy-light .inv-card,
html.vy-light .inv-extract__feed,
html.vy-light .inv-program-hero,
html.vy-light .inv-vydox,
html.vy-light .inv-extract,
html.vy-light .inv-combo {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
}

html.vy-light .inv-btn--ghost {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--inv-head) !important;
}

html.vy-light .inv-programs-jump,
html.vy-light .inv-programs-jump a {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--inv-text) !important;
}

html.vy-light .inv-extract__feed-head,
html.vy-light .inv-extract__feed-list {
    color: var(--inv-text) !important;
}

html.vy-light .inv-radar__ring {
    border-color: rgba(0, 0, 0, 0.08) !important;
}

html.vy-light .inv-hero__tag span,
html.vy-light .inv-card__chips span {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--inv-text) !important;
}

/* ===== SERVICIOS ===== */
html.vy-light body.hub-page-servicios {
    --sv-bg: #f2f2f7;
    --sv-plate: #ffffff;
    --sv-plate-2: #f5f5f7;
    --sv-border: rgba(0, 0, 0, 0.1);
    --sv-muted: #6e6e73;
    --sv-text: #3a3a3c;
    --sv-head: #000000;
    --sv-bg-card: rgba(255, 255, 255, 0.96);
    background: #f2f2f7 !important;
    color: var(--sv-text) !important;
}

html.vy-light .sv-bg {
    background:
        radial-gradient(ellipse 70% 50% at 50% -10%, rgba(52, 211, 153, 0.1), transparent 55%) !important;
}

html.vy-light .sv-grid {
    opacity: 0.18 !important;
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px) !important;
}

html.vy-light .sv-orb-1,
html.vy-light .sv-orb-2 {
    opacity: 0.35 !important;
}

html.vy-light .sv-hero h1,
html.vy-light .sv-section h2,
html.vy-light .sv-section__head h2,
html.vy-light .sv-promo-card h3,
html.vy-light .sv-showcase__title,
html.vy-light .sv-cta-band h2 {
    color: var(--sv-head) !important;
}

html.vy-light .sv-hero__lead,
html.vy-light .sv-section p,
html.vy-light .sv-section__head p,
html.vy-light .sv-promo-card p,
html.vy-light .sv-showcase__desc,
html.vy-light .sv-showcase__tagline {
    color: var(--sv-text) !important;
}

html.vy-light .sv-eyebrow,
html.vy-light .sv-stat__label,
html.vy-light .sv-section__head .sv-tag {
    color: #059669 !important;
}

html.vy-light .sv-promo-card,
html.vy-light .sv-stat,
html.vy-light .sv-promo-band,
html.vy-light .sv-plate,
html.vy-light .sv-card,
html.vy-light .sv-tile,
html.vy-light .sv-service-card,
html.vy-light .sv-grid-card {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
    color: var(--sv-text) !important;
}

html.vy-light .sv-stat__value {
    color: var(--sv-head) !important;
}

html.vy-light .sv-stat__hint {
    color: var(--sv-muted) !important;
}

html.vy-light .sv-hero-chip {
    background: rgba(52, 211, 153, 0.1) !important;
    border-color: rgba(52, 211, 153, 0.25) !important;
    color: #059669 !important;
}

html.vy-light .sv-cat-bar {
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}

html.vy-light .sv-cat-dock {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

html.vy-light .sv-cat-pill {
    color: var(--sv-text) !important;
}

html.vy-light .sv-cat-pill.is-active,
html.vy-light .sv-cat-pill:hover {
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--sv-head) !important;
}

html.vy-light .sv-showcase__card {
    background: rgba(255, 255, 255, 0.98) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08) !important;
}

html.vy-light .sv-showcase__media,
html.vy-light .sv-showcase__media-inner {
    background: #ebebef !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}

html.vy-light .sv-showcase__copy {
    border-left-color: rgba(0, 0, 0, 0.08) !important;
}

html.vy-light .sv-showcase__desc-box,
html.vy-light .sv-showcase__chip,
html.vy-light .sv-showcase__features li {
    background: rgba(0, 0, 0, 0.03) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
    color: var(--sv-text) !important;
}

html.vy-light .sv-cta-band__inner {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

html.vy-light .sv-btn,
html.vy-light body.hub-page-servicios .btn--ghost {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--sv-head) !important;
}

html.vy-light body.hub-page-servicios .btn--primary {
    background: rgba(0, 0, 0, 0.88) !important;
    color: #fff !important;
}

html.vy-light .sv-overlay {
    background: rgba(0, 0, 0, 0.35) !important;
}

html.vy-light .sv-overlay__sheet {
    background: #fff !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--sv-text) !important;
}

/* ===== TV / VyMovie landing ===== */
html.vy-light body.hub-page-tv {
    --bg-void: #f2f2f7;
    --head: #000000;
    --muted: #6e6e73;
    --muted-soft: #86868b;
    --text: #3a3a3c;
    --border: rgba(0, 0, 0, 0.09);
    --border-strong: rgba(0, 0, 0, 0.12);
    --border-glow: rgba(0, 0, 0, 0.16);
    --red: #dc2626;
    --red-soft: rgba(220, 38, 38, 0.1);
    --red-glow: rgba(220, 38, 38, 0.25);
    background: #f2f2f7 !important;
    color: var(--text) !important;
}

html.vy-light .tv-bg {
    background: #f2f2f7 !important;
}

html.vy-light .tv-bg-radial,
html.vy-light .tv-orb-1,
html.vy-light .tv-orb-2,
html.vy-light .tv-orb-3 {
    opacity: 0.35 !important;
}

html.vy-light .tv-grid {
    background-image:
        linear-gradient(rgba(0, 0, 0, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 0, 0, 0.04) 1px, transparent 1px) !important;
    opacity: 0.45 !important;
}

html.vy-light .tv-noise {
    opacity: 0.06 !important;
}

html.vy-light .tv-hero-title,
html.vy-light .tv-cta-title,
html.vy-light .tv-section-head h2,
html.vy-light .tv-connect-inner h2,
html.vy-light .top10-head h2,
html.vy-light body.hub-page-tv .section-title,
html.vy-light .top10-title {
    color: var(--head) !important;
}

html.vy-light .tv-hero-subtitle,
html.vy-light .tv-cta-text,
html.vy-light .tv-section-head p,
html.vy-light .tv-connect-inner p,
html.vy-light .tv-connect-cap,
html.vy-light .top10-head p,
html.vy-light body.hub-page-tv .section-subtitle {
    color: var(--text) !important;
}

html.vy-light body.hub-page-tv .cat-card {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.06) !important;
}

html.vy-light body.hub-page-tv .cat-card::before {
    background: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.06), transparent) !important;
}

html.vy-light body.hub-page-tv .cat-card:hover {
    border-color: rgba(220, 38, 38, 0.28) !important;
    box-shadow: 0 16px 48px rgba(0, 0, 0, 0.1), 0 0 24px rgba(220, 38, 38, 0.08) !important;
}

html.vy-light body.hub-page-tv .cat-name {
    color: var(--head) !important;
}

html.vy-light body.hub-page-tv .cat-desc {
    color: var(--text) !important;
}

html.vy-light body.hub-page-tv .cat-tag {
    color: var(--muted) !important;
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
}

html.vy-light body.hub-page-tv .cat-card:hover .cat-tag {
    color: var(--text) !important;
    border-color: rgba(220, 38, 38, 0.25) !important;
}

html.vy-light body.hub-page-tv .cat-count {
    color: #dc2626 !important;
}

html.vy-light body.hub-page-tv .cat-icon {
    background: rgba(220, 38, 38, 0.08) !important;
    border-color: rgba(220, 38, 38, 0.2) !important;
    color: #dc2626 !important;
    box-shadow: none !important;
}

html.vy-light body.hub-page-tv .tech-card {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.05) !important;
}

html.vy-light body.hub-page-tv .tech-card:hover {
    background: rgba(220, 38, 38, 0.04) !important;
    border-color: rgba(220, 38, 38, 0.25) !important;
}

html.vy-light body.hub-page-tv .tech-card-name {
    color: var(--head) !important;
}

html.vy-light body.hub-page-tv .tech-card-desc {
    color: var(--muted) !important;
}

html.vy-light .top10-badge {
    color: #dc2626 !important;
    background: rgba(220, 38, 38, 0.08) !important;
    border-color: rgba(220, 38, 38, 0.2) !important;
}

html.vy-light .top10-placeholder {
    background: rgba(0, 0, 0, 0.03) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--muted) !important;
}

html.vy-light body.hub-page-tv .btn-hero {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--text) !important;
}

html.vy-light body.hub-page-tv .btn-hero:hover {
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--head) !important;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08) !important;
}

html.vy-light body.hub-page-tv .btn-hero--red {
    background: #dc2626 !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 4px 16px rgba(220, 38, 38, 0.28) !important;
}

html.vy-light body.hub-page-tv .btn-large.secondary {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--head) !important;
}

html.vy-light body.hub-page-tv .btn-large.primary {
    background: #dc2626 !important;
    color: #fff !important;
}

html.vy-light .tv-hero-eyebrow,
html.vy-light .tv-connect-step-num {
    color: #dc2626 !important;
    background: rgba(220, 38, 38, 0.08) !important;
    border-color: rgba(220, 38, 38, 0.2) !important;
}

html.vy-light .tv-cta-box {
    background: rgba(255, 255, 255, 0.96) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08) !important;
}

html.vy-light .tv-footer {
    background: rgba(255, 255, 255, 0.92) !important;
    border-top-color: rgba(0, 0, 0, 0.08) !important;
    color: var(--muted) !important;
}

html.vy-light .tv-marquee {
    background: rgba(0, 0, 0, 0.03) !important;
    border-top-color: rgba(0, 0, 0, 0.08) !important;
    border-bottom-color: rgba(0, 0, 0, 0.08) !important;
}

html.vy-light .tv-marquee::before {
    background: linear-gradient(to right, #f2f2f7, transparent) !important;
}

html.vy-light .tv-marquee::after {
    background: linear-gradient(to left, #f2f2f7, transparent) !important;
}

html.vy-light .tv-marquee-item {
    color: rgba(0, 0, 0, 0.32) !important;
}

html.vy-light .tv-marquee-item:hover {
    color: var(--head) !important;
    text-shadow: none !important;
}

html.vy-light body.hub-page-tv .btn--primary {
    background: #dc2626 !important;
    color: #fff !important;
    box-shadow: 0 4px 16px rgba(220, 38, 38, 0.28) !important;
}

html.vy-light body.hub-page-tv .btn--ghost {
    background: rgba(0, 0, 0, 0.04) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    color: var(--head) !important;
}

/* Catálogo modal compartido */
html.vy-light .catalog-detail-modal,
html.vy-light .catalog-detail-modal__panel,
html.vy-light .cdm-panel {
    background: rgba(255, 255, 255, 0.98) !important;
    border-color: rgba(0, 0, 0, 0.1) !important;
    color: var(--text, #3a3a3c) !important;
}

html.vy-light .cdm-buy--secondary {
    background: rgba(0, 0, 0, 0.06) !important;
    color: var(--head, #000) !important;
    border-color: rgba(0, 0, 0, 0.12) !important;
    box-shadow: none !important;
}

html.vy-light body.hub-page-cursos .cdm-buy--secondary {
    background: #059669 !important;
    color: #fff !important;
    border-color: transparent !important;
}

html.vy-light body.hub-page-tienda .cdm-buy--secondary {
    background: #f59e0b !important;
    color: #111 !important;
    border-color: transparent !important;
}

html.vy-light .cdm-trust {
    color: var(--muted, #6e6e73) !important;
}

html.vy-light .cdm-seller {
    background: rgba(0, 0, 0, 0.03) !important;
    border-color: rgba(0, 0, 0, 0.08) !important;
}
