/*
 * Rediseño 2026 — Imagen + Texto v1.0.29
 *
 * Referencias Figma:
 * - Columna 12: node 201:461 / 201:456 / 776:540
 * - Columna 16: node 201:457
 * - Columna 18: node 201:459
 * - Imagen izquierda / texto derecha: node 183:702
 * - Texto izquierda / imagen derecha: node 185:160
 * - Marco variante con logo: node 237:373
 * - Interior del contenido con logo: node 237:591
 * - Imagen completa: node 1066:687
 * - Imagen completa + contenido: node 406:916 / 406:918
 * - Marco de la variante de contenido: node 406:923
 *
 * IMPORTANTE:
 * Los bordes decorativos NO se dibujan con border/background/pseudoelementos.
 * Se renderizan con imágenes exportadas directamente de los vectores de Figma
 * e incluidas físicamente en assets/img/borders/.
 *
 * El módulo presupone que Futura PT ya está cargada por el tema.
 */

.r26-image-text,
.r26-image-text * {
    box-sizing: border-box;
}

.r26-image-text {
    --r26-canvas-width: 1175px;
    --r26-media-width: 778px;
    --r26-content-left: 648px;
    --r26-content-top: 181px;
    --r26-frame-offset: 113px;
    --r26-border-size: 5px;

    position: relative;
    display: flow-root;
    width: 100%;
    max-width: var(--r26-canvas-width);
    min-height: 719px;
    margin-right: auto;
    margin-left: auto;
    isolation: isolate;
}

.r26-image-text--layout-12 {
    --r26-canvas-width: 1175px;
    --r26-media-width: 579px;
    --r26-content-left: 497px;
    --r26-content-top: 97px;
}

.r26-image-text--layout-16 {
    --r26-canvas-width: 1175px;
    --r26-media-width: 778px;
    --r26-content-left: 648px;
    --r26-content-top: 181px;
}

.r26-image-text--layout-18 {
    --r26-canvas-width: 1181px;
    --r26-media-width: 878px;
    --r26-content-left: 648px;
    --r26-content-top: 208px;
}


/* ---------------------------------------------------------
 * Imagen completa + columna 12 / 16 / 18
 *
 * Referencia: Figma 1066:687.
 * La imagen rompe el ancho del contenedor de WPBakery y ocupa 100vw.
 * En los layouts clásicos cambia el ancho de la imagen y la caja de texto se mantiene.
 * En los layouts de imagen completa sucede al revés: la imagen permanece a 100vw
 * y es el bloque de contenido el que adopta el ancho de columna 12, 16 o 18.
 * --------------------------------------------------------- */

.r26-image-text--full-image {
    --r26-full-image-height: 437px;
    --r26-full-content-width: 778px;
    width: 100%;
    max-width: var(--r26-canvas-width);
    min-height: 655px;
    overflow: visible;
}

.r26-image-text--full-image.r26-image-text--column-12 {
    --r26-canvas-width: 1175px;
    --r26-full-content-width: 579px;
    --r26-content-left: 497px;
    --r26-content-top: 97px;
}

.r26-image-text--full-image.r26-image-text--column-16 {
    --r26-canvas-width: 1175px;
    --r26-full-content-width: 778px;
    --r26-content-left: 648px;
    --r26-content-top: 181px;
}

.r26-image-text--full-image.r26-image-text--column-18 {
    --r26-canvas-width: 1181px;
    --r26-full-content-width: 878px;
    --r26-content-left: 648px;
    --r26-content-top: 208px;
}

.r26-image-text--full-image .r26-image-text__media-frame {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 50% !important;
    right: auto !important;
    width: 100vw;
    height: var(--r26-full-image-height);
    transform: translateX(-50%);
}

.r26-image-text--full-image .r26-image-text__media {
    position: absolute;
    inset: 0 !important;
    overflow: hidden;
    border-radius: 0;
    background: #f3f3f3;
}

.r26-image-text--full-image .r26-image-text__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center bottom;
}

/* En esta variante la imagen no lleva el marco parcial de los layouts clásicos. */
.r26-image-text--full-image .r26-image-text__media-border {
    display: none !important;
}

/* El contenido sigue siendo el mismo bloque de los layouts existentes,
 * superpuesto sobre la imagen a la altura correspondiente. */
.r26-image-text--full-image .r26-image-text__content {
    z-index: 3;
    width: var(--r26-full-content-width);
    margin-top: var(--r26-content-top);
}

/* El marco del bloque de texto permanece por encima de la imagen. */
.r26-image-text--full-image .r26-image-text__content-border {
    z-index: 5;
}

/* ---------------------------------------------------------
 * Imagen completa: protección para escritorio/intermedios
 *
 * Los offsets de Figma están dibujados sobre un viewport de 1920px.
 * En anchos inferiores, mantener literalmente left + width hace que las
 * columnas 16/18 salgan por la derecha. Hasta que hay espacio suficiente
 * conservamos el ancho de columna, pero alineamos la caja dentro del canvas
 * con un margen de seguridad. El layout full-content tiene reglas propias.
 * --------------------------------------------------------- */
@media (min-width: 1200px) and (max-width: 1903px) {
    .r26-image-text--full-image:not(.r26-image-text--full-content) .r26-image-text__content {
        width: min(var(--r26-full-content-width), calc(100% - 128px));
        max-width: calc(100vw - 128px);
    }

    .r26-image-text--full-image:not(.r26-image-text--full-content).r26-image-text--image-left .r26-image-text__content {
        margin-right: 64px;
        margin-left: auto;
    }

    .r26-image-text--full-image:not(.r26-image-text--full-content).r26-image-text--image-right .r26-image-text__content {
        margin-right: auto;
        margin-left: 64px;
    }

    .r26-image-text--full-image:not(.r26-image-text--full-content).r26-image-text--content-has-logo .r26-image-text__content {
        width: min(var(--r26-full-content-width), calc(100% - 128px));
        max-width: calc(100vw - 128px);
    }
}

/* ---------------------------------------------------------
 * Recursos de borde exportados de Figma
 * --------------------------------------------------------- */

.r26-image-text__border-image {
    position: absolute;
    z-index: 4;
    display: block;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    pointer-events: none;
    user-select: none;
}

/* ---------------------------------------------------------
 * Imagen y marco decorativo
 * --------------------------------------------------------- */

.r26-image-text__media-frame {
    position: absolute;
    z-index: 1;
    top: 0;
    width: var(--r26-media-width);
    height: 719px;
}

.r26-image-text--image-left .r26-image-text__media-frame {
    left: 0;
}

.r26-image-text--image-right .r26-image-text__media-frame {
    right: 0;
}

.r26-image-text__media {
    position: absolute;
    z-index: 1;
    top: 54px;
    bottom: 3px;
    overflow: hidden;
    border-radius: 5px;
    background: #f3f3f3;
}

.r26-image-text--image-left .r26-image-text__media {
    left: var(--r26-frame-offset);
    right: 2px;
}

