/*=====================================================
 GANGA SWEETS
 Premium Ecommerce Theme
 Part 1D-1
======================================================*/

/*==========================
Google Font
==========================*/

:root{

    --primary:#243362;
    --primary-dark:#7d1115;
    --secondary:#F6C453;
    --cream:#FFF9F1;
    --light:#ffffff;
    --text:#223162;
    --gray:#403a3a;
    --border:#ececec;
    --shadow:0 15px 45px rgba(0,0,0,.08);
    --radius:18px;
    --transition:.35s ease;

}

/*==========================
Reset
==========================*/

*,
*::before,
*::after{

    margin:0;
    padding:0;
    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    font-family:'Poppins',sans-serif;
    font-size:16px;
    line-height:1.5;
    color:var(--text);
    background:#fff;
    overflow-x:hidden;

}

img{

    max-width:100%;
    display:block;

}

a{

    color:inherit;
    text-decoration:none;
    transition:var(--transition);

}

ul{

    list-style:none;
    margin:0;
    padding:0;

}

button{

    border:none;
    outline:none;

}

input{

    outline:none;

}

section{

    position:relative;
    padding:90px 0;

}

.container{

    max-width:1320px;

}

/*==========================
Typography
==========================*/

h1,h2,h3,h4,h5,h6{

    font-weight:700;
    line-height:1.2;
    margin-bottom:15px;

}

p{

    color:var(--gray);
    margin-bottom:18px;

}

.section-title{

    text-align:center;
    margin-bottom:60px;

}

.section-title span{

    display:inline-block;
    color:var(--primary);
    font-weight:600;
    letter-spacing:1px;
    text-transform:uppercase;
    margin-bottom:10px;

}

.section-title h2{

    font-size:30px;
    color:var(--text);

}

/*==========================
Announcement Bar
==========================*/

.announcement-bar{

    background:linear-gradient(90deg,#243362,#cf363c);
    color:#fff;
    font-size:14px;
    padding:10px 0;
    overflow:hidden;

}

.announcement-wrapper{

    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:20px;
    font-weight:500;

}

.announcement-wrapper strong{

    color:#FFE28A;

}

/*==========================
Utility Bar
==========================*/

.utility-bar{

    background:#fff;
    border-bottom:1px solid var(--border);
    padding:12px 0;

}

.utility-left,
.utility-right{

    display:flex;
    align-items:center;
    gap:25px;

}

.utility-right{

    justify-content:flex-end;

}

.utility-left li,
.utility-right li{

    font-size:14px;
    color:#555;

}

.utility-left i{

    color:var(--primary);
    margin-right:8px;

}

.utility-right a{

    font-weight:500;
    position:relative;

}

.utility-right a::after{

    content:"";
    position:absolute;
    left:0;
    bottom:-4px;
    width:0;
    height:2px;
    background:var(--primary);
    transition:.3s;

}

.utility-right a:hover{

    color:var(--primary);

}

.utility-right a:hover::after{

    width:100%;

}

/*==========================
Header
==========================*/

.main-header{

    position:sticky;
    top:0;
    z-index:999;
    background:#fff;
    box-shadow:0 5px 20px rgba(0,0,0,.04);

}

.navbar{

    padding:0px 0;

}

.navbar-brand img{

    height:80px;
    transition:.3s;

}

.navbar-brand:hover img{

    transform:scale(1.03);

}

.navbar-nav{

    gap:10px;

}

.nav-item{

    position:relative;

}

.nav-link{

    color:var(--text);
    font-size:15px;
    font-weight:600;
    padding:12px 12px !important;
    border-radius:5px;
    transition:var(--transition);

}

.nav-link:hover{

    color:#8B1E1E;
    
}

/*.nav-link.active{

    color:#fff !important;
    background:var(--primary);

}*/

/*==========================
Header Icons
==========================*/

.header-icons{

    display:flex;
    align-items:center;
    gap:16px;

}

.header-icons #openLoginDesktop{

    width:46px;
    height:46px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#ffd064;
    border:1px solid var(--border);
    border-radius:50%;
    position:relative;
    transition:var(--transition);

}

.header-icons a:hover{

    background:var(--primary);
    border-color:var(--primary);
    color:#fff;
    transform:translateY(-3px);

}

.header-icons i{

    font-size:20px;

}

.header-icons .count{

    position:absolute;
    top:-4px;
    right:-4px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:var(--secondary);
    color:#000;
    font-size:11px;
    font-weight:700;
    display:flex;
    align-items:center;
    justify-content:center;

}

/*==========================
Buttons
==========================*/

.btn{

    border-radius:50px;
    padding:10px 24px;
    font-weight:600;
    transition:var(--transition);

}

.btn-primary{

    background:var(--primary);
    border-color:var(--primary);

}

.btn-primary:hover{

    background:var(--primary-dark);
    border-color:var(--primary-dark);
    transform:translateY(-3px);

}

.btn-outline-primary{

    border:2px solid var(--primary);
    color:var(--primary);

}

.btn-outline-primary:hover{

    background:var(--primary);
    color:#fff;

}


/*=====================================================
 Part 1D-2
 Mega Menu
 Search
 Cart
 Mobile Menu
======================================================*/


/*==============================
Mega Menu
==============================*/

.nav-item.position-static{
    position:static !important;
}

.mega-menu{
    width:100%;
    left:0 !important;
    right:0;
    margin-top:18px;
    border:none;
    border-radius:24px;
    background:#ffffff;
    box-shadow:0 30px 70px rgba(0,0,0,.12);
    padding:35px;
    opacity:0;
    visibility:hidden;
    transform:translateY(20px);
    display:block;
    transition:.35s ease;
}

.nav-item.dropdown:hover .mega-menu{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
}

.mega-title{
    font-size:18px;
    font-weight:700;
    margin-bottom:20px;
    color:var(--primary);
}

.mega-links{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.mega-links li a{
    display:block;
    color:#555;
    padding:0px 0;
    font-size:15px;
    transition:.3s;
    font-weight: 600;
}

.mega-links li a:hover{
    color:var(--primary);
    padding-left:10px;
}

.mega-menu img{
    border-radius:20px;
    transition:.4s;
}

.mega-menu img:hover{
    transform:scale(1.04);
}

/*==============================
Dropdown
==============================*/

.dropdown-menu{
    border:none;
    border-radius:18px;
    padding:18px;
    box-shadow:0 20px 50px rgba(0,0,0,.08);
}

.dropdown-item{
    padding:8px 7px;
    border-radius:10px;
    font-weight:500;
}

.dropdown-item:hover{
    background:#fff3f3;
    color:var(--primary);
}

/*==============================
Search Modal
==============================*/

#searchModal .modal-content{
    border:none;
    border-radius:24px;
    overflow:hidden;
}

#searchModal .modal-body{
    padding:40px;
}

#searchModal .input-group{
    border:2px solid #eee;
    border-radius:60px;
    overflow:hidden;
}

#searchModal input{
    border:none;
    padding:20px 28px;
    font-size:18px;
    box-shadow:none;
}

#searchModal input:focus{
    box-shadow:none;
}

#searchModal .btn{
    border-radius:0;
    padding:0 32px;
}

/*==============================
Header Search Icon
==============================*/

.header-icons a:first-child:hover{
    background:transparent;
    border-color:transparent;
}

/*==============================
Cart Drawer
==============================*/

.offcanvas{
    border:none;
    width:420px !important;
}

.offcanvas-header{
    padding:25px 30px;
    border-bottom:1px solid #eee;
}

.offcanvas-title,
.offcanvas-header h5{
    font-size:24px;
    font-weight:700;
}

.offcanvas-body{
    padding:30px;
}

.cart-item{
    display:flex;
    align-items:center;
    margin-bottom:22px;
}

.cart-item img{
    width:85px;
    height:85px;
    object-fit:cover;
    border-radius:16px;
}

.cart-item h6{
    font-size:16px;
    margin-bottom:8px;
}

.cart-item small{
    color:#888;
}

.cart-item .price{
    color:var(--primary);
    font-weight:700;
}

.cart-total{
    border-top:1px solid #eee;
    margin-top:30px;
    padding-top:25px;
    display:flex;
    justify-content:space-between;
    font-size:20px;
    font-weight:700;
}

.checkout-btn{
    width:100%;
    margin-top:25px;
}

/*==============================
Mobile Offcanvas
==============================*/

#mobileMenu{
    width:320px;
    display: none;
}

#mobileMenu .offcanvas-header{
    padding:25px;
}

.mobile-nav{
    display:flex;
    flex-direction:column;
}

.mobile-nav li{
    border-bottom:1px solid #f2f2f2;
}

.mobile-nav li:last-child{
    border-bottom:none;
}

.mobile-nav a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:15px 5px !important;
    font-size:16px;
    font-weight:600;
    color:#333;
    transition:.3s;
}

.mobile-nav a:hover{
    color:var(--primary);
    padding-left:12px;
}

/*==============================
Navbar Toggler
==============================*/

.navbar-toggler{
    width:48px;
    height:48px;
    border:none;
    border-radius:12px;
    background:#fafafa;
    display:flex;
    align-items:center;
    justify-content:center;
}

.navbar-toggler:focus{
    box-shadow:none;
}

.navbar-toggler i{
    font-size:28px;
    color:var(--primary);
}

/*==============================
Sticky Animation
==============================*/

.main-header{
    transition:all .35s ease;
}

.main-header.scrolled{
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.main-header.scrolled .navbar{
    padding:10px 0;
}

.main-header.scrolled .navbar-brand img{
    height:62px;
}

/*==============================
Glass Effect
==============================*/

.glass-card{
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border:1px solid rgba(255,255,255,.5);
    border-radius:20px;
}

/*==============================
Desktop Only
==============================*/

@media (min-width:1200px){

    .navbar .dropdown:hover>.dropdown-menu{
        display:block;
    }

}



.category-section{
    padding:90px 0;
    background:#fff;
}

.category-card{

    display:block;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    text-align:center;

    text-decoration:none;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;
}

.category-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    transition:.4s;

}

.category-card h5{

    font-size:14px;

    font-weight:700;

    color:#222;

    padding:8px 5px;

    margin:0;

}

