/* CSS Module inectodoscursos */
html[data-inectodoscursos-escritorio] .all_courses_directory_wrapper,
html[data-inectodoscursos-escritorio] .all_courses_pagination {
    display: none !important;
}

@media (max-width: 768px) {
    html[data-inectodoscursos-movil] .all_courses_directory_wrapper,
    html[data-inectodoscursos-movil] .all_courses_pagination {
        display: none !important;
    }
}

.inectc {
    --inectc-precio: #15803d;
}
html.inec-oscuro .inectc {
    --inectc-precio: #4ade80;
}

/* Cabecera + barra */
.inectc-lay .inectc-cab { display:flex; align-items:baseline; justify-content:space-between; gap:12px; min-width:0; }
/* "N resultados" en la fila del titulo, a la derecha */
.inectc-lay .inectc-cab .inectc-res-n { margin:0 0 0 auto; white-space:nowrap; }
.inectc-lay .inectc-cab-tit { flex:0 1 auto; min-width:0; }
.inectc-lay .inectc-cab h1 { margin:0; font-size:30px; line-height:1.2; font-weight:600; letter-spacing:-.02em; color:var(--inecmc-c-texto); margin-bottom:0; }
.inectc-lay .inectc-sub { margin:4px 0 0; color:var(--inecmc-c-sub); font-size:14px; line-height:1.5; }

.inectc-lay .inectc-cab-fila { display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:0; }
/* Barra (buscar/filtros/orden) a la izquierda */
.inectc-lay .inectc-cab-fila .inectc-barra { order:-1; margin-left:0; }
.inectc-lay .inectc-barra { display:flex; align-items:center; gap:12px; margin-left:auto; min-width:0; }
.inectc-lay .inectc-buscar { position:relative; flex:1 1 320px; width:auto; max-width:100%; min-width:0; }
.inectc-lay .inectc-buscar svg { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:var(--inecmc-c-texto); pointer-events:none; }
.inectc-lay .inectc-buscar input[type=search] { box-sizing:border-box; width:100%; height:40px; border:1px solid var(--inecmc-c-borde); border-radius:6px; padding:0 14px 0 38px; outline:0; color:var(--inecmc-c-texto); background:var(--inecmc-c-fondo); font:inherit; font-size:14px; margin:0; }
.inectc-lay .inectc-buscar input::placeholder { color:var(--inecmc-c-sub); }
.inectc-lay .inectc-buscar input:focus, .inectc-lay .inectc-fbuscar input:focus { border-color:var(--inec-marca); box-shadow:0 0 0 3px rgba(241,102,69,.25); }