.r26-image-text--image-right .r26-image-text__media {
    right: var(--r26-frame-offset);
    left: 2px;
}

.r26-image-text__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

.r26-image-text__media-border--top,
.r26-image-text__media-border--bottom {
    left: 0;
    width: 100%;
    height: var(--r26-border-size);
}

.r26-image-text__media-border--top {
    top: 52.5px;
}

.r26-image-text__media-border--bottom {
    bottom: 0;
}

.r26-image-text__media-border--vertical {
    top: 0;
    width: var(--r26-border-size);
    height: 100%;
}

.r26-image-text--image-left .r26-image-text__media-border--vertical {
    left: calc(var(--r26-frame-offset) - (var(--r26-border-size) / 2));
}

.r26-image-text--image-right .r26-image-text__media-border--vertical {
    right: calc(var(--r26-frame-offset) - (var(--r26-border-size) / 2));
}

/* En el ejemplo invertido de Figma (185:160) no aparece la línea inferior. */
.r26-image-text--image-right .r26-image-text__media-border--bottom {
    display: none;
}

/* ---------------------------------------------------------
 * Bloque de contenido
 * --------------------------------------------------------- */

.r26-image-text__content {
    position: relative;
    z-index: 3;
    width: 488px;
    margin-top: var(--r26-content-top);
    padding: 64px;
    border-radius: 5px;
    background: #fff;
    color: #000;
}

.r26-image-text--content-bg-gray .r26-image-text__content {
    background: #F5F5F5;
}

.r26-image-text--image-left .r26-image-text__content {
    margin-right: auto;
    margin-left: var(--r26-content-left);
}

.r26-image-text--image-right .r26-image-text__content {
    margin-right: auto;
    margin-left: calc(var(--r26-canvas-width) - var(--r26-content-left) - 488px);
}

.r26-image-text__content-border--horizontal {
    width: calc(100% + 39px);
    height: var(--r26-border-size);
}

.r26-image-text__content-border--vertical {
    width: var(--r26-border-size);
}

/* Imagen izquierda / texto derecha: esquina inferior derecha. */
.r26-image-text--image-left .r26-image-text__content-border--horizontal {
    right: auto;
    bottom: -2.5px;
    left: 0;
}

.r26-image-text--image-left .r26-image-text__content-border--vertical {
    top: 3px;
    right: -2.5px;
    left: auto;
    height: calc(100% - 3px);
}

/* Layout 18: el marco del contenido nace en la esquina superior derecha. */
.r26-image-text--layout-18.r26-image-text--image-left .r26-image-text__content-border--horizontal {
    top: -2.5px;
    bottom: auto;
}

.r26-image-text--layout-18.r26-image-text--image-left .r26-image-text__content-border--vertical {
    top: -46px;
    height: calc(100% + 46px);
}

/* Texto izquierda / imagen derecha: esquina superior izquierda, como 185:160. */
.r26-image-text--image-right .r26-image-text__content-border--horizontal {
    top: -2.5px;
    right: 0;
    bottom: auto;
    left: auto;
}

.r26-image-text--image-right .r26-image-text__content-border--vertical {
    top: -28px;
    right: auto;
    left: -2.5px;
    height: calc(100% + 28px);
}


/* ---------------------------------------------------------
 * Variante con logo como primer elemento del editor
 *
 * Marco exterior: Figma 237:373
 * Interior del contenido: Figma 237:591
 *
 * El primer <img> del editor se extrae en PHP y se renderiza
 * como .r26-image-text__content-logo para que el tema no pueda
 * ocultarlo o alterar su geometría.
 * --------------------------------------------------------- */

/*
 * IMPORTANTE: detectar un logo dentro del editor NO debe cambiar el layout
 * elegido en WPBakery. Las versiones anteriores forzaban aquí una geometría
 * fija (650/558.5/151), anulando Columna 12, 16 y 18. A partir de v1.0.26
 * las variables de geometría proceden siempre del layout seleccionado.
 */
.r26-image-text--layout-12.r26-image-text--content-has-logo:not(.r26-image-text--full-image) {
    --r26-canvas-width: 1175px;
    --r26-media-width: 579px;
    --r26-content-left: 497px;
    --r26-content-top: 97px;
}

.r26-image-text--layout-16.r26-image-text--content-has-logo:not(.r26-image-text--full-image) {
    --r26-canvas-width: 1175px;
    --r26-media-width: 778px;
    --r26-content-left: 648px;
    --r26-content-top: 181px;
}

.r26-image-text--layout-18.r26-image-text--content-has-logo:not(.r26-image-text--full-image) {
    --r26-canvas-width: 1181px;
    --r26-media-width: 878px;
    --r26-content-left: 648px;
    --r26-content-top: 208px;
}

/* Figma 237:373: imagen interior x=113, y=54, 506 x 662. */
.r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__media {
    left: 113px;
    right: 31px;
    top: 54px;
    bottom: 3px;
}

/* Los cinco recursos siguientes son exportaciones directas de los vectores
 * 237:377, 237:378, 237:379, 237:391 y 237:392. */
.r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__media-border--top {
    top: 52.5px;
    left: 0;
    width: 100%;
    height: 5px;
}

.r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__media-border--bottom {
    right: auto;
    bottom: 0;
    left: 0;
    width: calc(100% - 31px);
    height: 5px;
}

.r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__media-border--vertical {
    top: 0;
    left: 110.5px;
    width: 5px;
    height: 100%;
}

.r26-image-text--content-has-logo.r26-image-text--image-left:not(.r26-image-text--full-image) .r26-image-text__content {
    width: 488px;
    margin-top: var(--r26-content-top);
    margin-left: var(--r26-content-left);
    padding: 64px;
}

/* Figma 237:373: marco del contenido en esquina inferior derecha.
 * La longitud crece con la caja para soportar contenido real. */
.r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__content-border--horizontal {
    top: auto;
    right: auto;
    bottom: -2.5px;
    left: 0;
    width: calc(100% + 39px);
    height: 5px;
}

.r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__content-border--vertical {
    top: 3px;
    right: -2.5px;
    bottom: auto;
    left: auto;
    width: 5px;
    height: calc(100% - 3px);
}