.category-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.category-card:hover img{

    transform:scale(1.08);

}

@media(max-width:768px){

    .category-card h5{

        font-size:18px;

    }

}



.hero-banner{

    position:relative;

}

.banner-slide{

    min-height:590px;

    display:flex;

    align-items:center;

    background-size:cover;

    background-position:center;

    background-repeat:no-repeat;

    position:relative;

}

.slide-1{

    background-image:url("../images/slider1.jpg");

}

.slide-2{

     background-image:url("../images/slider2.jpg");

}

.slide-3{

     background-image:url("../images/slider3.jpg");

}

/*.banner-overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.45);

}*/

.banner-content{

    position:relative;

    z-index:2;

    max-width:650px;

    color:#243362;

}

.banner-content h1{

    font-size:64px;

    font-weight:800;

    line-height:1.1;

    margin-bottom:20px;

}

.banner-content h1 span{

    display:block;

    color:#c29203;

}

.banner-content p{

    font-size:20px;

    margin-bottom:35px;

    max-width:520px;

}

.hero-label{

    display:inline-block;

    background:#fff;

    color:#b8860b;

    padding:10px 22px;

    border-radius:50px;

    font-weight:700;

    margin-bottom:25px;

}

.swiper-button-next,
.swiper-button-prev{

    color:#fff;

}

.swiper-pagination-bullet{

    background:#fff;

    opacity:.6;

}

.swiper-pagination-bullet-active{

    background:#FFD54F;

    opacity:1;

}

@media(max-width:991px){

    .banner-slide{

        min-height:500px;

    }

    .banner-content{

        text-align:center;

    }

    .banner-content h1{

        font-size:38px;

    }

    .banner-content p{

        font-size:16px;

    }

}


/*==============================
Offer Card
==============================*/

.offer-card{
    position:absolute;
    top:40px;
    left:-25px;
    width:220px;
    padding:24px;
    background:#fff;
    border-radius:22px;
    box-shadow:0 25px 60px rgba(0,0,0,.12);
    animation:floatCard 4s ease-in-out infinite;
}

.offer-card span{
    color:var(--primary);
    font-weight:600;
    font-size:14px;
}

.offer-card h3{
    margin:0px 0 8px;
    font-size:34px;
    color:var(--primary);
}

.offer-card p{
    margin:0;
    color:#666;
    font-size:14px;
}

/*==============================
Delivery Card
==============================*/

.delivery-card{
    position:absolute;
    bottom:25px;
    right:-25px;
    display:flex;
    align-items:center;
    gap:15px;
    width:250px;
    padding:18px;
    background:#fff;
    border-radius:20px;
    box-shadow:0 25px 60px rgba(0,0,0,.12);
    animation:floatCard 5s ease-in-out infinite;
}

.delivery-card i{
    width:58px;
    height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    font-size:24px;
    border-radius:50%;
}

.delivery-card strong{
    display:block;
    color:#222;
}

.delivery-card small{
    color:#888;
}

/*==============================
Hero Slider
==============================*/

.heroSlider{
    position:relative;
}

.heroSlider .swiper-pagination{
    bottom:0;
}

.heroSlider .swiper-pagination-bullet{
    width:12px;
    height:12px;
    background:#d6d6d6;
    opacity:1;
}

.heroSlider .swiper-pagination-bullet-active{
    background:var(--primary);
    width:32px;
    border-radius:20px;
}

.heroSlider .swiper-button-next,
.heroSlider .swiper-button-prev{
    width:56px;
    height:56px;
    border-radius:50%;
    background:#fff;
    color:var(--primary);
    box-shadow:0 12px 35px rgba(0,0,0,.12);
}

.heroSlider .swiper-button-next::after,
.heroSlider .swiper-button-prev::after{
    font-size:18px;
    font-weight:700;
}

/*==============================
Floating Animation
==============================*/

@keyframes heroFloat{

    0%{transform:translateY(0);}
    50%{transform:translateY(-12px);}
    100%{transform:translateY(0);}

}

@keyframes floatCard{

    0%{transform:translateY(0);}
    50%{transform:translateY(-10px);}
    100%{transform:translateY(0);}

}


/*=====================================================
 Part 1D-4
 Responsive + Animation Utilities
======================================================*/

/*==============================
Large Devices
==============================*/

@media (max-width: 1199px){

    .hero-title{
        font-size:32px;
    }

    .offer-card{
        left:0;
    }

    .delivery-card{
        right:0;
    }

    .hero-image{
        max-width:520px;
    }

    .mega-menu{
        border-radius:18px;
        padding:25px;
    }

}

/*==============================
Tablet
==============================*/

@media (max-width: 991px){

    section{
        padding:70px 0;
    }

    .announcement-wrapper{
        flex-direction:column;
        text-align:center;
        gap:8px;
    }

    .utility-bar{
        display:none;
    }

    .navbar{
        padding:12px 0;
    }

    .navbar-brand img{
        height:58px;
    }

    
    .hero-section{
        padding:70px 0;
        text-align:center;
    }

    .hero-title{
        font-size:34px;
    }

    .hero-description{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons{
        justify-content:center;
    }

    .hero-stats{
        justify-content:center;
        margin-bottom:45px;
    }

    .hero-image-wrapper{
        margin-top:30px;
    }

    .offer-card{
        position:absolute;
        top:20px;
        left:10px;
        width:180px;
        padding:18px;
    }

    .offer-card h3{
        font-size:28px;
    }

    .delivery-card{
        position:absolute;
        right:10px;
        bottom:10px;
        width:210px;
        padding:15px;
    }

    .delivery-card i{
        width:48px;
        height:48px;
        font-size:20px;
    }

    .swiper-button-next,
    .swiper-button-prev{
        display:none;
    }

}

/*==============================
Mobile
==============================*/

@media (max-width:576px){

    body{
        font-size:15px;
    }

    section{
        padding:55px 0;
    }

    .announcement-bar{
        font-size:12px;
        padding:8px 0;
    }

    .navbar-brand img{
        height:58px;
    }

    .navbar-toggler{
        width:44px;
        height:44px;
    }

    .navbar-toggler i{
        font-size:24px;
    }

    .hero-title{
        font-size:24px;
        line-height:1.2;
    }

    .hero-label{
        font-size:13px;
        padding:8px 16px;
    }

    .hero-description{
        font-size:15px;
    }

    .hero-buttons{
        flex-direction:column;
        width:100%;
    }

    .hero-buttons .btn{
        width:100%;
        min-width:auto;
    }

    .hero-stats{
        display:grid;
        grid-template-columns:repeat(2,1fr);
        gap:15px;
    }

    .stat-box{
        min-width:auto;
        padding:18px;
    }

    .stat-box h3{
        font-size:28px;
    }

    .hero-image{
        max-width:100%;
    }

    .offer-card{
        position:relative;
        width:100%;
        left:auto;
        top:auto;
        margin-top:20px;
        animation:none;
    }

    .delivery-card{
        position:relative;
        width:100%;
        right:auto;
        bottom:auto;
        margin-top:15px;
        animation:none;
    }

    .hero-circle-1,
    .hero-circle-2{
        display:none;
    }

    .offcanvas{
        width:100% !important;
    }

    #searchModal .modal-body{
        padding:20px;
    }

    #searchModal input{
        padding:16px 20px;
        font-size:16px;
    }

}

/*==============================
Accessibility
==============================*/

a:focus,
button:focus,
input:focus{
    outline:3px solid rgba(166,30,34,.25);
    outline-offset:3px;
}

.btn:focus{
    box-shadow:none;
}

/*==============================
Utility Classes
==============================*/

.shadow-soft{
    box-shadow:0 15px 35px rgba(0,0,0,.08);
}

.radius-lg{
    border-radius:24px;
}

.bg-cream{
    background:var(--cream);
}

.text-primary-theme{
    color:var(--primary);
}

.transition{
    transition:var(--transition);
}

/*==============================
Fade Up Animation
==============================*/

.fade-up{
    opacity:0;
    transform:translateY(30px);
    transition:all .7s ease;
}

.fade-up.show{
    opacity:1;
    transform:translateY(0);
}

/*==============================
Image Hover
==============================*/

.img-hover{
    overflow:hidden;
    border-radius:20px;
}

.img-hover img{
    transition:transform .45s ease;
}

.img-hover:hover img{
    transform:scale(1.08);
}

/*==============================
Scrollbar
==============================*/

::-webkit-scrollbar{
    width:10px;
}

::-webkit-scrollbar-track{
    background:#f5f5f5;
}

::-webkit-scrollbar-thumb{
    background:var(--primary);
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:var(--primary-dark);
}


/*=====================================================
 Part 2B
 Shop By Category
======================================================*/

/*==============================
Category Section
==============================*/

.category-section{
    position:relative;
    padding:100px 0;
    background:#fffdf9;
    overflow:hidden;
}

.category-section::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    background:#fff1df;
    border-radius:50%;
    top:-180px;
    left:-120px;
    opacity:.6;
}

.category-section::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    background:#fde9ea;
    border-radius:50%;
    right:-120px;
    bottom:-120px;
    opacity:.55;
}

.category-section .container{
    position:relative;
    z-index:2;
}

/*==============================
Swiper
==============================*/

.categorySlider{
    padding:15px 5px 30px;
}

.categorySlider .swiper-slide{
    height:auto;
}

.categorySlider .swiper-pagination{
    bottom:0;
}

.categorySlider .swiper-pagination-bullet{
    width:12px;
    height:12px;
    background:#d6d6d6;
    opacity:1;
}

.categorySlider .swiper-pagination-bullet-active{
    width:30px;
    border-radius:20px;
    background:var(--primary);
}

/*==============================
Category Card
==============================*/

.category-card{
    display:block;
    text-align:center;
    background:#fff;
    /*padding:28px 20px 30px;*/
    border-radius:28px;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
    transition:all .35s ease;
    height:100%;
    position:relative;
    overflow:hidden;
}