.inectc-lay .inectc-fwrap { position:relative; display:inline-flex; }
.inectc-lay .inectc-filtro { position:relative; display:inline-flex; height:36px; align-items:center; gap:10px; padding:0 14px; border:1px solid var(--inecmc-c-borde); border-radius:999px; color:var(--inecmc-c-texto); background:transparent; font:inherit; font-size:var(--inec-menu-fs,14px); font-weight:500; line-height:var(--inec-menu-lh,1.3); cursor:pointer; }
.inectc-lay .inectc-filtro:hover, .inectc-lay .inectc-filtro[aria-expanded="true"] { background:var(--inecmc-c-fondo-hover); }
.inectc-lay .inectc-filtro .inectc-cuenta { display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 5px; box-sizing:border-box; border-radius:999px; background:var(--inec-marca); color:#fff; font-size:11px; font-weight:700; }
.inectc-lay .inectc-solo-movil { display:none!important; }

.inectc-lay .inectc-menu { position:absolute; z-index:100; top:calc(100% + 6px); right:0; min-width:210px; padding:6px; border:1px solid var(--inecmc-c-borde); border-radius:12px; background:var(--inecmc-c-fondo); box-shadow:var(--inecmc-sombra); }
.inectc-lay .inectc-mi { display:flex; align-items:center; gap:8px; width:100%; height:36px; padding:0 10px; border:0; border-radius:8px; color:var(--inecmc-c-texto); background:transparent; text-align:left; font:inherit; font-size:13.5px; font-weight:500; cursor:pointer; }
.inectc-lay .inectc-mi:hover { background:var(--inecmc-c-fondo-hover); }
.inectc-lay .inectc-mi .inectc-lbl { flex:1; }
.inectc-lay .inectc-mi .inectc-chk { width:16px; display:inline-flex; flex:none; color:var(--inec-marca); }
.inectc-lay .inectc-mi.inectc-activo { font-weight:600; color:var(--inec-marca); }

.inectc-lay .inectc-vistas { display:flex; align-items:center; gap:8px; margin-left:4px; }
.inectc-lay .inectc-vista { display:inline-grid; place-items:center; width:24px; height:24px; border:0; padding:0; background:transparent; color:var(--inecmc-c-sub); cursor:pointer; }
.inectc-lay .inectc-vista svg { width:18px; height:18px; }
.inectc-lay .inectc-vista[aria-pressed="true"], .inectc-lay .inectc-vista:hover { color:var(--inecmc-c-texto); }

/* Layout Grid */
.inectc-lay .inectc-lay-grid { display:grid; grid-template-columns:236px minmax(0,1fr); gap:28px; align-items:start; }

/* Panel Lateral */
.inectc-lay .inectc-lat { position:sticky; top:16px; max-height:calc(100vh - 32px); overflow-y:auto; overscroll-behavior:contain; padding-right:6px; scrollbar-width:thin; }
.inectc-lay .inectc-lat-cab { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-bottom:12px; }
.inectc-lay .inectc-lat-cab h2 { display:flex; align-items:center; gap:8px; margin:0; font-size:16px; font-weight:600; color:var(--inecmc-c-texto); }
.inectc-lay .inectc-enlace { border:0; padding:0; background:none; color:var(--inec-marca); font:inherit; font-size:13px; font-weight:600; cursor:pointer; }
.inectc-lay .inectc-enlace:hover { text-decoration:underline; }
.inectc-lay .inectc-enlace[hidden] { display:none; }
.inectc-lay .inectc-lat-cab .inectc-eliminar { margin-left:auto; }
.inectc-lay .inectc-cerrar { display:none; width:36px; height:36px; border:0; border-radius:8px; background:transparent; color:var(--inecmc-c-texto); cursor:pointer; }
.inectc-lay .inectc-cerrar svg { width:18px; height:18px; min-width:18px; flex:none; }
.inectc-lay .inectc-faceta { border-top:1px solid var(--inecmc-c-borde); padding:10px 0 12px; }
.inectc-lay .inectc-faceta > summary { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 0; list-style:none; cursor:pointer; font-size:14px; font-weight:600; color:var(--inecmc-c-texto); }
.inectc-lay .inectc-faceta > summary::-webkit-details-marker { display:none; }
.inectc-lay .inectc-sel { margin-left:auto; color:var(--inec-marca); font-size:12px; font-weight:600; }
.inectc-lay .inectc-faceta > summary svg { transition:transform .15s; color:var(--inecmc-c-sub); }
.inectc-lay .inectc-faceta[open] > summary svg { transform:rotate(180deg); }

.inectc-lay .inectc-fcuerpo { display:flex; flex-direction:column; gap:2px; padding-top:6px; }
.inectc-lay .inectc-fbuscar { position:relative; margin:2px 0 6px; }
.inectc-lay .inectc-fbuscar svg { position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--inecmc-c-sub); pointer-events:none; }
.inectc-lay .inectc-fbuscar input[type=search] { box-sizing:border-box; width:100%; height:34px; border:1px solid var(--inecmc-c-borde); border-radius:6px; padding:0 10px 0 32px; outline:0; color:var(--inecmc-c-texto); background:var(--inecmc-c-fondo); font:inherit; font-size:13px; margin:0; }

