/*
Theme Name: LotoReducidas
Theme URI: https://lotoreducidas.es/
Description: Tema hijo de Twenty Twenty-Five con la identidad de La Lotera para lotoreducidas.es: combinaciones reducidas y condicionadas.
Template: twentytwentyfive
Version: 0.5.7
Requires at least: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: lotoreducidas
*/

/*
 * Los colores, tipografías y botones viven en theme.json.
 * Aquí solo va lo que theme.json no puede expresar: la barra superior,
 * la cabecera fija, los submenús, las tarjetas y la accesibilidad.
 */

/* ---------- Barra superior (+18 y despacho) ---------- */
.lr-topbar {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--base);
	font-size: 0.8125rem;
	padding-block: 0.375rem;
}
.lr-topbar p { margin: 0; }
.lr-topbar a { color: inherit; }
.lr-topbar a:hover { color: var(--wp--preset--color--accent-1); }
.lr-18 {
	display: inline-block;
	margin-right: 0.5rem;
	padding: 0 0.375rem;
	border-radius: 3px;
	background: var(--wp--preset--color--rojo);
	color: #fff;
	font-weight: 700;
}

/* ---------- Cabecera fija ----------
 * La plantilla envuelve la cabecera en <header class="wp-block-template-part">;
 * es ese envoltorio el que se queda fijo arriba (barra +18 incluida). */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 40;
}
body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }
.lr-header {
	background: rgb(255 255 255 / 0.97);
	border-bottom: 3px solid var(--wp--preset--color--accent-1);
	box-shadow: 0 2px 12px rgb(57 46 44 / 0.06);
}
.lr-header .wp-block-site-title a { text-decoration: none; }

/* Navegación multinivel */
.lr-header .wp-block-navigation .wp-block-navigation-item__content {
	font-weight: 600;
	padding-block: 0.5rem;
}
.lr-header .wp-block-navigation .wp-block-navigation__submenu-container {
	min-width: 15rem;
	width: max-content;
	padding: 0.5rem;
	border: 1px solid var(--wp--preset--color--accent-6) !important;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgb(57 46 44 / 0.14);
}
.lr-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	white-space: nowrap;
	font-weight: 400;
	padding: 0.5rem 0.75rem;
	border-radius: 4px;
}
.lr-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	background: var(--wp--preset--color--accent-2);
}

/* Buscador compacto */
.lr-header .wp-block-search__input {
	min-height: 44px;
	font-size: 16px; /* evita el zoom de iOS */
	border-radius: 4px;
}

/* ---------- Tarjetas de juego ---------- */
.lr-card {
	height: 100%;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-2);
	border-top: 4px solid var(--wp--preset--color--accent-1);
	border-radius: 8px;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}
.lr-card:hover {
	box-shadow: 0 8px 24px rgb(57 46 44 / 0.10);
	transform: translateY(-2px);
}
.lr-card h3 { margin-top: 0; }
.lr-card .wp-block-buttons { margin-top: auto; }

/* ---------- Juegos de la portada (bloque «Juegos con botes») ---------- */
.lr-juegos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 16.5rem), 1fr));
	gap: 1rem;
}
.lr-juego {
	--juego: var(--wp--preset--color--accent-3);
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
	padding: 1.15rem;
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--accent-6);
	border-radius: 12px;
	overflow: hidden;
	transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}
