/*
 * bloques/imagen-texto/estilos.css
 *
 * Las columnas, el orden y la alineación se inyectan inline desde el
 * template porque dependen de la instancia. Aquí, el resto.
 */

.bl-imgtxt-grid {
    display: grid;
    gap: clamp(28px, 5vw, 96px);
    align-items: stretch;
}

/* Imagen: 4:3 y esquinas redondeadas. La foto llena la caja (cubrir); si el
   texto es más alto que la foto, la caja crece con él. */
.bl-imgtxt-img {
    position: relative;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 8px;
    background: var(--vk-crema-2, #efe9e1);
}
.bl-imgtxt-img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

/* Hueco de la imagen mientras no se ha subido. */
.bl-imgtxt .bl-imgtxt-hueco {
    position: absolute;
    inset: 0;
    border: 1px solid currentColor;
    border-radius: inherit;
    opacity: .2;
}

/* Etiqueta sobre la imagen: píldora oscura abajo a la izquierda. */
.bl-imgtxt-etiqueta {
    position: absolute;
    left: clamp(14px, 1.6vw, 22px);
    bottom: clamp(14px, 1.6vw, 22px);
    z-index: 1;
    max-width: calc(100% - 2 * clamp(14px, 1.6vw, 22px));
    padding: 10px 18px;
    border-radius: 999px;
    background: var(--vk-oscuro, #262524);
    color: #fff;
    font-family: var(--fuente-mono, ui-monospace, monospace);
    font-size: 12.5px;
    letter-spacing: .06em;
    line-height: 1.3;
    text-transform: uppercase;
}

/* Contenido */
.bl-imgtxt .bl-imgtxt-antetitulo { margin: 0 0 16px; }

.bl-imgtxt .bl-imgtxt-titulo {
    margin: 0 0 clamp(18px, 1.8vw, 26px);
    font-size: clamp(24px, 2.3vw, 32px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.01em;
    color: inherit;
    text-wrap: balance;
}
.bl-imgtxt .bl-imgtxt-titulo strong { font-weight: 700; }

.bl-imgtxt .bl-imgtxt-texto { font-size: 17px; line-height: 1.6; color: var(--vk-texto-2, #5f5c58); }
.bl-imgtxt-texto p { margin: 0 0 1em; }
.bl-imgtxt-texto > :last-child { margin-bottom: 0; }
.bl-imgtxt-texto strong { color: var(--vk-texto, #262524); }
.bl-imgtxt-texto a:not(.boton, .enlace-accion) { color: var(--vk-texto, #262524); text-decoration: underline; text-decoration-color: var(--vk-amarillo, #dfbe2d); }
.bl-tema-oscuro .bl-imgtxt-texto { color: rgba(255, 255, 255, .72); }
.bl-tema-oscuro .bl-imgtxt-texto strong, .bl-tema-oscuro .bl-imgtxt-texto a:not(.boton, .enlace-accion) { color: #fff; }

/* Un H3 dentro del texto («Encabezado 3» en el editor) es el titular fuerte
   de la columna; con el botón «Resaltado», parte en subrayado amarillo. */
.bl-imgtxt-texto h3 {
    margin: clamp(22px, 2.4vw, 34px) 0 clamp(14px, 1.6vw, 22px);
    font-size: clamp(28px, 2.9vw, 40px);
    font-weight: 700;
    line-height: 1.12;
    letter-spacing: -.02em;
    color: var(--vk-texto, #262524);
    text-wrap: balance;
}
.bl-imgtxt-texto > h3:first-child { margin-top: 0; }
.bl-tema-oscuro .bl-imgtxt-texto h3 { color: #fff; }

/* Frase destacada al final: en negrita, con un filete encima. */
.bl-imgtxt-destacado {
    margin-top: clamp(24px, 2.6vw, 36px);
    padding-top: clamp(24px, 2.6vw, 36px);
    border-top: 1px solid var(--vk-linea, rgba(38, 37, 36, .14));
    font-size: 17px;
    font-weight: 700;
    line-height: 1.45;
}
.bl-imgtxt-destacado p { margin: 0 0 .4em; }
.bl-imgtxt-destacado > :last-child { margin-bottom: 0; }
.bl-tema-oscuro .bl-imgtxt-destacado { border-top-color: rgba(255, 255, 255, .16); }

.bl-imgtxt-cta { margin: clamp(22px, 2.4vw, 32px) 0 0; }

/*
 * La regla de enlaces del texto enriquecido subraya cualquier <a>, y un boton
 * subrayado se lee como un enlace roto.
 */
.bl-imgtxt .boton,
.bl-imgtxt .boton:hover { text-decoration: none; }