.category-card::before{
    content:"";
    position:absolute;
    width:100%;
    height:0;
    left:0;
    bottom:0;
    background:linear-gradient(180deg,#fff7ef,#fff0f0);
    transition:.4s;
    z-index:0;
}

.category-card:hover::before{
    height:100%;
}

.category-card>*{
    position:relative;
    z-index:2;
}

.category-card:hover{
    transform:translateY(-10px);
    box-shadow:0 30px 60px rgba(0,0,0,.12);
}

/*==============================
Category Image
==============================*/

.category-image{
    width:170px;
    height:170px;
    margin:0 auto 24px;
    border-radius:50%;
    overflow:hidden;
    background:#fafafa;
    border:8px solid #fff;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
    transition:.4s;
}

.category-image img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:transform .45s ease;
}

.category-card:hover .category-image{
    transform:rotate(-4deg) scale(1.04);
}

.category-card:hover .category-image img{
    transform:scale(1.12);
}

/*==============================
Typography
==============================*/

.category-card h4{
    font-size:22px;
    font-weight:700;
    color:var(--text);
    margin-bottom:8px;
    transition:.3s;
}

.category-card span{
    display:block;
    font-size:15px;
    color:#888;
}

.category-card:hover h4{
    color:var(--primary);
}

/*==============================
Hover Accent
==============================*/

.category-card::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:0;
    height:4px;
    background:var(--primary);
    transition:.35s;
}

.category-card:hover::after{
    width:70%;
}

/*==============================
Responsive
==============================*/

@media (max-width:991px){

    .category-section{
        padding:80px 0;
    }

    .category-image{
        width:145px;
        height:145px;
    }

    .category-card h4{
        font-size:20px;
    }

}

@media (max-width:576px){

    .category-section{
        padding:60px 0;
    }

    .category-card{
        padding:22px 15px;
        border-radius:22px;
    }

    .category-image{
        width:120px;
        height:120px;
        border-width:6px;
    }

    .category-card h4{
        font-size:18px;
    }

    .category-card span{
        font-size:14px;
    }

}


/*=====================================================
 Part 3B
 Best Selling Products
======================================================*/

.best-sellers{
    background:#fff;
    padding:80px 0;
}

.product-card{

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:.35s;

    text-align:center;

    height:100%;
}

.product-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 40px rgba(0,0,0,.15);

}

.product-img{

    padding:20px;

    background:#fff8f0;
}

.product-img img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:contain;

    transition:.4s;
}

.product-card:hover img{

    transform:scale(1.08);
}

.product-content{

    padding:18px;
}

.product-content h5{

    font-size:17px;

    font-weight:700;

    margin-bottom:8px;
}

.product-content p{

    color:#777;

    margin-bottom:10px;
}

.price{

    font-size:22px;

    font-weight:700;

    color:#b01c1c;

    margin-bottom:15px;
}

.btn-cart{

    display:block;

    background:#b01c1c;

    color:#fff;

    padding:12px;

    border-radius:8px;

    text-decoration:none;

    font-weight:600;

    transition:.3s;
}

.btn-cart:hover{

    background:#8b1515;

    color:#fff;
}

/* 5 columns on XL screens */
@media (min-width:1200px){
    .col-xl-2-4{
        flex:0 0 20%;
        max-width:20%;
    }
}



/*==========================================
 BEST SELLING SECTION
==========================================*/

.best-selling-section{
    position:relative;
    padding:80px 0;
    background:#fbf7ec;
    overflow:hidden;
}

/* subtle floral background */

.best-selling-section::before{

    content:"";

    position:absolute;

    inset:0;

    opacity:.08;

    background-image:
    radial-gradient(circle,#d7b96d 1px,transparent 1px);

    background-size:60px 60px;

    pointer-events:none;
}

/*==========================================
 SECTION HEADER
==========================================*/

.section-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:40px;

    flex-wrap:wrap;

    gap:20px;
}

.title-wrap h2{

    font-size:44px;

    font-weight:700;

    font-family:Georgia,serif;

    color:#2b1d14;

    margin:0;
}

.title-wrap h2 span{

    color:#d8b15b;

    font-style:italic;

    font-weight:500;
}

.title-line{

    width:170px;

    height:3px;

    background:#b99040;

    margin-top:12px;

    position:relative;
}

.title-line::after{

    content:"✦";

    position:absolute;

    right:-12px;

    top:-12px;

    color:#d8b15b;

    font-size:22px;
}

/*==========================================
 VIEW ALL BUTTON
==========================================*/

.view-all-btn{

    background:#efb94c;

    color:#222;

    padding:12px 24px;

    border-radius:30px;

    text-decoration:none;

    font-weight:600;

    transition:.35s;

    display:inline-flex;

    align-items:center;

    gap:10px;

    box-shadow:0 10px 20px rgba(0,0,0,.12);
}

.view-all-btn:hover{

    background:#d89d22;

    color:#fff;

    transform:translateY(-3px);
}

/*==========================================
 PRODUCT CARD
==========================================*/

.product-card{

    position:relative;

    background:#fff;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 12px 30px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;
}

.product-card:hover{

    transform:translateY(-8px);

    box-shadow:0 20px 45px rgba(0,0,0,.18);
}

/*==========================================
 BEST SELLER BADGE
==========================================*/

.badge-best{

    position:absolute;

    top:14px;

    left:14px;

    background:#fff;

    color:#b71c1c;

    font-size:13px;

    font-weight:700;

    padding:7px 14px;

    border-radius:4px;

    z-index:10;

    display:flex;

    align-items:center;

    gap:6px;

    box-shadow:0 4px 12px rgba(0,0,0,.12);
}

.badge-best i{

    color:#c62828;
}

/*==========================================
 PRODUCT IMAGE
==========================================*/

.product-image{

    background:#f7f2ea;

    height:380px;

    overflow:hidden;
}

.product-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s;
}

.product-card:hover img{

    transform:scale(1.06);
}

/*==========================================
 PRODUCT INFO
==========================================*/

.product-info{

    padding:20px;
}

.product-info h4{

    font-size:23px;

    font-weight:500;

    color:#222;

    line-height:1.4;

    margin-bottom:14px;
}

.product-info h4 span{

    font-size:18px;

    font-weight:500;
}

.price{

    font-size:36px;

    font-weight:700;

    color:#1d1d1d;

    margin-bottom:24px;
}

.price small{

    font-size:14px;

    color:#888;

    font-weight:500;
}

/*==========================================
 ADD TO CART BUTTON
==========================================*/

.cart-btn{

    display:block;

    width:100%;

    background:#efb94c;

    color:#2d2d2d;

    text-align:center;

    text-decoration:none;

    font-weight:700;

    padding:10px;

    border-radius:12px;

    border:2px solid #c8942b;

    transition:.35s;

    position:relative;

    overflow:hidden;
}

.cart-btn:hover{

    background:#d89d22;

    color:#fff;
}

.cart-btn::before{

    content:"";

    position:absolute;

    left:0;

    top:0;

    width:0;

    height:100%;

    background:rgba(255,255,255,.18);

    transition:.4s;
}

.cart-btn:hover::before{

    width:100%;
}

/*==========================================
 RESPONSIVE DESIGN
==========================================*/

/* Large Desktop */

@media (max-width:1400px){

    .product-image{
        height:340px;
    }

    .product-info h4{
        font-size:20px;
    }

    .price{
        font-size:32px;
    }

}


/* Laptop */

@media (max-width:1200px){

    .best-selling-section{
        padding:70px 0;
    }

    .title-wrap h2{
        font-size:38px;
    }

    .product-image{
        height:310px;
    }

}


/* Tablet */

@media (max-width:991px){

    .section-header{

        flex-direction:column;

        align-items:flex-start;

        gap:25px;

    }

    .view-all-btn{

        align-self:flex-start;

    }

    .title-wrap h2{

        font-size:34px;

    }

    .product-image{

        height:300px;

    }

    .product-info{

        padding:18px;

    }

    .product-info h4{

        font-size:19px;

    }

    .price{

        font-size:30px;

    }

}


/* Mobile */

@media (max-width:767px){
    
    .offcanvas-body {
    padding: 10px;
}

.mb-5{
    margin-bottom: 1rem !important;
}
    
    .header-icons .count {
        position: absolute;
        top: 24px;
        right: 23%;
    }

    .section-heading h2{
        font-size: 28px !important;
    }

    .section-title h2{
       font-size: 28px !important; 
    }


    .section-title span{
        font-size: 18px !important;
    }

    .py-5{
        padding-top: 10px !important;
    }

     .banner-slide{

        min-height:400px;

    }

    .counter h2{
        font-size: 28px !important;
        margin-bottom: 0px;
    }

    .counter p {
    margin-bottom: 40px !important;
    font-size: 28px !important;
}


    .mob-top{

        margin-top: 20px;

    }

    .section-title{
        font-size: 20px !important;
    font-weight: 500 !important;

    }

    .about-hero{
        height: 90px !important;
    }

    .about-hero h1 {
    font-size: 20px !important;
    font-weight: 500 !important;
    
}

    .hero-section{
        padding:0px 0;
        text-align:center;
    }

    #mobileMenu{
        display: block;
    }

    .best-selling-section{

        padding:50px 0;

    }

    .title-wrap h2{

        font-size:28px;

        line-height:1.3;

    }

    .title-line{

        width:110px;

    }

    .view-all-btn{

        width:100%;

        justify-content:center;

        padding:14px;

    }

    .product-image{

        height:240px;

    }

    .product-info{

        padding:16px;

    }

    .product-info h4{

        font-size:18px;

        margin-bottom:10px;

    }

    .product-info h4 span{

        display:block;

        font-size:15px;

        margin-top:4px;

    }

    .price{

        font-size:26px;

        margin-bottom:18px;

    }

    .price small{

        display:inline-block;

        /*margin-top:4px;*/

        font-size:13px;

    }

    .cart-btn{

        padding:14px;

        font-size:16px;

    }

}


/* Small Mobile */

@media (max-width:480px){

    .title-wrap h2{

        font-size:24px;

    }

    .product-image{

        height:210px;

    }

    .badge-best{

        font-size:11px;

        padding:5px 10px;

    }

}


/*==========================================
 PREMIUM ANIMATIONS
==========================================*/

.product-card{

    transition:
    transform .35s ease,
    box-shadow .35s ease;

}

