:root {
    --pink: #ff2d7a;
    --light: #fff6f9;
    --dark: #2d2d2d;
}

body {
    font-family: 'Poppins', sans-serif;
    color: #333;
}

.top-bar {
    background: var(--pink);
    color: #fff;
    text-align: center;
    padding: 8px;
    font-size: 14px;
}

.logo {
    height: 60px;
}

/* *{
    outline:1px solid red;
} */

/* ==========================
   PREMIUM NAVBAR
========================== */

.custom-navbar {
    background: #fff;
    padding: 18px 0;
    border-bottom: 1px solid #f3f3f3;
    position: sticky;
    top: 0;
    z-index: 999;
}

.logo {
    height: 70px;
}

.navbar-nav {
    gap: 12px;
}

.nav-link {
    color: #222 !important;
    font-size: 15px;
    font-weight: 500;
    position: relative;
    padding: 10px 15px !important;
}

.nav-link:hover {
    color: #ff2d7a !important;
}

.nav-link.active {
    color: #ff2d7a !important;
}

.nav-link.active::after {
    content: "";
    width: 35px;
    height: 2px;
    background: #ff2d7a;
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
}

/* ==========================
   HEADER ICONS
========================== */

.header-icons {
    display: flex;
    align-items: center;
    gap: 22px;
}

.header-icon {
    color: #333;
    font-size: 21px;
    text-decoration: none;
    position: relative;
    transition: all .25s ease;
}

.header-icon:hover {
    color: #ff2d7a;
    transform: translateY(-1px);
}

.cart-icon {
    position: relative;
}

.cart-count {
    position: absolute;
    top: -8px;
    right: -10px;

    width: 18px;
    height: 18px;

    border-radius: 50%;

    background: #ff2d7a;
    color: #fff;

    font-size: 10px;
    font-weight: 600;

    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==========================
   DROPDOWN
========================== */

.dropdown-menu {
    border: none;
    border-radius: 15px;
    padding: 10px;
    box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.dropdown-item {
    border-radius: 10px;
    padding: 10px 15px;
}

.dropdown-item:hover {
    background: #fff3f8;
    color: #ff2d7a;
}

/* ===========================
   HERO SECTION
=========================== */
/* HERO IMAGE AREA */

.hero-image-wrapper{
    display:flex;
    justify-content:center;
    align-items:center;
    position:relative;
}

/* ARCH CONTAINER */

.hero-arch{

    width:520px;
    height:650px;

    border-radius:
        260px 260px 0 0;

    overflow:hidden;

    position:relative;

    background:#fff;

    border:8px solid #fff;

    box-shadow:
        0 25px 60px rgba(0,0,0,.08);
}


/* IMAGE INSIDE ARCH */

.hero-image{

    width:100%;
    height:100%;

    object-fit:cover;
    object-position:center top;

    display:block;
}

.hero-arch::before{

    content:"";

    position:absolute;

    width:180px;
    height:180px;

    background:#ffd6e7;

    border-radius:50%;

    top:40px;
    right:-60px;

    z-index:1;
}

.hero-image{
    position:relative;
    z-index:2;
}


/* ==========================
   HERO SECTION
========================== */

.hero-section{
    background:
    linear-gradient(
        180deg,
        #fff,
        #fff8fb
    );

    overflow:hidden;
}

.min-vh-75{
    min-height:75vh;
}

.hero-label{

    display:inline-block;

    background:#fff0f6;

    color:#ff2d7a;

    padding:10px 18px;

    border-radius:50px;

    font-size:13px;

    font-weight:600;

    letter-spacing:1px;

    margin-bottom:25px;
}

.hero-title{

    font-family:'Playfair Display', serif;

    font-size:68px;

    line-height:1.1;

    font-weight:700;

    color:#222;

    margin-bottom:25px;
}

.hero-description{

    color:#666;

    font-size:17px;

    line-height:1.9;

    max-width:550px;
}

.hero-buttons{

    margin-top:35px;

    display:flex;

    gap:15px;

    flex-wrap:wrap;
}

.btn-main{
    background:#ff2d7a;
    color:#fff;
    text-decoration:none;
    padding:14px 32px;
    border-radius:50px;
    font-weight:600;
    transition:.3s;
}

.btn-main:hover{

    background:#e6246d;

    color:white;
}

.btn-outline-main{

    border:1px solid #ff2d7a;

    color:#ff2d7a;

    text-decoration:none;

    padding:14px 32px;

    border-radius:50px;

    font-weight:600;
}

/* .hero-image{

    max-height:700px;

    width:auto;

    max-width:100%;
} */

/* .carousel-indicators{

    bottom:20px;
}

.carousel-indicators button{

    width:12px !important;

    height:12px !important;

    border-radius:50%;

    background:#ff2d7a !important;
} */

@media(max-width:991px){

    .hero-title{

        font-size:42px;
    }

    .hero-description{

        font-size:15px;
    }

    .hero-image{

        max-height:420px;

        margin-top:40px;
    }

    .hero-buttons{

        justify-content:center;
    }

    .hero-section{

        text-align:center;
    }

}



/* ==========================
   CATEGORIES
========================== */

.categories-section{
    padding:100px 0;
}

.section-header{
    text-align:center;
    margin-bottom:60px;
}

.section-header span{
    color:#ff2d7a;
    font-size:13px;
    font-weight:600;
    letter-spacing:2px;
}

.section-header h2{
    margin-top:15px;
    font-size:48px;
    font-weight:700;
}

.section-header p{
    color:#777;
    max-width:600px;
    margin:auto;
}

.category-card{
    position:relative;
    overflow:hidden;
    border-radius:30px;
    cursor:pointer;
}

.category-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.5s;
}

.category-card:hover img{
    transform:scale(1.08);
}

.large-card{
    height:500px;
}

.small-card{
    height:280px;
}

.overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        to top,
        rgba(0,0,0,.65),
        rgba(0,0,0,.1)
    );
}

.category-content{
    position:absolute;
    bottom:40px;
    left:40px;
    color:white;
    z-index:2;
}

.category-content span{
    font-size:14px;
    letter-spacing:1px;
}

.category-content h3{
    font-size:34px;
    margin:10px 0;
}

.category-content h4{
    font-size:24px;
}

.category-content a{
    color:white;
    text-decoration:none;
    font-weight:600;
}

.collections-section{
    padding:100px 0;
}

.collection-card{
    text-align:center;
    transition:.3s;
}

.collection-card img{
    width:100%;
    aspect-ratio:1/1;
    object-fit:cover;
    border-radius:24px;
}

.collection-card h5{
    margin-top:15px;
    font-weight:600;
}

.collection-card:hover{
    transform:translateY(-8px);
}



/* ==========================
   COLLECTIONS
========================== */

.collections-section{
    padding:100px 0;
}

