@charset "utf-8";
/* CSS Document */
/* ==================================================
   Villas Hero
================================================== */

.villas-hero{
    min-height:80vh;
    display:flex;
    align-items:center;
    position:relative;
    background:
        url('../images/villas-hero.webp')
        center center/cover;
}

.villas-hero .hero-content{
    max-width:760px;
    padding-top:100px;
}

.villas-hero h1{
    margin-top:20px;
    margin-bottom:25px;
}

.villas-hero p{
    max-width:700px;
}

.villas-hero::before{
    content:'';
    position:absolute;
    inset:0;

    background:
        linear-gradient(
            90deg,
            rgba(15,20,15,0.32) 0%,
            rgba(15,20,15,0.22) 35%,
            rgba(15,20,15,0.10) 70%,
            rgba(15,20,15,0.00) 100%
        );
}

.villas-hero .container{
    position:relative;
    z-index:2;
}

.hero-facts{
    margin-top:45px;
    display:flex;
    gap:30px;
    flex-wrap:wrap;
    color:#fff;
    opacity:.9;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
}

@media(max-width:768px){

    .villas-hero{
        min-height:90vh;
		padding-top:40px;
    }

    .villas-hero h1{
        font-size:44px;
        line-height:1.1;
    }

    .villas-hero p{
        font-size:17px;
    }
	
	.hero-buttons { display: none; }
	.hero-facts { display: none; }
}
/* ======================================
   Villas Intro
====================================== */

.villas-intro{
    padding:140px 0;
	background: #FFF;
}

.intro-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:100px;
    align-items:center;
}

.intro-content{
    max-width:580px;
}

.intro-content h2{
    margin:20px 0 30px;
    font-size:48px;
    line-height:1.15;
	font-family: 'Cormorant Garamond',serif;
}

.intro-content p{
    max-width:100%;
    font-size:18px;
    line-height:1.9;
    color:var(--text-light);
}

.intro-buttons{
    margin-top:35px;
}

.intro-image{
    border-radius:35px;
    overflow:hidden;
    box-shadow:
        0 30px 70px rgba(0,0,0,.10);
}

.intro-image img{
    transition:.6s ease;
}

.intro-image:hover img{
    transform:scale(1.03);
}

@media(max-width:992px){

    .intro-grid{
        grid-template-columns:1fr;
        gap:50px;
    }

}

/* ======================================
   Villa Showcase
====================================== */

.villa-showcase{
    padding:130px 0;
	background: #f7f7f3;
}

.villa-grid{
    display:grid;
    grid-template-columns:1.1fr 1fr;
    gap:90px;
    align-items:center;
}

.villa-image{
    overflow:hidden;
    border-radius:35px;
}

.villa-image img{
    width:100%;
    display:block;
    border-radius:35px;
    transition:.6s;
}

.villa-showcase:hover
.villa-image img{
    transform:scale(1.04);
}

.villa-content h2{
    margin:20px 0 30px;
	font-family: 'Cormorant Garamond',serif;
	font-size: 38px;
}

.villa-content p{
    margin-bottom:35px;
}

.villa-features{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    list-style:none;
    margin-bottom:40px;
}

.villa-features li{
    display:flex;
    align-items:center;
    gap:12px;
}

.villa-features i{
    color:var(--primary);
    width:24px;
}

.villa-buttons{
    display:flex;
    gap:18px;
    flex-wrap:wrap;
}

.alt-bg{
    background:#f8f8f5;
}

.villa-grid.reverse{
    grid-template-columns:1fr 1.1fr;
}

.villa-grid.reverse .villa-content{
    order:1;
}

.villa-grid.reverse .villa-image{
    order:2;
}

@media(max-width:992px){

    .villa-grid,
    .villa-grid.reverse{
        grid-template-columns:1fr;
        gap:50px;
    }

    .villa-features{
        grid-template-columns:1fr;
    }

    .villa-grid.reverse .villa-image{
        order:1;
    }

    .villa-grid.reverse .villa-content{
        order:2;
    }

}

/* ======================================
   Compare Villas
====================================== */

.compare-section{
    padding:130px 0;
    background:#f8f8f5;
}

.compare-table-wrapper{
    overflow-x:auto;
}

.compare-table{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-radius:35px;
    overflow:hidden;
    box-shadow:
        0 20px 50px rgba(0,0,0,.06);
}

.compare-table th{
    background:var(--primary);
    color:#fff;
    padding:30px;
    font-weight:600;
    text-align:left;
}

.compare-table td{
    padding:28px 30px;
    border-bottom:1px solid #eee;
}

.compare-table tbody tr:last-child td{
    border-bottom:none;
}

.compare-table tbody tr:hover{
    background:#fafaf7;
}

.villa-badge{
    display:inline-block;
    background:#edf3ed;
    color:var(--primary);
    padding:8px 18px;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
}

.compare-cta{
    margin-top:50px;
    display:flex;
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

/* ======================================
   COMPARE VILLAS - MOBILE
====================================== */

@media(max-width:768px){

    .compare-section{
        padding:80px 0;
    }

    .compare-table-wrapper{
        width:100%;
        overflow-x:auto;
        -webkit-overflow-scrolling:touch;
        padding-bottom:10px;
    }

    .compare-table{
        display:table;
        min-width:680px;
        border-radius:20px;
    }

    .compare-table th,
    .compare-table td{
        padding:20px 18px;
        font-size:14px;
    }

    .compare-cta{
        margin-top:35px;
        flex-direction:column;
    }

    .compare-cta a{
        width:100%;
        text-align:center;
    }

}




/* ======================================
   Villas CTA
====================================== */

.villas-cta{
    position:relative;
    padding:170px 0;

    background:
        url('../images/cta.webp')
        center center/cover no-repeat;

    overflow:hidden;
}

.villas-cta::before{
    content:'';

    position:absolute;
    inset:0;

    background:
        linear-gradient(
            rgba(18,28,22,.68),
            rgba(18,28,22,.60)
        );

    z-index:1;
}

.villas-cta .container{
    position:relative;
    z-index:2;
}

.villas-cta .cta-content{
    max-width:850px;
    margin:0 auto;
    text-align:center;
}

.villas-cta h2{
    color:#fff;
    margin:25px 0;
}

.villas-cta p{
    color:rgba(255,255,255,.88);
    max-width:700px;
    margin:0 auto 45px;
}

.cta-buttons{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:20px;
    flex-wrap:wrap;
}

@media(max-width:768px){

    .villas-cta{
        padding:120px 0;
    }

    .cta-buttons{
        flex-direction:column;
    }

    .cta-buttons a{
        width:260px;
        text-align:center;
    }

}
