.elementor-951 .elementor-element.elementor-element-29d7b45{--display:flex;--min-height:0vh;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--align-items:center;--gap:1.2em 0em;--row-gap:1.2em;--column-gap:0em;--border-radius:22px 22px 22px 22px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-951 .elementor-element.elementor-element-29d7b45:not(.elementor-motion-effects-element-type-background), .elementor-951 .elementor-element.elementor-element-29d7b45 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-accent );}.elementor-951 .elementor-element.elementor-element-df32002{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0vw 0vw 0vw 0vw;}.elementor-951 .elementor-element.elementor-element-df32002 img{width:70%;}.elementor-951 .elementor-element.elementor-element-f07938e{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;text-align:start;}.elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri{writing-mode:inherit;}.elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri .elementor-heading-title{writing-mode:inherit;}.elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri div{writing-mode:inherit;}.elementor-951 .elementor-element.elementor-element-f07938e.elementor-element{--align-self:flex-start;}.elementor-951 .elementor-element.elementor-element-f07938e .elementor-heading-title{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-size:var( --e-global-typography-accent-font-size );font-weight:var( --e-global-typography-accent-font-weight );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );color:var( --e-global-color-primary );}.elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > div, .elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > h1, .elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > h2, .elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > h3, .elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > h4, .elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > h5, .elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > h6, .elementor-951 .elementor-element.elementor-element-f07938e.ob-harakiri > p{transform:rotate(0deg);}.elementor-951 .elementor-element.elementor-element-f07938e > div{text-indent:0px;mix-blend-mode:inherit;}.elementor-951 .elementor-element.elementor-element-09a543e{--wcf-duration:1000ms;--wcf-delay:0ms;--wcf-ease:ease;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:start;font-family:var( --e-global-typography-23c9a6b-font-family ), Sans-serif;font-size:var( --e-global-typography-23c9a6b-font-size );font-weight:var( --e-global-typography-23c9a6b-font-weight );line-height:var( --e-global-typography-23c9a6b-line-height );letter-spacing:var( --e-global-typography-23c9a6b-letter-spacing );color:var( --e-global-color-primary );}.elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri{writing-mode:inherit;}.elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri .elementor-heading-title{writing-mode:inherit;}.elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri div{writing-mode:inherit;}.elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > div, .elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > h1, .elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > h2, .elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > h3, .elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > h4, .elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > h5, .elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > h6, .elementor-951 .elementor-element.elementor-element-09a543e.ob-harakiri > p{transform:rotate(0deg);}.elementor-951 .elementor-element.elementor-element-09a543e > div{text-indent:0px;mix-blend-mode:inherit;}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button{background-color:var( --e-global-color-primary );font-family:var( --e-global-typography-39445ba-font-family ), Sans-serif;font-size:var( --e-global-typography-39445ba-font-size );font-weight:var( --e-global-typography-39445ba-font-weight );line-height:var( --e-global-typography-39445ba-line-height );letter-spacing:var( --e-global-typography-39445ba-letter-spacing );fill:var( --e-global-color-text );color:var( --e-global-color-text );border-radius:131px 131px 131px 131px;padding:15px 15px 15px 15px;}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button:hover, .elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button:focus{background-color:var( --e-global-color-secondary );}.elementor-951 .elementor-element.elementor-element-243fb75{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-951 .elementor-element.elementor-element-243fb75.elementor-element{--align-self:flex-end;}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button-content-wrapper{flex-direction:row;}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button .elementor-button-content-wrapper{gap:15px;}@media(max-width:1366px){.elementor-951 .elementor-element.elementor-element-f07938e .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-951 .elementor-element.elementor-element-09a543e{font-size:var( --e-global-typography-23c9a6b-font-size );line-height:var( --e-global-typography-23c9a6b-line-height );letter-spacing:var( --e-global-typography-23c9a6b-letter-spacing );}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button{font-size:var( --e-global-typography-39445ba-font-size );line-height:var( --e-global-typography-39445ba-line-height );letter-spacing:var( --e-global-typography-39445ba-letter-spacing );}}@media(max-width:1024px){.elementor-951 .elementor-element.elementor-element-f07938e .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-951 .elementor-element.elementor-element-09a543e{font-size:var( --e-global-typography-23c9a6b-font-size );line-height:var( --e-global-typography-23c9a6b-line-height );letter-spacing:var( --e-global-typography-23c9a6b-letter-spacing );}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button{font-size:var( --e-global-typography-39445ba-font-size );line-height:var( --e-global-typography-39445ba-line-height );letter-spacing:var( --e-global-typography-39445ba-letter-spacing );}}@media(max-width:880px){.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button{padding:10px 10px 10px 10px;}}@media(max-width:767px){.elementor-951 .elementor-element.elementor-element-29d7b45{--width:100%;--gap:1em 1em;--row-gap:1em;--column-gap:1em;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0vw;--padding-bottom:0vw;--padding-left:0vw;--padding-right:0vw;}.elementor-951 .elementor-element.elementor-element-f07938e .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-951 .elementor-element.elementor-element-09a543e{font-size:var( --e-global-typography-23c9a6b-font-size );line-height:var( --e-global-typography-23c9a6b-line-height );letter-spacing:var( --e-global-typography-23c9a6b-letter-spacing );}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button{font-size:var( --e-global-typography-39445ba-font-size );line-height:var( --e-global-typography-39445ba-line-height );letter-spacing:var( --e-global-typography-39445ba-letter-spacing );}}@media(min-width:768px){.elementor-951 .elementor-element.elementor-element-29d7b45{--width:97%;}}@media(min-width:2400px){.elementor-951 .elementor-element.elementor-element-f07938e .elementor-heading-title{font-size:var( --e-global-typography-accent-font-size );line-height:var( --e-global-typography-accent-line-height );letter-spacing:var( --e-global-typography-accent-letter-spacing );}.elementor-951 .elementor-element.elementor-element-09a543e{font-size:var( --e-global-typography-23c9a6b-font-size );line-height:var( --e-global-typography-23c9a6b-line-height );letter-spacing:var( --e-global-typography-23c9a6b-letter-spacing );}.elementor-951 .elementor-element.elementor-element-243fb75 .elementor-button{font-size:var( --e-global-typography-39445ba-font-size );line-height:var( --e-global-typography-39445ba-line-height );letter-spacing:var( --e-global-typography-39445ba-letter-spacing );}}/* Start custom CSS for container, class: .elementor-element-29d7b45 *//* 1. Contenedor Principal */
.producto-general {
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); /* Transición más fluida */
    padding: 20px;
    border-radius: 10px;
    background: transparent;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 400px; /* Mantén un tamaño fijo inicial para que no salte */
    overflow: hidden;
}

