body {
    font-family: Poppins, sans-serif;
    background: #fafafa;
}

.text-pink {
    color: #ff4d8d;
}

.navbar-brand {
    font-size: 30px;
    font-weight: bold;
}

.nav-link {
    font-weight: 500;
    margin: 0 8px;
    transition: .3s;
}

.nav-link:hover {
    color: #ff4d8d !important;
}

.btn-pink {

    background: #ff4d8d;

    color: white;

    border-radius: 30px;

    padding: 8px 20px;

    transition: .3s;

}

.btn-pink:hover {

    background: #ff2f74;

    color: white;

}

.btn-outline-pink, .btn-whiteliist {

    border: 2px solid #ff4d8d;

    color: #ff4d8d;

    border-radius: 30px;

    padding: 8px 20px;

}

.btn-outline-pink:hover {

    background: #ff4d8d;

    color: white;

}

.shadow-sm {

    box-shadow: 0 8px 30px rgba(0, 0, 0, .05) !important;

}


.hero {

    padding: 90px 0;

    background: linear-gradient(135deg, #FFF8FB, #FFEAF4);

}

.hero h1 {

    line-height: 1.2;

}

.hero-search {

    background: #fff;

    padding: 12px;

    border-radius: 60px;

    box-shadow: 0 20px 40px rgba(0, 0, 0, .08);

}

.hero-search .form-control {

    border: none;

    box-shadow: none;

}

.hero-search .input-group-text {

    background: white;

    border: none;

}

.floating {

    animation: float 4s ease-in-out infinite;
    border-radius: 20px;
    /* box-shadow: 0 20px 50px rgba(0, 0, 0, .08); */

}

@keyframes float {

    0% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-15px);

    }

    100% {

        transform: translateY(0);

    }

}




.categories-section {

    background: #fff;

}

.section-title {

    font-size: 38px;

    font-weight: 700;

    color: #222;

}

.category-card {

    background: #fff;

    border-radius: 20px;

    padding: 30px;

    height: 100%;

    text-align: center;

    transition: .35s;

    border: 1px solid #f3f3f3;

    box-shadow: 0 8px 30px rgba(0, 0, 0, .05);

}

.category-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 20px 45px rgba(255, 77, 141, .15);

}

.category-icon {

    width: 90px;

    height: 90px;

    margin: auto;

    margin-bottom: 20px;

    border-radius: 50%;

    background: #FFE8F1;

    display: flex;

    align-items: center;

    justify-content: center;

    overflow: hidden;

    transition: .3s;

}

.category-card:hover .category-icon {

    background: #ff4d8d;

}

.category-icon img {

    width: 60px;

    height: 60px;

    object-fit: contain;

}

.category-icon i {

    font-size: 42px;

    color: #ff4d8d;

    transition: .3s;

}

.category-card:hover .category-icon i {

    color: #fff;

}

.category-card h5 {

    font-weight: 600;

    color: #222;

    margin-bottom: 10px;

}

.category-card p {

    font-size: 14px;

    color: #777;

    min-height: 45px;

}

.explore {

    display: inline-block;

    margin-top: 15px;

    color: #ff4d8d;

    font-weight: 600;

}

.category-card:hover .explore {

    color: #7B5CFA;

}

@media(max-width:768px) {

    .section-title {

        font-size: 30px;

    }

    .category-card {

        padding: 20px;

    }

}



.banner-area {

    margin-top: 40px;

}

.banner-card {

    border-radius: 30px;

    padding: 70px;

    overflow: hidden;

    min-height: 430px;

    box-shadow: 0 20px 50px rgba(0, 0, 0, .08);

}

.banner-content h1 {

    font-size: 55px;

    font-weight: 700;

    margin: 20px 0;

    color: #222;

}

.banner-content p {

    font-size: 20px;

    color: #666;

    margin-bottom: 30px;

}

.offer-badge {

    display: inline-block;

    padding: 10px 20px;

    background: white;

    border-radius: 30px;

    font-weight: 600;

    color: #ff4d8d;

}

.banner-img {

    max-height: 380px;

    animation: floatImage 4s ease-in-out infinite;

}

@keyframes floatImage {

    0% {

        transform: translateY(0);

    }

    50% {

        transform: translateY(-15px);

    }

    100% {

        transform: translateY(0);

    }

}

.swiper-button-next,
.swiper-button-prev {

    color: #ff4d8d;

}

.swiper-pagination-bullet {

    background: #ff4d8d;

    opacity: .4;

}

.swiper-pagination-bullet-active {

    opacity: 1;

}

