/* ==========================================================
   KASUWAAI GLOBAL STYLESHEET
   Version: 1.0
   ========================================================== */

/* ================= ROOT ================= */

:root{

    --primary:#0d6efd;
    --secondary:#198754;
    --success:#198754;
    --danger:#dc3545;
    --warning:#ffc107;
    --info:#0dcaf0;
    --dark:#111827;
    --light:#f8f9fa;
    --gray:#6c757d;
    --white:#ffffff;

    --radius:15px;

    --transition:.3s ease;

    --shadow:0 8px 25px rgba(0,0,0,.08);

}

/* ================= RESET ================= */

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;

    background:var(--light);

    color:#333;

    line-height:1.7;

    overflow-x:hidden;

}

a{

    text-decoration:none;

    transition:var(--transition);

}

img{

    max-width:100%;

}

ul{

    list-style:none;

    padding:0;

    margin:0;

}

/* ================= PRELOADER ================= */

#preloader{

    position:fixed;

    inset:0;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    z-index:99999;

}

/* ================= NAVBAR ================= */

.navbar{

    background:#fff;

    transition:.3s;

}

.navbar-brand{

    font-weight:800;

    font-size:30px;

}

.nav-link{

    font-weight:500;

    margin:0 8px;

    color:#333 !important;

}

.nav-link:hover{

    color:var(--primary)!important;

}

.nav-link.active{

    color:var(--primary)!important;

    font-weight:700;

}

/* ================= HERO ================= */

.hero{

    background:linear-gradient(135deg,var(--primary),var(--secondary));

    color:#fff;

    padding:100px 0;

}

.hero h1{

    font-size:52px;

    font-weight:800;

}

.hero p{

    font-size:18px;

    margin-top:20px;

}

.hero .btn{

    border-radius:50px;

    padding:14px 30px;

}

.hero-image{

    text-align:center;

}

.hero-image i{

    font-size:220px;

    opacity:.15;

}

/* ================= SEARCH ================= */

.search-box{

    position:relative;

}

.search-box i{

    position:absolute;

    left:18px;

    top:17px;

    color:#999;

}

.search-box input{

    padding-left:45px;

    height:52px;

    border-radius:50px;

}

/* ================= BUTTONS ================= */

.btn{

    border-radius:10px;

    transition:var(--transition);

}

.btn:hover{

    transform:translateY(-2px);

}

/* ================= CARDS ================= */

.card{

    border:none;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    transition:var(--transition);

}

.card:hover{

    transform:translateY(-8px);

}

/* ================= CATEGORY CARD ================= */

.category-card{

    background:#fff;

    border-radius:var(--radius);

    text-align:center;

    padding:30px 20px;

    transition:var(--transition);

    box-shadow:var(--shadow);

    cursor:pointer;

}

.category-card:hover{

    transform:translateY(-10px);

}

.category-icon{

    width:80px;

    height:80px;

    margin:auto;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    color:#fff;

    font-size:32px;

}

/* ================= PRODUCT CARD ================= */

.product-card{

    overflow:hidden;

    border-radius:var(--radius);

}

.product-card img{

    transition:.4s;

}

.product-card:hover img{

    transform:scale(1.05);

}

/* ================= SHOP CARD ================= */

.shop-card{

    overflow:hidden;

}

.shop-card img{

    transition:.4s;

}

.shop-card:hover img{

    transform:scale(1.08);

}

/* ================= FEATURE BOX ================= */

.feature-box{

    background:#fff;

    padding:30px;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    text-align:center;

    transition:var(--transition);

    height:100%;

}

.feature-box:hover{

    transform:translateY(-10px);

}

/* ================= AI BOX ================= */

.ai-box{

    background:#fff;

    padding:25px;

    border-radius:var(--radius);

    text-align:center;

    box-shadow:var(--shadow);

    transition:var(--transition);

    height:100%;

}

.ai-box:hover{

    background:var(--primary);

    color:#fff;

}

.ai-box:hover i{

    color:#fff!important;

}

/* ================= TESTIMONIAL ================= */

.testimonial-card{

    background:#fff;

    border-radius:var(--radius);

    box-shadow:var(--shadow);

    padding:30px;

    text-align:center;

}

.testimonial-img{

    width:90px;

    height:90px;

    border-radius:50%;

    object-fit:cover;

    border:4px solid var(--primary);

}

/* ================= TABLES ================= */

.table{

    background:#fff;

}

.table thead{

    background:var(--primary);

    color:#fff;

}

/* ================= FORM ================= */

.form-control{

    border-radius:10px;

    min-height:48px;

}

.form-control:focus{

    box-shadow:none;

    border-color:var(--primary);

}

.form-select{

    border-radius:10px;

    min-height:48px;

}

/* ================= BADGES ================= */

.badge{

    border-radius:50px;

    padding:8px 12px;

}

/* ================= FOOTER ================= */

.footer{

    background:var(--dark);

    color:#ddd;

    padding:70px 0 25px;

}

.footer h5{

    color:#fff;

    margin-bottom:20px;

}

.footer a{

    color:#ddd;

}

.footer a:hover{

    color:var(--warning);

}

.social-links a{

    width:42px;

    height:42px;

    border-radius:50%;

    display:inline-flex;

    align-items:center;

    justify-content:center;

    background:#1f2937;

    margin-right:8px;

}

.social-links a:hover{

    background:var(--primary);

    color:#fff;

}

/* ================= NEWSLETTER ================= */

.newsletter-section{

    background:linear-gradient(135deg,var(--primary),var(--secondary));

}

.newsletter-section .form-control{

    border-radius:50px 0 0 50px;

}

.newsletter-section .btn{

    border-radius:0 50px 50px 0;

}

/* ================= SCROLL BUTTON ================= */

#topBtn{

    position:fixed;

    right:25px;

    bottom:25px;

    width:55px;

    height:55px;

    border:none;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:none;

    z-index:9999;

    box-shadow:0 10px 25px rgba(0,0,0,.2);

}

#topBtn:hover{

    background:var(--secondary);

}

/* ================= UTILITIES ================= */

.section-title{

    font-size:36px;

    font-weight:800;

}

.shadow-sm{

    box-shadow:var(--shadow)!important;

}

.rounded-custom{

    border-radius:var(--radius);

}

.text-primary{

    color:var(--primary)!important;

}

.bg-primary{

    background:var(--primary)!important;

}

.bg-success{

    background:var(--secondary)!important;

}

/* ================= ANIMATIONS ================= */

.fade-up{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(30px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}
.product-card{
    border-radius:15px;
    overflow:hidden;
    transition:.3s;
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:0 20px 40px rgba(0,0,0,.15)!important;
}

.product-card img{
    transition:.4s;
}

.product-card:hover img{
    transform:scale(1.05);
}