/* ─────────────────────────────────────────────
   ANCHO COMPLETO — regla base, siempre disponible
   Ruta: banner-carousel/assets/full-width.css

   Mismo truco que ya usaba este plugin para su propio carrusel (ver
   carousel.css) — se separa en su propio archivo, siempre encolado
   (bc_frontend_enqueue(), sin condición de shortcode), porque ahora
   cualquier bloque de Gutenberg puede usar esta clase vía el
   interruptor "Ancho completo" del inspector (ver full-width-editor.js
   y el filtro render_block en banner-carousel.php) — no solo el
   carrusel, que además de esto trae sus propias reglas extra
   (limpiar padding de contenedores ancestros) en carousel.css.
───────────────────────────────────────────── */
.full-width {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    max-width: 100vw !important;
}

/* El contenido de ADENTRO también estira a todo el ancho — así una
   imagen puesta directo en un bloque con "Ancho completo" llena el
   full-width, en vez de quedarse acotada al ancho normal del sitio.

   Dos causas distintas, dos niveles distintos:
   1. NIVEL 1 (el bloque que se marcó "Ancho completo" en sí, hijo
      directo de .hb-fw-toggle): puede traer SU PROPIO max-width fijo
      en el CSS del plugin dueño del bloque — ej. .rig-grid de
      responsive-image-grid trae "max-width:1280px" siempre, sin
      condición. No es un bug de ese plugin (1280px es el ancho
      pensado para uso normal, centrado) — simplemente no tenía forma
      de saber que este interruptor existía. Se neutraliza acá.
   2. NIVEL 2 (los nietos — hijos del bloque marcado): un Group con
      layout "Contenido" (el default de Gutenberg) le pone a SUS
      hijos directos "max-width:var(--wp--style--global--content-size)"
      — regla que el core genera con un selector único por instancia
      (ver wp-includes/block-supports/layout.php), ajena a nuestro
      wrapper. Estirar solo el wrapper de afuera no alcanza para esto.

   Bajar como mucho 2 niveles (no ".full-width *", que sería sin
   límite) es a propósito: un bloque anidado MÁS profundo que el
   usuario meta a mano como "escape hatch" para centrar contenido
   (mismo patrón que ya usan prefooter y otras secciones: wrapper
   full-width por fuera, .cf-ancho-maximo centrado por dentro) queda
   a 3+ niveles y este selector no lo alcanza — sigue comportándose
   como un bloque normal centrado. */
.hb-fw-toggle > * {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
.hb-fw-toggle > * > :where(:not(.alignleft):not(.alignright)) {
    max-width: none !important;
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}