@media(max-width:992px) {

    .banner-card {

        padding: 40px;

        text-align: center;

    }

    .banner-content h1 {

        font-size: 35px;

    }

    .banner-img {

        margin-top: 40px;

    }

}



.product-card {

    background: #fff;

    border-radius: 20px;

    overflow: hidden;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .07);

    transition: .35s;

    position: relative;

    height: 100%;

}

.product-card:hover {

    transform: translateY(-10px);

}

.product-image {

    height: 150px;

    width: 100%;

    object-fit: cover;

}

.discount-badge {

    position: absolute;

    top: 15px;

    left: 15px;

    background: #ff4d8d;

    color: #fff;

    padding: 6px 12px;

    border-radius: 30px;

    font-size: 13px;

    font-weight: 600;

}

.wishlist {

    position: absolute;

    right: 15px;

    top: 15px;

    width: 40px;

    height: 40px;

    background: #fff;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    cursor: pointer;

    box-shadow: 0 10px 20px rgba(0, 0, 0, .1);

}

.product-body {

    padding: 20px;

}

.category-badge {

    background: #FFEAF4;

    color: #ff4d8d;

    padding: 5px 12px;

    border-radius: 30px;

    font-size: 13px;

}

.price {

    margin-top: 15px;

}

.price .new {

    font-size: 22px;

    font-weight: 700;

    color: #ff4d8d;

}

.price .old {

    margin-left: 10px;

    text-decoration: line-through;

    color: #999;

}

.pharmacy {

    color: #777;

    font-size: 14px;

    margin-top: 10px;

}



.pharmacy-card {

    background: white;

    border-radius: 20px;

    overflow: hidden;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .08);

    transition: .35s;

    height: 100%;

}

.pharmacy-card:hover {

    transform: translateY(-8px);

}

.cover img {

    height: 170px;

    width: 100%;

    object-fit: cover;

}

.logo {

    width: 90px;

    height: 90px;

    margin: auto;

    margin-top: -45px;

    border-radius: 50%;

    background: white;

    padding: 8px;

    box-shadow: 0 10px 20px rgba(0, 0, 0, .1);

}

.logo img {

    width: 100%;

    height: 100%;

    object-fit: contain;

    border-radius: 50%;

}

.pharmacy-card .card-body {

    padding: 25px;

    text-align: center;

}

.location {

    color: #777;

    margin: 15px 0;

}

.rating {

    margin: 15px 0;

}

.info {

    display: flex;

    justify-content: space-between;

    margin-top: 20px;

    font-size: 14px;

    color: #555;

}


/*=========================================
          PREMIUM BRAND SECTION
==========================================*/

.brand-section {

    background: #fff;

}

.brand-card { 

    background: #fff;

    border-radius: 25px;

    padding: 35px;

    text-align: center;

    transition: .4s;

    border: 1px solid #f2f2f2;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .05);

    height: 280px;

    display: flex;

    flex-direction: column;

    justify-content: center;

    align-items: center;

    position: relative;

    overflow: hidden;

}

.brand-card::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 5px;

    background: #ff4d8d;

    transform: scaleX(0);

    transition: .4s;

}

.brand-card:hover::before {

    transform: scaleX(1);

}

.brand-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 25px 50px rgba(255, 77, 141, .20);

}

.brand-logo {

    width: 110px;

    height: 110px;

    background: #fff;

    border-radius: 50%;

    display: flex;

    justify-content: center;

    align-items: center;

    margin-bottom: 20px;

    border: 8px solid #FFEAF4;

    transition: .4s;

}

.brand-card:hover .brand-logo {

    border-color: #ff4d8d;

}

.brand-logo img {

    width: 70px;

    height: 70px;

    object-fit: contain;

    transition: .4s;

}

.brand-card:hover img {

    transform: scale(1.08);

}

.brand-card h5 {

    font-weight: 700;

    margin-bottom: 12px;

}

.medicine-count {

    background: #FFEAF4;

    padding: 8px 18px;

    border-radius: 30px;

    color: #ff4d8d;

    font-weight: 600;

    font-size: 14px;

    margin-bottom: 10px;

}

.brand-card .btn {

    border-radius: 30px;

    padding: 10px 25px;

}



.medicine-brand {

    color: #ff4d8d;

    font-size: 14px;
    font-weight: 600;
    margin-top: 10px;

}

.medicine-rating {

    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap: 3px;

    margin: 12px 0;

}

.medicine-rating i {

    color: #ffc107;

    font-size: 14px;

}

.rating-value {

    font-weight: 700;

    margin-left: 8px;

    color: #333;

}

.medicine-rating small {

    color: #888;

    margin-left: 5px;

}

.medicine-badges { 

    display: flex;

    flex-wrap: wrap;

    gap: 8px;

}

