
:root{
    --primary:#0056A6;
    --secondary:#1E88E5;
    --dark:#333333;
    --light:#F5F7FA;
    --white:#FFFFFF;
    --grey:#777777;
    --shadow:0 8px 20px rgba(0,0,0,.1);
    --radius:10px;
    --transition:.3s ease;
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    background:var(--light);
    color:var(--dark);
    line-height:1.6;
}

img{
    max-width:100%;
    display:block;
}

a{
    text-decoration:none;
}

ul{
    list-style:none;
}

section{
    padding:70px 8%;
}

h1,h2,h3,h4{
    margin-bottom:15px;
}

p{
    color:#555;
}

/* ================= NAVBAR ================= */

header{
    position:sticky;
    top:0;
    z-index:1000;
    background:#fff;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
}

.navbar{
    max-width:1300px;
    margin:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 30px;
}

.logo{
    display:flex;
    align-items:center;
    gap:15px;
}

.logo img{
    width:60;
    height:60;
    object-fit:cover;
}

.logo h2{
    color:var(--primary);
    margin-bottom:0;
}

.logo p{
    font-size:13px;
}

.nav-links{
    display:flex;
    gap:25px;
}

.nav-links a{
    color:#333;
    font-weight:500;
    transition:.3s;
}

.nav-links a:hover,
.nav-links .active{
    color:var(--primary);
}

.nav-icons{
    display:flex;
    align-items:center;
    gap:20px;
}

.nav-icons a{
    color:var(--primary);
    font-size:22px;
    position:relative;
}

#cart-count{
    position:absolute;
    top:-8px;
    right:-10px;
    background:red;
    color:#fff;
    width:18px;
    height:18px;
    border-radius:50%;
    font-size:11px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.menu-btn{
    display:none;
    font-size:26px;
    cursor:pointer;
}

/* ================= HERO ================= */

.hero{
    display:grid;
    grid-template-columns:1fr 1fr;
    align-items:center;
    gap:60px;
    min-height:85vh;
}

.hero-content h1{
    font-size:3.2rem;
    color:var(--primary);
}

.hero-content p{
    margin:25px 0;
    font-size:18px;
}

.hero-image img{
    border-radius:15px;
    box-shadow:var(--shadow);
}

/* ================= BUTTONS ================= */

.btn{
    display:inline-block;
    padding:14px 35px;
    background:var(--primary);
    color:#fff;
    border-radius:8px;
    margin-right:15px;
    transition:.3s;
}

.btn:hover{
    background:var(--secondary);
    transform:translateY(-3px);
}

.btn-outline{
    display:inline-block;
    padding:14px 35px;
    border:2px solid var(--primary);
    color:var(--primary);
    border-radius:8px;
    transition:.3s;
}

.btn-outline:hover{
    background:var(--primary);
    color:#fff;
}

.btn-small{
    display:inline-block;
    margin-top:15px;
    padding:10px 20px;
    background:var(--primary);
    color:#fff;
    border-radius:6px;
}

/* ================= FEATURES ================= */

.features{
    background:#fff;
}

.features h2{
    text-align:center;
    margin-bottom:40px;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.feature-card{
    background:#fff;
    text-align:center;
    padding:35px;
    border-radius:10px;
    box-shadow:var(--shadow);
    transition:.3s;
}

.feature-card:hover{
    transform:translateY(-8px);
}

.feature-card i{
    font-size:45px;
    color:var(--primary);
    margin-bottom:20px;
}

/* ================= PRODUCTS ================= */

.products-preview h2{
    text-align:center;
    margin-bottom:40px;
}

.products-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:30px;
}

.product-card{
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:.3s;
}

.product-card:hover{
    transform:translateY(-8px);
}

.product-card img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.product-card h3,
.product-card p,
.product-card h4,
.product-card a{
    margin-left:20px;
    margin-right:20px;
}

.product-card h4{
    color:var(--primary);
    margin-top:15px;
}

/* ================= SERVICES ================= */

.services-home{
    background:#fff;
}

.service-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:30px;
}

.service-box{
    background:#f9f9f9;
    padding:35px;
    text-align:center;
    border-radius:10px;
    box-shadow:var(--shadow);
}

.service-box i{
    font-size:45px;
    color:var(--primary);
    margin-bottom:20px;
}