/* 2. La Imagen (Cambiamos width por transform para evitar saltos) */
.imagen-producto img {
    transition: transform 0.5s ease;
    width: 100%; /* Ajustado al contenedor */
    max-width: 250px; /* Controla el tamaño aquí */
    height: auto;
}

/* 3. La Descripción (El secreto está en la visibilidad) */
.descripcion-producto {
    opacity: 0;
    max-height: 0; 
    transform: translateY(10px);
    transition: all 0.4s ease;
    text-align: center;
    visibility: hidden; /* Evita que el mouse lo detecte antes de tiempo */
}

/* --- EFECTO HOVER SIN SALTOS --- */

.producto-general:hover {
    background: #F9F9F9 !important;
    box-shadow: 0px 10px 30px rgba(0,0,0,0.08);
}

/* Usamos scale en lugar de cambiar el width */
.producto-general:hover .imagen-producto img {
    transform: scale(1.05); 
}

.producto-general:hover .descripcion-producto {
    visibility: visible;
    opacity: 1;
    max-height: 150px; /* Un valor fijo para que la transición sea calculable */
    transform: translateY(0);
    margin-top: 20px; /* Espacio suave */
}
/* --- RESPONSIVE PARA PRODUCTOS --- */

@media (max-width: 1024px) {
    /* 1. Ajuste del Contenedor en Tablet */
    .producto-general {
        min-height: 320px; /* Reducimos altura para que quepan más en pantalla */
        padding: 15px;
    }

    /* 2. Imagen un poco más pequeña para dejar aire */
    .imagen-producto img {
        max-width: 200px;
    }

    /* 3. En dispositivos táctiles, es mejor que la descripción ya sea visible 
       o que el área de expansión sea menor para no desplazar otros elementos */
    .descripcion-producto {
        opacity: 0.9; /* Un poco visible para dar una pista de que hay texto */
        visibility: visible; 
        max-height:80px; /* Limitamos el alto en tablet */
        font-size: 0.9em; /* Texto un poco más pequeño */
    }
}

@media (max-width: 767px) {
    /* 1. Contenedor en Mobile */
    .producto-general {
        min-height: auto; /* Que el alto lo defina el contenido */
        padding: 20px 10px;
        margin-bottom: 15px;
        background: #F9F9F9; /* En mobile, mejor dejar el fondo fijo, el hover no se nota */
        border: 1px solid #eee;
    }

    /* 2. Imagen alineada para móviles */
    .imagen-producto img {
        max-width: 160px;
    }

    /* 3. Descripción siempre visible en Mobile */
    /* El efecto hover es molesto en móviles porque requiere un "tap" para mostrarse */
    .descripcion-producto {
        opacity: 1 !important;
        visibility: visible !important;
        max-height: none !important; /* Que muestre todo el texto */
        transform: translateY(0) !important;
        margin-top: 15px !important;
    }
    
    /* Desactivamos la escala del hover en mobile para evitar saltos visuales */
    .producto-general:hover .imagen-producto img {
        transform: none !important;
    }
}/* End custom CSS */