.product-card:hover{

    transform:translateY(-10px);

    box-shadow:0 22px 45px rgba(0,0,0,.18);

}

.product-image{

    position:relative;

}

.product-image::after{

    content:"";

    position:absolute;

    left:0;
    top:0;

    width:100%;
    height:100%;

    background:linear-gradient(to top,
    rgba(0,0,0,.05),
    transparent);

    opacity:0;

    transition:.35s;

}

.product-card:hover .product-image::after{

    opacity:1;

}

.product-card:hover .product-image img{

    transform:scale(1.08);

}


/*==========================================
 BUTTON EFFECT
==========================================*/

.cart-btn{

    overflow:hidden;

}

.cart-btn span{

    position:relative;

    z-index:2;

}

.cart-btn::after{

    content:"";

    position:absolute;

    left:-120%;

    top:0;

    width:120%;

    height:100%;

    background:rgba(255,255,255,.25);

    transform:skewX(-25deg);

    transition:.6s;

}

.cart-btn:hover::after{

    left:120%;

}


/*==========================================
 CARD BORDER EFFECT
==========================================*/

.product-card::before{

    content:"";

    position:absolute;

    inset:0;

    border:2px solid transparent;

    border-radius:18px;

    transition:.35s;

    pointer-events:none;

}

.product-card:hover::before{

    border-color:#e3b652;

}


/*==========================================
 IMAGE LOADING
==========================================*/

.product-image img{

    display:block;

    width:100%;

}


/*==========================================
 SECTION FADE IN
==========================================*/

.best-selling-section{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}


/*==========================================
 PREMIUM BACKGROUND PATTERN
==========================================*/

.best-selling-section{

    position:relative;

    overflow:hidden;

    background:#fbf7ec;

    background-image:
        radial-gradient(circle at 20px 20px, rgba(212,178,98,.08) 2px, transparent 2px),
        radial-gradient(circle at 60px 60px, rgba(212,178,98,.05) 2px, transparent 2px);

    background-size:80px 80px;
}

/* Decorative top floral pattern */

.best-selling-section::before{

    content:"✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿ ✿";

    position:absolute;

    left:0;

    top:18px;

    width:100%;

    text-align:center;

    letter-spacing:38px;

    color:#d9b76b;

    font-size:26px;

    opacity:.22;

    pointer-events:none;

}


/*==========================================
 SECTION TITLE
==========================================*/

.title-wrap{

    position:relative;

    display:inline-block;

}

.title-wrap h2{

    display:inline-block;

    margin-bottom:18px;

}

.title-wrap::after{

    content:"";

    position:absolute;

    left:0;

    bottom:0;

    width:90px;

    height:3px;

    background:#c9a04a;

}

.title-wrap::before{

    content:"✦";

    position:absolute;

    left:100px;

    bottom:-12px;

    color:#d5b467;

    font-size:18px;

}


/*==========================================
 CARD PREMIUM LOOK
==========================================*/

.product-card{

    border:1px solid #5b7ce2;

    background:#fff;

}

.product-card:hover{

    border-color:#d4ab56;

}


/*==========================================
 PRODUCT IMAGE BG
==========================================*/

.product-image{

    background:linear-gradient(
        to bottom,
        #fffdf7,
        #f8f0e1
    );

}


/*==========================================
 PRICE
==========================================*/

.price{

    display:flex;

    align-items:flex-end;

    gap:8px;

}

.price small{

    margin-bottom:5px;

}


/*==========================================
 BUTTON
==========================================*/

.cart-btn{

    border-radius:10px;

    background: linear-gradient(135deg, var(--primary1), #B32020);

    border:2px solid #f38b95;

    color:#fff;

    /*text-transform:uppercase;*/

    letter-spacing:.5px;

}

.cart-btn:hover{

    background:linear-gradient(
        to bottom,
        #efb843,
        #d69212
    );

    color:#fff;

}


/*==========================================
 BADGE
==========================================*/

.badge-best{

    border-left:4px solid #bf2328;

    text-transform:uppercase;

    letter-spacing:.3px;

}


/*==========================================
 IMAGE ZOOM
==========================================*/

.product-image{

    overflow:hidden;

}

.product-image img{

    transition:.5s;

}

.product-card:hover img{

    transform:scale(1.1);

}


/*==========================================
 VIEW ALL
==========================================*/

.view-all-btn i{

    transition:.35s;

}

.view-all-btn:hover i{

    transform:translateX(6px);

}


/*==========================================
 SHADOW
==========================================*/

.product-card{

    box-shadow:
    0 8px 20px rgba(0,0,0,.05),
    0 2px 5px rgba(0,0,0,.04);

}

.product-card:hover{

    box-shadow:
    0 25px 45px rgba(0,0,0,.15);

}


/*==========================================
 PRODUCT TITLE
==========================================*/

.product-info h4{

    min-height:28px;

}


/*==========================================
 ICON
==========================================*/

.badge-best i{

    color:#d62828;

    font-size:12px;

}

/*=========================
Product Card
==========================*/

.product-card{

    position:relative;
    background:#fff;
    border-radius:28px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
    transition:.35s ease;
    height:100%;

}

.product-card:hover{

    transform:translateY(-10px);
    box-shadow:0 30px 65px rgba(0,0,0,.15);

}

/*=========================
Product Image
==========================*/

.product-image{

    display:block;
    overflow:hidden;
    background:#fffaf5;

}

.product-image img{

    width:100%;
    height:380px;
    object-fit:cover;
    transition:.45s;

}

.product-card:hover .product-image img{

    transform:scale(1.10);

}

/*=========================
Badges
==========================*/

.sale-badge{

    position:absolute;
    left:18px;
    top:18px;
    background:var(--primary);
    color:#fff;
    padding:8px 14px;
    border-radius:40px;
    font-size:13px;
    font-weight:700;
    z-index:10;

}

.sale-badge.new{

    background:#1fa64b;

}

#lap-view{
        display:none !important;
    }


/*=========================
Wishlist
==========================*/

.wishlist-btn{

    position:absolute;
    right:18px;
    top:18px;

    width:46px;
    height:46px;

    border:none;

    border-radius:50%;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:center;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    transition:.3s;

    z-index:10;

}

.wishlist-btn i{

    font-size:20px;

}

.wishlist-btn:hover{

    background:var(--primary);
    color:#fff;
    transform:rotate(15deg);

}

/*=========================
Product Content
==========================*/

.product-content{

    padding:28px;

}

.product-rating{

    color:#ffb400;
    margin-bottom:12px;
    font-size:15px;

}

.product-rating span{

    color:#777;
    margin-left:6px;
    font-size:14px;

}

.product-content h4{

    font-size:24px;
    margin-bottom:10px;

}

.product-content h4 a{

    color:#222;
    transition:.3s;

}

.product-content h4 a:hover{

    color:var(--primary);

}

.product-weight{

    color:#888;
    font-size:15px;
    margin-bottom:18px;

}

/*=========================
Price
==========================*/

.price-row{

    display:flex;
    align-items:center;
    gap:15px;
    margin-bottom:25px;

}

.price{

    color:var(--primary);
    font-size:18px;
    font-weight:700;

}

.price-row del{

    color:#999;
    font-size:15px;

}

/*=========================
Buttons
==========================*/

.product-buttons{

    display:flex;
    flex-direction:column;
    gap:12px;

}

.product-buttons .btn{

    width:100%;
    border-radius:50px;

}

.quick-view{

    display:block;
    text-align:center;
    padding:14px;
    border-radius:50px;
    border:2px solid #ececec;
    font-weight:600;
    transition:.3s;

}

.quick-view:hover{

    background:var(--primary);
    color:#fff;
    border-color:var(--primary);

}

/*=========================
Hover Overlay
==========================*/

.product-card::after{

    content:"";

    /*position:absolute;*/

    left:0;

    bottom:0;

    width:100%;

    height:0;

    background:linear-gradient(transparent,rgba(166,30,34,.04));

    transition:.4s;

}

.product-card:hover::after{

    height:100%;

}

/*=========================
Responsive
==========================*/

@media(max-width:991px){

.product-content{

padding:22px;

}

.product-image img{

height:250px;

}

.product-content h4{

font-size:21px;

}

}

@media(max-width:576px){

.best-sellers{

padding:60px 0;

}

.product-image img{

height:220px;

}

.product-content{

padding:18px;

}

.product-content h4{

font-size:19px;

}

.price{

font-size: 18px !important;
        text-align: center;
        display: block;

}

.productSlider .swiper-button-next,
.productSlider .swiper-button-prev{

display:none;

}

}


.wishlist-btn.active{
    background:var(--primary);
    color:#fff;
}

.wishlist-btn.active i{
    color:#fff;
}


/*=====================================================
 Part 4B
 Festival Banner
======================================================*/

.festival-banner{
    position:relative;
    padding:10px 0;
    overflow:hidden;
    background:linear-gradient(135deg,#fff8ef 0%,#fff4e4 50%,#fffdf8 100%);
}

.festival-banner::before{
    content:"";
    position:absolute;
    width:450px;
    height:450px;
    border-radius:50%;
    background:#ffe7bf;
    left:-180px;
    top:-150px;
    opacity:.55;
}

.festival-banner::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    border-radius:50%;
    background:#fde6e7;
    right:-100px;
    bottom:-120px;
    opacity:.45;
}

.festival-wrapper{

    position:relative;
    z-index:2;
    /*background: url(../images/slide.jpg);*/
    /*min-height: 602px;*/
    height: auto;
    border-radius:35px;
    overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,.08);
    /*padding:70px;*/

}

/*=========================
Content
==========================*/

.festival-content{

    padding-right:30px;

}

.festival-tag{

    display:inline-block;
    background:#fff2df;
    color:var(--primary);
    padding:10px 22px;
    border-radius:50px;
    font-weight:600;
    margin-bottom:25px;

}

.festival-content h2{

    font-size:54px;
    font-weight:800;
    line-height:1.15;
    margin-bottom:25px;

}

.festival-content h2 span{

    display:block;
    color:var(--primary);

}

.festival-content p{

    font-size:18px;
    color:#666;
    margin-bottom:35px;

}