/* ================= CTA ================= */

.cta{
    text-align:center;
    background:linear-gradient(135deg,#0056A6,#1E88E5);
    color:#fff;
}

.cta p{
    color:#fff;
    margin-bottom:30px;
}

/* ================= FOOTER ================= */

footer{
    background:#1b1b1b;
    color:#fff;
}

.footer-container{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:40px;
    max-width:1300px;
    margin:auto;
    padding:60px 8%;
}

.footer-container h3{
    margin-bottom:20px;
}

.footer-container p,
.footer-container a{
    color:#ccc;
}

.footer-container ul li{
    margin-bottom:12px;
}

.footer-container a:hover{
    color:#fff;
}

.social-icons{
    display:flex;
    gap:15px;
}

.social-icons a{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#333;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
}

.social-icons a:hover{
    background:var(--primary);
}

.copyright{
    text-align:center;
    padding:20px;
    border-top:1px solid #333;
}

/* ================= MOBILE ================= */

@media(max-width:900px){

.hero{
    grid-template-columns:1fr;
    text-align:center;
}

.nav-links{
    display:none;
}

.menu-btn{
    display:block;
}

.hero-content h1{
    font-size:2.4rem;
}

section{
    padding:50px 20px;
}

}
/* =====================================
   MOBILE NAVIGATION
===================================== */

.nav-links.show{

display:flex;
flex-direction:column;
position:absolute;
top:85px;
left:0;
width:100%;
background:white;
padding:20px;
box-shadow:0 10px 20px rgba(0,0,0,.1);

}

.sticky{

box-shadow:0 6px 20px rgba(0,0,0,.15);

}

/* =====================================
   SCROLL BUTTON
===================================== */

#scrollTopBtn{

position:fixed;

bottom:30px;

right:30px;

width:50px;

height:50px;

border:none;

border-radius:50%;

background:#0056A6;

color:white;

cursor:pointer;

display:none;

font-size:18px;

z-index:999;

transition:.3s;

}

#scrollTopBtn:hover{

transform:translateY(-5px);

background:#1976D2;

}

/* =====================================
   CARD ANIMATION
===================================== */

.feature-card,
.product-card,
.service-box{

opacity:0;

transform:translateY(50px);

transition:all .7s ease;

}

.animate{

opacity:1;

transform:translateY(0);

}

/* =====================================
   PAGE LOADED
===================================== */

body{

opacity:0;

transition:opacity .5s;

}

body.loaded{

opacity:1;

}
/* ==========================
   PAGE BANNER
========================== */

.page-banner{

background:linear-gradient(rgba(0,86,166,.85),
rgba(0,86,166,.85)),
url("../images/banner.jpg");

background-size:cover;

background-position:center;

text-align:center;

padding:100px 20px;

color:white;

}

.page-banner h1{

font-size:3rem;

margin-bottom:15px;

}

/* ==========================
   CONTACT
========================== */

.contact-section{

background:#f7f9fc;

}

.contact-container{

display:grid;

grid-template-columns:1fr 1.2fr;

gap:50px;

max-width:1200px;

margin:auto;

}

.contact-info{

background:white;

padding:40px;

border-radius:12px;

box-shadow:0 5px 20px rgba(0,0,0,.08);

}

.contact-form{

background:white;

padding:40px;

border-radius:12px;

box-shadow:0 5px 20px rgba(0,0,0,.08);

}

.info-box{

display:flex;

gap:20px;

margin:25px 0;

align-items:flex-start;

}

.info-box i{

width:55px;

height:55px;

border-radius:50%;

background:#0056A6;

color:white;

display:flex;

align-items:center;

justify-content:center;

font-size:22px;

}

.contact-form input,

.contact-form textarea{

width:100%;

padding:15px;

margin-bottom:20px;

border:1px solid #ddd;

border-radius:8px;

font-size:15px;

font-family:Poppins;

}

.row{

display:grid;

grid-template-columns:1fr 1fr;

gap:20px;

}

.contact-form textarea{

resize:vertical;

}

/* ==========================
   MAP
========================== */

.map-section iframe{

width:100%;

height:450px;

border:none;

}

/* ==========================
   MOBILE
========================== */

