.elementor-129 .elementor-element.elementor-element-9730ff8{--display:flex;--min-height:110vh;--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;--overflow:hidden;--overlay-opacity:0.5;--border-radius:0px 0px 35px 35px;--margin-top:-140px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-129 .elementor-element.elementor-element-9730ff8:not(.elementor-motion-effects-element-type-background), .elementor-129 .elementor-element.elementor-element-9730ff8 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://bellavistasatelite.com.mx/wp-content/uploads/2026/03/Fraccionamiento-Bellavista-Satelite-Parque-05.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-129 .elementor-element.elementor-element-9730ff8::before, .elementor-129 .elementor-element.elementor-element-9730ff8 > .elementor-background-video-container::before, .elementor-129 .elementor-element.elementor-element-9730ff8 > .e-con-inner > .elementor-background-video-container::before, .elementor-129 .elementor-element.elementor-element-9730ff8 > .elementor-background-slideshow::before, .elementor-129 .elementor-element.elementor-element-9730ff8 > .e-con-inner > .elementor-background-slideshow::before, .elementor-129 .elementor-element.elementor-element-9730ff8 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:#1A1A1A;--background-overlay:'';}.elementor-129 .elementor-element.elementor-element-9730ff8::before{filter:brightness( 100% ) contrast( 100% ) saturate( 100% ) blur( 0px ) hue-rotate( 0deg );}.elementor-129 .elementor-element.elementor-element-9730ff8.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-129 .elementor-element.elementor-element-c46e90f{--display:flex;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:150px;}.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-129 .elementor-element.elementor-element-0741e19 .elementor-heading-title{font-family:"Fjalla One", Sans-serif;font-size:6rem;font-weight:300;color:var( --e-global-color-accent );}.elementor-129 .elementor-element.elementor-element-8bcd4ff{--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;--overflow:hidden;--border-radius:35px 35px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:100px;--padding-bottom:100px;--padding-left:0px;--padding-right:0px;}.elementor-129 .elementor-element.elementor-element-8bcd4ff:not(.elementor-motion-effects-element-type-background), .elementor-129 .elementor-element.elementor-element-8bcd4ff > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-129 .elementor-element.elementor-element-0ed685d{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:150px;--padding-right:150px;}.elementor-129 .elementor-element.elementor-element-93b3f67{text-align:center;}.elementor-129 .elementor-element.elementor-element-93b3f67 .elementor-heading-title{font-family:"Fjalla One", Sans-serif;font-size:5rem;font-weight:300;color:#DFC781;}.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-129 .elementor-element.elementor-element-6d63d26{text-align:center;font-family:"Rubik", Sans-serif;font-size:1.1rem;font-weight:500;color:var( --e-global-color-text );}.elementor-129 .elementor-element.elementor-element-b05576f{--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;--overflow:hidden;--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-129 .elementor-element.elementor-element-b05576f.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-129 .elementor-element.elementor-element-637ede1{--display:flex;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-129 .elementor-element.elementor-element-0741e19 .elementor-heading-title{font-size:5rem;}.elementor-129 .elementor-element.elementor-element-0ed685d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-129 .elementor-element.elementor-element-93b3f67{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-129 .elementor-element.elementor-element-93b3f67 .elementor-heading-title{font-size:3.5rem;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-129 .elementor-element.elementor-element-6d63d26{font-size:1rem;}}@media(min-width:768px){.elementor-129 .elementor-element.elementor-element-9730ff8{--width:103.46%;}.elementor-129 .elementor-element.elementor-element-b05576f{--width:100.246%;}}@media(max-width:767px){.elementor-129 .elementor-element.elementor-element-9730ff8{--min-height:50vh;--border-radius:0px 0px 0px 0px;--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-129 .elementor-element.elementor-element-c46e90f{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}.elementor-129 .elementor-element.elementor-element-0741e19 .elementor-heading-title{font-size:4rem;}.elementor-129 .elementor-element.elementor-element-8bcd4ff{--padding-top:50px;--padding-bottom:25px;--padding-left:0px;--padding-right:0px;}.elementor-129 .elementor-element.elementor-element-0ed685d{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-129 .elementor-element.elementor-element-93b3f67 .elementor-heading-title{font-size:2rem;}.elementor-widget-text-editor{font-size:var( --e-global-typography-text-font-size );}.elementor-129 .elementor-element.elementor-element-6d63d26{font-size:0.7rem;}}/* Start custom CSS for html, class: .elementor-element-aa059d7 */body {
            overflow-x: hidden;
        }

        /* GALERÍA 1: Grid Masonry con efecto reveal */
        .gallery-section {
            padding: 100px 5%;
            min-height: 100vh;
        }

        .gallery-title {
            text-align: center;
            font-size: 5rem;
            font-weight: bold;
            font-family: "Fjalla One" !important;
            margin-bottom: 60px;
            text-transform: uppercase;
            letter-spacing: 3px;
            color: #DFC781;
        }

        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 150px;
        }

        .gallery-item {
            position: relative;
            overflow: hidden;
            border-radius: 15px;
            cursor: pointer;
            aspect-ratio: 4/3;
        }

        .gallery-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            transition: transform 0.5s ease;
        }

        .gallery-item:hover img {
            transform: scale(1.1);
        }

        .gallery-item::after {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(to bottom, transparent 50%, rgba(0,0,0,0.7) 100%);
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .gallery-item:hover::after {
            opacity: 1;
        }


/* GALERÍA 2 v2: Carrusel Manual */
.carousel-container {
    overflow: hidden;
    padding: 100px 0 80px;
    background: #ffffff;
    width: 100%;
}

.carousel-viewport {
    overflow: hidden;
    padding: 20px 0;
}

.carousel-track-v2 {
    display: flex;
    gap: 24px;
    transition: transform 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    will-change: transform;
    padding: 0 8%;
}

.carousel-item-v2 {
    flex-shrink: 0;
    width: 380px;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 10px 40px rgba(0,0,0,0.12);
    background: #fff;
}

.carousel-item-v2 img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.carousel-item-v2:hover img {
    transform: scale(1.05);
}

.carousel-label {
    position: static;
    background: #ffffff;
    color: #1a1a1a;
    padding: 16px 20px;
    font-weight: 700;
    font-size: 15px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-top: 3px solid #DFC781;
}

/* Controles debajo */
.carousel-controls {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-top: 36px;
    padding: 0 5%;
}

.carousel-btn {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    border: 2px solid #DFC781;
    background: transparent;
    color: #1a1a1a;
    font-size: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.carousel-btn:hover {
    background: #DFC781;
    color: #000;
}

.carousel-btn:disabled {
    opacity: 0.3;
    cursor: default;
}

.carousel-dots {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(26,26,26,0.15);
    border: 1px solid #DFC781;
    cursor: pointer;
    transition: all 0.3s ease;
}

.carousel-dot.active {
    background: #DFC781;
    transform: scale(1.3);
}

@media (max-width: 1024px) {
    .carousel-container {
        padding: 50px 0 60px;
    }
    .carousel-item-v2 {
        width: 320px;
    }
    .carousel-item-v2 img {
        height: 220px;
    }
    .carousel-track-v2 {
        padding: 0 5%;
    }
}

@media (max-width: 768px) {
    .carousel-item-v2 {
        width: 260px;
    }
    .carousel-item-v2 img {
        height: 180px;
    }
    .carousel-track-v2 {
        padding: 0 10%;
        gap: 16px;
    }
    .carousel-btn {
        width: 42px;
        height: 42px;
        font-size: 16px;
    }
}

        /* GALERÍA 3: Mosaico Diagonal */
        .diagonal-gallery {
            padding: 100px 5%;
            background: #1a1a1a;
        }

        .diagonal-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 15px;
            transform: rotate(-5deg);
            margin: 0 -10%;
        }

        .diagonal-item {
            aspect-ratio: 1;
            overflow: hidden;
            border-radius: 10px;
            position: relative;
        }

        .diagonal-item img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(100%);
            transition: all 0.5s ease;
        }

        .diagonal-item:hover img {
            filter: grayscale(0%);
            transform: scale(1.15) rotate(5deg);
        }

        /* Items especiales que ocupan más espacio */
        .diagonal-item:nth-child(1) {
            grid-column: span 2;
            grid-row: span 2;
        }

        .diagonal-item:nth-child(5) {
            grid-column: span 2;
        }

        .diagonal-item:nth-child(8) {
            grid-row: span 2;
        }
        
        @media (max-width: 1024px){
            .gallery-title {
                font-size: 3.5rem !important;
            }
            
            .gallery-section {
            padding: 50px 5%;
        }
        
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 50px;
        }
        
        .carousel-container {
            padding: 50px 0;
        }
        
        .diagonal-gallery {
            padding: 50px 5%;
            background: #1a1a1a;
        }
        .diagonal-grid {
                grid-template-columns: repeat(2, 1fr);
                transform: rotate(0deg);
                margin: 0;
            }
        }

        @media (max-width: 768px) {
            .gallery-title {
                font-size: 2rem !important;
            }
            
            .gallery-section {
            padding: 25px 5%;
        }
        
        .gallery-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
            margin-bottom: 10px;
        }
            
            .carousel-item {
                width: 350px;
                height: 250px;
            }

            .diagonal-grid {
                grid-template-columns: repeat(3, 2fr);
                transform: rotate(0deg);
                margin: 0;
            }
        }/* End custom CSS */