html{
    scroll-behavior: smooth;
}
:root{

--primary:#f59e0b;
--primary-dark:#d97706;
--secondary:#16a34a;
--dark:#1f2937;
--light:#ffffff;
--text:#4b5563;
--bg:#f8fafc;

}
/* ==========================
   GOOGLE FONT
========================== */
*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    font-family:'Poppins',sans-serif;
}

body{

background:var(--bg);
color:var(--dark);
line-height:1.7;
overflow-x:hidden;

}

.container{

width:min(92%,1250px);
margin:auto;

}

/* ==========================
   HEADER
========================== */

.header{
   background:rgba(255,255,255,.95);
backdrop-filter:blur(12px);
}

.header .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
}

.logo{
    display:flex;
    align-items:center;
    gap:10px;
    font-size:34px;
    font-weight:700;
    color:#f39c12;
}

.logo img{
    width:55px;
    height:55px;
    object-fit:contain;
}

.logo span{
    color:#f39c12;
}

nav ul{
    display:flex;
    list-style:none;
    gap:35px;
}

nav ul li a{

text-decoration:none;
color:#222;
font-weight:600;
transition:.3s;

}

nav ul li a:hover{

color:var(--primary);

}

.call-btn{

background:linear-gradient(135deg,#ffb300,#f57c00);

padding:14px 30px;

border-radius:50px;

color:#fff;

font-weight:700;

transition:.4s;

box-shadow:0 12px 25px rgba(0,0,0,.15);

}

.call-btn:hover{

transform:translateY(-5px);

}

/* ==========================
   HERO
========================== */

.hero{
    padding:150px 0 100px;
    background:linear-gradient(135deg,#fff8ee 0%,#ffffff 50%,#fff4e0 100%);
    position:relative;
    overflow:hidden;
}

.hero-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:60px;
}

.hero-text h1{
    font-size:64px;
    line-height:1.15;
    font-weight:800;
    color:#222;
    margin-bottom:20px;
}

.hero-text h1 span{
    color:#f39c12;
}

.hero-text p{
    font-size:20px;
    color:#666;
    line-height:1.8;
    margin-bottom:35px;
}

.hero-buttons{
    display:flex;
    gap:15px;
    margin-bottom:40px;
}

.primary-btn,
.secondary-btn,
.btn-primary{
    padding:15px 34px;
    border-radius:50px;
    text-decoration:none;
    font-weight:600;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    transition:all .35s ease;
}

.primary-btn,
.btn-primary{
    background:linear-gradient(135deg,#ffb300,#f57c00);
    color:#fff;
    box-shadow:0 10px 25px rgba(245,124,0,.35);
}

.primary-btn:hover,
.btn-primary:hover{
    transform:translateY(-4px);
    box-shadow:0 18px 35px rgba(245,124,0,.45);
}

.secondary-btn{
    border:2px solid #f39c12;
    color:#f39c12;
    background:#fff;
}

.secondary-btn:hover{
    background:#f39c12;
    color:#fff;
    transform:translateY(-4px);
    box-shadow:0 18px 35px rgba(243,156,18,.35);
}

.hero-info{
    display:flex;
    gap:60px;
}

.hero-info h3{
    color:#f39c12;
    font-size:34px;
}

.hero-image img{

width:100%;

border-radius:25px;

box-shadow:0 30px 60px rgba(0,0,0,.18);

transition:.4s;

}

.hero-image img:hover{

transform:translateY(-10px);

}

/* ==========================
   ABOUT
========================== */

.about{
    padding:90px 0;
    background:#fafafa;
}

.section-title{
    text-align:center;
    margin-bottom:60px;
}

.section-title h2{
    font-size:42px;
    margin-bottom:15px;
}

.section-title p{
    color:#666;
    max-width:700px;
    margin:auto;
}

.about-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:50px;
    align-items:center;
    margin-bottom:70px;
}

.about-image img{
    width:100%;
    border-radius:18px;
}

.about-content h3{
    font-size:34px;
    margin-bottom:20px;
}

.about-content p{
    color:#666;
    margin-bottom:20px;
}

.about-content ul{
    list-style:none;
    margin-bottom:30px;
}

.about-content ul li{
    margin-bottom:12px;
}

/* ==========================
   ABOUT CARDS
========================== */

.about-grid:last-child{
    grid-template-columns:repeat(3,1fr);
}

.about-card{
    background:#fff;
    text-align:center;
    padding:40px 25px;
    border-radius:15px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
}


.about-card:hover{

transform:translateY(-12px);

box-shadow:0 25px 50px rgba(0,0,0,.15);

}



.about-card p{
    color:#666;
}

/* ==========================
   RESPONSIVE
========================== */

@media(max-width:992px){

.hero-grid,
.about-grid{
grid-template-columns:1fr;
}

.about-grid:last-child{
grid-template-columns:1fr;
}

.hero h1{
font-size:42px;
}

nav{
display:none;
}

.hero-info{
flex-wrap:wrap;
gap:25px;
}

}

/* ==========================
   WHY CHOOSE US
========================== */

.section-title{
    text-align:center;
    margin:70px 0 40px;
}

.section-title h2{
    font-size:40px;
    font-weight:700;
}

.section-title p{
    color:#666;
    margin-top:10px;
}


/* =========================
   WHY CHOOSE SOLAR WALE
========================= */


/* ===========================
   SERVICES SECTION
=========================== */

.services{
    padding:90px 0;
    background:#f8fafc;
}

.services-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

.service-card{
    background:#fff;
    padding:35px 25px;
    border-radius:20px;
    text-align:center;
    overflow:hidden;
    transition:all .4s ease;
    box-shadow:0 15px 35px rgba(0,0,0,.08);
    border:1px solid rgba(243,156,18,.08);
}

.service-card:hover{
    transform:translateY(-12px);
    box-shadow:0 25px 50px rgba(243,156,18,.22);
}

.service-card i{
    font-size:55px;
    color:#f59e0b;
    margin-bottom:20px;
}

.service-card h3{
    margin-bottom:15px;
    font-size:24px;
}

.service-card p{
    color:#666;
}
/* ================= PROJECTS ================= */

.projects{
    padding:80px 0;
    background:#fff;
}

.projects-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
    margin-top:40px;
}