@media(max-width:900px){

.contact-container{

grid-template-columns:1fr;

}

.row{

grid-template-columns:1fr;

}

.page-banner h1{

font-size:2.2rem;

}

}
/* SUCCESS PAGE */

.success-page{

height:100vh;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

text-align:center;

background:#f5f7fa;

}

.success-page h1{

font-size:3rem;

color:#0b8f3a;

}

.success-page p{

margin:30px;

font-size:18px;

max-width:600px;

}
/* ===============================
SHOP PAGE
=============================== */

.shop-toolbar{

display:flex;

justify-content:space-between;

gap:20px;

padding:40px 8%;

flex-wrap:wrap;

}

.shop-toolbar input{

flex:1;

padding:15px;

border:1px solid #ddd;

border-radius:8px;

font-size:16px;

}

.shop-toolbar select{

padding:15px;

border:1px solid #ddd;

border-radius:8px;

font-size:16px;

}

.shop-container{

padding:20px 8% 80px;

}
/* PRODUCT CARD */

.product-card{

background:#fff;

border-radius:12px;

overflow:hidden;

box-shadow:0 5px 15px rgba(0,0,0,.08);

transition:.3s;

display:flex;

flex-direction:column;

}

.product-card img{

height:220px;

object-fit:cover;

}

.product-card h3{

padding:15px;

}

.product-card p{

padding:0 15px;

flex-grow:1;

}

.product-card h4{

padding:15px;

color:#0056A6;

}

.product-card button{

margin:15px;

cursor:pointer;

border:none;

}
/* ===========================
SHOPPING CART
=========================== */

.cart-item{

display:grid;

grid-template-columns:

120px
2fr
150px
150px
60px;

gap:20px;

align-items:center;

background:white;

padding:20px;

margin-bottom:20px;

border-radius:10px;

box-shadow:0 5px 15px rgba(0,0,0,.08);

}

.cart-item img{

width:100px;

height:100px;

object-fit:cover;

}

.cart-details h3{

margin-bottom:10px;

}

.cart-qty{

display:flex;

align-items:center;

gap:10px;

}

.cart-qty button{

width:35px;

height:35px;

border:none;

background:#0056A6;

color:white;

cursor:pointer;

border-radius:5px;

}

.remove-btn{

background:red;

color:white;

border:none;

width:40px;

height:40px;

border-radius:50%;

cursor:pointer;

}

.cart-subtotal{

font-weight:bold;

color:#0056A6;

}

.empty-cart{

text-align:center;

padding:80px;

}
/* ==========================
CHECKOUT
========================== */

.checkout-page{

display:grid;

grid-template-columns:2fr 1fr;

gap:40px;

padding:60px 8%;

}

.checkout-form,
.checkout-summary{

background:white;

padding:30px;

border-radius:12px;

box-shadow:0 5px 20px rgba(0,0,0,.08);

}

.checkout-form input,
.checkout-form textarea,
.checkout-form select{

width:100%;

padding:15px;

margin-bottom:20px;

border:1px solid #ddd;

border-radius:8px;

font-size:15px;

font-family:Poppins;

}

.checkout-item{

padding:15px 0;

}

@media(max-width:900px){

.checkout-page{

grid-template-columns:1;

}

}
/* ==========================================
   FLOATING WHATSAPP BUTTON
   ========================================== */

.whatsapp-float {
    position: fixed;
    bottom: 25px;
    right: 25px;
    width: 65px;
    height: 65px;
    background: #25D366;
    color: #ffffff;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    font-size: 34px;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.35);
    z-index: 99999;
    transition: all 0.3s ease-in-out;
    animation: whatsappPulse 2s infinite;
}

.whatsapp-float:hover {
    background: #1ebe5d;
    color: #ffffff;
    transform: scale(1.12);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
}

.whatsapp-float i {
    pointer-events: none;
}

/* Pulse Animation */
@keyframes whatsappPulse {
    0% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0.7);
    }

    70% {
        transform: scale(1.08);
        box-shadow: 0 0 0 18px rgba(37, 211, 102, 0);
    }

    100% {
        transform: scale(1);
        box-shadow: 0 0 0 0 rgba(37, 211, 102, 0);
    }
}

/* Mobile */
@media (max-width: 768px) {
    .whatsapp-float {
        width: 58px;
        height: 58px;
        font-size: 30px;
        bottom: 20px;
        right: 20px;
    }
}