/*=========================
Features
==========================*/

.festival-features{

    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
    margin-bottom:40px;

}

.feature-item{

    display:flex;
    align-items:center;
    gap:12px;
    background:#fafafa;
    padding:16px 20px;
    border-radius:16px;
    transition:.35s;

}

.feature-item:hover{

    background:#fff2f2;
    transform:translateY(-4px);

}

.feature-item i{

    color:#16a34a;
    font-size:22px;

}

/*=========================
Buttons
==========================*/

.festival-buttons{

    display:flex;
    gap:20px;
    flex-wrap:wrap;

}

/*=========================
Image
==========================*/

.festival-image{

    position:relative;
    text-align:center;

}

.festival-image img{

    max-width:100%;
    animation:festivalFloat 5s ease-in-out infinite;

}

/*=========================
Discount Card
==========================*/

.discount-card{

    position:absolute;
    left:-20px;
    top:50px;
    width:160px;
    height:160px;
    border-radius:50%;
    background:linear-gradient(135deg,var(--primary),#cf3d44);
    color:#fff;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    box-shadow:0 25px 50px rgba(166,30,34,.25);

}

.discount-card small{

    font-size:14px;
    letter-spacing:2px;

}

.discount-card h3{

    font-size:54px;
    margin:0;
    line-height:1;

}

.discount-card span{

    font-weight:600;

}

/*=========================
Gift Card
==========================*/

/*.delivery-info{

    position:absolute;
    right:-20px;
    bottom:30px;
    display:flex;
    align-items:center;
    gap:16px;
    background:#fff;
    padding:20px;
    border-radius:20px;
    box-shadow:0 18px 40px rgba(0,0,0,.12);

}

.delivery-info i{

    width:60px;
    height:60px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:var(--primary);
    color:#fff;
    font-size:24px;
    border-radius:50%;

}

.delivery-info strong{

    display:block;

}

.delivery-info small{

    color:#888;

}
*/
/*=========================
Animation
==========================*/

@keyframes festivalFloat{

    0%{transform:translateY(0);}
    50%{transform:translateY(-12px);}
    100%{transform:translateY(0);}

}

/*=========================
Responsive
==========================*/

@media(max-width:991px){

.festival-wrapper{

padding:45px;

}

.festival-content{

padding-right:0;
text-align:center;
margin-bottom:50px;

}

.festival-content h2{

font-size:32px;

}

.festival-buttons{

justify-content:center;

}

.discount-card{

left:10px;
top:20px;

}

.delivery-info{

right:10px;
bottom:15px;

}

}

@media(max-width:576px){

.festival-banner{

padding:70px 0;

}

.festival-wrapper{

padding:25px;
border-radius:22px;

}

.festival-content h2{

font-size:32px;

}

.festival-content p{

font-size:16px;

}

.festival-features{

grid-template-columns:1fr;

}

.festival-buttons{

flex-direction:column;

}

.festival-buttons .btn{

width:100%;

}

.discount-card{

position:relative;
left:auto;
top:auto;
margin:20px auto;
width:120px;
height:120px;

}

.discount-card h3{

font-size:38px;

}

.delivery-info{

position:relative;
right:auto;
bottom:auto;
margin-top:20px;

}

}


/*=====================================================
 Part 5B
 Why Choose Ganga Sweets
======================================================*/

.why-choose{
    position:relative;
    padding:70px 0;
    overflow:hidden;
    background:linear-gradient(180deg,#fff 0%,#fffaf5 100%);
}

.why-choose::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    background:#fff0d8;
    border-radius:50%;
    left:-180px;
    top:-150px;
    opacity:.45;
}

.why-choose::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    background:#fde7e8;
    border-radius:50%;
    right:-120px;
    bottom:-120px;
    opacity:.4;
}

.why-choose .container{
    position:relative;
    z-index:2;
}

/*=================================
Feature Cards
==================================*/

.why-card{

    position:relative;
    background:#fff;
    border-radius:28px;
    padding:45px 30px;
    text-align:center;
    overflow:hidden;
    box-shadow:0 20px 45px rgba(0,0,0,.08);
    transition:.35s;

}

.why-card:hover{

    transform:translateY(-12px);
    box-shadow:0 30px 70px rgba(0,0,0,.12);

}

