*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Cairo', sans-serif;
}

body{
    background:#f4f4f4;
}

/* ================= NAVBAR ================= */

.navbar{
    position:absolute;
    top:0;
    right:0;
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 7%;
    z-index:1000;
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
}
.logo img{
    width: 200px;
}
.logo h3{
    font-size:18px;
    font-weight:800;
}

.logo span{
    font-size:11px;
    letter-spacing:2px;
}

.nav-links{
    list-style:none;
    display:flex;
    gap:35px;
}

.nav-links a{
    text-decoration:none;
    color:#000;
    font-weight:600;
}

.booking-btn{
    background:#f7a928;
    padding:12px 30px;
    border-radius:30px;
    text-decoration:none;
    color:#fff;
    font-weight:700;
}

/* ================= HERO ================= */

.hero{
    height:100vh;
    background:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1900&q=100") center/cover no-repeat;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
}

.overlay{
    position:absolute;
    width:100%;
    height:100%;
    background:rgba(255,255,255,0.65);
}

.hero-content{
    position:relative;
    z-index:2;
    max-width:900px;
}

.script-title{
    font-family:'Great Vibes', cursive;
    color:#d9a124;
    font-size:55px;
    margin-bottom:10px;
}

.hero h1{
    font-size:48px;
    font-weight:800;
    color:#000;
    margin-bottom:40px;
}

/* Black Pill */

.contact-pill{
    background:#111;
    color:#fff;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:15px;
    padding:18px 40px;
    border-radius:50px;
    margin-bottom:25px;
    box-shadow:0 10px 25px rgba(0,0,0,0.15);
}

.contact-pill .icon{
    width:45px;
    height:45px;
    background:#f7a928;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
}

/* Location */

.location{
    font-size:15px;
    color:#333;
}

.location i{
    margin-left:5px;
}

/* ================= RESPONSIVE ================= */

@media(max-width:992px){
    .nav-links{
        display:none;
    }

    .hero h1{
        font-size:32px;
    }

    .script-title{
        font-size:40px;
    }

    .contact-pill{
        padding:14px 25px;
    }

}
/* ================= MOBILE NAV ================= */

.menu-toggle{
    display:none;
    font-size:22px;
    cursor:pointer;
}

.mobile-menu{
    position:fixed;
    top:0;
    right:-100%;
    width:280px;
    height:100vh;
    background:#111;
    color:#fff;
    padding:30px;
    transition:0.4s ease;
    z-index:2000;
}

.mobile-menu ul{
    list-style:none;
    margin-top:50px;
}

.mobile-menu li{
    margin-bottom:25px;
}

.mobile-menu a{
    color:#fff;
    text-decoration:none;
    font-size:18px;
}

.mobile-menu.active{
    right:0;
}

.close-btn{
    text-align:left;
    font-size:20px;
    cursor:pointer;
}

.overlay-menu{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
    display:none;
    z-index:1500;
}

.overlay-menu.active{
    display:block;
}

/* Responsive */

@media(max-width:992px){

    .nav-links{
        display:none;
    }

    .menu-toggle{
        display:block;
    }

    .booking-btn{
        display:none;
    }
}
.search-section{
    padding:60px 7%;
    background:#f2f2f2;
}

.search-header{
    text-align:right;
    font-weight:600;
    margin-bottom:15px;
}

