/*==================================================
=                 GOOGLE FONT
==================================================*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap');

/*==================================================
=                 RESET
==================================================*/

*,
*::before,
*::after{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'Poppins',sans-serif;
    font-size:15px;
    line-height:1.6;
    color:#222;
    background:#ffffff;
    overflow-x:hidden;
}

img{
    display:block;
    width:100%;
    max-width:100%;
}

a{
    text-decoration:none;
    color:inherit;
}

ul{
    list-style:none;
}

button,
input{
    border:none;
    outline:none;
    font-family:inherit;
}

button{
    cursor:pointer;
}

/*==================================================
=                 VARIABLES
==================================================*/

:root{

    --primary:#3FA9F3;
    --primary-dark:#e6494e;

    --secondary:#222;

    --text:#555;

    --border:#ececec;

    --bg:#f8f8f8;

    --white:#fff;

    --radius:8px;

    --shadow:0 8px 30px rgba(0,0,0,.08);

    --transition:.3s ease;

    --container:1400px;

}

/*==================================================
=                 CONTAINER
==================================================*/

.container{

    width:100%;

    max-width:var(--container);

    margin:auto;

    padding-inline:20px;

}

/*==================================================
=                 SECTION
==================================================*/

section{

    padding:70px 0;

}

.section-title{

    text-align:center;

    margin-bottom:50px;

}

.section-title h2{

    font-size:34px;

    font-weight:700;

    color:#222;

    margin-bottom:10px;

}

.section-title p{

    color:#777;

}

/*==================================================
=                 BUTTON
==================================================*/

.btn-shop,
.btn-cart{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:48px;

    padding:0 30px;

    border-radius:30px;

    background:var(--primary);

    color:#fff;

    font-weight:600;

    transition:var(--transition);

}

.btn-shop:hover{

    background:#2473A7;
    color:#fff;
    transform:translateY(-2px);

}
.btn-cart:hover{

    background:#2473A7;
    color:#fff;
    transform:translateY(-2px);

}

/*==================================================
=                 BADGE
==================================================*/

.badge{

    position:absolute;

    left:15px;

    top:15px;

    z-index:10;

    color:#fff;

    font-size:12px;

    font-weight:600;

    padding:6px 14px;

    border-radius:30px;

}

.badge.sale{

    background:#ff3b3b;

}

.badge.new{

    background:#1fbf75;

}

/*==================================================
=                 PRICE
==================================================*/

.price{

    display:flex;

    align-items:center;

    gap:10px;

    margin-top:12px;

}

.new-price{

    color:var(--primary);

    font-size:22px;

    font-weight:700;

}

.old-price{

    color:#999;

    text-decoration:line-through;

}

/*==================================================
=                 RATING
==================================================*/

.rating{

    display:flex;

    gap:4px;

    color:#ffc107;

    margin-top:10px;

    font-size:14px;

}

/*==================================================
=                 UTILITY
==================================================*/

.text-center{

    text-align:center;

}

.mt-30{

    margin-top:30px;

}

.mb-30{

    margin-bottom:30px;

}

.shadow{

    box-shadow:var(--shadow);

}

.radius{

    border-radius:var(--radius);

}

.bg-light{

    background:var(--bg);

}
/*==================================================
=                    TOPBAR
==================================================*/

.topbar{
    background:#222;
    color:#fff;
    font-size:13px;
}

.topbar .container{
    display:flex;
    justify-content:space-between;
    align-items:center;
    min-height:42px;
    gap:20px;
}

.topbar-left,
.topbar-right{
    display:flex;
    align-items:center;
    gap:20px;
}

.topbar-left a,
.topbar-right a{
    color:#fff;
    transition:.3s;
}

.topbar-left a:hover,
.topbar-right a:hover{
    color:var(--primary);
}

.social{
    display:flex;
    gap:15px;
}

.auth{
    display:flex;
    gap:10px;
}

.auth a{
    padding:7px 16px;
    border-radius:25px;
    font-weight:500;
}

.register{
    background:var(--primary);
}

.login{
    border:1px solid rgba(255,255,255,.3);
}

.login:hover{
    background:#fff;
    color:#222 !important;
}


/*==================================================
=                    HEADER
==================================================*/

.header{
    position:sticky;
    top:0;
    z-index:999;
    background:#fff;
    border-bottom:1px solid var(--border);
    box-shadow:0 2px 15px rgba(0,0,0,.04);
}