/* Figma 237:591: logo 265 x 106, seguido de 32 px de separación. */
.r26-image-text__content-logo {
    position: relative;
    z-index: 6;
    display: block;
    width: 265px;
    max-width: 100%;
    height: 106px;
    margin: 0 0 32px;
    padding: 0;
    overflow: visible !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.r26-image-text__content-logo img {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 265px !important;
    max-width: 100% !important;
    height: 106px !important;
    min-width: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    filter: none !important;
    object-fit: contain !important;
    object-position: left center !important;
}


/* La detección automática de logo no debe alterar la geometría de los nuevos
 * layouts de imagen completa. Solo conserva el tratamiento interno del logo. */
.r26-image-text--full-image.r26-image-text--content-has-logo.r26-image-text--column-12 {
    --r26-canvas-width: 1175px;
    --r26-content-left: 497px;
    --r26-content-top: 97px;
}

.r26-image-text--full-image.r26-image-text--content-has-logo.r26-image-text--column-16 {
    --r26-canvas-width: 1175px;
    --r26-content-left: 648px;
    --r26-content-top: 181px;
}

.r26-image-text--full-image.r26-image-text--content-has-logo.r26-image-text--column-18 {
    --r26-canvas-width: 1181px;
    --r26-content-left: 648px;
    --r26-content-top: 208px;
}

.r26-image-text--full-image.r26-image-text--content-has-logo .r26-image-text__media {
    inset: 0 !important;
    border-radius: 0;
}

.r26-image-text--full-image.r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__content {
    margin-top: var(--r26-content-top);
    margin-left: var(--r26-content-left);
}

.r26-image-text--full-image.r26-image-text--content-has-logo.r26-image-text--image-right .r26-image-text__content {
    margin-top: var(--r26-content-top);
    margin-right: auto;
    margin-left: calc(var(--r26-canvas-width) - var(--r26-content-left) - 528px);
}

/* En imagen completa, incluso la variante con logo debe respetar el ancho
 * 12/16/18. En los layouts normales el logo mantiene su caja específica de 528px. */
.r26-image-text--full-image.r26-image-text--content-has-logo .r26-image-text__content {
    width: var(--r26-full-content-width);
}

/* ---------------------------------------------------------
 * Tipografía del WP Editor
 * --------------------------------------------------------- */

.r26-image-text__editor {
    position: relative;
    z-index: 5;
    width: 100%;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif;
    font-style: normal;
    font-weight: 400;
    color: #000;
}

.r26-image-text__editor > :first-child {
    margin-top: 0 !important;
}

.r26-image-text__editor > :last-child {
    margin-bottom: 0 !important;
}

.r26-image-text__editor > * + * {
    margin-top: 32px;
}

.r26-image-text__editor h1,
.r26-image-text__editor h2,
.r26-image-text__editor h3,
.r26-image-text__editor h4,
.r26-image-text__editor h5,
.r26-image-text__editor h6 {
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    padding: 0;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif;
    font-size: 36px;
    font-style: normal;
    font-weight: 400;
    line-height: 39px;
    letter-spacing: -0.72px;
    color: #000;
}

.r26-image-text__editor p,
.r26-image-text__editor ul,
.r26-image-text__editor ol,
.r26-image-text__editor li {
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
    letter-spacing: 0;
    color: #000;
}

.r26-image-text__editor p,
.r26-image-text__editor ul,
.r26-image-text__editor ol {
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
}

.r26-image-text__editor ul,
.r26-image-text__editor ol {
    padding-left: 1.2em;
}

/* Imágenes insertadas desde el WP Editor. Se refuerzan estas reglas porque
 * algunos estilos del tema aplican tamaños/visibilidad a imágenes de bloques de texto. */
.r26-image-text__editor img,
.r26-image-text__editor picture img,
.r26-image-text__editor figure img,
.r26-image-text__editor .wp-caption img {
    position: static !important;
    inset: auto !important;
    z-index: auto !important;
    display: block !important;
    width: auto !important;
    min-width: 1px !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 1px !important;
    max-height: none !important;
    margin: 0;
    padding: 0;
    border: 0;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    filter: none !important;
    object-fit: contain !important;
    object-position: left center !important;
}

/* Evita que reglas antiguas del tema recorten el logo cuando TinyMCE lo deja
 * dentro de un párrafo o de un enlace. */
.r26-image-text__editor,
.r26-image-text__editor p,
.r26-image-text__editor a,
.r26-image-text__editor figure,
.r26-image-text__editor picture,
.r26-image-text__editor .wp-caption {
    overflow: visible !important;
}

.r26-image-text__editor > img,
.r26-image-text__editor p > img,
.r26-image-text__editor a > img {
    clear: both;
}

.r26-image-text__editor picture,
.r26-image-text__editor figure,
.r26-image-text__editor .wp-caption {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    margin-right: 0;
    margin-left: 0;
    opacity: 1 !important;
    visibility: visible !important;
}

.r26-image-text__editor figure,
.r26-image-text__editor .wp-caption {
    margin-top: 32px;
    margin-bottom: 0;
}

.r26-image-text__editor figure:first-child,
.r26-image-text__editor .wp-caption:first-child {
    margin-top: 0;
}

.r26-image-text__editor figcaption,
.r26-image-text__editor .wp-caption-text {
    margin-top: 10px;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.35;
    color: #151515;
}

.r26-image-text__editor img.aligncenter,
.r26-image-text__editor .aligncenter img,
.r26-image-text__editor figure.aligncenter,
.r26-image-text__editor .wp-caption.aligncenter {
    margin-right: auto !important;
    margin-left: auto !important;
}

.r26-image-text__editor img.alignleft,
.r26-image-text__editor figure.alignleft,
.r26-image-text__editor .wp-caption.alignleft {
    float: left;
    margin: 0 24px 16px 0 !important;
}

.r26-image-text__editor img.alignright,
.r26-image-text__editor figure.alignright,
.r26-image-text__editor .wp-caption.alignright {
    float: right;
    margin: 0 0 16px 24px !important;
}

/* Si una imagen está enlazada, el enlace debe comportarse como contenedor de la
 * imagen y no como el enlace de texto con flecha del diseño. */
.r26-image-text__editor a:has(img),
.r26-image-text__editor a:has(picture),
.r26-image-text__editor a:has(figure) {
    display: block;
    width: fit-content;
    max-width: 100%;
}

.r26-image-text__editor a:has(img)::after,
.r26-image-text__editor a:has(picture)::after,
.r26-image-text__editor a:has(figure)::after {
    display: none;
    content: none;
}

.r26-image-text__editor p:has(> a:only-child) {
    line-height: 18px;
}

.r26-image-text__editor a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: #000;
    text-decoration: none;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 18px;
}

.r26-image-text__editor a::after {
    display: block;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    content: "";
    background-image: url("../img/arrow.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 24px 24px;
}

.r26-image-text__editor a:hover,
.r26-image-text__editor a:focus,
.r26-image-text__editor a:visited {
    color: #000;
    text-decoration: none;
}

.r26-image-text__editor a:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 4px;
}


/* La variante con logo se adapta como el resto del módulo fuera de desktop. */
@media (max-width: 1199px) {
    .r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__content {
        width: min(488px, calc(100% - 64px));
    }
}

/* ---------------------------------------------------------
 * Tablet
 * --------------------------------------------------------- */