.lr-juego::before { /* franja con el color del juego */
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: var(--juego);
}
.lr-juego:hover { box-shadow: 0 10px 28px rgb(57 46 44 / 0.12); transform: translateY(-2px); border-color: color-mix(in srgb, var(--juego) 35%, transparent); }
.lr-juego__cabeza { display: flex; align-items: center; gap: 0.8rem; }
.lr-juego__logo {
	flex: none;
	display: grid;
	place-items: center;
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 12px;
	color: var(--juego);
	background: color-mix(in srgb, var(--juego) 10%, #fff);
}
.lr-juego__logo-img { width: 2.9rem; height: 2.9rem; object-fit: contain; }
/* logotipo oficial (lleva el nombre del juego): arriba, en grande */
.lr-juego__cabeza { flex-direction: column; align-items: flex-start; gap: 0.55rem; } /* logo arriba, en todas */
.lr-juego:not(.has-logo) .lr-juego__logo { height: 4.25rem; width: 4.25rem; }
.lr-juego.has-logo .lr-juego__logo { width: auto; height: 4.25rem; padding: 0; background: none; place-items: start; }
.lr-juego.has-logo .lr-juego__logo-img { width: auto; height: 100%; max-width: 8.5rem; object-fit: contain; object-position: left center; }
.lr-juego.has-logo .lr-juego__desc { margin: 0; }
.lr-juego__nombre { margin: 0; font-size: 1.15rem; line-height: 1.2; }
.lr-juego__desc { margin: 0.15rem 0 0; font-size: 0.88rem; color: var(--wp--preset--color--accent-4); }
.lr-juego__bote {
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
	padding: 0.75rem 0.9rem;
	border-radius: 10px;
	background: color-mix(in srgb, var(--juego) 7%, #fff);
	border: 1px solid color-mix(in srgb, var(--juego) 18%, #fff);
}
.lr-juego__etiqueta {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-4);
}
.lr-juego__mayor {
	padding: 0.1rem 0.45rem;
	border-radius: 99px;
	background: var(--wp--preset--color--naranja-oscuro);
	color: #fff;
	letter-spacing: 0.04em;
}
.lr-juego__importe {
	font-size: clamp(1.45rem, 1.2rem + 0.9vw, 1.8rem);
	font-weight: 800;
	line-height: 1.1;
	color: var(--juego);
	font-variant-numeric: tabular-nums;
}
.lr-juego__importe--sin { font-size: 1.05rem; font-weight: 700; color: var(--wp--preset--color--contrast); }
.lr-juego__fecha { font-size: 0.85rem; color: var(--wp--preset--color--accent-4); }
.lr-juego__fecha::first-letter { text-transform: uppercase; }
.lr-juego.is-mayor { border-color: color-mix(in srgb, var(--juego) 45%, transparent); }
.lr-juego__acciones { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 0.5rem; margin-top: auto; min-width: 0; }
.lr-juego__btn--main { grid-column: 1 / -1; }
.lr-juego__btn { display: flex; align-items: center; justify-content: center; min-width: 0; min-height: 44px; padding: 0.5rem 0.4rem; font-size: 0.88rem; text-align: center; text-decoration: none; overflow-wrap: anywhere; }
.lr-juego__btn--sec {
	background: transparent !important;
	color: var(--wp--preset--color--contrast) !important;
	box-shadow: inset 0 0 0 2px var(--wp--preset--color--accent-1);
}
.lr-juego__btn--sec:hover { background: var(--wp--preset--color--accent-2) !important; }
.lr-juegos__nota { margin-top: 0.75rem; font-size: 0.8rem; color: var(--wp--preset--color--accent-4); }
@media (prefers-reduced-motion: reduce) { .lr-juego:hover { transform: none; } }

/* ---------- Cabecera de las calculadoras (logo y bote) ---------- */
.lr-cab {
	--juego: var(--wp--preset--color--accent-3);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem 1.25rem;
	margin-bottom: 1.25rem;
}
.lr-cab__logo { flex: none; display: block; height: 4.5rem; }
.lr-cab__logo-img { display: block; width: auto; height: 100%; max-width: 9.5rem; object-fit: contain; object-position: left center; }
.lr-cab__titulo { flex: 0 1 auto; margin: 0; }
.lr-cab__modo { flex: none; align-self: center; padding: 0.35rem 0.8rem; border-radius: 999px; background: var(--juego); color: #fff; font-size: 0.85rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
/* el bote ocupa todo el ancho que queda junto al logo */
.lr-cab__bote {
	flex: 1 1 16rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.25rem 1.5rem;
	margin: 0;
	padding: 0.8rem 1.25rem;
	border-radius: 12px;
	background: color-mix(in srgb, var(--juego) 7%, #fff);
	border: 1px solid color-mix(in srgb, var(--juego) 20%, #fff);
	border-left: 5px solid var(--juego);
}
.lr-cab__cifra { display: grid; gap: 0.05rem; }
.lr-cab__etiqueta { font-size: 0.72rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); }
.lr-cab__importe { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2.1rem); font-weight: 800; line-height: 1.1; color: var(--juego); font-variant-numeric: tabular-nums; }
.lr-cab__importe--sin { font-size: 1rem; color: var(--wp--preset--color--contrast); }
.lr-cab__fecha { font-size: 0.95rem; font-weight: 600; color: var(--wp--preset--color--accent-4); }
.lr-cab__fecha::first-letter { text-transform: uppercase; }
@media (max-width: 560px) {
	.lr-cab__logo { height: 3.75rem; }
	.lr-cab { gap: 0.75rem; }
	.lr-cab__logo { height: 3.25rem; }
	.lr-cab__logo-img { max-width: 8rem; }
	.lr-cab__bote { flex-basis: 100%; padding: 0.6rem 0.85rem; gap: 0.1rem 1rem; }
}

/* Cifras grandes (botes, costes) */
.lr-cifra {
	color: var(--wp--preset--color--accent-1);
	font-weight: 800;
	line-height: 1.05;
}

/* ---------- Pie ---------- */
.lr-footer a { color: inherit; text-decoration: none; }
.lr-footer a:hover { text-decoration: underline; }
.lr-footer .wp-block-list { list-style: none; padding-left: 0; }
.lr-footer .wp-block-list li { margin-block: 0.35rem; }

/* ---------- Accesibilidad ---------- */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 3px solid var(--wp--preset--color--accent-3);
	outline-offset: 2px;
}
.wp-element-button, .wp-block-button__link { min-height: 44px; }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.lr-card:hover { transform: none; }
}

/* El pie va sobre fondo marrón: títulos y nombre del sitio en blanco */
.lr-footer :where(h1, h2, h3, h4, h5, h6),
.lr-footer .wp-block-site-title,
.lr-footer .wp-block-site-title a { color: var(--wp--preset--color--base); }

/* Buscador y botones de la cabecera: esquinas de La Lotera */
.lr-header .wp-block-search__button { border-radius: 4px; }
.lr-header .wp-block-search__inside-wrapper { border-radius: 6px; }
.lr-header .wp-block-button__link { white-space: nowrap; }

/* Tarjetas: los dos botones del mismo ancho, uno bajo otro */
.lr-card .wp-block-buttons { flex-direction: column; align-items: stretch; width: 100%; }
.lr-card .wp-block-button, .lr-card .wp-block-button__link { width: 100%; text-align: center; }

/* ---------- Móvil ---------- */
@media (max-width: 781px) {
	.lr-topbar { font-size: 0.75rem; }
	.lr-topbar .wp-block-group { row-gap: 0.15rem; }
	/* El buscador pasa a la página de búsqueda; en la cabecera no cabe */
	.lr-header .wp-block-search { display: none; }
	.lr-header .wp-block-button__link {
		padding: 0.55rem 0.75rem;
		font-size: 0.72rem;
		min-height: 44px;
		display: inline-flex;
		align-items: center;
	}
	.lr-header .wp-block-site-title { font-size: 1.15rem; }
	.lr-header .wp-block-navigation { order: 3; } /* menú hamburguesa a la derecha */
}

.lr-header .wp-block-search__input { padding-inline: 0.75rem; }

/* Menú móvil a pantalla completa: alineado a la izquierda y sin cajas */
.lr-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.25rem;
}
.lr-header .is-menu-open .wp-block-navigation__responsive-container-content,
.lr-header .is-menu-open .wp-block-navigation__container,
.lr-header .is-menu-open .wp-block-navigation-item {
	align-items: flex-start !important;
	text-align: left;
}
.lr-header .is-menu-open .wp-block-navigation__container { gap: 0.25rem; width: 100%; }
.lr-header .is-menu-open .wp-block-navigation-item__content { font-size: 1.15rem; }
.lr-header .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	box-shadow: none;
	padding: 0 0 0.75rem 1rem !important;
	width: auto;
}
.lr-header .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	white-space: normal;
	font-size: 1rem;
	padding-block: 0.4rem;
	color: var(--wp--preset--color--accent-4);
}