.section-title span{
    color:#ff2d7a;
    font-size:13px;
    letter-spacing:2px;
    font-weight:600;
}

.section-title h2{
    font-family:'Playfair Display',serif;
    font-size:48px;
    margin:15px 0;
}

.section-title p{
    color:#777;
}

.collection-card{

    display:block;

    text-decoration:none;

    color:#222;

    transition:.4s;
}

.collection-card img{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    border-radius:28px;

    transition:.4s;
}

.collection-card:hover img{

    transform:scale(1.05);
}

.collection-content{

    text-align:center;

    margin-top:18px;
}

.collection-content h5{

    font-size:20px;

    font-weight:600;
}

.collection-content span{

    color:#ff2d7a;

    font-size:14px;
}

/* ==========================
   PRODUCTS SECTION
========================== */

.products-section{
    padding:100px 0;
    background:#fff;
}

.product-card{

    background:#fff;

    border-radius:30px;

    overflow:hidden;

    transition:.3s;

    position:relative;
}

.product-card:hover{

    transform:translateY(-8px);
}

.product-image-wrapper{

    position:relative;

    overflow:hidden;
}

.product-image{

    width:100%;

    aspect-ratio:1/1;

    object-fit:cover;

    transition:.5s;
}

.product-card:hover .product-image{

    transform:scale(1.08);
}

.sale-badge{

    position:absolute;

    top:15px;
    left:15px;

    background:#ff2d7a;

    color:white;

    padding:6px 12px;

    border-radius:30px;

    font-size:12px;

    z-index:5;
}

.wishlist-btn {
    position: absolute;
    top: 18px;
    right: 18px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    border: none;
    background: #fff;
    color: #ff2b7a;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    box-shadow: 0 8px 25px rgba(0,0,0,0.08);
    z-index: 5;
    transition: 0.3s ease;
}

.wishlist-form {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 5;
}

.wishlist-form .wishlist-btn {
    position: static;
}

.wishlist-btn:hover {
    background: #ff2b7a;
    color: #fff;
}

.product-overlay{

    position:absolute;

    bottom:-60px;

    left:0;
    right:0;

    transition:.4s;
}

.product-card:hover .product-overlay{

    bottom:20px;
}

.quick-view-btn{

    display:block;

    width:80%;

    margin:auto;

    background:white;

    color:#222;

    text-align:center;

    padding:12px;

    border-radius:50px;

    text-decoration:none;

    font-weight:600;
}

.product-info{

    padding:20px;
}

.product-info small{

    color:#888;
}

.product-info h5{

    margin-top:8px;

    font-size:18px;

    font-weight:600;
}

.product-price{

    margin-top:12px;

    font-size:22px;

    font-weight:700;

    color:#222;
}

.product-price span{

    color:#999;

    margin-left:10px;

    text-decoration:line-through;

    font-size:16px;
}

.cart-btn{

    width:100%;

    margin-top:15px;

    border:none;

    background:#ff2d7a;

    color:white;

    padding:12px;

    border-radius:50px;

    font-weight:600;
}

/* ==========================
   MOTHER'S CHOICE
========================== */

.mothers-choice-section{

    padding:100px 0;

    background:#fff8fb;
}

.editorial-content{

    padding-right:30px;
}

.editorial-content span{

    color:#ff2d7a;

    font-size:13px;

    font-weight:600;

    letter-spacing:2px;
}

.editorial-content h2{

    font-family:'Playfair Display',serif;

    font-size:54px;

    margin:20px 0;
}

.editorial-content p{

    color:#666;

    line-height:1.9;

    margin-bottom:30px;
}

/* ==========================
   SPECIAL OFFER
========================== */

.special-offer-section{

    padding:100px 0;
}

.offer-banner{

    background:
    linear-gradient(
        135deg,
        #ff2d7a,
        #ff5f9f
    );

    padding:50px;

    border-radius:35px;

    color:white;
}

.offer-content span{

    font-size:13px;

    letter-spacing:2px;

    font-weight:600;
}

.offer-content h2{

    font-family:'Playfair Display', serif;

    font-size:52px;

    margin:15px 0;
}

/* Desktop */

/* ==========================
   COUNTDOWN
========================== */

.countdown{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:15px;
}

.time-box{

    width:90px;
    height:90px;

    background:#fff;

    border-radius:20px;

    display:flex;

    flex-direction:column;

    justify-content:center;

    align-items:center;
}

.time-box h3{

    color:#ff2d7a;

    margin:0;

    font-size:28px;

    font-weight:700;

    line-height:1;
}

.time-box small{

    color:#666;

    font-size:13px;
}

/* MOBILE */

@media(max-width:768px){

    .countdown{

        display:grid;

        grid-template-columns:repeat(4,1fr);

        gap:6px;

        width:100%;
    }

    .time-box{

        width:auto;
        height:65px;
    }

    .time-box h3{

        font-size:18px;
    }

    .time-box small{

        font-size:10px;
    }

}


.discount-badge{

    position:absolute;

    top:15px;
    left:15px;

    background:#ff2d7a;

    color:white;

    padding:6px 12px;

    border-radius:30px;

    font-size:12px;
}

.add-cart-btn{

    width:100%;

    margin-top:15px;

    height:48px;

    border:none;

    border-radius:50px;

    background:#ff2d7a;

    color:#fff;

    font-weight:600;

    transition:.3s;
}

.add-cart-btn:hover{

    background:#e91e63;
}

/* ==========================
   WHY US
========================== */
/* ==========================
   TRUST STRIP
========================== */

.trust-strip{

    padding:80px 0;

    background:#fffafc;
}

.trust-wrapper{

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:20px;
}

.trust-item{

    background:#fff;

    padding:25px;

    text-align:center;

    border-radius:25px;

    transition:.3s;

    box-shadow:0 10px 25px rgba(0,0,0,.05);
}

.trust-item:hover{

    transform:translateY(-5px);
}

.trust-item i{

    font-size:32px;

    color:#ff2d7a;

    margin-bottom:15px;
}

.trust-item h6{

    font-weight:600;

    margin-bottom:8px;
}

.trust-item p{

    font-size:14px;

    color:#777;

    margin:0;
}

@media(max-width:768px){

    .trust-wrapper{

        grid-template-columns:repeat(2,1fr);
    }

}

/* ==========================
   HELP SECTION
========================== */

.help-section{

    padding:90px 0;
}

.help-box{

    background:
    linear-gradient(
        135deg,
        #ff2d7a,
        #ff5f9f
    );

    color:white;

    text-align:center;

    padding:60px;

    border-radius:35px;
}

.help-box h2{

    font-family:'Playfair Display', serif;

    font-size:52px;

    margin-bottom:15px;
}

.help-box p{

    font-size:18px;

    margin-bottom:25px;
}

.whatsapp-btn-large{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:white;

    color:#25D366;

    text-decoration:none;

    padding:14px 28px;

    border-radius:50px;

    font-weight:600;
}

