/**
 * elementor.css — Integración del theme Base Starter con Elementor.
 *
 * Qué hace:
 * Neutraliza el ritmo vertical, los contenedores y los paddings propios del
 * theme en las páginas construidas con Elementor, para que sean las secciones
 * y los widgets de Elementor los que controlen el espacio y el ancho.
 *
 * Por qué:
 * Base Starter es un theme clásico cuyo contenido se maqueta con Elementor.
 * style.css ya define el ritmo vertical y el ancho de lectura, y
 * assets/css/header-footer.css define la cabecera y el pie. Si esas reglas se
 * mantuvieran en una página de Elementor, se sumarían a las de sus secciones
 * (márgenes duplicados, franjas vacías y contenido descentrado).
 *
 * Cuándo se aplica:
 * - body.bs-elementor-page lo añade el filtro body_class del theme cuando el
 *   post o la página actual se construyó con Elementor; la detección se hace
 *   por los metadatos _elementor_edit_mode y _elementor_version.
 * - base_starter_use_theme_container() hace que el wrapper use
 *   "bs-container bs-container--full" (sin ancho máximo y sin padding) en
 *   lugar de "bs-container" cuando está activa la opción "Quitar el
 *   contenedor del theme" y la página es de Elementor. Ese wrapper lo usan
 *   page.php y 404.php.
 * - page-templates/full-width.php imprime
 *   <main id="primary" class="site-main bs-main bs-main--full"> con
 *   <article class="bs-fullwidth"> y el contenido directamente dentro de
 *   <div class="entry-content">, sin ningún contenedor alrededor.
 * - page-templates/blank.php imprime <body class="bs-blank"> con solo
 *   <main id="primary" class="site-main bs-main bs-main--blank"> y el
 *   contenido (sin cabecera ni pie).
 * - El theme no imprime su propio <h1> cuando está activa la opción
 *   "Ocultar el título" y la página es de Elementor, así que aquí no hay que
 *   reservar espacio para ese título.
 *
 * Todo lo de este archivo queda inerte si Elementor no está instalado.
 */

/* 1. Ritmo vertical: en una página de Elementor manda Elementor. Quitar el
 * margen del primer y del último hijo evita que el margen del theme se sume
 * al de la primera y la última sección. */
body.bs-elementor-page .entry-content > :first-child {
	margin-block-start: 0;
}

body.bs-elementor-page .entry-content > :last-child {
	margin-block-end: 0;
}

/* El wrapper sin contenedor (bs-container--full) no debe aportar padding
 * lateral: ese espacio lo deciden ahora las secciones de Elementor. */
.bs-container--full,
.bs-container--full > .entry-content {
	padding-inline: 0;
}

/* 2. Elementos a sangre (full-bleed). Cuando el wrapper no tiene ancho
 * máximo, un .alignfull debe ocupar el 100% y perder los márgenes laterales. */
.bs-container--full .alignfull,
.bs-elementor-page .alignfull {
	max-inline-size: none;
	width: 100%;
	margin-inline: 0;
}

/* Las secciones de ancho completo y los contenedores flex de Elementor
 * siguen la misma idea: sin ancho máximo y sin márgenes laterales. */
.elementor-section.elementor-section-full_width,
.e-con-full {
	max-inline-size: none;
	width: 100%;
	margin-inline: 0;
}

/* 3. Plantillas a ancho completo: ni ancho máximo ni padding, para que las
 * secciones de Elementor lleguen al borde de la ventana. */
.bs-main--full,
.bs-fullwidth,
.bs-fullwidth .entry-content {
	max-inline-size: none;
	width: 100%;
	margin-inline: 0;
	padding-inline: 0;
}

/* 4. Plantilla en blanco: la página es un lienzo, así que el único bloque de
 * contenido no lleva margen ni padding (el <h1> del theme tampoco se imprime
 * si la opción "Ocultar el título" está activa). */
.bs-main--blank,
body.bs-blank {
	margin: 0;
	padding: 0;
}

.bs-main--blank .entry-content {
	margin: 0;
	padding: 0;
}

/* 5. Editor y vista previa de Elementor. No peleamos con su layout: en
 * .elementor-section, .e-con, .elementor-column y .elementor-widget nunca
 * fijamos width, max-width ni position. Solo evitamos que la cabecera sticky
 * del theme se comporte como tal dentro del iframe del editor. */
.elementor-editor-active .bs-header--sticky {
	position: static;
}

/* 6. Todo lo anterior está limitado a las páginas de Elementor
 * (body.bs-elementor-page, .bs-container--full, .bs-main--full,
 * .bs-main--blank o body.bs-blank). En una instalación sin Elementor esas
 * clases no se generan, así que el archivo es un no-op. */