/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700&family=Poppins:wght@300;400;500;600&display=swap'); 


/* ======================================================
ALPRA INTERIORS - STYLE.CSS
Luxury Modern Theme
====================================================== */

/* Reset */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    color:#333;
    background:#ffffff;
    overflow-x:hidden;
    line-height:1.7;
}

/* ===========================
   Colors
=========================== */

:root{

    --primary:#111111;
    --secondary:#C8A96A;
    --white:#ffffff;
    --light:#f8f8f8;
    --text:#555555;

}

/* ===========================
Typography
=========================== */

h1,h2,h3,h4,h5{
    font-family:'Playfair Display',serif;
    font-weight:700;
    color:var(--primary);
}

p{
    color:var(--text);
}

.section-padding{
    padding:100px 0;
}

.section-tag{

    color:var(--secondary);
    font-size:14px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;

}

/* ===========================
Navbar
=========================== */

.navbar{

    padding:18px 0;
    transition:.4s;
    background:rgba(0,0,0,.55);
    backdrop-filter:blur(25px);
    height:80px;

}

.navbar-brand img{
    width: 65px;
    border-radius:30px;
    height:60px;
}

.navbar-brandname{
    color:#dcac00ec;
    font-size:25px;
    font-weight:600;
    margin-left:10px;
    margin-top:15px;
    font-family:'Playfair Display',serif;
}

.navbar-nav .nav-link{
    color:#fff;
    margin-left:25px;
    font-weight:500;
    transition:.3s;
}

.navbar-nav .nav-link:hover{
    color:var(--secondary);
}

/*dropdown list*/

            ul li{
                display: inline-block;
                padding: 10px;
            }
            ul li:hover{
                color: white;
            }
            .dropdown{
                display: none;
            }
            ul li:hover .dropdown{
                display: block;
                position: absolute;
                margin-left: -20px;
                margin-top: 25px;
                background-color: black;
                
            }
            .dropdown ul{
                margin:0;
                padding:0;
            }
            .dropdown ul li{
                display:block;
            }


/* ===========================
Buttons
=========================== */

.btn-gold{

    background:var(--secondary);
    color:#fff;
    border-radius:40px;
    padding:14px 30px;
    border:none;
    transition:.4s;

}

.btn-gold:hover{

    background:#b88b43;
    color:#fff;
    transform:translateY(-3px);

}

.btn-outline-light{
    border-radius:40px;
    padding:14px 30px;

}

/* ===========================
Hero
=========================== */

.hero{

    background: linear-gradient(rgba(0,0,0,.60), rgba(0,0,0,.60)), url("../images/hero-bg.jpg");

    background-size:cover;
    background-position:center;
    min-height:100vh;

    display:flex;
    align-items:center;

}

.hero h1{

    color:#fff;
    font-size:64px;
    line-height:1.15;

}

.hero p{

    color:#ddd;
    margin:25px 0;

}

.subtitle{

    color:var(--secondary);
    letter-spacing:2px;
    text-transform:uppercase;
    font-weight:600;

}

.hero-image{

    animation:float 4s ease-in-out infinite;

}

@keyframes float{

0%{

transform:translateY(0);

}

50%{

transform:translateY(-15px);

}

100%{

transform:translateY(0);

}

}

.hero-buttons{

margin-top:35px;

}

.hero-buttons .btn{

margin-right:15px;

}

/* Hero Stats */

.hero-stats{

display:flex;
gap:40px;
margin-top:60px;

}

.hero-stats h3{

color:var(--secondary);
font-size:34px;

}

.hero-stats p{

color:#fff;
font-size:15px;

}

/* Hero Slider */

.hero-slider-image{

height:100vh;

object-fit:cover;

filter:brightness(.45);

}

.carousel-caption{

bottom:20%;

text-align:left;

max-width:650px;

}

.carousel-caption h1{

font-size:72px;

color:#fff;

margin:20px 0;

}

.carousel-caption p{

font-size:20px;

color:#fff;

margin-bottom:35px;

}

.carousel-caption .btn{

margin-right:15px;

}

/* ===========================
About
=========================== */

.about img{

border-radius:20px;

}

.about h2{

font-size:46px;
margin-bottom:25px;
}

.about-list{

list-style:none;
padding:0;
margin-top:20px;

}

.about-list li{

margin-bottom:15px;
font-size:17px;

}

/* Image Hover */

.about img{

transition:.5s;

}

.about img:hover{

transform:scale(1.03);

}

.about p{
    text-align:justify;
    }