.header .container{
    display:grid;
    grid-template-columns:220px 1fr auto;
    align-items:center;
    gap:40px;
    min-height:95px;
}


/*==================================================
=                    LOGO
==================================================*/

.logo{
    display:flex;
    align-items:center;
}

.logo img{
    width:170px;
    height:auto;
}


/*==================================================
=                    SEARCH
==================================================*/

.search-box{
    display:flex;
    align-items:center;
    position:relative;
}

.search-box input{

    width:100%;
    height:52px;

    padding:0 60px 0 22px;

    border:2px solid var(--border);

    border-radius:40px;

    transition:.3s;
}

.search-box input:focus{

    border-color:var(--primary);

}

.search-box button{

    position:absolute;

    right:6px;

    width:42px;

    height:42px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    transition:.3s;

}

.search-box button:hover{

    background:#2473A7;

}


/*==================================================
=                  HEADER RIGHT
==================================================*/

.header-right{

    display:flex;

    align-items:center;

    gap:35px;

}


/*==================================================
=                  CONTACT
==================================================*/

.contact{

    display:flex;

    align-items:center;

    gap:15px;

}

.contact i{

    width:48px;

    height:48px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:18px;

}

.contact small{

    display:block;

    color:#999;

    font-size:11px;

    margin-bottom:3px;

}

.contact strong{

    font-size:16px;

    color:#222;

}


/*==================================================
=                  ICONS
==================================================*/

.header-icons{

    display:flex;

    align-items:center;

    gap:18px;

}

.header-icons a{

    position:relative;

    width:46px;

    height:46px;

    border-radius:50%;

    border:1px solid var(--border);

    display:flex;

    justify-content:center;

    align-items:center;

    color:#222;

    transition:.3s;

}

.header-icons a:hover{

    background:var(--primary);

    color:#fff;

    border-color:var(--primary);

}

.header-icons span{

    position:absolute;

    right:-3px;

    top:-3px;

    width:20px;

    height:20px;

    border-radius:50%;

    background:var(--primary);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:11px;

    font-weight:600;

}


/*==================================================
=                 MOBILE BUTTON
==================================================*/

.menu-toggle{

    display:none;

    width:46px;

    height:46px;

    background:none;

    font-size:22px;

    color:#222;

}


/*==================================================
=                 RESPONSIVE
==================================================*/

@media(max-width:992px){

    .topbar{
        display:none;
    }

    .header .container{

        grid-template-columns:50px 1fr 50px;

        gap:15px;

        min-height:75px;

    }

    .menu-toggle{

        display:flex;

        align-items:center;

        justify-content:center;

    }

    .contact{

        display:none;

    }

    .header-right{

        justify-content:flex-end;

    }

    .header-icons{

        gap:8px;

    }

    .header-icons a{

        width:40px;

        height:40px;

    }

    .header-icons a:not(.cart){

        display:none;

    }

    .logo{

        justify-content:center;

    }

    .logo img{

        width:140px;

    }

    .search-box{

        grid-column:1 / -1;

        margin-bottom:18px;

    }

}

@media(max-width:576px){

    .header .container{

        padding-top:15px;

        padding-bottom:15px;

    }

    .logo img{

        width:120px;

    }

    .search-box input{

        height:46px;

        font-size:14px;

    }

}

/*==================================================
=                 NAVBAR
==================================================*/

.navbar{
    background:#fff;
    border-bottom:1px solid var(--border);
    position:relative;
    z-index:100;
}

.navbar .container{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:60px;
}

.nav-menu{
    display:flex;
    align-items:center;
    gap:40px;
}

.nav-menu li{
    position:relative;
}

.nav-menu a{
    display:block;
    padding:20px 0;
    font-size:15px;
    font-weight:600;
    color:#222;
    transition:.3s;
}

.nav-menu a:hover,
.nav-menu a.active{
    color:var(--primary);
}

.nav-menu li::after{
    content:"";
    position:absolute;
    left:0;
    bottom:0;
    width:0;
    height:2px;
    background:var(--primary);
    transition:.3s;
}

.nav-menu li:hover::after{
    width:100%;
}

/*==================================================
=              MOBILE MENU
==================================================*/

.mobile-menu{

    position:fixed;

    top:0;

    left:-320px;

    width:300px;

    height:100vh;

    background:#fff;

    z-index:2000;

    transition:.35s;

    overflow-y:auto;

    box-shadow:5px 0 30px rgba(0,0,0,.1);

}