.medicine-badges .badge {

    border-radius: 30px;

    padding: 7px 12px;

    font-size: 12px;

}

.product-card {

    height: 100%;

    display: flex;

    flex-direction: column;

}

.product-body {

    display: flex;

    flex-direction: column;

    flex: 1;

}

.price {

    margin-top: auto;

    padding-top: 10px;

}




.flash-sale {

    background: #fff5f9;

}

.flash-header {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 40px;

    flex-wrap: wrap;

}

.flash-header h2 {

    font-weight: 700;

}

.countdown {

    background: #ff4d8d;

    color: #fff;

    padding: 15px 25px;

    border-radius: 50px;

    font-weight: 600;

}

.flash-card {

    background: #fff;

    border-radius: 20px;

    overflow: hidden;

    box-shadow: 0 15px 35px rgba(0, 0, 0, .08);

    transition: .3s;

    position: relative;

    height: 100%;

}

.flash-card:hover {

    transform: translateY(-8px);

}

.flash-image {

    width: 100%;

    height: 150px;

    object-fit: cover;

}

.discount-ribbon {

    position: absolute;

    top: 15px;

    left: 15px;

    background: #dc3545;

    color: #fff;

    padding: 8px 14px;

    border-radius: 30px;

    font-weight: 700;

}

.flash-body {

    padding: 20px;

}

.flash-body .price {

    margin-top: 15px;

}

.flash-body .new {

    font-size: 24px;

    font-weight: 700;

    color: #ff4d8d;

}

.flash-body .old {

    margin-left: 10px;

    text-decoration: line-through;

    color: #999;

}



/*======================================
            FOOTER
=======================================*/

.footer {

    background: #111827;

    color: #fff;

    padding: 80px 0 30px;

}

.footer-logo {

    height: 55px;

}

.footer-text {

    color: #bdbdbd;

    line-height: 1.8;

}

.footer h5 {

    margin-bottom: 25px;

    font-weight: 700;

}

.footer ul {

    list-style: none;

    padding: 0;

    margin: 0;

}

.footer ul li {

    margin-bottom: 12px;

}

.footer ul li a {

    color: #cfcfcf;

    text-decoration: none;

    transition: .3s;

}

.footer ul li a:hover {

    color: #ff4d8d;

    padding-left: 8px;

}

.footer-contact p {

    color: #d8d8d8;

    margin-bottom: 15px;

}

.footer-contact i {

    color: #ff4d8d;

    margin-right: 10px;

}

.social-icons {

    display: flex;

    gap: 12px;

}

.social-icons a {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 50%;

    background: #202938;

    color: #fff;

    font-size: 18px;

    transition: .3s;

}

.social-icons a:hover {

    background: #ff4d8d;

    transform: translateY(-4px);

}

.newsletter input {

    border: none;

    height: 52px;

}

.newsletter .btn {

    padding: 0 25px;

}

.footer-divider {

    border-color: rgba(255, 255, 255, .08);

    margin: 50px 0 25px;

}

.payment-icons {

    max-height: 35px;

}

.copyright {

    color: #bdbdbd;

    margin: 0;

}




/*=====================================
        WHY CHOOSE US
======================================*/

.why-choose {

    background: #fff7fb;

}

.section-badge {

    background: #ffe4ef;

    color: #ff4d8d;

    padding: 10px 22px;

    border-radius: 50px;

    font-size: 14px;

    font-weight: 600;

}

.section-title {

    font-size: 40px;

    font-weight: 700;

    color: #222;

}

.section-subtitle {

    color: #777;

    max-width: 650px;

    margin: auto;

    margin-top: 15px;

}

.why-card {

    background: #fff;

    border-radius: 20px;

    padding: 35px 25px;

    text-align: center;

    transition: .35s;

    box-shadow: 0 12px 30px rgba(0, 0, 0, .08);

    height: 100%;

}

.why-card:hover {

    transform: translateY(-10px);

    box-shadow: 0 25px 45px rgba(0, 0, 0, .12);

}

.why-icon {

    width: 90px;

    height: 90px;

    margin: auto;

    border-radius: 50%;

    background: #ff4d8d;

    color: #fff;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 38px;

    margin-bottom: 25px;

}

.why-card h4 {

    font-weight: 700;

    margin-bottom: 15px;

    color: #222;

}

.why-card p {

    color: #777;

    line-height: 1.8;

}





/*======================================
        ABOUT HERO
=======================================*/