/*SERVICES */

/*==============================
        SERVICES
==============================*/

.services{

    padding:100px 0;
    background:#f8f9fb;

}

.services-grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:30px;

    margin-top:60px;

}

.service-card{

    background:#fff;

    border-radius:18px;

    padding:35px;

    box-shadow:0 15px 40px rgba(0,0,0,.08);

    transition:.4s;

    border-top:5px solid #C8A96A;
    overflow: hidden;

}

.service-card:hover{

    transform:translateY(-10px);

    box-shadow:0 25px 50px rgba(0,0,0,.15);

}

.service-card h3{

    font-size:24px;

    margin-bottom:20px;
    
    color:#222;

}

.service-card h3 i{

    color:#C8A96A;

    margin-right:10px;

}

.service-card ul{

    margin:0;

    padding-left:18px;

}

.service-card li{

    margin-bottom:10px;
    margin-right: 50px;
    line-height:1.7;

    color:#555;

}

.service-card li::marker{

    color:#C8A96A;

}
.service-content h3{
    text-align: center;
    margin-top: 10px;

}

.service-content img{
    width:100%;
    object-fit:cover;
    width:100%;
    aspect-ratio:4/3;
    object-fit:cover;
    border-radius:15px 15px 0 0;
}

.service-content p{
    font-family: Georgia, 'Times New Roman', Times, serif;
    text-align: center;
}


/* Bottom two cards occupy half width each */

.wide-card{

    grid-column:span 1;

}

.section-header h2{

    font-size:42px;

    margin-bottom:15px;

}

.section-subtitle{

    color:#C8A96A;

    font-weight:600;

    letter-spacing:2px;

}

/*==========================================
WHY CHOOSE US
==========================================*/

.why-us{
    background:#fff;
}

.why-us h2{
    font-size:46px;
    margin-bottom:20px;
}

.why-us h5{
    color:#222;
    font-size:20px;
}

.why-us img{
    border-radius:20px;
    transition:.5s;
}

.why-us img:hover{
    transform:scale(1.03);
}

/*==============================
TESTIMONIALS
==============================*/

.testimonials{
background:#fff;
}

.testimonial-card{

background:#fff;
padding:35px;
border-radius:20px;
box-shadow:0 10px 35px rgba(0,0,0,.08);
text-align:center;
transition:.4s;

}

.testimonial-card:hover{

transform:translateY(-10px);

}

.client-img{

width:90px;
height:90px;
border-radius:50%;
object-fit:cover;
margin-bottom:20px;
border:4px solid #C8A96A;

}

.location{

color:#999;
margin-bottom:15px;

}

/*====================================
OUR PROCESS
=====================================*/

.process{
    background:#f8f8f8;
}

.process-card{
    background:#fff;
    padding:40px 25px;
    text-align:center;
    border-radius:20px;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    position:relative;
    transition:.4s;
    height:100%;
}

.process-card:hover{
    transform:translateY(-12px);
    box-shadow:0 25px 45px rgba(0,0,0,.15);
}

.process-number{
    position:absolute;
    top:20px;
    right:20px;
    font-size:40px;
    font-weight:700;
    color:rgba(200,169,106,.15);
}

.process-icon{
    width:90px;
    height:90px;
    margin:auto;
    margin-bottom:25px;
    border-radius:50%;
    background:#C8A96A;
    display:flex;
    justify-content:center;
    align-items:center;
}

.process-icon i{
    color:#fff;
    font-size:36px;
}

.process-card h4{
    margin-bottom:15px;
    font-size:26px;
}

.process-card p{
    color:#666;
}

/*==========================
CTA BANNER
==========================*/

.cta-banner{

background:#111;
padding:80px 0;

}

.cta-banner h2{

color:#fff;
font-size:48px;

}

.cta-banner p{

color:#ddd;
margin-top:20px;

}

.cta-banner .btn{

padding:16px 35px;
border-radius:40px;
font-weight:600;

}


/*==========================================
PORTFOLIO
==========================================*/

.portfolio{
    background:#f8f8f8;
}

.portfolio img{
    width:100%;
    border-radius:20px;
    transition:.4s;
    cursor:pointer;
}

.portfolio img:hover{
    transform:scale(1.05);
    box-shadow:0 15px 35px rgba(0,0,0,.18);
}

/*=============================
PORTFOLIO
==============================*/

.portfolio{

background:#fff;

}