@media (max-width: 1199px) and (min-width: 768px) {
    /*
     * Columna 12 usa la segunda variante del componente de Figma (776:540):
     * el texto pasa de x=497 a x=7 y queda prácticamente sobre la imagen.
     */
    .r26-image-text--layout-12 {
        --r26-canvas-width: 579px;
        --r26-media-width: 579px;
        --r26-content-left: 7px;
        --r26-content-top: 97px;

        max-width: 579px;
        min-height: 719px;
    }

    .r26-image-text--layout-12.r26-image-text--image-right .r26-image-text__content {
        margin-right: 7px;
        margin-left: auto;
    }

    .r26-image-text--layout-16,
    .r26-image-text--layout-18 {
        --r26-frame-offset: 72px;

        max-width: 880px;
        height: auto;
        min-height: 0;
    }

    .r26-image-text--layout-16 .r26-image-text__media-frame,
    .r26-image-text--layout-18 .r26-image-text__media-frame {
        position: relative;
        width: 100%;
        height: 620px;
    }

    .r26-image-text--layout-16 .r26-image-text__content,
    .r26-image-text--layout-18 .r26-image-text__content {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: min(488px, calc(100% - 64px));
        margin-top: -150px;
    }

    .r26-image-text--layout-16.r26-image-text--image-left .r26-image-text__content,
    .r26-image-text--layout-18.r26-image-text--image-left .r26-image-text__content {
        margin-right: 32px;
        margin-left: auto;
    }

    .r26-image-text--layout-16.r26-image-text--image-right .r26-image-text__content,
    .r26-image-text--layout-18.r26-image-text--image-right .r26-image-text__content {
        margin-right: auto;
        margin-left: 32px;
    }

    .r26-image-text--layout-16.r26-image-text--image-left .r26-image-text__content-border--horizontal,
    .r26-image-text--layout-18.r26-image-text--image-left .r26-image-text__content-border--horizontal {
        top: auto;
        bottom: -2.5px;
    }

    .r26-image-text--layout-16.r26-image-text--image-left .r26-image-text__content-border--vertical,
    .r26-image-text--layout-18.r26-image-text--image-left .r26-image-text__content-border--vertical {
        top: 3px;
        height: calc(100% - 3px);
    }
}


@media (max-width: 1199px) and (min-width: 768px) {
    .r26-image-text--full-image {
        --r26-full-image-height: 390px;
        max-width: 880px;
        min-height: 560px;
    }

    .r26-image-text--full-image .r26-image-text__media-frame {
        position: absolute;
        width: 100vw;
        height: var(--r26-full-image-height);
    }

    .r26-image-text--full-image .r26-image-text__content {
        position: relative;
        width: min(var(--r26-full-content-width), calc(100% - 64px));
        margin-top: 150px;
    }

    .r26-image-text--full-image.r26-image-text--image-left .r26-image-text__content {
        margin-right: 32px;
        margin-left: auto;
    }

    .r26-image-text--full-image.r26-image-text--image-right .r26-image-text__content {
        margin-right: auto;
        margin-left: 32px;
    }

    .r26-image-text--full-image.r26-image-text--content-has-logo .r26-image-text__content {
        width: min(var(--r26-full-content-width), calc(100% - 64px));
    }
}

/* ---------------------------------------------------------
 * Móvil
 * --------------------------------------------------------- */

@media (max-width: 767px) {

    .r26-image-text--full-image {
        --r26-full-image-height: clamp(280px, 62vw, 420px);
        min-height: 0;
        padding-right: 16px;
        padding-left: 16px;
    }

    .r26-image-text--full-image .r26-image-text__media-frame {
        position: relative;
        left: 50% !important;
        width: 100vw;
        height: var(--r26-full-image-height);
        transform: translateX(-50%);
    }

    .r26-image-text--full-image .r26-image-text__content,
    .r26-image-text--full-image.r26-image-text--image-left .r26-image-text__content,
    .r26-image-text--full-image.r26-image-text--image-right .r26-image-text__content {
        width: calc(100% - 24px);
        margin-top: -56px;
    }
    .r26-image-text,
    .r26-image-text--layout-12,
    .r26-image-text--layout-16,
    .r26-image-text--layout-18 {
        --r26-frame-offset: 48px;
        --r26-border-size: 4px;

        max-width: none;
        height: auto;
        padding-right: 16px;
        padding-left: 16px;
    }

    .r26-image-text__media-frame,
    .r26-image-text--layout-12 .r26-image-text__media-frame,
    .r26-image-text--layout-16 .r26-image-text__media-frame,
    .r26-image-text--layout-18 .r26-image-text__media-frame {
        position: relative;
        right: auto;
        left: auto;
        width: 100%;
        height: clamp(390px, 112vw, 560px);
    }

    .r26-image-text__media {
        top: 36px;
        bottom: 2px;
    }

    .r26-image-text__media-border--top {
        top: 34px;
    }

    .r26-image-text__content,
    .r26-image-text--layout-12 .r26-image-text__content,
    .r26-image-text--layout-16 .r26-image-text__content,
    .r26-image-text--layout-18 .r26-image-text__content,
    .r26-image-text--image-left .r26-image-text__content,
    .r26-image-text--image-right .r26-image-text__content {
        position: relative;
        top: auto;
        right: auto;
        left: auto;
        width: calc(100% - 24px);
        margin-top: -56px;
        padding: 32px;
    }

    .r26-image-text--image-left .r26-image-text__content {
        margin-right: 0;
        margin-left: auto;
    }

    .r26-image-text--image-right .r26-image-text__content {
        margin-right: auto;
        margin-left: 0;
    }

    .r26-image-text--layout-18.r26-image-text--image-left .r26-image-text__content-border--horizontal,
    .r26-image-text--image-left .r26-image-text__content-border--horizontal {
        top: auto;
        bottom: -2px;
        height: 4px;
    }

    .r26-image-text--layout-18.r26-image-text--image-left .r26-image-text__content-border--vertical,
    .r26-image-text--image-left .r26-image-text__content-border--vertical {
        top: 2px;
        right: -2px;
        width: 4px;
        height: calc(100% - 2px);
    }

    .r26-image-text--image-right .r26-image-text__content-border--horizontal {
        top: -2px;
        right: 0;
        bottom: auto;
        height: 4px;
    }

    .r26-image-text--image-right .r26-image-text__content-border--vertical {
        top: -20px;
        left: -2px;
        width: 4px;
        height: calc(100% + 20px);
    }

    .r26-image-text--content-has-logo.r26-image-text--image-left .r26-image-text__content {
        width: calc(100% - 24px);
        margin-top: -56px;
        margin-right: 0;
        margin-left: auto;
        padding: 32px;
    }

    .r26-image-text__content-logo {
        width: min(265px, 100%);
        height: auto;
        min-height: 86px;
        margin-bottom: 24px;
    }

    .r26-image-text__content-logo img {
        width: 100% !important;
        height: auto !important;
        max-height: 106px !important;
    }

    .r26-image-text__editor > * + * {
        margin-top: 24px;
    }

    .r26-image-text__editor h1,
    .r26-image-text__editor h2,
    .r26-image-text__editor h3,
    .r26-image-text__editor h4,
    .r26-image-text__editor h5,
    .r26-image-text__editor h6 {
        font-size: clamp(28px, 8vw, 36px);
        line-height: 1.08;
        letter-spacing: -0.02em;
    }

    .r26-image-text__editor p,
    .r26-image-text__editor ul,
    .r26-image-text__editor ol,
    .r26-image-text__editor li {
        font-size: 18px;
        line-height: 1.4;
    }


    .r26-image-text__editor img.alignleft,
    .r26-image-text__editor img.alignright,
    .r26-image-text__editor figure.alignleft,
    .r26-image-text__editor figure.alignright,
    .r26-image-text__editor .wp-caption.alignleft,
    .r26-image-text__editor .wp-caption.alignright {
        float: none;
        margin-right: 0 !important;
        margin-left: 0 !important;
    }
}
\n\n/* =========================================================
 * Full image + content
 * Figma: 406:916 / 406:918 / 406:923
 * This variant is isolated from the classic image+text layouts.
 * ========================================================= */

