/*
Theme Name: Hello Elementor Child
Theme URI: https://elementor.com/
Description: Hello Elementor Child Theme
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
*/

.elementor-element.elementor-widget.elementor-widget-theme-post-featured-image.elementor-widget-image {
    /* Mantiene la proporción de la caja (ej. 1:1 para cuadrado perfecto). Escala automáticamente en todas las resoluciones */
    aspect-ratio: 1 / 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;

    img {
        /* contain asegura que la foto vertical u horizontal entre completa sin cortarse */
        object-fit: contain;
        object-position: center;
        width: 100%;
        height: 100%;
    }
}

.vasser-product-linea {
	font-family: 'Work Sans', Arial, sans-serif; 
	font-size: 25px; 
	font-weight: 400; 
	color: #1A2643; 
	margin-bottom: 5px;
}

.vasser-filter-clear {
    margin-top: 10px;
}

.vasser-clear-btn {
    text-decoration: underline !important;
    color: #6b6b6b;

    &:hover {
        text-decoration: none !important;
        color: #6b6b6b;
    }
}

/* single */

.elementor-share-btn {
	&.elementor-share-btn_whatsapp {
		flex-direction: row-reverse;
		
		&:hover {
			border: solid 1px;
		}
		
		.elementor-share-btn__text {
			padding-inline-end: 0;
			padding-inline-start: 1em;
		}
	}
}

/* somos vasser */

.feature-card {
	font-family: 'Work Sans', sans-serif;
    background: #fff;
    padding: 0;
    display: flex;
    flex-direction: column;
	align-items: center;
      
    @media (min-width: 480px) {
		padding: 2.5rem 2rem 2rem;
		align-items: flex-start;
		max-width: 320px;
    }
}

.feature-icon {
	width: 64px;
    height: 64px;
    margin-bottom: 1.5rem !important;
}

.feature-title {
    font-size: 28px;
    font-weight: 600;
    color: #1a2340;
    margin: 0 0 1.25rem 0 !important;
    line-height: 1.1;
}

.feature-desc {
    font-size: 14px;
    font-weight: 400;
    color: #6b7280;
    line-height: 1.7;
    margin: 0 0 2rem 0 !important;
    letter-spacing: 0.01em;
	text-align: center;
	
	@media (min-width: 480px) {
		text-align: left;
    }
}

.feature-divider {
    border: none !important;
    border-top: 0.5px solid #e0e0e0 !important;
    margin: 0 0 2rem 0 !important;
    padding: 0 !important;
    height: 0 !important;
}

.btn-arrow {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: 'Work Sans', sans-serif;
    font-size: 15px;
    font-weight: 500;
    background: transparent !important;
    color: #1a2340 !important;
    border: 1.5px solid #c0c5d0 !important;
    border-radius: 100px !important;
    width: 48px !important;
    height: 48px !important;
    cursor: pointer;
    transition: background 0.25s, color 0.25s, width 0.25s, padding 0.25s, border-color 0.25s !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    gap: 0;
}

.btn-arrow:hover {
    background: #1a2340 !important;
    color: #fff !important;
    border-color: #1a2340 !important;
    width: 140px !important;
    gap: 10px !important;
    padding: 0 20px !important;
}

.btn-label {
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-width 0.25s, opacity 0.2s;
    font-size: 15px;
}

.btn-arrow:hover .btn-label {
    max-width: 80px;
    opacity: 1;
}

.btn-arrow svg {
    width: 16px !important;
    height: 16px !important;
    flex-shrink: 0;
    transition: transform 0.2s;
}

.btn-arrow:hover svg {
    transform: translateX(2px);
}