.mobile-menu.active{

    left:0;

}

.mobile-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:20px;

    border-bottom:1px solid var(--border);

}

.mobile-header h3{

    font-size:18px;

}

.close-menu{

    background:none;

    font-size:24px;

}

.mobile-menu ul{

    padding:15px 0;

}

.mobile-menu li{

    border-bottom:1px solid #f4f4f4;

}

.mobile-menu a{

    display:block;

    padding:16px 25px;

    font-weight:500;

}

.mobile-menu a:hover{

    background:#fafafa;

    color:var(--primary);

}

.mobile-overlay{

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.45);

    opacity:0;

    visibility:hidden;

    transition:.3s;

    z-index:1500;

}

.mobile-overlay.active{

    opacity:1;

    visibility:visible;

}

/*==================================================
=                  HERO
==================================================*/

.hero{

    background:#f8f8f8;

    padding:35px 0 70px;

}

.hero-grid{

    display:grid;

    grid-template-columns:280px 1fr;

    gap:30px;

    align-items:stretch;

}

/*==================================================
=              CATEGORY SIDEBAR
==================================================*/

.category-sidebar{

    background:#fff;

    border-radius:12px;

    overflow:hidden;

    box-shadow:var(--shadow);

}

.category-title{

    background:var(--primary);

    color:#fff;

    padding:18px 22px;

    display:flex;

    align-items:center;

    gap:12px;

    font-weight:600;

}

.category-sidebar ul{

    padding:8px 0;

}

.category-sidebar li{

    border-bottom:1px solid #f3f3f3;

}

.category-sidebar li:last-child{

    border-bottom:none;

}

.category-sidebar a{

    display:flex;

    align-items:center;

    gap:14px;

    padding:16px 22px;

    transition:.3s;

}

.category-sidebar a i{

    width:22px;

    text-align:center;

    color:#777;

}

.category-sidebar a:hover{

    padding-left:30px;

    background:#fafafa;

    color:var(--primary);

}

.category-sidebar a:hover i{

    color:var(--primary);

}

/*==================================================
=               HERO SLIDER
==================================================*/

.hero-slider{
    border-radius:12px;
    overflow:hidden;
    box-shadow:var(--shadow);
    background:#fff;
}

.banner-slide{
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
}

.banner-slide img{
    width:100%;
    height:auto;
    display:block;
    object-fit:contain;
}

.heroSwiper .swiper-pagination-bullet{

    width:12px;

    height:12px;

    background:#ccc;

    opacity:1;

}

.heroSwiper .swiper-pagination-bullet-active{

    background:var(--primary);

}

.heroSwiper .swiper-button-next,
.heroSwiper .swiper-button-prev{

    width:48px;

    height:48px;

    border-radius:50%;

    background:#fff;

    box-shadow:0 8px 20px rgba(0,0,0,.08);

    color:#222;

}

.heroSwiper .swiper-button-next::after,
.heroSwiper .swiper-button-prev::after{

    font-size:18px;

    font-weight:bold;

}

.category-sidebar a{
    display:flex;
    align-items:center;
    gap:14px;
}

.category-sidebar a img{
    width:22px;
    height:22px;
    flex-shrink:0;
    object-fit:contain;
}

/*==================================================
=                RESPONSIVE
==================================================*/

@media(max-width:992px){

    .navbar{

        display:none;

    }

    .hero-grid{

        grid-template-columns:1fr;

    }

    .category-sidebar{

        display:none;

    }

    .banner-slide img{
        height:350px;
    }

}

@media(max-width:576px){

    .hero{

        padding:20px 0 40px;

    }

    .banner-slide img{
        height:200px;
    }

    .btn-shop{

        width:100%;

    }

}

/*==================================================
=                  FEATURES
==================================================*/

.features{
    background:#fff;
    padding:60px 0;
}

.feature-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.feature-item{
    display:flex;
    align-items:center;
    gap:18px;
    padding:28px;
    background:#fff;
    border:1px solid var(--border);
    border-radius:12px;
    transition:.3s;
}

.feature-item:hover{
    transform:translateY(-6px);
    box-shadow:var(--shadow);
}

.feature-icon{
    width:65px;
    height:65px;
    border-radius:50%;
    background:#fff5f5;
    color:var(--primary);
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:26px;
    flex-shrink:0;
}

