/* Estilos de lo que la plantilla epc_legal no tenía: formularios propios, cursos, buscador, acceso.
   Usa las mismas variables (colores, radios, sombras) para que se vea igual. */

.epc-saltar { position: absolute; left: -9999px; top: .5rem; z-index: 1000; background: var(--clr-accent); color: var(--clr-primary-dark); padding: .5rem 1rem; border-radius: var(--radius-sm); font-weight: 600; }
.epc-saltar:focus { left: .5rem; }

/* ---------- formularios ---------- */
.epc-form { max-width: 640px; margin: 1.5rem 0; display: grid; gap: 1.1rem; }
.epc-form h2 { font-size: 1.25rem; margin: 0 0 .5rem; }
.epc-form-campo { display: grid; gap: .35rem; }
.epc-form-campo label { font-weight: 600; font-size: .92rem; color: var(--clr-text); }
.epc-req { color: var(--clr-accent-dark); }
.epc-form input[type="text"], .epc-form input[type="email"], .epc-form input[type="password"],
.epc-form input[type="search"], .epc-form select, .epc-form textarea {
    width: 100%; box-sizing: border-box; font: inherit; font-size: 16px; padding: .7rem .85rem;
    border: 1px solid var(--clr-border); border-radius: var(--radius-md); background: var(--clr-white); color: var(--clr-text);
    transition: border-color var(--transition), box-shadow var(--transition);
}
.epc-form input:focus, .epc-form select:focus, .epc-form textarea:focus {
    outline: none; border-color: var(--clr-accent); box-shadow: 0 0 0 3px rgba(201, 168, 76, .25);
}
.epc-form textarea { resize: vertical; min-height: 9rem; }
.epc-form-ayuda { color: var(--clr-text-light); font-size: .85rem; }
.epc-form-nota { color: var(--clr-text-light); font-size: .85rem; margin: 0; }
.epc-form button[type="submit"] { justify-self: start; border: 0; cursor: pointer; }
.epc-form button[disabled] { opacity: .6; cursor: progress; }
/* Campo trampa para robots: fuera de la vista, sin display:none (algunos robots lo detectan). */
.epc-form-trampa { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }

.epc-aviso { border-radius: var(--radius-md); padding: 1rem 1.2rem; margin: 1rem 0 1.5rem; border: 1px solid; }
.epc-aviso--ok { background: #f0fdf4; border-color: #86efac; color: #14532d; }
.epc-aviso--error { background: #fef2f2; border-color: #fca5a5; color: #7f1d1d; }
.epc-aviso ul { margin: .5rem 0 0 1.2rem; }

/* ---------- iframes (monotributo, capacitaciones) ---------- */
.epc-iframe { margin: 1rem 0; }
.epc-iframe iframe { display: block; width: 100%; min-height: 70vh; border: 1px solid var(--clr-border); border-radius: var(--radius-md); background: #fff; }

/* ---------- cursos ---------- */
.epc-cursos-categorias { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.5rem; }
.epc-cursos-categorias a {
    padding: .4rem .9rem; border-radius: var(--radius-pill); border: 1px solid var(--clr-border);
    font-size: .88rem; color: var(--clr-text); text-decoration: none; background: var(--clr-white);
}
.epc-cursos-categorias a:hover, .epc-cursos-categorias a[aria-current="page"] { background: var(--clr-accent); border-color: var(--clr-accent); color: var(--clr-primary-dark); }
.epc-cursos-grilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.25rem; }
.epc-curso-tarjeta {
    background: var(--clr-white); border: 1px solid var(--clr-border); border-radius: var(--radius-lg);
    padding: 1.25rem 1.35rem; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: .5rem;
}
.epc-curso-tarjeta h3 { font-family: var(--font-heading); font-size: 1.12rem; line-height: 1.35; margin: 0; }
.epc-curso-tarjeta h3 a { color: var(--clr-primary); text-decoration: none; }
.epc-curso-tarjeta p { margin: 0; color: var(--clr-text-light); font-size: .93rem; }
.epc-curso-tarjeta .service-link { margin-top: auto; }
.epc-curso-meta { color: var(--clr-text-light); font-size: .85rem; margin: 0 0 .25rem; }
.epc-curso-meta a { color: var(--clr-accent-dark); }
.epc-curso-volver { margin: 0 0 1rem; font-size: .9rem; }

/* ---------- buscador ---------- */
.epc-buscar-form { max-width: 520px; }
.epc-buscar-resultados { list-style: none; padding: 0; margin: 1rem 0; display: grid; gap: 1rem; }
.epc-buscar-resultados li { border-bottom: 1px solid var(--clr-border); padding-bottom: 1rem; }
.epc-buscar-resultados a { font-family: var(--font-heading); font-size: 1.1rem; color: var(--clr-primary); }
.epc-buscar-resultados p { margin: .35rem 0 0; color: var(--clr-text-light); font-size: .92rem; }
.epc-buscar-resultados mark { background: rgba(201, 168, 76, .3); color: inherit; padding: 0 .1em; }
.epc-buscar-btn { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

/* ---------- acceso y área de clientes ---------- */
.epc-acceso { max-width: 460px; }
.epc-area-lista { list-style: none; padding: 0; display: grid; gap: .6rem; }
.epc-area-lista a { font-weight: 600; }
.epc-sesion { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin: 0 0 1.5rem; color: var(--clr-text-light); }
.epc-sesion form { margin: 0; }
.epc-sesion button { background: none; border: 1px solid var(--clr-border); border-radius: var(--radius-pill); padding: .35rem .9rem; cursor: pointer; color: var(--clr-text); font: inherit; }

/* ---------- modo oscuro ---------- */
html.epc-dark .epc-form input, html.epc-dark .epc-form select, html.epc-dark .epc-form textarea,
html.epc-dark .epc-curso-tarjeta, html.epc-dark .epc-cursos-categorias a { background: #1e293b; border-color: #334155; color: #e2e8f0; }
html.epc-dark .epc-form-campo label, html.epc-dark .epc-sesion button { color: #e2e8f0; }
html.epc-dark .epc-curso-tarjeta h3 a, html.epc-dark .epc-buscar-resultados a { color: #f1f5f9; }
html.epc-dark .epc-aviso--ok { background: #052e16; border-color: #166534; color: #bbf7d0; }
html.epc-dark .epc-aviso--error { background: #450a0a; border-color: #991b1b; color: #fecaca; }
html.epc-dark .epc-buscar-resultados li { border-color: #334155; }
.epc-form-error { color: #b91c1c; font-size: .85rem; font-weight: 600; }
.epc-form [aria-invalid="true"] { border-color: #dc2626; }
html.epc-dark .epc-form-error { color: #fca5a5; }
