/* Páginas Interiores – Lotería del Huila */

/* Valores por defecto; primario y secundario se sobrescriben desde Ajustes. */
:root {
	--lhpi-primario: #0f6e3b;
	--lhpi-secundario: #f5c400;
	--lhpi-primario-oscuro: color-mix(in srgb, var(--lhpi-primario) 72%, #000);
	--lhpi-primario-suave: color-mix(in srgb, var(--lhpi-primario) 7%, #fff);
	--lhpi-primario-borde: color-mix(in srgb, var(--lhpi-primario) 22%, #fff);
	--lhpi-secundario-suave: color-mix(in srgb, var(--lhpi-secundario) 18%, #fff);
	--lhpi-rojo: #b3261e;
	--lhpi-rojo-suave: #fdeced;
	--lhpi-texto: #1f2a24;
	--lhpi-suave: #5b6660;
	--lhpi-borde: #e3e8e5;
	--lhpi-fondo: #f6f8f7;
	--lhpi-radio: 10px;
	--lhpi-sombra: 0 1px 2px rgba(16, 40, 28, .06), 0 6px 20px rgba(16, 40, 28, .06);
}

.lhpi {
	color: var(--lhpi-texto);
}

/*
 * Estructura básica de los bloques usados en el contenido. En el sitio público el
 * contenido se entrega como HTML simple (sin render_block), así que WordPress no
 * carga los estilos de bloque: aquí va lo mínimo necesario.
 */
.lhpi-texto .wp-block-columns {
	display: flex;
	flex-wrap: nowrap;
	gap: 24px;
	align-items: stretch;
	margin: 0 0 32px;
}

.lhpi-texto .wp-block-column {
	flex: 1 1 0;
	min-width: 0;
}

.lhpi-texto .wp-block-image {
	margin: 0;
}

.lhpi-texto .wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
}

@media (max-width: 781px) {
	.lhpi-texto .wp-block-columns {
		flex-wrap: wrap;
	}

	.lhpi-texto .wp-block-column {
		flex-basis: 100%;
	}
}

/* Modo integrado: la página se pinta dentro de la plantilla del tema. */
body.lhpi-modo-tema {
	overflow-x: clip;
}

.lhpi-integrado,
.entry-content > .lhpi-integrado,
.page-content > .lhpi-integrado {
	max-width: none;
	width: auto;
	margin-top: 0;
}

/* Temas con theme.json limitan el ancho de los grupos de bloques; los componentes usan todo su espacio. */
.lhpi .lhpi-texto > *,
.lhpi .lhpi-texto .is-layout-constrained > *,
.lhpi .lhpi-texto .wp-block-group > *,
.lhpi .lhpi-texto .wp-block-group__inner-container > *,
.lhpi .lhpi-texto .wp-block-column > * {
	max-width: none;
}

/*
 * En temas clásicos sin soporte de diseño, WordPress envuelve el contenido de cada grupo
 * en .wp-block-group__inner-container: se "disuelve" para que las rejillas funcionen.
 */
.lhpi [class*="lhpi-c-"] > .wp-block-group__inner-container {
	display: contents;
}

/*
 * Algunos temas limitan y centran los hijos de los grupos con selectores muy específicos.
 * :not(#lhpi-x) sube la especificidad sin depender de !important.
 */
.lhpi .lhpi-texto .wp-block-group__inner-container > *:not(#lhpi-x):not(.lhpi-c-contacto-img),
.lhpi .lhpi-texto .is-layout-constrained > *:not(#lhpi-x):not(.lhpi-c-contacto-img) {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
}

.lhpi .lhpi-c-panel-cabeza h2:not(#lhpi-x),
.lhpi .lhpi-c-panel-cabeza p:not(#lhpi-x) {
	text-align: left;
}

/* Botones del plugin frente a los estilos de botón del tema. */
.lhpi button.lhpi-boton--pdf:not(#lhpi-x),
.lhpi a.lhpi-boton--pdf:not(#lhpi-x) {
	background: var(--lhpi-secundario);
	color: var(--lhpi-texto);
}

.lhpi .lhpi-calc-tabs button:not(#lhpi-x) {
	background: transparent;
	color: var(--lhpi-texto);
	border: 0;
	text-transform: none;
	letter-spacing: normal;
}

.lhpi .lhpi-calc-tabs button[aria-selected="true"]:not(#lhpi-x) {
	background: var(--lhpi-primario);
	color: #fff;
}

.lhpi .lhpi-texto > *,
.lhpi .lhpi-texto .is-layout-constrained > * {
	margin-left: 0;
	margin-right: 0;
}

/* Los temas suelen dar estilo a todos los <button>: se restablece en los del plugin. */
.lhpi button.lhpi-boton,
.lhpi-modal button.lhpi-boton {
	border: 0;
	text-transform: none;
	letter-spacing: normal;
	line-height: 1.2;
	min-height: 0;
	width: auto;
}

.lhpi button.lhpi-boton--imprimir {
	background: transparent;
	color: #fff;
}

.lhpi-integrado .lhpi-banner {
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* Respaldo por si el tema muestra su propio título además del banner. */
body.lhpi-modo-tema .page-title,
body.lhpi-modo-tema .entry-title:not(.lhpi-titulo) {
	display: none;
}

.lhpi-contenedor {
	box-sizing: border-box;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 16px;
}

/* ---------- Iconos (máscaras SVG, toman el color del texto) ---------- */
.lhpi-i::before,
.lhpi-boton::before,
.lhpi-c-enlaces a::before {
	content: "";
	display: block;
	flex: none;
	width: 24px;
	height: 24px;
	background-color: currentColor;
	-webkit-mask: var(--lhpi-icono) center / contain no-repeat;
	mask: var(--lhpi-icono) center / contain no-repeat;
}

.lhpi-i-sello { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h4'/><path d='M14 3v5h5v3M9 9h2M9 13h5'/><circle cx='17' cy='17' r='4'/><path d='m15.5 17 1 1 2-2'/></svg>"); }
.lhpi-i-alcaldia { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 21h18M5 21V10m14 11V10M9.5 21v-7m5 7v-7M2.5 10 12 4l9.5 6z'/></svg>"); }
.lhpi-i-ubicacion { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 21s-7-6.2-7-11a7 7 0 0 1 14 0c0 4.8-7 11-7 11z'/><circle cx='12' cy='10' r='2.5'/></svg>"); }
.lhpi-i-regalo { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='8' width='18' height='4' rx='1'/><path d='M5 12v8a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1v-8M12 8v13'/><path d='M12 8S10.5 3.5 8 4.2 7.6 8 12 8zm0 0s1.5-4.5 4-3.8.4 3.8-4 3.8z'/></svg>"); }
.lhpi-i-mapa { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 4 3 6v14l6-2 6 2 6-2V4l-6 2z'/><path d='M9 4v14m6-12v14'/></svg>"); }
.lhpi-i-boleta { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 7a1 1 0 0 1 1-1h16a1 1 0 0 1 1 1v3a2 2 0 0 0 0 4v3a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1v-3a2 2 0 0 0 0-4z'/><path d='M15 6v2m0 3v2m0 3v2'/></svg>"); }
.lhpi-i-calendario { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M16 3v4M8 3v4M3 10h18M8 14h.01M12 14h.01M16 14h.01M8 17.5h.01M12 17.5h.01'/></svg>"); }
.lhpi-i-documento { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M14 3H7a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V8z'/><path d='M14 3v5h5M9 13h6M9 17h6'/></svg>"); }
.lhpi-i-prohibido { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'><circle cx='12' cy='12' r='9'/><path d='m5.6 5.6 12.8 12.8'/></svg>"); }
.lhpi-i-atencion { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 10v4a1 1 0 0 0 1 1h3l6 4V5L7 9H4a1 1 0 0 0-1 1z'/><path d='M17 9a4 4 0 0 1 0 6M19.5 6.5a7.5 7.5 0 0 1 0 11'/></svg>"); }
.lhpi-i-monedas { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><ellipse cx='12' cy='6' rx='7' ry='3'/><path d='M5 6v6c0 1.7 3.1 3 7 3s7-1.3 7-3V6M5 12v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6'/></svg>"); }
.lhpi-i-calculadora { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='3' width='14' height='18' rx='2'/><path d='M8 7h8v3H8zM8 14h.01M12 14h.01M16 14h.01M8 17.5h.01M12 17.5h.01M16 17.5h.01'/></svg>"); }
.lhpi-i-mazo { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='m14.5 12.5-8 8a2.1 2.1 0 0 1-3-3l8-8'/><path d='m16 16 6-6M8 8l6-6M9 7l8 8M21 11l-8-8'/></svg>"); }
.lhpi-boton--pdf { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v12m-5-5 5 5 5-5M4 20h16'/></svg>"); }
.lhpi-boton--imprimir { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M7 9V3h10v6M7 17H5a2 2 0 0 1-2-2v-4a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v4a2 2 0 0 1-2 2h-2'/><path d='M7 14h10v7H7z'/></svg>"); }
.lhpi-c-tel { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2'/></svg>"); }
.lhpi-c-correo { --lhpi-icono: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='m3 7 9 6 9-6'/></svg>"); }

/* ---------- Banner ---------- */
.lhpi-banner {
	position: relative;
	padding: 48px 0;
	background-color: var(--lhpi-primario);
	background-size: cover;
	background-position: center;
	color: #fff;
	border-bottom: 6px solid var(--lhpi-secundario);
	overflow: hidden;
}

.lhpi-banner:not(.lhpi-banner--imagen) {
	background-image:
		radial-gradient(circle at 88% 40%, color-mix(in srgb, var(--lhpi-secundario) 38%, transparent), transparent 42%),
		linear-gradient(115deg, var(--lhpi-primario-oscuro) 0%, var(--lhpi-primario) 70%);
}

.lhpi-banner--imagen::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, .65) 0%, rgba(0, 0, 0, .25) 100%);
}

.lhpi-banner .lhpi-contenedor {
	position: relative;
}

.lhpi-banner-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
}

.lhpi-banner-ilustracion {
	display: block;
	width: clamp(200px, 28vw, 360px);
	height: auto;
	margin: -24px 0;
	filter: drop-shadow(0 10px 24px rgba(0, 0, 0, .25));
}

.lhpi-titulo {
	margin: 0;
	color: #fff;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	line-height: 1.15;
}

.lhpi-subtitulo {
	margin: 12px 0 0;
	max-width: 720px;
	font-size: 1.125rem;
	opacity: .92;
}

/* Botones */
.lhpi-acciones {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 24px;
}

.lhpi-boton {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	border: 0;
	border-radius: 999px;
	font: inherit;
	font-size: .95rem;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform .15s, box-shadow .15s, background-color .15s;
}

.lhpi-boton::before {
	width: 18px;
	height: 18px;
}

.lhpi-boton small {
	font-size: .8em;
	font-weight: 400;
	opacity: .75;
}

.lhpi-boton--pdf {
	background: var(--lhpi-secundario);
	color: var(--lhpi-texto);
}

.lhpi-boton--pdf:hover,
.lhpi-boton--pdf:focus-visible {
	color: var(--lhpi-texto);
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(0, 0, 0, .2);
}

.lhpi-boton--imprimir {
	background: transparent;
	color: #fff;
	box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .7);
}

.lhpi-boton--imprimir:hover,
.lhpi-boton--imprimir:focus-visible {
	background: rgba(255, 255, 255, .14);
}

/* Migas de pan */
.lhpi-migas ol {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
	font-size: .875rem;
}

.lhpi-migas li + li::before {
	content: "›";
	margin-right: 4px;
	opacity: .7;
}

.lhpi-migas a {
	color: #fff;
	text-decoration: none;
	opacity: .85;
}

.lhpi-migas a:hover,
.lhpi-migas a:focus {
	opacity: 1;
	text-decoration: underline;
}

.lhpi-migas [aria-current] {
	color: var(--lhpi-secundario);
}

/* ---------- Cuerpo ---------- */
.lhpi-cuerpo {
	display: grid;
	gap: 40px;
	padding-top: 40px;
	padding-bottom: 56px;
}

.lhpi-cuerpo--menu {
	grid-template-columns: 280px minmax(0, 1fr);
}

.lhpi-contenido {
	min-width: 0;
}

.lhpi-texto > :first-child {
	margin-top: 0;
}

.lhpi-texto img {
	max-width: 100%;
	height: auto;
}

.lhpi-texto table {
	width: 100%;
	border-collapse: collapse;
}

.lhpi-actualizado {
	margin-top: 32px;
	font-size: .8125rem;
	color: var(--lhpi-suave);
}

/* Menú lateral */
.lhpi-menu {
	position: sticky;
	top: 24px;
	border: 1px solid var(--lhpi-borde);
	border-radius: var(--lhpi-radio);
	overflow: hidden;
	background: #fff;
}

.lhpi-menu-titulo {
	margin: 0;
	font-size: 1rem;
}

.lhpi-menu-titulo a {
	display: block;
	padding: 14px 18px;
	background: var(--lhpi-primario);
	color: #fff;
	text-decoration: none;
}

.lhpi-menu ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.lhpi-menu li a {
	display: block;
	padding: 10px 18px;
	border-top: 1px solid var(--lhpi-borde);
	color: var(--lhpi-texto);
	text-decoration: none;
	font-size: .9375rem;
}

.lhpi-menu li li a {
	padding-left: 34px;
	font-size: .875rem;
}

.lhpi-menu li a:hover,
.lhpi-menu li a:focus {
	background: var(--lhpi-fondo);
	color: var(--lhpi-primario);
}

.lhpi-menu .current_page_item > a {
	background: var(--lhpi-fondo);
	color: var(--lhpi-primario);
	font-weight: 600;
	box-shadow: inset 4px 0 0 var(--lhpi-secundario);
}

/* Tarjeta de descarga del PDF */
.lhpi-descarga {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	margin-top: 40px;
	padding: 18px 20px;
	border: 2px dashed var(--lhpi-primario-borde);
	border-radius: 14px;
	background: var(--lhpi-primario-suave);
}

.lhpi-descarga-icono {
	display: grid;
	place-items: center;
	width: 48px;
	height: 58px;
	border-radius: 6px 14px 6px 6px;
	background: var(--lhpi-rojo);
	color: #fff;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .04em;
}

.lhpi-descarga-texto {
	flex: 1 1 240px;
	display: grid;
	gap: 2px;
}

.lhpi-descarga-texto span {
	font-size: .9rem;
	color: var(--lhpi-suave);
}

/* Documentos */
.lhpi-documentos {
	margin-top: 40px;
}

.lhpi-documentos h2 {
	font-size: 1.25rem;
	margin: 0 0 16px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--lhpi-secundario);
}

.lhpi-documentos ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lhpi-documentos a {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 12px 16px;
	border: 1px solid var(--lhpi-borde);
	border-radius: var(--lhpi-radio);
	background: #fff;
	color: var(--lhpi-texto);
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s;
}

.lhpi-documentos a:hover,
.lhpi-documentos a:focus {
	border-color: var(--lhpi-primario);
	box-shadow: 0 2px 10px rgba(0, 0, 0, .06);
}

.lhpi-ext {
	flex: 0 0 auto;
	width: 44px;
	padding: 8px 0;
	border-radius: 6px;
	background: var(--lhpi-primario);
	color: #fff;
	font-size: .6875rem;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}

.lhpi-ext-pdf { background: #c62828; }
.lhpi-ext-doc, .lhpi-ext-docx { background: #1e5bb8; }
.lhpi-ext-xls, .lhpi-ext-xlsx, .lhpi-ext-csv { background: #1d7a45; }
.lhpi-ext-ppt, .lhpi-ext-pptx { background: #c4511f; }
.lhpi-ext-zip, .lhpi-ext-rar { background: #6b5b2e; }

.lhpi-doc-info {
	flex: 1 1 auto;
	min-width: 0;
	display: grid;
	gap: 2px;
}

.lhpi-doc-nombre {
	font-weight: 600;
	overflow-wrap: anywhere;
}

.lhpi-doc-meta {
	font-size: .8125rem;
	color: var(--lhpi-suave);
}

.lhpi-doc-descargar {
	flex: 0 0 auto;
	font-size: .875rem;
	font-weight: 600;
	color: var(--lhpi-primario);
}

/* Tarjetas del shortcode [lh_subpaginas] */
.lhpi-tarjetas {
	display: grid;
	grid-template-columns: repeat(var(--lhpi-columnas, 3), minmax(0, 1fr));
	gap: 20px;
	margin: 24px 0;
}

.lhpi-tarjeta {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--lhpi-borde);
	border-radius: var(--lhpi-radio);
	overflow: hidden;
	background: #fff;
	color: inherit;
	text-decoration: none;
	transition: transform .15s, box-shadow .15s;
}

.lhpi-tarjeta:hover,
.lhpi-tarjeta:focus {
	transform: translateY(-2px);
	box-shadow: 0 6px 18px rgba(0, 0, 0, .08);
}

.lhpi-tarjeta-img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
}

.lhpi-tarjeta-cuerpo {
	display: grid;
	gap: 6px;
	padding: 16px 18px;
	border-top: 4px solid var(--lhpi-secundario);
}

.lhpi-tarjeta-titulo {
	font-weight: 700;
	color: var(--lhpi-primario);
}

.lhpi-tarjeta-resumen {
	font-size: .9rem;
	color: var(--lhpi-suave);
}

/* =========================================================
   Componentes de contenido (clases lhpi-c-* en los bloques)
   ========================================================= */

.lhpi-c-intro {
	margin: 0 0 32px;
	padding: 4px 0 4px 18px;
	border-left: 5px solid var(--lhpi-secundario);
	font-size: 1.2rem;
	line-height: 1.5;
}

.lhpi-c-intro strong {
	color: var(--lhpi-primario-oscuro);
}

/* ¿Quién la autoriza? */
.lhpi-c-autoriza {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	align-items: center;
	gap: 20px;
	margin: 0 0 32px;
	padding: 22px;
	border: 1px solid var(--lhpi-borde);
	border-radius: 18px;
	background: #fff;
	box-shadow: var(--lhpi-sombra);
}

.lhpi-c-autoriza > * {
	margin: 0 !important;
}

.lhpi-c-autoriza-titulo {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--lhpi-primario-oscuro);
	font-size: 1.6rem;
	line-height: 1.1;
}

.lhpi-c-autoriza-titulo::before {
	width: 46px;
	height: 46px;
	color: var(--lhpi-primario);
}

.lhpi-c-autoriza-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.lhpi-c-autoriza-grid > * {
	margin: 0 !important;
}

.lhpi-c-caso {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 16px 12px;
	border-radius: 12px;
	background: var(--lhpi-secundario-suave);
	text-align: center;
}

.lhpi-c-caso::before {
	width: 30px;
	height: 30px;
	margin-bottom: 4px;
	color: var(--lhpi-primario);
}

.lhpi-c-caso--loteria {
	background: var(--lhpi-primario-suave);
	box-shadow: inset 0 0 0 2px var(--lhpi-primario-borde);
}

.lhpi-c-caso p {
	margin: 0;
}

.lhpi-c-caso-nombre {
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--lhpi-suave);
}

.lhpi-c-caso-entidad {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.25;
	color: var(--lhpi-primario-oscuro);
}

.lhpi-c-caso-entidad span {
	display: block;
	font-size: .78rem;
	font-weight: 400;
	color: var(--lhpi-suave);
}

/* Paneles Rifas / Juegos promocionales */
.wp-block-columns.lhpi-c-paneles {
	gap: 24px;
	align-items: stretch;
	margin: 0 0 32px;
}

.lhpi-c-panel {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--lhpi-borde);
	border-radius: 18px;
	overflow: hidden;
	background: #fff;
	box-shadow: var(--lhpi-sombra);
}

.lhpi-c-panel > * {
	margin: 0 !important;
}

.lhpi-c-panel-cabeza {
	display: grid;
	grid-template-columns: 54px minmax(0, 1fr);
	column-gap: 16px;
	align-items: center;
	padding: 22px 24px;
}

.lhpi-c-panel-cabeza::before {
	grid-row: span 2;
	width: 54px;
	height: 54px;
}

.lhpi-c-panel-cabeza h2 {
	margin: 0;
	font-size: 1.65rem;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: .02em;
	color: inherit;
}

.lhpi-c-panel-cabeza p {
	margin: 4px 0 0;
	font-size: .95rem;
	line-height: 1.4;
}

.lhpi-c-panel--rifa .lhpi-c-panel-cabeza {
	background: var(--lhpi-primario-oscuro);
	color: #fff;
}

.lhpi-c-panel--rifa .lhpi-c-panel-cabeza::before {
	color: var(--lhpi-secundario);
}

.lhpi-c-panel--promo .lhpi-c-panel-cabeza {
	background: var(--lhpi-secundario);
	color: var(--lhpi-primario-oscuro);
}

.lhpi-c-panel-cuerpo {
	flex: 1;
	padding: 6px 24px 24px;
}

.lhpi-c-panel--rifa .lhpi-c-panel-cuerpo {
	background: linear-gradient(var(--lhpi-primario-suave), #fff 220px);
}

.lhpi-c-panel--promo .lhpi-c-panel-cuerpo {
	background: linear-gradient(var(--lhpi-secundario-suave), #fff 220px);
}

.lhpi-c-sub {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 22px 0 10px !important;
	color: var(--lhpi-primario-oscuro);
	font-size: 1.1rem;
	line-height: 1.2;
}

.lhpi-c-sub::before {
	width: 22px;
	height: 22px;
	color: var(--lhpi-primario);
}

.lhpi-c-plazo {
	margin: 0;
}

.lhpi-c-plazo strong:first-child {
	padding: 1px 7px;
	border-radius: 5px;
	background: var(--lhpi-secundario);
	color: var(--lhpi-texto);
}

.lhpi-c-nota {
	margin: 8px 0 0;
	font-size: .9rem;
	font-style: italic;
	color: var(--lhpi-suave);
}

ol.lhpi-c-pasos {
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: lhpi-paso;
}

ol.lhpi-c-pasos li {
	position: relative;
	margin: 0 0 9px;
	padding-left: 36px;
	line-height: 1.45;
	counter-increment: lhpi-paso;
}

ol.lhpi-c-pasos li::before {
	content: counter(lhpi-paso);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--lhpi-primario-oscuro);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
}

.lhpi-c-aviso {
	position: relative;
	margin: 20px 0 0 !important;
	padding: 14px 16px 14px 58px;
	border-radius: 12px;
}

.lhpi-c-aviso::before {
	position: absolute;
	left: 16px;
	top: 15px;
	width: 28px;
	height: 28px;
}

.lhpi-c-aviso h3 {
	margin: 0 0 4px;
	font-size: 1.05rem;
	color: var(--lhpi-rojo);
}

.lhpi-c-aviso p {
	margin: 0;
}

.lhpi-c-aviso--prohibido {
	background: var(--lhpi-rojo-suave);
	color: var(--lhpi-texto);
}

.lhpi-c-aviso--prohibido::before,
.lhpi-c-aviso--atencion::before {
	color: var(--lhpi-rojo);
}

.lhpi-c-aviso--atencion {
	background: var(--lhpi-secundario-suave);
}

.lhpi-c-costos {
	position: relative;
	margin: 22px 0 0 !important;
	padding-left: 32px;
}

.lhpi-c-costos::before {
	position: absolute;
	left: 0;
	top: 0;
	width: 22px;
	height: 22px;
	color: var(--lhpi-primario);
}

.lhpi-c-costos h3 {
	margin: 0 0 8px;
	font-size: 1.1rem;
	color: var(--lhpi-primario-oscuro);
}

.lhpi-c-costos p {
	margin: 0;
}

.lhpi-c-ejemplo {
	margin-top: 12px !important;
	padding: 12px 14px;
	border-left: 4px solid var(--lhpi-secundario);
	border-radius: 8px;
	background: var(--lhpi-secundario-suave);
	font-size: .92rem;
	line-height: 1.55;
}

.lhpi-c-ejemplo strong {
	color: var(--lhpi-primario-oscuro);
}

/* Calculadora */
.lhpi-c-calculadora {
	margin: 0 0 32px;
	padding: 28px;
	border-radius: 18px;
	background: var(--lhpi-primario-suave);
}

.lhpi-c-calculadora > h2 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0 0 6px;
	color: var(--lhpi-primario-oscuro);
	font-size: 1.5rem;
}

.lhpi-c-calculadora > h2::before {
	width: 32px;
	height: 32px;
	color: var(--lhpi-primario);
}

.lhpi-c-calculadora > p {
	margin: 0 0 18px;
	color: var(--lhpi-suave);
}

.lhpi-calc {
	padding: 20px;
	border-radius: 14px;
	background: #fff;
	box-shadow: var(--lhpi-sombra);
}

.lhpi-calc-tabs {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 4px;
	padding: 4px;
	border-radius: 999px;
	background: var(--lhpi-fondo);
}

.lhpi-calc-tabs button {
	padding: 9px 18px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--lhpi-texto);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

.lhpi-calc-tabs button[aria-selected="true"] {
	background: var(--lhpi-primario);
	color: #fff;
}

.lhpi-calc-panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
	gap: 24px;
	margin-top: 18px;
}

.lhpi-calc-panel[hidden] {
	display: none;
}

.lhpi-calc-campos label {
	display: grid;
	gap: 6px;
	margin-bottom: 14px;
	font-size: .9rem;
	font-weight: 600;
}

.lhpi-calc-campos input {
	box-sizing: border-box;
	width: 100%;
	padding: 11px 12px;
	border: 1.5px solid var(--lhpi-borde);
	border-radius: 8px;
	background: #fff;
	color: var(--lhpi-texto);
	font: inherit;
	font-size: 1.05rem;
	font-variant-numeric: tabular-nums;
}

.lhpi-calc-campos input:focus {
	border-color: var(--lhpi-primario);
	outline: 3px solid var(--lhpi-primario-borde);
	outline-offset: 0;
}

.lhpi-calc-pesos {
	position: relative;
	display: block;
}

.lhpi-calc-pesos::before {
	content: "$";
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: var(--lhpi-suave);
	font-weight: 600;
}

.lhpi-calc-pesos input {
	padding-left: 26px;
}

.lhpi-calc-resultado {
	margin: 0;
	padding: 6px 18px;
	border-radius: 12px;
	background: var(--lhpi-fondo);
}

.lhpi-calc-resultado > div {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	padding: 10px 0;
	border-bottom: 1px dashed var(--lhpi-borde);
}

.lhpi-calc-resultado dt {
	font-size: .9rem;
}

.lhpi-calc-resultado dd {
	margin: 0;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.lhpi-calc-total {
	border-bottom: 0 !important;
}

.lhpi-calc-total dt {
	font-weight: 700;
}

.lhpi-calc-total dd {
	color: var(--lhpi-primario);
	font-size: 1.35rem;
	font-weight: 800;
}

.lhpi-calc-extra {
	margin: 0 -18px -6px;
	padding: 12px 18px !important;
	border-bottom: 0 !important;
	border-radius: 0 0 12px 12px;
	background: var(--lhpi-secundario-suave);
}

.lhpi-calc-nota {
	margin: 14px 0 0;
	font-size: .8125rem;
	color: var(--lhpi-suave);
}

/* Alerta de consecuencias */
.lhpi-c-alerta {
	display: flex;
	align-items: center;
	gap: 18px;
	margin: 0 0 32px;
	padding: 18px 22px;
	border: 2px solid color-mix(in srgb, var(--lhpi-rojo) 30%, #fff);
	border-radius: 16px;
	background: var(--lhpi-rojo-suave);
}

.lhpi-c-alerta::before {
	width: 42px;
	height: 42px;
	color: var(--lhpi-rojo);
}

.lhpi-c-alerta p {
	margin: 0;
}

.lhpi-c-alerta strong {
	color: var(--lhpi-rojo);
}

/* Contacto */
.lhpi-c-contacto {
	display: grid;
	grid-template-columns: 230px minmax(0, 1fr);
	align-items: center;
	gap: 24px;
	margin: 0 0 16px;
	padding: 16px 28px;
	border-bottom: 6px solid var(--lhpi-secundario);
	border-radius: 18px;
	background:
		radial-gradient(circle at 12% 50%, color-mix(in srgb, var(--lhpi-secundario) 30%, transparent), transparent 35%),
		var(--lhpi-primario-oscuro);
	color: #fff;
}

.lhpi-c-contacto > *,
.lhpi-c-contacto-texto > * {
	margin: 0 !important;
}

.lhpi-c-contacto-img img {
	display: block;
	width: 100%;
	height: auto;
}

.lhpi-c-contacto h2 {
	margin-bottom: 8px !important;
	color: var(--lhpi-secundario);
	font-size: 1.5rem;
}

.lhpi-c-lugar {
	margin-bottom: 16px !important;
	line-height: 1.5;
}

.lhpi-c-enlaces {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.lhpi-c-enlaces a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	overflow-wrap: anywhere;
	transition: background-color .15s, color .15s;
}

.lhpi-c-enlaces a::before {
	width: 18px;
	height: 18px;
}

.lhpi-c-enlaces a:hover,
.lhpi-c-enlaces a:focus-visible {
	background: var(--lhpi-secundario);
	color: var(--lhpi-primario-oscuro);
}

.lhpi-c-normativa {
	margin: 0;
	font-size: .8125rem;
	text-align: center;
	color: var(--lhpi-suave);
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	.lhpi-c-autoriza {
		grid-template-columns: 1fr;
	}

	.lhpi-c-autoriza-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.lhpi-cuerpo--menu {
		grid-template-columns: 1fr;
	}

	/* En móvil, el contenido va primero y el menú después. */
	.lhpi-lateral {
		order: 2;
	}

	.lhpi-menu {
		position: static;
	}

	.lhpi-tarjetas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.lhpi-calc-panel {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.lhpi-banner-grid {
		grid-template-columns: minmax(0, 1fr) 120px;
		gap: 12px;
	}

	.lhpi-banner-ilustracion {
		width: 120px;
		margin: 0;
		align-self: start;
	}

	.lhpi-c-contacto {
		grid-template-columns: 1fr;
		padding: 20px;
		text-align: center;
	}

	.lhpi-c-contacto-img {
		max-width: 200px;
		margin: 0 auto !important;
	}

	.lhpi-c-enlaces {
		justify-content: center;
	}

	.lhpi-c-alerta {
		align-items: flex-start;
	}
}

@media (max-width: 560px) {
	.lhpi-banner {
		padding: 32px 0;
	}

	.lhpi-banner-grid {
		grid-template-columns: 1fr;
	}

	.lhpi-banner-ilustracion {
		display: none;
	}

	.lhpi-tarjetas,
	.lhpi-c-autoriza-grid {
		grid-template-columns: 1fr;
	}

	.lhpi-c-autoriza,
	.lhpi-c-calculadora {
		padding: 18px;
	}

	.lhpi-c-panel-cabeza,
	.lhpi-c-panel-cuerpo {
		padding-left: 18px;
		padding-right: 18px;
	}

	.lhpi-doc-descargar {
		display: none;
	}
}

/* ---------- Impresión (botón "Imprimir" / Guardar como PDF) ---------- */
@media print {
	@page {
		size: letter;
		margin: 12mm;
	}

	body.lhpi-pagina-interior header:not(.lhpi-banner),
	body.lhpi-pagina-interior footer,
	body.lhpi-pagina-interior nav:not(.lhpi-migas),
	body.lhpi-pagina-interior .site-header,
	body.lhpi-pagina-interior .site-footer,
	#wpadminbar,
	.lhpi-migas,
	.lhpi-lateral,
	.lhpi-acciones,
	.lhpi-descarga,
	.lhpi-c-calculadora {
		display: none !important;
	}

	.lhpi,
	.lhpi * {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}

	.lhpi-banner {
		padding: 18px 0;
	}

	.lhpi-cuerpo,
	.lhpi-cuerpo--menu {
		display: block;
		padding-top: 20px;
	}

	.wp-block-columns.lhpi-c-paneles {
		display: grid !important;
		grid-template-columns: 1fr 1fr;
	}

	.lhpi-c-paneles > .wp-block-column {
		flex-basis: auto !important;
	}

	.lhpi-c-autoriza-grid {
		grid-template-columns: repeat(4, 1fr);
	}

	.lhpi-c-autoriza,
	.lhpi-c-panel,
	.lhpi-c-aviso,
	.lhpi-c-alerta,
	.lhpi-c-contacto {
		break-inside: avoid;
		box-shadow: none;
	}
}