.portfolio-filter button{

border:none;
background:#eee;
padding:12px 25px;
margin:5px;
border-radius:30px;
transition:.3s;
font-weight:600;

}

.portfolio-filter button.active,
.portfolio-filter button:hover{

background:#C8A96A;
color:#fff;

}

.portfolio-card{

position:relative;
overflow:hidden;
border-radius:20px;
}

.portfolio-card img{

width:100%;
height:320px;
object-fit:cover;
transition:.5s;

}

.portfolio-card:hover img{

transform:scale(1.08);

}

.portfolio-overlay{

position:absolute;
left:0;
bottom:-100%;
width:100%;
padding:30px;
background:rgba(0,0,0,.75);
color:#fff;
transition:.4s;

}

.portfolio-card:hover .portfolio-overlay{

bottom:0;

}

.portfolio-overlay h4 {

color:#fff;

}

.portfolio-overlay p {

color: whitesmoke;
font-family: Georgia, 'Times New Roman', Times, serif;

}

/*Photo Gallery*/

.img-container{
    width: 100%;
    margin-top: -70px;
    bottom:auto;
    text-align: center;
}

.top-content h1{
    font-weight: normal;
    font-size: 35px;
    position: relative;
    margin: 40px 0;
}
.top-content h1::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 3px;
    background-color: crimson;
    bottom: -10px;
    left: 50%;
    transform: translate(-50%);
    animation: animate 4s linear infinite;
}

@keyframes animate{
    0%{
        width: 100px;
    }
    50%{
        width: 200px;
    }
    100%{
        width: 100px;
    }
}

.top-content{
    background-color: rgb(243,243,243);
    width: 95%;
    margin: 0 auto 20px auto;
    height: 50px;
    display: flex;
    align-items: center;
    border-radius: 5px;
    box-shadow: 3px 3px 5px lightgray;
}

.top-content label{
    display: inline-block;
    height: 100%;
    margin: 20px;
    margin-left: 125px;
    font-family: Georgia, 'Times New Roman', Times, serif;
    line-height: 50px;
    font-size: 20px;
    color: gray;
    cursor: pointer;
    transition: color .5s;
}

.top-content label:hover{
    color: black;
    background-color: lightgrey;
}

.photo-gallery{
    width:90%;
    margin:auto;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    grid-gap: 20px;
}

.pic{
    margin-top: 20px;
    position:relative;
    height: 230px;
    border-radius: 10px;
    box-shadow: 4px 4px 6px lightgray;
    transition: .5s;
}

.pic img{
    width:100%;
    height:100%;
    border-radius: 10px;
}

#check1:checked ~ .img-container .photo-gallery .pic{
    opacity: 1;
    transform: scale(1);
    position: relative;
    transition: .5s;
}
#chech3:checked ~ .img-container .photo-gallery .residential{
    opacity: 1;
    transform: scale(1);
    position: relative;
    transition: .5s;
}


#check3:checked ~ .img-container .photo-gallery .commercial,
#check3:checked ~ .img-container .photo-gallery .retail,
#check3:checked ~ .img-container .photo-gallery .hotel {
    opacity: 0;
    transform: scale(0);
    position: absolute;
    transition: .0s;
}


#check2:checked ~ .img-container .photo-gallery .commercial{
    opacity: 1;
    transform: scale(1);
    position: relative;
    transition: .5s;
}

#check2:checked ~ .img-container .photo-gallery .residential,
#check2:checked ~ .img-container .photo-gallery .retail,
#check2:checked ~ .img-container .photo-gallery .hotel {
    opacity: 0;
    transform: scale(0);
    position: absolute;
    transition: .0s;
}

#check4:checked ~ .img-container .photo-gallery .retail{
    opacity: 1;
    transform: scale(1);
    position: relative;
    transition: .5s;
}

#check4:checked ~ .img-container .photo-gallery .commercial,
#check4:checked ~ .img-container .photo-gallery .residential,
#check4:checked ~ .img-container .photo-gallery .hotel {
    opacity: 0;
    transform: scale(0);
    position: absolute;
    transition: .0s; 
}

#check5:checked ~ .img-container .photo-gallery .hotel{
    opacity: 1;
    transform: scale(1);
    position: relative;
    transition: .5s;
}

#check5:checked ~ .img-container .photo-gallery .commercial,
#check5:checked ~ .img-container .photo-gallery .retail,
#check5:checked ~ .img-container .photo-gallery .residential {
    opacity: 0;
    transform: scale(0);
    position: absolute;
    transition: .0s;
}



/*=================================
WHY CHOOSE US
=================================*/

