/* ---------------------------------------------------------------
   Anuarios (plantillas/anuarios.php, single-anuario.php)
   --------------------------------------------------------------- */

/* Visor: el libro sobre el gris del sitio, con sombra de objeto real. */
.lm-libro-seccion{background:var(--lm-gris);padding:48px 0 56px;overflow:hidden}
.lm-anuarios-intro + .lm-libro-seccion{padding-top:48px}

.lm-libro__cab{
	display:flex;align-items:flex-end;justify-content:space-between;gap:16px 32px;flex-wrap:wrap;
	margin:0 0 28px;
}
.lm-libro__titulo{font-family:var(--lm-display);font-size:clamp(26px,3vw,36px);font-weight:800;color:var(--lm-azul);margin:0;line-height:1.1}
.lm-libro__texto{margin:8px 0 0;font-size:17px;line-height:1.5;color:var(--lm-texto);max-width:62ch}
.lm-libro__descargar{text-decoration:none}

.lm-libro{position:relative}
.lm-libro__escena{position:relative;display:flex;justify-content:center;align-items:center;min-height:280px}

/* Contenedor del libro: el script le pone el ancho máximo según el alto de la pantalla. */
.lm-libro__hojas{width:100%;margin:0 auto}
.lm-libro__hojas .stf__parent{margin:0 auto}
.lm-libro.es-listo .lm-libro__hojas{filter:drop-shadow(0 22px 34px rgba(0,28,52,.28))}