/* ==========================
   FLOATING WHATSAPP
========================== */

.floating-whatsapp{

    position:fixed;

    right:20px;

    bottom:20px;

    width:60px;

    height:60px;

    background:#25D366;

    color:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:30px;

    text-decoration:none;

    z-index:9999;

    box-shadow:0 10px 25px rgba(0,0,0,.2);
}

.floating-whatsapp:hover{

    color:white;

    transform:scale(1.08);
}


/* ==========================
   REVIEWS
========================== */

.reviews-section{

    padding:100px 0;

    background:#fff;
}

.review-card{

    background:#fffafc;

    padding:35px;

    border-radius:30px;

    height:100%;

    transition:.3s;
}

.review-card:hover{

    transform:translateY(-8px);
}

.review-stars{

    color:#ffb300;

    font-size:20px;

    margin-bottom:20px;
}

.review-card p{

    color:#555;

    line-height:1.9;

    margin-bottom:25px;
}

.review-user{

    display:flex;

    align-items:center;

    gap:15px;
}

.review-user img{

    width:55px;

    height:55px;

    border-radius:50%;

    object-fit:cover;
}

.review-user h6{

    margin:0;
}

.review-user small{

    color:#888;
}

/* ==========================
   FAMILY SECTION
========================== */

.family-section{

    padding:100px 0;
}

.family-box{

    background:
    linear-gradient(
        135deg,
        #fff4f8,
        #ffe6f0
    );

    padding:60px;

    border-radius:35px;
}

.family-box span{

    color:#ff2d7a;

    font-size:13px;

    font-weight:600;

    letter-spacing:2px;
}

.family-box h2{

    font-family:'Playfair Display', serif;

    font-size:52px;

    margin:15px 0;
}

.family-box p{

    color:#666;
}

.newsletter-form{

    display:flex;

    gap:10px;
}

.newsletter-form input{

    flex:1;

    border:none;

    border-radius:50px;

    padding:15px 25px;

    outline:none;
}

.newsletter-form button{

    border:none;

    background:#ff2d7a;

    color:white;

    padding:15px 30px;

    border-radius:50px;

    font-weight:600;
}

@media(max-width:768px){

    .family-box{

        padding:30px;
        text-align:center;
    }

    .family-box h2{

        font-size:36px;
    }

    .newsletter-form{

        flex-direction:column;
        margin-top:20px;
    }

}

/* ==========================
   FOOTER
========================== */

.footer-section{

    background:#1f1f1f;

    color:#fff;

    padding:80px 0 30px;
}

.footer-brand h3{

    font-family:'Playfair Display', serif;

    font-size:38px;

    margin-bottom:20px;
}

.footer-brand p{

    color:#cfcfcf;

    line-height:1.9;
}

.footer-section h5{

    margin-bottom:25px;

    font-weight:600;
}

.footer-section ul{

    padding:0;

    list-style:none;
}

.footer-section ul li{

    margin-bottom:12px;
}

.footer-section ul li a{

    color:#cfcfcf;

    text-decoration:none;

    transition:.3s;
}

.footer-section ul li a:hover{

    color:#ff2d7a;
}

.footer-social{

    display:flex;

    gap:12px;

    margin-top:25px;
}

.footer-social a{

    width:42px;

    height:42px;

    background:#333;

    color:white;

    border-radius:50%;

    display:flex;

    justify-content:center;

    align-items:center;

    text-decoration:none;

    transition:.3s;
}

.footer-social a:hover{

    background:#ff2d7a;
}

.footer-section hr{

    border-color:#444;

    margin:50px 0 25px;
}

.footer-bottom{

    text-align:center;
}

.footer-bottom p{

    color:#aaa;

    margin:0;
}

/* ==========================
   SHOP PAGE
========================== */

.shop-banner{

    padding:100px 0 60px;

    text-align:center;

    background:#fffafc;
}

.shop-banner h1{

    font-family:'Playfair Display',serif;

    font-size:64px;
}

.shop-categories{

    padding:30px 0;
}

.category-pills{

    display:flex;

    gap:15px;

    justify-content:center;

    flex-wrap:wrap;
}

.category-pills a{

    padding:10px 22px;

    border-radius:50px;

    text-decoration:none;

    color:#333;

    background:#f8f8f8;
}

.category-pills a.active{

    background:#ff2d7a;

    color:#fff;
}

.shop-section{

    padding:60px 0 100px;
}

.filter-box{

    background:#fffafc;

    padding:30px;

    border-radius:25px;

    position:sticky;

    top:100px;
}

.shop-toolbar{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:30px;
}

.size-filter{

    display:flex;

    gap:10px;

    flex-wrap:wrap;
}

.size-filter span{

    border:1px solid #ddd;

    padding:8px 14px;

    border-radius:10px;

    cursor:pointer;
}

.color-filter{

    display:flex;

    gap:12px;
}

.color-filter span{

    width:25px;

    height:25px;

    border-radius:50%;

    display:block;
}

.red{
    background:red;
}

.green{
    background:green;
}

.black{
    background:black;
}

.pink{
    background:pink;
}

/* ==========================
   PRODUCT PAGE
========================== */

.product-page{

    padding:80px 0;
}

.main-image{

    border-radius:30px;

    overflow:hidden;

    background:#fafafa;
}

.main-image img{

    width:100%;
}

.thumb-images{

    display:flex;

    gap:15px;

    margin-top:15px;
}

.thumb-images img{

    width:90px;

    height:90px;

    object-fit:cover;

    border-radius:15px;

    cursor:pointer;
}

.product-category{

    color:#ff2d7a;

    font-weight:600;

    letter-spacing:2px;

    text-transform:uppercase;

    font-size:12px;
}

.product-details h1{

    font-family:'Playfair Display', serif;

    font-size:52px;

    margin:15px 0;
}

.rating{

    color:#ffb400;

    margin-bottom:15px;
}

.product-price{

    font-size:34px;

    font-weight:700;

    color:#ff2d7a;

    margin-bottom:20px;
}

.product-price span{

    color:#999;

    font-size:22px;

    text-decoration:line-through;

    margin-left:10px;
}

.product-colors{

    display:flex;

    gap:12px;
}

.product-colors span{

    width:35px;

    height:35px;

    border-radius:50%;

    cursor:pointer;
}

.product-sizes{

    display:flex;

    gap:10px;

    flex-wrap:wrap;
}

.product-sizes button{

    border:1px solid #ddd;

    background:white;

    padding:10px 20px;

    border-radius:12px;
}

.qty-cart{

    display:flex;

    gap:15px;

    margin-top:25px;
}

.qty-cart input{

    width:90px;

    border:1px solid #ddd;

    border-radius:12px;

    text-align:center;
}

.buy-now-btn{

    width:100%;

    margin-top:15px;

    background:#222;

    color:white;

    border:none;

    padding:15px;

    border-radius:15px;
}