.why-choose{
    background:#f9f9f9;
}

.feature-box{
    background:#fff;
    padding:40px 30px;
    border-radius:20px;
    text-align:center;
    transition:.4s;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    height:100%;
}

.feature-box i{
    font-size:55px;
    color:#C8A96A;
    margin-bottom:20px;
}

.feature-box h4{
    margin-bottom:15px;
}

.feature-box:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 45px rgba(0,0,0,.18);
}

/*==========================================
CALL TO ACTION
==========================================*/

.cta{
    background:#111;
    color:#fff;
    padding:100px 0;
    text-align:center;
}

.cta h2{
    color:#fff;
    font-size:48px;
}

.cta p{
    color:#ddd;
    margin:25px auto;
    max-width:700px;
}


/*=================================
CONTACT SECTION
=================================*/

.contact{
    background:#f8f8f8;
}

.contact-form{
    background:#fff;
    padding:40px;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.08);
}

.contact-form .form-control,
.contact-form .form-select{
    height:55px;
    border-radius:12px;
    border:1px solid #ddd;
    box-shadow:none;
}

.contact-form textarea.form-control{
    height:auto;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus{
    border-color:#C8A96A;
    box-shadow:0 0 0 .2rem rgba(200,169,106,.25);
}

.contact-info{
    margin-top:40px;
}

.info-box{
    display:flex;
    align-items:flex-start;
    margin-bottom:25px;
}

.info-box i{
    width:55px;
    height:55px;
    border-radius:50%;
    background:#C8A96A;
    color:#fff;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:22px;
    margin-right:20px;
}

.info-box h5{
    margin-bottom:5px;
}

.info-box p{
    margin:0;
    color:#666;
}

/*==========================================
FOOTER
==========================================*/

footer{
    background:#0d0d0d;
    color:#fff;
    padding:70px 0 30px;
}

footer h3,
footer h5{
    color:#fff;
    margin-bottom:20px;
}

footer p{
    color:#cfcfcf;
    line-height:1.8;
}

footer hr{
    border-color:rgba(255,255,255,.15);
    margin:35px 0;
}

footer a{
    color:#C8A96A;
    text-decoration:none;
}

footer a:hover{
    color:#fff;
}

/* ==============================
   Floating Call Button
============================== */

.call-float{
    position: fixed;
    right: 20px;
    bottom: 170px;      /* Above Instagram */
    width: 58px;
    height: 58px;
    background: #0d6efd;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 26px;
    box-shadow: 0 8px 25px rgba(0,0,0,.25);
    z-index: 9999;
    transition: all .3s ease;
}

.call-float:hover{
    transform: translateY(-5px) scale(1.08);
    background: #0b5ed7;
    color: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

/* Floating Animation */

.call-float,
.instagram-float,
.whatsapp-float{
    animation: floatIcon 3s ease-in-out infinite;
}

@keyframes floatIcon{

    0%{
        transform:translateY(0);
    }

    50%{
        transform:translateY(-6px);
    }

    100%{
        transform:translateY(0);
    }

}

/* Floating Instagram Button */
.instagram-float{
    position: fixed;
    right: 20px;
    bottom: 95px;      /* Above WhatsApp */
    width: 58px;
    height: 58px;
    background: linear-gradient(45deg,#f58529,#dd2a7b,#8134af,#515bd4);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(0,0,0,.25);
    z-index: 9999;
    transition: all .3s ease;
}

.instagram-float:hover{
    transform: translateY(-5px) scale(1.08);
    color: #fff;
    box-shadow: 0 12px 30px rgba(0,0,0,.35);
}

/*==========================================
WHATSAPP BUTTON
==========================================*/

/* Existing WhatsApp Button */
.whatsapp-float{
    position: fixed;
    right: 20px;
    bottom: 20px;
    width: 58px;
    height: 58px;
    background: #25D366;
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    text-decoration: none;
    box-shadow: 0 8px 25px rgba(0,0,0,.25);
    z-index: 9999;
    transition: all .3s ease;
}

.whatsapp-float:hover{
    transform: translateY(-5px) scale(1.08);
    color: #fff;
}
/*==========================================
ANIMATIONS
==========================================*/

.fade-up{
    animation:fadeUp .8s ease forwards;
}

@keyframes fadeUp{

0%{
opacity:0;
transform:translateY(40px);
}

100%{
opacity:1;
transform:translateY(0);
}

}

/*==========================================
RESPONSIVE
==========================================*/

@media(max-width:991px){

.hero{
    text-align:center;
    padding:120px 0;
}

.hero h1{
    font-size:44px;
}

.hero-stats{
    justify-content:center;
    gap:20px;
    flex-wrap:wrap;
}

.about h2,
.why-us h2,
.cta h2{
    font-size:34px;
}

.navbar{
    background:#111;
}

.navbar-nav{
    margin-top:20px;
}

.navbar-nav .nav-link{
    margin-left:0;
    padding:12px 0;
}
}



@media(max-width:768px){

.section-padding{
    padding:70px 0;
}

.hero h1{
    font-size:34px;
}

.hero p{
    font-size:15px;
}

.hero-buttons .btn{
    display:block;
    width:100%;
    margin-bottom:15px;
}

.hero-image{
    margin-top:40px;
}

.hero-stats{
    flex-direction:column;
    align-items:center;
}

.service-card{
    margin-bottom:25px;
}

footer{
    text-align:center;
}

.whatsapp{
    width:55px;
    height:55px;
    font-size:28px;
}

}

@media(max-width:576px){

.navbar-brand img{
    height:50px;
}

.hero{
    min-height:100vh;

padding-top:100px;

display:flex;

align-items:center;
}

.hero h1{
    font-size:30px;
}

.about h2,
.why-us h2,
.cta h2{
    font-size:28px;
}

.btn-gold,
.btn-outline-light{
    padding:12px 24px;
}

.section-tag{
    font-size:12px;
    letter-spacing:1px;
}

}

/* Scroll To Top Button */

.scroll-top{

position:fixed;

right:25px;

bottom:100px;

width:50px;

height:50px;

border:none;

border-radius:50%;

background:#C8A96A;

color:#fff;

font-size:22px;

cursor:pointer;

opacity:0;

visibility:hidden;

transition:.3s;

z-index:999;

box-shadow:0 10px 25px rgba(0,0,0,.25);

}

.scroll-top.show{

opacity:1;

visibility:visible;

}

.scroll-top:hover{

background:#111;

}

/*==================================
About.html 
PAGE BANNER
===================================*/

.page-banner{
background:linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.80)), url("../images/about-banner.jpeg");
background-size:cover;
background-position:center;
padding:180px 0 120px;
text-align:center;
}

.page-banner h1{

color:#fff;
font-size:64px;

}

.page-banner p{

color:#ddd;
font-size:20px;

margin-top:20px;

}
/*==================================
service.html 
SERVICES BANNER
===================================*/


.services-banner{
background:linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)), url("../images/service-banner1.jpeg");
background-size:cover;
background-position:center;
background-position:center;
}