.project-card{

background:#fff;

border-radius:20px;

overflow:hidden;

box-shadow:0 15px 35px rgba(0,0,0,.08);

transition:.4s;

}

.project-card:hover{

transform:translateY(-12px);

box-shadow:0 30px 60px rgba(0,0,0,.15);

}

.project-card img{

width:100%;

height:250px;

object-fit:cover;

transition:.5s;

}

.project-card:hover img{

transform:scale(1.08);

}


/* ================= CONTACT ================= */

.contact{
    padding:80px 0;
    background:#f8f9fb;
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    margin-top:40px;
}

.contact-info h3{
    font-size:30px;
    margin-bottom:20px;
}

.contact-info p{
    margin:15px 0;
    font-size:18px;
}

.contact form{
    display:flex;
    flex-direction:column;
    gap:20px;
}

.contact input,
.contact textarea{

width:100%;

padding:18px;

border:2px solid #eee;

border-radius:12px;

font-size:16px;

transition:.3s;

outline:none;

}

.contact input:focus,
.contact textarea:focus{

border-color:#f39c12;

box-shadow:0 0 15px rgba(243,156,18,.25);

}

.contact textarea{

height:160px;

}

/* ================= FOOTER ================= */

footer{

background:#111827;

padding:35px 0;

color:#fff;

text-align:center;

font-size:15px;

}
/* WhatsApp Floating Button */

.whatsapp{

position:fixed;

right:25px;

bottom:25px;

width:65px;

height:65px;

background:#25D366;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

font-size:34px;

color:#fff;

text-decoration:none;

box-shadow:0 20px 40px rgba(0,0,0,.25);

transition:.35s;

z-index:9999;

animation:float 2.5s infinite;

}

.whatsapp:hover{

transform:scale(1.12);

}

@keyframes float{

0%,100%{transform:translateY(0);}

50%{transform:translateY(-8px);}

}


/* FEATURES */

.features{
    padding:40px 0;
    background:#f8f8f8;
}

.features-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:20px;
}

.feature-box{
    background:#fff;
    padding:35px 25px;
    text-align:center;
    border-radius:20px;
    transition:.4s ease;
    box-shadow:0 12px 35px rgba(0,0,0,.08);
    position:relative;
    overflow:hidden;
    cursor:pointer;
}

.feature-box::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:4px;
    background:#f39c12;
    transition:.4s;
}

.feature-box:hover::before{
    left:0;
}

.feature-box:hover{
    transform:translateY(-12px);
    box-shadow:0 20px 45px rgba(243,156,18,.25);
}

.feature-box i{
    font-size:48px;
    color:#f39c12;
    margin-bottom:20px;
    transition:.3s;
}

.feature-box:hover i{
    transform:rotate(10deg) scale(1.1);
}

.feature-box h4{
    font-size:22px;
    color:#222;
    line-height:1.5;
}

/* ABOUT STATS */

.about-stats{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
    margin-top:40px;
}