.feature-icon img{
    width:80px;
    height:80px;
    object-fit:contain;
}

.feature-text h4{
    font-size:18px;
    margin-bottom:6px;
}

.feature-text p{
    color:#777;
    font-size:14px;
}

/*==================================================
=                    PROMO
==================================================*/

.promo{
    padding:20px 0 70px;
}

.promo-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:30px;
}

.promo-item{
    position:relative;
    overflow:hidden;
    border-radius:15px;
}

.promo-item img{
    height:280px;
    object-fit:cover;
    transition:.5s;
}

.promo-item:hover img{
    transform:scale(1.08);
}

.promo-content{
    position:absolute;
    inset:0;
    padding:40px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    color:#fff;
    background:linear-gradient(to right,rgba(0,0,0,.45),transparent);
}

.promo-content span{
    font-size:18px;
    margin-bottom:10px;
}

.promo-content h2{
    font-size:40px;
    line-height:1.2;
}

/*==================================================
=               PRODUCT SECTION
==================================================*/

.product-section{
    background:#fafafa;
}

.product-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:30px;
}

/*==================================================
=               PRODUCT CARD
==================================================*/

.product-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    position:relative;
    transition:.35s;
}

.product-card:hover{
    transform:translateY(-8px);
    box-shadow:var(--shadow);
}

.product-image{
    position:relative;
    overflow:hidden;
}

.product-image img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    transition:.45s;
}

.hover-img{
    position:absolute;
    inset:0;
    opacity:0;
}

.product-card:hover .hover-img{
    opacity:1;
}

.product-card:hover .product-image img:first-child{
    opacity:0;
}

.product-action{
    position:absolute;
    right:18px;
    top:18px;
    display:flex;
    flex-direction:column;
    gap:12px;
    opacity:0;
    transform:translateX(20px);
    transition:.35s;
}

.product-card:hover .product-action{
    opacity:1;
    transform:none;
}

.product-action button{
    width:42px;
    height:42px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 5px 15px rgba(0,0,0,.12);
    transition:.3s;
}

.product-action button:hover{
    background:var(--primary);
    color:#fff;
}

.product-info{
    padding:24px;
}

.product-info .category{
    color:#999;
    font-size:13px;
}

.product-info h3{
    margin:10px 0;
    font-size:19px;
    line-height:1.4;
}

.product-info h3 a:hover{
    color:var(--primary);
}

.btn-cart{
    width:100%;
    margin-top:20px;
}

/*==================================================
=                RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .product-grid{
        grid-template-columns:repeat(3,1fr);
    }

}

@media(max-width:992px){

    .feature-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .promo-grid{
        grid-template-columns:1fr;
    }

    .product-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:576px){

    .features{
        padding:40px 0;
    }

    .feature-grid{
        grid-template-columns:1fr;
        gap:15px;
    }

    .promo-content{
        padding:25px;
    }

    .promo-content h2{
        font-size:28px;
    }

    .product-grid{
        grid-template-columns:1fr;
        gap:20px;
    }

    .product-info{
        padding:18px;
    }

}

/*==================================================
=                 BEST SELLER
==================================================*/

.best-seller{
    padding:80px 0;
    background:#fff;
}

.best-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:25px;
}

.mini-product{
    display:flex;
    align-items:center;
    gap:18px;
    padding:18px;
    border:1px solid var(--border);
    border-radius:12px;
    transition:.3s;
    background:#fff;
}

.mini-product:hover{
    box-shadow:var(--shadow);
    transform:translateY(-5px);
}

.mini-product img{
    width:95px;
    height:95px;
    object-fit:cover;
    border-radius:10px;
}

.mini-product h4{
    font-size:17px;
    margin-bottom:8px;
    transition:.3s;
}

.mini-product:hover h4{
    color:var(--primary);
}

.mini-product span{
    color:var(--primary);
    font-weight:700;
}

/*==================================================
=                   BRANDS
==================================================*/

.brands{
    background:#fafafa;
    padding:70px 0;
}

.brand-grid{
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:30px;
    align-items:center;
}

.brand-grid img{
    max-width:140px;
    margin:auto;
    opacity:.5;
    transition:.3s;
}

.brand-grid img:hover{
    opacity:1;
    transform:scale(1.05);
}

/*==================================================
=                 NEWSLETTER
==================================================*/