.wishlist-product{

    width:100%;

    margin-top:15px;

    border:1px solid #ddd;

    background:white;

    padding:15px;

    border-radius:15px;
}

/* ==========================
   WISHLIST PAGE
========================== */

.wishlist-page{

    padding:80px 0 100px;
}

.section-heading{

    margin-bottom:50px;
}

.section-heading h1{

    font-family:'Playfair Display', serif;

    font-size:58px;
}

.section-heading p{

    color:#777;
}

/* ==========================
   CART PAGE
========================== */

.cart-page{

    padding:80px 0 100px;
}

.cart-item{

    display:flex;

    align-items:center;

    gap:20px;

    padding:20px;

    background:#fff;

    border-radius:25px;

    margin-bottom:20px;

    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.cart-item img{

    width:120px;

    height:120px;

    object-fit:cover;

    border-radius:15px;
}

.cart-info{

    flex:1;
}

.cart-info h5{

    margin-bottom:10px;
}

.cart-info span{

    color:#777;
}

.cart-info p{

    margin-top:10px;

    color:#ff2d7a;

    font-weight:600;
}

.cart-qty{

    display:flex;

    align-items:center;

    gap:10px;
}

.cart-qty button{

    width:35px;

    height:35px;

    border:none;

    background:#f5f5f5;

    border-radius:8px;
}

.cart-qty input{

    width:50px;

    text-align:center;
}

.cart-total{

    font-weight:700;
}

.remove-item{

    border:none;

    background:none;

    font-size:28px;

    color:#999;
}

.cart-summary{

    background:#fffafc;

    padding:30px;

    border-radius:25px;

    position:sticky;

    top:100px;
}

.summary-row{

    display:flex;

    justify-content:space-between;

    margin-bottom:15px;
}

.total{

    font-size:20px;

    font-weight:700;
}

.coupon-input{

    width:100%;

    border:1px solid #ddd;

    padding:12px;

    border-radius:12px;

    margin-top:20px;
}

.coupon-btn{

    width:100%;

    border:none;

    background:#ff2d7a;

    color:white;

    padding:12px;

    border-radius:12px;

    margin-top:10px;
}

.checkout-btn{

    display:block;

    text-align:center;

    background:#222;

    color:white;

    padding:14px;

    border-radius:12px;

    text-decoration:none;

    margin-top:20px;
}

/* ==========================
   CHECKOUT PAGE
========================== */

.checkout-page{
    padding:80px 0 100px;
}

.checkout-card{

    background:#fff;

    padding:35px;

    border-radius:25px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.checkout-card h4{

    margin-bottom:25px;

    font-weight:600;
}

.checkout-card .form-control{

    height:55px;

    border-radius:12px;

    border:1px solid #ddd;
}

.checkout-card textarea{

    border-radius:12px;
}

.payment-box{

    margin-top:30px;
}

.payment-option{

    border:1px solid #eee;

    border-radius:12px;

    padding:15px 20px;

    margin-bottom:12px;

    cursor:pointer;
}

.order-summary{

    background:#fffafc;

    padding:30px;

    border-radius:25px;

    position:sticky;

    top:100px;
}

.order-summary h4{

    margin-bottom:25px;
}

.summary-product{

    display:flex;

    gap:15px;

    margin-bottom:20px;
}

.summary-product img{

    width:70px;

    height:70px;

    border-radius:12px;

    object-fit:cover;
}

.summary-row{

    display:flex;

    justify-content:space-between;

    margin-bottom:15px;
}

.summary-total{

    font-size:22px;

    font-weight:700;

    color:#ff2d7a;
}

.place-order-btn{

    width:100%;

    border:none;

    background:#ff2d7a;

    color:white;

    padding:15px;

    border-radius:14px;

    font-weight:600;

    margin-top:20px;
}

.checkout-page{
    padding:80px 0 100px;
    background:#fff;
}

.checkout-card{
    background:#fff;
    padding:35px;
    border-radius:30px;
    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.checkout-card h4{
    font-weight:600;
}

.checkout-card .form-control{
    height:55px;
    border-radius:14px;
    border:1px solid #e5e5e5;
}

.checkout-card textarea.form-control{
    height:auto;
}

.payment-option{
    border:1px solid #eee;
    border-radius:14px;
    padding:16px 20px;
    margin-bottom:12px;
    cursor:pointer;
}

.order-summary{
    background:#fffafc;
    padding:30px;
    border-radius:30px;
    position:sticky;
    top:100px;
}

.summary-product{
    display:flex;
    gap:15px;
    margin-bottom:20px;
}

.summary-product img{
    width:70px;
    height:70px;
    border-radius:12px;
    object-fit:cover;
}

.summary-row{
    display:flex;
    justify-content:space-between;
    margin-bottom:15px;
}

.summary-total{
    font-size:22px;
    font-weight:700;
    color:#ff2d7a;
}

.free-gift-alert{
    background:#fff;
    border:1px dashed #ff2d7a;
    padding:15px;
    border-radius:14px;
    margin-top:20px;
    font-size:14px;
    text-align:center;
}

.place-order-btn{
    width:100%;
    border:none;
    background:#ff2d7a;
    color:#fff;
    padding:15px;
    border-radius:14px;
    margin-top:20px;
    font-weight:600;
    transition:.3s;
}

.place-order-btn:hover{
    background:#e51e69;
}

/* ==========================
   ORDER SUCCESS PAGE
========================== */

.order-success-page{

    padding:120px 0;
}

.success-card{

    max-width:700px;

    margin:auto;

    text-align:center;

    background:#fff;

    padding:60px;

    border-radius:35px;

    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

.success-icon{

    width:100px;

    height:100px;

    background:#22c55e;

    color:#fff;

    font-size:48px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:0 auto 30px;
}

.success-card h1{

    font-family:'Playfair Display', serif;

    margin-bottom:15px;
}

.success-card p{

    color:#666;

    margin-bottom:35px;
}

.order-details{

    display:flex;

    justify-content:center;

    gap:60px;

    margin-bottom:35px;
}

.order-details span{

    display:block;

    color:#888;

    margin-bottom:5px;
}

.success-buttons{

    display:flex;

    justify-content:center;

    gap:15px;
}

.btn-shop,
.btn-order{

    padding:14px 28px;

    border-radius:12px;

    text-decoration:none;
}

.btn-shop{

    background:#ff2d7a;

    color:#fff;
}

.btn-order{

    border:1px solid #ddd;

    color:#333;
}

@media(max-width:768px){

    .success-card{

        padding:35px 25px;
    }

    .order-details{

        flex-direction:column;

        gap:20px;
    }

    .success-buttons{

        flex-direction:column;
    }
}

/* ==========================
   CUSTOMER LOGIN
========================== */

.customer-auth-page{

    padding:100px 0;
}

.auth-wrapper{

    background:#fff;

    border-radius:35px;

    overflow:hidden;

    box-shadow:0 15px 40px rgba(0,0,0,.06);
}

.auth-banner{

    height:100%;

    padding:60px;

    background:linear-gradient(
        135deg,
        #ff2d7a,
        #ff6ba3
    );

    color:#fff;

    display:flex;

    flex-direction:column;

    justify-content:center;
}

.auth-banner span{

    letter-spacing:3px;

    font-size:12px;
}

.auth-banner h2{

    font-family:'Playfair Display',serif;

    font-size:42px;

    margin:20px 0;
}

.auth-form-box{

    padding:60px;
}

.auth-form-box h3{

    font-size:32px;

    margin-bottom:10px;
}

.auth-form-box .form-control{

    height:55px;

    border-radius:12px;
}

.auth-btn{

    width:100%;

    background:#ff2d7a;

    border:none;

    color:#fff;

    padding:14px;

    border-radius:12px;

    font-weight:600;
}

.auth-divider{

    text-align:center;

    margin:25px 0;

    color:#888;
}

.register-link{

    display:block;

    text-align:center;

    text-decoration:none;

    color:#ff2d7a;

    font-weight:600;
}

@media(max-width:768px){

    .auth-banner{

        padding:40px 30px;
    }

    .auth-form-box{

        padding:40px 25px;
    }
}

/* ==========================
   CUSTOMER DASHBOARD
========================== */

.customer-dashboard{

    padding:80px 0;
}

.dashboard-sidebar{

    background:#fffafc;

    padding:30px;

    border-radius:25px;
}

.dashboard-sidebar ul{

    list-style:none;

    padding:0;

    margin-top:25px;
}

.dashboard-sidebar li{

    margin-bottom:15px;
}

.dashboard-sidebar a{

    text-decoration:none;

    color:#333;
}

.welcome-card{

    background:#ff2d7a;

    color:#fff;

    padding:35px;

    border-radius:25px;
}

.stats-card{

    background:#fff;

    border-radius:20px;

    text-align:center;

    padding:25px;

    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.stats-card h3{

    color:#ff2d7a;

    margin-bottom:5px;
}

.recent-orders{

    margin-top:40px;

    background:#fff;

    padding:25px;

    border-radius:20px;

    box-shadow:0 5px 20px rgba(0,0,0,.05);
}

.tracking-box{

    background:#fffafc;

    padding:25px;

    border-radius:20px;

    margin-bottom:30px;
}

.tracking-timeline{

    list-style:none;

    padding:0;

    margin-top:20px;
}

.tracking-timeline li{

    padding:12px 0;

    position:relative;

    padding-left:35px;
}

.tracking-timeline li::before{

    content:'○';

    position:absolute;

    left:0;

    color:#ccc;
}

.tracking-timeline li.active::before{

    content:'✓';

    color:#ff2d7a;

    font-weight:bold;
}

.order-product{

    display:flex;

    align-items:center;

    gap:15px;
}

.order-product img{

    width:80px;

    height:80px;

    object-fit:cover;

    border-radius:12px;
}

.address-card{

    border:1px solid #eee;

    padding:25px;

    border-radius:20px;

    margin-bottom:20px;

    background:#fff;
}

.address-card h6{

    color:#ff2d7a;

    font-weight:600;

    margin-bottom:10px;
}

/* ABOUT PAGE */

.about-hero{

    padding:100px 0;
}

.about-hero h1{

    font-size:60px;

    font-family:'Playfair Display',serif;

    margin:20px 0;
}

.sub-heading{

    letter-spacing:3px;

    color:#ff2d7a;

    font-weight:600;
}

.about-hero-img{

    max-height:550px;
}

.about-story{

    padding:100px 0;
}

.about-story h2{

    font-family:'Playfair Display',serif;

    margin-bottom:20px;
}

.why-amma{

    padding:100px 0;

    background:#fffafc;
}

.why-card{

    background:#fff;

    padding:30px;

    border-radius:25px;

    text-align:center;

    height:100%;
}

.mission-section{

    padding:100px 0;
}

.mission-box{

    background:#ff2d7a;

    color:#fff;

    text-align:center;

    padding:70px;

    border-radius:35px;
}

.about-cta{

    padding:100px 0;
}

.cta-box{

    text-align:center;
}

/* CONTACT PAGE */

.contact-page{

    padding:100px 0;
}

.contact-info-card,
.contact-form-card{

    background:#fff;

    padding:40px;

    border-radius:30px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);

    height:100%;
}

.contact-item{

    margin-bottom:25px;
}

.contact-item strong{

    display:block;

    margin-bottom:5px;

    color:#ff2d7a;
}

.contact-form-card .form-control{

    border-radius:12px;

    min-height:55px;
}

.contact-form-card textarea{

    min-height:150px;
}

.contact-highlight{

    margin-top:30px;

    background:#fffafc;

    padding:25px;

    border-radius:20px;
}

/* ===================================
   POLICY PAGES
=================================== */

.policy-page{

    padding:100px 0;
}

.policy-header{

    text-align:center;

    margin-bottom:60px;
}

.policy-subtitle{

    letter-spacing:3px;

    color:#ff2d7a;

    font-size:13px;

    font-weight:600;
}

.policy-header h1{

    font-family:'Playfair Display', serif;

    font-size:58px;

    margin:20px 0;
}

.policy-header p{

    color:#888;
}

.policy-content{

    max-width:900px;

    margin:auto;

    background:#fff;

    padding:50px;

    border-radius:30px;

    box-shadow:0 10px 30px rgba(0,0,0,.05);
}

.policy-content h2{

    font-size:24px;

    margin-top:35px;

    margin-bottom:15px;

    color:#111;
}

.policy-content p{

    color:#666;

    line-height:1.9;
}

.policy-content ul{

    padding-left:20px;
}

.policy-content li{

    margin-bottom:10px;

    color:#666;
}

@media(max-width:768px){

    .policy-page{

        padding:60px 0;
    }

    .policy-header h1{

        font-size:38px;
    }

    .policy-content{

        padding:30px 20px;
    }

}


/* shop filter bar  */

.premium-filter{
    background:#fff;
    border:1px solid #f4dbe6;
    border-radius:26px;
    padding:24px;
    box-shadow:0 12px 35px rgba(233,30,99,.08);
}

.filter-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:22px;
}

.filter-head span{
    color:#e91e63;
    font-size:12px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

.filter-head h5{
    margin:4px 0 0;
    font-weight:800;
}

.filter-head i{
    width:44px;
    height:44px;
    border-radius:15px;
    background:#fde8f1;
    color:#e91e63;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:20px;
}

.filter-group{
    border-top:1px solid #f4e5ec;
    padding-top:18px;
    margin-top:18px;
}

.filter-group h6{
    font-weight:800;
    margin-bottom:14px;
}

.filter-options{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
}

.filter-chip input{
    display:none;
}

.filter-chip span{
    display:inline-flex;
    align-items:center;
    padding:9px 14px;
    border-radius:30px;
    background:#fff8fb;
    border:1px solid #ffd6e7;
    color:#555;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:.25s;
}

.filter-chip input:checked + span{
    background:#e91e63;
    color:#fff;
    border-color:#e91e63;
}

.filter-actions{
    margin-top:24px;
}

.apply-filter-btn{
    width:100%;
    background:#e91e63;
    color:#fff;
    border-radius:30px;
    padding:12px;
    font-weight:800;
}

.apply-filter-btn:hover{
    background:#111;
    color:#fff;
}

.reset-filter-btn{
    display:block;
    text-align:center;
    margin-top:12px;
    color:#777;
    text-decoration:none;
    font-weight:700;
}

.reset-filter-btn:hover{
    color:#e91e63;
}

@media(max-width:991px){
    .premium-filter{
        margin-bottom:30px;
    }
}

.shop-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:30px;
    padding:18px 24px;
    background:#fff;
    border:1px solid #f5dbe6;
    border-radius:22px;
    box-shadow:0 8px 25px rgba(233,30,99,.06);
}

.shop-count{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:700;
    color:#444;
}

.shop-count i{
    color:#e91e63;
    font-size:20px;
}

.sort-wrapper{
    position:relative;
}

.sort-wrapper i{
    position:absolute;
    left:14px;
    top:50%;
    transform:translateY(-50%);
    color:#e91e63;
    font-size:16px;
    pointer-events:none;
}

.sort-wrapper select{
    min-width:220px;
    padding:12px 16px 12px 42px;
    border:1px solid #ffd6e7;
    border-radius:30px;
    background:#fff8fb;
    color:#444;
    font-weight:600;
    outline:none;
    cursor:pointer;
    transition:.3s;
}

.sort-wrapper select:hover{
    border-color:#e91e63;
}

.sort-wrapper select:focus{
    border-color:#e91e63;
    box-shadow:0 0 0 4px rgba(233,30,99,.12);
}

@media(max-width:768px){

    .shop-toolbar{
        flex-direction:column;
        gap:15px;
        align-items:stretch;
    }

    .sort-wrapper select{
        width:100%;
        min-width:100%;
    }

    .shop-count{
        justify-content:center;
    }

}

.sidebar-logout-btn{
    border:none;
    background:none;
    padding:0;
    color:#333;
    width:100%;
    text-align:left;
    cursor:pointer;
}

.sidebar-logout-btn:hover{
    color:#e91e63;
}

.mom-hub-hero{
    padding:90px 0;
    background:linear-gradient(135deg,#fff4f8,#fde8f1);
}

.hub-badge{
    display:inline-block;
    background:#fff;
    color:#e91e63;
    padding:8px 18px;
    border-radius:30px;
    font-weight:700;
    margin-bottom:20px;
}

.mom-hub-hero h1{
    font-size:48px;
    font-weight:800;
    line-height:1.15;
    color:#2c2c2c;
}

.mom-hub-hero p{
    font-size:17px;
    color:#666;
    max-width:620px;
    margin:20px 0 30px;
}

.hub-actions{
    display:flex;
    gap:15px;
    flex-wrap:wrap;
}

.btn-outline-hub{
    border:1px solid #e91e63;
    color:#e91e63;
    padding:12px 24px;
    border-radius:30px;
    text-decoration:none;
    font-weight:700;
}

.hub-hero-card{
    background:#fff;
    padding:35px;
    border-radius:28px;
    box-shadow:0 20px 50px rgba(233,30,99,.12);
}

.hub-hero-card h4{
    font-weight:800;
    margin-bottom:20px;
}

.hub-hero-card ul{
    padding-left:20px;
    margin:0;
}

.hub-hero-card li{
    margin-bottom:12px;
    color:#555;
}

.hub-category-section{
    padding:80px 0;
    background:#fff;
}

.hub-category-card{
    display:block;
    background:#fff;
    border:1px solid #f4d6e3;
    padding:35px;
    border-radius:26px;
    text-decoration:none;
    color:#333;
    transition:.3s;
    height:100%;
}

.hub-category-card:hover{
    transform:translateY(-8px);
    box-shadow:0 18px 45px rgba(233,30,99,.12);
}

.hub-category-card span{
    color:#e91e63;
    font-weight:800;
}

.hub-category-card h4{
    margin:14px 0 10px;
    font-weight:800;
}

.hub-section{
    padding:85px 0;
    background:#fff;
}

.hub-light{
    background:#fff8fb;
}

.hub-section-title{
    display:flex;
    justify-content:space-between;
    gap:30px;
    align-items:end;
    margin-bottom:35px;
}

.hub-section-title span{
    color:#e91e63;
    font-weight:800;
}

.hub-section-title h2{
    font-size:34px;
    font-weight:800;
    margin:8px 0 0;
}

.hub-section-title p{
    max-width:420px;
    color:#666;
    margin:0;
}

.hub-filter-pills{
    display:flex;
    gap:10px;
    overflow-x:auto;
    padding-bottom:10px;
}

.hub-filter-pills button,
.hub-tabs button{
    border:1px solid #f2c6d8;
    background:#fff;
    color:#e91e63;
    padding:10px 18px;
    border-radius:30px;
    font-weight:700;
    white-space:nowrap;
}

.hub-tabs{
    display:flex;
    gap:12px;
    padding:0;
    margin:0;
    list-style:none;
}

.hub-tabs button.active{
    background:#e91e63;
    color:#fff;
}

.video-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
    height:100%;
}

.video-thumb{
    position:relative;
    height:190px;
    overflow:hidden;
}

.video-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
}

.video-thumb button{
    position:absolute;
    inset:0;
    margin:auto;
    width:58px;
    height:58px;
    border-radius:50%;
    border:none;
    background:#e91e63;
    color:#fff;
    font-size:18px;
}

.video-info{
    padding:20px;
}

.video-info span{
    color:#e91e63;
    font-size:13px;
    font-weight:700;
}

.video-info h5{
    font-weight:800;
    margin:8px 0;
}

.video-info p{
    color:#777;
    font-size:14px;
    margin:0;
}

.affiliate-card{
    background:#fff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 12px 30px rgba(0,0,0,.06);
}

.affiliate-card img{
    width:100%;
    height:210px;
    object-fit:cover;
}

.affiliate-info{
    padding:20px;
}

.affiliate-info span{
    color:#e91e63;
    font-weight:700;
}

.affiliate-info h5{
    font-weight:800;
    margin:8px 0 18px;
}

.hub-trust-section{
    padding:85px 0;
    background:#e91e63;
    color:#fff;
}

.hub-trust-section h2{
    font-weight:800;
}

.hub-trust-section p{
    opacity:.9;
}

.trust-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:18px;
}

.trust-grid div{
    background:rgba(255,255,255,.15);
    padding:28px;
    border-radius:22px;
}

.trust-grid h4{
    font-size:32px;
    font-weight:800;
}

.video-modal-content{
    background:#000;
    border:none;
}

.video-close{
    position:absolute;
    right:-12px;
    top:-12px;
    background:#fff;
    opacity:1;
    z-index:10;
    border-radius:50%;
}

@media(max-width:767px){
    .mom-hub-hero{
        padding:60px 0;
    }

    .mom-hub-hero h1{
        font-size:34px;
    }

    .hub-section-title{
        display:block;
    }

    .trust-grid{
        grid-template-columns:1fr;
    }
}

.content-dropdown{
    min-width: 320px;
    padding: 10px;
    border: none;
    border-radius: 18px;
    box-shadow: 0 15px 40px rgba(0,0,0,.08);
}

.content-dropdown .dropdown-item{
    padding: 14px 18px;
    border-radius: 12px;
    margin-bottom: 6px;
    transition: .3s;
}

.content-dropdown .dropdown-item:hover{
    background: #fde8f1;
    color: #e91e63;
}

.content-dropdown .dropdown-item small{
    display: block;
    color: #777;
    margin-top: 4px;
    font-size: 12px;
}

.content-dropdown .dropdown-item:hover small{
    color: #e91e63;
}

.premium-product-card{
    background:#fff;
    border-radius:26px;
    overflow:hidden;
    box-shadow:0 18px 45px rgba(0,0,0,.08);
    transition:.3s ease;
    height:100%;
}

.premium-product-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 60px rgba(0,0,0,.12);
}

