/* Card Imagen + Texto Identificativo - Elementor Widget */

/* ─── Eliminar padding del contenedor de Elementor ─────────────────────── */
.elementor-widget-card_imagen_texto,
.elementor-widget-card_imagen_texto .elementor-widget-container {
    overflow: visible !important;
    padding: 0 !important;
}

/* ─── Contenedor principal ─────────────────────────────────────────────── */
/*
 * En index.html, .image-column vive dentro de .content-wrapper (flex row)
 * y tiene flex:1. En Elementor es autónomo, así que necesita padding para
 * que la floating-card (que sale -30px fuera) no quede cortada ni cree
 * espacio en blanco extra.
 */
.elementor-widget-card_imagen_texto .image-column {
    display: flex;
    justify-content: center;
    align-items: center;
    perspective: 1000px;
    padding: 0 0 60px 40px; /* espacio para floating-card: bottom + left */
    width: 100%;
    overflow: visible;
}

/* ─── Wrapper de imagen ────────────────────────────────────────────────── */
.elementor-widget-card_imagen_texto .image-wrapper {
    position: relative;
    max-width: 450px;
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 40px;
    box-shadow: 0 20px 50px -12px color-mix(in srgb, var(--e-global-color-primary) 50%, transparent);
    transform: rotate(5deg);
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    cursor: pointer;
    z-index: 2;
    overflow: visible;
}

@media (max-width: 768px) {
    .elementor-widget-card_imagen_texto .image-wrapper {
        transform: rotate(0deg);
    }
}

.elementor-widget-card_imagen_texto .image-wrapper:hover {
    transform: rotate(0deg) scale(1.02);
    box-shadow: 10px 10px 0px color-mix(in srgb, var(--e-global-color-primary) 80%, transparent);
}

/* ─── Imagen ───────────────────────────────────────────────────────────── */
.elementor-widget-card_imagen_texto .image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 40px;
    display: block;
}

/* ─── Floating card ────────────────────────────────────────────────────── */
.elementor-widget-card_imagen_texto .floating-card {
    position: absolute;
    bottom: -30px;
    left: -30px;
    background: var(--e-global-color-primary);
    color: var(--bn-color-white);
    padding: 1.5rem 2.5rem;
    border-radius: var(--bn-radius-lg);
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-shadow: 0 10px 25px color-mix(in srgb, var(--e-global-color-primary) 40%, transparent);
    transition: transform 0.4s ease;
    z-index: 3;
    transform: rotate(-5deg);
}

.elementor-widget-card_imagen_texto .image-wrapper:hover .floating-card {
    transform: translate(-10px, -10px) rotate(0deg);
}

.elementor-widget-card_imagen_texto .floating-card .number {
    font-size: 4rem;
    font-weight: 900;
    line-height: 1;
    color: var(--bn-color-white);
    font-family: var(--e-global-typography-text-font-family);
}

.elementor-widget-card_imagen_texto .floating-card .label {
    font-size: 1.2rem;
    line-height: 1.2;
    font-weight: 500;
    color: var(--bn-color-white);
    font-family: var(--e-global-typography-text-font-family);
}

/* ─── Responsive ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .elementor-widget-card_imagen_texto .image-column {
        padding: 0 0 50px 0;
    }

    .elementor-widget-card_imagen_texto .image-wrapper {
        max-width: 350px;
    }

    .elementor-widget-card_imagen_texto .floating-card {
        left: 50%;
        transform: translateX(-50%) rotate(0deg);
        bottom: -20px;
        padding: 1rem 2rem;
    }

    .elementor-widget-card_imagen_texto .image-wrapper:hover .floating-card {
        transform: translateX(-50%) translate(-10px, -10px) rotate(0deg);
    }

    .elementor-widget-card_imagen_texto .floating-card .number {
        font-size: 3rem;
    }
}

@media (max-width: 480px) {
    .elementor-widget-card_imagen_texto .image-wrapper {
        max-width: 280px;
    }
}

/* ─── Reveal on scroll ──────────────────────────────────────────────────── */
.reveal-on-scroll {
    opacity: 0;
    transform: translateY(50px);
    transition: all 1s ease-out;
}

.reveal-on-scroll.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Siempre visible dentro del editor de Elementor */
.elementor-editor-active .reveal-on-scroll,
.elementor-editor-preview .reveal-on-scroll {
    opacity: 1 !important;
    transform: none !important;
}