.newsletter{
    padding:90px 0;
}

.newsletter-box{
    background:var(--primary);
    color:#fff;
    border-radius:16px;
    padding:60px;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:40px;
}

.newsletter-box h2{
    font-size:38px;
    margin-bottom:10px;
}

.newsletter-box p{
    opacity:.9;
}

.newsletter-box form{
    display:flex;
    width:520px;
    max-width:100%;
}

.newsletter-box input{
    flex:1;
    height:58px;
    padding:0 20px;
    border-radius:40px 0 0 40px;
    font-size:15px;
}

.newsletter-box button{
    width:180px;
    border-radius:0 40px 40px 0;
    background:#222;
    color:#fff;
    font-weight:600;
    transition:.3s;
}

.newsletter-box button:hover{
    background:#000;
}

/*==================================================
=                    FOOTER
==================================================*/

footer{
    background:#1f1f1f;
    color:#fff;
    padding:80px 0 40px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr 1.3fr;
    gap:50px;
}

.footer-logo{
    width:170px;
    margin-bottom:25px;
}

.footer-col p{
    color:#bbb;
    line-height:1.8;
}

.footer-col h3{
    margin-bottom:25px;
    font-size:20px;
}

.footer-col ul li{
    margin-bottom:15px;
}

.footer-col ul li a{
    color:#bbb;
    transition:.3s;
}

.footer-col ul li a:hover{
    color:#fff;
    padding-left:8px;
}

/*==================================================
=                  COPYRIGHT
==================================================*/

.copyright{
    background:#161616;
    color:#999;
    text-align:center;
    padding:18px 0;
    font-size:14px;
}

/* ================================
   FLOATING WHATSAPP
================================ */

.floating-whatsapp {

    position: fixed;

    right: 25px;
    bottom: 85px;

    width: 50px;
    height: 50px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #25D366;
    color: #fff;

    border-radius: 50%;

    text-decoration: none;

    font-size: 25px;

    box-shadow: 0 4px 12px rgba(0,0,0,.20);

    z-index: 1000;

    transition: .3s ease;
}

.floating-whatsapp:hover {

    transform: translateY(-3px);

    box-shadow: 0 6px 16px rgba(0,0,0,.25);
}

/*==================================================
=                BACK TO TOP
==================================================*/

.back-to-top{
    position:fixed;
    right:30px;
    bottom:30px;
    width:55px;
    height:55px;
    border-radius:50%;
    background:var(--primary);
    color:#fff;
    font-size:18px;
    display:flex;
    justify-content:center;
    align-items:center;
    box-shadow:0 15px 30px rgba(0,0,0,.15);
    opacity:0;
    visibility:hidden;
    transition:.3s;
    z-index:999;
}

.back-to-top.show{
    opacity:1;
    visibility:visible;
}

.back-to-top:hover{
    background:#2473A7;
    transform:translateY(-5px);
}

/* ================================
   MOBILE CATEGORY DROPDOWN
================================ */

.mobile-menu-list{
    list-style:none;
    margin:0;
    padding:0;
}

.mobile-dropdown{
    position:relative;
}

.dropdown-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:15px 25px;

    border:0;
    background:none;

    font-family:inherit;
    font-size:16px;
    color:inherit;

    cursor:pointer;
}

.dropdown-toggle i{
    font-size:12px;
    transition:.3s;
}

.mobile-dropdown.active .dropdown-toggle i{
    transform:rotate(180deg);
}


/* SUB MENU */

.dropdown-menu{
    display:none;

    list-style:none;

    margin:0;
    padding:5px 0 10px 15px;

    border-left:2px solid var(--primary-color);
}

.mobile-dropdown.active .dropdown-menu{
    display:block;
}


/* ITEM KATEGORI */

.dropdown-menu li{
    margin:0;
}

.dropdown-menu li a{
    display:flex;
    align-items:center;
    gap:12px;

    padding:10px 5px;

    text-decoration:none;
}

.dropdown-menu li a img{
    width:32px;
    height:32px;

    object-fit:contain;
    flex-shrink:0;
}

.dropdown-menu li a span{
    font-size:14px;
}


/* MOBILE */

@media(max-width:768px){

    .dropdown-menu{
        padding-left:12px;
    }

}

/*==================================================
=                 RESPONSIVE
==================================================*/