.premium-product-img-wrap{
    position:relative;
    height:360px;
    background:linear-gradient(180deg,#fff7fa,#ffffff);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.premium-product-img{
    width:100%;
    height:100%;
    object-fit:contain;
}

.premium-badge{
    position:absolute;
    top:18px;
    left:18px;
    background:#ff2d7a;
    color:#fff;
    padding:8px 18px;
    border-radius:30px;
    font-size:14px;
    font-weight:700;
    z-index:2;
}

.premium-wishlist-form{
    position:absolute;
    top:18px;
    right:18px;
    z-index:3;
}

.premium-wishlist-btn{
    position:absolute;
    top:18px;
    right:18px;
    width:46px;
    height:46px;
    border-radius:50%;
    border:0;
    background:#fff;
    color:#ff2d7a;
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 8px 25px rgba(0,0,0,.12);
    text-decoration:none;
}

.premium-product-body{
    padding:22px;
}

.premium-product-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:8px;
}

.premium-product-top small{
    color:#8b8b8b;
    font-size:14px;
}

.premium-product-top span{
    color:#555;
    font-size:14px;
}

.premium-product-top i{
    color:#ffc107;
}

.premium-product-body h5{
    margin:0 0 14px;
    font-size:20px;
    font-weight:800;
    line-height:1.3;
}