.about-hero {

    padding: 90px 0;

    background: linear-gradient(135deg, #fff7fb, #ffeaf3);

}

.about-hero .badge {

    background: #ff4d8d;

    color: #fff;

    padding: 10px 22px;

    border-radius: 30px;

    font-size: 14px;

    font-weight: 600;

}

.about-hero h1 {

    font-size: 52px;

    font-weight: 700;

    color: #222;

    margin: 20px 0;

}

.about-hero .lead {

    color: #666;

    font-size: 18px;

    line-height: 1.9;

    margin-bottom: 35px;

}

.about-hero img {

    border-radius: 25px;

    box-shadow: 0 25px 60px rgba(0, 0, 0, .15);

    transition: .4s;

}

.about-hero img:hover {

    transform: scale(1.03);

}



/*======================================
        MISSION & VISION
=======================================*/

.about-box {

    background: #fff;

    padding: 45px 35px;

    border-radius: 20px;

    text-align: center;

    box-shadow: 0 12px 35px rgba(0, 0, 0, .08);

    transition: .35s;

    height: 100%;

    position: relative;

    overflow: hidden;

}

.about-box:hover {

    transform: translateY(-10px);

    box-shadow: 0 25px 50px rgba(0, 0, 0, .12);

}

.about-box::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 6px;

    background: #ff4d8d;

}

.about-box i {

    width: 90px;

    height: 90px;

    display: flex;

    align-items: center;

    justify-content: center;

    margin: auto;

    background: #ff4d8d;

    color: #fff;

    border-radius: 50%;

    font-size: 38px;

    margin-bottom: 25px;

}

.about-box h3 {

    font-weight: 700;

    margin-bottom: 20px;

    color: #222;

}

.about-box p {

    color: #666;

    line-height: 1.9;

}



/*======================================
        ABOUT STATISTICS
=======================================*/

.stats {

    background: #ff4d8d;

    color: #fff;

    padding: 80px 0;

}

.stats h2 {

    font-size: 48px;

    font-weight: 700;

    margin-bottom: 10px;

}

.stats p {

    font-size: 18px;

    opacity: .95;

    margin: 0;

}



/*======================================
        RESPONSIVE
=======================================*/

@media(max-width:991px) {

    .about-hero {

        text-align: center;

    }

    .about-hero h1 {

        font-size: 40px;

    }

    .about-hero img {

        margin-top: 40px;

    }

}



@media(max-width:768px) {

    .about-hero {

        padding: 70px 0;

    }

    .about-hero h1 {

        font-size: 34px;

    }

    .about-box {

        margin-bottom: 25px;

    }

    .stats h2 {

        font-size: 36px;

    }

    .stats p {

        font-size: 16px;

    }

}



/*======================================
            FAQ PAGE
=======================================*/