.r26-image-text--full-content {
    --r26-full-content-image-height: 622px;
    --r26-full-content-top: 540px;

    position: relative;
    left: 50%;
    display: flow-root;
    width: 100vw;
    max-width: none;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    transform: translateX(-50%);
    isolation: isolate;
}

/* Figma 406:917: 1920 x 622. */
.r26-image-text--full-content .r26-image-text__media-frame {
    position: absolute;
    z-index: 1;
    top: 0;
    right: auto !important;
    left: 0 !important;
    width: 100%;
    height: var(--r26-full-content-image-height);
    transform: none !important;
}

.r26-image-text--full-content .r26-image-text__media {
    position: absolute;
    inset: 0 !important;
    overflow: hidden;
    border-radius: 0;
    background: #f3f3f3;
}

.r26-image-text--full-content .r26-image-text__image {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: center center;
}

/* The classic media frame lines do not belong to this Figma variant. */
.r26-image-text--full-content .r26-image-text__media-border {
    display: none !important;
}

/* Figma 406:918: x=411, y=540, w=1509; padding L170 R70 T/B50. */
.r26-image-text--full-content .r26-image-text__content,
.r26-image-text--full-content.r26-image-text--image-left .r26-image-text__content,
.r26-image-text--full-content.r26-image-text--image-right .r26-image-text__content,
.r26-image-text--full-content.r26-image-text--content-has-logo .r26-image-text__content {
    position: relative;
    z-index: 3;
    width: 78.59375vw;
    max-width: none;
    min-height: 0;
    margin-top: var(--r26-full-content-top);
    margin-right: 0;
    margin-left: 21.40625vw;
    padding: 50px 70px 50px 170px;
    border-radius: 0;
    background: #fff;
    color: #151515;
}

.r26-image-text--full-content.r26-image-text--content-bg-gray .r26-image-text__content {
    background: #f5f5f5;
}

/* Exact vector exports from Figma 406:925 and 406:924.
 * Horizontal: x=367..1918, y about 538.
 * Vertical: x=411, y=502..745.
 * Both positions are relative to the content box at x=411, y=540.
 */
.r26-image-text--full-content .r26-image-text__content-border {
    z-index: 6;
    display: block !important;
    max-width: none !important;
}

.r26-image-text--full-content .r26-image-text__content-border--horizontal {
    top: -4px;
    right: auto;
    bottom: auto;
    left: -44px;
    width: 1551px;
    height: 5px;
}

.r26-image-text--full-content .r26-image-text__content-border--vertical {
    top: -38px;
    right: auto;
    bottom: auto;
    left: -2.5px;
    width: 5px;
    height: 243px;
}

/* Legacy v1.0.11-v1.0.13 frame is not used anymore. */
.r26-image-text--full-content .r26-image-text__full-content-frame {
    display: none !important;
}

.r26-image-text--full-content .r26-image-text__editor {
    position: relative;
    z-index: 5;
    width: 100%;
    color: #151515;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
}

.r26-image-text--full-content .r26-image-text__editor > :first-child {
    margin-top: 0 !important;
}

.r26-image-text--full-content .r26-image-text__editor > :last-child {
    margin-bottom: 0 !important;
}

.r26-image-text--full-content .r26-image-text__editor > * + * {
    margin-top: 32px !important;
}