.premium-product-body h5 a{
    color:#071033;
    text-decoration:none;
}

.premium-price-row{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:16px;
}

.premium-price-row strong{
    color:#ff2d7a;
    font-size:30px;
    font-weight:900;
}

.premium-price-row del{
    color:#999;
    font-size:17px;
}

.discount-pill{
    background:#ffe0ec;
    color:#ff2d7a;
    font-size:12px;
    font-weight:800;
    padding:6px 10px;
    border-radius:20px;
}

.premium-feature-row{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:18px;
}

.premium-feature-row span{
    font-size:13px;
    color:#555;
    background:#fafafa;
    padding:7px 10px;
    border-radius:20px;
}

.premium-feature-row i{
    color:#ff2d7a;
    margin-right:4px;
}

.premium-cart-btn{
    width:100%;
    border:0;
    border-radius:35px;
    padding:15px 20px;
    background:#ff2d7a;
    color:#fff;
    font-weight:800;
    font-size:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
}

.premium-cart-btn:hover{
    background:#e91e63;
}

@media(max-width:767px){
    .premium-product-img-wrap{
        height:300px;
    }

    .premium-price-row strong{
        font-size:26px;
    }

    .premium-product-body h5{
        font-size:18px;
    }
}


/*product detail page design */

.product-page {
    padding: 70px 0;
    background: #fff;
}

