/* AP Cursos 2.1 — CSS defensivo.
   El tema del sitio pisa estilos (subrayados, tipografías, tamaños),
   así que subimos especificidad y neutralizamos herencias. */

.apc-wrap,
.apc-ficha{
    --apc-crema:#faf8f3;
    --apc-borde:#e4e0d6;
    --apc-texto:#2f2b26;
    --apc-suave:#6f6a61;
    --apc-verde:#8a9a7b;
    --apc-verde-osc:#5f6e53;
    --apc-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

    box-sizing:border-box;
    max-width:1200px;
    margin:0 auto;
    padding:64px 24px 88px;
    color:var(--apc-texto);
    text-align:left;
}
.apc-wrap *,
.apc-ficha *{box-sizing:border-box;}

/* Neutralizar estilos de enlace y encabezado del tema */
.apc-wrap a,
.apc-wrap a:hover,
.apc-wrap a:focus,
.apc-wrap a:visited,
.apc-ficha a,
.apc-ficha a:hover,
.apc-ficha a:focus,
.apc-ficha a:visited{
    text-decoration:none !important;
    border-bottom:0 !important;
    box-shadow:none !important;
}
.apc-wrap h1,.apc-wrap h2,.apc-wrap h3,
.apc-ficha h1,.apc-ficha h2,.apc-ficha h3{
    text-transform:none !important;
    text-decoration:none !important;
}

/* ---------- Revelado ---------- */
[data-apc-reveal]{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .75s cubic-bezier(.22,.61,.36,1), transform .75s cubic-bezier(.22,.61,.36,1);
    transition-delay:var(--apc-delay,0ms);
    will-change:opacity,transform;
}
[data-apc-reveal].apc-visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
    [data-apc-reveal]{opacity:1 !important;transform:none !important;transition:none !important;}
    .apc-wrap .apc-card:hover{transform:none;}
}

/* ---------- Hero ---------- */
.apc-wrap .apc-hero{text-align:center;max-width:780px;margin:0 auto 72px;}
.apc-wrap .apc-hero-titulo{
    font-size:clamp(2.4rem,5.2vw,3.6rem) !important;
    font-weight:400 !important;
    line-height:1.1 !important;
    letter-spacing:-.025em;
    color:var(--apc-texto);
    margin:0 0 20px !important;
    padding:0;
}
.apc-wrap .apc-hero-bajada{
    font-family:var(--apc-sans);
    font-size:clamp(1.02rem,1.6vw,1.2rem) !important;
    line-height:1.7 !important;
    color:var(--apc-suave) !important;
    margin:0 !important;
}
.apc-wrap .apc-seccion-titulo{
    font-size:clamp(1.6rem,3vw,2.2rem) !important;
    font-weight:400 !important;
    letter-spacing:-.015em;
    text-align:center;
    margin:0 0 48px !important;
}

/* ---------- Grilla ---------- */
.apc-wrap .apc-grid{
    display:grid;
    grid-template-columns:repeat(var(--apc-cols,3),minmax(0,1fr));
    gap:36px;
    align-items:stretch;
    list-style:none;
    margin:0;padding:0;
}
@media(max-width:1024px){.apc-wrap .apc-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;}}
@media(max-width:640px){.apc-wrap .apc-grid{grid-template-columns:1fr;gap:24px;}}

.apc-wrap .apc-card{
    display:flex;
    background:#fff;
    border:1px solid var(--apc-borde);
    border-radius:20px;
    overflow:hidden;
    margin:0;padding:0;
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
}
.apc-wrap .apc-card:hover{
    transform:translateY(-6px);
    box-shadow:0 20px 48px rgba(47,43,38,.13);
    border-color:#d8d3c6;
}
.apc-wrap .apc-card-link{
    display:flex;
    flex-direction:column;
    width:100%;
    color:inherit;
}