.inectc-lay .inectc-op { display:flex; align-items:center; gap:10px; min-height:32px; padding:0 6px; border-radius:6px; cursor:pointer; font-size:13.5px; color:var(--inecmc-c-texto); }
.inectc-lay .inectc-op:hover { background:var(--inecmc-c-fondo-hover); }
.inectc-lay .inectc-op input { width:16px; height:16px; margin:0; accent-color:var(--inec-marca); flex:none; cursor:pointer; }
.inectc-lay .inectc-op .inectc-lbl { flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.inectc-lay .inectc-op .inectc-n { color:var(--inecmc-c-sub); font-size:12px; font-variant-numeric:tabular-nums; }
.inectc-lay .inectc-op.inectc-cero { opacity:.45; }
.inectc-lay .inectc-mini { width:18px; height:18px; border-radius:4px; object-fit:contain; background:#fff; flex:none; border:1px solid var(--inecmc-c-borde); box-sizing:border-box; }
.inectc-lay .inectc-logo-inec { width:auto; height:18px; max-width:46px; object-fit:contain; flex:none; }
.inectc-lay .inectc-fcuerpo .inectc-enlace { align-self:flex-start; margin:4px 6px 0; }
.inectc-lay .inectc-nada { margin:4px 6px; color:var(--inecmc-c-sub); font-size:12.5px; }

.inectc-lay .inectc-interruptor { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:6px 0; cursor:pointer; font-size:14px; font-weight:600; color:var(--inecmc-c-texto); }
.inectc-lay .inectc-interruptor small { display:block; color:var(--inecmc-c-sub); font-size:12px; font-weight:400; }
.inectc-lay .inectc-interruptor input { appearance:none; -webkit-appearance:none; position:relative; flex:none; width:36px; height:20px; margin:0; border-radius:999px; background:var(--inecmc-c-borde); cursor:pointer; transition:background .15s; }
.inectc-lay .inectc-interruptor input::after { content:""; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:0 1px 2px rgba(0,0,0,.3); transition:transform .15s; }
.inectc-lay .inectc-interruptor input:checked { background:var(--inec-marca); }
.inectc-lay .inectc-interruptor input:checked::after { transform:translateX(16px); }

.inectc-lay .inectc-lat-pie { display:none; }
.inectc-lay .inectc-velo { display:none; }

/* Main & Chips */
.inectc-lay .inectc-main { min-width:0; }
.inectc-lay .inectc-res-cab { display:flex; align-items:center; flex-wrap:wrap; gap:8px; min-height:32px; margin-bottom:16px; }
.inectc-lay .inectc-res-n { margin-right:4px; font-size:14px; font-weight:600; color:var(--inecmc-c-texto); }
.inectc-lay .inectc-fchip { display:inline-flex; align-items:center; gap:4px; height:28px; padding:0 4px 0 10px; border:0; border-radius:999px; background:rgba(241,102,69,.16); color:var(--inec-marca); font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; }
.inectc-lay .inectc-fchip:hover { filter:brightness(.96); }
.inectc-lay .inectc-fchip svg { width:16px; height:16px; }

/* Tarjetas Rejilla Compacta Desktop */
@media (min-width: 1025px) {
    /* Aire entre tarjetas (Todos y Mis cursos); 1a fila acaba en ~535-592px de 728 */
    .inectc-lay .inecmc-tarjeta { gap: 14px; padding-bottom: 14px; }
    .inectc-lay .inecmc-portada { aspect-ratio: 16/10; }
    .inectc-lay .inecmc-portada img { object-fit: contain; background: var(--inecmc-c-fondo-hover); }
    .inectc-lay .inecmc-cuerpo { padding: 0 12px; }
    .inectc-lay .inecmc-titulo { font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .inectc-lay .inecmc-cta { height: 34px; font-size: 13px; }
    .inectc-lay .inectc-cerrar { display: inline-grid; place-items: center; }
}

/* Tarjetas Extendidas */
/* Fila de chips de alto fijo y una sola linea: logo y titulo arrancan a la misma altura en toda la rejilla */
.inectc .inectc-chips { flex:none; height:22px; margin-bottom:8px; overflow:hidden; white-space:nowrap; }
.inectc .inectc-chips > span { margin-bottom:0; max-width:100%; overflow:hidden; text-overflow:ellipsis; vertical-align:top; box-sizing:border-box; }
.inectc-lay .inecmc-modo-filas .inectc-chips:empty { display:none; }
.inectc .inectc-chip-cat { display:inline-block; padding:2px 8px; background:var(--inecmc-c-fondo-hover); color:var(--inecmc-c-sub); border-radius:4px; font-size:12px; font-weight:500; margin-bottom:8px; margin-right:4px; }
.inectc .inectc-chip-sep { display:inline-block; padding:2px 8px; background:rgba(22,163,74,.1); color:var(--inectc-precio); border-radius:4px; font-size:12px; font-weight:600; margin-bottom:8px; margin-right:4px; }
html.inec-oscuro .inectc .inectc-chip-sep { background:rgba(74,222,128,.1); color:#4ade80; }

.inectc .inecmc-portada { position:relative; }
.inectc .inectc-sello-inscrito { position:absolute; top:12px; right:12px; background:rgba(0,0,0,.7); color:#fff; padding:4px 8px; border-radius:4px; font-size:12px; font-weight:600; z-index:2; }
.inectc .inectc-sello-caducado { background:#ef4444; }
/* Categoria sobre la portada (rejilla): arriba-izquierda, deja libre el sello de la derecha */
.inectc .inecmc-portada .inectc-chips-portada { position:absolute; top:12px; left:12px; z-index:2; max-width:calc(100% - 120px); height:auto; margin:0; }
.inectc .inectc-chips-portada .inectc-chip-cat { background:#fff; color:#475569; box-shadow:0 1px 3px rgba(0,0,0,.18); }
html.inec-oscuro .inectc .inectc-chips-portada .inectc-chip-cat { background:rgba(17,24,39,.88); color:#e5e7eb; }
.inectc .inectc-chips-portada .inectc-chip-sep { background:#dcfce7; color:#15803d; box-shadow:0 1px 3px rgba(0,0,0,.18); }
.inectc .inecmc-rejilla:not(.inecmc-modo-filas) .inecmc-cuerpo > .inectc-chips { display:none; }
.inectc .inecmc-modo-filas .inectc-chips-portada { display:none; }
/* Renglones de alto fijo en rejilla: descripcion (2 lineas) y datos (hasta 2 filas) alinean entre tarjetas */
.inectc .inecmc-rejilla:not(.inecmc-modo-filas) .inecmc-org { flex:none; height:30px; }
.inectc .inecmc-rejilla:not(.inecmc-modo-filas) .inectc-desc { line-height:1.4; min-height:2.8em; }
.inectc .inecmc-rejilla:not(.inecmc-modo-filas) .inectc-datos { align-content:flex-start; line-height:1.4; row-gap:6px; min-height:calc(2.8em + 6px); }
html.inec-oscuro .inectc .inectc-sello-caducado { background:#dc2626; }

.inectc .inectc-desc { font-size:13px; color:var(--inecmc-c-sub); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin:4px 0 8px; }
.inectc-lay .inecmc-modo-filas .inectc-desc { display:none; }

.inectc .inectc-datos { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; color:var(--inecmc-c-sub); }
.inectc .inectc-dato { display:flex; align-items:center; gap:4px; }
.inectc .inectc-dato svg { flex:none; }

.inectc .inectc-venta { display:flex; flex-direction:column; gap:4px; margin-bottom:12px; }
.inectc .inectc-precio { font-size:20px; font-weight:700; color:var(--inectc-precio); }
.inectc .inectc-precio-nota { font-size:12px; color:var(--inecmc-c-sub); }

.inectc .inecmc-cta.inectc-cta-comprar { background:var(--inec-marca); color:#fff; border:none; }
.inectc .inecmc-cta.inectc-cta-comprar:hover { filter:brightness(.92); }
.inectc .inecmc-cta.inectc-cta-secundario { background:transparent; border:1px solid var(--inecmc-c-borde); color:var(--inecmc-c-texto); }
.inectc .inecmc-cta.inectc-cta-secundario:hover { background:var(--inecmc-c-fondo-hover); }

/* Blindaje */
.inectc-lay { contain:inline-size; max-width:100%; }
.inectc-lay .inectc-buscar svg { flex:none; }

/* Responsive > 1024 colapso lateral */
@media (min-width:1025px) {
    .inectc-lay.inectc-lat-oculto .inectc-lat { display: none; }
    .inectc-lay.inectc-lat-oculto .inectc-lay-grid { grid-template-columns: minmax(0, 1fr); }
    .inectc-lay.inectc-lat-oculto .inectc-solo-movil { display: inline-flex !important; }
}

/* Responsive <= 1024 */
@media (max-width:1024px) {
    .inectc-lay .inectc-lay-grid { grid-template-columns:minmax(0,1fr); }
    .inectc-lay .inectc-solo-movil { display:inline-flex!important; }
    
    .inectc-lay .inectc-lat { position:fixed; z-index:100001; top:var(--inec-adminbar,0px); bottom:0; left:0; width:min(88vw,340px); max-height:none; box-sizing:border-box; padding:16px 16px 0; background:var(--inecmc-c-fondo); box-shadow:0 0 32px rgba(0,0,0,.25); transform:translateX(-105%); transition:transform .2s; display:flex; flex-direction:column; }
    .inectc-lay .inectc-lat.inectc-abierto { transform:none; }
    .inectc-lay .inectc-lat-cuerpo { flex:1; overflow-y:auto; overscroll-behavior:contain; }
    .inectc-lay .inectc-cerrar { display:inline-grid; place-items:center; }
    .inectc-lay .inectc-lat-pie { display:flex; gap:10px; position:sticky; bottom:0; padding:12px 0 16px; border-top:1px solid var(--inecmc-c-borde); background:var(--inecmc-c-fondo); }
    .inectc-lay .inectc-lat-pie .inecmc-cta { flex:1; align-self:stretch; justify-content:center; }
    .inectc-lay .inectc-lat-pie .inectc-sec { background:transparent; border:1px solid var(--inecmc-c-borde); color:var(--inecmc-c-texto); }
    .inectc-lay .inectc-lat-pie .inectc-sec:hover { background:var(--inecmc-c-fondo-hover); }
    .inectc-lay .inectc-velo { display:block; position:fixed; z-index:100000; inset:0; background:rgba(0,0,0,.4); }
    /* Cajon abierto: los ancestros de vibebp (z 1/9) lo encierran bajo las barras del /app; se sueltan solo mientras esta abierto. */
    body *:has(.inectc-lat.inectc-abierto) { z-index:auto!important; }
    .inectc-lay .inectc-velo[hidden] { display:none; }
}

@media (max-width:768px) {
    .inectc-lay .inectc-cab h1 { font-size:21px; margin-bottom:0; }
    .inectc-lay .inectc-cab-fila { flex-wrap:wrap; }
    .inectc-lay .inectc-cab-fila .inectc-barra { order:-1; width:100%; }
    .inectc-lay .inectc-barra { margin-left:0; flex-wrap:wrap; position:relative; }
    .inectc-lay .inectc-buscar { flex:1 1 100%; width:auto; }
    .inectc-lay .inectc-buscar input[type=search] { height: 40px; border-radius:999px; }
    .inectc-lay .inectc-filtro { height: 36px; }
    .inectc-lay .inectc-menu { left:0; right:auto; }
    .inectc-lay .inectc-vistas { margin-left:auto; }
    
}

@media (prefers-reduced-motion:reduce){ .inectc-lay .inectc-lat, .inectc-lay .inectc-faceta>summary svg { transition:none; } }

.grecaptcha-badge { visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }

/* Iconos = menu lateral inecpanel: 18px, trazo 1.7 (Todos y Mis cursos) */
.inectc-lay .inectc-barra svg, .inectc-lay .inectc-barra svg *, .inectc-lay .inectc-lat svg, .inectc-lay .inectc-lat svg *, .inectc-lay .inectc-fchip svg, .inectc-lay .inectc-fchip svg * { stroke-width:1.7; }

/* Barra: el <label> de buscar traia margen de WP y quedaba 4px por encima de Filtros/Orden; todo a 36px y centrado */
.inectc-barra:not(#_) { align-items: center; }
.inectc-barra .inectc-buscar:not(#_) { margin: 0; align-self: center; display: block; line-height: 0; }
section.inecmc .inectc-barra .inectc-filtro:not(#_), .inectc-lay .inectc-barra .inectc-filtro:not(#_) { height: 36px; box-sizing: border-box; font-size: var(--inec-menu-fs, 14px); font-weight: 500; line-height: var(--inec-menu-lh, 1.3); }
/* Filtros compactos en vertical (Todos y Mis cursos): opcion 28px, faceta y buscador mas bajos; :not(#_) gana al margen de <label> del tema */
.inectc-lay .inectc-lat-cab:not(#_) { padding-bottom:8px; }
.inectc-lay .inectc-faceta:not(#_) { padding:6px 0 8px; }
.inectc-lay .inectc-faceta > summary:not(#_) { padding:2px 0; }
.inectc-lay .inectc-fcuerpo:not(#_) { gap:0; padding-top:4px; }
.inectc-lay .inectc-op:not(#_) { min-height:28px; margin:0; padding-top:0; padding-bottom:0; line-height:1.3; }
.inectc-lay .inectc-fbuscar:not(#_) { margin:0 0 4px; }
.inectc-lay .inectc-fbuscar input[type=search]:not(#_) { height:30px; }
.inectc-lay .inectc-interruptor:not(#_) { padding:2px 0; margin:0; }