.product-gallery {
    position: sticky;
    top: 100px;
}

.main-image {
    background: #fff6f9;
    border-radius: 22px;
    overflow: hidden;
}

.main-image img {
    width: 100%;
    height: 620px;
    object-fit: cover;
    border-radius: 22px;
}

.thumb-images {
    display: flex;
    gap: 12px;
    margin-top: 16px;
    flex-wrap: wrap;
}

.thumb-images img {
    width: 78px;
    height: 92px;
    object-fit: cover;
    border-radius: 12px;
    cursor: pointer;
    border: 2px solid transparent;
}

.thumb-images img:hover {
    border-color: #d91b5c;
}

.product-details {
    max-width: 560px;
}

.product-category {
    color: #d91b5c;
    font-size: 12px;
    letter-spacing: 2px;
    font-weight: 700;
    text-transform: uppercase;
}

.product-details h1 {
    font-size: 38px;
    font-weight: 600;
    margin: 10px 0 12px;
    color: #111;
}

.rating {
    color: #f6a700;
    font-size: 14px;
    margin-bottom: 16px;
}

.rating span {
    color: #777;
    margin-left: 6px;
}

.product-price {
    font-size: 30px;
    font-weight: 700;
    color: #d91b5c;
    margin-bottom: 20px;
}


.product-price .selling-price {
    color: #d91b5c;
    font-size: 30px;
    font-weight: 700;
    text-decoration: none !important;
}

.product-price .selling-price span {
    text-decoration: none !important;
}

.product-price .mrp-price {
    font-size: 17px;
    color: #999;
    text-decoration: line-through;
    margin-left: 10px;
}




.product-short-desc {
    color: #555;
    line-height: 1.8;
    font-size: 15px;
}

.option-title {
    font-size: 14px;
    font-weight: 700;
    margin: 24px 0 12px;
    color: #111;
}