/* Figma H2 1048:2638. */
.r26-image-text--full-content .r26-image-text__editor > h2 {
    width: 100%;
    min-height: 107px;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: "Autography", sans-serif !important;
    font-size: 100px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 110px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.r26-image-text--full-content .r26-image-text__editor > p,
.r26-image-text--full-content .r26-image-text__editor > ul {
    width: 100%;
    max-width: 709px;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    color: #151515;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.r26-image-text--full-content .r26-image-text__editor > ul {
    padding-left: 24px !important;
}

/* OL uses the same visual language as Listado de valores v1.0.7. */
.r26-image-text--full-content .r26-image-text__editor > ol {
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    counter-reset: r26-image-text-values;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.r26-image-text--full-content .r26-image-text__editor > ol > li {
    counter-increment: r26-image-text-values;
    display: grid !important;
    grid-template-columns: 41px minmax(0, 709px);
    align-items: start;
    column-gap: 24px;
    row-gap: 0;
    width: 100%;
    min-height: 110px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    color: #151515;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.r26-image-text--full-content .r26-image-text__editor > ol > li::marker {
    content: "";
}

.r26-image-text--full-content .r26-image-text__editor > ol > li::before {
    content: counter(r26-image-text-values) ".";
    display: block;
    grid-column: 1;
    grid-row: 1;
    width: 41px;
    min-width: 41px;
    margin: 0;
    padding: 0;
    color: #000;
    text-align: left;
    justify-self: start;
    align-self: start;
    font-family: "Autography", sans-serif !important;
    font-size: 100px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 110px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap;
}

.r26-image-text--full-content .r26-image-text__editor > ol > li:nth-child(2)::before {
    transform: scaleX(0.6949152542);
    transform-origin: left top;
}

.r26-image-text--full-content .r26-image-text__editor > ol > li:nth-child(3)::before {
    transform: scaleX(0.7321428571);
    transform-origin: left top;
}

.r26-image-text--full-content .r26-image-text__editor > ol > li:nth-child(4)::before {
    transform: scaleX(0.7454545455);
    transform-origin: left top;
}

.r26-image-text--full-content .r26-image-text__editor > ol > li > p,
.r26-image-text--full-content .r26-image-text__editor > ol > li > div {
    grid-column: 2;
    min-width: 0;
    max-width: 709px;
    margin: 0 !important;
    padding: 0 !important;
    color: #151515;
    font: inherit !important;
    line-height: 28px !important;
}

.r26-image-text--full-content .r26-image-text__editor > img,
.r26-image-text--full-content .r26-image-text__editor > figure,
.r26-image-text--full-content .r26-image-text__editor > picture {
    max-width: 100%;
    height: auto;
}

@media (max-width: 1199px) and (min-width: 768px) {
    .r26-image-text--full-content {
        --r26-full-content-image-height: 430px;
        --r26-full-content-top: 370px;
    }

    .r26-image-text--full-content .r26-image-text__content,
    .r26-image-text--full-content.r26-image-text--image-left .r26-image-text__content,
    .r26-image-text--full-content.r26-image-text--image-right .r26-image-text__content,
    .r26-image-text--full-content.r26-image-text--content-has-logo .r26-image-text__content {
        width: 84vw;
        margin-top: var(--r26-full-content-top);
        margin-left: 16vw;
        padding: 44px 48px 48px 72px;
    }

    .r26-image-text--full-content .r26-image-text__content-border--horizontal {
        top: -4px;
        left: -32px;
        width: calc(100% + 30px);
        height: 5px;
    }

    .r26-image-text--full-content .r26-image-text__content-border--vertical {
        top: -32px;
        left: -2.5px;
        height: 204px;
    }

    .r26-image-text--full-content .r26-image-text__editor > h2 {
        min-height: 0;
        font-size: clamp(68px, 8vw, 88px) !important;
        line-height: 1.05 !important;
    }

    .r26-image-text--full-content .r26-image-text__editor > ol > li {
        grid-template-columns: 41px minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .r26-image-text--full-content {
        --r26-full-content-image-height: clamp(250px, 68vw, 360px);
        --r26-full-content-top: calc(var(--r26-full-content-image-height) - 42px);
    }

    .r26-image-text--full-content .r26-image-text__content,
    .r26-image-text--full-content.r26-image-text--image-left .r26-image-text__content,
    .r26-image-text--full-content.r26-image-text--image-right .r26-image-text__content,
    .r26-image-text--full-content.r26-image-text--content-has-logo .r26-image-text__content {
        width: calc(100vw - 24px);
        margin-top: var(--r26-full-content-top);
        margin-left: 24px;
        padding: 32px 24px 36px 32px;
    }

    .r26-image-text--full-content .r26-image-text__content-border--horizontal {
        top: -4px;
        left: -20px;
        width: calc(100% + 18px);
        height: 5px;
    }

    .r26-image-text--full-content .r26-image-text__content-border--vertical {
        top: -24px;
        left: -2.5px;
        height: 148px;
    }

    .r26-image-text--full-content .r26-image-text__editor > h2 {
        min-height: 0;
        font-size: clamp(48px, 15vw, 72px) !important;
        line-height: 1.02 !important;
    }

    .r26-image-text--full-content .r26-image-text__editor > p,
    .r26-image-text--full-content .r26-image-text__editor > ul,
    .r26-image-text--full-content .r26-image-text__editor > ol > li {
        font-size: 18px !important;
        line-height: 25px !important;
    }

    .r26-image-text--full-content .r26-image-text__editor > ol {
        gap: 24px;
    }

    .r26-image-text--full-content .r26-image-text__editor > ol > li {
        grid-template-columns: 34px minmax(0, 1fr);
        column-gap: 18px;
        min-height: 0;
    }

    .r26-image-text--full-content .r26-image-text__editor > ol > li::before {
        width: 34px;
        min-width: 34px;
        font-size: clamp(60px, 18vw, 78px) !important;
        line-height: 0.95 !important;
    }
}


/* =========================================================
 * Imagen completa + contenido v1.0.15
 * Figma 406:916. Bloque aislado de los estilos clásicos.
 * ========================================================= */
.r26-image-text-full-content,
.r26-image-text-full-content * {
    box-sizing: border-box;
}

.r26-image-text-full-content {
    position: relative;
    z-index: 0;
    display: flow-root;
    width: 100vw;
    max-width: none !important;
    min-height: 0;
    margin-right: 0;
    margin-left: calc(50% - 50vw);
    padding: 0;
    overflow: visible !important;
    isolation: isolate;
    color: #151515;
}

/* 406:917 — 1920 x 622. La imagen está en flujo: nunca queda tapada
 * por una altura cero del contenedor. */
.r26-image-text-full-content__media {
    position: relative;
    z-index: 1;
    width: 100%;
    height: min(622px, 32.3958333333vw);
    min-height: 320px;
    margin: 0;
    padding: 0;
    overflow: hidden;
    background: #f3f3f3;
}

.r26-image-text-full-content__image {
    position: static !important;
    inset: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    min-width: 1px !important;
    min-height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    clip: auto !important;
    clip-path: none !important;
    filter: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

/* 406:918 — x=411, y=540, w=1509. Como la imagen termina en y=622,
 * la caja sube 82px para reproducir la superposición de Figma. */
.r26-image-text-full-content__content {
    position: relative;
    z-index: 3;
    width: 78.59375vw;
    max-width: none !important;
    min-height: 0;
    margin-top: max(-82px, -4.2708333333vw);
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 21.40625vw;
    padding:
        min(50px, 2.6041666667vw)
        min(70px, 3.6458333333vw)
        min(50px, 2.6041666667vw)
        min(170px, 8.8541666667vw);
    border: 0 !important;
    border-radius: 0 !important;
    background: #fff;
    color: #151515;
}

.r26-image-text-full-content--gray .r26-image-text-full-content__content {
    background: #f5f5f5;
}

/* Recursos exactos exportados de los vectores 406:925 y 406:924. */
.r26-image-text-full-content__line {
    position: absolute !important;
    z-index: 5;
    display: block !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none;
    user-select: none;
}

/* Vector 20: x=367, y≈538, w=1551. */
.r26-image-text-full-content__line--horizontal {
    top: min(538px, 28.0208333333vw);
    left: 19.1145833333vw;
    width: 80.78125vw !important;
    height: 5px !important;
}

/* Vector 19: x=411, y=502, h=243. */
.r26-image-text-full-content__line--vertical {
    top: min(502px, 26.1458333333vw);
    left: calc(21.40625vw - 2.5px);
    width: 5px !important;
    height: min(243px, 12.65625vw) !important;
}

.r26-image-text-full-content__editor {
    position: relative;
    z-index: 4;
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    color: #151515;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif;
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
}

.r26-image-text-full-content__editor > :first-child {
    margin-top: 0 !important;
}

.r26-image-text-full-content__editor > :last-child {
    margin-bottom: 0 !important;
}

.r26-image-text-full-content__editor > * + * {
    margin-top: 32px !important;
}

/* H2 exacto de 1048:2638. */
.r26-image-text-full-content__editor > h2 {
    width: 100% !important;
    min-height: 107px;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    color: #000 !important;
    font-family: "Autography", sans-serif !important;
    font-size: 100px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 110px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.r26-image-text-full-content__editor > h1,
.r26-image-text-full-content__editor > h3,
.r26-image-text-full-content__editor > h4,
.r26-image-text-full-content__editor > h5,
.r26-image-text-full-content__editor > h6 {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    color: #151515;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif !important;
    font-weight: 400 !important;
    text-transform: none !important;
}

.r26-image-text-full-content__editor > p,
.r26-image-text-full-content__editor > ul {
    width: 709px;
    max-width: 100%;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    color: #151515;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.r26-image-text-full-content__editor > ul {
    padding-left: 24px !important;
}

/* OL: misma geometría que el Listado de valores. */
.r26-image-text-full-content__editor > ol {
    width: 100%;
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    margin-left: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    counter-reset: r26-fc-values;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.r26-image-text-full-content__editor > ol > li {
    counter-increment: r26-fc-values;
    display: grid !important;
    grid-template-columns: 41px minmax(0, 709px);
    align-items: start;
    column-gap: 24px;
    row-gap: 0;
    width: 100%;
    min-height: 110px;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    color: #151515;
    font-family: "Futura PT", "Futura_PT", Futura, sans-serif !important;
    font-size: 20px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.r26-image-text-full-content__editor > ol > li::marker {
    content: "";
}

.r26-image-text-full-content__editor > ol > li::before {
    content: counter(r26-fc-values) ".";
    display: block;
    grid-column: 1;
    grid-row: 1;
    width: 41px;
    min-width: 41px;
    margin: 0;
    padding: 0;
    color: #000;
    text-align: left;
    justify-self: start;
    align-self: start;
    font-family: "Autography", sans-serif !important;
    font-size: 100px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 110px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
    white-space: nowrap;
}

.r26-image-text-full-content__editor > ol > li:nth-child(2)::before {
    transform: scaleX(0.6949152542);
    transform-origin: left top;
}
.r26-image-text-full-content__editor > ol > li:nth-child(3)::before {
    transform: scaleX(0.7321428571);
    transform-origin: left top;
}
.r26-image-text-full-content__editor > ol > li:nth-child(4)::before {
    transform: scaleX(0.7454545455);
    transform-origin: left top;
}

.r26-image-text-full-content__editor > ol > li > p,
.r26-image-text-full-content__editor > ol > li > div {
    grid-column: 2;
    min-width: 0;
    max-width: 709px;
    margin: 0 !important;
    padding: 0 !important;
    color: #151515;
    font: inherit !important;
    line-height: 28px !important;
}

.r26-image-text-full-content__editor img,
.r26-image-text-full-content__editor figure,
.r26-image-text-full-content__editor picture,
.r26-image-text-full-content__editor .wp-caption {
    max-width: 100% !important;
    height: auto !important;
}

@media (max-width: 1199px) {
    .r26-image-text-full-content__editor > h2 {
        min-height: 0;
        font-size: clamp(64px, 7vw, 90px) !important;
        line-height: 1.05 !important;
    }
    .r26-image-text-full-content__editor > ol > li {
        grid-template-columns: 41px minmax(0, 1fr);
    }
}

@media (max-width: 767px) {
    .r26-image-text-full-content__media {
        height: 280px;
        min-height: 280px;
    }
    .r26-image-text-full-content__content {
        width: calc(100vw - 24px);
        margin-top: -50px;
        margin-left: 24px;
        padding: 32px 24px 36px 32px;
    }
    .r26-image-text-full-content__line--horizontal {
        top: 228px;
        left: 12px;
        width: calc(100vw - 12px) !important;
    }
    .r26-image-text-full-content__line--vertical {
        top: 205px;
        left: calc(24px - 2.5px);
        height: 148px !important;
    }
    .r26-image-text-full-content__editor > h2 {
        font-size: clamp(48px, 15vw, 72px) !important;
        line-height: 1.02 !important;
    }
    .r26-image-text-full-content__editor > p,
    .r26-image-text-full-content__editor > ul,
    .r26-image-text-full-content__editor > ol > li {
        font-size: 18px !important;
        line-height: 25px !important;
    }
    .r26-image-text-full-content__editor > ol {
        gap: 24px;
    }
    .r26-image-text-full-content__editor > ol > li {
        grid-template-columns: 34px minmax(0, 1fr);
        column-gap: 18px;
        min-height: 0;
    }
    .r26-image-text-full-content__editor > ol > li::before {
        width: 34px;
        min-width: 34px;
        font-size: clamp(60px, 18vw, 78px) !important;
        line-height: 0.95 !important;
    }
}


/* =========================================================
 * Parallax opcional para layouts con imagen a ancho completo
 * v1.0.20: recorrido ampliado con overscan real dentro de un contenedor
 * con overflow hidden. El JS solo desplaza la imagen verticalmente.
 * ========================================================= */
.r26-image-text--full-image.r26-image-text--parallax .r26-image-text__media,
.r26-image-text-full-content--parallax .r26-image-text-full-content__media {
    overflow: hidden !important;
}

.r26-image-text--full-image.r26-image-text--parallax .r26-image-text__image,
.r26-image-text-full-content--parallax .r26-image-text-full-content__image {
    --r26-parallax-overscan: 520px;
    position: absolute !important;
    top: calc(var(--r26-parallax-overscan) / -2) !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: calc(100% + var(--r26-parallax-overscan)) !important;
    min-height: 0 !important;
    margin: 0 !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: translate3d(0, var(--r26-image-text-parallax-y, 0px), 0) !important;
    transform-origin: center center !important;
    will-change: transform;
    backface-visibility: hidden;
}

@media (max-width: 991px) {
    .r26-image-text--full-image.r26-image-text--parallax .r26-image-text__image,
    .r26-image-text-full-content--parallax .r26-image-text-full-content__image {
        --r26-parallax-overscan: 340px;
    }
}

@media (max-width: 640px) {
    .r26-image-text--full-image.r26-image-text--parallax .r26-image-text__image,
    .r26-image-text-full-content--parallax .r26-image-text-full-content__image {
        --r26-parallax-overscan: 220px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .r26-image-text--full-image.r26-image-text--parallax .r26-image-text__image,
    .r26-image-text-full-content--parallax .r26-image-text-full-content__image {
        top: 0 !important;
        height: 100% !important;
        transform: none !important;
        will-change: auto;
    }
}


/* =========================================================
 * v1.0.23 — cierre correcto del contenido
 *
 * Mantiene el padding definido por cada layout (64px en los clásicos,
 * 50px en full-content, 32px en móvil, etc.). Solo neutraliza márgenes
 * propios del último nodo del editor para que no sumen espacio adicional.
 * ========================================================= */
.r26-image-text,
.r26-image-text-full-content {
    margin-bottom: 0 !important;
}

.r26-image-text__content,
.r26-image-text-full-content__content {
    height: auto;
    max-height: none;
    margin-bottom: 0 !important;
}

.r26-image-text__editor,
.r26-image-text-full-content__editor {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: break-word;
}

.r26-image-text__editor > :last-child,
.r26-image-text-full-content__editor > :last-child,
.r26-image-text__editor > :last-child > :last-child,
.r26-image-text-full-content__editor > :last-child > :last-child {
    margin-bottom: 0 !important;
}


/* v1.0.23: los párrafos realmente vacíos no deben sumar altura visual. */
.r26-image-text__editor > p:empty,
.r26-image-text-full-content__editor > p:empty {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* =========================================================
 * v1.0.25 — borde vertical ligado a la caja de contenido
 *
 * No usar height:auto en estos <img> absolutos: al ser recursos
 * PNG verticales, el navegador recupera su relación intrínseca
 * y la línea puede crecer cientos de píxeles. La altura se calcula
 * contra la caja para terminar exactamente en su borde inferior.
 * ========================================================= */

/* Imagen izquierda / texto derecha: comienza 3px dentro y acaba al fondo. */
.r26-image-text--image-left:not(.r26-image-text--layout-18):not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
    top: 3px;
    bottom: auto;
    height: calc(100% - 3px);
}

/* Layout 18: sobresale 46px por arriba y termina al fondo de la caja. */
.r26-image-text--layout-18.r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
    top: -46px;
    bottom: auto;
    height: calc(100% + 46px);
}

/* Texto izquierda / imagen derecha: sobresale 28px y termina al fondo. */
.r26-image-text--image-right:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
    top: -28px;
    bottom: auto;
    height: calc(100% + 28px);
}

/* Variante con logo: mismo cierre inferior que la caja. */
.r26-image-text--content-has-logo.r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
    top: 3px;
    bottom: auto;
    height: calc(100% - 3px);
}

@media (max-width: 1199px) and (min-width: 768px) {
    .r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: 3px;
        height: calc(100% - 3px);
    }

    .r26-image-text--image-right:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: -28px;
        height: calc(100% + 28px);
    }
}

@media (max-width: 767px) {
    .r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: 2px;
        height: calc(100% - 2px);
    }

    .r26-image-text--image-right:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: -20px;
        height: calc(100% + 20px);
    }
}


/* ---------------------------------------------------------
 * Alineación vertical opcional de la caja de texto — v1.0.28
 *
 * "default" conserva exactamente la posición de Figma de cada layout.
 * En escritorio, "center" y "bottom" reposicionan únicamente la caja de
 * contenido dentro del lienzo del módulo. Imagen, marcos y anchos 12/16/18
 * permanecen intactos. En tablet/móvil se conserva el flujo responsive
 * original para evitar solapes cuando el contenido se apila.
 * --------------------------------------------------------- */
@media (min-width: 1200px) {
    /*
     * En los layouts clásicos la imagen visible NO ocupa los 719px del lienzo:
     * empieza en y=54px y termina en y=716px (bottom:3px). Por eso centrar
     * contra el 50% del section dejaba la caja unos 25.5px demasiado arriba.
     * El centro visual real de la imagen es y=385px.
     */
    .r26-image-text--valign-center:not(.r26-image-text--full-image):not(.r26-image-text--full-content) .r26-image-text__content {
        position: absolute;
        top: 385px;
        bottom: auto;
        margin-top: 0;
        transform: translateY(-50%);
    }

    /*
     * En imagen completa el área visible empieza en 0 y mide 437px.
     * Su centro real es 218.5px, independientemente del min-height del section.
     */
    .r26-image-text--full-image.r26-image-text--valign-center:not(.r26-image-text--full-content) .r26-image-text__content {
        position: absolute;
        top: 218.5px;
        bottom: auto;
        margin-top: 0;
        transform: translateY(-50%);
    }

    /* Abajo = fondo real de la imagen, no fondo del lienzo general. */
    .r26-image-text--valign-bottom:not(.r26-image-text--full-image):not(.r26-image-text--full-content) .r26-image-text__content {
        position: absolute;
        top: auto;
        bottom: 3px;
        margin-top: 0;
        transform: none;
    }

    .r26-image-text--full-image.r26-image-text--valign-bottom:not(.r26-image-text--full-content) .r26-image-text__content {
        position: absolute;
        top: var(--r26-full-image-height);
        bottom: auto;
        margin-top: 0;
        transform: translateY(-100%);
    }

    /* La variante con logo no puede volver a imponer el margin-top del layout. */
    .r26-image-text--valign-center.r26-image-text--content-has-logo:not(.r26-image-text--full-content) .r26-image-text__content,
    .r26-image-text--valign-bottom.r26-image-text--content-has-logo:not(.r26-image-text--full-content) .r26-image-text__content {
        margin-top: 0;
    }
}

/* =========================================================
 * v1.0.29 — recuperación del remate transparente del marco
 *
 * Los vectores decorativos forman un marco independiente de la caja de
 * contenido. La caja conserva su fondo blanco/gris únicamente hasta su
 * propio borde; las prolongaciones de las líneas quedan fuera de ella y,
 * por tanto, sobre fondo transparente.
 *
 * Referencias Figma:
 * - 201:461 / 201:457: la vertical derecha prolonga aprox. 39px bajo la
 *   horizontal inferior.
 * - 237:373: misma lógica en la variante con logo.
 * - 201:459: la vertical del layout 18 nace 46px por encima de la caja y
 *   termina aprox. 66px por debajo de ella.
 * ========================================================= */
.r26-image-text__content {
    overflow: visible;
}

/* Layouts 12/16 y variante con logo: esquina inferior derecha visible.
 * top:3px + height:(100% + 36px) => final aprox. 39px bajo la caja. */
.r26-image-text--image-left:not(.r26-image-text--layout-18):not(.r26-image-text--full-content) .r26-image-text__content-border--vertical,
.r26-image-text--content-has-logo.r26-image-text--image-left:not(.r26-image-text--layout-18):not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
    top: 3px;
    right: -2.5px;
    bottom: auto;
    left: auto;
    height: calc(100% + 36px);
}