.why-card::before{

    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:100%;
    height:0;
    background:linear-gradient(180deg,#fff8ef,#fff2f2);
    transition:.4s;

}

.why-card:hover::before{

    height:100%;

}

.why-card>*{

    position:relative;
    z-index:2;

}

/*=================================
Icon
==================================*/

.why-icon{

    width:90px;
    height:90px;
    margin:0 auto 25px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;

    background:linear-gradient(135deg,
    var(--primary),
    #d03d43);

    color:#fff;
    font-size:36px;

    box-shadow:0 20px 45px rgba(166,30,34,.25);

    transition:.35s;

}

.why-card:hover .why-icon{

    transform:rotate(12deg) scale(1.08);

}

/*=================================
Typography
==================================*/

.why-card h4{

    font-size:20px;
    margin-bottom:15px;

}

.why-card p{

    color:#666;
    margin-bottom:0;
    line-height:1.4;

}

/*=================================
Bottom Area
==================================*/

.why-bottom{

    margin-top:100px;
    background:#fff;
    border-radius:35px;
    padding:70px;
    box-shadow:0 25px 60px rgba(0,0,0,.08);

}

.why-bottom img{

    border-radius:30px;
    width:100%;

}

.why-content{

    padding-left:35px;

}

.mini-title{

    display:inline-block;

    padding:10px 22px;

    background:#fff2df;

    color:var(--primary);

    border-radius:50px;

    font-weight:600;

    margin-bottom:22px;

}

.why-content h2{

    font-size:33px;
    font-weight:600;
    line-height:1.2;
    margin-bottom:22px;

}

.why-content p{

    font-size:18px;
    color:#666;
    margin-bottom:20px;

}

/*=================================
Counter Boxes
==================================*/

.counter-box{

    background:#fafafa;

    padding:24px;

    border-radius:20px;

    text-align:center;

    transition:.35s;

    border:1px solid #eee;

}

.counter-box:hover{

    background:#fff5f2;

    transform:translateY(-6px);

}

.counter-box h3{

    color:var(--primary);

    font-size:38px;

    margin-bottom:8px;

    font-weight:800;

}

.counter-box span{

    display:block;

    color:#777;

    font-size:16px;

}

/*=================================
Responsive
==================================*/

@media(max-width:991px){

.why-choose{

padding:80px 0;

}

.why-card{

padding:35px 25px;

}

.why-bottom{

padding:45px;

margin-top:70px;

}

.why-content{

padding-left:0;
margin-top:40px;
text-align:center;

}

.why-content h2{

font-size:38px;

}

}

@media(max-width:576px){

.why-choose{

padding:60px 0;

}

.why-card{

padding:28px 22px;
border-radius:22px;

}

.why-icon{

width:75px;
height:75px;
font-size:30px;

}

.why-card h4{

font-size:21px;

}

.why-bottom{

padding:25px;
border-radius:22px;

}

.why-content h2{

font-size:30px;

}

.counter-box{

padding:18px;

}

.counter-box h3{

font-size:30px;

}

}


/*=====================================================
 Part 7B
 Instagram Gallery + Newsletter
======================================================*/

.instagram-section{
    position:relative;
    padding:10px 0px;
    background:linear-gradient(180deg,#fff 0%,#fff8f2 100%);
    overflow:hidden;
}

.instagram-section::before{
    content:"";
    position:absolute;
    width:420px;
    height:420px;
    border-radius:50%;
    background:#fff1dc;
    left:-180px;
    top:-150px;
    opacity:.45;
}

.instagram-section::after{
    content:"";
    position:absolute;
    width:320px;
    height:320px;
    border-radius:50%;
    background:#fde7e8;
    right:-120px;
    bottom:-100px;
    opacity:.35;
}

.instagram-section .container{
    position:relative;
    z-index:2;
}

/*=====================================
Instagram Cards
=====================================*/

.instagram-card{

    position:relative;
    display:block;
    overflow:hidden;
    border-radius:22px;
    box-shadow:0 18px 45px rgba(0,0,0,.08);

}

.instagram-card img{

    width:100%;
    height:330px;
    object-fit:cover;
    transition:.45s ease;

}

.instagram-overlay{

    position:absolute;
    inset:0;

    display:flex;
    align-items:center;
    justify-content:center;

    background:rgba(166,30,34,.75);

    opacity:0;
    transition:.35s;

}

.text-left{
    text-align: left !important;
}

.instagram-overlay i{

    color:#fff;
    font-size:42px;
    transform:scale(.7);
    transition:.35s;

}

.instagram-card:hover img{

    transform:scale(1.10);

}

.instagram-card:hover .instagram-overlay{

    opacity:1;

}

.instagram-card:hover .instagram-overlay i{

    transform:scale(1);

}

/*=====================================
Newsletter
=====================================*/

.newsletter-box{

    margin-top:90px;

    padding:65px;

    border-radius:35px;

    background:linear-gradient(135deg,
    var(--primary),
    #c73941);

    color:#fff;

    box-shadow:0 25px 70px rgba(166,30,34,.25);

    position:relative;

    overflow:hidden;

}

.newsletter-box::before{

    content:"";

    position:absolute;

    width:300px;
    height:300px;

    border-radius:50%;

    background:rgba(255,255,255,.08);

    right:-120px;
    top:-100px;

}

.newsletter-tag{

    display:inline-block;

    padding:10px 22px;

    border-radius:50px;

    background:rgba(255,255,255,.15);

    backdrop-filter:blur(12px);

    margin-bottom:20px;

    font-weight:600;

}

.newsletter-box h2{

    font-size:46px;

    font-weight:800;

    margin-bottom:18px;

}

.newsletter-box p{

    color:rgba(255,255,255,.85);

    margin-bottom:0;

    line-height:1.8;

}

/*=====================================
Form
=====================================*/

.newsletter-form{

    display:flex;

    gap:15px;

    align-items:center;

}

.newsletter-form input{

    height:60px;

    border:none;

    border-radius:50px;

    padding:0 25px;

    font-size:16px;

}

.newsletter-form input:focus{

    box-shadow:none;

}

.newsletter-form .btn{

    height:60px;

    padding:0 34px;

    border-radius:50px;

    background:#fff;

    color:var(--primary);

    font-weight:700;

    border:none;

    transition:.35s;

}

.newsletter-form .btn:hover{

    background:#222;

    color:#fff;

}

/*=====================================
Responsive
=====================================*/

@media(max-width:991px){

.instagram-section{

padding:80px 0;

}

.instagram-card img{

height:200px;

}

.newsletter-box{

padding:45px;
text-align:center;

}

.newsletter-form{

margin-top:35px;

}

.newsletter-box h2{

font-size:38px;

}

}

@media(max-width:576px){

.instagram-section{

padding:60px 0;

}

.instagram-card{

border-radius:18px;

}

.instagram-card img{

height:160px;

}

.newsletter-box{

padding:28px;
border-radius:22px;
margin-top:60px;

}

.newsletter-box h2{

font-size:30px;

}

.newsletter-form{

flex-direction:column;

}

.newsletter-form input,
.newsletter-form .btn{

width:100%;

}

.newsletter-form .btn{

height:56px;

}

}


/*=====================================================
 Part 8B
 Premium Footer
======================================================*/

.footer{
    position:relative;
    background:#b61727;
    color:#d8d8d8;
    overflow:hidden;
}

.footer::before{
    content:"";
    position:absolute;
    width:500px;
    height:500px;
    left:-220px;
    top:-220px;
    border-radius:50%;
    background:rgba(255,255,255,.03);
}

.footer::after{
    content:"";
    position:absolute;
    width:380px;
    height:380px;
    right:-150px;
    bottom:-180px;
    border-radius:50%;
    background:rgba(255,255,255,.02);
}

/*=================================
Footer Top
==================================*/

.footer-top{
    padding:90px 0 10px;
    position:relative;
    z-index:2;
}

.footer-logo img{
    max-width:190px;
    margin-bottom:5px;
    border-radius: 12px;
}

.footer-about{
    line-height:1.5;
    color:#fff;
    margin-bottom:30px;
}

/*=================================
Footer Titles
==================================*/

.footer-widget h4{
    color:#fff;
    font-size:24px;
    font-weight:700;
    margin-bottom:30px;
    position:relative;
}

.footer-widget h4::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-12px;
    width:55px;
    height:3px;
    background:#ccc;
    border-radius:30px;
}

/*=================================
Footer Links
==================================*/

.footer-widget ul{
    list-style:none;
    margin:0;
    padding:0;
}

.footer-widget ul li{
    margin-bottom:14px;
    align-items: flex-start;
}

.footer-widget ul li a{
    color:#fff;
    transition:.3s;
    position:relative;
    padding-left:0;
}

.footer-widget ul li a:hover{
    color:#fff;
    padding-left:8px;
}

.footer-widget ul li a::before{
    content:"›";
    color:#ccc;
    margin-right:8px;
    opacity:0;
    transition:.3s;
}

.footer-widget ul li a:hover::before{
    opacity:1;
}


.gap-8 {
    gap: 0.5rem !important;
}

/*=================================
Contact
==================================*/

.footer-contact li{
    display:flex;
    align-items:center !important;
    gap:14px;
    margin-bottom:18px;
    color:#fff;
}

.footer-contact i{
    width:40px;
    height:40px;
    flex-shrink:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.06);
    color:#ccc;
    font-size:18px;
}

/*=================================
Social
==================================*/

.footer-social{
    display:flex;
    gap:14px;
    flex-wrap:wrap;
}

.footer-social a{
    width:46px;
    height:46px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:rgba(255,255,255,.08);
    color:#fff;
    transition:.35s;
}

.footer-social a:hover{
    background:var(--primary);
    transform:translateY(-6px);
}

/*=================================
Footer Middle
==================================*/

.footer-middle{
    border-top:1px solid rgba(255,255,255,.08);
    border-bottom:1px solid rgba(255,255,255,.08);
    padding:35px 0;
    position:relative;
    z-index:2;
}

.footer-middle h5{
    color:#fff;
    margin-bottom:20px;
    font-size:18px;
}

/*=================================
Payment Icons
==================================*/

.payment-icons{
    display:flex;
    gap:12px;
    flex-wrap:wrap;
}

.payment-icons img{
    height:42px;
    background:#fff;
    padding:8px;
    border-radius:10px;
    transition:.3s;
}

.payment-icons img:hover{
    transform:translateY(-4px);
}

/*=================================
App Buttons
==================================*/

.app-btn{
    display:inline-block;
    margin-left:12px;
}

.app-btn img{
    height:48px;
    transition:.3s;
}

.app-btn:hover img{
    transform:scale(1.05);
}

/*=================================
Footer Bottom
==================================*/

.footer-bottom{
    padding:5px 0;
    text-align:center;
    color:#9e9e9e;
    position:relative;
    z-index:2;
}

.footer-bottom p{
    margin:0;
    color: #ffd064;
}

/*=================================
Back To Top
==================================*/

.back-to-top{
    position:fixed;
    right:25px;
    bottom:25px;
    width:55px;
    height:55px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    font-size:22px;
    box-shadow:0 18px 40px rgba(166,30,34,.35);
    transition:.35s;
    opacity:0;
    visibility:hidden;
    z-index:999;
}

.back-to-top.active{
    opacity:1;
    visibility:visible;
}

.back-to-top:hover{
    background:#000;
    color:#fff;
    transform:translateY(-5px);
}

/*=================================
Responsive
==================================*/

@media (max-width:991px){

    .footer-top{
        padding:70px 0 45px;
    }

    .footer-widget{
        margin-bottom:35px;
    }

    .footer-middle{
        text-align:center;
    }

    .payment-icons{
        justify-content:center;
        margin-bottom:25px;
    }

    .app-btn{
        margin:8px;
    }

}

@media (max-width:576px){

    .footer-top{
        padding:55px 0 35px;
    }

    .footer-logo img{
        max-width:150px;
    }

    .footer-widget h4{
        font-size:20px;
    }

    .footer-social{
        justify-content:center;
    }

    .footer-middle{
        padding:25px 0;
    }

    .payment-icons img{
        height:36px;
    }

    .app-btn img{
        height:42px;
    }

    .back-to-top{
        width:48px;
        height:48px;
        right:15px;
        bottom:15px;
        font-size:18px;
    }

}

/*==========================================
TESTIMONIAL SECTION
==========================================*/

.testimonial-section{
    padding:90px 0;
    background:#f8f6f2;
    position:relative;
    overflow:hidden;
}

/* Decorative background */

.testimonial-section::before{

    content:"";

    position:absolute;

    inset:0;

    background-image:
        radial-gradient(circle,#d7c28b 1px,transparent 1px);

    background-size:70px 70px;

    opacity:.08;

    pointer-events:none;
}

/*==========================================
TITLE
==========================================*/

.testimonial-title{

    font-size:48px;

    font-weight:700;

    color:#111;

    font-family:'Playfair Display',serif;

    margin-bottom:10px;

}

.testimonial-title span{

    color:#000;

}

.testimonial-title .heart{

    color:#ff3b6b;

    font-size:40px;

    margin-left:8px;

    vertical-align:middle;

}

/*==========================================
IMAGE CARD
==========================================*/

.testimonial-image{

    border-radius:22px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 15px 35px rgba(0,0,0,.08);

    transition:.35s;

    height:100%;
}

.testimonial-image img{

    width:100%;

    height:100%;

    min-height:430px;

    object-fit:cover;

    display:block;

    transition:.45s;

}

.testimonial-image:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 45px rgba(0,0,0,.16);

}

.testimonial-image:hover img{

    transform:scale(1.05);

}

/*==========================================
REVIEW CARD
==========================================*/

.review-card{

    background:#005c56;

    color:#fff;

    border-radius:22px;

    padding:42px;

    height:100%;

    display:flex;

    flex-direction:column;

    justify-content:space-between;

    box-shadow:0 15px 35px rgba(0,0,0,.10);

    transition:.35s;

}

.review-card:hover{

    transform:translateY(-8px);

    box-shadow:0 25px 45px rgba(0,0,0,.18);

}

/*==========================================
REVIEW TITLE
==========================================*/

.review-card h3{

    font-size:24px;

    line-height:1.25;

    font-weight:700;

    margin-bottom:8px;

    color:#fff;

    font-family:'Jost',sans-serif;

}

/*==========================================
DESCRIPTION
==========================================*/

.review-card p{

    font-size:15px;

    line-height:1.5;

    color:rgba(255,255,255,.92);

    /*margin-bottom:40px;*/

}

/*==========================================
FOOTER
==========================================*/

.review-footer{

    display:flex;

    flex-direction:column;

    gap:14px;

}

.review-footer h5{

    margin:0;

    font-size:15px;

    font-weight:700;

    color:#fff;

}

/*==========================================
STAR RATING
==========================================*/

.stars{

    display:flex;

    gap:8px;

}

.stars i{

    color:#f8c63d;

    font-size:22px;

}

/*==========================================
PREMIUM HOVER EFFECT
==========================================*/

.review-card,
.testimonial-image{

    transition:
        transform .35s ease,
        box-shadow .35s ease;

}

.review-card:hover,
.testimonial-image:hover{

    transform:translateY(-10px);

}

/*==========================================
SHADOW
==========================================*/

.review-card{

    border:1px solid rgba(255,255,255,.08);

}

.review-card::after{

    content:"";

    position:absolute;

    inset:0;

    border-radius:22px;

    pointer-events:none;

}

/*==========================================
IMAGE RADIUS
==========================================*/

.testimonial-image img{

    border-radius:22px;

}

/*==========================================
CARD ALIGNMENT
==========================================*/

/*.review-card h3{

    min-height:110px;

}*/

.review-card p{

    flex:1;

}


/*==========================================
RESPONSIVE DESIGN
==========================================*/

/* Large Desktop */

@media (max-width:1400px){

    .testimonial-title{
        font-size:32px;
    }

    .testimonial-image img{
        min-height:380px;
    }

    .review-card{
        padding:36px;
    }

    .review-card h3{
        font-size:34px;
    }

    .review-card p{
        font-size:18px;
    }

}

/* Laptop */

@media (max-width:1200px){

    .testimonial-section{
        padding:80px 0;
    }

    .testimonial-title{
        font-size:38px;
    }

    .testimonial-image img{
        min-height:340px;
    }

    .review-card{
        padding:30px;
    }

    .review-card h3{
        font-size:30px;
    }

    .review-card p{
        font-size:17px;
        line-height:1.8;
    }

}

/* Tablet */

@media (max-width:991px){

    .testimonial-title{

        font-size:34px;

    }

    .testimonial-image img{

        min-height:320px;

    }

    .review-card{

        min-height:320px;

    }

    .review-card h3{

        font-size:28px;

        min-height:auto;

        margin-bottom:18px;

    }

    .review-card p{

        font-size:16px;

        margin-bottom:24px;

    }

    .review-footer h5{

        font-size:18px;

    }

}

/* Mobile */

@media (max-width:767px){


    .whatsapplogo{
        width: 30px !important;
        height: 30px !important;
    }


    #lap-view{
        display:flex !important;
    }


    .testimonial-section{

        padding:60px 0;

    }

    .testimonial-title{

        font-size:28px;

        line-height:1.4;

    }

    .testimonial-title .heart{

        font-size:24px;

    }

    .testimonial-image img{

        min-height:250px;

    }

    .review-card{

        padding:24px;

        border-radius:18px;

    }

    .review-card h3{

        font-size:24px;

    }

    .review-card p{

        font-size:15px;

        line-height:1.8;

    }

    .review-footer h5{

        font-size:17px;

    }

    .stars i{

        font-size:18px;

    }

}

/* Small Mobile */

@media (max-width:480px){

    .testimonial-title{

        font-size:24px;

    }

    .testimonial-image img{

        min-height:220px;

    }

    .review-card{

        padding:20px;

    }

    .review-card h3{

        font-size:22px;

    }

}

/*==========================================
HOVER EFFECTS
==========================================*/

.review-card{

    position:relative;

    overflow:hidden;

}

.review-card::before{

    content:"";

    position:absolute;

    left:-100%;

    top:0;

    width:100%;

    height:100%;

    background:linear-gradient(
        120deg,
        transparent,
        rgba(255,255,255,.12),
        transparent
    );

    transition:.8s;

}

.review-card:hover::before{

    left:100%;

}

.review-card:hover{

    background:#006861;

}

/*==========================================
IMAGE ANIMATION
==========================================*/

.testimonial-image{

    overflow:hidden;

}

.testimonial-image img{

    transition:transform .6s ease;

}

.testimonial-image:hover img{

    transform:scale(1.08);

}

/*==========================================
STAR ANIMATION
==========================================*/

.stars i{

    transition:.3s;

}

.review-card:hover .stars i{

    transform:scale(1.15);

    color:#ffd54f;

}

/*==========================================
NAME
==========================================*/

.review-footer h5{

    transition:.3s;

}

.review-card:hover .review-footer h5{

    color:#ffe082;

}

/*==========================================
SECTION ANIMATION
==========================================*/

.testimonial-section{

    animation:fadeUp .8s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==========================================
CARD BORDER
==========================================*/

.review-card{

    border:1px solid rgba(255,255,255,.08);

}

.review-card:hover{

    border-color:rgba(255,255,255,.25);

}

.testimonial-image{

    border:1px solid #f1e7d2;

}

.testimonial-image:hover{

    border-color:#d7b96d;

}

/*==========================================
SPACING
==========================================*/

.testimonial-section .row{

    align-items:stretch;

}

.review-card,
.testimonial-image{

    height:100%;

}

/*==========================================
 PREMIUM BACKGROUND
==========================================*/

.testimonial-section{

    position:relative;

    background:#faf8f3;

    overflow:hidden;

}

/* Premium floral pattern */

.testimonial-section::after{

    content:"";

    position:absolute;

    inset:0;

    opacity:.05;

    background-image:

        radial-gradient(circle,#d9b96b 2px,transparent 2px),

        radial-gradient(circle,#d9b96b 2px,transparent 2px);

    background-size:70px 70px;

    background-position:0 0,35px 35px;

    pointer-events:none;

}

/*==========================================
 SECTION TITLE
==========================================*/

.testimonial-title{

    letter-spacing:-1px;

    margin-bottom:60px;

    position:relative;

}

.testimonial-title::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:-18px;

    transform:translateX(-50%);

    width:120px;

    height:4px;

    border-radius:20px;

    background:linear-gradient(
        90deg,
        transparent,
        #d7b25b,
        transparent
    );

}

.testimonial-title span{

    font-weight:800;

}

/*==========================================
 IMAGE CARD
==========================================*/

.testimonial-image{

    position:relative;

    border-radius:22px;

    overflow:hidden;

    background:#fff;

}

.testimonial-image::before{

    content:"";

    position:absolute;

    inset:0;

    border-radius:22px;

    border:1px solid rgba(212,170,74,.15);

    z-index:2;

    pointer-events:none;

}

.testimonial-image img{

    transition:.6s ease;

}

.testimonial-image:hover img{

    transform:scale(1.08);

}

/*==========================================
 REVIEW CARD
==========================================*/

.review-card{

    position:relative;

    overflow:hidden;

    background:

    linear-gradient(
        135deg,
        #005f59 0%,
        #0b5751 100%
    );

}

.review-card::after{

    content:"";

    position:absolute;

    width:260px;

    height:260px;

    border-radius:50%;

    right:-120px;

    top:-120px;

    background:rgba(255,255,255,.04);

}

.review-card::before{

    content:"";

    position:absolute;

    width:180px;

    height:180px;

    border-radius:50%;

    left:-90px;

    bottom:-90px;

    background:rgba(255,255,255,.03);

}

/*==========================================
 REVIEW TITLE
==========================================*/

.review-card h3{

    position:relative;

    z-index:2;

    letter-spacing:-.4px;

}

.review-card p{

    position:relative;

    z-index:2;

}

/*==========================================
 FOOTER
==========================================*/

.review-footer{

    position:relative;

    z-index:2;

}

.review-footer h5{

    display:flex;

    align-items:center;

    gap:10px;

}

/*.review-footer h5::before{

    content:"";

    width:10px;

    height:10px;

    border-radius:50%;

    background:#ffd24d;

}*/

/*==========================================
 STARS
==========================================*/

.stars{

    margin-top:5px;

}

.stars i{

    text-shadow:

    0 2px 5px rgba(0,0,0,.25);

}

/*==========================================
 CARD SHADOW
==========================================*/

.review-card{

    box-shadow:

    0 10px 25px rgba(0,0,0,.10),

    0 20px 40px rgba(0,0,0,.08);

}

.review-card:hover{

    box-shadow:

    0 30px 60px rgba(0,0,0,.18);

}

/*==========================================
 IMAGE SHADOW
==========================================*/

.testimonial-image{

    box-shadow:

    0 12px 28px rgba(0,0,0,.08);

}

/*==========================================
 VIEWPORT ANIMATION
==========================================*/

.review-card,
.testimonial-image{

    opacity:0;

    animation:cardFade .8s forwards;

}

.review-card:nth-child(2){

    animation-delay:.15s;

}

.review-card:nth-child(4){

    animation-delay:.3s;

}

@keyframes cardFade{

    from{

        opacity:0;

        transform:translateY(40px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*==========================================
 PREMIUM SPACING
==========================================*/

.testimonial-section .container{

    max-width:1450px;

}

.review-card{

    min-height:300px;

}

.testimonial-image{

    min-height:430px;

}

/*==========================================
 CURSOR
==========================================*/

.review-card,
.testimonial-image{

    cursor:pointer;

}




/* Mobile submenu */

.has-submenu{

    position:relative;

}

.submenu{

    display:none;

    list-style:none;

    margin:0;

    padding:0 0 0 15px;

}

.submenu li{

    border-bottom:1px solid #f1f1f1;

}

.submenu li a{

    display:block;

    padding:12px 0;

    color:#555;

    text-decoration:none;

    font-size:15px;

}

.has-submenu.active>.submenu{

    display:block;

}

.submenu-toggle{

    cursor:pointer;

}

.submenu-toggle i{

    transition:.3s;

}

.has-submenu.active i{

    transform:rotate(180deg);

}

@media(min-width:992px){

    .submenu{

        display:none;

        position:absolute;

        top:100%;

        left:0;

        min-width:240px;

        background:#fff;

        padding:10px 0;

        box-shadow:0 10px 25px rgba(0,0,0,.1);

        border-radius:8px;

    }

    .has-submenu:hover>.submenu{

        display:block;

    }

    .submenu li a{

        padding:10px 18px;

    }

}





/*==================================================
CATEGORY SECTION
==================================================*/

.category-section{
    position:relative;
    background:#fff;
    padding:70px 0;
    overflow:hidden;
}

.section-heading h2{
    font-size:30px;
    font-weight:700;
    color:#222;
    margin-bottom:10px;
}

.section-heading p{
    color:#777;
    font-size:17px;
}

.sub-title{
    display:inline-block;
    padding:8px 20px;
    border-radius:30px;
    background:#fff7e6;
    color:#c99700;
    font-weight:600;
    margin-bottom:15px;
}

/*=========================================
SLIDER WRAPPER
=========================================*/

.category-slider-wrapper{
    position:relative;
    padding:0 60px;
}

/*=========================================
CATEGORY CARD
=========================================*/

.category-card{

    display:flex;

    flex-direction:column;

    align-items:center;

    text-align:center;

    text-decoration:none;

    transition:.35s;

    padding:10px;
    border: solid 1px;

}

.category-card:hover{

    transform:translateY(-8px);

}

.category-image{

    width:150px;

    height:150px;

    border-radius:50%;

    background:#eef8ea;

    display:flex;

    align-items:center;

    justify-content:center;

    padding:12px;

    transition:.35s;

    margin-bottom:0px;

    border:8px solid #e4f5df;

    box-shadow:0 12px 35px rgba(0,0,0,.08);

}

.category-card:hover .category-image{

    transform:scale(1.08);

    border-color:#d5efcc;

}

.category-image img{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:50%;

}

/*=========================================
TITLE
=========================================*/

.category-card h5{

    font-size:20px;

    font-weight:500;

    color:#202020;

    margin-bottom:10px;

    transition:.3s;

}

.category-card:hover h5{

    color:#d7a219;

}

.category-card span{

    color:#999;

    font-size:17px;

    font-weight:500;

}

/*=========================================
NAVIGATION
=========================================*/

.category-prev,
.category-next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:56px;

    height:56px;

    border-radius:50%;

    background:#fff;

    box-shadow:0 10px 25px rgba(0,0,0,.12);

    display:flex;

    align-items:center;

    justify-content:center;

    cursor:pointer;

    z-index:20;

    transition:.35s;

}

.category-prev{

    left:-10px;

}

.category-next{

    right:-10px;

    background:#2bb673;

    color:#fff;

}

.category-prev:hover{

    background:#2bb673;

    color:#fff;

}

.category-next:hover{

    background:#239861;

}

.category-prev i,
.category-next i{

    font-size:22px;

}

/*=========================================
SWIPER
=========================================*/

.categorySlider{

    overflow:hidden;

}

.categorySlider .swiper-slide{

    height:auto;

    display:flex;

    justify-content:center;

}

/*=========================================
SHADOW
=========================================*/

.category-card{

    position:relative;

}

.category-card::after{

    content:"";

    position:absolute;

    left:25%;

    right:25%;

    bottom:25px;

    height:14px;

    background:rgba(0,0,0,.08);

    filter:blur(18px);

    border-radius:50%;

    opacity:0;

    transition:.35s;

}

.category-card:hover::after{

    opacity:1;

}

/*=========================================
ANIMATION
=========================================*/

.category-image{

    animation:floatImage 5s ease-in-out infinite;

}

@keyframes floatImage{

    0%{

        transform:translateY(0px);

    }

    50%{

        transform:translateY(-6px);

    }

    100%{

        transform:translateY(0);

    }

}

/*=========================================
BACKGROUND DECORATION
=========================================*/

.category-section::before{

    content:"";

    position:absolute;

    width:420px;

    height:420px;

    border-radius:50%;

    background:#f9fbf8;

    left:-180px;

    top:-120px;

}

.category-section::after{

    content:"";

    position:absolute;

    width:320px;

    height:320px;

    border-radius:50%;

    background:#fff8e9;

    right:-150px;

    bottom:-150px;

}


.whatsapplogo {
    height: 60px;
    width: 60px;
    border-radius: 50%;
    margin: 30px;
    position: fixed;
    z-index: 99999;
    bottom: 15%;
    right: 0px;
    cursor: pointer;
}

.row_margin0>div[class^=col-] {
    margin: 0;
    padding: 0;
}


.whatsapplogo:before,
.whatsapplogo:after {
    position: absolute;
    content: "";
    height: 100%;
    width: 100%;
    top: 0%;
    right: 0%;
    border-radius: 50%;
    box-shadow: 0 0 15px #0dc143;
    animation: whatsapplogo 2s ease-out infinite;
}

@keyframes whatsapplogo {
    0% {
        opacity: 0;
        transform: scale(1);
    }

    80% {
        opacity: 1;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}




/* =====================================================
   HEADER CART
===================================================== */

.header-cart {
    position: relative;
}


/* Cart icon */

.cart-icon-link {
    display: block;

    text-decoration: none;
}

.cart-icon-wrap {
    width: 46px;
    height: 46px;

    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #fff7e8;

    color: #d99b2d;

    transition: all .25s ease;
}

.cart-icon-wrap i {
    font-size: 21px;
}

.cart-icon-wrap:hover {
    background: #f4b83f;

    color: #fff;

    transform: translateY(-1px);
}


/* Cart count */

.cart-count {
    position: absolute;

    top: -4px;
    right: -3px;

    min-width: 19px;
    height: 19px;

    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #d94c3d;

    color: #fff;

    border: 2px solid #fff;

    font-size: 9px;

    font-weight: 700;
}


/* =====================================================
   MINI CART
===================================================== */

.mini-cart {
    position: absolute;

    top: calc(100% + 18px);

    right: -12px;

    width: 370px;

    background: #fff;

    border: 1px solid #eadfd1;

    border-radius: 5px;

    box-shadow:
        0 15px 45px rgba(43, 31, 20, .18);

    z-index: 9999;

    opacity: 0;

    visibility: hidden;

    transform:
        translateY(10px);

    transition:
        opacity .22s ease,
        transform .22s ease,
        visibility .22s ease;
}


/* Show on hover */

.header-cart:hover .mini-cart {
    opacity: 1;

    visibility: visible;

    transform:
        translateY(0);
}


/* Small arrow */

.mini-cart-arrow {
    position: absolute;

    top: -8px;

    right: 18px;

    width: 16px;
    height: 16px;

    background: #fff;

    border-left: 1px solid #eadfd1;
    border-top: 1px solid #eadfd1;

    transform: rotate(45deg);
}


/* =====================================================
   MINI CART HEADER
===================================================== */

.mini-cart-header {
    position: relative;

    padding: 19px 20px 16px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    border-bottom: 1px solid #eee6dc;

    background: #fff;
}

.mini-cart-header h3 {
    margin: 0;

    color: #30271f;

    font-size: 18px;

    font-weight: 800;
}

.mini-cart-items {
    color: #9a8876;

    font-size: 11px;

    font-weight: 500;
}


/* =====================================================
   PRODUCTS
===================================================== */

.mini-cart-products {
    max-height: 300px;

    padding: 6px 18px;

    overflow-y: auto;
}


/* Product */

.mini-cart-product {
    min-height: 94px;

    position: relative;

    display: flex;

    align-items: center;

    gap: 12px;

    padding: 13px 0;

    border-bottom: 1px solid #f1eae2;
}

.mini-cart-product:last-child {
    border-bottom: 0;
}


/* Image */

.mini-product-image {
    width: 72px;
    height: 72px;

    position: relative;

    flex-shrink: 0;

    overflow: hidden;

    border-radius: 8px;

    background: #fff7ea;

    border: 1px solid #eee3d5;
}

.mini-product-image img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* Quantity */

.mini-product-qty {
    position: absolute;

    right: 4px;
    top: 4px;

    min-width: 18px;
    height: 18px;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0 4px;

    border-radius: 50%;

    background: #f1b43b;

    color: #fff;

    font-size: 9px;

    font-weight: 700;
}


/* Details */

.mini-product-details {
    min-width: 0;

    flex: 1;

    padding-right: 18px;
}

.mini-product-name {
    display: block;

    margin-bottom: 3px;

    overflow: hidden;

    color: #3d332b;

    font-size: 14px;

    font-weight: 700;

    text-decoration: none;

    white-space: nowrap;

    text-overflow: ellipsis;
}

.mini-product-name:hover {
    color: #d89c2d;
}

.mini-product-weight {
    display: block;

    margin-bottom: 5px;

    color: #a08d7b;

    font-size: 11px;
}

.mini-product-price {
    display: block;

    color: #3b3027;

    font-size: 13px;

    font-weight: 700;
}


/* Remove */

.mini-remove {
    width: 25px;
    height: 25px;

    position: absolute;

    top: 10px;
    right: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 0;

    border: 0;

    background: transparent;

    color: #777;

    cursor: pointer;

    transition: .2s ease;
}

.mini-remove i {
    font-size: 15px;
}

.mini-remove:hover {
    color: #d74d3e;

    transform: rotate(90deg);
}


/* =====================================================
   FOOTER
===================================================== */

.mini-cart-footer {
    padding: 17px 18px 18px;

    border-top: 1px solid #eee6dc;

    background: #fffdf9;
}


/* Total */

.mini-cart-total {
    display: flex;

    align-items: center;
    justify-content: space-between;

    margin-bottom: 14px;
}

.mini-cart-total span {
    color: #6f5c4b;

    font-size: 13px;

    font-weight: 600;
}

.mini-cart-total strong {
    color: #2f2822;

    font-size: 17px;

    font-weight: 800;
}


/* Buttons */

.mini-cart-actions {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 8px;
}

.mini-cart-btn {
    height: 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 7px;

    font-size: 11px;

    font-weight: 800;

    text-transform: uppercase;

    text-decoration: none;

    transition: all .2s ease;
}


/* View cart */

.mini-cart-btn.view-cart {
    background: #f8efe1;

    color: #725a40;

    border: 1px solid #eadbc7;
}

.mini-cart-btn.view-cart:hover {
    background: #efe1cc;

    color: #4f3d2b;
}


/* Checkout */

.mini-cart-btn.checkout {
    background: #f3b83f;

    color: #33271d;

    border: 1px solid #dfa32e;
}

.mini-cart-btn.checkout:hover {
    background: #e9aa2d;

    color: #fff;
}


/* =====================================================
   EMPTY CART
===================================================== */

.mini-cart-empty {
    padding: 35px 20px;

    text-align: center;
}

.mini-cart-empty i {
    display: block;

    margin-bottom: 10px;

    color: #e5b14b;

    font-size: 32px;
}

.mini-cart-empty strong {
    display: block;

    margin-bottom: 5px;

    color: #45372c;

    font-size: 14px;
}

.mini-cart-empty span {
    color: #9d8c7a;

    font-size: 11px;
}


/* =====================================================
   MOBILE
===================================================== */

@media (max-width: 767px) {

    .mini-cart {
        position: fixed;

        top: 70px;

        right: 12px;
        left: 12px;

        width: auto;

        max-width: none;
    }

    .mini-cart-arrow {
        right: 25px;
    }

}



/* Cart wrapper */
.mobile-cart {
    position: relative;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Cart icon */
.mobile-cart .cart-icon {
    font-size: 28px;
    line-height: 1;
    color: #555;
}

/* Cart count */
.mobile-cart .cart-count {
    position: absolute;
    top: 0;
    right: 0;

    min-width: 22px;
    height: 22px;
    padding: 0 5px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #f8c744;
    color: #111;

    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;

    z-index: 5;
}