/* lucilu-paginas — plantilla ligera del silo. Sustituye a Astra + Beaver Builder + UABB + FA.
 * Paleta y tipografías tomadas del CSS actual de las páginas (2026-09-28). Las fuentes las
 * declara lucilu-rendimiento (locales, font-display:swap). */

:root {
	--lp-verde: #67c100;
	--lp-verde-2: #8bc34a;
	--lp-rosa: #ff2971;
	--lp-tinta: #001524;
	--lp-texto: #1f2937;
	--lp-gris: #f9fafb;
	--lp-borde: #e5e7eb;
	--lp-ancho-max: 1140px;
	--lp-radio: 14px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body.lucilu-paginas {
	margin: 0;
	background: #fff;
	color: var(--lp-texto);
	font: 400 16px/1.65 'Open Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.lucilu-paginas img { max-width: 100%; height: auto; }
.lucilu-paginas a { color: inherit; }
.lucilu-paginas h1, .lucilu-paginas h2, .lucilu-paginas h3, .lucilu-paginas h4, .lucilu-paginas h5, .lucilu-paginas h6 {
	font-family: 'Merriweather', Georgia, serif;
	color: var(--lp-tinta);
	line-height: 1.25;
	margin: 0 0 .5em;
}
.lucilu-paginas h1 { font-size: clamp(1.9rem, 4.2vw, 2.9rem); }
.lucilu-paginas h2 { font-size: clamp(1.45rem, 3vw, 2.1rem); }
.lucilu-paginas h3 { font-size: 1.3rem; }
.lucilu-paginas h4 { font-size: 1.1rem; font-family: 'Montserrat', system-ui, sans-serif; font-weight: 700; }
.lucilu-paginas p { margin: 0 0 1em; }

.lp-saltar { position: absolute; left: -9999px; top: 0; background: #fff; padding: 8px 12px; z-index: 100; }
.lp-saltar:focus { left: 8px; }

/* --- Filas, grupos y columnas (la retícula de BB) --------------------------- */
.lp-fila { padding: 56px 16px; background-color: var(--lp-fondo, transparent); }
.lp-fila--fondo { background-image: var(--lp-fondo-img, none); background-size: cover; background-position: center; }
.lp-fila__in { max-width: var(--lp-ancho-max); margin: 0 auto; }
.lp-grupo { display: flex; flex-wrap: wrap; margin: 0 -12px; align-items: flex-start; }
.lp-grupo + .lp-grupo { margin-top: 16px; }
.lp-col { flex: 0 0 var(--lp-ancho, 100%); max-width: var(--lp-ancho, 100%); padding: 0 12px; }
.lp-col > .lp-grupo { margin: 0 -12px; }
@media (max-width: 767px) {
	.lp-fila { padding: 40px 16px; }
	.lp-col { flex-basis: 100%; max-width: 100%; }
	.lp-col .lp-col { flex-basis: 50%; max-width: 50%; } /* grupos anidados (iconos, pasos): de dos en dos */
}

/* --- Módulos ---------------------------------------------------------------- */
.lp-m { margin-bottom: 18px; }
.lp-m:last-child { margin-bottom: 0; }
.lp-m--rich-text ul, .lp-m--rich-text ol { padding-left: 1.2em; }
.lp-desc { color: #4b5563; }

.lp-icono { display: flex; gap: 12px; align-items: flex-start; text-decoration: none; }
.lp-icono__dibujo { flex: 0 0 auto; color: var(--lp-verde); line-height: 0; }
.lp-icono__dibujo .lp-svg { width: 30px; height: 30px; }
.lp-icono__texto p:last-child { margin-bottom: 0; }

.lp-boton {
	display: inline-flex; align-items: center; gap: 10px; background: var(--lp-verde); color: #fff !important;
	text-decoration: none; font: 700 16px/1.2 'Montserrat', system-ui, sans-serif;
	padding: 14px 26px; border-radius: 999px; transition: background .2s;
}
.lp-boton:hover { background: #58a600; }
.lp-boton .lp-svg { width: 20px; height: 20px; }

.lp-foto { margin: 0; }
.lp-foto--center { text-align: center; }
.lp-foto img { border-radius: var(--lp-radio); }

.lp-faq__item { border-bottom: 1px solid var(--lp-borde); }
.lp-faq__item summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 16px;
	padding: 16px 0; font: 700 17px/1.4 'Montserrat', system-ui, sans-serif; color: var(--lp-tinta);
}
.lp-faq__item summary::-webkit-details-marker { display: none; }
.lp-faq__item summary .lp-svg { width: 16px; height: 16px; flex: 0 0 auto; color: var(--lp-rosa); margin-top: 4px; transition: transform .2s; }
.lp-faq__item[open] summary .lp-svg { transform: rotate(45deg); }
.lp-faq__r { padding: 0 0 16px; }

.lp-testimonio { margin: 0 0 16px; padding: 16px 20px; border-left: 4px solid var(--lp-rosa); background: #fff; border-radius: 8px; }

.lp-svg { display: inline-block; vertical-align: middle; }

/* --- Productos de WooCommerce dentro del contenido (shortcode) -------------- */
.lucilu-paginas ul.products {
	list-style: none; margin: 24px 0 0; padding: 0;
	display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
}
.lucilu-paginas ul.products::before, .lucilu-paginas ul.products::after { display: none; }
.lucilu-paginas ul.products li.product {
	margin: 0; width: auto; float: none; background: #fff; border: 1px solid var(--lp-borde);
	border-radius: var(--lp-radio); padding: 14px; text-align: center;
}
.lucilu-paginas ul.products li.product img { width: 100%; border-radius: 10px; margin: 0 0 10px; }
.lucilu-paginas ul.products li.product a { text-decoration: none; }
.lucilu-paginas ul.products .woocommerce-loop-product__title, .lucilu-paginas ul.products h2 {
	font: 700 15px/1.35 'Montserrat', system-ui, sans-serif; margin: 6px 0; color: var(--lp-tinta);
}
.lucilu-paginas ul.products .price { display: block; color: var(--lp-rosa); font-weight: 700; margin: 4px 0 10px; }
.lucilu-paginas ul.products .button {
	display: inline-block; background: var(--lp-verde); color: #fff; border-radius: 999px;
	padding: 9px 18px; font: 700 14px/1.2 'Montserrat', system-ui, sans-serif;
}
@media (max-width: 767px) {
	.lucilu-paginas ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

/* --- Pie ---------------------------------------------------------------------- */
.lp-pie { background: var(--lp-tinta); color: #e5e7eb; padding: 48px 16px 32px; font-size: 15px; }
.lp-pie__in { max-width: var(--lp-ancho-max); margin: 0 auto; }
.lp-pie a { color: #fff; text-decoration: none; }
.lp-pie a:hover { color: var(--lp-verde-2); }
.lp-pie h1, .lp-pie h2, .lp-pie h3, .lp-pie h4, .lp-pie h5, .lp-pie h6 { color: #fff; }

/* --- Visibilidad por dispositivo (ajuste responsive_display de BB) ----------- */
@media (min-width: 992px) { .lp-no-escritorio { display: none !important; } }
@media (min-width: 768px) and (max-width: 991px) { .lp-no-tableta { display: none !important; } }
@media (max-width: 767px) { .lp-no-movil { display: none !important; } }

/* Texto solo para lectores de pantalla (el mismo que imprime BB: «(opens in new tab)», «Expand»). */
.lucilu-paginas .sr-only {
	position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.lp-faq__icono { line-height: 0; }
