/* Requisitos de Admisión 2027-I (portada, «Cómo funciona», antes del formulario y vista de la carga documental). */
.req-home{max-width:var(--max);margin:0 auto;padding:2.4rem var(--gutter)}
.req-list{list-style:none;counter-reset:req;margin:0 0 1rem;padding:0;display:grid;gap:.6rem}
.req-list li{counter-increment:req;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;padding:.8rem 1rem .8rem 3.1rem;position:relative;background:var(--papel);border:1px solid var(--linea);border-radius:var(--r-sm);color:var(--bosque-900)}
.req-list li::before{content:counter(req);position:absolute;left:.85rem;top:50%;transform:translateY(-50%);width:1.6rem;height:1.6rem;display:grid;place-items:center;border-radius:50%;background:var(--bosque-700);color:var(--blanco);font-weight:700;font-size:.85rem}
.req-name{flex:1 1 14rem;font-weight:600;line-height:1.35}
.req-tag{flex:none;padding:.15rem .6rem;border-radius:999px;background:var(--bosque-50);border:1px solid var(--bosque-100);color:var(--bosque-700);font-size:.8rem;font-weight:600;white-space:nowrap}
.req-tag-fisico{background:var(--oro-100);border-color:var(--oro-300);color:var(--oro-texto)}
.req-aviso{display:flex;gap:.7rem;align-items:flex-start;margin:0 0 1rem;padding:.9rem 1rem;border-radius:var(--r-sm);background:var(--aviso-bg);border-left:4px solid var(--oro-500);color:var(--aviso);font-size:.93rem;line-height:1.45}
.req-aviso-icon{flex:none;width:1.4rem;height:1.4rem;display:grid;place-items:center;border-radius:50%;background:var(--oro-500);color:var(--blanco);font-weight:700;font-size:.85rem}
.req-tag-pago{background:var(--marfil-2);border-color:var(--linea-2);color:var(--tinta-2)}
.req-pago{margin:0 0 1rem;padding:.8rem 1rem;border-radius:var(--r-sm);background:var(--bosque-50);border-left:4px solid var(--bosque-600);color:var(--bosque-900);font-size:.93rem;line-height:1.45}
.req-box .req-pago{font-size:.88rem;margin-bottom:.6rem}
.req-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
.req-scope{font-size:.88rem;color:var(--tinta-2)}
.req-detail{margin:0 0 1.6rem;padding:1.4rem;border-radius:var(--r);background:var(--blanco);border:1px solid var(--linea);scroll-margin-top:6rem}
.req-detail-head h3{margin:.1rem 0 1rem}
.req-stages{display:grid;gap:1rem;margin-bottom:1.3rem}
.req-stage{padding:1.1rem 1.2rem;border-radius:var(--r-sm);border:1px solid var(--bosque-100);background:var(--bosque-50)}
.req-stage-next{background:var(--marfil);border-color:var(--linea-2)}
.req-stage h4{margin:.2rem 0 .5rem}
.req-stage ul{margin:0;padding-left:1.1rem;font-size:.93rem;color:var(--tinta-2)}
.req-stage-tag{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--bosque-600)}
.req-stage-next .req-stage-tag,.req-docs-stage .req-stage-tag{color:var(--oro-texto)}
.req-list-title{margin:0 0 .7rem}
.req-box{margin:0 0 1.2rem;padding:1rem;border-radius:var(--r-sm);background:var(--bosque-50);border:1px solid var(--bosque-100)}
.req-box-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.4rem .8rem;margin:0 0 .7rem;color:var(--bosque-900)}
.req-box-stage{font-size:.8rem;font-weight:600;color:var(--bosque-700);padding:.1rem .6rem;border-radius:999px;background:var(--blanco);border:1px solid var(--bosque-100)}
.req-list-compact{gap:.4rem}
.req-list-compact li{padding:.5rem .8rem .5rem 2.7rem;font-size:.92rem}
.req-list-compact li::before{width:1.4rem;height:1.4rem;font-size:.78rem;left:.7rem}
.req-box .req-aviso{font-size:.88rem;margin-bottom:.6rem}
.req-docs-stage{margin-top:1.4rem;padding:1.2rem;border-radius:var(--r-sm);border:1px dashed var(--linea-2);background:var(--marfil)}
.req-docs-stage h3{margin:.2rem 0 .4rem}
.req-docs-list{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.4rem}
.req-docs-list li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.3rem .8rem;padding:.6rem .8rem;border-radius:var(--r-sm);background:var(--papel);border:1px solid var(--linea)}
.req-doc-state{font-size:.82rem;color:var(--tinta-2)}
@media (min-width:761px){.req-stages{grid-template-columns:repeat(2,minmax(0,1fr))}.req-home .req-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:599px){.req-home{padding-block:1.8rem}.req-detail{padding:1rem}.req-actions .btn{flex:1 1 100%;justify-content:center}.req-tag{font-size:.75rem}}
@media (forced-colors:active){.req-list li::before,.req-aviso-icon{border:1px solid CanvasText}}
@media print{.req-aviso{border:1px solid #000}}
