/* Páginas públicas: los mismos tokens de papel, tinta, kraft y tipografías del expediente. */
.pie .mapa-publico { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); width: 100%; gap: 1.5rem 3rem; }
.grupo-pie { display: grid; align-content: start; gap: .55rem; }
.grupo-pie strong { color: var(--tinta); margin-bottom: .2rem; }
.nav-publica { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .9rem; }
.nav-publica a { padding-block: .4rem; }
.pagina-publica main { padding-block: 1.5rem 4rem; }
.migas-publicas { font-size: .85rem; color: var(--grafito); }
.migas-publicas ol { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0; margin: 0; list-style: none; }
.migas-publicas li + li::before { content: "/"; margin-right: .5rem; color: var(--grafito); }
.intro-publica { display: grid; gap: 1.2rem; padding-block: 2.5rem 3rem; max-width: 54rem; }
.intro-publica h1 { max-width: 24ch; }
.lead-publica { font-size: 1.15rem; color: var(--grafito); max-width: 48rem; }
.acciones-publicas { display: flex; flex-wrap: wrap; gap: .75rem; }
.lectura-publica { display: grid; grid-template-columns: 14rem minmax(0,1fr); gap: 3rem; align-items: start; }
.indice-publico { display: grid; gap: .85rem; padding: 1.2rem; border: 1px solid var(--linea); border-radius: var(--radio); background: var(--hoja-2); font-size: .9rem; position: sticky; top: 1rem; }
.indice-publico a { text-decoration-thickness: 1px; text-underline-offset: .2rem; }
.seccion-publica { display: grid; gap: 1rem; margin-bottom: 2.5rem; padding-bottom: 2.5rem; border-bottom: 1px solid var(--linea); scroll-margin-top: 1rem; }
.seccion-publica h2 { max-width: 30ch; }
.seccion-publica > p { max-width: 46rem; }
.seccion-publica ul, .pasos-publicos { display: grid; gap: .75rem; padding-left: 1.4rem; margin: 0; }
.pasos-publicos li::marker { font-weight: 700; color: var(--azul); }
.ejemplo-publico { display: grid; gap: .8rem; background: var(--kraft-2); padding: 1.5rem; border-radius: var(--radio); border: 1px solid var(--linea); }
.ejemplo-publico .etiqueta { color: var(--tinta); }
.tabla-publica { max-width: 100%; overflow-x: auto; border: 1px solid var(--linea); border-radius: var(--radio); }
.tabla-publica table { border-collapse: collapse; width: 100%; background: var(--hoja); font-size: .95rem; }
.tabla-publica th, .tabla-publica td { padding: .85rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--linea); overflow-wrap: anywhere; }
.tabla-publica thead { background: var(--hoja-2); }
.tabla-publica tbody th { font-weight: 700; min-width: 7rem; }
.tabla-publica tr:last-child td, .tabla-publica tr:last-child th { border-bottom: 0; }
.recursos-publicos { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.recursos-publicos .hoja { display: grid; gap: .8rem; align-content: start; }
.recursos-publicos a.hoja { text-decoration: none; }
.recursos-publicos a.hoja:hover { border-color: var(--azul); }
.recursos-publicos p { color: var(--grafito); font-size: .95rem; }
.faq-publica details { padding-block: .8rem; border-top: 1px solid var(--linea); }
.faq-publica summary { cursor: pointer; font-weight: 700; }
.faq-publica details p { margin-top: .75rem; }
.cierre-publico { margin-top: 1rem; }
.cierre-publico .hoja { display: grid; gap: 1rem; }
.salto-publico { position: absolute; top: .5rem; left: 1rem; z-index: 5; padding: .6rem; background: var(--hoja); transform: translateY(-200%); }
.salto-publico:focus { transform: none; }
@media (max-width: 850px) { .lectura-publica { grid-template-columns: 1fr; gap: 2rem; } .indice-publico { position: static; } }
@media (max-width: 480px) { .tabla-publica th, .tabla-publica td { padding: .65rem; font-size: .88rem; } .carpeta.cierre-publico { padding: 1rem; } .intro-publica { padding-block: 2rem; } }