.lm-libro__pagina{background:#fff;overflow:hidden}
.lm-libro__pagina img{display:block;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .25s ease;user-select:none;-webkit-user-drag:none}
.lm-libro__pagina.es-lista img{opacity:1}
/* Mientras se dibuja: un brillo suave en vez de una hoja en blanco. */
.lm-libro__pagina:not(.es-lista){
	background:linear-gradient(100deg,#f3f5f8 30%,#fbfcfd 50%,#f3f5f8 70%) 0 0/300% 100%;
	animation:lm-libro-brillo 1.4s linear infinite;
}
/* Pliegue del lomo en las páginas interiores. */
.lm-libro__pagina:not(.lm-libro__pagina--tapa)::after{
	content:"";position:absolute;top:0;bottom:0;width:36px;pointer-events:none;
}
.lm-libro__pagina.--left::after{right:0;background:linear-gradient(90deg,rgba(0,0,0,0),rgba(0,0,0,.10))}
.lm-libro__pagina.--right::after{left:0;background:linear-gradient(270deg,rgba(0,0,0,0),rgba(0,0,0,.10))}
@keyframes lm-libro-brillo{to{background-position:-300% 0}}

/*
 * Libro cerrado: la portada a la izquierda y la invitación a abrirlo a la derecha.
 * Al abrirlo, el libro se corre al centro mientras da vuelta la página.
 */
.lm-libro__hojas{transition:transform .7s cubic-bezier(.4,0,.2,1)}
.lm-libro.es-cerrado .lm-libro__hojas{transform:translateX(-50%)}
.lm-libro.es-final .lm-libro__hojas{transform:translateX(25%)}
.lm-libro.es-cerrado .lm-libro__hojas{filter:drop-shadow(0 22px 34px rgba(0,28,52,.28))}
.lm-libro__panel{
	position:absolute;top:0;bottom:0;left:50%;width:var(--lm-libro-media,50%);z-index:4;
	display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:14px;
	padding:0 4% 0 6%;
	animation:lm-libro-aparece .5s ease both;
}
.lm-libro__panel[hidden]{display:none}
@keyframes lm-libro-aparece{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.lm-libro__panel-etq{
	margin:0;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--lm-texto);
}
.lm-libro__panel-titulo{
	margin:-8px 0 0;font-family:var(--lm-display);font-size:clamp(48px,6vw,84px);font-weight:800;line-height:1;
	color:var(--lm-azul);letter-spacing:-.02em;
}
.lm-libro__panel-texto{margin:0;font-size:17px;line-height:1.5;color:var(--lm-texto);max-width:40ch}
.lm-libro__panel-paginas{margin:0;font-size:14px;font-weight:600;color:var(--lm-texto)}
.lm-libro__abrir{margin-top:8px;border:0;cursor:pointer}
.lm-libro__panel-descarga{
	display:inline-flex;align-items:center;gap:8px;
	font:700 14px/1 var(--lm-display);color:var(--lm-azul-claro);text-decoration:none;
}
.lm-libro__panel-descarga svg{width:18px;height:18px}
.lm-libro__panel-descarga:hover{text-decoration:underline}
.lm-libro.es-cerrado .lm-libro__flecha--next{display:none}
.lm-libro.es-pantalla .lm-libro__panel-etq,
.lm-libro.es-pantalla .lm-libro__panel-texto,
.lm-libro.es-pantalla .lm-libro__panel-paginas{color:rgba(255,255,255,.8)}
.lm-libro.es-pantalla .lm-libro__panel-titulo{color:#fff}
.lm-libro.es-pantalla .lm-libro__panel-descarga{color:var(--lm-dorado)}

/* Carga: la portada (imagen destacada) con el aviso encima. */
.lm-libro__carga{
	position:relative;display:flex;flex-direction:column;align-items:center;gap:18px;
	padding:12px 0;
}
.lm-libro__carga-tapa{
	width:auto;max-width:min(420px,80vw);max-height:62vh;height:auto;display:block;
	border-radius:2px 6px 6px 2px;box-shadow:0 22px 34px rgba(0,28,52,.28);
}
.lm-libro__carga-texto{
	display:inline-flex;align-items:center;gap:10px;
	font:600 15px/1.2 var(--lm-display);color:var(--lm-azul);
}
.lm-libro__carga-texto a{color:var(--lm-azul-claro);text-decoration:underline}
.lm-libro__spinner{
	width:20px;height:20px;border-radius:50%;
	border:3px solid rgba(0,45,84,.18);border-top-color:var(--lm-azul);
	animation:lm-libro-gira .8s linear infinite;
}
@keyframes lm-libro-gira{to{transform:rotate(360deg)}}

/* Flechas a los lados: círculos blancos como los del calendario de la portada. */
.lm-libro__flecha{
	position:absolute;top:50%;z-index:5;transform:translateY(-50%);
	width:52px;height:52px;border-radius:50%;border:0;padding:0;cursor:pointer;
	background:#fff;color:var(--lm-azul);box-shadow:0 6px 18px rgba(0,28,52,.18);
	display:flex;align-items:center;justify-content:center;
	transition:background-color .2s ease,color .2s ease,opacity .2s ease,transform .2s ease;
}
.lm-libro__flecha svg{width:24px;height:24px}
.lm-libro__flecha--prev{left:0}
.lm-libro__flecha--next{right:0}
.lm-libro__flecha:hover:not(:disabled){background:var(--lm-dorado)}
.lm-libro__flecha:focus-visible{outline:3px solid var(--lm-dorado);outline-offset:3px}
.lm-libro__flecha:disabled{opacity:0;pointer-events:none}
.lm-libro:not(.es-listo) .lm-libro__flecha{display:none}

/* Barra: portada, deslizador de páginas, contador y pantalla completa. */
.lm-libro__barra{
	display:flex;align-items:center;gap:14px;
	max-width:560px;margin:30px auto 0;padding:8px 10px;
	background:#fff;border-radius:50px;box-shadow:0 4px 14px rgba(0,28,52,.08);
}
.lm-libro__barra[hidden]{display:none}
.lm-libro__boton{
	flex:none;width:40px;height:40px;border-radius:50%;border:0;padding:0;cursor:pointer;
	background:var(--lm-azul);color:#fff;display:flex;align-items:center;justify-content:center;
	transition:background-color .2s ease,color .2s ease;
}
.lm-libro__boton svg{width:20px;height:20px}
.lm-libro__boton:hover{background:var(--lm-dorado);color:var(--lm-azul);text-decoration:none}
.lm-libro__boton:focus-visible{outline:3px solid var(--lm-dorado);outline-offset:2px}
.lm-libro__rango{flex:1;min-width:0;display:flex}
.lm-libro__rango input{width:100%;accent-color:var(--lm-azul);cursor:pointer}
.lm-libro__contador{
	flex:none;min-width:84px;text-align:center;
	font:700 14px/1 var(--lm-display);color:var(--lm-azul);font-variant-numeric:tabular-nums;
}
.lm-libro__ayuda{margin:14px 0 0;text-align:center;font-size:13px;color:var(--lm-texto)}
.lm-libro__ayuda[hidden]{display:none}
.lm-libro__error{text-align:center}

/* Pantalla completa (también cuando el navegador no la permite: ocupa la ventana). */
.lm-libro.es-pantalla{
	position:fixed;inset:0;z-index:100000;background:var(--lm-azul);
	display:flex;flex-direction:column;justify-content:center;padding:3vh 72px;
}
.lm-libro.es-pantalla .lm-libro__barra{margin-top:3vh}
.lm-libro.es-pantalla .lm-libro__ayuda{color:rgba(255,255,255,.75)}
.lm-libro.es-pantalla .lm-libro__flecha--prev{left:-60px}
.lm-libro.es-pantalla .lm-libro__flecha--next{right:-60px}
.lm-libro.es-pantalla .lm-libro__hojas{filter:drop-shadow(0 22px 34px rgba(0,0,0,.45))}
html.lm-sin-scroll{overflow:hidden}

/* Todos los anuarios: tapas con forma de libro. */
.lm-anuarios__titulo{text-align:center}
.lm-anuarios__lista{
	list-style:none;margin:0;padding:0;
	display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,260px));justify-content:center;gap:48px 40px;
}
.lm-anuarios__enlace{display:flex;flex-direction:column;align-items:center;gap:14px;text-decoration:none;color:var(--lm-azul)}
.lm-anuarios__enlace:hover{text-decoration:none}
.lm-anuarios__tapa{
	position:relative;display:block;width:100%;aspect-ratio:609/765;overflow:hidden;
	border-radius:2px 8px 8px 2px;background:var(--lm-azul);
	box-shadow:0 12px 24px rgba(0,28,52,.18),0 2px 4px rgba(0,28,52,.12);
	transition:transform .25s ease,box-shadow .25s ease;
}
/* Lomo: una franja más oscura a la izquierda. */
.lm-anuarios__tapa::before{
	content:"";position:absolute;inset:0 auto 0 0;width:7%;z-index:1;
	background:linear-gradient(90deg,rgba(0,0,0,.28),rgba(0,0,0,.06) 70%,rgba(255,255,255,.18));
}
.lm-anuarios__img{width:100%;height:100%;object-fit:cover;display:block}
.lm-anuarios__sin-tapa{
	position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
	color:#fff;font:800 28px/1 var(--lm-display);
}
.lm-anuarios__sin-tapa svg{width:44px;height:44px;color:var(--lm-dorado)}
.lm-anuarios__enlace:hover .lm-anuarios__tapa,
.lm-anuarios__enlace:focus-visible .lm-anuarios__tapa{transform:translateY(-6px) rotate(-1deg);box-shadow:0 20px 34px rgba(0,28,52,.24)}
.lm-anuarios__enlace:focus-visible{outline:none}
.lm-anuarios__enlace:focus-visible .lm-anuarios__tapa{outline:3px solid var(--lm-dorado);outline-offset:4px}
.lm-anuarios__nombre{font:700 17px/1.2 var(--lm-display);text-align:center}
.lm-anuarios__ver{
	display:inline-flex;align-items:center;gap:4px;margin-top:-4px;
	font:700 14px/1 var(--lm-display);text-transform:uppercase;letter-spacing:.02em;color:var(--lm-azul-claro);
}
.lm-anuarios__ver svg{width:18px;height:18px;transition:transform .2s ease}
.lm-anuarios__enlace:hover .lm-anuarios__ver svg{transform:translateX(3px)}
.lm-anuarios__estado{
	margin-top:-6px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
	color:var(--lm-azul);background:var(--lm-dorado);padding:4px 10px;border-radius:50px;
}
.lm-anuarios__item.es-activo .lm-anuarios__tapa{outline:3px solid var(--lm-dorado);outline-offset:4px}
.lm-anuarios__vacio{text-align:center;font-size:17px}

/* Volver a Anuarios desde un año. */
.lm-anuario__volver{margin:0 0 10px}
.lm-anuario__volver a{
	display:inline-flex;align-items:center;gap:4px;
	font:700 14px/1 var(--lm-display);text-transform:uppercase;letter-spacing:.04em;color:var(--lm-azul-claro);
}
.lm-anuario__volver svg{width:18px;height:18px}

@media (max-width:800px){
	.lm-libro-seccion{padding:32px 0 40px}
	.lm-libro__cab{align-items:flex-start}
	.lm-libro__flecha{width:44px;height:44px}
	.lm-libro__flecha--prev{left:-8px}
	.lm-libro__flecha--next{right:-8px}
	.lm-libro.es-pantalla{padding:12px}
	.lm-libro.es-pantalla .lm-libro__flecha--prev{left:4px}
	.lm-libro.es-pantalla .lm-libro__flecha--next{right:4px}
	.lm-anuarios__lista{grid-template-columns:repeat(2,1fr);gap:28px 18px}
}
@media (prefers-reduced-motion:reduce){
	.lm-libro__pagina:not(.es-lista){animation:none}
	.lm-libro__hojas{transition:none}
	.lm-libro__panel{animation:none}
	.lm-libro__spinner{animation-duration:2s}
	.lm-anuarios__tapa,.lm-anuarios__enlace:hover .lm-anuarios__tapa{transition:none;transform:none}
}


/* ---------------------------------------------------------------
   Vista de lectura (single-anuario.php): todo en una pantalla.
   --------------------------------------------------------------- */
body.lm-lector{
	margin:0;padding:0 !important;background:var(--lm-gris);
	height:calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	height:calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
	display:flex;flex-direction:column;overflow:hidden;
}
.lm-lector__barra{
	flex:none;position:relative;z-index:10;
	display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;
	padding:10px clamp(16px,3vw,40px);background:#fff;box-shadow:0 2px 12px rgba(0,28,52,.08);
}
.lm-lector__volver{
	justify-self:start;display:inline-flex;align-items:center;gap:6px;
	min-height:42px;padding:0 20px 0 12px;border-radius:50px;
	background:var(--lm-azul);color:#fff;text-decoration:none;
	font:700 15px/1 var(--lm-display);text-transform:uppercase;letter-spacing:-.2px;
	transition:background-color .2s ease,color .2s ease;
}
.lm-lector__volver svg{width:20px;height:20px}
.lm-lector__volver:hover{background:var(--lm-dorado);color:var(--lm-azul);text-decoration:none}
.lm-lector__volver:focus-visible{outline:3px solid var(--lm-dorado);outline-offset:2px}
.lm-lector__titulo{margin:0;font-family:var(--lm-display);font-size:clamp(18px,2vw,24px);font-weight:800;color:var(--lm-azul);text-align:center;line-height:1.1}
.lm-lector__logo{justify-self:end;display:flex}
.lm-lector__logo-img{height:48px;width:auto;display:block}

.lm-lector__cuerpo{flex:1;min-height:0;display:flex}
.lm-lector .lm-libro-seccion{flex:1;min-height:0;display:flex;padding:2.2vh 0 1.6vh;background:transparent}
.lm-lector .lm-libro-seccion > .lm-contenedor{flex:1;min-height:0;display:flex;flex-direction:column;max-width:none;width:100%}
.lm-lector .lm-libro{flex:1;min-height:0;display:flex;flex-direction:column}
.lm-lector .lm-libro__escena{flex:1 1 0;min-height:0}
/* La carga no empuja el alto: se mide solo el espacio libre. */
.lm-lector .lm-libro__carga{position:absolute;inset:0;justify-content:center;padding:0}
.lm-lector .lm-libro__carga-tapa{max-height:calc(100% - 60px);max-width:80%}
.lm-lector .lm-libro__barra{margin-top:1.8vh;flex:none}
.lm-lector .lm-libro__ayuda{margin-top:8px;flex:none}
.lm-lector__vacio{margin:auto;text-align:center;font-size:17px}

@media (max-width:700px){
	.lm-lector__barra{grid-template-columns:auto 1fr;padding:8px 12px}
	.lm-lector__logo{display:none}
	.lm-lector__titulo{text-align:right;font-size:17px}
	.lm-lector__volver-a{display:none}
	.lm-lector .lm-libro__ayuda{display:none}
}
@media (max-height:620px){
	.lm-lector .lm-libro__ayuda{display:none}
}


/* ---------------------------------------------------------------
   Zoom de la página (se abre desde la lupa o con doble clic)
   --------------------------------------------------------------- */
.lm-lupa{
	position:fixed;inset:0;z-index:100010;background:rgba(0,20,38,.94);
	display:flex;flex-direction:column;
}
.lm-lupa[hidden]{display:none}
.lm-lupa__lienzo{
	flex:1;min-height:0;overflow:auto;display:flex;padding:16px;
	cursor:zoom-in;touch-action:none;overscroll-behavior:contain;outline:none;
}
.lm-lupa.es-acercado .lm-lupa__lienzo{cursor:grab}
.lm-lupa.es-arrastrando .lm-lupa__lienzo{cursor:grabbing}
.lm-lupa__hoja{margin:auto;display:flex;flex:none;gap:0;box-shadow:0 20px 50px rgba(0,0,0,.5)}
.lm-lupa__hoja img{height:100%;width:auto;display:block;background:#fff;user-select:none;-webkit-user-drag:none;pointer-events:none}
.lm-lupa__barra{
	position:absolute;left:50%;bottom:22px;transform:translateX(-50%);
	display:flex;align-items:center;gap:12px;padding:8px 10px;
	background:#fff;border-radius:50px;box-shadow:0 8px 24px rgba(0,0,0,.3);
}
.lm-lupa__nivel{min-width:52px;text-align:center;font:700 14px/1 var(--lm-display);color:var(--lm-azul);font-variant-numeric:tabular-nums}
.lm-lupa__cerrar{margin-left:6px;background:var(--lm-dorado);color:var(--lm-azul)}
.lm-lupa__cerrar:hover{background:var(--lm-azul);color:#fff}
.lm-lupa__ayuda{position:absolute;top:14px;left:0;right:0;margin:0;text-align:center;font-size:13px;color:rgba(255,255,255,.75);pointer-events:none}
@media (max-width:700px){
	.lm-lupa__lienzo{padding:8px}
	.lm-lupa__ayuda{display:none}
	.lm-lupa__barra{bottom:14px}
}

/* En la lectura no va el menú del sitio: solo «Volver». */
body.lm-lector .lm-mobile-menu-toggle,
body.lm-lector .lm-mobile-menu,
body.lm-lector .lm-mobile-menu-overlay{display:none !important}