.apc-wrap .apc-thumb{
    position:relative;
    width:100%;
    aspect-ratio:3/2;
    overflow:hidden;
    background:var(--apc-crema);
    flex:0 0 auto;
}
.apc-wrap .apc-img{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    object-fit:cover;
    object-position:center 30%;
    display:block;
    margin:0 !important;
    border-radius:0 !important;
    transition:transform .65s cubic-bezier(.22,.61,.36,1);
}
.apc-wrap .apc-card:hover .apc-img{transform:scale(1.06);}
.apc-wrap .apc-thumb-vacio{display:block;width:100%;height:100%;background:linear-gradient(135deg,#eee9dd,#dde2d4);}

.apc-wrap .apc-body{
    display:flex;
    flex-direction:column;
    gap:12px;
    padding:26px 28px 28px;
    flex:1 1 auto;
}
.apc-wrap .apc-card-titulo{
    font-size:1.32rem !important;
    font-weight:500 !important;
    line-height:1.32 !important;
    letter-spacing:-.012em;
    color:var(--apc-texto) !important;
    margin:0 !important;
    padding:0;
}
.apc-wrap .apc-card-desc{
    font-family:var(--apc-sans);
    font-size:.95rem !important;
    line-height:1.62 !important;
    color:var(--apc-suave) !important;
    margin:0 !important;

    /* Recorta a 4 líneas: así todas las tarjetas quedan parejas */
    display:-webkit-box;
    -webkit-line-clamp:4;
    line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.apc-wrap .apc-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-top:auto;
    padding-top:18px;
    border-top:1px solid var(--apc-borde);
}
.apc-wrap .apc-precio{
    font-family:var(--apc-sans);
    font-size:1.02rem !important;
    font-weight:600 !important;
    color:var(--apc-texto) !important;
}
.apc-wrap .apc-cta-link{
    font-family:var(--apc-sans);
    font-size:.9rem !important;
    font-weight:500 !important;
    color:var(--apc-verde-osc) !important;
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-left:auto;
}
.apc-wrap .apc-cta-link::after{content:"\2192";transition:transform .3s ease;}
.apc-wrap .apc-card:hover .apc-cta-link::after{transform:translateX(5px);}

.apc-vacio{text-align:center;color:#6f6a61;padding:56px 20px;}

/* ---------- Ficha del curso ---------- */
.apc-ficha .apc-h2{
    font-size:clamp(1.45rem,2.8vw,2rem) !important;
    font-weight:400 !important;
    letter-spacing:-.015em;
    margin:0 0 22px !important;
}
.apc-ficha .apc-centro{text-align:center;}

/* Hero: imagen de fondo con el texto encima */
.apc-ficha .apc-f-hero{position:relative;margin:0 0 64px;}
.apc-ficha .apc-f-portada{
    position:absolute;inset:0;
    border-radius:26px;overflow:hidden;
}
.apc-ficha .apc-f-portada-img{
    width:100% !important;height:100% !important;
    object-fit:cover;object-position:center 35%;
    display:block;margin:0 !important;border-radius:0 !important;
}
.apc-ficha .apc-f-velo{
    position:absolute;inset:0;
    background:linear-gradient(180deg,rgba(30,28,24,.30) 0%,rgba(30,28,24,.58) 55%,rgba(30,28,24,.72) 100%);
}
.apc-ficha .apc-f-intro{
    position:relative;
    text-align:center;max-width:800px;
    margin:0 auto;padding:0 24px;
}
.apc-ficha .apc-tiene-portada .apc-f-intro{
    min-height:clamp(360px,46vw,540px);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:64px 32px;
}
.apc-ficha .apc-f-titulo{
    font-size:clamp(2.1rem,4.8vw,3.2rem) !important;
    font-weight:400 !important;
    line-height:1.14 !important;
    letter-spacing:-.025em;
    margin:0 0 18px !important;
}
.apc-ficha .apc-tiene-portada .apc-f-titulo{
    color:#fff !important;
    text-shadow:0 2px 24px rgba(0,0,0,.35);
}
.apc-ficha .apc-f-sub{
    font-family:var(--apc-sans);
    font-size:clamp(1rem,1.7vw,1.18rem) !important;
    line-height:1.65 !important;
    color:var(--apc-suave) !important;
    margin:0 0 32px !important;
}
.apc-ficha .apc-tiene-portada .apc-f-sub{
    color:rgba(255,255,255,.92) !important;
    text-shadow:0 1px 14px rgba(0,0,0,.3);
}
.apc-ficha .apc-tiene-portada .apc-btn{
    background:#fff !important;color:#3b4634 !important;
    box-shadow:0 8px 28px rgba(0,0,0,.22);
}
.apc-ficha .apc-tiene-portada .apc-btn:hover{background:#f2efe7 !important;color:#3b4634 !important;}

.apc-ficha .apc-btn{
    display:inline-block;
    background:var(--apc-verde-osc) !important;
    color:#fff !important;
    border-radius:999px;
    padding:16px 44px;
    font-family:var(--apc-sans);
    font-size:1rem !important;
    font-weight:500 !important;
    letter-spacing:.01em;
    transition:background .25s ease, transform .25s ease;
}
.apc-ficha .apc-btn:hover{background:#4e5c44 !important;transform:translateY(-2px);}

.apc-ficha .apc-f-frase{
    max-width:820px;margin:0 auto 64px;padding:0 24px;
    text-align:center;font-style:italic;
    font-size:clamp(1.15rem,2.4vw,1.55rem) !important;
    line-height:1.55 !important;
    color:var(--apc-verde-osc) !important;
    border:0 !important;background:none !important;
}

.apc-ficha .apc-f-texto{max-width:780px;margin:0 auto 64px;line-height:1.78;}
.apc-ficha .apc-f-texto p{margin:0 0 1.15em;}

.apc-ficha .apc-f-pilares{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin:0 0 72px;}
@media(max-width:860px){.apc-ficha .apc-f-pilares{grid-template-columns:1fr;gap:22px;}}
.apc-ficha .apc-pilar{background:var(--apc-crema);border:1px solid var(--apc-borde);border-radius:20px;padding:32px 30px;}
.apc-ficha .apc-pilar-titulo{font-size:1.18rem !important;font-weight:500 !important;margin:0 0 12px !important;}
.apc-ficha .apc-pilar-texto{font-family:var(--apc-sans);font-size:.95rem !important;line-height:1.65 !important;color:var(--apc-suave) !important;margin:0 !important;}

.apc-ficha .apc-f-listas{display:grid;grid-template-columns:1fr 1fr;gap:52px;margin:0 0 72px;}
@media(max-width:860px){.apc-ficha .apc-f-listas{grid-template-columns:1fr;gap:40px;}}
.apc-ficha .apc-lista{list-style:none !important;margin:0 !important;padding:0 !important;font-family:var(--apc-sans);}
.apc-ficha .apc-lista li{position:relative;padding-left:30px;margin-bottom:14px;line-height:1.65;list-style:none !important;}
.apc-ficha .apc-lista li::before{
    content:"";position:absolute;left:6px;top:.66em;
    width:7px;height:7px;border-radius:50%;background:var(--apc-verde);
}
.apc-ficha .apc-lista-centro{display:inline-block;text-align:left;margin:24px 0 !important;}

.apc-ficha .apc-f-temario{margin:0 0 72px;}
.apc-ficha .apc-modulos{max-width:880px;margin:0 auto;}
.apc-ficha .apc-modulo{border:1px solid var(--apc-borde);border-radius:16px;margin-bottom:14px;overflow:hidden;background:#fff;}
.apc-ficha .apc-modulo-head{
    cursor:pointer;list-style:none;padding:22px 28px;
    font-size:1.08rem !important;font-weight:500 !important;
    display:flex;align-items:center;gap:14px;
}
.apc-ficha .apc-modulo-head::-webkit-details-marker{display:none;}
.apc-ficha .apc-modulo-head::before{
    content:"+";font-size:1.3rem;line-height:1;color:var(--apc-verde-osc);
    transition:transform .3s ease;flex:0 0 auto;
}
.apc-ficha .apc-modulo[open] .apc-modulo-head::before{transform:rotate(45deg);}
.apc-ficha .apc-modulo-body{padding:0 28px 26px 66px;}
.apc-ficha .apc-modulo-intro{font-family:var(--apc-sans);color:var(--apc-suave) !important;line-height:1.7;margin:0 0 16px !important;}

.apc-ficha .apc-f-precio{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    gap:0;
    text-align:center;
    background:var(--apc-crema);
    border:1px solid var(--apc-borde);
    border-radius:24px;
    padding:56px 30px;
    margin:0 0 72px;
}
/* Cada hijo ocupa su propia fila */
.apc-ficha .apc-f-precio > *{
    flex:0 0 auto;
    max-width:100%;
}
.apc-ficha .apc-f-precio .apc-lista-centro{
    display:inline-block;
    text-align:left;
    margin:22px 0 0 !important;
}
.apc-ficha .apc-f-precio .apc-btn{
    margin-top:34px !important;
}
.apc-ficha .apc-precio-grande{font-size:clamp(2.3rem,5vw,3.3rem) !important;font-weight:500 !important;letter-spacing:-.02em;}
.apc-ficha .apc-precio-nota{font-family:var(--apc-sans);color:var(--apc-suave) !important;margin:10px 0 0 !important;font-size:.95rem !important;}

/* ---------- Quién te acompaña ---------- */
.apc-ficha .apc-f-guia{
    display:grid;
    gap:40px;
    align-items:center;
    background:var(--apc-crema);
    border:1px solid var(--apc-borde);
    border-radius:24px;
    padding:44px 46px;
}
.apc-ficha .apc-guia-con-foto{grid-template-columns:200px minmax(0,1fr);}
.apc-ficha .apc-guia-sin-foto{grid-template-columns:minmax(0,1fr);text-align:center;max-width:720px;margin:0 auto;}
@media(max-width:720px){
    .apc-ficha .apc-guia-con-foto{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center;gap:24px;}
    .apc-ficha .apc-f-guia{padding:34px 26px;}
}
.apc-ficha .apc-guia-foto{width:100%;max-width:200px;}
.apc-ficha .apc-guia-img{
    width:100% !important;height:auto !important;
    aspect-ratio:1/1;object-fit:cover;
    border-radius:50%;
    display:block;margin:0 !important;
    box-shadow:0 10px 30px rgba(47,43,38,.14);
}
.apc-ficha .apc-guia-texto{min-width:0;}
.apc-ficha .apc-guia-texto .apc-h2{
    font-size:clamp(1.3rem,2.4vw,1.75rem) !important;
    margin:0 0 14px !important;
    line-height:1.25 !important;
}
.apc-ficha .apc-guia-texto p{
    font-family:var(--apc-sans);
    font-size:1rem !important;
    line-height:1.78;
    color:var(--apc-suave) !important;
    margin:0 !important;
}

/* ---------- Acordeón de módulos: más presencia ---------- */
.apc-ficha .apc-modulo{
    border:1px solid var(--apc-borde);
    border-radius:18px;
    margin-bottom:16px;
    background:#fff;
    transition:border-color .25s ease, box-shadow .25s ease;
}
.apc-ficha .apc-modulo:hover{border-color:#cfc9ba;box-shadow:0 6px 20px rgba(47,43,38,.07);}
.apc-ficha .apc-modulo[open]{
    border-color:var(--apc-verde);
    box-shadow:0 10px 30px rgba(95,110,83,.12);
}
.apc-ficha .apc-modulo-head{
    padding:22px 26px;
    transition:color .2s ease;
}
.apc-ficha .apc-modulo-head:hover{color:var(--apc-verde-osc);}
.apc-ficha .apc-modulo-head::before{
    display:inline-flex;align-items:center;justify-content:center;
    width:30px;height:30px;
    border-radius:50%;
    background:var(--apc-crema);
    border:1px solid var(--apc-borde);
    font-size:1.1rem;
}
.apc-ficha .apc-modulo[open] .apc-modulo-head::before{
    background:var(--apc-verde-osc);
    border-color:var(--apc-verde-osc);
    color:#fff;
}
.apc-ficha .apc-modulo-body{
    padding:0 26px 24px 70px;
    animation:apcAbrir .35s cubic-bezier(.22,.61,.36,1);
}
@keyframes apcAbrir{
    from{opacity:0;transform:translateY(-8px);}
    to{opacity:1;transform:none;}
}
@media(max-width:640px){
    .apc-ficha .apc-modulo-body{padding:0 22px 22px 22px;}
}

/* ---------- Lecciones con estado (vista previa / con acceso) ---------- */
.apc-ficha .apc-lecciones{list-style:none !important;margin:0 !important;padding:0 !important;}
.apc-ficha .apc-leccion{
    display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:13px 0;
    border-bottom:1px solid #efece3;
    font-family:var(--apc-sans);
    line-height:1.5;
}
.apc-ficha .apc-leccion:last-child{border-bottom:0;}
.apc-ficha .apc-leccion-texto{
    display:flex;align-items:center;gap:11px;
    color:var(--apc-texto);
    font-size:.97rem;
}
.apc-ficha .apc-leccion-texto::before{
    content:"\1F512";              /* candado */
    font-size:.9rem;
    opacity:.45;
    flex:0 0 auto;
}
.apc-ficha .apc-leccion-libre .apc-leccion-texto::before{
    content:"\25B6";               /* play */
    color:var(--apc-verde-osc);
    opacity:1;
}
.apc-ficha .apc-leccion-estado{
    flex:0 0 auto;
    font-size:.74rem;
    font-weight:600;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#8a857b;
    background:#f4f2ea;
    border:1px solid #e4e0d6;
    border-radius:999px;
    padding:5px 12px;
    white-space:nowrap;
}
.apc-ficha .apc-leccion-libre .apc-leccion-estado{
    color:#4e5c44;
    background:#eef0e7;
    border-color:#dcdfd0;
}
@media(max-width:560px){
    .apc-ficha .apc-leccion{flex-direction:column;align-items:flex-start;gap:8px;}
}

/* ---------- Precio: más presencia ---------- */
.apc-ficha .apc-precio-grande{
    font-family:var(--apc-sans);
    letter-spacing:-.03em;
}

/* ============================================================
   AULA — vista del alumno
   ============================================================ */
.apc-aula{
    --apc-crema:#faf8f3;
    --apc-borde:#e4e0d6;
    --apc-texto:#2f2b26;
    --apc-suave:#6f6a61;
    --apc-verde:#5f6e53;
    --apc-verde-osc:#4e5c44;
    --apc-verde-claro:#eef0e7;
    --apc-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

    box-sizing:border-box;
    max-width:1240px;
    margin:0 auto;
    padding:56px 24px 88px;
    color:var(--apc-texto);
}
.apc-aula *{box-sizing:border-box;}
.apc-aula a{text-decoration:none !important;border-bottom:0 !important;}

/* Cabecera */
.apc-aula-cabecera{margin:0 0 44px;}
.apc-aula-eyebrow{
    font-family:var(--apc-sans);
    font-size:.78rem !important;font-weight:700 !important;
    letter-spacing:.14em;text-transform:uppercase;
    color:var(--apc-verde) !important;
    margin:0 0 10px !important;
}
.apc-aula-titulo{
    font-size:clamp(1.9rem,4vw,2.8rem) !important;
    font-weight:400 !important;line-height:1.14 !important;
    letter-spacing:-.025em;margin:0 0 12px !important;
}
.apc-aula-meta{
    font-family:var(--apc-sans);
    font-size:.95rem !important;color:var(--apc-suave) !important;margin:0 !important;
}

/* Layout */
.apc-aula-cuerpo{
    display:grid;
    grid-template-columns:300px minmax(0,1fr);
    gap:40px;
    align-items:start;
}
@media(max-width:900px){
    .apc-aula-cuerpo{grid-template-columns:minmax(0,1fr);gap:26px;}
}

/* Navegación de módulos */
.apc-aula-nav{
    display:flex;flex-direction:column;gap:10px;
    position:sticky;top:24px;
}
@media(max-width:900px){
    .apc-aula-nav{position:static;flex-direction:row;flex-wrap:wrap;}
    .apc-aula-nav-titulo{width:100%;}
    .apc-aula-tab{flex:1 1 auto;min-width:200px;}
}
.apc-aula-nav-titulo{
    font-family:var(--apc-sans);
    font-size:.76rem !important;font-weight:700 !important;
    letter-spacing:.12em;text-transform:uppercase;
    color:var(--apc-suave) !important;
    margin:0 0 6px !important;padding-left:4px;
}

.apc-aula-tab{
    display:flex;align-items:center;gap:14px;
    width:100%;text-align:left;
    background:#fff;border:1px solid var(--apc-borde);border-radius:16px;
    padding:16px 18px;cursor:pointer;
    font-family:var(--apc-sans);
    transition:border-color .25s ease,box-shadow .25s ease,background .25s ease,transform .25s ease;
}
.apc-aula-tab:hover{
    border-color:#cfc9ba;box-shadow:0 8px 22px rgba(47,43,38,.08);transform:translateX(4px);
}
.apc-aula-tab.apc-activo{
    background:var(--apc-verde);border-color:var(--apc-verde);
    box-shadow:0 12px 30px rgba(95,110,83,.26);transform:none;
}
.apc-aula-tab-num{
    flex:0 0 auto;
    display:inline-flex;align-items:center;justify-content:center;
    width:32px;height:32px;border-radius:50%;
    background:var(--apc-verde-claro);border:1px solid #dcdfd0;
    font-size:.88rem;font-weight:700;color:var(--apc-verde-osc);
    transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.apc-aula-tab.apc-activo .apc-aula-tab-num{
    background:#fff;border-color:#fff;color:var(--apc-verde-osc);
}
.apc-aula-tab-texto{display:flex;flex-direction:column;gap:2px;min-width:0;}
.apc-aula-tab-nombre{
    font-size:.97rem;font-weight:600;line-height:1.3;color:var(--apc-texto);
    transition:color .25s ease;
}
.apc-aula-tab-sub{font-size:.8rem;color:var(--apc-suave);transition:color .25s ease;}
.apc-aula-tab.apc-activo .apc-aula-tab-nombre{color:#fff;}
.apc-aula-tab.apc-activo .apc-aula-tab-sub{color:rgba(255,255,255,.78);}

/* Panel */
.apc-aula-modulo{display:none;}
.apc-aula-modulo.apc-activo{display:block;animation:apcAulaEntra .4s cubic-bezier(.22,.61,.36,1);}
@keyframes apcAulaEntra{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}

.apc-aula-modulo-titulo{
    font-size:clamp(1.3rem,2.4vw,1.7rem) !important;
    font-weight:400 !important;letter-spacing:-.015em;
    margin:0 0 22px !important;
}

.apc-aula-lecciones{display:flex;flex-direction:column;gap:12px;}

/* Lección */
.apc-aula-leccion{
    background:#fff;border:1px solid var(--apc-borde);border-radius:16px;overflow:hidden;
    transition:border-color .25s ease,box-shadow .25s ease;
}
.apc-aula-leccion:hover{border-color:#cfc9ba;box-shadow:0 8px 22px rgba(47,43,38,.08);}
.apc-aula-leccion[open]{border-color:var(--apc-verde);box-shadow:0 14px 36px rgba(95,110,83,.16);}

.apc-aula-leccion-head{
    display:flex;align-items:center;gap:14px;
    padding:20px 24px;cursor:pointer;list-style:none;
    font-family:var(--apc-sans);
    transition:background .2s ease;
}
.apc-aula-leccion-head::-webkit-details-marker{display:none;}
.apc-aula-leccion-head:hover{background:#fcfbf8;}
.apc-aula-leccion[open] .apc-aula-leccion-head{
    background:var(--apc-crema);border-bottom:1px solid var(--apc-borde);
}

.apc-aula-leccion-icono{
    flex:0 0 auto;
    display:inline-flex;align-items:center;justify-content:center;
    width:34px;height:34px;border-radius:50%;
    background:var(--apc-verde-claro);border:1px solid #dcdfd0;
    font-size:.74rem;color:var(--apc-verde);
    transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.apc-aula-leccion[open] .apc-aula-leccion-icono{
    background:var(--apc-verde);border-color:var(--apc-verde);color:#fff;
}
.apc-aula-leccion-titulo{
    flex:1 1 auto;min-width:0;
    font-size:1.02rem;font-weight:500;line-height:1.4;color:var(--apc-texto);
}
.apc-aula-leccion[open] .apc-aula-leccion-titulo{font-weight:600;color:var(--apc-verde-osc);}

.apc-aula-leccion-chevron{
    flex:0 0 auto;width:10px;height:10px;
    border-right:2px solid var(--apc-suave);border-bottom:2px solid var(--apc-suave);
    transform:rotate(45deg);margin-top:-4px;
    transition:transform .3s ease,border-color .3s ease;
}
.apc-aula-leccion[open] .apc-aula-leccion-chevron{
    transform:rotate(-135deg);margin-top:2px;border-color:var(--apc-verde);
}

/* Cuerpo de la lección */
.apc-aula-leccion-cuerpo{
    padding:26px 28px 30px;
    font-family:var(--apc-sans);
    font-size:1rem;line-height:1.78;color:var(--apc-suave);
    animation:apcAulaAbre .35s cubic-bezier(.22,.61,.36,1);
}
@keyframes apcAulaAbre{from{opacity:0;transform:translateY(-8px);}to{opacity:1;transform:none;}}
.apc-aula-leccion-cuerpo p{margin:0 0 1.05em;}
.apc-aula-leccion-cuerpo p:last-child{margin-bottom:0;}
.apc-aula-leccion-cuerpo h2,
.apc-aula-leccion-cuerpo h3{
    color:var(--apc-texto);font-weight:600;margin:1.4em 0 .6em;line-height:1.3;
}
.apc-aula-leccion-cuerpo ul,
.apc-aula-leccion-cuerpo ol{margin:0 0 1.1em;padding-left:1.4em;}
.apc-aula-leccion-cuerpo li{margin-bottom:.5em;}

/* Medios dentro de la lección */
.apc-aula-leccion-cuerpo iframe,
.apc-aula-leccion-cuerpo video,
.apc-aula-leccion-cuerpo .wp-video,
.apc-aula-leccion-cuerpo .fluid-width-video-wrapper{
    display:block;width:100% !important;max-width:100% !important;
    height:auto;aspect-ratio:16/9;
    border:0;border-radius:14px;background:#16150f;
    box-shadow:0 14px 36px rgba(47,43,38,.18);
    margin:4px 0 22px;
}
.apc-aula-leccion-cuerpo .fluid-width-video-wrapper{padding:0 !important;}
.apc-aula-leccion-cuerpo .fluid-width-video-wrapper iframe{margin:0;box-shadow:none;}

.apc-aula-leccion-cuerpo audio,
.apc-aula-leccion-cuerpo .wp-audio-shortcode{
    display:block;width:100% !important;margin:4px 0 20px;
}

.apc-aula-leccion-cuerpo img{
    max-width:100%;height:auto;display:block;border-radius:14px;
    margin:4px 0 20px;box-shadow:0 10px 28px rgba(47,43,38,.10);
}

.apc-aula-leccion-cuerpo a[href$=".pdf"],
.apc-aula-leccion-cuerpo a[href$=".doc"],
.apc-aula-leccion-cuerpo a[href$=".docx"],
.apc-aula-leccion-cuerpo a[href$=".zip"],
.apc-aula-leccion-cuerpo a[href$=".mp3"]{
    display:inline-flex;align-items:center;gap:10px;
    font-size:.94rem;font-weight:600;
    color:var(--apc-verde-osc) !important;
    background:var(--apc-verde-claro);
    border:1px solid #dcdfd0;border-radius:12px;
    padding:13px 22px;margin:6px 8px 14px 0;
    transition:background .25s ease,transform .25s ease,box-shadow .25s ease;
}
.apc-aula-leccion-cuerpo a[href$=".pdf"]::before,
.apc-aula-leccion-cuerpo a[href$=".doc"]::before,
.apc-aula-leccion-cuerpo a[href$=".docx"]::before,
.apc-aula-leccion-cuerpo a[href$=".zip"]::before,
.apc-aula-leccion-cuerpo a[href$=".mp3"]::before{content:"\2B07";font-size:1rem;line-height:1;}
.apc-aula-leccion-cuerpo a[href$=".pdf"]:hover,
.apc-aula-leccion-cuerpo a[href$=".mp3"]:hover{
    background:#e3e7d9;transform:translateY(-2px);box-shadow:0 8px 20px rgba(95,110,83,.18);
}

.apc-aula-leccion-cuerpo embed[type="application/pdf"],
.apc-aula-leccion-cuerpo object[type="application/pdf"]{
    width:100% !important;min-height:640px;
    border:1px solid var(--apc-borde);border-radius:14px;margin:4px 0 20px;
}

@media(max-width:600px){
    .apc-aula{padding:40px 16px 72px;}
    .apc-aula-leccion-head{padding:16px 18px;}
    .apc-aula-leccion-cuerpo{padding:20px 18px 24px;}
}
@media(prefers-reduced-motion:reduce){
    .apc-aula-modulo.apc-activo,
    .apc-aula-leccion-cuerpo{animation:none;}
    .apc-aula-tab:hover{transform:none;}
}

/* ============================================================
   AULA — refinamiento visual
   ============================================================ */

.apc-aula{max-width:1300px;padding:64px 28px 96px;}

/* Cabecera con acento lateral */
.apc-aula-cabecera{
    position:relative;
    padding:0 0 30px 0;
    margin:0 0 48px;
    border-bottom:1px solid var(--apc-borde);
}
.apc-aula-eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:.72rem !important;letter-spacing:.16em;
}
.apc-aula-eyebrow::before{
    content:"";width:26px;height:2px;background:var(--apc-verde);border-radius:2px;
}
.apc-aula-meta{
    display:inline-flex;align-items:center;gap:10px;
    font-size:.9rem !important;font-weight:500 !important;
    color:var(--apc-verde-osc) !important;
    background:var(--apc-verde-claro);
    border:1px solid #dcdfd0;border-radius:999px;
    padding:7px 16px;
}

/* Sidebar */
.apc-aula-cuerpo{grid-template-columns:320px minmax(0,1fr);gap:48px;}
@media(max-width:960px){.apc-aula-cuerpo{grid-template-columns:minmax(0,1fr);gap:28px;}}

.apc-aula-tab{
    padding:18px 20px;
    border-radius:18px;
    position:relative;
    overflow:hidden;
}
/* Barra de acento a la izquierda del módulo activo */
.apc-aula-tab::before{
    content:"";
    position:absolute;left:0;top:50%;
    width:4px;height:0;
    background:var(--apc-verde);
    border-radius:0 4px 4px 0;
    transform:translateY(-50%);
    transition:height .3s cubic-bezier(.22,.61,.36,1);
}
.apc-aula-tab:hover::before{height:42%;}
.apc-aula-tab.apc-activo::before{height:0;}

.apc-aula-tab-num{
    width:36px;height:36px;font-size:.92rem;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.apc-aula-tab.apc-activo .apc-aula-tab-num{
    box-shadow:0 4px 12px rgba(0,0,0,.14);
}
.apc-aula-tab-nombre{font-size:1rem;letter-spacing:-.005em;}
.apc-aula-tab-sub{font-size:.79rem;letter-spacing:.01em;}
.apc-aula-tab.apc-activo .apc-aula-tab-sub{color:rgba(255,255,255,.85);}

/* Encabezado del módulo con numeración */
.apc-aula-modulo-titulo{
    display:flex;align-items:baseline;gap:14px;
    padding-bottom:18px;
    border-bottom:1px solid var(--apc-borde);
    margin:0 0 26px !important;
}

/* Lecciones */
.apc-aula-lecciones{gap:14px;}
.apc-aula-leccion{border-radius:18px;}
.apc-aula-leccion-head{padding:22px 26px;gap:16px;}
.apc-aula-leccion-icono{
    width:38px;height:38px;font-size:.8rem;
    box-shadow:0 2px 8px rgba(47,43,38,.06);
}
.apc-aula-leccion[open] .apc-aula-leccion-icono{
    box-shadow:0 4px 14px rgba(95,110,83,.32);
}
.apc-aula-leccion-titulo{font-size:1.05rem;letter-spacing:-.005em;}

/* Cuerpo con más aire */
.apc-aula-leccion-cuerpo{padding:30px 32px 34px;}

/* Marco del video */
.apc-aula-leccion-cuerpo iframe,
.apc-aula-leccion-cuerpo video,
.apc-aula-leccion-cuerpo .wp-video,
.apc-aula-leccion-cuerpo .wp-video-shortcode,
.apc-aula-leccion-cuerpo .mejs-container{
    display:block;
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    aspect-ratio:16/9;
    border:0;
    border-radius:16px;
    overflow:hidden;
    background:#16150f;
    box-shadow:0 18px 44px rgba(47,43,38,.22);
    margin:0 0 24px;
}
.apc-aula-leccion-cuerpo .wp-video,
.apc-aula-leccion-cuerpo .wp-video-shortcode{background:transparent;box-shadow:none;}
.apc-aula-leccion-cuerpo .wp-video video,
.apc-aula-leccion-cuerpo .mejs-container video{margin:0;box-shadow:none;border-radius:16px;}

/* Descargas más marcadas */
.apc-aula-leccion-cuerpo a[href$=".pdf"],
.apc-aula-leccion-cuerpo a[href$=".doc"],
.apc-aula-leccion-cuerpo a[href$=".docx"],
.apc-aula-leccion-cuerpo a[href$=".zip"],
.apc-aula-leccion-cuerpo a[href$=".mp3"]{
    background:#fff;
    border:1.5px solid var(--apc-verde);
    padding:14px 24px;
    border-radius:14px;
}

@media(max-width:600px){
    .apc-aula{padding:40px 16px 76px;}
    .apc-aula-leccion-head{padding:18px 20px;gap:12px;}
    .apc-aula-leccion-cuerpo{padding:22px 20px 26px;}
    .apc-aula-leccion-icono{width:32px;height:32px;}
}

/* ============================================================
   AULA — botones de módulo y panel, versión final
   ============================================================ */

.apc-aula-nav{gap:12px;}

.apc-aula-nav-titulo{
    display:flex;align-items:center;gap:10px;
    font-size:.72rem !important;letter-spacing:.16em;
    margin:0 0 10px !important;padding:0 !important;
}
.apc-aula-nav-titulo::after{
    content:"";flex:1;height:1px;background:var(--apc-borde);
}

/* Botón de módulo */
.apc-aula-tab{
    align-items:center;
    gap:16px;
    padding:20px 22px;
    border-radius:20px;
    background:linear-gradient(180deg,#fff 0%,#fdfcf9 100%);
    border:1px solid var(--apc-borde);
    box-shadow:0 1px 2px rgba(47,43,38,.04);
}
.apc-aula-tab:hover{
    background:linear-gradient(180deg,#fff 0%,#faf8f3 100%);
    border-color:#c8c2b2;
    box-shadow:0 10px 26px rgba(47,43,38,.10);
    transform:translateX(5px);
}

.apc-aula-tab.apc-activo,
.apc-aula-tab.apc-activo:hover{
    background:linear-gradient(145deg,#6b7b5d 0%,#55634a 100%);
    border-color:#4e5c44;
    box-shadow:0 16px 34px rgba(78,92,68,.34);
    transform:none;
}

/* Número del módulo */
.apc-aula-tab-num{
    width:42px;height:42px;
    border-radius:14px;
    font-size:1rem;font-weight:700;
    background:var(--apc-verde-claro);
    border:1px solid #dcdfd0;
    color:var(--apc-verde-osc);
    box-shadow:none;
    transition:all .3s cubic-bezier(.22,.61,.36,1);
}
.apc-aula-tab:hover .apc-aula-tab-num{
    background:#e3e7d9;transform:scale(1.06);
}
.apc-aula-tab.apc-activo .apc-aula-tab-num{
    background:rgba(255,255,255,.96);
    border-color:transparent;
    color:#4e5c44;
    box-shadow:0 6px 16px rgba(0,0,0,.20);
    transform:none;
}

.apc-aula-tab-nombre{
    font-size:1.02rem;font-weight:600;letter-spacing:-.008em;
}
.apc-aula-tab-sub{
    display:inline-flex;align-items:center;gap:6px;
    font-size:.8rem;font-weight:500;
}
.apc-aula-tab-sub::before{
    content:"";width:5px;height:5px;border-radius:50%;
    background:var(--apc-verde);opacity:.55;
}
.apc-aula-tab.apc-activo .apc-aula-tab-sub::before{
    background:#fff;opacity:.75;
}

/* Título del módulo en el panel */
.apc-aula-modulo-titulo{
    align-items:center;
    gap:16px;
    font-size:clamp(1.4rem,2.6vw,1.9rem) !important;
    padding-bottom:20px;
}
.apc-aula-modulo-titulo::after{
    content:"";flex:1;height:1px;background:var(--apc-borde);
}

/* Lecciones: numeración discreta */
.apc-aula-lecciones{counter-reset:apcLec;}
.apc-aula-leccion{counter-increment:apcLec;}
.apc-aula-leccion-head{position:relative;}

.apc-aula-leccion-icono{
    border-radius:12px;
    width:40px;height:40px;
    font-size:.82rem;
}
.apc-aula-leccion[open] .apc-aula-leccion-icono{
    transform:scale(1.04);
}

.apc-aula-leccion[open]{
    border-width:1.5px;
}

/* Video con marco */
.apc-aula-leccion-cuerpo iframe,
.apc-aula-leccion-cuerpo video{
    border-radius:18px;
    box-shadow:0 22px 52px rgba(47,43,38,.24),
               0 0 0 1px rgba(47,43,38,.06);
}
.apc-aula-leccion-cuerpo video{
    background:#0e0d0a;
}
.apc-aula-leccion-cuerpo img{
    -webkit-user-drag:none;user-select:none;
}

@media(max-width:960px){
    .apc-aula-tab{flex:1 1 240px;}
}