.faq-banner {

    background: linear-gradient(135deg, #ff4d8d, #ff8fb7);

    color: #fff;

    padding: 90px 0;

}

.faq-banner h1 {

    font-size: 50px;

    font-weight: 700;

    margin-bottom: 15px;

}

.faq-banner p {

    font-size: 18px;

    opacity: .95;

}

.faq-category {

    margin-top: 50px;

    margin-bottom: 25px;

    font-weight: 700;

    color: #ff4d8d;

    border-left: 5px solid #ff4d8d;

    padding-left: 15px;

}

.accordion-item {

    border: none;

    border-radius: 15px;

    overflow: hidden;

    box-shadow: 0 10px 25px rgba(0, 0, 0, .06);

    margin-bottom: 15px;

}

.accordion-button {

    font-weight: 600;

    padding: 20px;

    background: #fff;

}

.accordion-button:not(.collapsed) {

    background: #ff4d8d;

    color: #fff;

}

.accordion-button:focus {

    box-shadow: none;

}

.accordion-body {

    padding: 20px;

    line-height: 1.9;

    color: #666;

}

@media(max-width:768px) {

    .faq-banner h1 {

        font-size: 34px;

    }

}


/*==========================
      CONTACT PAGE
==========================*/

.contact-banner {

    background: linear-gradient(135deg, #ff4d8d, #ff7cab);

    color: #fff;

    padding: 90px 0;

}

.contact-banner h1 {

    font-size: 50px;

    font-weight: 700;

}

.contact-card {

    background: #fff;

    padding: 35px;

    border-radius: 20px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .08);

    height: 100%;

}

.contact-form {

    background: #fff;

    padding: 35px;

    border-radius: 20px;

    box-shadow: 0 15px 40px rgba(0, 0, 0, .08);

}

.contact-item {

    display: flex;

    gap: 20px;

    margin-bottom: 25px;

}

.contact-item i {

    width: 60px;

    height: 60px;

    background: #ff4d8d;

    color: #fff;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    font-size: 24px;

    flex-shrink: 0;

}

.contact-item h6 {

    font-weight: 700;

    margin-bottom: 5px;

}

.contact-item p {

    margin: 0;

    color: #666;

}

.contact-item a {

    text-decoration: none;

    color: #666;

}

.contact-item a:hover {

    color: #ff4d8d;

}

.contact-form .form-control {

    height: 55px;

    border-radius: 12px;

}

.contact-form textarea {

    height: auto !important;

}

.map-section iframe {

    width: 100%;

    height: 450px;

    border: none;

}


/*==========================
      ACTIVE NAVIGATION
==========================*/

.navbar .nav-link {

    color: #555;

    font-weight: 500;

    transition: .3s;

    position: relative;

}

.navbar .nav-link:hover {

    color: #ff4d8d;

}

.navbar .nav-link.active {

    color: #ff4d8d !important;

    font-weight: 700;

}







/* ===========================================
   PAGE BANNER
=========================================== */

.page-banner {
    background: linear-gradient(135deg, #ff4d6d, #ff758f);
    padding: 80px 0;
    color: #fff;
}



.page-banner h1 {
    font-size: 48px;
    font-weight: 700;
    margin-bottom: 15px;
}

.page-banner p {
    font-size: 18px;
    opacity: .95;
}

.breadcrumb {
    margin-bottom: 0;
}

.breadcrumb-item a {
    color: #fff;
    text-decoration: none;
}

.breadcrumb-item.active {
    color: #ffe5ea;
}






/*=========================================
PAGINATION
=========================================*/

.pagination {

    margin-top: 20px;

}

.pagination .page-link {

    color: #ff4d7e;

    border-radius: 10px;

    margin: 0 4px;

    border: 1px solid #eee;

}

.pagination .active .page-link {

    background: #ff4d7e;

    border-color: #ff4d7e;

    color: #fff;

}


@media(max-width:768px) {

    .page-banner {

        padding: 50px 0;

    }

    .page-banner h1 {

        font-size: 30px;

    }

    .section-title {

        font-size: 28px;

    }

    .stats-card {

        flex-direction: column;

        text-align: center;

    }

    .product-image {

        height: 180px;

    }

}




/*==================================
Quantity Selector
==================================*/

.quantity-wrapper {

    display: flex;


    margin-bottom: 15px;

}

.quantity-box {

    display: flex;

    align-items: center;

    justify-content: center;

    border: 1px solid #e9e9e9;

    border-radius: 50px;

    overflow: hidden;

    background: #fff;

    width: 140px;

    height: 42px;

    box-shadow: 0 5px 15px rgba(0, 0, 0, .05);

}

.quantity-box button {

    width: 42px;

    height: 42px;

    border: none;

    background: #fff;

    color: #ff4d7e;

    font-size: 18px;

    font-weight: 700;

    cursor: pointer;

    transition: .3s;

}

.quantity-box button:hover {

    background: #ff4d7e;

    color: #fff;

}

.quantity-box button:active {

    transform: scale(.95);

}

.quantity-box input {

    width: 56px;

    border: none;

    text-align: center;

    font-size: 16px;

    font-weight: 600;

    color: #333;

    outline: none;

    background: transparent;

    box-shadow: none;

}

/* Hide browser number arrows */

.quantity-box input::-webkit-outer-spin-button,

.quantity-box input::-webkit-inner-spin-button {

    -webkit-appearance: none;

    margin: 0;

}

.quantity-box input[type=number] {

    -moz-appearance: textfield;

}






/* Mobile navbar */

.app-navbar{

    height:65px;

    background:#fff;

    display:flex;

    align-items:center;

    justify-content:space-between;

    padding:0 15px;

    position:sticky;

    top:0;

    z-index:999;

}

.app-navbar-center{

    flex:1;

    text-align:center;

}

.app-bottom-nav{

    position:fixed;

    bottom:0;

    left:0;

    width:100%;

    height:65px;

    background:#fff;

    display:flex;

    justify-content:space-around;

    align-items:center;

    border-top:1px solid #ddd;

    z-index:9999;

}

.app-bottom-nav a{

    text-decoration:none;

    color:#666;

    display:flex;

    flex-direction:column;

    align-items:center;

    font-size:12px;

}

.app-bottom-nav i{

    font-size:22px;

}

.app-link{

    display:flex;

    align-items:center;

    gap:15px;

    padding:14px;

    color:#333;

    text-decoration:none;

    border-radius:8px;

    margin-bottom:5px;

}

.app-link:hover{

    background:#f5f5f5;

}


.cart_badge{

    position:absolute;

    top:-6px;

    right:-8px;

    font-size:10px;

}