.color-options,
.size-options {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.option-btn {
    border: 1px solid #ddd;
    background: #fff;
    padding: 11px 20px;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    transition: 0.25s;
}

.option-btn:hover {
    border-color: #d91b5c;
    color: #d91b5c;
}

.option-btn.active {
    background: #d91b5c;
    color: #fff;
    border-color: #d91b5c;
}

.option-btn.disabled,
.option-btn:disabled {
    background: #f4f4f4;
    color: #aaa;
    border-color: #ddd;
    cursor: not-allowed;
    text-decoration: line-through;
}

.stock-status {
    font-size: 14px;
    font-weight: 700;
    margin-top: 22px;
}

.in-stock {
    color: #198754;
}

.out-stock {
    color: #dc3545;
}

.qty-cart {
    display: flex;
    gap: 14px;
    margin-top: 20px;
}

.qty-cart input {
    width: 80px;
    height: 48px;
    border: 1px solid #ddd;
    border-radius: 12px;
    text-align: center;
}

.btn-main:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.buy-now-btn {
    width: 100%;
    height: 50px;
    margin-top: 14px;
    border: none;
    border-radius: 12px;
    background: #111;
    color: #fff;
    font-weight: 700;
}

.wishlist-product {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 14px;
    width: 100%;
    height: 46px;
    border-radius: 12px;
    border: 1px solid #f3b4c9;
    background: #fff6fa;
    color: #d91b5c;
    font-weight: 700;
    font-size: 14px;
}

.product-description {
    margin-top: 34px;
    border-top: 1px solid #eee;
    padding-top: 28px;
}

.product-description h5,
.product-extra h5 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 14px;
}

.product-description,
.product-extra {
    color: #444;
    line-height: 1.8;
    font-size: 15px;
}

.custom-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
}

.custom-modal-box {
    width: 90%;
    max-width: 420px;
    background: #fff;
    border-radius: 22px;
    padding: 34px 28px;
    text-align: center;
}

.custom-modal-box h4 {
    font-size: 22px;
    font-weight: 700;
    color: #d91b5c;
    margin-bottom: 12px;
}

.custom-modal-box p {
    color: #555;
    margin-bottom: 24px;
}

.custom-modal-box button {
    background: #d91b5c;
    color: #fff;
    border: none;
    border-radius: 30px;
    padding: 11px 36px;
    font-weight: 700;
}

@media(max-width: 768px) {
    .product-page {
        padding: 35px 0;
    }

    .main-image img {
        height: auto;
    }

    .product-details h1 {
        font-size: 28px;
    }

    .product-price {
        font-size: 26px;
    }

    .qty-cart {
        flex-direction: column;
    }

    .qty-cart input,
    .btn-main {
        width: 100%;
    }
}


/*latest home page */

/*community section */

.community-join{
    background:#fff5f9;
    padding:80px 0;
}

.community-box{
    background:#fff;
    border-radius:30px;
    padding:60px;
    box-shadow:0 15px 50px rgba(233,30,99,.08);
    border:1px solid #fde8f1;
}

.community-tag{
    background:#fde8f1;
    color:#e91e63;
    padding:8px 18px;
    border-radius:30px;
    font-weight:700;
}

.community-box h2{
    color:#e91e63;
    font-weight:800;
    font-size:42px;
}

.community-box p{
    color:#666;
    font-size:17px;
}

/*community buttons */

.community-buttons-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
}

.youtube-full{
    grid-column:1 / span 2;
}

.btn-community{
    min-height:88px;
    padding:18px 22px;
    border-radius:24px;
    display:flex;
    align-items:center;
    gap:16px;
    text-decoration:none;
    transition:.3s ease;
    box-shadow:0 12px 35px rgba(233,30,99,.08);
}

.btn-community strong{
    display:block;
    font-size:20px;
    font-weight:800;
}

.btn-community small{
    display:block;
    font-size:13px;
    opacity:.85;
}

.btn-community i{
    width:52px;
    height:52px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:24px;
    flex-shrink:0;
}

/* Instagram */

.instagram{
    background:#e91e63;
    color:#fff;
}

.instagram i{
    background:rgba(255,255,255,.18);
}

/* Tips */

.instagram-soft{
    background:#fff;
    color:#e91e63;
    border:1px solid #ffd2e3;
}

.instagram-soft i{
    background:#fff0f6;
}

/* WhatsApp */

.whatsapp{
    background:#25d366;
    color:#fff;
}

.whatsapp i{
    background:rgba(255,255,255,.18);
}

/* Website */

.website{
    background:#fde8f1;
    color:#e91e63;
    border:1px solid #ffd2e3;
}

.website i{
    background:#fff;
}

/* YouTube */

.youtube{
    background:linear-gradient(
        135deg,
        #ff0000,
        #ff4d4d
    );

    color:#fff;
}

.youtube i{
    background:rgba(255,255,255,.18);
}

.btn-community:hover{
    transform:translateY(-4px);
}

@media(max-width:767px){

    .community-buttons-grid{
        grid-template-columns:1fr;
    }

    .youtube-full{
        grid-column:auto;
    }

}

/*community counter sectiom */

.community-counter{
    background:#fff;
    padding:70px 0;
}

.counter-box{
    background:#fff5f9;
    border-radius:25px;
    padding:35px;
    text-align:center;
    border:1px solid #fde8f1;
    transition:.3s;
}

.counter-box:hover{
    transform:translateY(-5px);
}

.counter-box h2{
    color:#e91e63;
    font-size:42px;
    font-weight:900;
}

.counter-box p{
    color:#777;
    margin-bottom:0;
}

/*lastest videos */
.video-card {
    border-radius: 20px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 10px 25px rgba(0,0,0,.08);
}

.video-thumbnail {
    position: relative;
    cursor: pointer;
    overflow: hidden;
    aspect-ratio: 16/9;
}

.video-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: .4s;
    display: block;
}

.video-thumbnail:hover img {
    transform: scale(1.05);
}

.play-icon {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: .3s;
    background: rgba(0,0,0,.15);
}

.video-thumbnail:hover .play-icon {
    opacity: 1;
}

.play-icon i {
    width: 80px;
    height: 80px;
    background: rgba(255,255,255,.95);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 42px;
    color: #ff4f87;
}

/*newsletters */

.newsletter-section{
    background:#fff;
}

.newsletter-box{
    background:linear-gradient(
        135deg,
        #fde8f1,
        #fff5f9
    );

    padding:60px;
    border-radius:30px;
    text-align:center;
}

.newsletter-box h2{
    color:#e91e63;
    font-weight:800;
}

.newsletter-form input{
    border:1px solid #f6bfd3;
    border-radius:50px;
}

.newsletter-form button{
    background:#e91e63;
    color:#fff;
    border-radius:50px;
}

.festive-cart-alert{
    display:flex;
    align-items:center;
    gap:14px;

    background:linear-gradient(
        135deg,
        #fff6f9,
        #ffeaf2
    );

    border:1px solid #f5c8d8;
    color:#8e3d5b;

    border-radius:12px;

    padding:14px 18px;

    margin-bottom:14px;
}

.festive-cart-icon{
    width:42px;
    height:42px;

    display:flex;
    align-items:center;
    justify-content:center;

    background:#fff;

    border-radius:50%;

    font-size:20px;

    flex-shrink:0;

    box-shadow:0 6px 18px rgba(233,30,99,.08);
}

.festive-cart-alert strong{
    display:block;
    color:#d6336c;
    font-size:15px;
    margin-bottom:2px;
}

.festive-cart-text{
    font-size:13px;
    color:#87536a;
}