.search-bar{
    background:linear-gradient(90deg,#000,#1a1a1a);
    border-radius:50px;
    padding:10px 20px;
    display:flex;
    align-items:center;
    gap:20px;
    color:#fff;
}

/* location part */

.location-box{
    display:flex;
    align-items:center;
    gap:15px;
    background:#111;
    padding:10px 20px;
    border-radius:40px;
}

.loc-icon{
    width:45px;
    height:45px;
    background:#f7a928;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    color:#000;
}

.arrow-icon{
    width:35px;
    height:35px;
    background:#f7a928;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:14px;
    color:#000;
}

.loc-text small{
    font-size:12px;
    color:#ccc;
}

/* search input */

.search-input-wrapper{
    flex:1;
    display:flex;
    align-items:center;
    gap:10px;
}

.search-input-wrapper input{
    flex:1;
    background:transparent;
    border:none;
    outline:none;
    color:#fff;
    font-size:15px;
}

/* categories */

.category-header{
    margin-top:30px;
    margin-bottom:15px;
    font-weight:600;
}

.categories{
    display:grid;
    grid-template-columns: repeat(5,1fr);
    gap: 20px;
    gap:15px;
    flex-wrap:wrap;
}

.cat{
    background:#111;
    color:#fff;
    padding:15px 30px;
    border-radius:12px;
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    transition:.3s;
}

.cat i{
    font-size:18px;
}

.cat.active,
.cat:hover{
    background:#f7a928;
    color:#000;
}
@media(max-width:992px){

    .search-bar{
        flex-direction:column;
        border-radius:25px;
        gap:15px;
    }

    .location-box{
        width:100%;
        justify-content:space-between;
    }

}
/* location dropdown */

.location-box{
    position:relative;
    cursor:pointer;
}

.loc-left{
    display:flex;
    align-items:center;
    gap:15px;
}

.location-dropdown{
    position:absolute;
    top:65px;
    right:0;
    width:220px;
    background:#111;
    border-radius:15px;
    padding:10px;
    display:none;
    flex-direction:column;
    gap:8px;
    box-shadow:0 10px 25px rgba(0,0,0,0.3);
    z-index:100;
    animation:fadeDown .3s ease;
}

.location-dropdown.active{
    display:flex;
}

.loc-option{
    padding:10px;
    border-radius:10px;
    transition:.2s;
}

.loc-option:hover{
    background:#f7a928;
    color:#000;
}

/* click animation */

.cat, .search-btn, .location-box{
    transition:transform .15s ease;
}

.cat:active,
.search-btn:active,
.location-box:active{
    transform:scale(0.95);
}

/* animation keyframe */

@keyframes fadeDown{
    from{
        opacity:0;
        transform:translateY(-10px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

/* horizontal scroll mobile */

@media(max-width:768px){

    .categories{
        overflow-x:auto;
        flex-wrap:nowrap;
        padding-bottom:10px;
    }

    .categories::-webkit-scrollbar{
        height:4px;
    }

    .categories::-webkit-scrollbar-thumb{
        background:#ccc;
        border-radius:10px;
    }

    .cat{
        flex:0 0 auto;
    }

}
.units-section{
    padding:60px 5%;
    direction:rtl;
}

.units-container{
    display: flex;
    gap: 40px;
    align-items: flex-start;
    flex-direction: row-reverse;
}


/* GRID */
.units-grid{
   flex: 3;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 20px;
}

/* CARD */
.unit-card{
    background:#000;
    border-radius:20px;
    overflow:hidden;
    color:#fff;
    position:relative;
}

.unit-image{
    position:relative;
}

.unit-image img{
    width:100%;
    height:200px;
    object-fit:cover;
}

.building-icon{
    position:absolute;
    top:10px;
    right:10px;
    background:#fff;
    color:#000;
    padding:8px;
    border-radius:50%;
    font-size:14px;
}

.unit-content{
    padding:20px;
}

.location{
    font-size:14px;
    color:#aaa;
}

.type{
    color:#f4a51c;
    margin:5px 0 10px;
}

.bottom-row{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.details{
    font-size:13px;
    background:#111;
    padding:6px 12px;
    border-radius:20px;
}

.plus-btn{
    border:1px solid #fff;
    width:35px;
    height:35px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    transition:.3s;
}

.plus-btn:hover{
    background:#f4a51c;
    border:none;
}

/* FILTER */
.filter-panel{
    background:linear-gradient(180deg,#111,#222);
    padding:40px 30px;
    border-radius:30px;
    color:#fff;
    position:relative;
    flex: 1.2;
}
.filter-item{
    border-bottom:1px solid rgba(255,255,255,.2);
    padding:15px 0;
    display:flex;
    justify-content:space-between;
    cursor:pointer;
    transition:.3s;
}

.filter-item:hover{
    color:#f4a51c;
}

.results{
    margin-top:30px;
}

.results span{
    color:#f4a51c;
    font-size:14px;
}

.results h2{
    margin:5px 0 20px;
}

.show-btn{
    width:100%;
    padding:15px;
    background:#f4a51c;
    border:none;
    border-radius:50px;
    font-weight:bold;
    cursor:pointer;
    transition:.3s;
}

.show-btn:hover{
    background:#ffb733;
}
@media(max-width:992px){

    .units-container{
        grid-template-columns:1fr;
    }

    .units-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .filter-panel{
        order:-1;
        width: 100%;
    }

}

@media(max-width:576px){

    .units-grid{
        grid-template-columns:1fr;
    }

}
@media (max-width:992px){
    .units-container{
        flex-direction: column;
    }

    .units-grid{
        grid-template-columns: repeat(2,1fr);
    }
}

@media (max-width:576px){
    .units-grid{
        grid-template-columns: 1fr;
    }
}
.footer{
    background:#f5f5f5;
    padding:60px 5%;
    direction: rtl;
}

.footer-container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
    flex-wrap:wrap;
}

.footer-col{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.footer-col h4{
    font-size:16px;
    color:#caa33c;
    margin-bottom:10px;
}

.footer-col ul{
    list-style:none;
    padding:0;
    margin:0;
}

.footer-col ul li a{
    text-decoration:none;
    color:#333;
    font-size:14px;
    transition:.3s;
}

.footer-col ul li a:hover{
    color:#caa33c;
}

/* Logo */
.logo-col img{
    width:110px;
}

/* Map */
.map-col img{
    width:70px;
    height:70px;
    object-fit:cover;
}

/* Contact Section */
.contact-col p{
    font-size:14px;
    color:#555;
}

.contact-btn{
    background:#f4a51c;
    border:none;
    padding:12px 40px;
    border-radius:50px;
    font-weight:bold;
    cursor:pointer;
    transition:.3s;
}

.contact-btn:hover{
    background:#ffb733;
}
@media(max-width:992px){

    .footer-container{
        flex-direction:row;
        align-items:center;
        text-align:center;
    }

}
