/* =====================================================================
   Módulo Manuales · estilos de backoffice, Wiki y catálogo público.
   Todas las clases usan el prefijo man- para no interferir con el resto
   del sitio. --man-color es el color corporativo de cada manual.
   ===================================================================== */

.man-pagina,
.man-dialogo,
.man-wiki,
.man-catalogo {
  --man-color: #006fb3;
  --man-borde: #e2e8f0;
  --man-fondo: #f8fafc;
  --man-texto: #1e293b;
  --man-suave: #64748b;
  color: var(--man-texto);
}

.man-pagina { max-width: 1240px; margin: 0 auto; padding-bottom: 3rem; }
.man-atenuado { color: var(--man-suave); }
.man-sin-desplazamiento { overflow: hidden; }
.man-pagina .material-symbols-outlined,
.man-dialogo .material-symbols-outlined,
.man-wiki .material-symbols-outlined,
.man-catalogo .material-symbols-outlined { font-size: 1.15em; vertical-align: -0.2em; }
/* El atributo hidden debe ganar a las utilidades de Bootstrap (d-flex, etc.). */
.man-pagina [hidden],
.man-dialogo [hidden],
.man-wiki [hidden],
.man-catalogo [hidden] { display: none !important; }

/* ---------- Navegación del módulo ---------- */
.man-nav { display: flex; flex-wrap: wrap; gap: .25rem; border-bottom: 1px solid var(--man-borde); margin-bottom: 1.25rem; }
.man-nav a { display: inline-flex; align-items: center; gap: .4rem; padding: .55rem .9rem; color: var(--man-suave); text-decoration: none; font-weight: 500; font-size: .92rem; border-bottom: 2px solid transparent; margin-bottom: -1px; }
.man-nav a:hover { color: var(--man-texto); }
.man-nav a.active { color: #006fb3; border-bottom-color: #006fb3; }

.man-encabezado { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.man-encabezado h1 { font-size: 1.6rem; font-weight: 700; margin: 0; }
.man-encabezado p { margin: .25rem 0 0; color: var(--man-suave); }

.man-tarjeta { background: #fff; border: 1px solid var(--man-borde); border-radius: .6rem; }
.man-filtros { display: flex; flex-wrap: wrap; gap: .6rem; padding: .8rem; margin-bottom: 1rem; }
.man-filtros .man-filtro-buscar { flex: 1 1 240px; position: relative; }
.man-filtros .man-filtro-buscar .material-symbols-outlined { position: absolute; left: .65rem; top: 50%; transform: translateY(-50%); color: var(--man-suave); }
.man-filtros .man-filtro-buscar input { padding-left: 2.1rem; }
.man-filtros select { width: auto; min-width: 150px; }

/* ---------- Chips e insignias ---------- */
.man-chips { display: flex; flex-wrap: wrap; gap: .35rem; }
.man-chip { display: inline-flex; align-items: center; gap: .25rem; background: #eef2f7; color: #334155; border-radius: 999px; padding: .12rem .6rem; font-size: .75rem; font-weight: 500; text-decoration: none; }
.man-chip button { border: 0; background: none; padding: 0; line-height: 1; color: inherit; cursor: pointer; }
a.man-chip:hover, .man-chip.active { background: var(--man-color); color: #fff; }
.man-insignia { display: inline-block; border-radius: .3rem; padding: .15rem .5rem; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.man-insignia-marca { background: var(--man-color); color: #fff; }
.man-insignia-borde { background: #fff; border: 1px solid var(--man-borde); color: #475569; }
.man-insignia-gris { background: #e2e8f0; color: #475569; }
.man-estado { display: inline-block; border-radius: 999px; padding: .1rem .6rem; font-size: .72rem; font-weight: 600; }
.man-estado-borrador { background: #fef3c7; color: #92400e; }
.man-estado-publicado { background: #dcfce7; color: #166534; }

/* ---------- Biblioteca y catálogo: rejilla de manuales ---------- */
.man-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(270px, 1fr)); gap: 1rem; }
.man-ficha { position: relative; display: flex; flex-direction: column; gap: .5rem; padding: 1rem 1rem .85rem 1.25rem; overflow: hidden; transition: box-shadow .15s ease, transform .15s ease; }
.man-ficha:hover { box-shadow: 0 8px 22px rgba(15, 23, 42, .08); transform: translateY(-1px); }
.man-ficha::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: var(--man-color); }
.man-ficha h2, .man-ficha h3 { font-size: 1.02rem; font-weight: 700; margin: 0; line-height: 1.3; overflow-wrap: anywhere; }
.man-ficha h2 a, .man-ficha h3 a { color: inherit; text-decoration: none; }
.man-ficha h2 a::after, .man-ficha h3 a::after { content: ""; position: absolute; inset: 0; }
.man-ficha-sub { color: var(--man-suave); font-size: .86rem; margin: 0; overflow-wrap: anywhere; }
.man-ficha-meta { display: flex; flex-wrap: wrap; gap: .25rem .8rem; color: var(--man-suave); font-size: .76rem; margin-top: auto; }
.man-ficha-acciones { position: relative; z-index: 1; display: flex; gap: .35rem; flex-wrap: wrap; }
.man-ficha .man-chips, .man-ficha .man-estado { position: relative; z-index: 1; }
.man-vacio { padding: 2.5rem 1rem; text-align: center; color: var(--man-suave); }
.man-vacio .material-symbols-outlined { font-size: 2.4rem; display: block; margin-bottom: .5rem; }
.man-mas { display: flex; justify-content: center; margin-top: 1.25rem; }

/* ---------- Editor: barra superior ---------- */
.man-barra { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .6rem .8rem; margin-bottom: 1rem; position: sticky; top: 0; z-index: 20; }
.man-barra-titulo { flex: 1 1 260px; min-width: 0; font-weight: 600; font-size: 1.05rem; border-color: transparent; background: transparent; }
.man-barra-titulo:hover, .man-barra-titulo:focus { border-color: var(--man-borde); background: #fff; }
.man-guardado { display: inline-flex; align-items: center; gap: .3rem; font-size: .78rem; color: var(--man-suave); white-space: nowrap; }
.man-guardado.man-ok .material-symbols-outlined { color: #059669; }
.man-guardado.man-error { color: #b91c1c; }
.man-boton-marca { background: var(--man-color); border-color: var(--man-color); color: #fff; }
.man-boton-marca:hover, .man-boton-marca:focus { filter: brightness(.92); color: #fff; background: var(--man-color); border-color: var(--man-color); }

.man-editor-rejilla { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
@media (max-width: 991.98px) { .man-editor-rejilla { grid-template-columns: minmax(0, 1fr); } }
.man-ajustes { position: sticky; top: 4.6rem; max-height: calc(100vh - 5.5rem); overflow-y: auto; }
@media (max-width: 991.98px) { .man-ajustes { position: static; max-height: none; } }
.man-ajustes .accordion-button { font-weight: 600; font-size: .9rem; padding: .7rem .9rem; }
.man-ajustes .accordion-body { padding: .8rem .9rem; display: flex; flex-direction: column; gap: .8rem; }
.man-ajustes label { font-size: .82rem; font-weight: 500; margin-bottom: .2rem; }
.man-logo-previa { width: 52px; height: 52px; border: 1px solid var(--man-borde); border-radius: .35rem; object-fit: contain; background: #fff; }
.man-logo-vacio { width: 52px; height: 52px; border: 1px dashed #cbd5e1; border-radius: .35rem; display: flex; align-items: center; justify-content: center; color: var(--man-suave); }
.man-indice-lista { max-height: 14rem; overflow-y: auto; border: 1px solid var(--man-borde); border-radius: .35rem; padding: .4rem .55rem; display: flex; flex-direction: column; gap: .3rem; font-size: .85rem; }
.man-indice-lista label { display: flex; gap: .45rem; align-items: center; font-weight: 400; margin: 0; cursor: pointer; }
.man-indice-lista span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- Editor: zona de carga y tarjetas ---------- */
.man-zona { border: 2px dashed #cbd5e1; border-radius: .7rem; padding: 1.4rem 1rem; text-align: center; color: var(--man-suave); background: var(--man-fondo); cursor: pointer; transition: border-color .15s, background .15s; }
.man-zona:hover, .man-zona.man-sobre { border-color: var(--man-color); background: #eff6ff; }
.man-zona .material-symbols-outlined { font-size: 2rem; display: block; color: var(--man-color); }
.man-zona strong { display: block; color: var(--man-texto); }

.man-insertar { display: flex; align-items: center; justify-content: center; gap: .5rem; height: 1.9rem; position: relative; }
.man-insertar::before { content: ""; position: absolute; left: 0; right: 0; top: 50%; border-top: 1px dashed #cbd5e1; opacity: 0; transition: opacity .15s; }
.man-insertar button { position: relative; opacity: .55; transition: opacity .15s; border-radius: 999px; font-size: .74rem; padding: .1rem .7rem; background: #fff; }
.man-insertar:hover::before, .man-insertar:hover button { opacity: 1; }

.man-paso { position: relative; display: flex; gap: 1rem; padding: .9rem .9rem .9rem 1.3rem; overflow: hidden; cursor: pointer; transition: box-shadow .15s; }
.man-paso:hover { box-shadow: 0 6px 18px rgba(15, 23, 42, .08); }
.man-paso::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 6px; background: var(--man-color); }
.man-paso.man-arrastrando { opacity: .4; outline: 2px solid var(--man-color); }
.man-paso-capitulo { border: 2px solid var(--man-color); background: var(--man-fondo); margin-top: .75rem; }
.man-paso-lateral { display: flex; flex-direction: column; align-items: flex-start; gap: .45rem; width: 118px; flex: 0 0 auto; }
.man-paso-lateral .man-agarre { cursor: grab; color: var(--man-suave); }
.man-paso-lateral select { font-size: .76rem; padding: .2rem 1.6rem .2rem .45rem; }
.man-paso-imagen { position: relative; flex: 0 0 176px; width: 176px; min-height: 128px; display: flex; align-items: center; justify-content: center; border: 1px solid var(--man-borde); border-radius: .5rem; background: var(--man-fondo); overflow: hidden; }
.man-paso-imagen.man-sin-imagen { border-style: dashed; flex-direction: column; gap: .35rem; padding: .6rem; font-size: .72rem; color: var(--man-suave); }
.man-paso-imagen.man-sobre { outline: 2px solid var(--man-color); }
.man-paso-imagen .man-imagen img { max-height: 128px; }
.man-paso-imagen-botones { position: absolute; top: .25rem; right: .25rem; display: flex; flex-direction: column; gap: .25rem; opacity: 0; transition: opacity .15s; }
.man-paso:hover .man-paso-imagen-botones, .man-paso-imagen-botones:focus-within { opacity: 1; }
.man-paso-imagen-botones .btn { padding: .1rem .3rem; line-height: 1; }
.man-paso-campos { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: .45rem; }
.man-paso-capitulo .man-paso-campos input { font-weight: 600; font-size: 1rem; }
.man-paso-pie { display: flex; justify-content: space-between; gap: .75rem; font-size: .7rem; color: var(--man-suave); }
.man-paso-pie span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.man-paso-acciones { display: flex; flex-direction: column; gap: .35rem; flex: 0 0 auto; }
.man-paso-acciones .btn { padding: .25rem .4rem; line-height: 1; }
@media (max-width: 767.98px) {
  .man-paso { flex-wrap: wrap; }
  .man-paso-lateral { flex-direction: row; align-items: center; width: 100%; }
  .man-paso-imagen { flex: 1 1 100%; width: 100%; }
  .man-paso-acciones { flex-direction: row; }
}

/* ---------- Imagen con marcas (capa anclada al rectángulo de la imagen) ---------- */
.man-imagen { position: relative; display: inline-block; max-width: 100%; line-height: 0; vertical-align: top; }
.man-imagen img { display: block; max-width: 100%; height: auto; width: auto; }
.man-imagen svg.man-marcas { position: absolute; inset: 0; pointer-events: none; overflow: hidden; }

/* ---------- Diálogo del paso ---------- */
.man-dialogo .modal-body { min-height: 50vh; }
.man-dialogo-previa { display: flex; justify-content: center; border: 1px solid var(--man-borde); border-radius: .5rem; background: var(--man-fondo); overflow: hidden; }
.man-dialogo-previa .man-imagen img { max-height: 45vh; }
.man-ayuda { background: #f1f5f9; color: var(--man-suave); border-radius: .35rem; padding: .45rem .7rem; font-size: .78rem; }
.man-herramientas { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; border: 1px solid var(--man-borde); border-radius: .5rem; background: var(--man-fondo); padding: .4rem; }
.man-herramientas .btn { display: inline-flex; align-items: center; gap: .3rem; font-size: .8rem; }
.man-separador { width: 1px; height: 1.5rem; background: var(--man-borde); margin: 0 .2rem; }
.man-color { width: 1.5rem; height: 1.5rem; border-radius: 50%; border: 2px solid var(--man-borde); padding: 0; cursor: pointer; }
.man-color.active { border-color: #0f172a; box-shadow: 0 0 0 2px #fff inset; }
.man-anotador { display: grid; grid-template-columns: minmax(0, 1fr) 220px; gap: .75rem; }
@media (max-width: 767.98px) { .man-anotador { grid-template-columns: minmax(0, 1fr); } }
.man-lienzo { display: flex; justify-content: center; align-items: center; border: 1px solid var(--man-borde); border-radius: .5rem; background: var(--man-fondo); overflow: hidden; }
.man-lienzo .man-imagen img { max-height: 62vh; user-select: none; -webkit-user-drag: none; }
.man-lienzo svg.man-marcas { pointer-events: auto; touch-action: none; cursor: crosshair; }
.man-lienzo svg.man-marcas.man-seleccionar { cursor: move; }
.man-quitar-marca { position: absolute; z-index: 2; width: 1.7rem; height: 1.7rem; transform: translate(-50%, -50%); border-radius: 50%; border: 1px solid #dc2626; background: #fff; color: #dc2626; display: flex; align-items: center; justify-content: center; padding: 0; line-height: 1; box-shadow: 0 2px 6px rgba(0, 0, 0, .2); }
.man-quitar-marca:hover { background: #dc2626; color: #fff; }
.man-lista-marcas { max-height: 45vh; overflow-y: auto; border: 1px solid var(--man-borde); border-radius: .5rem; padding: .4rem; font-size: .78rem; display: flex; flex-direction: column; gap: .15rem; }
.man-lista-marcas .man-marca-item { display: flex; align-items: center; gap: .4rem; border-radius: .3rem; padding: .2rem .35rem; }
.man-lista-marcas .man-marca-item.active { background: #e0f2fe; }
.man-lista-marcas .man-marca-item button { border: 0; background: none; padding: 0; color: inherit; text-align: left; }
.man-lista-marcas .man-marca-item button:first-child { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: flex; gap: .4rem; align-items: center; }
.man-lista-marcas i { width: .75rem; height: .75rem; border-radius: 50%; border: 1px solid var(--man-borde); flex: 0 0 auto; }

/* ---------- Recorte ---------- */
.man-recorte-escenario { display: flex; justify-content: center; border: 1px solid var(--man-borde); border-radius: .5rem; background: #0f172a; padding: .75rem; overflow: hidden; }
.man-recorte-marco { position: relative; display: inline-block; line-height: 0; touch-action: none; user-select: none; }
.man-recorte-marco img { display: block; max-width: 100%; max-height: 58vh; -webkit-user-drag: none; }
.man-recorte-caja { position: absolute; border: 2px solid #fff; box-shadow: 0 0 0 9999px rgba(15, 23, 42, .6); cursor: move; }
.man-recorte-asa { position: absolute; width: 14px; height: 14px; background: #fff; border: 1px solid #0f172a; border-radius: 50%; transform: translate(-50%, -50%); }
.man-recorte-asa[data-asa="nw"], .man-recorte-asa[data-asa="se"] { cursor: nwse-resize; }
.man-recorte-asa[data-asa="ne"], .man-recorte-asa[data-asa="sw"] { cursor: nesw-resize; }
.man-recorte-asa[data-asa="n"], .man-recorte-asa[data-asa="s"] { cursor: ns-resize; }
.man-recorte-asa[data-asa="e"], .man-recorte-asa[data-asa="w"] { cursor: ew-resize; }

/* ---------- Tabla del paso ---------- */
.man-tabla-editor { overflow-x: auto; }
.man-tabla-editor table { border-collapse: collapse; width: 100%; }
.man-tabla-editor th, .man-tabla-editor td { border: 1px solid #cbd5e1; padding: 0; min-width: 120px; }
.man-tabla-editor th { background: var(--man-color); }
.man-tabla-editor input { width: 100%; border: 0; padding: .35rem .5rem; background: transparent; font-size: .85rem; }
.man-tabla-editor th input { color: #fff; font-weight: 700; }
.man-tabla-editor th input::placeholder { color: rgba(255, 255, 255, .7); }
.man-tabla-editor td.man-tabla-accion, .man-tabla-editor th.man-tabla-accion { min-width: 0; width: 2rem; border: 0; background: none; text-align: center; }
.man-tabla th { background: #f1f5f9; }

/* ---------- Vistas previas ---------- */
.man-previa { width: 100%; height: 78vh; border: 1px solid var(--man-borde); border-radius: .6rem; background: #fff; }
.man-previa-controles { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: .75rem; margin-bottom: .75rem; }
.man-previa-controles label { font-size: .75rem; color: var(--man-suave); display: block; }

/* ---------- Wiki ---------- */
.man-wiki { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (max-width: 991.98px) { .man-wiki { grid-template-columns: minmax(0, 1fr); } }
.man-wiki-lateral { position: sticky; top: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto; }
@media (max-width: 991.98px) { .man-wiki-lateral { position: static; max-height: none; } }
.man-wiki-toc { background: #fff; border: 1px solid var(--man-borde); border-radius: .5rem; padding: .85rem; font-size: .88rem; }
.man-wiki-toc summary { list-style: none; cursor: pointer; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--man-suave); display: flex; align-items: center; gap: .4rem; }
.man-wiki-toc summary::-webkit-details-marker { display: none; }
.man-wiki-toc nav { display: flex; flex-direction: column; gap: .15rem; margin-top: .6rem; }
.man-toc-enlace { display: flex; align-items: baseline; gap: .45rem; padding: .3rem .5rem; border-left: 2px solid transparent; border-radius: .15rem; color: inherit; text-decoration: none; }
.man-toc-enlace:hover { background: #f1f5f9; color: inherit; }
.man-toc-enlace.man-activo { border-left-color: var(--man-color); background: color-mix(in srgb, var(--man-color) 10%, transparent); color: var(--man-color); font-weight: 600; }
.man-toc-sub { margin-left: 1rem; color: var(--man-suave); }
.man-toc-numero { font-weight: 600; }
.man-toc-capitulo { margin-top: .4rem; }
.man-toc-capitulo-cabeza { display: flex; align-items: center; gap: .2rem; border-radius: .2rem; }
.man-toc-capitulo.man-contiene-activo .man-toc-capitulo-cabeza { background: color-mix(in srgb, var(--man-color) 6%, transparent); }
.man-toc-capitulo-enlace { flex: 1; min-width: 0; display: flex; align-items: center; gap: .4rem; padding: .35rem .5rem; font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: inherit; text-decoration: none; }
.man-toc-capitulo-enlace span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.man-toc-capitulo.man-contiene-activo .man-toc-capitulo-enlace { color: var(--man-color); }
.man-toc-plegar { border: 0; background: none; padding: .1rem .2rem; color: var(--man-suave); border-radius: .2rem; line-height: 1; }
.man-toc-plegar:hover { background: #f1f5f9; }
.man-toc-plegar .material-symbols-outlined { transition: transform .15s; transform: rotate(-90deg); }
.man-toc-capitulo.man-abierto .man-toc-plegar .material-symbols-outlined { transform: none; }
.man-toc-capitulo-items { display: flex; flex-direction: column; gap: .15rem; margin: .2rem 0 0 .5rem; padding-left: .25rem; border-left: 1px solid var(--man-borde); }
.man-toc-capitulo-items[hidden] { display: none; }
.man-toc-especiales { margin-top: .6rem; padding-top: .6rem; border-top: 1px solid var(--man-borde); display: flex; flex-direction: column; gap: .15rem; }

.man-wiki-articulo { display: flex; flex-direction: column; gap: 1.25rem; min-width: 0; }
.man-wiki-grupo { display: flex; flex-direction: column; gap: 1.25rem; }
.man-wiki-grupo[hidden], .man-wiki-grupo [hidden] { display: none; }
.man-wiki-cabecera { background: #fff; border: 1px solid var(--man-borde); border-top: 4px solid var(--man-color); border-radius: .5rem; padding: 1.4rem; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.man-wiki-titulo { display: flex; align-items: flex-start; gap: 1rem; }
.man-wiki-titulo h1 { font-size: 1.55rem; font-weight: 700; margin: 0; overflow-wrap: anywhere; }
.man-wiki-titulo p { margin: .25rem 0 0; }
.man-wiki-logo { width: 56px; height: 56px; object-fit: contain; border: 1px solid var(--man-borde); border-radius: .25rem; padding: .2rem; background: #fff; flex: 0 0 auto; }
.man-wiki-meta { display: flex; flex-wrap: wrap; gap: .2rem 1.4rem; margin-top: .9rem; font-size: .86rem; color: var(--man-suave); }
.man-wiki-meta strong { color: var(--man-texto); font-weight: 500; }
.man-wiki-cabecera .man-chips { margin-top: .9rem; }
.man-wiki-buscar { position: relative; margin-top: .9rem; }
.man-wiki-buscar .material-symbols-outlined { position: absolute; left: .65rem; top: 50%; transform: translateY(-50%); color: var(--man-suave); }
.man-wiki-buscar input { padding-left: 2.1rem; }
.man-wiki-capitulo { scroll-margin-top: 1.5rem; margin-top: .75rem; background: #fff; border: 1px solid var(--man-borde); border-left: 8px solid var(--man-color); border-radius: .5rem; padding: 1.8rem 1.4rem; box-shadow: 0 1px 2px rgba(15, 23, 42, .04); }
.man-wiki-capitulo h2 { color: var(--man-color); font-size: 1.5rem; font-weight: 700; margin: .2rem 0 0; overflow-wrap: anywhere; }
.man-wiki-rotulo { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--man-suave); margin: 0; }
.man-wiki-paso { scroll-margin-top: 1.5rem; background: #fff; border: 1px solid var(--man-borde); border-radius: .5rem; padding: 1.4rem; }
.man-wiki-subpaso { margin-left: 2rem; border-left-width: 2px; background: #fbfcfd; }
@media (max-width: 767.98px) { .man-wiki-subpaso { margin-left: 1rem; } }
.man-wiki-insignias { display: flex; gap: .4rem; margin-bottom: .5rem; }
.man-wiki-paso h3, .man-wiki-nota h3 { font-size: 1.12rem; font-weight: 600; margin: 0; overflow-wrap: anywhere; }
.man-wiki-paso h3.man-wiki-subtitulo { font-weight: 500; }
.man-wiki-texto { white-space: pre-wrap; text-align: justify; line-height: 1.65; margin: .5rem 0 0; overflow-wrap: anywhere; }
.man-wiki-tabla { margin-top: 1rem; }
.man-wiki-tabla table { margin-bottom: 0; }
.man-wiki-imagen { display: inline-block; margin-top: 1rem; padding: 0; border: 1px solid var(--man-borde); border-radius: .4rem; background: var(--man-fondo); overflow: hidden; max-width: 100%; cursor: zoom-in; line-height: 0; }
.man-wiki-imagen .man-imagen img { max-height: 520px; }
.man-wiki-nota { scroll-margin-top: 1.5rem; display: flex; gap: .75rem; align-items: flex-start; border-left: 4px solid var(--man-color); background: color-mix(in srgb, var(--man-color) 7%, #fff); padding: 1.2rem; border-radius: 0 .4rem .4rem 0; }
.man-wiki-nota > .material-symbols-outlined { color: var(--man-color); font-size: 1.4rem; }
.man-wiki-nota-cuerpo { flex: 1; min-width: 0; }
.man-wiki-nota-cuerpo .man-insignia { margin-bottom: .45rem; }
.man-wiki-vacio { text-align: center; margin: 0; }

.man-visor { position: fixed; inset: 0; z-index: 2000; background: rgba(15, 23, 42, .92); display: flex; align-items: center; justify-content: center; padding: 1rem; cursor: zoom-out; }
.man-visor[hidden] { display: none; }
.man-visor .man-imagen img { max-height: calc(100vh - 2rem); max-width: calc(100vw - 2rem); }
.man-visor-cerrar { position: absolute; top: .75rem; right: .75rem; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 0; background: #fff; color: #0f172a; display: flex; align-items: center; justify-content: center; }

/* ---------- Página pública ---------- */
.man-catalogo { max-width: 1240px; margin: 0 auto; padding: 2rem 1rem 3rem; }
.man-catalogo-cabeza { margin-bottom: 1.5rem; }
.man-catalogo-cabeza h1 { font-size: 1.9rem; font-weight: 800; margin: 0; }
.man-catalogo-rejilla { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 1.5rem; align-items: start; }
@media (max-width: 991.98px) { .man-catalogo-rejilla { grid-template-columns: minmax(0, 1fr); } }
.man-facetas { padding: 1rem; font-size: .88rem; }
.man-facetas h2 { font-size: .72rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--man-suave); margin: 1rem 0 .4rem; }
.man-facetas h2:first-child { margin-top: 0; }
.man-facetas a.man-faceta { display: flex; justify-content: space-between; gap: .5rem; padding: .28rem .5rem; border-radius: .3rem; color: inherit; text-decoration: none; }
.man-facetas a.man-faceta:hover { background: #f1f5f9; }
.man-facetas a.man-faceta.active { background: #e0f2fe; color: #075985; font-weight: 600; }
.man-facetas a.man-faceta small { color: var(--man-suave); }
.man-publico-barra { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem; margin-bottom: 1.25rem; }
.man-incrustado { padding: 1rem; background: #f1f5f9; min-height: 100vh; }