.stat-box{
    background:#fff;
    padding:25px;
    border-radius:15px;
    text-align:center;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.stat-box:hover{
    transform:translateY(-8px);
}

.stat-box h3{
    color:#f39c12;
    font-size:34px;
    margin-bottom:10px;
}

.stat-box p{
    font-weight:600;
}

/* ==========================
   PREMIUM ANIMATIONS
========================== */

img{
    max-width:100%;
    display:block;
}

.service-card,
.project-card,
.about-card,
.feature-box,
.stat-box{
    transition:all .35s ease;
}

.service-card:hover,
.project-card:hover,
.about-card:hover,
.feature-box:hover,
.stat-box:hover{
    transform:translateY(-10px);
}

.primary-btn,
.secondary-btn,
.call-btn,
.about-btn{
    transition:all .35s ease;
}

.primary-btn:hover,
.secondary-btn:hover,
.call-btn:hover,
.about-btn:hover{
    transform:translateY(-4px);
}


/* ================= HERO IMAGE EFFECT ================= */

.hero-image{
    position:relative;
    animation:float 4s ease-in-out infinite;
}

.hero-image img{
    filter:drop-shadow(0 25px 40px rgba(243,156,18,.35));
}

@keyframes float{
    0%{transform:translateY(0);}
    50%{transform:translateY(-15px);}
    100%{transform:translateY(0);}
}

.primary-btn{
    box-shadow:0 10px 25px rgba(243,156,18,.35);
}

.primary-btn:hover{
    background:#ffb300;
    transform:translateY(-3px);
}


/*==========================
TESTIMONIALS
==========================*/

.testimonials{
    padding:90px 0;
    background:#f8fafc;
}

.testimonial-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:25px;
    margin-top:50px;
}

.testimonial-card{
    background:#fff;
    padding:35px 30px;
    border-radius:20px;
    box-shadow:0 10px 35px rgba(0,0,0,.08);
    transition:.35s;
    position:relative;
    overflow:hidden;
}

.testimonial-card::before{
    content:"★★★★★";
    position:absolute;
    top:20px;
    right:20px;
    color:#f39c12;
    opacity:.15;
    font-size:26px;
}

.testimonial-card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(243,156,18,.25);
}

.testimonial-card p{
    color:#555;
    line-height:1.8;
    margin-bottom:25px;
    font-size:15px;
}

.testimonial-card h4{
    color:#f39c12;
    font-size:20px;
    margin-bottom:5px;
}

.testimonial-card span{
    color:#777;
    font-weight:600;
}

/*==========================
FAQ
==========================*/

.faq{
    padding:90px 0;
    background:#fff;
}

.faq-box{
    max-width:900px;
    margin:40px auto 0;
}

.faq-box details{
    background:#f8f8f8;
    margin-bottom:15px;
    border-radius:12px;
    padding:18px 22px;
    transition:.3s;
    border-left:5px solid #f39c12;
}

.faq-box details:hover{
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.faq-box summary{
    cursor:pointer;
    font-size:18px;
    font-weight:600;
    color:#222;
    list-style:none;
}

.faq-box summary::-webkit-details-marker{
    display:none;
}

.faq-box p{
    margin-top:15px;
    color:#666;
    line-height:1.8;
}

/*==========================
BRANDS
==========================*/

.brands{
    padding:90px 0;
    background:#f8fafc;
}

.brands-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:25px;
    margin-top:50px;
}

.brand-card{
    background:#fff;
    border-radius:18px;
    padding:25px;
    display:flex;
    justify-content:center;
    align-items:center;
    height:120px;
    box-shadow:0 10px 30px rgba(0,0,0,.08);
    transition:.35s;
}

.brand-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(243,156,18,.20);
}

.brand-card img{
    max-width:130px;
    max-height:60px;
    object-fit:contain;
    filter:grayscale(100%);
    transition:.35s;
}

.brand-card:hover img{
    filter:none;
}

/*==========================
GOOGLE MAP
==========================*/

.map-section{
    padding:90px 0;
    background:#f8fafc;
}

.map-box{
    overflow:hidden;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.12);
}

.map-box iframe{
    display:block;
    width:100%;
}
/*==========================
SOLAR CALCULATOR
==========================*/

.calculator{
    padding:90px 0;
    background:#f8f9fa;
}

.calculator-box{
    max-width:600px;
    margin:auto;
    background:#fff;
    padding:40px;
    border-radius:20px;
    box-shadow:0 15px 40px rgba(0,0,0,.1);
    text-align:center;
}

.calculator-box input{
    width:100%;
    padding:15px;
    border:2px solid #ddd;
    border-radius:10px;
    font-size:18px;
    margin-bottom:20px;
}

.calculator-box button{
    width:100%;
    padding:15px;
    border:none;
    border-radius:10px;
    background:#f39c12;
    color:#fff;
    font-size:18px;
    cursor:pointer;
    transition:.3s;
}

.calculator-box button:hover{
    background:#e67e22;
}

.result{
    margin-top:30px;
}