/* Buscador: solo la lupa; se despliega al pulsarla */
.lr-header .wp-block-search__button-only .wp-block-search__button {
	min-width: 44px;
	min-height: 44px;
	background: transparent;
	color: var(--wp--preset--color--contrast);
}
.lr-header .wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button {
	background: var(--wp--preset--color--accent-1);
}

/* Portátiles y tabletas: el menú pasa a hamburguesa antes de amontonarse */
@media (max-width: 1100px) {
	.lr-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.lr-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.lr-header .wp-block-navigation { order: 3; }
}

/* Al desplegar el buscador, el campo se abre a 260 px y el menú se oculta
 * un momento para dejarle sitio (vuelve al cerrar el buscador) */
.lr-header .wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	flex: 0 0 260px;
	width: 260px;
}
.lr-header:has(.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-navigation {
	display: none;
}
.lr-header .lr-acciones { margin-left: auto; }

/* ---------- Guías: páginas /reducidas/ y /condicionadas/ ---------- */
/* Guías de LotoReducidas: reducidas y condicionadas */
.lrg { --lrg-tinta: var(--wp--preset--color--contrast, #392E2C); --lrg-suave: var(--wp--preset--color--accent-4, #575756); --lrg-marca: var(--wp--preset--color--accent-3, #007C82); --lrg-turquesa: var(--wp--preset--color--accent-1, #04C0C7); --lrg-fondo: var(--wp--preset--color--accent-5, #F7FBFB); --lrg-claro: var(--wp--preset--color--accent-2, #E0F2F2); --lrg-borde: var(--wp--preset--color--accent-6, #E6E6E6); --lrg-naranja: var(--wp--preset--color--naranja-oscuro, #B53813); color: var(--lrg-tinta); line-height: 1.6; max-width: 1100px; margin: 0 auto; }
.lrg *, .lrg *::before, .lrg *::after { box-sizing: border-box; }
.lrg h2, .lrg h3, .lrg h4 { line-height: 1.2; margin: 0 0 0.6rem; color: var(--lrg-tinta); }
.lrg h2 { font-size: clamp(1.5rem, 1.2rem + 1.2vw, 2rem); }
.lrg h3 { font-size: 1.25rem; }
.lrg p { margin: 0 0 0.9rem; }
.lrg a { color: var(--lrg-marca); }
.lrg section { margin: 0 0 3rem; }

.lrg-hero { background: linear-gradient(135deg, var(--lrg-claro), #fff 70%); border: 1px solid var(--lrg-borde); border-radius: 1.25rem; padding: clamp(1.5rem, 1rem + 2.5vw, 3rem); margin-bottom: 2.5rem; }
.lrg-hero h1, .lrg-hero .lrg-hero__tit { font-size: clamp(1.9rem, 1.4rem + 2.2vw, 2.9rem); line-height: 1.1; margin: 0 0 0.8rem; }
.lrg-hero__lead { font-size: 1.15rem; max-width: 46rem; color: var(--lrg-suave); }
.lrg-eyebrow { display: inline-block; font-size: 0.78rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lrg-marca); margin-bottom: 0.6rem; }

.lrg-juegos { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.lrg-juegos a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.45rem 0.85rem; border: 1px solid var(--lrg-borde); border-radius: 999px; background: #fff; color: var(--lrg-tinta); font-weight: 700; font-size: 0.92rem; text-decoration: none; }
.lrg-juegos a:hover, .lrg-juegos a:focus-visible { border-color: var(--juego, var(--lrg-marca)); color: var(--juego, var(--lrg-marca)); }
.lrg-juegos i { width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--juego); }

.lrg-pasos { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; margin: 1.25rem 0 0; padding: 0; list-style: none; counter-reset: paso; }
.lrg-pasos li { counter-increment: paso; background: #fff; border: 1px solid var(--lrg-borde); border-radius: 1rem; padding: 1.25rem; }
.lrg-pasos li::before { content: counter(paso); display: grid; place-items: center; width: 2rem; height: 2rem; border-radius: 50%; background: var(--lrg-marca); color: #fff; font-weight: 800; margin-bottom: 0.6rem; }
.lrg-pasos strong { display: block; margin-bottom: 0.3rem; }
.lrg-pasos p { margin: 0; color: var(--lrg-suave); font-size: 0.97rem; }

.lrg-dos { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; }
.lrg-caja { background: var(--lrg-fondo); border: 1px solid var(--lrg-borde); border-radius: 1rem; padding: 1.25rem 1.35rem; }
.lrg-caja > :last-child { margin-bottom: 0; }
.lrg-caja--aviso { background: #FFF6F1; border-color: #F6CDB8; }
.lrg-caja--aviso strong { color: var(--lrg-naranja); }

.lrg-cifras { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: 0.75rem; margin: 1rem 0; }
.lrg-cifra { background: #fff; border: 1px solid var(--lrg-borde); border-radius: 0.9rem; padding: 0.9rem 1rem; }
.lrg-cifra span { display: block; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--lrg-suave); }
.lrg-cifra strong { display: block; font-size: 1.55rem; line-height: 1.15; font-variant-numeric: tabular-nums; }
.lrg-cifra small { color: var(--lrg-suave); }
.lrg-cifra--si { border-color: var(--lrg-marca); background: var(--lrg-claro); }
.lrg-cifra--si strong { color: var(--lrg-marca); }

.lrg-tabla { width: 100%; border-collapse: collapse; margin: 0.75rem 0 1rem; font-size: 0.95rem; }
.lrg-tabla th, .lrg-tabla td { text-align: left; padding: 0.6rem 0.75rem; border-bottom: 1px solid var(--lrg-borde); vertical-align: top; }
.lrg-tabla th { font-size: 0.78rem; letter-spacing: 0.05em; text-transform: uppercase; color: var(--lrg-suave); }
.lrg-tabla td.n { font-variant-numeric: tabular-nums; white-space: nowrap; }
.lrg-scroll { overflow-x: auto; }

.lrg-juego { --juego: var(--lrg-marca); border: 1px solid var(--lrg-borde); border-top: 6px solid var(--juego); border-radius: 1.1rem; padding: clamp(1.25rem, 1rem + 1.5vw, 2rem); margin: 0 0 1.5rem; background: #fff; scroll-margin-top: 6rem; }
.lrg-juego__cab { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.25rem; margin-bottom: 1rem; }
.lrg-juego__cab img { height: 3.5rem; width: auto; max-width: 9rem; object-fit: contain; }
.lrg-juego__cab h3 { margin: 0; font-size: 1.45rem; }
.lrg-juego__cab p { margin: 0; color: var(--lrg-suave); font-size: 0.95rem; flex-basis: 100%; }
.lrg-juego h4 { font-size: 1rem; margin-top: 1.2rem; }
.lrg-juego ul { margin: 0 0 1rem; padding-left: 1.2rem; }
.lrg-juego li { margin-bottom: 0.3rem; }
.lrg-bolas { display: flex; flex-wrap: wrap; gap: 0.35rem; margin: 0.5rem 0 0.9rem; padding: 0 !important; list-style: none; }
.lrg-bolas li { display: grid; place-items: center; min-width: 2.2rem; height: 2.2rem; padding: 0 0.45rem; border-radius: 999px; background: var(--juego); color: #fff; font-weight: 800; font-size: 0.9rem; margin: 0; font-variant-numeric: tabular-nums; }
.lrg-bolas li.x { background: #F5C518; color: #392E2C; }
.lrg-pasoapaso { margin: 0.5rem 0 1rem; padding: 0; list-style: none; }
.lrg-pasoapaso li { display: flex; justify-content: space-between; gap: 1rem; padding: 0.55rem 0.8rem; border-left: 3px solid var(--juego); background: var(--lrg-fondo); margin-bottom: 0.35rem; border-radius: 0 0.5rem 0.5rem 0; }
.lrg-pasoapaso b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.lrg-boton { display: inline-flex; align-items: center; gap: 0.5rem; margin-top: 0.5rem; padding: 0.8rem 1.3rem; border-radius: 0.7rem; background: var(--juego, var(--lrg-marca)); color: #fff !important; font-weight: 800; text-decoration: none; }
.lrg-boton:hover, .lrg-boton:focus-visible { filter: brightness(1.12); }
.lrg-boton--sec { background: #fff; color: var(--juego, var(--lrg-marca)) !important; border: 2px solid var(--juego, var(--lrg-marca)); }
.lrg-botones { display: flex; flex-wrap: wrap; gap: 0.6rem; }

.lrg-faq details { border: 1px solid var(--lrg-borde); border-radius: 0.8rem; padding: 0.9rem 1.1rem; margin-bottom: 0.6rem; background: #fff; }
.lrg-faq summary { cursor: pointer; font-weight: 700; }
.lrg-faq details[open] summary { margin-bottom: 0.6rem; }
.lrg-faq details > :last-child { margin-bottom: 0; }
.lrg-nota { font-size: 0.88rem; color: var(--lrg-suave); }

@media (max-width: 600px) {
	.lrg-juego__cab img { height: 2.8rem; }
	.lrg-pasoapaso li { flex-direction: column; gap: 0.1rem; }
}

/* ---------- Herramientas (.lrh) ---------- */
.lrh-hero { padding: clamp(1.25rem, 1rem + 2vw, 2.25rem); margin-bottom: 1.5rem; }
.lrh-caja { background: #fff; border: 1px solid var(--lrg-borde); border-radius: 1rem; padding: clamp(1rem, 0.8rem + 1vw, 1.5rem); margin-bottom: 1rem; }
.lrh-tit { font-size: 1.1rem !important; margin: 0 0 0.9rem !important; }
.lrh-rejilla { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1rem; align-items: start; }
.lrh-rejilla > .lrh-caja { margin-bottom: 0; }
.lrh-rejilla + * { margin-top: 1rem; }
@media (max-width: 760px) { .lrh-rejilla { grid-template-columns: 1fr; } }
.lrh-juegos { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.lrh-juego { display: inline-flex; align-items: center; gap: 0.45rem; padding: 0.55rem 0.95rem; border: 2px solid var(--lrg-borde); border-radius: 999px; background: #fff; color: var(--lrg-tinta); font: inherit; font-weight: 700; cursor: pointer; }
.lrh-juego i { width: 0.65rem; height: 0.65rem; border-radius: 50%; background: var(--juego); }
.lrh-juego:hover { border-color: var(--juego); }
.lrh-juego[aria-pressed="true"] { background: var(--juego); border-color: var(--juego); color: #fff; }
.lrh-juego[aria-pressed="true"] i { background: #fff; }
.lrh-juego:focus-visible, .lrh-paso button:focus-visible { outline: 3px solid var(--lrg-turquesa); outline-offset: 2px; }
.lrh-panel { display: grid; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); gap: 1rem 1.25rem; }
.lrh-panel > .lrh-nota, .lrh-partido { grid-column: 1 / -1; }
.lrh-paso label { display: block; font-weight: 700; font-size: 0.92rem; margin-bottom: 0.3rem; }
.lrh-paso small { display: block; color: var(--lrg-suave); font-size: 0.8rem; margin-top: 0.25rem; }
.lrh-paso__ctrl { display: inline-flex; align-items: stretch; border: 1px solid var(--lrg-borde); border-radius: 0.7rem; overflow: hidden; background: #fff; }
.lrh-paso__ctrl button { width: 2.6rem; border: 0; background: var(--lrg-fondo); color: var(--lrg-tinta); font-size: 1.3rem; font-weight: 700; cursor: pointer; }
.lrh-paso__ctrl button:hover { background: var(--lrg-claro); }
.lrh-paso__ctrl input { width: 4.2rem; border: 0; text-align: center; font: inherit; font-size: 1.15rem; font-weight: 800; padding: 0.45rem 0; -moz-appearance: textfield; }
.lrh-paso__ctrl input::-webkit-inner-spin-button, .lrh-paso__ctrl input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.lrh-partido { display: flex; flex-wrap: wrap; align-items: end; gap: 0.75rem 1.25rem; padding: 0.6rem 0; border-top: 1px solid var(--lrg-borde); }
.lrh-partido__n { font-weight: 800; min-width: 5.5rem; padding-bottom: 0.55rem; }
.lrh-caja--res { border-color: var(--lrg-marca); background: var(--lrg-fondo); }
.lrh-cifra { margin-bottom: 0.9rem; }
.lrh-cifra span { display: block; font-size: 0.75rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: var(--lrg-suave); }
.lrh-cifra strong { display: block; font-size: clamp(1.6rem, 1.3rem + 1vw, 2.2rem); line-height: 1.15; font-variant-numeric: tabular-nums; }
.lrh-cifra small { color: var(--lrg-suave); }
.lrh-cifra--total strong { color: var(--lrg-marca); }
.lrh-nota { font-size: 0.88rem; color: var(--lrg-suave); margin: 0.5rem 0 !important; }
.lrg-tabla tr.is-actual th, .lrg-tabla tr.is-actual td, .lrg-tabla td.is-actual { background: var(--lrg-claro); font-weight: 800; }
.lrh-tabla-q td, .lrh-tabla-q th { white-space: nowrap; }
.lrh-bolas { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; }
.lrh-bola input { width: 3.3rem; height: 3.3rem; border-radius: 50%; border: 2px solid var(--lrg-borde); text-align: center; font: inherit; font-size: 1.1rem; font-weight: 800; -moz-appearance: textfield; }
.lrh-bola input::-webkit-inner-spin-button { -webkit-appearance: none; }
.lrh-bola input:focus { border-color: var(--lrg-marca); outline: none; box-shadow: 0 0 0 3px var(--lrg-claro); }
.lrh-bola.is-extra input { border-color: #F5C518; background: #FFF9DB; }
.lrh-sep { font-weight: 800; color: var(--lrg-suave); margin: 0 0.2rem 0 0.5rem; }
.lrh-signos { display: grid; grid-template-columns: repeat(auto-fill, minmax(4.4rem, 1fr)); gap: 0.5rem; }
.lrh-sel { display: grid; gap: 0.15rem; }
.lrh-sel label { font-size: 0.78rem; font-weight: 700; color: var(--lrg-suave); }
.lrh-sel select { font: inherit; font-weight: 800; padding: 0.45rem; border: 2px solid var(--lrg-borde); border-radius: 0.6rem; background: #fff; }
.lrh-goles { display: grid; grid-template-columns: repeat(auto-fill, minmax(11rem, 1fr)); gap: 0.75rem; }
.lrh-goles__p { display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem; padding: 0.6rem; border: 1px solid var(--lrg-borde); border-radius: 0.7rem; }
.lrh-area { width: 100%; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.95rem; padding: 0.75rem; border: 2px solid var(--lrg-borde); border-radius: 0.7rem; resize: vertical; }
.lrh-area:focus { border-color: var(--lrg-marca); outline: none; }
.lrh-acciones { display: flex; flex-wrap: wrap; gap: 0.6rem; align-items: center; margin-top: 0.75rem; }
.lrh-acciones .lrg-boton { margin-top: 0; border: 0; font: inherit; font-weight: 800; cursor: pointer; }
.lrh-subir { cursor: pointer; }
.lrh-fichero { position: absolute; width: 1px; height: 1px; opacity: 0; }
.lrh-fichero:focus-visible + * , .lrh-subir:focus-within { outline: 3px solid var(--lrg-turquesa); }
.lrh-error { color: #B3261E; font-weight: 700; margin: 0.6rem 0 0 !important; }
.lrh-error:empty { display: none; }
.lrh-aviso { background: #FFF6F1; border: 1px solid #F6CDB8; border-radius: 0.6rem; padding: 0.6rem 0.8rem; }
.lrh-caja--res.is-premio { border-color: #2E7D32; background: #F1F8F1; }
.lrh-caja--res.is-premio .lrh-tit { color: #1B5E20; }
.lrh-res details { margin: 0.5rem 0; }
.lrh-res summary { cursor: pointer; font-weight: 700; }
.lrh-premiadas { margin: 0.5rem 0 0; padding: 0; list-style: none; }
.lrh-premiadas li { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 0.8rem; padding: 0.5rem 0; border-bottom: 1px solid var(--lrg-borde); }
.lrh-premiadas__n { font-size: 0.8rem; color: var(--lrg-suave); min-width: 4.5rem; }
.lrh-premiadas__a { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.lrh-premiadas__a span { min-width: 1.9rem; padding: 0.15rem 0.35rem; border-radius: 0.4rem; background: var(--lrg-fondo); border: 1px solid var(--lrg-borde); text-align: center; font-weight: 700; font-variant-numeric: tabular-nums; font-size: 0.9rem; }
.lrh-premiadas__a span.is-ex { border-style: dashed; }
.lrh-premiadas__a span.is-ok { background: #2E7D32; border-color: #2E7D32; color: #fff; }
.lrh-tarjeta h2 { font-size: 1.3rem; }
.lrh-cargando { color: var(--lrg-suave); }

.lrg-tabla tbody th { text-transform: none; letter-spacing: 0; font-size: inherit; color: inherit; font-weight: 700; }

/* ---------- Resultados (.lrr) ---------- */
.lrh-sel--sorteo { max-width: 26rem; margin-bottom: 1rem; }
.lrh-sel--sorteo select { font-weight: 700; }
.lrr-rejilla { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 31rem), 1fr)); gap: 1.25rem; }
.lrr-rejilla .lrg-juego { margin: 0; display: flex; flex-direction: column; }
.lrr-juego h2 { margin: 0; font-size: 1.35rem; }
.lrr-logo { height: 3rem; width: auto; max-width: 8rem; object-fit: contain; }
.lrr-bolas { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0.25rem 0 0.9rem; padding: 0 !important; list-style: none; }
.lrr-bolas li { display: grid; place-items: center; min-width: 2.6rem; height: 2.6rem; padding: 0 0.5rem; border-radius: 999px; background: var(--juego); color: #fff; font-weight: 800; font-size: 1.05rem; font-variant-numeric: tabular-nums; margin: 0; position: relative; }
.lrr-bolas li.x { background: #F5C518; color: #392E2C; }
.lrr-bolas li small { position: absolute; top: -0.95rem; left: 0; right: 0; text-align: center; font-size: 0.62rem; font-weight: 800; color: var(--lrg-suave); text-transform: uppercase; }
.lrr-bolas li:has(small) { margin-top: 0.9rem; }
.lrr-bolas--q li { min-width: 2.3rem; border-radius: 0.5rem; }
.lrr-bolas--lot li { border-radius: 0.6rem; font-size: 1.4rem; letter-spacing: 0.08em; height: 3.2rem; padding: 0 0.9rem; }
.lrr-extra { margin: 0 0 0.4rem !important; color: var(--lrg-suave); }
.lrr-extra strong { color: var(--lrg-tinta); letter-spacing: 0.04em; }
.lrr-premios { border-top: 1px solid var(--lrg-borde); padding: 0.6rem 0 0; margin-top: 0.4rem; }
.lrr-premios summary { cursor: pointer; font-weight: 700; color: var(--lrg-marca); }
.lrr-premios .lrg-tabla { font-size: 0.9rem; }
.lrr-ant { list-style: none; margin: 0.5rem 0 0; padding: 0 !important; }
.lrr-ant li { margin: 0 0 0.25rem; }
.lrr-ant__f { display: block; font-size: 0.85rem; color: var(--lrg-suave); }
.lrr-ant .lrr-bolas li { min-width: 2.1rem; height: 2.1rem; font-size: 0.9rem; }
.lrr .lrg-botones { margin-top: auto; padding-top: 0.75rem; }

/* Comprobar: marcar en el boleto */
.lrh-pests { display: inline-flex; flex-wrap: wrap; gap: 0.3rem; padding: 0.3rem; background: var(--lrg-fondo); border: 1px solid var(--lrg-borde); border-radius: 0.8rem; margin-bottom: 1rem; }
.lrh-pest { border: 0; background: transparent; padding: 0.55rem 1rem; border-radius: 0.6rem; font: inherit; font-weight: 700; color: var(--lrg-suave); cursor: pointer; }
.lrh-pest[aria-pressed="true"] { background: #fff; color: var(--lrg-tinta); box-shadow: 0 1px 3px rgba(0,0,0,.12); }
.lrh-zona[hidden] { display: none !important; }
.lrh-etq { display: block; font-weight: 700; margin-bottom: 0.2rem; }
.lrh-boletos { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: 1rem; margin: 0.75rem 0; }
.lrh-bol { border: 2px solid var(--juego); border-radius: 0.9rem; padding: 0.8rem 0.9rem 0.9rem; margin: 0; min-width: 0; background: #fff; }
.lrh-bol legend { padding: 0.15rem 0.6rem; background: var(--juego); color: #fff; border-radius: 999px; font-weight: 800; font-size: 0.85rem; }
.lrh-bol__sub { font-weight: 700; font-size: 0.88rem; margin: 0.7rem 0 0.35rem !important; }
.lrh-tg { display: flex; flex-wrap: wrap; gap: 0.25rem; }
.lrh-tg button { min-width: 2.15rem; height: 2.15rem; padding: 0 0.3rem; border: 1px solid var(--lrg-borde); background: #fff; color: var(--lrg-tinta); border-radius: 0.45rem; font: inherit; font-weight: 700; font-size: 0.9rem; cursor: pointer; font-variant-numeric: tabular-nums; }
.lrh-tg button:hover { border-color: var(--juego); }
.lrh-tg button[aria-pressed="true"] { background: var(--juego); border-color: var(--juego); color: #fff; }
.lrh-tg button:focus-visible { outline: 3px solid var(--lrg-turquesa); outline-offset: 1px; }
.lrh-tg--num { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); }
.lrh-tg--num button { min-width: 0; }
.lrh-tg--ext button[aria-pressed="true"] { background: #F5C518; border-color: #E0B000; color: #392E2C; }
.lrh-q { display: grid; gap: 0.3rem; }
.lrh-q__fila { display: flex; align-items: center; flex-wrap: wrap; gap: 0.4rem 0.5rem; }
.lrh-q__n { min-width: 2rem; font-weight: 800; color: var(--lrg-suave); font-size: 0.85rem; }
.lrh-q__eq { font-size: 0.78rem; color: var(--lrg-suave); }
.lrh-q__fila--p15 { margin-top: 0.3rem; padding-top: 0.4rem; border-top: 1px dashed var(--lrg-borde); }
.lrh-bol__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; margin-top: 0.8rem; }
.lrh-bol__info { margin: 0 auto 0 0 !important; font-weight: 800; }
.lrh-bol__info.is-falta { font-weight: 600; color: var(--lrg-suave); font-size: 0.9rem; }
.lrh-mini { border: 1px solid var(--lrg-borde); background: #fff; border-radius: 0.5rem; padding: 0.35rem 0.7rem; font: inherit; font-size: 0.85rem; font-weight: 700; cursor: pointer; color: var(--lrg-tinta); }
.lrh-mini:hover { border-color: var(--lrg-marca); color: var(--lrg-marca); }
.lrh-mini--mas { padding: 0.55rem 1rem; }
.lrh-comprobar { font-size: 1.05rem; padding: 0.85rem 1.8rem; }
.lrg-tabla tfoot th, .lrg-tabla tfoot td { border-top: 2px solid var(--lrg-tinta); font-size: 1rem; text-transform: none; letter-spacing: 0; color: var(--lrg-tinta); }

/* Guías: glosario */
.lrg-glosario { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 20rem), 1fr)); gap: 0.75rem; margin: 0; }
.lrg-glosario > div { background: #fff; border: 1px solid var(--lrg-borde); border-radius: 0.8rem; padding: 0.9rem 1rem; }
.lrg-glosario dt { font-weight: 800; margin-bottom: 0.25rem; }
.lrg-glosario dd { margin: 0; color: var(--lrg-suave); font-size: 0.95rem; }
.lrg-dos .lrg-caja .lrg-boton { margin-top: 0.25rem; }

/* Múltiples */
.lrh--multiple .lr-cab { margin-bottom: 1.25rem; }
.lrh--multiple .lrh-rejilla { grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); }
.lrh--multiple .lrh-caja--res { position: sticky; top: 6.5rem; }
@media (max-width: 760px) { .lrh--multiple .lrh-rejilla { grid-template-columns: 1fr; } .lrh--multiple .lrh-caja--res { position: static; } }
.lrh--multiple .lrh-boletos, .lrh--multiple .lrh-bol { margin: 0; }
.lrh-tit--sep { margin-top: 1.4rem !important; }
.lrh-per { border: 0; padding: 0; margin: 0; display: grid; gap: 0.5rem; }
.lrh-per legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.lrh-per__op { display: flex; align-items: center; gap: 0.7rem; padding: 0.65rem 0.9rem; border: 2px solid var(--lrg-borde); border-radius: 0.8rem; cursor: pointer; background: #fff; }
.lrh-per__op:has(input:checked) { border-color: var(--lrg-marca); background: var(--lrg-claro); }
.lrh-per__op input { accent-color: var(--lrg-marca); width: 1.1rem; height: 1.1rem; }
.lrh-per__op span { display: grid; }
.lrh-per__op small { color: var(--lrg-suave); }
.lrh-sug:not(:empty) { margin-top: 1rem; padding: 0.9rem 1rem; border-radius: 0.8rem; background: #FFF9DB; border: 1px solid #F1D774; }
.lrh-sug__t { margin: 0 0 0.3rem !important; }
.lrh-sug .lrg-boton { margin-top: 0.4rem; }
.lrh-q__partido { min-width: 11rem; flex: 1 1 11rem; font-size: 0.85rem; color: var(--lrg-tinta); font-weight: 600; }
.lrh .lrg-boton[disabled] { opacity: 0.45; cursor: not-allowed; }
.lrh-estado { font-weight: 700; color: #1B5E20; margin: 0.6rem 0 0 !important; } .lrh-estado:empty { display: none; }
@media (max-width: 1100px) {
	.lr-footer .wp-block-columns { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem 1.25rem; }
	.lr-footer .wp-block-column { flex-basis: auto !important; margin: 0 !important; }
	.lr-footer .wp-block-column:first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
	.lr-footer .wp-block-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.lrh-barra { display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem; margin: 0.6rem 0 0.2rem; }
.lrh-barra__step { display: inline-flex; align-items: center; border: 1px solid var(--lrg-borde); border-radius: 0.5rem; overflow: hidden; background: #fff; }
.lrh-barra__step button { width: 2rem; height: 2rem; border: 0; background: var(--lrg-fondo); font: inherit; font-weight: 800; cursor: pointer; color: var(--lrg-tinta); }
.lrh-barra__n { min-width: 2rem; text-align: center; font-weight: 800; }
.lrh-mini--prin { background: var(--juego, var(--lrg-marca)); border-color: var(--juego, var(--lrg-marca)); color: #fff; }
.lrh-mini--prin:hover { color: #fff; filter: brightness(1.1); }
.lrh-bol-caja { min-width: 0; }
.lrh-barras { display: grid; gap: 0.1rem; margin-top: 0.6rem; }
.lrh-barras .lrh-barra { margin: 0; }
.lrh-barra__et { font-weight: 700; font-size: 0.88rem; margin-right: 0.2rem; }
.lrh-barra__grupo { display: inline-flex; align-items: center; gap: 0.3rem; margin-right: 0.3rem; }

/* Múltiples: misma caja que las calculadoras, con la línea turquesa de La Lotera */
.lrh--multiple { background: #fff; border: 1px solid var(--wp--preset--color--accent-2, #e0f2f2); border-top: 4px solid var(--wp--preset--color--accent-1, #04c0c7); border-radius: 12px; padding: clamp(1rem, 0.6rem + 2vw, 2.5rem); box-shadow: 0 6px 24px rgba(57, 46, 44, 0.06); }
.lrh--multiple .lrh-caja { box-shadow: none; }
.lrg section ul { padding-left: 1.2rem; } .lrg section li { margin-bottom: 0.35rem; }
