.elementor-kit-6{--e-global-color-primary:#59341E;--e-global-color-secondary:#F2F1EA;--e-global-color-text:#000000;--e-global-color-accent:#FFC359;--e-global-color-5006884:#381E0E;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:500;--e-global-typography-secondary-font-family:"Roboto Serif";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;--e-global-typography-lfhero-font-family:"Road Rage";--e-global-typography-lfhero-font-size:68px;--e-global-typography-lfhero-font-weight:400;--e-global-typography-lfhero-line-height:1.1em;--e-global-typography-lfh1-font-family:"Righteous";--e-global-typography-lfh1-font-size:46px;--e-global-typography-lfh1-font-weight:400;--e-global-typography-lfh1-line-height:1.15em;--e-global-typography-lfh2-font-family:"Righteous";--e-global-typography-lfh2-font-size:36px;--e-global-typography-lfh2-font-weight:400;--e-global-typography-lfh2-line-height:1.2em;--e-global-typography-lfplato-font-family:"Road Rage";--e-global-typography-lfplato-font-size:34px;--e-global-typography-lfplato-font-weight:400;--e-global-typography-lfplato-line-height:1.2em;--e-global-typography-lfprecio-font-family:"Road Rage";--e-global-typography-lfprecio-font-size:28px;--e-global-typography-lfprecio-font-weight:400;--e-global-typography-lfprecio-line-height:1.2em;--e-global-typography-lfdesc-font-family:"Roboto Serif";--e-global-typography-lfdesc-font-size:16px;--e-global-typography-lfdesc-font-weight:400;--e-global-typography-lfdesc-line-height:1.5em;--e-global-typography-lfboton-font-family:"Roboto";--e-global-typography-lfboton-font-size:16px;--e-global-typography-lfboton-font-weight:500;--e-global-typography-lfboton-line-height:1.2em;--e-global-typography-lfnav-font-family:"Road Rage";--e-global-typography-lfnav-font-size:24px;--e-global-typography-lfnav-font-weight:400;--e-global-typography-lfnav-line-height:1.2em;--e-global-typography-lfpie-font-family:"Road Rage";--e-global-typography-lfpie-font-size:30px;--e-global-typography-lfpie-font-weight:400;--e-global-typography-lfpie-line-height:1.2em;font-family:"Roboto Serif", Sans-serif;font-weight:400;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-kit-6 button,.elementor-kit-6 input[type="button"],.elementor-kit-6 input[type="submit"],.elementor-kit-6 .elementor-button{font-family:"Roboto", Sans-serif;font-weight:500;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1333px;}.e-con{--container-max-width:1333px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-kit-6{--e-global-typography-lfhero-font-size:48px;--e-global-typography-lfh1-font-size:40px;--e-global-typography-lfh2-font-size:32px;--e-global-typography-lfplato-font-size:30px;--e-global-typography-lfprecio-font-size:26px;--e-global-typography-lfdesc-font-size:16px;--e-global-typography-lfboton-font-size:16px;--e-global-typography-lfnav-font-size:24px;--e-global-typography-lfpie-font-size:28px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:900px;}.e-con{--container-max-width:900px;}}@media(max-width:767px){.elementor-kit-6{--e-global-typography-lfhero-font-size:32px;--e-global-typography-lfh1-font-size:32px;--e-global-typography-lfh2-font-size:26px;--e-global-typography-lfplato-font-size:24px;--e-global-typography-lfprecio-font-size:24px;--e-global-typography-lfdesc-font-size:15px;--e-global-typography-lfboton-font-size:15px;--e-global-typography-lfnav-font-size:24px;--e-global-typography-lfpie-font-size:26px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:600px;}.e-con{--container-max-width:600px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}/* Start custom CSS *//* LF-PEDIDO:INICIO */
/* ==========================================================================
   LISTA DE PEDIDO — La Forestal
   Este CSS va en Elementor → Ajustes del sitio → CSS personalizado.
   Colores y fuente de títulos se cambian en el widget "Lista de pedido"
   (pestaña Estilo), que está en el pie. Si no se tocan, usa los colores
   globales del kit.
   ========================================================================== */

/* --- Botón "+" junto a cada plato de la lista de precios --- */
.elementor-price-list li.lf-plato {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0 12px;
}
.elementor-price-list li.lf-plato > .elementor-price-list-item {
	flex: 1 1 0;
	min-width: 0;
}
.lf-anadir {
	display: contents;
}
.lf-anadir__boton {
	position: relative;
	flex: none;
	width: 44px;
	height: 44px;
	padding: 0;
	/* Borde claro para que se distinga también sobre las tarjetas oscuras */
	border: 2px solid var(--lf-acento, var(--e-global-color-accent, #FFC359));
	border-radius: 50%;
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font: 700 24px/1 Roboto, sans-serif;
	cursor: pointer;
}
.lf-anadir__boton:hover,
.lf-anadir__boton:focus {
	background: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
}
.lf-anadir__boton:focus-visible,
.lf-tamanos__opcion:focus-visible,
.lf-barra:focus-visible,
.lf-panel button:focus-visible {
	outline: 3px solid var(--e-global-color-primary, #59341E);
	outline-offset: 2px;
}
/* Contador de unidades ya apuntadas de ese plato */
.lf-anadir__n:empty {
	display: none;
}
.lf-anadir__n {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 22px;
	height: 22px;
	padding: 0 5px;
	border-radius: 11px;
	background: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	border: 2px solid var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 700 12px/18px Roboto, sans-serif;
}

/* --- Elegir tamaño (Grande / Familiar) --- */
.lf-tamanos {
	display: flex;
	flex: 1 0 100%;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 8px;
	padding: 8px 0 12px;
}
.lf-tamanos[hidden] {
	display: none;
}
.lf-tamanos__opcion {
	min-height: 44px;
	padding: 8px 18px;
	border: 2px solid var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	border-radius: 28px;
	background: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 600 15px/1.2 Roboto, sans-serif;
	cursor: pointer;
}

/* --- Botón "+" dentro de las tarjetas (tamaños, ofertas, menús) --- */
.lf-plato--tarjeta .lf-anadir {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin-top: 12px;
}
.lf-plato--tarjeta .lf-tamanos {
	justify-content: center;
}

/* --- Acceso flotante "Mi pedido" --- */
.lf-barra {
	position: fixed;
	left: 16px;
	/* Por encima de la barra fija "Llámanos" */
	bottom: calc(76px + env(safe-area-inset-bottom, 0px));
	z-index: 9990;
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 8px 10px 8px 20px;
	border: 2px solid var(--lf-acento, var(--e-global-color-accent, #FFC359));
	border-radius: 28px;
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font: 400 18px/1 var(--lf-fuente-titulos, Righteous), Roboto, sans-serif;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .3);
	cursor: pointer;
}
.lf-barra[hidden] {
	display: none;
}
.lf-barra__n {
	min-width: 32px;
	height: 32px;
	padding: 0 8px;
	border-radius: 16px;
	background: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 700 16px/32px Roboto, sans-serif;
	text-align: center;
}

/* --- Panel con la lista --- */
/* Capa a pantalla completa que oscurece la página; el panel va dentro, abajo en
   móvil y centrado en pantallas grandes. No se usa <dialog> para que funcione
   también en iPhone antiguos. */
.lf-capa {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	/* Por encima de todo, también del .elementor-kit-6 de idioma, que tapaba el botón de añadir. */
	z-index: 2147483600;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	background: rgba(0, 0, 0, .55);
}
.lf-capa[hidden] {
	display: none;
}
.lf-sin-scroll {
	overflow: hidden;
}
.lf-panel {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 560px;
	max-height: 88vh;
	max-height: 88dvh;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 20px 20px 0 0;
	outline: 0;
	background: var(--lf-claro, var(--e-global-color-secondary, #F2F1EA));
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font-family: Roboto, sans-serif;
	overflow: hidden;
}
@media (min-width: 768px) {
	.lf-capa {
		align-items: center;
	}
	.lf-panel {
		border-radius: 20px;
	}
}
.lf-panel__cabecera {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 12px 14px 20px;
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
}
.lf-panel__titulo {
	margin: 0;
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font: 400 26px/1.1 var(--lf-fuente-titulos, Righteous), Roboto, sans-serif;
}
.lf-panel__cerrar {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font: 400 32px/1 Roboto, sans-serif;
	cursor: pointer;
}
.lf-panel__lista {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 4px 20px;
}
.lf-panel__vacio {
	margin: 0;
	padding: 28px 20px;
	text-align: center;
	font-size: 17px;
}
.lf-panel__vacio[hidden],
.lf-panel__vaciar[hidden] {
	display: none;
}
.lf-grupo__titulo {
	margin: 18px 0 4px;
	color: var(--e-global-color-primary, #59341E);
	font: 400 16px/1.2 var(--lf-fuente-titulos, Righteous), Roboto, sans-serif;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.lf-grupo__platos {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lf-linea {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(56, 30, 14, .15);
}
.lf-linea__nombre {
	flex: 1;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
}
.lf-linea__tam {
	display: inline-block;
	padding: 2px 10px;
	border-radius: 12px;
	background: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font-size: 14px;
	font-weight: 700;
	vertical-align: middle;
}
.lf-cant {
	display: flex;
	flex: none;
	align-items: center;
	gap: 4px;
}
.lf-cant__boton {
	width: 44px;
	height: 44px;
	padding: 0;
	border: 2px solid var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	border-radius: 50%;
	background: transparent;
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 700 22px/1 Roboto, sans-serif;
	cursor: pointer;
}
.lf-cant__boton:hover,
.lf-cant__boton:focus {
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
}
.lf-cant__n {
	min-width: 30px;
	font-size: 22px;
	font-weight: 700;
	text-align: center;
}
.lf-panel__pie {
	padding: 12px 20px calc(16px + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid rgba(56, 30, 14, .15);
	text-align: center;
}
.lf-panel__nota {
	margin: 0 0 10px;
	font-size: 14px;
}
.lf-panel__vaciar {
	min-height: 44px;
	padding: 8px 20px;
	border: 2px solid var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	border-radius: 28px;
	background: transparent;
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 600 15px/1.2 Roboto, sans-serif;
	cursor: pointer;
}
.lf-panel__vaciar:hover,
.lf-panel__vaciar:focus {
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
}

/* --- Aviso breve "Añadido: …" --- */
.lf-aviso {
	position: fixed;
	left: 50%;
	bottom: calc(142px + env(safe-area-inset-bottom, 0px));
	z-index: 9991;
	max-width: calc(100% - 32px);
	padding: 10px 18px;
	border-radius: 24px;
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-claro, var(--e-global-color-secondary, #F2F1EA));
	font: 500 15px/1.3 Roboto, sans-serif;
	opacity: 0;
	transform: translate(-50%, 8px);
	transition: opacity .2s, transform .2s;
	pointer-events: none;
}
.lf-aviso--visible {
	opacity: 1;
	transform: translate(-50%, 0);
}
@media (prefers-reduced-motion: reduce) {
	.lf-aviso {
		transition: none;
	}
}

/* --- Detalle de una pizza a medida dentro de la lista --- */
.lf-linea__det {
	display: block;
	margin-top: 2px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35;
}

/* --- Constructor de pizzas a medida --- */
.lf-pizza__ayuda {
	margin: 14px 0 10px;
	font-size: 15px;
}
.lf-pizza__zonas {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	gap: 6px;
	padding: 6px 0 10px;
	background: var(--lf-claro, var(--e-global-color-secondary, #F2F1EA));
}
.lf-pizza__zona {
	flex: 1;
	min-height: 48px;
	padding: 6px 8px;
	border: 2px solid var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	border-radius: 28px;
	background: transparent;
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 600 15px/1.15 Roboto, sans-serif;
	cursor: pointer;
}
.lf-pizza__zona[aria-pressed="true"] {
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
}
.lf-pizza__ingredientes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 4px 0 8px;
}
.lf-pizza__ing {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 6px 14px;
	border: 2px solid rgba(56, 30, 14, .35);
	border-radius: 22px;
	background: #fff;
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 500 15px/1.2 Roboto, sans-serif;
	cursor: pointer;
}
.lf-pizza__ing[aria-pressed="true"] {
	border-color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	background: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font-weight: 700;
}
.lf-pizza__ing-zona:empty {
	display: none;
}
.lf-pizza__ing-zona {
	padding: 2px 8px;
	border-radius: 10px;
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
}
.lf-pizza__resumen {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 600;
	text-align: left;
}
.lf-pizza__anadir {
	width: 100%;
	min-height: 50px;
	padding: 10px 20px;
	border: 2px solid var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	border-radius: 28px;
	background: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font: 700 17px/1.2 Roboto, sans-serif;
	cursor: pointer;
}

/* --- Botón "Mi pedido" de la cabecera (widget "Botón Mi pedido") ---
   Colores y tipografía se cambian en la pestaña Estilo del widget. */
.lf-boton-pedido {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-width: 44px;
	min-height: 44px;
	padding: 0 10px;
	border: 2px solid var(--lf-acento, var(--e-global-color-accent, #FFC359));
	border-radius: 28px;
	background-color: transparent;
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	font: 500 15px/1 Roboto, sans-serif;
	white-space: nowrap;
	cursor: pointer;
}
.lf-boton-pedido:hover,
.lf-boton-pedido:focus {
	background-color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	border-color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
}
.lf-boton-pedido__icono {
	display: inline-flex;
	font-size: 18px;
}
.lf-boton-pedido__icono svg {
	width: 1em;
	height: 1em;
	fill: currentColor;
}
/* Móvil primero: solo icono y número; el texto aparece desde tablet. */
.lf-boton-pedido__texto {
	display: none;
}
.lf-boton-pedido--texto-movil .lf-boton-pedido__texto {
	display: inline;
}
@media (min-width: 768px) {
	.lf-boton-pedido {
		padding: 0 16px;
	}
	.lf-boton-pedido__texto {
		display: inline;
	}
}
.lf-contador:empty {
	display: none;
}
.lf-contador {
	min-width: 24px;
	height: 24px;
	padding: 0 6px;
	border-radius: 12px;
	background-color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
	color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	font: 700 14px/24px Roboto, sans-serif;
	text-align: center;
}
.lf-boton-pedido:hover .lf-contador,
.lf-boton-pedido:focus .lf-contador {
	background-color: var(--lf-oscuro, var(--e-global-color-5006884, #381E0E));
	color: var(--lf-acento, var(--e-global-color-accent, #FFC359));
}

/* --- Panel de un plato: ingredientes que se pueden quitar ---
   Reutiliza los estilos del constructor de pizzas; aquí solo cambia el
   aspecto de un ingrediente quitado (tachado y apagado). */
.lf-producto .lf-pizza__zonas[hidden],
.lf-producto [hidden] {
	display: none;
}
.lf-producto__ing[aria-pressed="false"] {
	border-style: dashed;
	background: transparent;
	font-weight: 500;
}
.lf-producto__ing[aria-pressed="false"] .lf-pizza__ing-nombre {
	text-decoration: line-through;
	opacity: .6;
}
/* LF-PEDIDO:FIN */

/* LF-ACCESIBILIDAD:INICIO */
/* ==========================================================================
   ACCESIBILIDAD — foco visible al navegar con teclado en toda la web.
   Va en Elementor → Ajustes del sitio → CSS personalizado.
   ========================================================================== */
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 3px solid var(--e-global-color-accent, #FFC359);
	outline-offset: 2px;
	box-shadow: 0 0 0 5px var(--e-global-color-5006884, #381E0E);
}
/* LF-ACCESIBILIDAD:FIN */

/* LF-CARTA:INICIO */
/* ==========================================================================
   CARTA — remates gráficos. Va en Elementor → Ajustes del sitio → CSS personalizado.
   Los tamaños y fuentes NO están aquí: se cambian en
   Ajustes del sitio → Fuentes globales (Título de página, Nombre de plato, Precio…).
   ========================================================================== */

/* En móvil la línea de puntos entre plato y precio quedaba de largos distintos
   (o desaparecía cuando el nombre ocupaba dos líneas). Se quita y el precio
   se alinea siempre a la derecha. */
@media (max-width: 767px) {
	.elementor-price-list .elementor-price-list-separator {
		display: none;
	}
	.elementor-price-list .elementor-price-list-header {
		gap: 12px;
		align-items: baseline;
	}
	.elementor-price-list .elementor-price-list-title {
		flex: 1 1 auto;
		max-width: none;
	}
	.elementor-price-list .elementor-price-list-price {
		flex: none;
		white-space: nowrap;
	}
	/* En lugar de puntos, una línea fina entre un producto y el siguiente. */
	.elementor-price-list > li {
		padding-bottom: 16px;
		border-bottom: 1px solid rgba(140, 115, 85, .4);
	}
	.elementor-price-list > li:last-child {
		border-bottom: 0;
	}
}


/* Portada, "Pedir es así de fácil": el título de cada paso arranca a la altura de su icono. */
.lf-portada-pasos .elementor-icon-box-title {
	margin-top: 0;
}

/* Título (H1) de las páginas legales, con la misma fuente global que el resto de títulos de página. */
.page-header .entry-title {
	margin: 32px 0 8px;
	color: var(--e-global-color-5006884, #381E0E);
	font-family: var(--e-global-typography-lfh1-font-family), sans-serif;
	font-size: var(--e-global-typography-lfh1-font-size);
	font-weight: var(--e-global-typography-lfh1-font-weight);
	line-height: var(--e-global-typography-lfh1-line-height);
}

/* Páginas legales (las que NO están hechas con Elementor): márgenes laterales y
   ancho de lectura cómodo. El "body:not(.elementor-page)" es imprescindible:
   sin él la regla encoge también todas las páginas de Elementor. */
body:not(.elementor-page) .site-main > .page-header,
body:not(.elementor-page) .site-main > .page-content {
	max-width: 860px;
	margin-inline: auto;
	padding-inline: 20px;
}
body:not(.elementor-page) .site-main > .page-content {
	padding-bottom: 48px;
}

/* Precios con dos tamaños (pizzas especiales): el nombre del tamaño, pequeño,
   encima de cada precio, en lugar de "G 17,95€ / F 18,95€". */
.lf-precios {
	display: inline-flex;
	align-items: flex-end;
	gap: 14px;
}
.lf-precio {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.1;
}
.lf-precio + .lf-precio {
	padding-left: 14px;
	border-left: 1px solid rgba(140, 115, 85, .55);
}
.lf-precio__tam {
	margin-bottom: 4px;
	font: 600 11px/1 Roboto, sans-serif;
	letter-spacing: .08em;
	text-transform: uppercase;
	opacity: .8;
}
@media (max-width: 767px) {
	/* En móvil los dos precios bajan a su propia línea, bajo el nombre de la pizza. */
	.elementor-price-list .elementor-price-list-header:has(.lf-precio-doble) {
		flex-wrap: wrap;
		row-gap: 2px;
		margin-bottom: 8px;
	}
	.elementor-price-list .elementor-price-list-price.lf-precio-doble {
		flex: 1 0 100%;
		margin-top: 0;
		text-align: left;
	}
	.lf-precio {
		align-items: flex-start;
	}
}

/* Horario de la página de Contacto (shortcode [lf_horario], que repite la lista del pie). */
.lf-horario-lista {
	margin: 0;
	padding: 0;
	list-style: none;
}
.lf-horario-lista li + li {
	margin-top: 4px;
}

/* Textos legales (Aviso legal y Política de privacidad): bloque de texto con la clase lf-legal. */
.lf-legal {
	line-height: 1.65;
	text-align: left;
	overflow-wrap: anywhere;
}
.lf-legal h2,
.lf-legal h3,
.lf-legal h4 {
	margin: 1.6em 0 0.5em;
	color: var(--e-global-color-5006884);
	font-family: var(--e-global-typography-lfplato-font-family), sans-serif;
	line-height: 1.25;
}
.lf-legal h2 {
	font-size: 22px;
	padding-bottom: 6px;
	border-bottom: 2px solid var(--e-global-color-accent);
}
.lf-legal h3 {
	font-size: 19px;
}
.lf-legal h4 {
	font-size: 17px;
}
.lf-legal > :first-child {
	margin-top: 0;
}
.lf-legal ul {
	margin: 0 0 1em;
	padding-left: 1.2em;
}
.lf-legal li + li {
	margin-top: 6px;
}
@media (min-width: 768px) {
	.lf-legal h2 {
		font-size: 26px;
	}
	.lf-legal h3 {
		font-size: 21px;
	}
}
/* LF-CARTA:FIN */

/* LF-SLIDES:INICIO */
/* ==========================================================================
   SLIDERS — entrada animada de los textos de las diapositivas.
   Va en Elementor → Ajustes del sitio → CSS personalizado.
   El zoom lento del fondo (efecto Ken Burns) y la transición se cambian en
   el propio widget Diapositivas; aquí solo está la animación del texto.
   Para quitarla, borra este bloque.
   ========================================================================== */

/* Mientras una diapositiva no está activa, su texto espera oculto. */
.elementor-widget-slides .swiper-initialized .swiper-slide:not(.swiper-slide-active) .elementor-slide-heading,
.elementor-widget-slides .swiper-initialized .swiper-slide:not(.swiper-slide-active) .elementor-slide-button {
	opacity: 0;
}

/* El titular sube girando un poco y se enfoca; después aparece una raya
   bajo él y, por último, el botón entra con un pequeño rebote. */
.elementor-widget-slides .swiper-initialized .swiper-slide-active .elementor-slide-heading {
	animation: lf-slide-titular .9s cubic-bezier(.2, .8, .2, 1) .2s both;
}
.elementor-widget-slides .elementor-slide-heading::after {
	content: "";
	display: block;
	width: 0;
	height: 5px;
	margin: 12px auto 0;
	border-radius: 3px;
	background: currentColor;
}
.elementor-widget-slides .swiper-initialized .swiper-slide-active .elementor-slide-heading::after {
	animation: lf-slide-raya .6s ease-out .9s both;
}
.elementor-widget-slides .swiper-initialized .swiper-slide-active .elementor-slide-button {
	animation: lf-slide-boton .6s cubic-bezier(.2, .9, .3, 1.4) 1.05s both;
}

@keyframes lf-slide-titular {
	from {
		opacity: 0;
		transform: translateY(42px) rotate(-2.5deg) scale(.95);
		filter: blur(6px);
	}
	to {
		opacity: 1;
		transform: none;
		filter: none;
	}
}
@keyframes lf-slide-raya {
	from { width: 0; }
	to   { width: 84px; }
}
@keyframes lf-slide-boton {
	from {
		opacity: 0;
		transform: scale(.6);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* Quien tenga desactivadas las animaciones en su dispositivo ve el texto fijo. */
@media (prefers-reduced-motion: reduce) {
	.elementor-widget-slides .swiper-initialized .swiper-slide .elementor-slide-heading,
	.elementor-widget-slides .swiper-initialized .swiper-slide .elementor-slide-button {
		opacity: 1 !important;
		animation: none !important;
	}
	.elementor-widget-slides .elementor-slide-heading::after {
		width: 84px;
		animation: none !important;
	}
	.elementor-widget-slides .elementor-ken-burns {
		animation: none !important;
	}
}
/* LF-SLIDES:FIN */

/* LF-MENU:INICIO */
/* ==========================================================================
   MENÚ — desplegable con iconos y todas las secciones a la vista.
   Va en Elementor → Ajustes del sitio → CSS personalizado.
   Los iconos se cambian en Apariencia → Menús (clase "icono-nombre").
   ========================================================================== */

/* Icono delante de cada entrada */
.lf-menu-icono {
	flex: none;
	width: 1.05em;
	height: 1.05em;
	fill: currentColor;
}
.elementor-nav-menu a:has(.lf-menu-icono) {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* --- Escritorio: el desplegable de "Menú" pasa de una columna larga
       a un panel de tres columnas con todas las secciones --- */
.elementor-location-header .elementor-nav-menu--main .sub-menu {
	column-count: 3;
	column-gap: 6px;
	width: 690px !important;
	max-width: 92vw !important;
	padding: 14px;
	border: 2px solid var(--e-global-color-accent, #FFC359);
	border-radius: 18px;
	box-shadow: 0 14px 34px rgba(0, 0, 0, .35);
}
.elementor-location-header .elementor-nav-menu--main .sub-menu li {
	break-inside: avoid;
}
.elementor-location-header .elementor-nav-menu--main .sub-menu a {
	min-height: 44px;
	padding: 8px 12px;
	border-radius: 10px;
	font-size: 19px;
	line-height: 1.15;
	white-space: normal;
}
.elementor-location-header .elementor-nav-menu--main .sub-menu a:hover,
.elementor-location-header .elementor-nav-menu--main .sub-menu a:focus,
.elementor-location-header .elementor-nav-menu--main .sub-menu .current-menu-item > a {
	background-color: var(--e-global-color-accent, #FFC359);
	color: var(--e-global-color-5006884, #381E0E);
}

/* --- Móvil y tablet (menú emergente): las secciones se ven siempre,
       en dos columnas, sin tener que desplegar nada --- */
.elementor-location-popup .elementor-widget-nav-menu,
.elementor-location-popup .elementor-nav-menu--dropdown {
	width: 100%;
}
.elementor-location-popup .elementor-nav-menu--dropdown .sub-menu {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 8px;
	width: 100%;
	padding: 4px 0 14px;
}
.elementor-location-popup .elementor-nav-menu--dropdown .sub-menu a {
	justify-content: flex-start;
	gap: 8px;
	min-height: 50px;
	padding: 6px 10px !important;
	border: 1px solid rgba(255, 195, 89, .35);
	border-radius: 12px;
	font-size: 17px;
	line-height: 1.15;
	text-align: left;
	white-space: normal;
}
.elementor-location-popup .elementor-nav-menu--dropdown .sub-menu .current-menu-item > a {
	background-color: var(--e-global-color-accent, #FFC359);
	color: var(--e-global-color-5006884, #381E0E);
}
/* La flecha de desplegar ya no hace falta */
.elementor-location-popup .elementor-nav-menu--dropdown .sub-arrow {
	display: none;
}
.elementor-location-popup .elementor-nav-menu--dropdown > li > a {
	min-height: 50px;
	padding: 8px 4px !important;
	justify-content: flex-start;
}
/* LF-MENU:FIN */

/* LF-RESENAS:INICIO */
/* ==========================================================================
   RESEÑAS DE GOOGLE — mismo aspecto que las tarjetas de la web.
   Va en Elementor → Ajustes del sitio → CSS personalizado.
   El bloque de reseñas lo genera el plugin de Trustindex con su propio
   estilo; aquí se le ponen los colores y fuentes globales de La Forestal.
   Para volver al aspecto original, borra este bloque.
   ========================================================================== */

/* Tarjeta: fondo oscuro de la marca y esquinas como las tarjetas de la carta */
.elementor .ti-widget.ti-goog .ti-review-item > .ti-inner {
	padding: 20px !important;
	border: 0 !important;
	border-radius: 20px !important;
	background-color: var(--e-global-color-5006884, #381E0E) !important;
	box-shadow: none !important;
}

/* Nombre con la fuente de los platos, en el color de acento */
.elementor .ti-widget.ti-goog .ti-review-item .ti-name {
	color: var(--e-global-color-accent, #FFC359) !important;
	font-family: var(--e-global-typography-lfplato-font-family, "Road Rage"), sans-serif !important;
	font-size: 22px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
}
.elementor .ti-widget.ti-goog .ti-review-item .ti-date {
	color: var(--e-global-color-secondary, #F2F1EA) !important;
	font-family: var(--e-global-typography-lfdesc-font-family, "Roboto Serif"), serif !important;
	opacity: .7;
}

/* Texto de la reseña */
.elementor .ti-widget.ti-goog .ti-review-item .ti-review-content,
.elementor .ti-widget.ti-goog .ti-review-item .ti-review-text-container {
	color: var(--e-global-color-secondary, #F2F1EA) !important;
	font-family: var(--e-global-typography-lfdesc-font-family, "Roboto Serif"), serif !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
}
.elementor .ti-widget.ti-goog .ti-review-item .ti-read-more,
.elementor .ti-widget.ti-goog .ti-review-item .ti-read-more span {
	color: var(--e-global-color-accent, #FFC359) !important;
	font-family: Roboto, sans-serif !important;
	font-weight: 500;
}

/* Estrellas en el color de acento; el sello de verificado, en claro */
.elementor .ti-widget.ti-goog .ti-stars .ti-star.f {
	background-color: var(--e-global-color-accent, #FFC359) !important;
}
.elementor .ti-widget.ti-goog .ti-stars .ti-star.e {
	background-color: rgba(242, 241, 234, .3) !important;
}
.elementor .ti-widget.ti-goog .ti-verified-review {
	filter: invert(1);
	opacity: .85;
}
/* La comilla decorativa gris de la esquina */
.elementor .ti-widget.ti-goog .ti-review-item .ti-inner::after,
.elementor .ti-widget.ti-goog .ti-review-item .ti-review-content::after {
	opacity: .25;
	filter: invert(1);
}

/* Flechas y barra de avance */
.elementor .ti-widget.ti-goog .ti-controls .ti-next,
.elementor .ti-widget.ti-goog .ti-controls .ti-prev {
	border: 2px solid var(--e-global-color-5006884, #381E0E) !important;
	background-color: var(--e-global-color-accent, #FFC359) !important;
	box-shadow: none !important;
}
.elementor .ti-widget.ti-goog .ti-controls .ti-next::before,
.elementor .ti-widget.ti-goog .ti-controls .ti-prev::before,
.elementor .ti-widget.ti-goog .ti-controls .ti-next::after,
.elementor .ti-widget.ti-goog .ti-controls .ti-prev::after {
	border-color: var(--e-global-color-5006884, #381E0E) !important;
}
.elementor .ti-widget.ti-goog .ti-controls-line {
	background-color: rgba(56, 30, 14, .25) !important;
}
.elementor .ti-widget.ti-goog .ti-controls-line .dot {
	background-color: var(--e-global-color-5006884, #381E0E) !important;
}
/* LF-RESENAS:FIN */

/* LF-COOKIES:INICIO */
/* Aviso de cookies (Complianz). Los colores y textos del aviso se cambian en
   Complianz → Banner de consentimiento; aquí solo lo que Complianz no permite. */

/* El aviso queda por encima del .elementor-kit-6 de idioma, que si no tapa sus enlaces. */
body .cmplz-cookiebanner {
	z-index: 1000000;
}

/* Botones con la tipografía de los botones de la web. */
body .cmplz-cookiebanner .cmplz-btn {
	font-family: var(--e-global-typography-lfboton-font-family), sans-serif;
	font-weight: var(--e-global-typography-lfboton-font-weight);
}

/* Título del aviso con la letra de los títulos de la web. */
body .cmplz-cookiebanner .cmplz-title {
	color: var(--e-global-color-5006884);
	font-family: var(--e-global-typography-lfplato-font-family), sans-serif;
}
/* LF-COOKIES:FIN *//* End custom CSS */