.result h3{
    margin:15px 0;
    color:#333;
}

/*==========================
BACK TO TOP BUTTON
==========================*/

#topBtn{
    position:fixed;
    bottom:25px;
    right:25px;
    width:55px;
    height:55px;
    border:none;
    border-radius:50%;
    background:#f39c12;
    color:#fff;
    font-size:22px;
    cursor:pointer;
    display:none;
    z-index:999;
    box-shadow:0 10px 25px rgba(0,0,0,.25);
    transition:.3s;
}

#topBtn:hover{
    background:#25D366;
    transform:translateY(-5px);
}

/* =========================
   Floating Buttons
========================= */

.floating-buttons{
    position:fixed;
    right:20px;
    bottom:20px;
    display:flex;
    flex-direction:column;
    gap:15px;
    z-index:9999;
}

.float-btn{
    width:60px;
    height:60px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    color:#fff;
    text-decoration:none;
    font-size:26px;
    box-shadow:0 8px 20px rgba(0,0,0,.25);
    transition:.3s;
}

.float-btn:hover{
    transform:translateY(-5px) scale(1.08);
}

.whatsapp-btn{
    background:#25D366;
}

.call-btn{
    background:#f39c12;
}

/*==========================
LIGHTBOX
==========================*/

.lightbox{

    position:fixed;

    top:0;

    left:0;

    width:100%;

    height:100%;

    background:rgba(0,0,0,.9);

    display:none;

    justify-content:center;

    align-items:center;

    z-index:99999;

}

.lightbox img{

    max-width:90%;

    max-height:90%;

    border-radius:10px;

}

.close-lightbox{

    position:absolute;

    top:30px;

    right:40px;

    font-size:45px;

    color:#fff;

    cursor:pointer;

}

/*==========================
PRELOADER
==========================*/

#preloader{
    position:fixed;
    inset:0;
    background:#ffffff;
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:999999;
}

.loader{
    width:70px;
    height:70px;
    border:6px solid #eee;
    border-top:6px solid #f39c12;
    border-radius:50%;
    animation:spin 1s linear infinite;
}

@keyframes spin{
    100%{
        transform:rotate(360deg);
    }
}

/* ================= MOBILE MENU ================= */

.menu-toggle{
    display:none;
    font-size:28px;
    cursor:pointer;
    color:#222;
}

@media (max-width:768px){

    .menu-toggle{
        display:block;
    }

    .nav-btn{
        display:none;
    }

    .nav-links{
        position:absolute;
        top:80px;
        left:0;
        width:100%;
        background:#fff;
        flex-direction:column;
        align-items:center;
        padding:20px 0;
        box-shadow:0 10px 20px rgba(0,0,0,.1);

        display:none;
    }

    .nav-links.active{
        display:flex;
    }

    .nav-links li{
        margin:15px 0;
    }

}

/* Floating WhatsApp Button */

.whatsapp-float{
position:fixed;
bottom:25px;
right:25px;
width:65px;
height:65px;
background:#25D366;
color:#fff;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
font-size:34px;
text-decoration:none;
box-shadow:0 8px 25px rgba(0,0,0,.25);
z-index:99999;
transition:.3s;
animation:whatsappPulse 2s infinite;
}

.whatsapp-float:hover{
transform:scale(1.12);
background:#20ba5a;
}

@keyframes whatsappPulse{

0%{
box-shadow:0 0 0 0 rgba(37,211,102,.6);
}

70%{
box-shadow:0 0 0 18px rgba(37,211,102,0);
}

100%{
box-shadow:0 0 0 0 rgba(37,211,102,0);
}

}

/* Government Subsidy Banner */

.subsidy-banner{

background:linear-gradient(90deg,#0b7a3b,#16a34a);

padding:35px 0;

color:#fff;

}

.subsidy-grid{

display:flex;

justify-content:space-between;

align-items:center;

gap:20px;

flex-wrap:wrap;

}

.subsidy-banner h2{

font-size:32px;

margin-bottom:10px;

}

.subsidy-banner p{

font-size:18px;

line-height:1.7;

max-width:700px;

}

.subsidy-banner .primary-btn{

background:#fff;

color:#0b7a3b;

font-weight:700;

}

.subsidy-banner .primary-btn:hover{

background:#f5f5f5;

}

/* Quote Form */

.quote-section{

padding:80px 0;

background:#f7f9fc;

}

.quote-form{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(280px,1fr));

gap:20px;

margin-top:40px;

}

.quote-form input,
.quote-form select,
.quote-form textarea{

padding:16px;

border:1px solid #ddd;

border-radius:10px;

font-size:16px;

outline:none;

}

.quote-form textarea{

height:150px;

resize:none;

}

.quote-form button{

grid-column:1/-1;

}