/* Columna 18: el marco empieza arriba y la vertical continúa debajo de la
 * caja como en 201:459 (46px arriba + ~66px abajo). */
.r26-image-text--layout-18.r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
    top: -46px;
    right: -2.5px;
    bottom: auto;
    left: auto;
    height: calc(100% + 112px);
}

/* En imagen a la derecha el marco de Figma nace por encima y termina con la
 * caja; no se crea prolongación inferior adicional. */
.r26-image-text--image-right:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
    top: -28px;
    right: auto;
    bottom: auto;
    left: -2.5px;
    height: calc(100% + 28px);
}

/* Tablet: mantener el mismo remate visual, reducido proporcionalmente. */
@media (max-width: 1199px) and (min-width: 768px) {
    .r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: 3px;
        height: calc(100% + 29px);
    }

    .r26-image-text--layout-18.r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: 3px;
        height: calc(100% + 29px);
    }

    .r26-image-text--image-right:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: -28px;
        height: calc(100% + 28px);
    }
}

/* Móvil: el remate se conserva de forma más corta para no generar huecos
 * excesivos alrededor de la caja apilada. */
@media (max-width: 767px) {
    .r26-image-text--image-left:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: 2px;
        height: calc(100% + 18px);
    }

    .r26-image-text--image-right:not(.r26-image-text--full-content) .r26-image-text__content-border--vertical {
        top: -20px;
        height: calc(100% + 20px);
    }
}