@media(max-width:1200px){

    .best-grid{
        grid-template-columns:repeat(2,1fr);
    }

    .brand-grid{
        grid-template-columns:repeat(3,1fr);
    }

    .footer-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:992px){

    .newsletter-box{
        flex-direction:column;
        text-align:center;
        padding:40px;
    }

    .newsletter-box h2{
        font-size:30px;
    }

}

@media(max-width:576px){

    .best-grid{
        grid-template-columns:1fr;
    }

    .brand-grid{
        grid-template-columns:repeat(2,1fr);
        gap:20px;
    }

    .newsletter-box{
        padding:30px 20px;
    }

    .newsletter-box form{
        flex-direction:column;
        gap:12px;
    }

    .newsletter-box input,
    .newsletter-box button{
        width:100%;
        border-radius:40px;
        height:52px;
    }

    .footer-grid{
        grid-template-columns:1fr;
        gap:35px;
    }

    .back-to-top{
        width:48px;
        height:48px;
        right:18px;
        bottom:18px;
    }

}

.hidden{
    opacity:0;
    transform:translateY(40px);
    transition:.7s ease;
}

.show{
    opacity:1;
    transform:none;
}

.header.sticky{
    animation:sticky .35s;
}

@keyframes sticky{
    from{
        transform:translateY(-100%);
    }
    to{
        transform:translateY(0);
    }
}

/*==================================================
=                 VIDEO PROMO
==================================================*/

.video-promo{
    padding:80px 0;
    background:#fff;
}

.video-promo .container{
    max-width:1000px;
}

.youtube-lite{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    margin:auto;
    overflow:hidden;
    border-radius:16px;
    background:#000;
    box-shadow:var(--shadow);
    cursor:pointer;
}

.youtube-lite img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
    transition:.4s;
}

.youtube-lite:hover img{
    transform:scale(1.03);
}

.play-btn{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:80px;
    height:80px;
    border-radius:50%;
    background:#ff0000;
    color:#fff;
    font-size:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:.3s;
    z-index:2;
}

.youtube-lite:hover .play-btn{
    transform:translate(-50%,-50%) scale(1.08);
}

.youtube-lite iframe{
    width:100%;
    height:100%;
    border:0;
}

/*==================================================
=                 RESPONSIVE
==================================================*/

@media(max-width:768px){

    .video-promo{
        padding:60px 0;
    }

    .video-promo .container{
        max-width:100%;
    }

    .play-btn{
        width:60px;
        height:60px;
        font-size:22px;
    }

}

/*==================================================
=             FEATURED POST
==================================================*/

.featured-post{
    padding:80px 0;
    background:#fafafa;
}

.post-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
}

.post-card{
    background:#fff;
    border-radius:14px;
    overflow:hidden;
    transition:.3s;
    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.post-card:hover{
    transform:translateY(-8px);
    box-shadow:0 15px 35px rgba(0,0,0,.12);
}

.post-image{
    display:block;
    overflow:hidden;
}

.post-image img{
    width:100%;
    aspect-ratio:16/9;
    object-fit:cover;
    transition:.4s;
}

.post-card:hover .post-image img{
    transform:scale(1.05);
}

.post-content{
    padding:25px;
}

.post-category{
    display:inline-block;
    margin-bottom:12px;
    padding:6px 14px;
    background:#eef6ff;
    color:var(--primary);
    border-radius:30px;
    font-size:13px;
    font-weight:600;
}

.post-content h3{
    font-size:22px;
    margin-bottom:15px;
    line-height:1.4;
}

.post-content h3 a:hover{
    color:var(--primary);
}

.post-content p{
    color:#666;
    margin-bottom:20px;
    line-height:1.8;
}

.read-more{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    color:var(--primary);
}

.read-more:hover{
    gap:12px;
}

@media(max-width:992px){

    .post-grid{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:576px){

    .post-grid{
        grid-template-columns:1fr;
    }

}

/*==================================================
=                 FOOTER SOCIAL
==================================================*/

.footer-social{
    display:flex;
    flex-direction:column;
    gap:14px;
}

.footer-social a{
    display:flex;
    align-items:center;
    gap:14px;
    color:#bbb;
    transition:.3s;
}

.footer-social a:hover{
    color:#fff;
}

.footer-social i{
    width:42px;
    height:42px;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    transition:.3s;
}

.footer-social a:hover i{
    background:var(--primary);
    transform:translateY(-2px);
}

.footer-social span{
    font-weight:500;
}