/*==================================
portfolio.html 
PORTFOLIO BANNER
===================================*/

.portfolio-banner{

background:linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)), url("../images/portfolio-banner.jpeg");

background-size:cover;
background-position:center;

}

/*==================================
contact.html 
CONTACT BANNER
===================================*/


.contact-banner{

background:
linear-gradient(rgba(0,0,0,.65), rgba(0,0,0,.65)), url("../images/contact-banner.jpeg");

background-size:cover;
background-position:center;

}

/* Contact Cards */

.contact-card{

display:flex;
align-items:flex-start;
margin-bottom:25px;

}

.contact-card i{

width:60px;
height:60px;
background:#C8A96A;
color:#fff;

display:flex;
justify-content:center;
align-items:center;

border-radius:50%;

font-size:24px;

margin-right:20px;

}

.contact-card h5{

margin-bottom:5px;

}

@media(max-width:991px){

.navbar-brandname{

font-size:18px;

margin-top:12px;

}

.navbar-toggler{

border:none;

}

.navbar-collapse{

padding:20px;

text-align:center;

}

.navbar-nav .nav-link{

padding:15px 0;

}

.btn-gold{

margin-top:15px;

width:100%;

}

}

@media(max-width:768px){

.photo-gallery{

grid-template-columns:1fr;

}

.top-content{

flex-wrap:wrap;

height:auto;

padding:15px;

}

.top-content label{

margin:8px;

font-size:15px;

}

}

.service-box{

display:flex;

flex-direction:column;

height:100%;

}

.service-content{

flex:1;

display:flex;

flex-direction:column;

justify-content:center;

}

footer{

text-align:center;

}

footer p{

margin-bottom:10px;

}

@media(max-width:768px){

footer{

padding:40px 20px;

}

}

table{

display:block;

overflow-x:auto;

}

img{

max-width:100%;

height:auto;

}