/* Capacitación Emprenderte — identidad de la casa: base clara con presencia,
   verde y rojo claros de Emprenderte, dorado solo como acento, tarjetas con
   fondo real y texto siempre de alto contraste. */
:root{
  --verde:#15803d; --verde-osc:#14532d; --verde-claro:#dcfce7; --rojo:#dc2626; --rojo-claro:#fee2e2;
  --dorado:#c9a227; --tinta:#12211a; --tinta2:#3f5546; --fondo:#f3f7f1; --tarjeta:#ffffff;
  --borde:#d8e4d4; --sombra:0 10px 30px rgba(20,83,45,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--tinta);
  background:
    radial-gradient(900px 480px at 85% -80px, rgba(201,162,39,.16), transparent 60%),
    radial-gradient(1100px 620px at -10% 12%, rgba(21,128,61,.13), transparent 55%),
    linear-gradient(180deg,#eef5ea 0%, var(--fondo) 340px);
  min-height:100vh}
a{color:var(--verde-osc)}
img{max-width:100%}
.cabecera{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:2px solid var(--verde)}
.cab-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:14px;padding:10px 16px}
.marca{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--tinta)}
.marca .logo{width:38px;height:38px;border-radius:10px;background:linear-gradient(135deg,var(--verde),var(--verde-osc));display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:19px;border:1px solid var(--dorado)}
.marca b{font-size:19px;letter-spacing:.2px}
.marca small{display:block;color:var(--verde);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:1.4px}
.cab-der{margin-left:auto;display:flex;align-items:center;gap:10px}
.volver{font-weight:700;text-decoration:none;color:var(--verde-osc);border:1.5px solid var(--verde);padding:7px 12px;border-radius:999px;background:#fff}
.volver:hover{background:var(--verde-claro)}
#sel-idioma{padding:8px;border-radius:10px;border:1.5px solid var(--borde);background:#fff;font-weight:600;color:var(--tinta)}
.btn{display:inline-block;background:var(--verde);color:#fff;font-weight:700;text-decoration:none;border:none;border-radius:12px;padding:12px 20px;font-size:16px;cursor:pointer;box-shadow:var(--sombra)}
.btn:hover{background:var(--verde-osc)}
.btn.dorado{background:var(--dorado);color:#221a02}
.btn.dorado:hover{background:#a98820}
.btn.suave{background:#fff;color:var(--verde-osc);border:1.5px solid var(--verde);box-shadow:none}
.btn.rojo{background:var(--rojo)}
.btn:disabled{opacity:.55;cursor:wait}
.cont{max-width:1180px;margin:0 auto;padding:22px 16px 60px}
.hero{display:grid;grid-template-columns:1.25fr .75fr;gap:22px;align-items:stretch;margin-top:8px}
@media(max-width:820px){.hero{grid-template-columns:1fr}}
.panel{background:var(--tarjeta);border:1px solid var(--borde);border-radius:18px;box-shadow:var(--sombra);padding:24px}
.panel.osc{background:linear-gradient(150deg,#123524,#14532d 55%,#175c33);color:#f2f8f2;border-color:#0d3a22}
.panel.osc a{color:#ffd968}
h1{font-size:32px;line-height:1.15;margin:0 0 10px}
h2{font-size:24px;margin:26px 0 12px}
h3{font-size:18px;margin:18px 0 8px}
p{line-height:1.55}
.etiqueta{display:inline-block;background:var(--verde-claro);color:var(--verde-osc);font-weight:700;font-size:12px;padding:4px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.8px}
.etiqueta.dorada{background:#f7ead0;color:#6d5410}
.etiqueta.roja{background:var(--rojo-claro);color:#8c1d1d}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:16px}
.card{background:var(--tarjeta);border:1px solid var(--borde);border-radius:16px;overflow:hidden;box-shadow:var(--sombra);display:flex;flex-direction:column}
.card img{height:150px;width:100%;object-fit:cover}
.card .cuerpo{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{margin:0;font-size:17px}
.card p{margin:0;color:var(--tinta2);font-size:14.5px;flex:1}
.barra{height:10px;background:#e5eee1;border-radius:99px;overflow:hidden}
.barra i{display:block;height:100%;background:linear-gradient(90deg,var(--verde),#22c55e);border-radius:99px}
.menu{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 20px}
.menu a{text-decoration:none;font-weight:700;color:var(--verde-osc);background:#fff;border:1.5px solid var(--borde);padding:9px 14px;border-radius:999px}
.menu a:hover,.menu a.act{border-color:var(--verde);background:var(--verde-claro)}
.menu a.act{background:var(--verde);color:#fff}
table.clases{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--borde);border-radius:14px;overflow:hidden}
table.clases th{background:var(--verde-osc);color:#fff;text-align:left;padding:10px 12px;font-size:14px}
table.clases td{padding:10px 12px;border-top:1px solid var(--borde);vertical-align:top;font-size:14.5px;line-height:1.45}
table.clases tr:nth-child(even) td{background:#f6faf4}
.num{font-weight:800;color:var(--verde);white-space:nowrap}
input[type=text],input[type=password],input[type=email],textarea,select.campo{width:100%;padding:12px;border:1.5px solid var(--borde);border-radius:12px;font-size:16px;background:#fff;color:var(--tinta)}
label{font-weight:700;font-size:14px;display:block;margin:12px 0 6px}
.error{background:var(--rojo-claro);color:#8c1d1d;border:1px solid #f3b1b1;border-radius:12px;padding:12px 14px;font-weight:600}
.ok{background:var(--verde-claro);color:var(--verde-osc);border:1px solid #a7dfba;border-radius:12px;padding:12px 14px;font-weight:600}
.aviso{background:#fdf6e0;border:1px solid #ecd27c;color:#5c4a08;border-radius:12px;padding:12px 14px;font-weight:600}
.leccion{background:#fff;border:1px solid var(--borde);border-radius:16px;padding:22px;margin:16px 0;box-shadow:var(--sombra)}
.leccion p{color:#22392c}
.practica{background:var(--verde-claro);border-left:5px solid var(--verde);border-radius:10px;padding:12px 14px;margin-top:14px}
.practica b{color:var(--verde-osc)}
.pilares{display:flex;flex-wrap:wrap;gap:8px}
.pilares span{background:#fff;border:1.5px solid var(--dorado);color:#5c4a08;font-weight:700;border-radius:999px;padding:7px 12px;font-size:14px}
.equipo{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px}
.equipo .card img{height:230px}
.flip{position:relative;background:linear-gradient(150deg,#123524,#14532d);color:#f2f8f2;border-radius:18px;min-height:340px;padding:28px;box-shadow:var(--sombra);overflow:hidden}
.flip h3{color:#ffd968;margin-top:0}
.flip .pag{position:absolute;bottom:14px;right:20px;font-weight:700;color:#ffd968}
.flipnav{display:flex;gap:10px;margin-top:12px;align-items:center}
.qrbox{text-align:center}
.qrbox img{width:170px;height:170px;background:#fff;padding:8px;border-radius:14px;border:1px solid var(--borde)}
footer{border-top:1px solid var(--borde);background:rgba(255,255,255,.8)}
footer .cont{padding-top:18px;padding-bottom:26px;color:var(--tinta2);font-size:14px}
.oculto{display:none!important}
.dos{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:820px){.dos{grid-template-columns:1fr}}
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.filtros button{border:1.5px solid var(--borde);background:#fff;font-weight:700;color:var(--verde-osc);border-radius:999px;padding:8px 13px;cursor:pointer}
.filtros button.act{background:var(--verde);color:#fff;border-color:var(--verde)}
.buscar{display:flex;gap:8px;margin:12px 0}
.buscar input{flex:1}
details.faq{background:#fff;border:1px solid var(--borde);border-radius:12px;padding:14px 16px;margin:10px 0}
details.faq summary{font-weight:700;cursor:pointer;color:var(--verde-osc)}
.tip{border-left:5px solid var(--dorado)}

/* ===== Identidad cromática por módulo/sección (2026-10-31) ===== */
[data-tema="m1"] { --tema: #2563eb; --tema-suave: #e3edff; }
[data-tema="m2"] { --tema: #0e9594; --tema-suave: #dcf5f4; }
[data-tema="m3"] { --tema: #7c3aed; --tema-suave: #eee7fd; }
[data-tema="m4"] { --tema: #ea7317; --tema-suave: #fdeeda; }
[data-tema="bol"] { --tema: #d6336c; --tema-suave: #fce4ee; }
[data-tema="med"] { --tema: #65a30d; --tema-suave: #eef7da; }
[data-tema="est"] { --tema: #d64550; --tema-suave: #fdeaea; }
[data-tema="intro"] { --tema: #b8912c; --tema-suave: #faf1d7; }
[data-tema="herr"] { --tema: #3e7cb1; --tema-suave: #e4eefb; }
[data-tema="com"] { --tema: #8a5cf6; --tema-suave: #efe9fd; }
.mod-head { border-top: 7px solid var(--tema, var(--verde)); }
.mod-head .eyebrow, .mod-head .seccion { color: var(--tema, var(--verde-osc)); }
.mod-head h1 { color: var(--tinta); }
.tema-fondo { background: var(--tema-suave, #fff); }
[data-tema] .barra i { background: var(--tema, var(--verde)); }
[data-tema] .checkitem input { accent-color: var(--tema, var(--verde)); }
.mod-chip { display: inline-block; background: var(--tema, var(--verde)); color: #fff; border-radius: 999px; padding: 2px 12px; font-size: .8rem; font-weight: 700; }
table.clases td a { color: var(--tema, var(--verde-osc)); font-weight: 600; }
table.clases tr:hover td { background: var(--tema-suave, #f4faf6); }

/* ===== Acordeón de unidades ===== */
.acordeon { display: grid; gap: 12px; }
.acordeon details { background: #fff; border: 1px solid var(--borde); border-left: 7px solid var(--tema, var(--verde)); border-radius: var(--radio); box-shadow: var(--sombra); overflow: hidden; }
.acordeon summary { cursor: pointer; padding: 14px 18px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.acordeon summary::-webkit-details-marker { display: none; }
.acordeon summary .ud { color: var(--tema, var(--verde-osc)); font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.acordeon .cuerpo-unidad { padding: 0 18px 18px; }
.acordeon .cuerpo-unidad h4 { color: var(--tema, var(--verde-osc)); margin: 14px 0 6px; }
.resultado { background: var(--tema-suave, #f4faf6); border-radius: 10px; padding: 10px 14px; }

/* ===== Lección: navegación y quiz ===== */
.leccion-nav { display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; margin: 18px 0; }
.leccion-nav a { background: #fff; border: 2px solid var(--tema, var(--verde)); color: var(--tema, var(--verde-osc)); border-radius: 999px; padding: 8px 18px; font-weight: 700; text-decoration: none; }
.leccion-nav a:hover { background: var(--tema, var(--verde)); color: #fff; }
.quiz { background: #fff; border: 2px solid var(--tema, var(--borde)); border-radius: var(--radio); padding: 18px; margin: 16px 0; box-shadow: var(--sombra); }
.quiz h4 { margin-top: 0; color: var(--tema, var(--verde-osc)); }
.quiz-ops { display: grid; gap: 8px; margin-top: 10px; }
.quiz-ops button { text-align: left; background: var(--tema-suave, #f4faf6); border: 2px solid var(--borde); border-radius: 10px; padding: 10px 14px; font: inherit; cursor: pointer; }
.quiz-ops button:hover { border-color: var(--tema, var(--verde)); }
.quiz-ops button.acierto { background: #e5f6ec; border-color: var(--verde); }
.quiz-ops button.fallo { background: #fdeaea; border-color: #d64550; }
.quiz-res { margin-top: 10px; font-weight: 600; }
.quiz-res.ok { color: var(--verde-osc); } .quiz-res.no { color: #b02a37; }
figure.grafica { margin: 16px 0; background: #fff; border: 1px solid var(--borde); border-radius: var(--radio); padding: 12px; box-shadow: var(--sombra); }
figure.grafica img { width: 100%; height: auto; border-radius: 8px; }
figure.grafica figcaption { color: var(--suave); font-size: .92rem; margin-top: 8px; }
.formato-chip { display: inline-block; background: var(--tema-suave, #f4faf6); color: var(--tema, var(--verde-osc)); border: 1px solid var(--tema, var(--borde)); border-radius: 999px; padding: 3px 12px; font-size: .85rem; font-weight: 600; margin: 4px 6px 4px 0; }
audio.lec-audio, video.lec-video { width: 100%; margin: 10px 0; border-radius: 10px; }

/* ===== Banner animado (CSS liviano) ===== */
.banner-cinta { overflow: hidden; background: linear-gradient(90deg, #14532d, #1d9e75 45%, #b8912c); border-radius: var(--radio); margin: 22px 0; padding: 12px 0; }
.cinta-track { display: flex; gap: 0; width: max-content; animation: cinta 36s linear infinite; }
.banner-cinta:hover .cinta-track { animation-play-state: paused; }
.cinta-track span { color: #fff; font-weight: 700; padding: 0 28px; white-space: nowrap; font-size: 1.02rem; }
.cinta-track span::after { content: "✦"; margin-left: 28px; color: #ffe9a8; }
@keyframes cinta { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .cinta-track { animation: none; flex-wrap: wrap; width: auto; } }

/* ===== Franja de aliados y ecosistema ===== */
.aliados { border-top: 2px solid var(--borde); margin-top: 30px; padding: 18px 0 6px; text-align: center; }
.aliados h3 { color: var(--suave); font-size: .95rem; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 12px; }
.aliados-fila { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.aliado { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1.5px solid var(--borde); border-radius: 999px; padding: 7px 16px; font-weight: 700; color: var(--tinta); text-decoration: none; box-shadow: var(--sombra); }
.aliado:hover { border-color: var(--verde); transform: translateY(-1px); }
.aliado .punto { width: 10px; height: 10px; border-radius: 50%; }
.firma-academia { margin-top: 14px; font-size: 1.05rem; }
.firma-academia b { background: linear-gradient(90deg, var(--verde-osc), var(--dorado)); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: 1.35rem; letter-spacing: .01em; }

/* ===== Testimonios ===== */
.testi { margin-top: 28px; }
.testi-vacio { background: linear-gradient(135deg, #fdf6ec, #eef9f2); border: 2px dashed var(--dorado); border-radius: var(--radio); padding: 26px; text-align: center; }
.testi-vacio h3 { margin-top: 0; color: var(--verde-osc); }
.testi-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
.testi-card { background: #fff; border: 1px solid var(--borde); border-top: 6px solid var(--dorado); border-radius: var(--radio); padding: 18px; box-shadow: var(--sombra); }
.testi-card .estrellas { color: var(--dorado); letter-spacing: 2px; }

/* ===== Herramienta destacada y comunidad ===== */
.herr-destacada { background: linear-gradient(135deg, #e4eefb, #ffffff); border: 2px solid #3e7cb1; border-radius: var(--radio); padding: 22px; box-shadow: var(--sombra); margin-bottom: 18px; }
.herr-destacada .tag { background: #3e7cb1; color: #fff; border-radius: 999px; padding: 3px 12px; font-size: .82rem; font-weight: 700; }
.com-aviso { background: var(--tema-suave, #efe9fd); border: 1.5px dashed var(--tema, #8a5cf6); border-radius: var(--radio); padding: 16px 20px; margin: 16px 0; }
.com-tema { background: #fff; border: 1px solid var(--borde); border-left: 7px solid var(--tema, #8a5cf6); border-radius: 12px; padding: 14px 18px; margin: 10px 0; box-shadow: var(--sombra); }
.calc { display: grid; gap: 10px; max-width: 460px; }
.calc label { font-weight: 600; }
.calc input { padding: 10px 12px; border: 1.5px solid var(--borde); border-radius: 10px; font: inherit; }
.calc-salida { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; margin-top: 8px; }
.calc-salida div { background: var(--tema-suave, #f4faf6); border-radius: 10px; padding: 10px 12px; }
.calc-salida b { display: block; font-size: 1.15rem; color: var(--tema, var(--verde-osc)); }
