/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Jan 26 2026 | 09:09:51 */
/**
 * ==================================================================================
 * █  LEUK PRODUCT ENGINE — v22.0 (CLEAN STABLE)
 * ==================================================================================
 * * @description  Versão simplificada e estável. Foco em performance e "Look & Feel" sóbrio.
 * * @version      22.0.0
 * * @author       LEUK Development Team
 * * @date         2026-01-26
 * * ==================================================================================
 */

/* ============================================================
   🎛️ 1. PAINEL DE CONFIGURAÇÃO
   ============================================================ */
body .elementor-element.leuk-pro-wrapper {

    /* --- GRELHA --- */
    --pro-cols-desk:      3;       /* Desktop */
    --pro-cols-laptop:    3;       /* Portátil */
    --pro-cols-tablet:    2;       /* Tablet */
    --pro-cols-mobile:    1;       /* Telemóvel */
    
    /* --- ESPAÇAMENTO --- */
    --pro-gap-x:          30px;    /* Horizontal */
    --pro-gap-y:          30px;    /* Vertical */
    
    /* [SISTEMA] Sync Automático */
    --gap: var(--pro-gap-y) var(--pro-gap-x) !important;
    --row-gap: var(--pro-gap-y) !important; --column-gap: var(--pro-gap-x) !important;
    
    /* --- DIMENSÕES --- */
    --pro-img-height:        280px;   /* Altura Imagem */
    --pro-card-min-height:   400px;   /* Altura Mínima Total */
    --pro-grow-last:         1;       /* 1 = Esticar | 0 = Normal */

    /* --- ESTILO DO CARTÃO (NORMAL) --- */
    --pro-bg-card:           #ffffff; 
    --pro-border-width:      1px;     
    --pro-border-color:      #EAEAEA; /* Cinza muito claro */
    --pro-border-radius:     0px;     
    --pro-shadow-idle:       0 5px 15px rgba(0,0,0,0.03); /* Sombra quase invisível */
    
    /* --- ESTILO DO CARTÃO (HOVER) --- */
    /* Escurece levemente a borda */
    --pro-border-hover:      #e3e3e3; 
    /* Aumenta levemente a sombra */
    --pro-shadow-hover:      0 15px 30px rgba(0,0,0,0.08); 
    /* Sobe 3 pixeis (muito subtil) */
    --pro-hover-lift:        -3px;    

    /* --- TEXTO --- */
    --pro-text-padding:      25px 25px 35px 25px; 
    --pro-title-color:       #1a1a1a; 
    --pro-desc-color:        #666666; 
}

/* ============================================================
   ⛔ 2. MOTOR DE LAYOUT
   ============================================================ */

/* WRAPPER PAI */
body .elementor-element.leuk-pro-wrapper {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--pro-gap-y) var(--pro-gap-x) !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    justify-content: flex-start !important; 
    box-sizing: border-box !important;
}

/* CARTÃO */
body .elementor-element.leuk-pro-wrapper .leuk-pro-card {
    /* Cálculo Matemático */
    --gap-count: calc(var(--pro-cols-desk) - 1);
    --gap-total: calc(var(--gap-count) * var(--pro-gap-x));
    flex-basis: calc( ( (100% - var(--gap-total)) / var(--pro-cols-desk) ) - 1px ) !important;
    
    flex-grow: var(--pro-grow-last) !important; 
    flex-shrink: 0 !important;
    
    /* Dimensões */
    height: auto !important; 
    min-height: var(--pro-card-min-height) !important; 
    
    /* Estilo Visual */
    background-color: var(--pro-bg-card);
    border: var(--pro-border-width) solid var(--pro-border-color);
    border-radius: var(--pro-border-radius);
    box-shadow: var(--pro-shadow-idle);
    
    /* Imagem */
    background-size: cover; background-position: center top; background-repeat: no-repeat;
    
    margin: 0 !important; padding: 0 !important;
    box-sizing: border-box !important;
    
    /* Transição Suave (Cor da borda e Sombra) */
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
    overflow: hidden;
    display: flex !important; flex-direction: column !important;
}

/* HOVER (SIMPLIFICADO) */
body .elementor-element.leuk-pro-wrapper .leuk-pro-card:hover {
    transform: translateY(var(--pro-hover-lift)); 
    box-shadow: var(--pro-shadow-hover);
    border-color: var(--pro-border-hover); /* Apenas muda a cor */
    z-index: 10;
}

/* REMOVIDO: ::after (Linha de destaque) para evitar bugs visuais */

/* ============================================================
   📱 3. RESPONSIVIDADE
   ============================================================ */

@media (max-width: 1366px) {
    body .elementor-element.leuk-pro-wrapper .leuk-pro-card {
        --gap-count: calc(var(--pro-cols-laptop) - 1);
        --gap-total: calc(var(--gap-count) * var(--pro-gap-x));
        flex-basis: calc( ( (100% - var(--gap-total)) / var(--pro-cols-laptop) ) - 1px ) !important;
    }
}

@media (max-width: 1024px) {
    body .elementor-element.leuk-pro-wrapper .leuk-pro-card {
        --gap-count: calc(var(--pro-cols-tablet) - 1);
        --gap-total: calc(var(--gap-count) * var(--pro-gap-x));
        flex-basis: calc( ( (100% - var(--gap-total)) / var(--pro-cols-tablet) ) - 1px ) !important;
    }
}

@media (max-width: 767px) {
    body .elementor-element.leuk-pro-wrapper { 
        gap: 30px !important; 
        --gap: 30px !important; 
    }
    body .elementor-element.leuk-pro-wrapper .leuk-pro-card {
        flex-basis: 100% !important; 
        flex-grow: 1 !important; 
        min-height: auto !important;
    }
}

/* ============================================================
   🔧 4. LIMPEZA INTERNA (FIX BUGS)
   ============================================================ */

/* CONTAINER DE TEXTO */
body .elementor-element.leuk-pro-wrapper .leuk-pro-card > .e-con, 
body .elementor-element.leuk-pro-wrapper .leuk-pro-card > .elementor-container, 
body .elementor-element.leuk-pro-wrapper .leuk-pro-card > .elementor-widget-wrap {
    
    margin-top: var(--pro-img-height) !important;
    
    background-color: var(--pro-bg-card) !important;
    padding: var(--pro-text-padding) !important;
    width: 100%;
    flex-grow: 1; 
    
    position: relative; z-index: 10;
    display: flex; flex-direction: column; justify-content: flex-start; align-items: flex-start;
    
    /* Reset total de bordas internas para evitar linhas duplas */
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    
    transform: none !important; transition: none !important;
    border-top: 1px solid transparent !important; 
}

/* LINK GLOBAL */
.leuk-pro-link { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 30; }

/* TÍTULO */
body .elementor-element.leuk-pro-wrapper .leuk-pro-card h3, 
body .elementor-element.leuk-pro-wrapper .leuk-pro-card .elementor-heading-title {
    color: var(--pro-title-color) !important;
    margin-bottom: 12px !important; 
    background: none !important; display: block;
}

/* DESCRIÇÃO */
body .elementor-element.leuk-pro-wrapper .leuk-pro-card .elementor-widget-text-editor,
body .elementor-element.leuk-pro-wrapper .leuk-pro-card p,
.leuk-pro-desc {
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    max-height: none !important;
    overflow: visible !important;
    margin-top: 0 !important;
    color: var(--pro-desc-color) !important;
}

/* REMOVER OVERLAYS */
body .elementor-element.leuk-pro-wrapper .leuk-pro-card::before { display: none !important; }