/* Fichas de ROLES, restricciones y cierre */
/* ===== ROLES ===== */
.tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tags .tag{margin:0}
#roles-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}
#roles-nav button{background:var(--gris);color:var(--blanco);border:1px solid var(--militar);padding:.5rem .9rem;font:700 .9rem var(--titulo);letter-spacing:.08em;transition:.2s}
#roles-nav button:hover{border-color:var(--oliva-claro);color:var(--oliva-claro)}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;align-items:start}
.rol{scroll-margin-top:130px;background:var(--gris);border:1px solid var(--militar);border-top:4px solid var(--oliva-claro);padding:1.1rem;display:flex;flex-direction:column;gap:.9rem;cursor:zoom-in;transition:.2s}
.rol:hover{border-color:var(--oliva-claro);transform:translateY(-3px)}
.rol header{display:flex;gap:.8rem;align-items:center;border-bottom:1px solid var(--militar);padding-bottom:.8rem}
.rol .num{font:700 2.4rem var(--titulo);color:var(--oliva-claro)}
.rol h3{font:700 1.25rem/1.2 var(--titulo);letter-spacing:.06em}
.rol small{color:var(--militar);letter-spacing:.1em;font-size:.75rem}
.rol .ico{margin-left:auto;width:64px;height:64px;flex:none;cursor:inherit}
.rol h4{font:700 .8rem var(--titulo);letter-spacing:.2em;color:var(--militar);margin-bottom:.3rem}
.rol p,.rol li{font-size:.95rem}
.rol ul,.rol ol{padding-left:1.2rem}
.rol .exc{border:1px solid var(--oliva-claro);background:rgba(195,199,207,.1);padding:.8rem;font:700 1.2rem var(--titulo);text-align:center;letter-spacing:.05em}
.rol .chips{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem;counter-reset:c}
.rol .chips li{counter-increment:c;border:1px solid var(--militar);padding:.35rem .5rem;font-size:.85rem}
.rol .chips li::before{content:counter(c) ". ";color:var(--oliva-claro);font-weight:600}
.rol .hint{font-size:.7rem;letter-spacing:.2em;color:var(--militar);text-align:right}
#rm{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;padding:3.5rem 1rem 1rem}
#rm.on{display:flex}
#rm .box{width:min(680px,100%);max-height:100%;overflow-y:auto}
#rm .rol{cursor:default;transform:none!important;font-size:1.1rem}#rm .rol p,#rm .rol li{font-size:1.05rem}#rm .hint{display:none}
#rm .x{position:absolute;top:.8rem;right:.8rem;width:44px;height:44px;background:transparent;color:var(--blanco);border:1px solid var(--blanco);font-size:1.2rem}
.info{margin-top:3rem;border-top:1px solid var(--militar);padding-top:1.2rem;color:#c9cbd0}
.info h3{font:700 1.1rem var(--titulo);letter-spacing:.1em;margin-bottom:.8rem}
.info .cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.info h4{font:700 .85rem var(--titulo);letter-spacing:.15em;color:var(--oliva-claro);margin-bottom:.3rem}
.info ol,.info ul{padding-left:1.2rem;font-size:.95rem}
.cierre{margin:2.5rem 0 1rem;border-top:2px solid var(--oliva-claro);border-bottom:2px solid var(--oliva-claro);padding:1.8rem 1rem;text-align:center;letter-spacing:.15em}
.cierre b{display:block;font:700 1.8rem var(--titulo);letter-spacing:.3em;margin-bottom:.6rem}
.cierre q{display:block;margin:.8rem 0;color:var(--oliva-claro);font-weight:600}
.cierre small{color:var(--militar)}
@media (max-width:800px){.grid2{grid-template-columns:1fr}}

