.elementor-1544 .elementor-element.elementor-element-325a6de{--display:flex;--min-height:100vh;}.elementor-widget-html .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-html .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1544 .elementor-element.elementor-element-8d21f6d{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:6.25rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1544 .elementor-element.elementor-element-5523d01{--display:flex;--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:flex-start;--align-items:center;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );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 );}.elementor-widget-loop-grid .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1544 .elementor-element.elementor-element-29c954c{--grid-columns:1;}.elementor-1544 .elementor-element.elementor-element-29c954c .elementor-repeater-item-038aabe{grid-column:span min( 1, var(--grid-columns) );}.elementor-1544 .elementor-element.elementor-element-d7dc1fb{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:6.875rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1544 .elementor-element.elementor-element-db34f6c{--display:flex;--margin-top:0rem;--margin-bottom:2.5rem;--margin-left:0rem;--margin-right:0rem;}.elementor-widget-heading .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1544 .elementor-element.elementor-element-6e96808{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;text-align:center;}.elementor-1544 .elementor-element.elementor-element-6e96808 .elementor-heading-title{font-family:"area-extended", Sans-serif;font-size:40px;font-weight:600;color:#4F545C;}.elementor-1544 .elementor-element.elementor-element-32c36e2{--grid-columns:3;}.elementor-1544 .elementor-element.elementor-element-32c36e2 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1544 .elementor-element.elementor-element-97c2a73{--display:flex;--margin-top:2.5rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-widget-text-editor .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-1544 .elementor-element.elementor-element-dc09ecb{text-align:center;font-family:"area-normal", Sans-serif;font-size:20px;font-weight:400;}.elementor-widget-image-gallery .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-image-gallery .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-size:var( --e-global-typography-secondary-font-size );font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-image-gallery .gallery-item .gallery-caption{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 );}.elementor-1544 .elementor-element.elementor-element-84a23f3 .gallery-item .gallery-caption{display:none;}.elementor-1544 .elementor-element.elementor-element-3679718{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:6.875rem;--margin-bottom:6.875rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1544 .elementor-element.elementor-element-94d67a7{--display:flex;--margin-top:0rem;--margin-bottom:2.5rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-c2853d5{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;text-align:center;}.elementor-1544 .elementor-element.elementor-element-c2853d5 .elementor-heading-title{font-family:"area-extended", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-text );}.elementor-1544 .elementor-element.elementor-element-3731c81{--grid-columns:3;}.elementor-1544 .elementor-element.elementor-element-3731c81 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1544 .elementor-element.elementor-element-908c1fc{--display:flex;--margin-top:2.5rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-d9429cf{text-align:center;font-family:"area-normal", Sans-serif;font-size:20px;font-weight:400;}.elementor-1544 .elementor-element.elementor-element-dc7a9f5 .gallery-item .gallery-caption{display:none;}.elementor-1544 .elementor-element.elementor-element-8b7d9a0{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1544 .elementor-element.elementor-element-876b0fd{--display:flex;--margin-top:0rem;--margin-bottom:2.5rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-4f4ab1b{margin:0rem 0rem calc(var(--kit-widget-spacing, 0px) + 0rem) 0rem;text-align:center;}.elementor-1544 .elementor-element.elementor-element-4f4ab1b .elementor-heading-title{font-family:"area-extended", Sans-serif;font-size:40px;font-weight:600;color:var( --e-global-color-text );}.elementor-1544 .elementor-element.elementor-element-887c118{--grid-columns:3;}.elementor-1544 .elementor-element.elementor-element-887c118 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-1544 .elementor-element.elementor-element-ab03611{--display:flex;--margin-top:2.5rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-28c65e1{text-align:center;font-family:"area-normal", Sans-serif;font-size:20px;font-weight:400;}.elementor-1544 .elementor-element.elementor-element-de736cc .gallery-item .gallery-caption{display:none;}.elementor-1544 .elementor-element.elementor-element-d0396d9{--display:flex;--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;--align-items:center;}.elementor-1544 .elementor-element.elementor-element-9a63206{--grid-columns:1;}.elementor-1544 .elementor-element.elementor-element-b6641fa{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}@media(max-width:1150px){.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-1544 .elementor-element.elementor-element-29c954c{--grid-columns:1;}.elementor-1544 .elementor-element.elementor-element-d7dc1fb{--margin-top:6.25rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-db34f6c{--margin-top:0rem;--margin-bottom:1.25rem;--margin-left:0rem;--margin-right:0rem;}.elementor-widget-heading .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-1544 .elementor-element.elementor-element-6e96808 .elementor-heading-title{font-size:24px;}.elementor-1544 .elementor-element.elementor-element-32c36e2{--grid-columns:2;}.elementor-1544 .elementor-element.elementor-element-97c2a73{--margin-top:1.25rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-widget-text-editor .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-1544 .elementor-element.elementor-element-dc09ecb{font-size:16px;}.elementor-widget-image-gallery .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-image-gallery .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-size:var( --e-global-typography-accent-font-size );}.elementor-1544 .elementor-element.elementor-element-3679718{--margin-top:6.25rem;--margin-bottom:6.25rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-94d67a7{--margin-top:0rem;--margin-bottom:1.25rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-c2853d5 .elementor-heading-title{font-size:24px;}.elementor-1544 .elementor-element.elementor-element-3731c81{--grid-columns:2;}.elementor-1544 .elementor-element.elementor-element-908c1fc{--margin-top:1.25rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-d9429cf{font-size:16px;}.elementor-1544 .elementor-element.elementor-element-876b0fd{--margin-top:0rem;--margin-bottom:1.25rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-4f4ab1b .elementor-heading-title{font-size:24px;}.elementor-1544 .elementor-element.elementor-element-887c118{--grid-columns:2;}.elementor-1544 .elementor-element.elementor-element-ab03611{--margin-top:1.25rem;--margin-bottom:0rem;--margin-left:0rem;--margin-right:0rem;}.elementor-1544 .elementor-element.elementor-element-28c65e1{font-size:16px;}.elementor-1544 .elementor-element.elementor-element-9a63206{--grid-columns:1;}}@media(max-width:767px){.elementor-widget-html .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-html .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .elementor-pagination{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-loop-grid .elementor-button{font-size:var( --e-global-typography-accent-font-size );}.elementor-widget-loop-grid .e-load-more-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-1544 .elementor-element.elementor-element-29c954c{--grid-columns:1;}.elementor-widget-heading .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-1544 .elementor-element.elementor-element-32c36e2{--grid-columns:1;}.elementor-widget-text-editor .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-widget-image-gallery .eael-protected-content-message{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-image-gallery .protected-content-error-msg{font-size:var( --e-global-typography-secondary-font-size );}.elementor-widget-image-gallery .gallery-item .gallery-caption{font-size:var( --e-global-typography-accent-font-size );}.elementor-1544 .elementor-element.elementor-element-3731c81{--grid-columns:1;}.elementor-1544 .elementor-element.elementor-element-887c118{--grid-columns:1;}.elementor-1544 .elementor-element.elementor-element-9a63206{--grid-columns:1;}}@media(min-width:768px){.elementor-1544 .elementor-element.elementor-element-5523d01{--width:100%;}.elementor-1544 .elementor-element.elementor-element-d0396d9{--width:100%;}}@media(max-width:1150px) and (min-width:768px){.elementor-1544 .elementor-element.elementor-element-5523d01{--width:100%;}.elementor-1544 .elementor-element.elementor-element-d0396d9{--width:100%;}}/* Start custom CSS for loop-grid, class: .elementor-element-32c36e2 *//* Transformar a grelha nativa numa linha horizontal scrollável */
.slider-container .elementor-loop-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 20px; 
    padding-top: 40px; 
    user-select: none !important; 
    
    /* MAGIA PEEKABOO + SUPORTE PARA MONITORES GIGANTES */
    /* Usa 10vw por norma, mas cresce automaticamente em ecrãs > 1400px para não deformar */
    padding-left: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    padding-right: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    scroll-padding-inline: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    
    -ms-overflow-style: none !important;  
    scrollbar-width: none !important;     
}

.slider-container .elementor-loop-container::-webkit-scrollbar {
    display: none !important;             
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

/* Encolher as imagens com um LIMITE MÁXIMO para não explodirem no monitor grande */
.slider-container .e-loop-item {
    /* clamp(Mínimo, Ideal, Máximo) - Não as deixa passar de 420px de largura */
    flex: 0 0 clamp(280px, calc((80vw - 40px) / 3), 420px) !important;
    scroll-snap-align: start; 
}

/* --- PREVENIR ARRASTO NATIVO DE IMAGENS (Resolve o bug do Desktop) --- */
.slider-container img, 
.slider-container a {
    -webkit-user-drag: none !important;
    -khtml-user-drag: none !important;
    -moz-user-drag: none !important;
    -o-user-drag: none !important;
    user-drag: none !important;
}

/* --- ESTILO DOS BOTÕES (Paginação) --- */
.custom-pagination {
    position: absolute;
    top: 0;
    
    right: max(10vw, calc((100vw - 1290px) / 2)) !important; 
    
    display: flex;
    gap: 20px;
    z-index: 10;
}

/* Bolinha Inativa (10x10) */
.custom-dot {
    width: 10px !important; 
    height: 10px !important;
    border-radius: 5px !important; /* 5px faz um círculo perfeito para 10x10 */
    border: none !important;
    background-color: rgba(79, 84, 92, 0.5) !important; 
    cursor: pointer;
    padding: 0 !important;
    opacity: 1 !important; 
    transition: all 0.3s ease !important;
}

/* Bolinha Ativa (Formato Pílula 40x10) */
.custom-dot.active {
    background-color: rgba(79, 84, 92, 1) !important; 
    width: 40px !important;
    height: 10px !important;
    border-radius: 5px !important;
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-84a23f3 *//* ==========================================================================
   ELEMENTOR LIGHTBOX CUSTOMIZATION
   ========================================================================== */

/* 1. Cor de fundo do Lightbox */
.dialog-widget-content.dialog-lightbox-widget-content {
    background-color: rgba(79, 84, 92, 0.98) !important;
}

/* 2. Mover o botão de Fechar (X) para o TOPO DIREITO */
.elementor-lightbox .dialog-close-button {
    position: fixed !important;
    top: 30px !important;
    bottom: auto !important;
    left: auto !important;
    right: 6.25rem !important; /* Limpo: removida a redundância do margin-right */
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(79, 84, 92, 0.4) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2) !important;
    transition: all 0.3s ease !important;
    z-index: 9999999 !important;
}

.elementor-lightbox .dialog-close-button i {
    font-size: 20px !important;
    color: #ffffff !important;
}

.elementor-lightbox .dialog-close-button:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    transform: scale(1.1) !important;
    border-color: #ffffff !important;
}

@media only screen and (max-width: 1150px) {
    .elementor-lightbox .dialog-close-button {
        top: auto !important;
        bottom: 80px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
     .elementor-lightbox .dialog-close-button:hover {
        transform: translateX(-50%) !important;
    }
}

/* 3. DESLIGAR AS PARTES INÚTEIS DO ELEMENTOR 
   (Não podemos esconder o elementor-lightbox-header inteiro senão o contador some!) */
.elementor-lightbox .elementor-slideshow__footer,
.elementor-lightbox .elementor-slideshow__title,
.elementor-lightbox .elementor-slideshow__description,
.elementor-lightbox .elementor-lightbox-header-actions {
    display: none !important;
}

/* 4. ESTILO E POSIÇÃO DO CONTADOR NATIVO DO ELEMENTOR (Ao Centro) */
.elementor-lightbox .swiper-pagination-fraction {
    position: fixed !important;
    bottom: 30px !important; 
    top: auto !important; 
    
    /* Centramento perfeito */
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: max-content !important; 
    text-align: center !important;
    
    /* Tipografia (com !important para forçar sobre o Elementor) */
    font-family: 'Area Extended', sans-serif !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: normal !important; 
    letter-spacing: normal !important;
    color: #ffffff !important;
    
    z-index: 9999999 !important;
    pointer-events: none !important; 
}

@media only screen and (max-width: 1150px) {
    .elementor-lightbox .swiper-pagination-fraction {
        bottom: 200px!important;
    }
}

/* 5. AFASTAR A IMAGEM PRINCIPAL PARA NÃO BATER NA FITA */
.elementor-lightbox .elementor-lightbox-item {
    padding-bottom: 120px !important; 
}

/* 6. O NOSSO NOVO CONTENTOR ABSOLUTO (gallery-footer) */
.gallery-footer {
    position: fixed !important; 
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: auto !important;
    padding: 20px 0 30px 0 !important;
    background: linear-gradient(0deg, rgba(30,30,30,0.8) 0%, rgba(30,30,30,0) 100%) !important; 
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    z-index: 9999998 !important;
    pointer-events: none !important; 
}

/* 7. A FITA DE MINIATURAS DENTRO DO GALLERY-FOOTER */
.custom-lightbox-thumbs {
    display: flex !important;
    gap: 15px !important;
    max-width: 90vw !important;
    overflow-x: auto !important;
    pointer-events: auto !important; 
    padding-bottom: 10px !important;
    scrollbar-width: none !important; 
    -ms-overflow-style: none !important;
}

.custom-lightbox-thumbs::-webkit-scrollbar {
    display: none !important;
}

.custom-lightbox-thumbs img {
    width: 75px !important;
    height: 75px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    opacity: 0.3 !important; 
    border: 2px solid transparent !important;
    transition: all 0.3s ease !important;
    flex-shrink: 0 !important;
}

.custom-lightbox-thumbs img.active-thumb {
    opacity: 1 !important;
    border-color: #ffffff !important;
    transform: translateY(-5px) !important; 
    box-shadow: 0 10px 20px rgba(0,0,0,0.5) !important;
}

.custom-lightbox-thumbs img:hover {
    opacity: 0.9 !important;
    transform: translateY(-2px) !important;
}


/* 8. MAXIMIZAR O ESPAÇO DA IMAGEM PRINCIPAL */
.elementor-lightbox .swiper-zoom-container {
    width: 100% !important;
    height: 100% !important;
}

.elementor-lightbox .elementor-lightbox-image {
    max-width: 95vw !important; 
    max-height: calc(100vh - 150px) !important; 
    width: auto !important;
    height: auto !important;
    object-fit: contain !important; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d7dc1fb */.color-title {
    color: #4F545C!important;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-3731c81 *//* Transformar a grelha nativa numa linha horizontal scrollável */
.slider-container .elementor-loop-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 20px; 
    padding-top: 40px; 
    user-select: none !important; 
    
    /* MAGIA PEEKABOO + SUPORTE PARA MONITORES GIGANTES */
    /* Usa 10vw por norma, mas cresce automaticamente em ecrãs > 1400px para não deformar */
    padding-left: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    padding-right: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    scroll-padding-inline: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    
    -ms-overflow-style: none !important;  
    scrollbar-width: none !important;     
}

.slider-container .elementor-loop-container::-webkit-scrollbar {
    display: none !important;             
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

/* Encolher as imagens com um LIMITE MÁXIMO para não explodirem no monitor grande */
.slider-container .e-loop-item {
    /* clamp(Mínimo, Ideal, Máximo) - Não as deixa passar de 420px de largura */
    flex: 0 0 clamp(280px, calc((80vw - 40px) / 3), 420px) !important;
    scroll-snap-align: start; 
}

/* --- PREVENIR ARRASTO NATIVO DE IMAGENS (Resolve o bug do Desktop) --- */
.slider-container img, 
.slider-container a {
    -webkit-user-drag: none !important;
    -khtml-user-drag: none !important;
    -moz-user-drag: none !important;
    -o-user-drag: none !important;
    user-drag: none !important;
}

/* --- ESTILO DOS BOTÕES (Paginação) --- */
.custom-pagination {
    position: absolute;
    top: 0;
    
    right: max(10vw, calc((100vw - 1290px) / 2)) !important; 
    
    display: flex;
    gap: 20px;
    z-index: 10;
}

/* Bolinha Inativa (10x10) */
.custom-dot {
    width: 10px !important; 
    height: 10px !important;
    border-radius: 5px !important; /* 5px faz um círculo perfeito para 10x10 */
    border: none !important;
    background-color: rgba(79, 84, 92, 0.5) !important; 
    cursor: pointer;
    padding: 0 !important;
    opacity: 1 !important; 
    transition: all 0.3s ease !important;
}

/* Bolinha Ativa (Formato Pílula 40x10) */
.custom-dot.active {
    background-color: rgba(79, 84, 92, 1) !important; 
    width: 40px !important;
    height: 10px !important;
    border-radius: 5px !important;
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-dc7a9f5 *//* ==========================================================================
   ELEMENTOR LIGHTBOX CUSTOMIZATION
   ========================================================================== */

/* 1. Cor de fundo do Lightbox */
.dialog-widget-content.dialog-lightbox-widget-content {
    background-color: rgba(79, 84, 92, 0.98) !important;
}

/* 2. Mover o botão de Fechar (X) para o TOPO DIREITO */
.elementor-lightbox .dialog-close-button {
    position: fixed !important;
    top: 30px !important;
    bottom: auto !important;
    left: auto !important;
    right: 6.25rem !important; /* Limpo: removida a redundância do margin-right */
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(79, 84, 92, 0.4) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2) !important;
    transition: all 0.3s ease !important;
    z-index: 9999999 !important;
}

.elementor-lightbox .dialog-close-button i {
    font-size: 20px !important;
    color: #ffffff !important;
}

.elementor-lightbox .dialog-close-button:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    transform: scale(1.1) !important;
    border-color: #ffffff !important;
}

@media only screen and (max-width: 1150px) {
    .elementor-lightbox .dialog-close-button {
        top: auto !important;
        bottom: 80px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
     .elementor-lightbox .dialog-close-button:hover {
        transform: translateX(-50%) !important;
    }
}

/* 3. DESLIGAR AS PARTES INÚTEIS DO ELEMENTOR 
   (Não podemos esconder o elementor-lightbox-header inteiro senão o contador some!) */
.elementor-lightbox .elementor-slideshow__footer,
.elementor-lightbox .elementor-slideshow__title,
.elementor-lightbox .elementor-slideshow__description,
.elementor-lightbox .elementor-lightbox-header-actions {
    display: none !important;
}

/* 4. ESTILO E POSIÇÃO DO CONTADOR NATIVO DO ELEMENTOR (Ao Centro) */
.elementor-lightbox .swiper-pagination-fraction {
    position: fixed !important;
    bottom: 30px !important; 
    top: auto !important; 
    
    /* Centramento perfeito */
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: max-content !important; 
    text-align: center !important;
    
    /* Tipografia (com !important para forçar sobre o Elementor) */
    font-family: 'Area Extended', sans-serif !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: normal !important; 
    letter-spacing: normal !important;
    color: #ffffff !important;
    
    z-index: 9999999 !important;
    pointer-events: none !important; 
}

@media only screen and (max-width: 1150px) {
    .elementor-lightbox .swiper-pagination-fraction {
        bottom: 200px!important;
    }
}

/* 5. AFASTAR A IMAGEM PRINCIPAL PARA NÃO BATER NA FITA */
.elementor-lightbox .elementor-lightbox-item {
    padding-bottom: 120px !important; 
}

/* 6. O NOSSO NOVO CONTENTOR ABSOLUTO (gallery-footer) */
.gallery-footer {
    position: fixed !important; 
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: auto !important;
    padding: 20px 0 30px 0 !important;
    background: linear-gradient(0deg, rgba(30,30,30,0.8) 0%, rgba(30,30,30,0) 100%) !important; 
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    z-index: 9999998 !important;
    pointer-events: none !important; 
}

/* 7. A FITA DE MINIATURAS DENTRO DO GALLERY-FOOTER */
.custom-lightbox-thumbs {
    display: flex !important;
    gap: 15px !important;
    max-width: 90vw !important;
    overflow-x: auto !important;
    pointer-events: auto !important; 
    padding-bottom: 10px !important;
    scrollbar-width: none !important; 
    -ms-overflow-style: none !important;
}

.custom-lightbox-thumbs::-webkit-scrollbar {
    display: none !important;
}

.custom-lightbox-thumbs img {
    width: 75px !important;
    height: 75px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    opacity: 0.3 !important; 
    border: 2px solid transparent !important;
    transition: all 0.3s ease !important;
    flex-shrink: 0 !important;
}

.custom-lightbox-thumbs img.active-thumb {
    opacity: 1 !important;
    border-color: #ffffff !important;
    transform: translateY(-5px) !important; 
    box-shadow: 0 10px 20px rgba(0,0,0,0.5) !important;
}

.custom-lightbox-thumbs img:hover {
    opacity: 0.9 !important;
    transform: translateY(-2px) !important;
}


/* 8. MAXIMIZAR O ESPAÇO DA IMAGEM PRINCIPAL */
.elementor-lightbox .swiper-zoom-container {
    width: 100% !important;
    height: 100% !important;
}

.elementor-lightbox .elementor-lightbox-image {
    max-width: 95vw !important; 
    max-height: calc(100vh - 150px) !important; 
    width: auto !important;
    height: auto !important;
    object-fit: contain !important; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-3679718 */.color-title {
    color: #4F545C!important;
}/* End custom CSS */
/* Start custom CSS for loop-grid, class: .elementor-element-887c118 *//* Transformar a grelha nativa numa linha horizontal scrollável */
.slider-container .elementor-loop-container {
    display: flex !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    gap: 20px; 
    padding-top: 40px; 
    user-select: none !important; 
    
    /* MAGIA PEEKABOO + SUPORTE PARA MONITORES GIGANTES */
    /* Usa 10vw por norma, mas cresce automaticamente em ecrãs > 1400px para não deformar */
    padding-left: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    padding-right: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    scroll-padding-inline: max(10vw, calc((100vw - 1300px) / 2)) !important; 
    
    -ms-overflow-style: none !important;  
    scrollbar-width: none !important;     
}

.slider-container .elementor-loop-container::-webkit-scrollbar {
    display: none !important;             
    width: 0 !important;
    height: 0 !important;
    background: transparent !important;
}

/* Encolher as imagens com um LIMITE MÁXIMO para não explodirem no monitor grande */
.slider-container .e-loop-item {
    /* clamp(Mínimo, Ideal, Máximo) - Não as deixa passar de 420px de largura */
    flex: 0 0 clamp(280px, calc((80vw - 40px) / 3), 420px) !important;
    scroll-snap-align: start; 
}

/* --- PREVENIR ARRASTO NATIVO DE IMAGENS (Resolve o bug do Desktop) --- */
.slider-container img, 
.slider-container a {
    -webkit-user-drag: none !important;
    -khtml-user-drag: none !important;
    -moz-user-drag: none !important;
    -o-user-drag: none !important;
    user-drag: none !important;
}

/* --- ESTILO DOS BOTÕES (Paginação) --- */
.custom-pagination {
    position: absolute;
    top: 0;
    
    right: max(10vw, calc((100vw - 1290px) / 2)) !important; 
    
    display: flex;
    gap: 20px;
    z-index: 10;
}

/* Bolinha Inativa (10x10) */
.custom-dot {
    width: 10px !important; 
    height: 10px !important;
    border-radius: 5px !important; /* 5px faz um círculo perfeito para 10x10 */
    border: none !important;
    background-color: rgba(79, 84, 92, 0.5) !important; 
    cursor: pointer;
    padding: 0 !important;
    opacity: 1 !important; 
    transition: all 0.3s ease !important;
}

/* Bolinha Ativa (Formato Pílula 40x10) */
.custom-dot.active {
    background-color: rgba(79, 84, 92, 1) !important; 
    width: 40px !important;
    height: 10px !important;
    border-radius: 5px !important;
}/* End custom CSS */
/* Start custom CSS for image-gallery, class: .elementor-element-de736cc *//* 1. Cor de fundo do Lightbox */
.dialog-widget-content.dialog-lightbox-widget-content {
    background-color: rgba(79, 84, 92, 0.98) !important;
}



/* 2. Mover o botão de Fechar (X) para o TOPO DIREITO */
.elementor-lightbox .dialog-close-button {
    position: fixed !important;
    top: 30px !important;
    bottom: auto !important;
    left: auto !important;
    right: 6.25rem !important; /* Limpo: removida a redundância do margin-right */
    width: 50px !important;
    height: 50px !important;
    border: 1px solid rgba(255, 255, 255, 0.5) !important;
    border-radius: 50% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(79, 84, 92, 0.4) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2) !important;
    transition: all 0.3s ease !important;
    z-index: 9999999 !important;
}

.elementor-lightbox .dialog-close-button i {
    font-size: 20px !important;
    color: #ffffff !important;
}

.elementor-lightbox .dialog-close-button:hover {
    background-color: rgba(255, 255, 255, 0.1) !important;
    transform: scale(1.1) !important;
    border-color: #ffffff !important;
}

@media only screen and (max-width: 1150px) {
    .elementor-lightbox .dialog-close-button {
        top: auto !important;
        bottom: 80px !important;
        left: 50% !important;
        right: auto !important;
        transform: translateX(-50%) !important;
    }
     .elementor-lightbox .dialog-close-button:hover {
        transform: translateX(-50%) !important;
    }
}

/* 3. DESLIGAR AS PARTES INÚTEIS DO ELEMENTOR 
   (Não podemos esconder o elementor-lightbox-header inteiro senão o contador some!) */
.elementor-lightbox .elementor-slideshow__footer,
.elementor-lightbox .elementor-slideshow__title,
.elementor-lightbox .elementor-slideshow__description,
.elementor-lightbox .elementor-lightbox-header-actions {
    display: none !important;
}

/* 4. ESTILO E POSIÇÃO DO CONTADOR NATIVO DO ELEMENTOR (Ao Centro) */
.elementor-lightbox .swiper-pagination-fraction {
    position: fixed !important;
    bottom: 30px !important; 
    top: auto !important; 
    
    /* Centramento perfeito */
    left: 50% !important;
    right: auto !important;
    transform: translateX(-50%) !important;
    width: max-content !important; 
    text-align: center !important;
    
    /* Tipografia (com !important para forçar sobre o Elementor) */
    font-family: 'Area Extended', sans-serif !important;
    font-weight: 800 !important;
    font-size: 16px !important;
    line-height: normal !important; 
    letter-spacing: normal !important;
    color: #ffffff !important;
    
    z-index: 9999999 !important;
    pointer-events: none !important; 
}

@media only screen and (max-width: 1150px) {
    .elementor-lightbox .swiper-pagination-fraction {
        bottom: 200px!important;
    }
}

/* 5. AFASTAR A IMAGEM PRINCIPAL PARA NÃO BATER NA FITA */
.elementor-lightbox .elementor-lightbox-item {
    padding-bottom: 120px !important; 
}

/* 6. O NOSSO NOVO CONTENTOR ABSOLUTO (gallery-footer) */
.gallery-footer {
    position: fixed !important; 
    bottom: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: auto !important;
    padding: 20px 0 30px 0 !important;
    background: linear-gradient(0deg, rgba(30,30,30,0.8) 0%, rgba(30,30,30,0) 100%) !important; 
    display: flex !important;
    justify-content: center !important;
    align-items: flex-end !important;
    z-index: 9999998 !important;
    pointer-events: none !important; 
}

/* 7. A FITA DE MINIATURAS DENTRO DO GALLERY-FOOTER */
.custom-lightbox-thumbs {
    display: flex !important;
    gap: 15px !important;
    max-width: 90vw !important;
    overflow-x: auto !important;
    pointer-events: auto !important; 
    padding-bottom: 10px !important;
    scrollbar-width: none !important; 
    -ms-overflow-style: none !important;
}

.custom-lightbox-thumbs::-webkit-scrollbar {
    display: none !important;
}

.custom-lightbox-thumbs img {
    width: 75px !important;
    height: 75px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    cursor: pointer !important;
    opacity: 0.3 !important; 
    border: 2px solid transparent !important;
    transition: all 0.3s ease !important;
    flex-shrink: 0 !important;
}

.custom-lightbox-thumbs img.active-thumb {
    opacity: 1 !important;
    border-color: #ffffff !important;
    transform: translateY(-5px) !important; 
    box-shadow: 0 10px 20px rgba(0,0,0,0.5) !important;
}

.custom-lightbox-thumbs img:hover {
    opacity: 0.9 !important;
    transform: translateY(-2px) !important;
}


/* 8. MAXIMIZAR O ESPAÇO DA IMAGEM PRINCIPAL */
.elementor-lightbox .swiper-zoom-container {
    width: 100% !important;
    height: 100% !important;
}

.elementor-lightbox .elementor-lightbox-image {
    max-width: 95vw !important; 
    max-height: calc(100vh - 150px) !important; 
    width: auto !important;
    height: auto !important;
    object-fit: contain !important; 
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-8b7d9a0 */.color-title {
    color: #4F545C!important;
}/* End custom CSS */