@import url("https://fonts.googleapis.com/css2?family=Onest:wght@100..900&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap');

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    --primary: #0c7b09;
    --heading: #032802;
    --text-color: #3c3c3c;
    --white-color: #ffffff;
    --border-color: #e5e5e5;
    --font-main: "Onest", sans-serif;
}

body {
    font-family: var(--font-main);
    font-size: 16px;
    line-height: 1.6;
    color: var(--text-color);
    background: var(--white-color);
    -webkit-font-smoothing: antialiased;
}

html {
    scroll-behavior: smooth;
}



p {
    margin-bottom: 15px;
}

a {
    text-decoration: none;
    color: inherit;
}

ul {
    list-style: none;
}

img {
    max-width: 100%;
    display: block;
}

.mt-1 {
    margin-top: 10px;
}

.mt-2 {
    margin-top: 20px;
}

.mb-1 {
    margin-bottom: 10px;
}

.mb-2 {
    margin-bottom: 20px;
}

.pt-1 {
    padding-top: 10px;
}

.pt-2 {
    padding-top: 20px;
}

.pb-1 {
    padding-bottom: 10px;
}

.pb-2 {
    padding-bottom: 20px;
}

/* ---header---------- */
.main-header {
    background: #0c7b09;
    padding: 6px 0;
    overflow: visible !important;

}

.subscription-page .main-header {
    background: #F07C00;
}

.header-wrapper {
    position: fixed !important;
    top: 0;
    width: 100%;
    z-index: 1050;
    transition: transform 0.4s ease;
    will-change: transform;
}

.header-wrapper.hide-header {
    transform: translateY(-100%) !important;
}

.logo-wrap {
    position: relative;
    isolation: isolate;
    padding: 4px 10px;
}

.logo-wrap::before {
    /* white glow removed per design request */
    content: none;
}

/* Logo images sit between background and the light cone overlay */
.logo-wrap>* {
    position: relative;
    z-index: 1;
}

/* .logo-wrap:hover {
    background: radial-gradient(
        ellipse 55% 100% at 50% 0%,
        rgba(255, 255, 255, 0.96) 0%,
        rgba(255, 255, 255, 0.60) 30%,
        rgba(255, 255, 255, 0.24) 60%,
        rgba(255, 255, 255, 0.00) 100%
    );
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42), 0 3px 12px rgba(0, 0, 0, 0.18);
} */

.logo-icon {
    width: 80px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: start;
    /* margin-left: 30px; */
}

.logo-icon img {
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
}

.logo-text {
    line-height: 1.15;
}

.logo-text .brand {
    font-size: 1.1rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: -0.3px;
}

.logo-text .tagline {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.75);
    font-weight: 400;
}

.location-btn {
    display: flex;
    align-items: center;
    gap: 6px;
    border-radius: 8px;
    padding: 6px 12px;
    color: #fff;
    cursor: pointer;
    font-size: 0.78rem;
    min-width: 0;
    transition: background 0.2s;
}

.location-btn .loc-label {
    font-size: 16px;
    font-weight: 700;
    display: block;
}

.location-btn .loc-value {
    font-size: 14px;
    display: flex;
    align-items: center;
    color: #e3dfdf;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.location-btn i.pin {
    color: #fff;
    font-size: 10px;
}

.location-btn i.caret {
    font-size: 0.7rem;
    color: #e3dfdf;
}

.search-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.search-bar {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 2.5px solid #2e7d32;
    border-radius: 30px;
    padding: 10px 18px;
    width: 100%;
    max-width: 400px;
    gap: 10px;
}

.search-bar input {
    flex: 1;
    border: none;
    outline: none;
    font-size: 15px;
    color: #333333;
    background: transparent;
    font-family: inherit;
}

.search-bar input::placeholder {
    color: #888888;
}

/*
    .search-wrap {
       position: relative;
        flex: 1;
         max-width: 450px;
         }
    .search-wrap input {
      width: 100%;
      border: none;
      border-radius: 8px;
      padding: 9px 46px 9px 38px;
      font-size: .85rem;
      outline: none;
      box-shadow: 0 2px 6px rgba(0,0,0,.15);
    }
    .search-wrap input::placeholder {
      color: #9e9e9e;
     }
    .search-wrap .search-btns {
      position: absolute;
       right: 6px;
        top: 50%;
        transform: translateY(-50%);
      display: flex;
       gap: 4px;
    }
    .search-wrap .search-btns button {
      background: none;
      border: none;
       cursor: pointer;
      color: var(--primary);
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
       font-size: 1rem;
       padding: 2px 5px;
      transition: color .2s;
    }
    .search-wrap .search-btns .search-submit {
        left: 10px;
    width: 32px;
    height: 32px;
      font-size: .8rem;
    }
  .search-wrap .search-btns button:last-child {
  right: 10px;
  color: var(--primary);
  font-size: 1rem;
} */

/* Header action icons */
.header-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.hdr-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #fff;
    border-radius: 8px;
    padding: 12px 13px;
    color: var(--primary);
    cursor: pointer;
    font-size: 0.65rem;
    gap: 2px;
    text-decoration: none;
    transition: background 0.2s;
    position: relative;
}

.hdr-btn i {
    font-size: 1.1rem;
}

.phone-block {
    color: #fff;
    font-size: 0.72rem;
    line-height: 1.4;
}

.phone-block .ph-num {
    font-weight: 700;
    font-size: 16px;
}

.phone-block .ph-sub i {
    font-size: 10px;
}

.phone-block .ph-sub {
    font-size: 14px;
    font-weight: 400;
    color: #e3dfdf;
    display: flex;
    justify-content: end;
    align-items: center;
}

/* ── NAV BAR ─────────────────────────────────────────── */
.nav-bar {
    background: #fff;
    border-bottom: 2px solid var(--gray-200);
    box-shadow: 0 2px 20px 0 rgb(0 0 0 / 5%);
    padding: 4px 15px 2px;
}

.nav-bar .nav-inner {
    display: flex;
    align-items: center;
    gap: 4px;
    padding: 0 12px;
    overflow-x: auto;
    scrollbar-width: none;
}

/* .nav-bar .nav-inner::-webkit-scrollbar {
    display: none;
} */

.nav-link-item {
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 11px 14px;
    font-size: 20px;
    font-weight: 500;
    color: var(--heading);
    text-decoration: none;
    border-bottom: 3px solid transparent;
    white-space: nowrap;
    transition: all 0.2s ease;
}

.nav-link-item img {
    height: 20px;
    object-fit: contain;
}

.nav-link-item.active {
    color: var(--primary);
    font-weight: 600;
}

.nav-link-item.active .nav-link-img {
    filter: invert(32%) sepia(98%) saturate(500%) hue-rotate(80deg);
    /* filter: brightness(0.6) sepia(1) hue-rotate(80deg) saturate(5); */
}

/* Play Store button */
.play-store-btn img {
    height: 60px;
    width: 170px;
    margin-right: 40px;
    border-radius: 12px;
    object-fit: contain;
}

/* ── MOBILE BOTTOM NAV ──────────────────────────────── */
.mobile-bottom-nav {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid var(--gray-200);
    z-index: 1060;
    padding: 6px 0 8px;
    box-shadow: 0 -3px 16px rgba(0, 0, 0, 0.1);
}

.mobile-bottom-nav .mbn-inner {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.mbn-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 3px;
    text-decoration: none;
    color: #9e9e9e;
    font-size: 0.6rem;
    font-weight: 500;
    position: relative;
    min-width: 48px;
    transition: color 0.2s;
}

.mbn-item i {
    font-size: 1.2rem;
}

.mbn-item.active {
    color: #2e7d32;
}

.mbn-item .mbn-badge {
    position: absolute;
    top: -3px;
    right: 6px;
    background: #ff8f00;
    color: #fff;
    font-size: 0.5rem;
    min-width: 14px;
    height: 14px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 2px;
}

/* ── MOBILE SEARCH BAR (visible on sm) ──────────────── */
.mobile-search-bar {
    display: none;
    background: #2e7d32;
    padding: 0 12px 10px;
}

.mobile-search-bar .search-wrap {
    max-width: 100%;
}

/* Delivery address shown above the mobile search input, in light color */
.mobile-delivery-loc {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 1px 4px 3px;
    color: rgba(255, 255, 255, 0.82);
    font-size: 12px;
    line-height: 1.2;
    min-width: 0;
}

.mobile-delivery-loc i {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.92);
    flex-shrink: 0;
    padding: 5px;
}

.mobile-delivery-loc span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── MOBILE SLIDE-IN MENU ───────────────────────────── */
.mobile-menu-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 2000;
    opacity: 0;
    transition: opacity 0.3s;
}

.mobile-menu-overlay.open {
    display: block;
    opacity: 1;
}

.mobile-menu {
    position: fixed;
    top: 0;
    left: -100%;
    width: min(320px, 85vw);
    height: 100%;
    background: #fff;
    z-index: 2100;
    display: flex;
    flex-direction: column;
    transition: left 0.32s cubic-bezier(0.4, 0, 0.2, 1);
    overflow-y: auto;
}

.mobile-menu.open {
    left: 0;
}

.mm-header {
    background: #2e7d32;
    padding: 18px 16px 16px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.mm-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 1.2rem;
}

.mm-user {
    flex: 1;
    color: #fff;
}

.mm-user .mm-name {
    font-weight: 600;
    font-size: 0.88rem;
}

.mm-user .mm-email {
    font-size: 0.68rem;
    opacity: 0.8;
}

.mm-close {
    background: rgba(255, 255, 255, 0.15);
    border: none;
    cursor: pointer;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    transition: background 0.2s;
}

.mm-close:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* Delivery location inside menu */
.mm-location {
    background: #f1f8e9;
    padding: 10px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-bottom: 1px solid var(--gray-200);
    font-size: 0.78rem;
    color: var(--gray-700);
    cursor: pointer;
}

.mm-location i {
    color: #2e7d32;
    font-size: 1rem;
}

.mm-location .loc-text {
    flex: 1;
}

.mm-location .loc-text span {
    display: block;
    font-weight: 600;
    color: #212121;
    font-size: 0.82rem;
}

.mm-location .change {
    font-size: 0.68rem;
    color: #2e7d32;
    font-weight: 500;
}

.mm-section-title {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    color: #9e9e9e;
    text-transform: uppercase;
    padding: 14px 16px 6px;
}

.mm-nav-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px;
    text-decoration: none;
    color: #212121;
    font-size: 0.84rem;
    font-weight: 500;
    border-bottom: 1px solid #f5f5f5;
    transition: background 0.18s;
}

.mm-nav-item:hover {
    background: #f1f8e9;
    color: #2e7d32;
}

.mm-nav-item.active {
    color: #2e7d32;
    background: #e8f5e9;
}

.mm-nav-item .mm-icon {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    flex-shrink: 0;
}

.mm-nav-item .mm-icon.green {
    background: #e8f5e9;
    color: #2e7d32;
}

.mm-nav-item .mm-icon.orange {
    background: #fff3e0;
    color: #e65100;
}

.mm-nav-item .mm-icon.blue {
    background: #e3f2fd;
    color: #1565c0;
}

.mm-nav-item .mm-icon.red {
    background: #fce4ec;
    color: #c62828;
}

.mm-nav-item .mm-icon.teal {
    background: #e0f2f1;
    color: #00695c;
}

.mm-nav-item .mm-icon.purple {
    background: #f3e5f5;
    color: #6a1b9a;
}

.mm-nav-item .mm-arrow {
    margin-left: auto;
    color: #9e9e9e;
    font-size: 0.75rem;
}

.mm-phone-block {
    padding: 14px 16px;
    background: #f9fbe7;
    border-top: 1px solid var(--gray-200);
    display: flex;
    align-items: center;
    gap: 12px;
}

.mm-phone-block i {
    color: #2e7d32;
    font-size: 1.2rem;
}

.mm-phone-block .ph {
    font-size: 0.82rem;
}

.mm-phone-block .ph span {
    display: block;
    font-weight: 700;
    color: #212121;
}

.mm-phone-block .ph small {
    color: #9e9e9e;
    font-size: 0.68rem;
}

.mm-footer {
    padding: 14px 16px;
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.mm-footer a {
    display: flex;
    align-items: center;
    gap: 6px;
    background: #000;
    color: #fff;
    border-radius: 7px;
    padding: 7px 12px;
    font-size: 0.72rem;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}

.mm-footer a:hover {
    background: #222;
}

.mm-footer a i {
    font-size: 1.1rem;
}

.main-header .lang-wrap {
    position: relative;
    display: inline-block;
}

.main-header .lang-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    color: #2e7d32;
    border: none;
    border-radius: 8px;
    padding: 12px 13px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
}

.main-header .lang-btn .zh-icon {
    font-size: 15px;
    font-weight: 700;
}

.main-header .lang-btn .en-icon {
    font-size: 11px;
    opacity: 0.85;
}

.main-header .lang-btn .caret i {
    font-size: 8px;
    transition: transform 0.22s;
    color: var(--primary);
}

.main-header .lang-btn.open .caret i {
    transform: rotate(180deg);
}

.main-header .lang-dropdown {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    right: -80px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 10px;
    min-width: 180px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    z-index: 999;
    overflow: hidden;
}

.main-header .lang-dropdown.open {
    display: block;
}

.main-header .dd-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 14px;
    cursor: pointer;
    font-size: 13px;
}

.main-header .dd-item:hover {
    background: #f5f5f5;
}

.main-header .dd-item.active {
    background: #e8f5e9;
    color: #2e7d32;
}

/* ── RESPONSIVE ──────────────────────────────────────── */
@media (max-width: 991.98px) {
    /* .phone-block {
        display: none !important;
       } */
}

@media (max-width: 767.98px) {
    .phone-block {
        display: none !important;
    }

    .main-header {
        padding: 8px 0 6px;
    }

    /* Hide desktop location & search on mobile */
    .desktop-location,
    .desktop-search,
    .desktop-phone {
        display: none !important;
    }

    /* Show mobile search row */
    .mobile-search-bar {
        display: block;
        margin-top: 4px;
    }

    /* Compact logo */
    .logo-text .tagline {
        display: none;
    }

    .logo-icon {
        width: 50px;
        height: 45px;
        font-size: 1.2rem;
    }

    .search-bar {
        padding: 0px 18px;
        border-radius: 12px;
    }

    .search-wrap input {
        padding: 3px 30px 4px 0px;
        box-shadow: none;
    }

    .logo-text .brand {
        font-size: 0.95rem;
    }

    /* Show hamburger */
    .hamburger-btn {
        display: flex !important;
    }

    /* Show mobile bottom nav */
    .mobile-bottom-nav {
        display: block;
    }

    /* Hide desktop nav bar */
    .nav-bar {
        display: none;
    }

    /* Body padding for bottom nav */
    body {
        padding-bottom: 64px;
    }
}

@media (max-width: 575.98px) {
    .hdr-btn span {
        /* display: none;  */
    }

    .hdr-btn,
    .main-header .lang-btn {
        padding: 7px 10px;
    }

    .search-wrap input {
        margin-top: 0;
    }

    .mobile-search-bar {
        padding: 0 12px 5px;
    }
}

/* Small phones: category cards keep a fixed width and scroll (paired with
   Swiper slidesPerView:'auto') so they no longer overlap / lap each other. */
@media (max-width: 479.98px) {
    .home-category-swiper .swiper-slide {
        width: 190px !important;
        height: auto;
    }

    .home-category-swiper .our-products-container {
        width: 100% !important;
    }
}

/* ── ALL ESSENTIALS on mobile ─────────────────────────────
   Swiper's Grid module misaligned the two rows (and left a big empty
   gap). On mobile the swiper isn't initialised (see index.blade.php);
   instead we lay the cards out as a native 2-row horizontal scroll
   grid — perfectly aligned rows, tight spacing, centred labels. */
@media (max-width: 767.98px) {
    .all-essentials .home-essentials-swiper {
        height: auto !important;
        overflow: visible;
    }

    .all-essentials .home-essentials-swiper .swiper-wrapper {
        display: grid !important;
        grid-auto-flow: column;
        grid-template-rows: auto auto;
        grid-auto-columns: calc((100% - 14px) / 2.35);
        gap: 10px 14px;
        transform: none !important;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        padding-bottom: 6px;
        scrollbar-width: none;
    }

    .all-essentials .home-essentials-swiper .swiper-wrapper::-webkit-scrollbar {
        display: none;
    }

    .all-essentials .home-essentials-swiper .swiper-slide {
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        scroll-snap-align: start;
    }

    .all-essentials .essentials-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        padding: 0 2px;
    }

    .all-essentials .essentials-container .product-img-wrapper {
        width: 82px !important;
        height: 82px !important;
        margin: 0 auto 6px !important;
    }

    .all-essentials .essentials-container .product-img-wrapper img {
        width: 70px !important;
        height: 62px !important;
    }

    .all-essentials .essentials-container .heading {
        width: 100% !important;
        text-align: center !important;
        font-size: 12px !important;
        line-height: 1.25 !important;
        margin: 0 auto !important;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }
}

.hamburger-btn {
    display: none;
    background: rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 8px;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    color: #fff;
    cursor: pointer;
    font-size: 1.1rem;
    transition: background 0.2s;
}

.hamburger-btn:hover {
    background: rgba(255, 255, 255, 0.3);
}

/* ------footer-------- */
.footer-main {
    background-color: #e8f5e8;
    padding: 52px 0px 28px 60px;
}

.subscription-page .footer-main {
    background: #FFF3E0;
}

.subscription-page .footer-bottom {
    background: #F07C00;
}

/* Brand */
.brand-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
    text-decoration: none;
}

.brand-icon img {
    width: 80px;
    height: 56px;
    object-fit: cover;
}

.brand-text {
    font-size: 20px;
    font-weight: 700;
    color: #111;
    line-height: 1;
}

.brand-text span {
    color: #3a8c2f;
}

.tagline {
    font-size: 20px;
    font-weight: 700;
    color: var(--heading);
    margin-bottom: 10px;
}

.desc {
    font-size: 15px;
    color: #444441;
    line-height: 24px;
    max-width: 270px;
}

.footer-col h6 {
    font-size: 20px;
    font-weight: 600;
    color: var(--heading);
    margin-bottom: 6px;
    padding-bottom: 8px;
    position: relative;
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col ul li {
    margin-bottom: 6px;
}

.footer-col ul li a {
    font-size: 14px;
    color: #1e2833;
    text-decoration: none;
    font-weight: 400;
    display: inline-block;
    transition: all 0.2s ease;
    padding-left: 0.2s;
}

/* Social */
.social-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.social-list li a img {
    width: 20px;
}

.social-list li a .facebook {
    width: 10px;
    margin-right: 10px;
}

.social-list li {
    margin-bottom: 11px;
}

.social-list li a {
    display: flex !important;
    align-items: center;
    gap: 15px;
    font-size: 15px;
    color: #4a4a4a;
    text-decoration: none;
    transition: color 0.2s;
}

.s-icon {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Divider */
.footer-divider {
    border: none;
    border-top: 1px solid #cde4b8;
    margin: 28px 0 0;
}

/* ── Bottom Bar ── */
.footer-bottom {
    background: var(--primary);
    padding: 13px 50px 13px 60px;
}

.footer-bottom p {
    font-size: 15px;
    color: var(--white-color);
    margin: 0;
}

.footer-bottom .footer-company {
    color: var(--white-color);
    font-weight: 500;
    text-decoration: none;
    font-size: 15px;
}

.bottom-links {
    display: flex;
    gap: 14px;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.bottom-links span {
    color: var(--white-color);
    opacity: 0.2;
}

.bottom-links a {
    font-size: 15px;
    color: var(--white-color);
    text-decoration: none;
    transition: color 0.2s;
}

/* ── Responsive ── */
@media (max-width: 991.98px) {
    .desc {
        max-width: 100%;
    }
}

@media (max-width: 767.98px) {
    .footer-main {
        padding: 36px 0 16px;
    }

    .footer-col {
        margin-bottom: 26px;
    }

    .bottom-links {
        justify-content: flex-start;
        margin-top: 6px;
    }
}

@media (max-width: 575.98px) {
    .tagline {
        font-size: 15px;
    }

    .footer-col h6 {
        font-size: 14px;
    }
}

/* ------------------------ */
.product-section {
    padding: 0px 50px 60px;
}

.product-section .sidebar.col-md-2 {
    border-right: 1px solid #e2dfdf;
    border-bottom: 1px solid #e2dfdf;
    position: sticky !important;
    top: 20px;
    /* .row is a flex container (Bootstrap default) — without align-self:flex-start
       this item stretches to match its sibling product column's height, which is
       now much taller since infinite scroll can load 300+ items instead of one
       24-item page. Once stretched that tall, the sidebar's own content (nav list)
       scrolls away with the page instead of staying pinned, leaving blank space
       below where it used to be. max-height (not a fixed height) + flex-start
       keeps it sized to its own content and correctly stuck near the viewport top. */
    align-self: flex-start;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.navi-link {
    /* Keep "See all" and its arrow on one line (they wrapped at 320px) */
    white-space: nowrap;
    color: var(--heading);
    text-decoration: underline;
    font-size: 20px;
    font-weight: 500;
}

.navi-link i {
    color: var(--heading);
    vertical-align: middle;
}

/* .product-section::-webkit-scrollbar {
    display: none;
} */

/* .product-section .sidebar::-webkit-scrollbar {
    display: none;
} */

.product-section .nav-link-img {
    width: 50px;
    height: 50px;
    object-fit: cover;
}

.product-section .nav-link {
    background: #fff;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-left: 4px solid transparent !important;
    transition:
        background 0.18s,
        border-color 0.18s;
    text-decoration: none;
    font-size: 14px;
    color: #000 !important;
    border-radius: 0px !important;
    padding: 4px 8px 4px 10px !important;
}

.product-section .nav-link.active {
    background: #d9edd8 !important;
    border-left-color: #036e21 !important;
    color: var(--heading) !important;
    font-weight: 600;
    font-size: 14px;
}

/* ------------ */
/* .frequent-sec .swiper {
  width: 90%;
  padding: 40px 0;
} */

.frequent-sec .swiper-slide {
    display: flex;
    justify-content: center;
}

.freq-title-sec {
    padding: 80px 0px 0px;
}

.freq-title-sec h3 {
    color: #032802 !important;
}

/* ------------ */

.product-section .product-card,
.frequent-sec .product-card {
    background: #fff;
    border-radius: 14px;
    width: 180px;
    padding: 10px 10px 20px 10px;
    position: relative;
    border: none !important;
}

.product-section .product-card .img-area,
.frequent-sec .product-card .img-area {
    position: relative;
    width: 100%;
    height: 154px;
    border-radius: 10px;
    overflow: hidden;
    background: #f5f5f5;
    border: 1px solid #ececec;
    display: flex;
    align-items: center;
    justify-content: center;
}

.product-section .product-card .img-area img,
.frequent-sec .product-card .img-area img {
    width: 140px;
    height: 115px;
    object-fit: contain;
    border-radius: 10px;
}

.product-section .product-card .img,
.frequent-sec .product-card .img {
    width: 100px;
    height: 100px;
    object-fit: cover;
}

.product-section .product-card .wish-btn,
.frequent-sec .product-card .wish-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    background: #fff;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 3;
}

.product-section .product-card .wish-btn svg,
.frequent-sec .product-card .wish-btn svg {
    width: 16px;
    height: 16px;
}

.product-section .product-card .cart-btn,
.frequent-sec .product-card .cart-btn {
    position: absolute;
    bottom: 5px;
    right: 4px;
    height: 38px;
    width: 38px;
    border-radius: 4px;
    overflow: hidden;
    cursor: pointer;
    border: 2px solid var(--primary);
    background: #fff;
    transition:
        width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
        background 0.35s;
    display: flex;
    justify-content: flex-end;
}

.product-section .product-card .cart-btn.expanded,
.frequent-sec .product-card .cart-btn.expanded {
    width: 145px;
    background: var(--primary);
}

.product-section .product-card .plus-icon,
.frequent-sec .product-card .plus-icon {
    position: absolute;
    right: -4px;
    top: -4px;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
}

.product-section .product-card .counter-area,
.frequent-sec .product-card .counter-area {
    display: flex;
    align-items: center;
    height: 100%;
    width: calc(100% - 42px);
    position: absolute;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
}

.product-section .product-card .cart-btn.expanded .counter-area,
.frequent-sec .product-card .cart-btn.expanded .counter-area {
    opacity: 1;
    pointer-events: all;
}

.product-section .product-card .minus-btn,
.frequent-sec .product-card .minus-btn {
    width: 38px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
}

.product-section .product-card .minus-btn:hover,
.frequent-sec .product-card .minus-btn:hover {
    background: rgba(255, 255, 255, 0.15);
}

.product-section .product-card .count-val,
.frequent-sec .product-card .count-val {
    flex: 1;
    text-align: center;
    color: #fff;
    font-weight: 600;
}

.product-section .product-card .info,
.frequent-sec .product-card .info {
    padding: 8px 2px 2px;
}

.product-section .product-card .price-row,
.frequent-sec .product-card .price-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 4px;
    border-top: none !important;
}

.product-section .product-card .price-now,
.frequent-sec .product-card .price-now {
    font-size: 16px;
    font-weight: 600;
    color: #111827;
    border: none !important;
    margin-top: 0px !important;
}

.product-section .product-card .price-old,
.frequent-sec .product-card .price-old {
    font-size: 15px;
    font-weight: 400;
    color: #6b7280;
    text-decoration: line-through;
}

.product-section .product-card .prod-name,
.frequent-sec .product-card .prod-name {
    font-size: 15px;
    color: #3c3c3c;
    font-weight: 400;
    line-height: 1.4;
    margin: 6px 0px;

    /* 2-line clamp */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.product-section .product-card .prod-qty,
.frequent-sec .product-card .prod-qty {
    font-size: 16px;
    font-weight: 500;
    color: var(--primary);
    display: flex;
    align-items: center;
    gap: 3px;
    cursor: pointer;
}

.product-section .tot-tag {
    font-size: 14px;
    font-weight: 400;
    color: #444441;
}

.product-section .product-card .prod-qty svg,
.frequent-sec .product-card .prod-qty svg {
    width: 18px;
    height: 18px;
    margin-top: 4px;
}

.product-section .product-card .wishlist-btn,
.frequent-sec .product-card .wishlist-btn {
    position: absolute;
    top: 10px;
    right: 6px;
    background: transparent;
    border: none;
    cursor: pointer;
}

.prod-details-sec .wishlist-btn {
    position: absolute;
    top: 10px;
    right: 56px;
    background-color: #f8f8f8;
    border-radius: 50%;
    border: 1px solid #f8f8f8;
    padding: 5px;
    cursor: pointer;
}

.prod-details-sec .share-icon-sec {
    position: absolute;
    top: 10px;
    right: 6px;
    background-color: #f8f8f8;
    border-radius: 50%;
    border: 1px solid #f8f8f8;
    padding: 8px;
    cursor: pointer;
}

.frequent-sec .swiper-button-next,
.frequent-sec .swiper-button-prev,
.frequent-sec .swiper-pagination {
    display: none;
}

.share-icon {
    width: 15px !important;
    height: 15px !important;
}

.product-section .product-card .heart,
.prod-details-sec .heart,
.frequent-sec .heart {
    width: 22px;
    height: 20px;
    fill: #fff;
    stroke: #534b4b;
    stroke-width: 5;
    transition: 0.3s ease;
}

/* .prod-details-sec .heart,
.frequent-sec .heart {
    fill: none !important;
} */

.cart-slider {
    padding: 10px 20px;
}

.product-section .wishlist-btn.active .heart,
.prod-details-sec .wishlist-btn.active .heart,
.frequent-sec .wishlist-btn.active .heart {
    fill: #e53935;
    stroke: #e53935;
}

.product-section .wishlist-btn.active .heart path,
.prod-details-sec .wishlist-btn.active .heart path,
.frequent-sec .wishlist-btn.active .heart path {
    fill: #e53935;
}

.product-section .wishlist-btn.active .heart,
.prod-details-sec .wishlist-btn.active .heart,
.frequent-sec .wishlist-btn.active .heart {
    filter: drop-shadow(0 0 0 #fff);
}

.product-section .filter-section {
    padding: 16px;
    max-width: 320px;
}

.product-section .filter-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.product-section .filter-title {
    font-size: 20px;
    font-weight: 600;
    color: #111;
}

.product-section .clear-all {
    font-size: 14px;
    color: #1a73e8;
    font-weight: 400;
    text-decoration: none;
}

.product-section .tags-container {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.product-section .filter-tag {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 4px 16px;
    border: 1px solid #f5e2c6;
    border-radius: 999px;
    font-size: 14px;
    color: #954900;
    background: #fffbf5;
    width: fit-content;
}

.product-section .remove-btn {
    font-size: 17px;
    color: #954900;
    line-height: 1;
    cursor: pointer;
}

.product-section .remove-btn:hover {
    color: #333;
}

.product-section .drp-filter-group {
    max-width: 320px;
}

.product-section .drp-filter-group summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 14px 30px 14px 10px;
    cursor: pointer;
    list-style: none;
    font-size: 16px;
    font-weight: 400;
    color: #111;
}

.product-section .drp-filter-group summary::-webkit-details-marker {
    display: none;
}

.product-section .drp-filter-group .arrow i {
    font-size: 12px;
    color: #000;
    font-weight: 600;
}

.product-section .drp-filter-group .arrow {
    transition: transform 0.2s;
    display: inline-block;
}

.product-section .drp-filter-group details[open] .arrow {
    transform: rotate(180deg);
}

.product-section .drp-filter-group .filter-body {
    padding: 0px 0px 14px 30px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.product-section .drp-filter-group .checkbox-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: #222;
    cursor: pointer;
}

.product-section .drp-filter-group .checkbox-label input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #000;
    border-radius: 3px;
    flex-shrink: 0;
    position: relative;
    cursor: pointer;
    background: #fff;
}

.product-section .drp-filter-group .checkbox-label input[type="checkbox"]:checked {
    background: var(--primary);
    border-color: var(--primary);
}

.product-section .drp-filter-group .checkbox-label input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 0px;
    width: 5px;
    height: 10px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.product-section .drp-filter-group .checkbox-label input[type="checkbox"]:checked+span {
    color: var(--primary);
    font-weight: 500;
}

.product-section .pro-orange-badge {
    position: absolute;
    top: 0px;
    left: 0;
    display: inline-block;
    background-color: #f07c00;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 3px 18px;
    border-radius: 0 0px 10px 0;
}

.prod-details-sec .pro-orange-badge,
.frequent-sec .pro-orange-badge {
    position: absolute;
    top: 0px;
    left: 0;
    display: inline-block;
    background-color: #f07c00;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 5px 18px;
    border-radius: 0 0px 10px 0;
}

.product-section .order-title {
    padding: 0px 10px;
    font-size: 30px;
    color: var(--heading);
}

/* --------------------------- */
.prod-details-sec {
    margin: 30px 30px 60px;
}

.prod-details-sec .breadcrumb-nav {
    font-size: 12px;
    color: #888;
    margin-bottom: 20px;
}

.prod-details-sec .breadcrumb-nav a {
    color: #747c8c;
    font-size: 14px;
    text-decoration: none;
    font-weight: 400;
}

.prod-details-sec .breadcrumb-nav .black-icon,
.my-cart-page .breadcrumb-bar .black-icon {
    color: #171418 !important;
}

.prod-details-sec .breadcrumb-nav i,
.my-cart-page .breadcrumb-nav i {
    font-size: 12px;
    margin: 0px 6px;
}

.prod-details-sec .breadcrumb-nav span {
    font-size: 14px;
    color: #171418;
}

.prod-details-sec .breadcrumb-nav a:hover {
    color: var(--primary);
}

.prod-details-sec .thumbnail-col {
    display: flex;
    flex-direction: column;
    gap: 8px;
    flex-shrink: 0;
}

.prod-details-sec .thumb {
    width: 88px;
    height: 88px;
    border: 1px solid #f1ecec;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    background: #fff;
}

.prod-details-sec .thumb img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.prod-details-sec .thumb.active {
    border-color: var(--primary);
}

.prod-details-sec .img-main-wrap {
    flex: 1;
    min-width: 0;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    width: 522px;
    height: 550px;
    position: relative;
    cursor: crosshair;
    user-select: none;
}

.prod-details-sec .img-main-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    animation: scrollLeft 8s linear infinite;
}

/* green lens box */
.prod-details-sec .zoom-lens {
    display: none;
    position: absolute;
    width: 130px;
    height: 130px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: rgba(46, 125, 50, 0.08);
    pointer-events: none;
    z-index: 10;
}

#wishlistToast {
    background-color: var(--primary);
    border-radius: 6px;
    font-size: 13px !important;
    /* min-width: 320px !important; */
    padding: 6px !important;
}

#wishlistToast .toast-body {
    padding: 6px !important;
    min-width: 320px !important;
}

/* dot indicators */
.prod-details-sec .auto-dot-row {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
    margin-top: 8px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
}

.prod-details-sec .auto-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #ccc;
    cursor: pointer;
    transition: background 0.3s;
}

.prod-details-sec .auto-dot.active {
    background: var(--primary);
    width: 15px;
    height: 8px;
    border-radius: 6px;
}

/* cart row */
.prod-details-sec .left-cart-area {
    margin-top: 14px;
}

.prod-details-sec .btn-add-cart {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 8px;
    width: 110%;
    padding: 13px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s;
}

.prod-details-sec .cart-controls {
    display: none;
    align-items: center;
    /* border-radius:8px; */
    gap: 10px;
    overflow: hidden;
    width: 100%;
    /* border:2px solid var(--primary); */
}

.prod-details-sec .btn-view-cart {
    background: #fff;
    color: var(--text-color);
    border: 1px solid #e0e0e0;
    padding: 10px 14px;
    font-size: 14px;
    border-radius: 12px;
    width: 250px;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    white-space: nowrap;
    text-decoration: none;
    flex-shrink: 0;
}

.prod-details-sec .cart-badge {
    background: var(--primary);
    color: #fff;
    border-radius: 50%;
    width: 22px;
    height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 700;
}

.prod-details-sec .qty-toggle {
    display: flex;
    align-items: center;
    width: 250px;
    background: var(--primary);
    border-radius: 8px;
}

.prod-details-sec .qty-toggle button {
    background: transparent;
    color: #fff;
    border: none;
    width: 44px;
    height: 44px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
}

.prod-details-sec .qty-toggle button:hover {
    background: rgba(255, 255, 255, 0.18);
}

.prod-details-sec .qty-toggle .qty-num {
    flex: 1;
    text-align: center;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
}

.prod-details-sec .right-col-wrap {
    position: relative;
    margin-left: 60px;
}

.prod-details-sec .details-card {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
}

.prod-details-sec .zoom-overlay {
    display: none;
    position: absolute;
    inset: 0;
    z-index: 100;
    width: 300px;
    height: 300px;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
    background: #fff;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.13);
}

.prod-details-sec .zoom-overlay.active {
    display: block;
}

.prod-details-sec .zoom-overlay img {
    position: absolute;
    top: 0;
    left: 0;
    transform: none;
    max-width: none;
}

.prod-details-sec .zoom-overlay-label {
    position: absolute;
    bottom: 10px;
    right: 12px;
    font-size: 11px;
    font-weight: 600;
    color: var(--primary);
    background: rgba(255, 255, 255, 0.85);
    padding: 3px 8px;
    border-radius: 20px;
    border: 1px solid var(--primary);
    pointer-events: none;
    z-index: 5;
}

.prod-details-sec .product-title {
    font-size: 20px;
    font-weight: 500;
    color: #333330;
    margin-bottom: 4px;
}

.prod-details-sec .bought-badge span {
    color: #848484;
}

.prod-details-sec .bought-badge {
    font-size: 14px;
    margin-bottom: 22px;
}

.prod-details-sec .price-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    border-top: 1px solid #dfd8d8;
    /* border-radius:6px; */
    padding: 12px;
    margin-bottom: 14px;
}

.prod-details-sec .price-now {
    margin-top: 15px;
    font-size: 26px;
    border: 1px solid #0c7b09;
    font-weight: 700;
    color: #0c7b09;
    padding: 4px 8px;
    border-radius: 6px;
}

.prod-details-sec .price-mrp {
    font-size: 14px;
    color: #999;
    text-decoration: line-through;
}

.prod-details-sec .save-tag {
    font-size: 12px;
    color: var(--primary);
    font-weight: 600;
}

.prod-details-sec .offer-icon {
    width: 18px !important;
    height: 18px !important;
}

.prod-details-sec .off-badge {
    background: #ffefdd;
    color: #f07c00;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: 110px;
    margin-bottom: 16px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    padding: 4px 10px;
}

/* qty selector */
.prod-details-sec .qty-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 8px;
}

.prod-details-sec .qty-label-group {
    display: flex;
    align-items: center;
    gap: 8px;
}

.prod-details-sec .qty-section-label span {
    color: #5c5c5c;
}

.prod-details-sec .qty-section-label {
    font-weight: 500;
    font-size: 16px;
}

.prod-details-sec .qty-selected-tag {
    font-size: 10px;
    color: #fff;
    background: #f07c00;
    border-radius: 12px;
    padding: 2px 10px;
    font-weight: 600;
}

.prod-details-sec .qty-next-btn {
    width: 30px;
    height: 30px;
    border: 1.5px solid #e0e0e0;
    background: #fff;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 28px;
    color: #444;
}

.prod-details-sec .qty-nav-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.prod-details-sec .qty-next-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
    background: #e8f5e9;
}

.prod-details-sec .qty-scroll-wrapper {
    overflow-x: auto;
    scrollbar-width: none;
    cursor: grab;
    user-select: none;
    scroll-behavior: smooth;
}

/*
.prod-details-sec .qty-scroll-wrapper::-webkit-scrollbar {
    display: none;
} */

.slider-track {
    display: flex;
    align-items: center;
    height: 100%;
    transition: transform 0.6s ease-in-out;
}

.slider-track img {
    min-width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 8px;
}

.prod-details-sec .qty-scroll-wrapper.grabbing {
    cursor: grabbing;
    scroll-behavior: auto;
}

.prod-details-sec .qty-cards-row {
    display: flex;
    gap: 10px;
    padding-bottom: 4px;
    width: max-content;
}

.prod-details-sec .qty-card {
    border: 1px solid #f1ecec;
    width: 162px;
    height: 100px;
    border-radius: 8px;
    padding: 8px 14px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    gap: 4px;
    background: #fff;
    transition:
        border-color 0.2s,
        box-shadow 0.2s;
}

.prod-details-sec .qty-card.selected {
    border-color: #bcf5bb;
    background: #f1f7f1;
}

.prod-details-sec .qty-card.selected .ql {
    background-color: #fff !important;
}

.prod-details-sec .qty-card .ql {
    font-weight: 500;
    font-size: 12px;
    background-color: #f1f7f1;
    width: 140px;
    text-align: center;
    color: #202020;
}

.prod-details-sec .qty-card .qbadge {
    font-size: 10px;
    background: #ff6f00;
    color: #fff;
    border-radius: 3px;
    padding: 1px 5px;
}

.prod-details-sec .qty-card .qp {
    font-size: 16px;
    font-weight: 600;
    color: #202020;
}

.prod-details-sec .qty-card .qm {
    font-size: 11px;
    color: #aaa;
    text-decoration: line-through;
}

.prod-details-sec .qty-card .qs {
    font-size: 11px;
    color: var(--primary);
    font-weight: 500;
}

/* info dropdowns */
.prod-details-sec .info-section {
    margin-top: 12px;
    /* border:1px solid #e0e0e0; */
    border-radius: 8px;
    overflow: hidden;
}

.prod-title {
    color: #333330;
    font-size: 20px;
    font-weight: 500;
    margin: 25px 0px;
}

.prod-details-sec .info-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer;
    background: #f8f8f8;
    font-weight: 600;
    font-size: 16px;
    color: #202020;
    user-select: none;
}

.prod-details-sec .info-arrow {
    font-size: 18px;
    color: #666;
    transition: transform 0.3s;
    display: inline-block;
}

.prod-details-sec .info-arrow.open {
    transform: rotate(180deg);
}

.prod-details-sec .info-body {
    display: none;
    padding: 0 16px 14px;
    border-top: 1px solid #e0e0e0;
}

.prod-details-sec .info-body.open {
    display: block;
}

.prod-details-sec .info-table {
    width: 100%;
    border-collapse: collapse;
}

.prod-details-sec .info-table td {
    padding: 12px 4px;
    font-size: 12px;
    vertical-align: top;
}

.prod-details-sec .info-table tr:last-child td {
    border-bottom: none;
}

.prod-details-sec .info-table td:first-child {
    color: #888;
    width: 40%;
}

.prod-details-sec .info-table td:last-child {
    color: var(--text-color);
    font-weight: 500;
}

/*-----------------------  */
.my-cart-page {
    padding: 10px 20px;
}

.my-cart-page .breadcrumb-bar {
    padding: 14px 24px;
    font-size: 13px;
    color: #888;
}

.my-cart-page .breadcrumb-bar a {
    color: #747c8c;
    font-size: 14px;
    font-weight: 400;
    text-decoration: none;
}

.my-cart-page .breadcrumb-bar span {
    color: #171418;
    font-weight: 400;
    font-size: 14px;
}

/* ── Page Layout ── */
.my-cart-page .cart-page {
    padding: 10px 20px;
}

/* ── Left: Header ── */
.my-cart-page .cart-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}

.my-cart-page .cart-title {
    font-size: 28px;
    font-weight: 600;
    color: var(--heading);
    line-height: 1.1;
}

.my-cart-page .cart-subtitle {
    font-size: 14px;
    color: #5c5c5c;
    margin-top: 3px;
    font-weight: 400;
}

.my-cart-page .schedule-btn span {
    font-size: 14px;
    font-weight: 400;
    color: #202020;
}

.my-cart-page .schedule-btn {
    display: flex;
    align-items: center;
    gap: 7px;
    background: #fffdec;
    border: 1px solid #927f00;
    border-radius: 10px;
    padding: 8px 16px;
    font-size: 13px;
    cursor: pointer;
    color: #333;
    font-weight: 600;
    transition: all 0.2s;
    white-space: nowrap;
}

/* .my-cart-page .schedule-btn:hover{
    border-color:#f57c00;
    color:#f57c00
} */
.my-cart-page .schedule-btn.scheduled {
    border-color: #f57c00;
    color: #f57c00;
    background: #fff9f3;
}

.my-cart-page .schedule-btn svg {
    width: 15px;
    height: 15px;
    flex-shrink: 0;
}

/* ── Cart Items Card ── */
.my-cart-page .cart-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    overflow: hidden;
}

.my-cart-page .cart-items-scroll {
    height: 477px;
    overflow-y: auto;
    padding: 4px 0;
    scrollbar-width: none;
    /* Firefox */
}

.my-cart-page .cart-items-scroll::-webkit-scrollbar {
    display: none !important;
}

.my-cart-page .cart-items-scroll::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 4px;
}

.my-cart-page .cart-items-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.my-cart-page .cart-item {
    padding: 14px 18px;
    margin: 15px;
    border: 1px solid #e8e8e8;
    transition: background 0.15s;
    border-radius: 8px;
}

.my-cart-page .cart-item:last-child {
    border-bottom: none;
}

.my-cart-page .item-img {
    width: 92px;
    height: 92px;
    object-fit: contain;
    border-radius: 10px;
    background: #f5f5f5;
    border: 1px solid #efefeb;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.my-cart-page .item-img img {
    width: 60px;
    height: 70px;
    object-fit: cover;
}

.my-cart-page .item-info {
    flex: 1;
    min-width: 0;
}

.my-cart-page .item-name {
    font-size: 18px;
    font-weight: 500;
    color: #3c3c3c;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.my-cart-page .item-size {
    font-size: 14px;
    color: #565656;
    margin-top: 4px;
    font-weight: 400;
}

.my-cart-page .item-price-row {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 4px;
}

.my-cart-page .item-price {
    font-size: 20px;
    font-weight: 600;
    color: #111827;
}

.my-cart-page .item-mrp {
    font-size: 15px;
    color: #6b7280;
    text-decoration: line-through;
    font-weight: 400;
}

.my-cart-page .qty-ctrl {
    display: flex;
    align-items: center;
    background: var(--primary);
    border-radius: 9px;
    overflow: hidden;
    flex-shrink: 0;
}

.my-cart-page .qty-ctrl button {
    background: none;
    border: none;
    color: #fff;
    width: 48px;
    height: 32px;
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.my-cart-page .qty-ctrl button:hover {
    background: rgba(255, 255, 255, 0.15);
}

.my-cart-page .qty-ctrl span {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    min-width: 22px;
    text-align: center;
}

.my-cart-page .add-more-row {
    padding: 11px 18px;
    font-size: 14px;
    color: #747474;
    text-align: center;
    font-weight: 700;
}

.my-cart-page .add-more-row a {
    color: #f07c00;
    text-decoration: none;
}

.my-cart-page .add-more-row a:hover {
    text-decoration: underline;
}

.my-cart-page .bag-card {
    background: #fff;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    padding: 6px 12px;
    margin-bottom: 10px;
}

.my-cart-page .bag-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

.my-cart-page .bag-icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f0f7ee;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
}

.my-cart-page .bag-icon-circle img {
    width: 32px;
    height: 32px;
}

.my-cart-page .bag-text {
    flex: 1;
}

.my-cart-page .bag-title {
    font-size: 16px;
    font-weight: 600;
    color: #202020;
}

.my-cart-page .bag-sub {
    font-size: 12px;
    color: #5a5a5a;
    font-weight: 500;
    margin-top: 1px;
}

.my-cart-page .toggle-wrap {
    position: relative;
    width: 46px;
    height: 26px;
    flex-shrink: 0;
}

.my-cart-page .toggle-wrap input {
    opacity: 0;
    width: 0;
    height: 0;
    position: absolute;
}

.my-cart-page .toggle-track {
    position: absolute;
    inset: 0;
    background: #d0d0d0;
    border-radius: 13px;
    cursor: pointer;
    transition: 0.3s;
}

.my-cart-page .toggle-track::before {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    left: 3px;
    top: 3px;
    background: #fff;
    border-radius: 50%;
    transition: 0.3s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}

.my-cart-page .toggle-track::after {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    left: 4px;
    top: 11px;
    background: url("../images/icon/leaf.png") no-repeat center/contain;
    opacity: 0;
    transition: 0.3s;
}

.my-cart-page .toggle-wrap input:checked+.toggle-track {
    background: #2d7a22;
}

.my-cart-page .toggle-wrap input:checked+.toggle-track::before {
    transform: translateX(20px);
}

.my-cart-page .toggle-wrap input:checked+.toggle-track::after {
    opacity: 1;
}

.my-cart-page .coupon-card {
    background: #E8F5E8;
    border-radius: 8px;
    border: 1px solid #e8e8e8;
    padding: 10px 12px;
    margin-bottom: 10px;
    margin-top: 20px !important;
}

.my-cart-page .coupon-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

.my-cart-page .coupon-icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f0f7ee;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
}

.my-cart-page .coupon-icon-circle img {
    width: 32px;
    height: 32px;
}

.my-cart-page .coupon-text {
    flex: 1;
}

.my-cart-page .coupon-title {
    font-size: 16px;
    font-weight: 600;
    color: #202020;
}

.my-cart-page .coupon-sub {
    font-size: 10px;
    color: #06480487;
    font-weight: 500;
    /* margin-top: 1px; */
}
.my-cart-page .coupon-title {
    font-size: 12px;
    font-weight: 700;
    color: #202020;
    line-height: 18px;
}
.my-cart-page .bill-head {

    font-size: 18px;
}
.my-cart-page .saving-info .s-title {
    font-size: 13px !important;
}
.my-cart-page .tip-head {
  
    font-size: 16px !important;
}
.my-cart-page .bill-card {
    background: #fff;
    /* border-radius:8px;
    border:1px solid #e8e8e8; */
    overflow: hidden;
    margin-top: 15px;
}

.my-cart-page .bill-scroll {
    height: 350px;
    overflow-y: auto;
    scrollbar-width: none;
    /* Firefox */
}

.my-cart-page .bill-scroll::-webkit-scrollbar {
    display: none !important;
}

.my-cart-page .bill-scroll::-webkit-scrollbar {
    width: 4px;
}

.my-cart-page .bill-scroll::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 4px;
}

.my-cart-page .bill-scroll::-webkit-scrollbar-track {
    background: transparent;
}

.my-cart-page .bill-top-sec {
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 14px 0px 0px;
}

.my-cart-page .saving-wrapper {
    background-color: var(--white-color);
    margin: 10px 20px;
    border-radius: 8px;
    padding: 6px 12px;
}

.my-cart-page .bill-mid-sec {
    border: 1px solid #e8e8e8;
    border-radius: 8px;
    padding: 14px 0px 10px;
    background-color: #e4f0ff;
    margin: 15px 0px;
}

.my-cart-page .apply-btn {
    background: #006C01;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.coupon-section {
    margin-top: 120px;
    padding: 22px 18px;
}

.coupon-section .coupon-card {
    background: url("../images/coupon/apply-back.jpg") no-repeat center/cover;
    border-radius: 8px;
    padding: 15px 18px;
    margin-bottom: 10px;
    margin-top: 20px !important;
}

.formcontrol {
    font-size: 12px;
}

.coupon-section .coupon-inner {
    display: flex;
    align-items: center;
    gap: 12px;
}

.coupon-section .coupon-icon-circle {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #f0f7ee;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.3s;
}

.coupon-section .coupon-icon-circle img {
    width: 104px;
    height: 104px;
}

.coupon-section .coupon-text {
    flex: 1;
}

.coupon-section .coupon-title {
    font-size: 24px;
    font-weight: 600;
    color: #000000;
}

.coupon-section .coupon-sub {
    font-size: 14px;
    color: #3C413C;
    font-weight: 500;
    margin-top: 1px;
}

.coupon-section.coupon-box {
    display: flex;
    width: 280px;
    height: 40px;
    border-radius: 6px;
    overflow: hidden;
}

.coupon-section .coupon-box input {
    flex: 1;
    border: none;
    border-radius: 8px;
    background: #ffffff;
    padding: 10 15px;
    font-size: 13px;
    outline: none;
}

.coupon-section .coupon-box button {
    width: 75px;
    border: none;
    background: #008000;
    color: #fff;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}

.coupon-section .coupon-box button:hover {
    background: #006f00;
}

.coupon-btn {
    background: #008000;
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
}

.coupon-card1 {
    position: relative;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 10px;
    padding: 12px;
    height: 100%;
    overflow: visible;
}

.coupon-card1 {
    position: relative;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
}

/* LEFT NOTCH */
.coupon-card1::before {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    left: -14px;
    top: 50%;
    transform: translateY(-50%);

    background: url(../images/coupon/arc-2.png) no-repeat center / contain;
}

.coupon-card1::after {
    content: '';
    position: absolute;
    width: 25px;
    height: 25px;
    /* border-radius: 50%; */
    right: -14px;
    top: 50%;
    transform: translateY(-50%);
    background: url(../images/coupon/arc-1.png) no-repeat center / contain;
}

.coupon-body {
    display: flex;
    gap: 16px;
}

.coupon-img {
    flex-shrink: 0;
}

.coupon-img img {
    width: 105px;
    height: 105px;
    object-fit: cover;
    border-radius: 4px;
}

.coupon-content {
    flex: 1;
    min-width: 0;
}

.coupon-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
}

.coupon-top h5 {
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 4px;
    color: #222;
}

.coupon-top p {
    font-size: 13px;
    color: #666;
    margin: 0;
}

.apply-btn {
    background: #008000;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 6px 14px;
    font-size: 13px;
    font-weight: 600;
}

.coupon-divider {
    border-top: 1px dashed #e5e5e5;
    margin: 10px 0;
}

.coupon-bottom {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.coupon-bottom ul {
    margin: 0;

    padding-left: 18px;

}

.coupon-bottom li {
    font-size: 12px;
    color: #666;
    list-style: disc;
    font-weight: 500;
    margin-bottom: 4px;
}

.coupon-bottom a {
    text-decoration: none;
    color: #666;
    font-size: 13px;
    white-space: nowrap;
}

.coupon-card1 {
    position: relative;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    background: #fff;
    overflow: visible;
}

/* LEFT CUT */
.coupon-notch.left {
    position: absolute;
    top: 50%;
    left: -12px;
    width: 24px;
    height: 24px;
    background: #f8f8f8;
    /* page background */
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

/* RIGHT CUT */
.coupon-notch.right {
    position: absolute;
    top: 50%;
    right: -12px;
    width: 24px;
    height: 24px;
    background: #f8f8f8;
    /* page background */
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.address-flow .dashed-line {
    height: 1px;
    margin: 0px 15px 5px !important;
    background: repeating-linear-gradient(to right,
            #eaeaea 0px,
            #eaeaea 8px,
            /* dash length */
            transparent 8px,
            transparent 16px
            /* gap */
        );
}

.dashed-line {
    height: 1px;
    margin: 8px 15px 5px;
    background: repeating-linear-gradient(to right,
            #eaeaea 0px,
            #eaeaea 8px,
            /* dash length */
            transparent 8px,
            transparent 16px
            /* gap */
        );
}

.my-cart-page .bill-head {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0px 16px 0px;
    font-size: 20px;
    font-weight: 700;
    color: var(--heading);
}

.my-cart-page .bill-head svg {
    width: 17px;
    height: 17px;
    color: #555;
}

.my-cart-page .bill-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 9px 16px;
    font-size: 13px;
}

.my-cart-page .bill-row .small-txt {
    font-size: 14px;
    color: #8c8c8c;
    font-weight: 400;
}

.my-cart-page .bill-row .lbl {
    color: #717171;
    font-weight: 500;
    display: flex;
    font-size: 16px;
    gap: 6px;
    align-items: center;
}

.my-cart-page .bill-row .val {
    font-weight: 700;
    color: #3c3c3c;
    font-size: 16px;
}

.my-cart-page .bill-row .val.free {
    color: var(--primary);
}

.my-cart-page .bill-row .special {
    font-size: 12px;
    color: #f07c00;
    font-weight: 500;
    margin-top: 5px;
}

.my-cart-page .bill-divider {
    border: none;
    border-top: 1px solid #f5f5f5;
    margin: 0 16px;
}

.my-cart-page .bill-total-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 0px;
    margin: 0px 16px;
    font-size: 15px;
    font-weight: 800;
    color: #1a1a1a;
}

.my-cart-page .bill-inclusive {
    font-size: 12px;
    color: #5a5a5a;
    font-weight: 500;
}

.my-cart-page .saving-pill {
    background: #d4f6d3;
    border-radius: 0px 0px 8px 8px;
    /* margin:6px 12px 10px; */
    padding: 9px 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    color: var(--primary);
    font-weight: 600;
}

.my-cart-page .saving-head {
    padding: 0px 16px 6px;
    font-size: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-weight: 600;
    color: var(--heading);
}

.my-cart-page .saving-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 14px 16px;
}

.my-cart-page .saving-row:last-child {
    border-bottom: none;
}

.my-cart-page .saving-icon i {
    color: var(--white-color);
    font-size: 12px;
}

.my-cart-page .saving-icon {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 20px;
    background: var(--primary);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    color: var(--white-color);
}

.my-cart-page .saving-icon svg {
    /* width:14px;
    height:14px; */
    color: #2d7a22;
}

.my-cart-page .saving-info {
    flex: 1;
}

.my-cart-page .saving-info .s-title {
    font-size: 16px;
    font-weight: 500;
    color: #202020;
}

.my-cart-page .saving-info .s-sub {
    font-size: 13px;
    color: #5a5a5a;
    font-weight: 500;
}

.my-cart-page .saving-amount {
    font-size: 16px;
    font-weight: 700;
    color: #111110;
}

.outline-icon {
    color: transparent;
    -webkit-text-stroke: 1px #fff;
}

.my-cart-page .tip-section {
    background-image: url("../images/img/partner-bg.webp");
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    padding: 16px 22px;
    border-radius: 8px;
    border: 1px solid transparent;
    margin-top: 16px;
    margin-bottom: 5px;
}

.my-cart-page .tip-head {
    display: flex;
    align-items: start;
    gap: 7px;
    font-size: 20px;
    font-weight: 600;
    color: #111110;
    margin-bottom: 3px;
}

.my-cart-page .tip-head img {
    margin-top: 4px;
}

.my-cart-page .tip-sub {
    font-size: 12px;
    color: #2f2f2f;
    font-weight: 500;
    margin-bottom: 10px;
}

.my-cart-page .tip-tabs {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
}

.my-cart-page .tip-tab {
    background: transparent;
    border: 1px solid #f07c00;
    border-radius: 9px;
    padding: 10px 35px;
    font-size: 15px;
    cursor: pointer;
    font-weight: 600;
    color: #000;
    transition: all 0.2s;
}

/* .my-cart-page .tip-tab:hover{
    border-color:#f57c00;
    color:#f57c00
} */
.my-cart-page .tip-tab.active {
    background: #f57c00;
    border-color: #f57c00;
    color: #fff;
}

.my-cart-page .total-card {
    background: #fff;
    /* border-radius:16px;
    border:1px solid #e8e8e8; */
    padding: 14px 0px 0px;
}

.my-cart-page .total-pay-row {
    font-size: 14px;
    font-weight: 700;
    color: #000;
    margin-bottom: 11px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.my-cart-page .total-pay-row .mrp-cross {
    font-size: 12px;
    color: #5c5c5c;
    text-decoration: line-through;
    font-weight: 400;
    margin-top: 3px;
}

.my-cart-page .proceed-btn {
    width: 100%;
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 14px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.2s;
    letter-spacing: 0.2px;
}

.my-cart-page .proceed-btn:active {
    transform: scale(0.99);
}

.my-cart-page .proceed-btn:disabled {
    cursor: not-allowed;
    opacity: 0.72;
    transform: none;
}

.my-cart-page .payment-unavailable-text {
    width: 100%;
    border: 1px solid #ffd7a6;
    background: #fff8ec;
    color: #8a5200;
    border-radius: 10px;
    padding: 12px 14px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.35;
    text-align: center;
}

.cart-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 1050;
    align-items: center;
    justify-content: center;
}

.cart-modal-overlay.show {
    display: flex;
}

.sched-modal {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.18);
    width: 100%;
    max-width: 440px;
}

.cart-modal-overlay .sched-modal-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 20px 22px 0;
}

.cart-modal-overlay .sched-modal-head h3 {
    font-size: 17px;
    font-weight: 700;
    color: #202020;
    margin: 0;
}

.cart-modal-overlay .close-btn {
    background: #f5f5f5;
    border: none;
    border-radius: 50%;
    width: 26px;
    height: 26px;
    cursor: pointer;
    font-size: 14px;
    line-height: 1;
    color: #5c5c5c;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s;
    flex-shrink: 0;
}

.cart-modal-overlay .close-btn:hover {
    background: #ebebeb;
    color: #202020;
}

.cart-modal-overlay .sched-sub {
    font-size: 13px;
    color: #5c5c5c;
    padding: 6px 22px 10px;
    font-weight: 500;
}

.cart-modal-overlay .shipment-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 22px;
}

.cart-modal-overlay .ship-box img {
    width: 64px;
    height: 32px;
    object-fit: cover;
}

.cart-modal-overlay .ship-box {
    /* width:40px;
    height:40px; */
    background: #eef8ea;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    position: relative;
    flex-shrink: 0;
}

.cart-modal-overlay .ship-badge {
    position: absolute;
    top: -5px;
    right: -5px;
    background: #2d7a22;
    color: #fff;
    font-size: 9px;
    border-radius: 6px;
    padding: 1px 5px;
    font-weight: 700;
}

.cart-modal-overlay .ship-label {
    font-size: 14px;
    font-weight: 700;
    color: #1a1a1a;
}

.cart-modal-overlay .ship-count {
    font-size: 11px;
    color: #5c5c5c;
    font-weight: 400;
}

.modal-tab {
    background-color: #fff;
    margin: 6px 14px 10px;
    border-radius: 12px;
}

.cart-modal-overlay .date-tabs {
    display: flex;
    padding: 0 8px 12px;
    border-bottom: 1px solid #f0f0f0;
    gap: 28px;
}

.cart-modal-overlay .date-tab {
    padding: 10px 4px 10px;
    font-size: 13.5px;
    cursor: pointer;
    color: #5c5c5c;
    border-bottom: 2.5px solid transparent;
    font-weight: 600;
    transition: all 0.2s;
    background: none;
    border-left: none;
    border-right: none;
    border-top: none;
    white-space: nowrap;
}

.cart-modal-overlay .date-tab.active {
    color: #f57c00;
    border-bottom-color: #f57c00;
}

.cart-modal-overlay .slot-area {
    padding: 16px 15px 4px;
}

.cart-modal-overlay .slot-label {
    font-size: 11.5px;
    font-weight: 700;
    color: #7c7c7c;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.cart-modal-overlay .slot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin-bottom: 16px;
}

.modal-bottom {
    background-color: #fff;
    padding: 14px 20px 18px;
    margin-top: 8px;
    border-top: 1px solid #f0f0f0;
}

.cart-modal-overlay .slot-btn {
    border: 1.5px solid #e2e2e2;
    border-radius: 10px;
    padding: 11px 10px;
    font-size: 13.5px;
    line-height: 1.3;
    text-align: center;
    cursor: pointer;
    background: #fbfbfb;
    color: #202020;
    font-weight: 600;
    transition: all 0.15s ease;
}

.cart-modal-overlay .slot-btn:hover {
    border-color: #f57c00;
    color: #f57c00;
    background: #fff;
}

.cart-modal-overlay .slot-btn:disabled,
.cart-modal-overlay .slot-btn:disabled:hover {
    border-color: #ececec;
    color: #b3b3b3;
    background: #f8f8f8;
    cursor: not-allowed;
}

.cart-modal-overlay .slot-btn:disabled::after {
    content: "Not available";
    display: block;
    font-size: 10px;
    font-weight: 500;
    color: #c2c2c2;
    margin-top: 2px;
}

.cart-modal-overlay .slot-btn.active {
    border-color: #f57c00;
    background: #fff4e8;
    color: #f57c00;
    box-shadow: 0 0 0 1px #f57c00 inset;
}

.orange-txt {
    color: #f07c00;
}

.note-text {
    font-size: 14px;
    font-weight: 600;
}

.my-cart-page .schedule-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.cart-modal-overlay .cancel-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #fff8ec;
    border: 1px solid #ffe6bd;
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 14px;
    font-size: 12.5px;
    color: #7a5c22;
    line-height: 1.4;
}

.cart-modal-overlay .cancel-note img {
    flex-shrink: 0;
    margin-top: 1px;
}

.cart-modal-overlay .confirm-btn {
    width: 100%;
    padding: 13px 16px;
    border-radius: 12px;
    border: none;
    font-size: 15px;
    font-weight: 700;
    background: #e5e5e5;
    color: #9b9b9b;
    transition: all 0.2s ease;
}

.cart-modal-overlay .confirm-btn:disabled {
    cursor: not-allowed;
    opacity: 1;
}

.cart-modal-overlay .confirm-btn.enabled {
    background: var(--primary);
    cursor: pointer;
    color: #fff;
    opacity: 1;
}

.cart-modal-overlay .confirm-btn.enabled:hover {
    background: var(--primary);
    filter: brightness(0.95);
}

.my-cart-page .bill-row .val {
    font-weight: 600;
    color: #1a1a1a;
}

.my-cart-page .bill-row .val.free {
    color: #2d7a22;
}

.my-cart-page .bill-row .special {
    font-size: 11px;
    color: #2d7a22;
    font-weight: 600;
    margin-left: 5px;
}

.cart-modal-overlay .confirm-btn.enabled:hover {
    background: var(--primary);
}

.cart-modal-overlay .bill-scroll::-webkit-scrollbar {
    width: 3px;
}

@media (max-width: 800px) {
    .cart-modal-overlay .cart-page {
        flex-direction: column;
    }

    .cart-modal-overlay .right-col {
        width: 100%;
    }
}

/* ----------------------------------- */
.modal-overlay.address-flow {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.48);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1500;
    padding: 16px;
}

.address-flow .addr-modal,
.address-flow .addr-step {
    /* background: #fff; */
    border-radius: 20px;
    width: 100%;
    max-width: 450px;
    max-height: 628px;
    overflow: hidden;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.22);
    animation: slideUp 0.28s cubic-bezier(0.22, 0.68, 0, 1.2);
}

@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* ── Header ── */
.address-flow .modal-hdr {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 18px 5px;
    background-color: #fff;
    box-shadow: 0 2px 20px 0 rgb(0 0 0 / 5%);
    border-bottom: 1px solid #eee;
}

.address-flow .modal-hdr h2 {
    font-size: 16px;
    font-weight: 500;
    color: #202020;
    letter-spacing: -0.2px;
}

.address-flow .close-x {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: 1.5px solid #7c7c7c;
    background: #fff;
    color: #7c7c7c;
    font-size: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
}

.address-flow .search-wrap {
    margin: 12px 16px;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1.5px solid #dddddd;
    border-radius: 50px;
    padding: 12px 16px;
    background: #fff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
    transition: border-color 0.2s;
}

.address-flow .search-wrap:focus-within {
    background: #fff;
}

.address-flow .search-wrap input::placeholder {
    color: #9c9c9c;
}

.address-flow .search-wrap input {
    border: none;
    outline: none;
    background: transparent;
    font-size: 13.5px;
    color: #333;
    width: 100%;
    box-shadow: none !important;
    padding: unset !important;
    border-radius: 0px !important;
}

.address-flow .search-wrap input::placeholder {
    color: #aaa;
}

.address-flow .search-icon {
    color: #5c5c5c;
    flex-shrink: 0;
}

.address-flow .clear-x {
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    font-size: 16px;
    padding: 0;
    line-height: 1;
    display: none;
}

/* ── Map Area ── */
.address-flow .map-area {
    position: relative;
    height: 330px;
    overflow: hidden;
}

.address-flow .map-area svg.map-bg {
    width: 100%;
    height: 100%;
}

.address-flow .map-tooltip {
    position: absolute;
    top: 25%;
    left: 65%;
    width: 200px;
    transform: translateX(-50%);
    background: #021102;
    color: #fff;
    border-radius: 6px;
    padding: 4px 8px !important;
    font-size: 14px;
    font-weight: 500;
    text-align: center;
    pointer-events: none;
}

.address-flow .map-tooltip span {
    display: block;
    color: #9e9e9e !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    /* margin-top: 2px; */
}

.address-flow .map-pin {
    position: absolute;
    top: 56%;
    left: 41%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: grab;
    user-select: none;
}

.address-flow .pin-head {
    width: 35px;
    height: 47px;
    background: none;
    position: relative;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 32'%3E%3Cpath d='M12 0C5.4 0 0 5.4 0 12c0 9 12 20 12 20s12-11 12-20C24 5.4 18.6 0 12 0z' fill='%23a8d8a8'/%3E%3Ccircle cx='12' cy='12' r='7' fill='%232d7a2d'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

.address-flow .pin-stem {
    width: 2px;
    height: 22px;
    background: #2d7a2d;
    border-radius: 0 0 2px 2px;
}

.address-flow .pin-shadow {
    width: 8px;
    height: 3px;
    background: rgba(0, 0, 0, 0.18);
    border-radius: 50%;
    margin-top: 1px;
}

.address-flow .crosshair-btn img {
    width: 23px;
    height: 23px;
    object-fit: contain;
}

.address-flow .crosshair-btn {
    position: absolute;
    bottom: 42px;
    right: 12px;
    width: 56px;
    height: 56px;
    background: #fff;
    border: 1.5px solid #ddd;
    /* box-shadow: 0 2px 20px 0 rgb(0 0 0 / 5%); */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    transition: background 0.15s;
}

.address-flow .addr-bar {
    padding: 10px 20px 0px;
}

.address-flow .addr-bar .place-name {
    font-size: 16px;
    font-weight: 700;
    color: #111110;
}

.address-flow .addr-bar .place-sub {
    font-size: 12px !important;
    color: #9c9c9c;
    font-size: 500;
    line-height: 18px;
}

/* ── Delivery label (step1) ── */
.address-flow .delivery-label {
    padding: 8px 16px 6px;
    font-size: 14px;
    font-weight: 500;
    color: #111110;
    text-align: center;
}

/* ── Buttons ── */
.address-flow .modal-footer-btns {
    padding: 12px 16px;
    display: flex;
    gap: 10px;
}

.address-flow .btn-outline-orange {
    flex: 1;
    border: 1.5px solid #e07800;
    background: #fff;
    height: 42px;
    color: #e07800;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition: background 0.15s;
}

.address-flow .btn-fill-orange {
    flex: 1;
    background: #f07c00;
    color: #fff;
    border: none;
    height: 42px;
    border-radius: 10px;
    padding: 8px 10px;
    font-size: 16px;
    font-weight: 600;
    font-family: inherit;
    cursor: pointer;
    transition:
        background 0.15s,
        opacity 0.15s;
}

.address-flow .btn-fill-orange:disabled {
    background: #d4d4ce;
    cursor: not-allowed;
    color: #a0a09a;
}

.address-flow .btn-fill-orange.full {
    width: 100%;
}

/* ── Step 2: Your Location ── */
.address-flow .current-loc-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 16px;
    background-color: #fff;
    margin: 10px;
}

.address-flow .cur-left img {
    width: 28px;
    height: 28px;
    object-fit: contain;
}

.address-flow .cur-left {
    display: flex;
    align-items: center;
    gap: 10px;
}

.address-flow .cur-title {
    font-size: 16px;
    font-weight: 500;
    color: #0c7b09;
}

.address-flow .cur-sub {
    font-size: 12px;
    font-weight: 400;
    color: #828282;
    margin-top: 2px;
}

.address-flow .enable-btn {
    border: 1px solid #0c7b09;
    background: #fff;
    color: #0c7b09;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 16px;
    font-weight: 500;
    font-family: inherit;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.15s;
}

.address-flow .enable-btn:hover {
    background: #f0faf0;
}

.address-flow .search-results {
    display: none;
    background-color: #fff !important;
    margin: 0px 10px 10px;
    padding: 0px 0px 4px;
    box-shadow: 0 2px 20px 0 rgb(0 0 0 / 5%);
    border-radius: 8px;
}

.address-flow .result-item {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 8px 16px;
    cursor: pointer;

    transition: background 0.12s;
}

.address-flow .border-line {
    height: 1px;
    margin: 5px 15px 5px;
    background: repeating-linear-gradient (to right, #eaeaea 0px, #eaeaea 8px, transparent 8px, transparent 16px) !important;
}

.address-flow .result-item:last-child {
    border-bottom: none;
}

.address-flow .result-item .pin-ico {
    flex-shrink: 0;
    margin-top: 2px;
    color: #aaa;
}

.address-flow .result-title {
    font-size: 16px;
    font-weight: 600;
    color: #202020;
}

.address-flow .result-sub {
    font-size: 11px;
    color: #a0a09a;
    font-weight: 400;
}

.address-flow .addr-mini-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 6px 12px;
    margin: 3px 14px;
    border-radius: 6px;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.address-flow .addr-mini-map-thumb {
    width: 60px;
    height: 60px;
    background-image: url("../images/img/map.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
}

.address-flow .addr-mini-text .t-name {
    font-size: 14px;
    font-weight: 700;
    color: #111110;
}

.address-flow .addr-mini-text .t-sub {
    font-size: 14px;
    color: #444441;
    margin-top: 1px;
    font-weight: 500;
}

.address-flow .edit-btn {
    margin-left: auto;
    border: 1px solid #0c7b09;
    background: #fff;
    color: #0c7b09;
    border-radius: 4px;
    padding: 4px 10px;
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    flex-shrink: 0;
    transition: background 0.15s;
}

.address-flow .edit-btn:hover {
    background: #f5f5f5;
}

.address-flow .section-lbl {
    padding: 5px 16px 5px;
    font-size: 12px;
    font-weight: 600;
    color: #111110;
    text-transform: uppercase;
}

/* Type tabs */
.address-flow .type-tabs {
    display: flex;
    gap: 8px;
    padding: 6px 16px 10px;
    flex-wrap: wrap;
}

.address-flow .type-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #ebebeb;
    border-radius: 4px;
    padding: 4px 12px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 400;
    color: #616a7b;
    background: #fff;
    cursor: pointer;
    transition:
        border-color 0.15s,
        color 0.15s,
        background 0.15s;
}

.address-flow .type-tab.active {
    border-color: #0c7b09;
    color: #0c7b09;
}

/* Sub-type tabs */
.address-flow .sub-tabs {
    display: flex;
    gap: 8px;
    padding: 6px 16px 10px;
    flex-wrap: wrap;
}

.address-flow .sub-tab {
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #ebebeb;
    border-radius: 4px;
    padding: 4px 12px;
    font-size: 14px;
    font-family: inherit;
    font-weight: 400;
    color: #616a7b;
    background: #fff;
    cursor: pointer;
    transition:
        border-color 0.15s,
        color 0.15s,
        background 0.15s;
}

.address-flow .sub-tab.active {
    border-color: #0c7b09;
    color: #0c7b09;
}

/* Form fields */
.address-flow .field-group {
    padding: 4px 14px 0;
}

.address-flow .field-group input {
    width: 100%;
    border: 1px solid #ebebeb;
    height: 47px;
    border-radius: 8px;
    padding: 10px 13px;
    font-size: 14px;
    font-family: inherit;
    color: #222;
    outline: none;
    background: #fff;
    transition: border-color 0.2s;
}

.address-flow .field-group input::placeholder {
    color: #a0a09a;
}

.address-flow .required-star {
    color: #e03030;
    font-size: 11px;
    margin-left: 2px;
}

.field-divider {
    height: 1px;
    background: #eee;
    margin: 20px 0px 20px;
}

.address-flow .form-scroll {
    max-height: 520px;
    overflow-y: auto;
}

.address-flow .form-scroll::-webkit-scrollbar {
    width: 4px;
}

.address-flow .form-scroll::-webkit-scrollbar-thumb {
    background: #ddd;
    border-radius: 4px;
}

.address-flow .float-field {
    position: relative;
    margin-top: 6px;
}

.address-flow .float-field input {
    width: 100%;
    height: 47px;
    border: 1.5px solid #ebebeb;
    border-radius: 8px;
    padding: 0 13px;
    font-size: 14px;
    font-family: inherit;
    color: #222;
    outline: none;
    background: #fff;
    transition: border-color 0.2s;
}

.address-flow .float-field input::placeholder {
    color: transparent;
}

.address-flow .float-field label {
    position: absolute;
    left: 11px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    color: #a0a09a;
    pointer-events: none;
    transition:
        top 0.18s ease,
        transform 0.18s ease,
        font-size 0.18s ease,
        color 0.18s ease;
    white-space: nowrap;
    background: #fff;
    padding: 0 3px;
    line-height: 1;
}

.address-flow .float-field input:focus+label,
.address-flow .float-field input:not(:placeholder-shown)+label {
    top: 0;
    transform: translateY(-50%);
    font-size: 11px;
    color: #a0a09a;
}

.address-flow .float-field input:focus+label {
    color: #888;
}

.address-flow .float-field label .req-star {
    color: #e03030;
    font-size: 11px;
    margin-left: 1px;
}

.address-flow .float-field input:focus+label,
.address-flow .float-field input:not(:placeholder-shown)+label {
    top: 0;
    transform: translateY(-50%);
    font-size: 11px;
    color: #a0a09a;
}

.address-flow .float-field input:focus+label {
    color: #888;
}

.address-flow .float-field label .req-star {
    color: #e03030;
    font-size: 11px;
    margin-left: 1px;
}


.address-flow .success-screen {
    padding: 48px 24px 40px;
    text-align: center;
}

.address-flow .success-icon {
    width: 68px;
    height: 68px;
    background: #e8f7e8;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 18px;
    animation: popIn 0.4s cubic-bezier(0.22, 0.68, 0, 1.4);
}

@keyframes popIn {
    from {
        transform: scale(0.4);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.address-flow .success-title {
    font-size: 16px;
    font-weight: 700;
    color: #111;
    margin-bottom: 7px;
}

.address-flow .success-sub {
    font-size: 13px;
    color: #888;
    margin-bottom: 26px;
    line-height: 1.5;
}

.address-flow .addr-step {
    height: 570px;
    display: none;
}

.address-flow .addr-step.active {
    display: block;
}

.work-field-1 {
    background-color: #fff;
    /* padding: 10px 8px 10px */
}

.work-field-2 {
    background-color: #fff;
    margin-top: 4px;
    /* padding: 10px 8px 10px; */
}

.address-flow .addr-step#step2.active,
.address-flow .addr-step#step4.active {
    display: block;
    background-color: #f3f5f7;
}

/* .address-flow .addr-step#step4.active .tab-sec #workFields{
  background-color: #F3F5F7 !important;
  padding:0px !important;
} */
.address-flow .addr-step#step2.active .search-wrap {
    box-shadow: none !important;
}

.address-flow .addr-step#step1.active,
.address-flow .addr-step#step3.active {
    background-image: url("../images/img/map.webp");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    /* height:570px; */
    margin-top: 80px;
    position: relative;
    display: block;
}

.address-flow .demo-launcher {
    text-align: center;
}

.address-flow .demo-launcher p {
    font-size: 13px;
    color: #888;
    margin-bottom: 14px;
}

.address-flow .open-modal-btn {
    background: #e07800;
    color: #fff;
    border: none;
    border-radius: 12px;
    padding: 13px 32px;
    font-size: 14px;
    font-weight: 700;
    font-family: inherit;
    cursor: pointer;
    letter-spacing: 0.2px;
    transition: background 0.15s;
}

.address-flow .modal-bottom.bot-2 {
    margin: -25px 15px !important;
}

.address-flow .modal-bottom {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 20px 0 rgb(0 0 0 / 5%);
    margin: 0px 15px !important;
    padding: 4px 8px;
    margin: -24px 15px !important;
}

.address-flow .search-item {
    background: #fff;
    padding: 4px 0px;
    margin-top: 1px;
}

.address-flow .open-modal-btn:hover {
    background: #c96b00;
}

.address-flow .tab-sec {
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 2px 20px 0 rgb(0 0 0 / 5%);
    margin: 0px 15px;
    padding: 10px 8px 10px;
}

.address-flow .save-btn {
    padding: 14px 16px 15px;
    margin: 7px 15px;
    border-radius: 8px;
    background-color: #fff;
}

/* ----------------- */
.salad-sec {
    padding: 60px 0px;
}

.salad-sec .tab-toggle {
    display: flex;
    align-items: center;
    background: linear-gradient(188deg, #ebebeb 0%, #f8f8f8 100%);
    border-radius: 50px;
    padding: 4px;
    width: fit-content;
    margin-bottom: 22px;
}

.salad-sec .tab-toggle button {
    border: none;
    background: transparent;
    border-radius: 50px;
    padding: 8px 28px;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    color: #555;
    transition: all 0.22s ease;
}

.salad-sec .tab-toggle button.active {
    background: #f28c28;
    color: #fff;
    box-shadow: 0 3px 10px rgba(242, 140, 40, 0.4);
}

/* ── Section Header ── */
.salad-sec .section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
}

.salad-sec .section-header h2 {
    font-size: 28px;
    font-weight: 700;
    color: #1b1c1a;
}

.salad-sec .section-header .total {
    font-size: 14px;
    color: #444441;
    font-weight: 500;
}

.salad-sec .bowl-card {
    background: #fff;
    border-radius: 14px;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    position: relative;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.07);
    transition:
        box-shadow 0.2s,
        transform 0.2s;
    height: 220px;
}

@media screen and (max-width: 768px) {
    .salad-sec .bowl-card {
        height: auto;
        flex-direction: column;
        padding: 20px 5px;
    }
}

.salad-sec .card-img-block {
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
    background: #204e2b0d;
    height: 100%;
}

.salad-sec .badge-custom {
    position: absolute;
    top: 0px;
    left: 0;
    background: #f28c28;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 3px 6px;
    border-radius: 0 0px 11px 0;
    letter-spacing: 0.3px;
    z-index: 2;
}

.salad-sec .badge-discount {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    background: #fef3e8;
    color: #f07c00;
    font-size: 10px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 5px;
    border: 1px solid #fdd9ac;
    margin-bottom: 4px;
    width: fit-content;
}

.salad-sec .card-body-block {
    height: 100%;
    flex: 1;
    padding: 11px 12px 10px 12px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    position: relative;
}

.salad-sec .card-title {
    font-size: 20px;
    font-weight: 700;
    color: #1b1c1a;
    margin-bottom: 3px;
    line-height: 1.3;
}

.salad-sec .card-desc {
    font-size: 14px;
    color: #414941;
    line-height: 1.5;
    margin-bottom: 3px;
    font-weight: 400;
    width: 90%;
}

.salad-sec .card-weight {
    font-size: 14px;
    color: #606060;
    font-weight: 400;
    margin-bottom: 8px;
}

.salad-sec .card-footer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.salad-sec .price-block {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.salad-sec .price-now {
    font-size: 24px;
    font-weight: 700;
    color: #f07c00;
}

.salad-sec .price-old {
    font-size: 13px;
    color: #929292;
    text-decoration: line-through;
    font-weight: 400;
}

.salad-sec .btn-group-card {
    display: flex;
    gap: 5px;
    align-items: center;
}

.salad-sec .btn-view {
    background: var(--primary);
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 10px 20px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.18s;
}

.salad-sec .btn-view:hover {
    background: var(--primary);
}

.salad-sec .btn-add {
    background: #fff;
    color: var(--primary);
    border: 2px solid var(--primary);
    border-radius: 6px;
    padding: 7px 35px;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.18s;
}

.salad-sec .btn-add:hover {
    background: var(--primary);
    color: #fff;
}

.salad-sec .qty-ctrl {
    display: inline-flex;
    align-items: center;
}

.salad-sec .qty-counter {
    display: flex;
    align-items: center;
    background: var(--primary);
    border-radius: 8px;
    overflow: hidden;
    height: 42px;
}

.salad-sec .qty-btn {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    width: 40px;
    height: 42px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s;
    line-height: 1;
    padding: 0;
}

.salad-sec .qty-btn:hover {
    background: rgba(255, 255, 255, 0.15);
}

.salad-sec .qty-num {
    color: #fff;
    font-size: 14px;
    font-weight: 800;
    min-width: 37px;
    text-align: center;
}

.salad-sec .tab-pane {
    display: none;
}

.salad-sec .tab-pane.active {
    display: block;
    animation: fadeSlide 0.28s ease both;
}

@keyframes fadeSlide {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =================================== */
.badge-discount {
    margin-bottom: 0px !important;
    position: absolute;
    top: 10px;
    right: 10px;
}

.bowl-card-img-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bowl-card-img-wrapper img {
    height: 80%;
    width: auto;
    object-fit: cover;
    display: block;
}

/* ============= salad-Details =========== */
.salad-details-gallery {
    display: flex;
    gap: 16px;
}

.salad-thumb-swiper {
    width: 70px;
    height: 350px;
}

.salad-thumb-swiper .swiper-slide {
    width: 62px;
    height: 62px !important;
    border: 1px solid #eee;
    border-radius: 8px;
    padding: 4px;
    cursor: pointer;
}

.salad-thumb-swiper .swiper-slide-thumb-active {
    border-color: #168c31;
}

.salad-thumb-swiper img,
.salad-main-swiper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.salad-main-swiper {
    flex: 1;
    height: 450px;
    width: 100%;
}

.salad-main-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px;
}

.slider-container {
    border: 1px solid #e7e7e7;
    border-radius: 10px;
    position: relative;
    overflow: hidden;
}

.slider-container .badge-custom {
    position: absolute;
    top: 0px;
    left: 0;
    background: #f28c28;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 20px;
    border-radius: 0 0px 11px 0;
    /* text-transform: uppercase; */
    letter-spacing: 0.3px;
    z-index: 2;
}

.slider-mini-btn {
    top: 10px;
    right: 15px;
    z-index: 10;
    user-select: none;
}

.slider-mini-btn button {
    width: 40px;
    height: 40px;
    border-radius: 50px;
    border: none;
    outline: none;
    background-color: #f8f8f8;
}

.slider-mini-btn button img {
    width: 20px;
    height: 20px;
    margin: 0 auto;
}

.salad-main-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6px;
}

/* default dots */
.salad-main-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: #bbb;
    opacity: 1;
    border-radius: 50%;
    transition: all 0.3s ease;
}

/* active = pill shape */
.salad-main-pagination .swiper-pagination-bullet-active {
    width: 26px;
    height: 8px;
    background: #333;
    border-radius: 20px;
}

/* customize */
.salad-customize-card {
    border: 1px solid #e7e7e7;
    border-radius: 10px;
    padding: 16px;
}

.salad-customize-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #202020 !important;
}

.salad-customize-header h6 {
    font-size: 15px;
    font-weight: 700;
    color: #202020 !important;
}

.salad-customize-header span {
    font-size: 12px;
    font-weight: 400;
    color: #202020 !important;
}

.salad-customize-arrows button {
    width: 28px;
    height: 28px;
    border: 1px solid #ddd;
    background: #fff;
    border-radius: 6px;
    user-select: none;
}

.salad-category-title {
    font-size: 15px;
    margin: 12px 0;
    color: #202020 !important;
}

.salad-addon-item {
    text-align: center;
}

.salad-addon-item img {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    object-fit: cover;
    /* border: 2px solid #111; */

    /* display: flex;
    align-items: center;
    justify-content: center; */

    margin: 0 auto;
}

.salad-addon-item button {
    display: block;
    margin: -10px auto 4px;
    position: relative;
    z-index: 2;
    border: 0;
    background: #1a73e8;
    color: #fff;
    font-size: 11px;
    padding: 2px 8px;
    border-radius: 3px;
}

.salad-addon-item button.outline {
    background: #fff;
    padding: 1px 8px;
    color: #1a73e8;
    border: 1px solid #1a73e8;
}

.salad-addon-item p {
    margin: 0;
    font-size: 13px;
}

.salad-addon-item strong {
    font-size: 13px;
}

.salad-addon-swiper {
    max-height: 160px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.salad-addon-swiper.expanded {
    max-height: 400px;
}

.salad-view-more-category {
    border: 0;
    background: transparent;
    color: #078b28;
    font-weight: 700;
    font-size: 13px;
    margin-top: 12px;
}

/* accordions */
.accordion-button:not(.collapsed) {
    color: #202020;
    background-color: white;
    box-shadow: none;
}

.custom-bullets {
    list-style-type: disc;
    padding-left: 1.5rem;
}

.salad-details-accordion {
    margin-top: 18px;
}

.salad-details-accordion .accordion-item {
    border: 1px solid #e7e7e7;
    border-radius: 8px;
    overflow: hidden;
}

.salad-details-accordion .accordion-button {
    font-size: 14px;
    font-weight: 700;
    box-shadow: none;
}

.salad-inner-accordion .accordion-item {
    border: 0;
    margin-bottom: 8px;
    background: #f7f7f7;
}

.salad-inner-accordion .accordion-button {
    background: #f7f7f7;
    padding: 10px 14px;
    font-size: 13px;
}

.salad-inner-accordion .accordion-body {
    background: #f7f7f7;
    font-size: 13px;
}

.salad-info-row {
    display: grid;
    grid-template-columns: 120px 1fr;
    gap: 16px;
    margin-bottom: 12px;
}

.salad-addon-arrow {
    margin: 0 auto;
}

.salad-addon-prev img {
    transform: rotate(180deg);
}

.salad-addon-prev,
.salad-addon-next {
    transition: opacity 0.3s ease;
    user-select: none;
}

.salad-addon-prev.swiper-button-disabled,
.salad-addon-next.swiper-button-disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* button style */
.like-btn-mini img.like-on {
    display: none;
}

.like-btn-mini.active img.like-on {
    display: block;
}

.like-btn-mini.active img.like-off {
    display: none;
}

.cart-action-bar {
    display: flex;
    justify-content: end;
    gap: 10px;
    width: 100%;
}

/* View Cart */
.btn-view-cart {
    width: 42%;
    color: #2c2c2c;
    background: #f7f7f7;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 12px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    position: relative;
}

.cart-count {
    background: var(--primary);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    border-radius: 50%;
    padding: 3px 10px;
    margin-bottom: 0;
}

/* Qty Box */
.pd-detail-qty-box {
    width: 42%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--primary);
    color: #fff;
    border-radius: 10px;
    padding: 10px 14px;
}

.pd-detail-qty-btn {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    line-height: 1;
}

.pd-detail-qty-value {
    font-weight: 600;
    font-size: 16px;
}

/*=========== card details ================== */
.salad-card-title {
    color: #333330;
    font-size: 20px;
    font-weight: 700;
}

.salad-car-badge {
    width: fit-content;
    color: var(--primary);
    background-color: #e8f5e8;
    border-radius: 4px;
    padding: 3px 10px;
    font-size: 12px;
}

.salad-card-pricing h2 {
    color: var(--primary);
    font-weight: 700;
    font-weight: 24px;
    margin-bottom: 0px;
    padding: 5px 10px;

    border: 1px solid #e7e7e7;
    border-radius: 8px;
}

.salad-card-pricing span {
    color: #6b7280;
    font-weight: 400;
    font-weight: 16px;
    line-height: 1;
}

.salad-card-pricing h6 {
    color: var(--primary);
    font-weight: 700;
    font-weight: 12px;
    margin-bottom: 0px;
}

.salad-customize-card .salad-badge-discount {
    display: flex;
    align-items: center;
    gap: 3px;
    background: #fef3e8;
    color: #f07c00;
    font-size: 9.5px;
    font-weight: 600;
    padding: 3px 8px;
    border-radius: 5px;
    border: 1px solid #fdd9ac;
    margin-bottom: 4px;
    width: fit-content;
}

.border-top-light {
    border-top: 1px solid #f6f6f6;
}

.salad-select-qty {
    display: flex;
    align-items: center;
    gap: 7px;
}

.salad-select-qty h6 {
    color: #5c5c5c;
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0px;
}

.salad-select-qty h6 span {
    color: #202020;
}

.salad-select-badge {
    color: white;
    background-color: #f07c00;
    font-size: 12px;
    font-weight: 600;
    border-radius: 50px;
    padding: 3px 10px;
}

.qty-card-wrap {
    display: flex;
    gap: 12px;
}

.qty-card {
    flex: 1;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 12px;
    text-align: center;
    background: #fafafa;
    cursor: pointer;
    transition: 0.2s ease;
}

/* top label */
.qty-title {
    background: #f1f7f1;
    color: #5c5c5c;
    border-radius: 6px;
    padding: 5px;
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}

/* price */
.qty-card h5 {
    font-size: 18px;
    margin: 6px 0;
    margin-bottom: 0px;
    color: #202020;
}

.qty-card h5 span {
    font-size: 13px;
    color: #888;
    text-decoration: line-through;
    margin-left: 6px;
}

/* save text */
.qty-card p {
    font-size: 12px;
    color: var(--primary);
    margin: 0;
    font-weight: 500;
}

/* active state */
.qty-card.active {
    border: 1px solid #acd2ab;
    background: #f0f7f0;
}

.qty-card.active .qty-title {
    background: white;
    color: var(--primary);
}

.salad-arrow-down {
    transform: rotate(90deg);
    filter: brightness(0) saturate(100%) invert(14%) sepia(99%) saturate(5230%) hue-rotate(145deg) brightness(93%) contrast(91%);
}

.salad-arrow-up {
    transform: rotate(270deg);
    filter: brightness(0) saturate(100%) invert(14%) sepia(99%) saturate(5230%) hue-rotate(145deg) brightness(93%) contrast(91%);
}

/* bread crumb */
.custom-breadcrumb {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.custom-breadcrumb a {
    color: #8a8f98;
    text-decoration: none;
    font-weight: 400;
}

.custom-breadcrumb .active {
    color: #000;
    font-weight: 600;
}

.nav-see-all {
    font-weight: 600;
    filter: brightness(0) saturate(100%) invert(14%) sepia(99%) saturate(5230%) hue-rotate(145deg) brightness(93%) contrast(91%);
}

.product-listing-header h3 {
    color: #032802;
}

/* toast */
.custom-toast-wrap {
    position: fixed;
    top: 90px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 9999;
}

.custom-toast-card {
    background: var(--primary);
    color: #fff;
    width: 500px;
    max-width: calc(100vw - 30px);
    padding: 16px 18px;
    border-radius: 6px;
    opacity: 0;
    display: none;
    transform: translateY(-20px);
    pointer-events: none;
    transition: 0.5s ease;
}

.custom-toast-card.show {
    opacity: 1;
    display: block;
    transform: translateY(0);
}

.toast-title {
    color: #e8f5e8;
    font-size: 20px;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .custom-toast-card .toast-title {
        font-size: 14px;
    }

    .toast-product-img {
        top: 22px !important;
    }

    .salad-details-gallery {
        flex-wrap: wrap;
    }

    .salad-thumb-swiper {
        width: 100%;
        height: auto;
        display: flex;
        order: 2;
    }

    .salad-details-gallery .swiper-vertical>.swiper-wrapper {
        flex-direction: row;
        justify-content: center;
    }

    .cart-action-bar {
        justify-content: center;
        margin-bottom: 15px;
    }
}

.toast-sub {
    font-size: 14px;
}

.toast-img-group {
    display: flex;
}

.toast-img {
    width: 64px;
    height: 47px;
    object-fit: cover;
    margin-left: -8px;
    position: relative;
}

.toast-product-img {
    width: 35px;
    height: 35px;
    object-fit: cover;
    position: absolute;
    top: 25px;
    right: 42px;
}

.card-img-block .slider-mini-btn button {
    width: 30px;
    height: 30px;
    border-radius: 50px;
    border: none;
    outline: none;
    background-color: #ffffff;
}

.card-img-block .slider-mini-btn button img {
    width: 20px;
    height: 20px;
    margin: 0 auto;
}

.card-img-block .slider-mini-btn {
    top: 6px;
    right: 11px;
    z-index: 10;
    user-select: none;
}

/* ========== custom model popup ======== */
.login-modal-dialog {
    max-width: 900px;
}

.login-modal-content {
    border: 0;
    border-radius: 18px;
    overflow: hidden;
    position: relative;
}

.login-modal-content .login-close,
.login-modal-content .login-back {
    outline: none;
    border: none;
    background-color: none;
    box-shadow: none;
}

.login-modal-content .login-back {
    filter: none !important;
}

.login-modal-content .login-left {
    /* height: 590px; */
    position: relative;
    overflow: hidden;
}

.login-modal-content .login-banner {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Login modal on phones: hide the side image, tighten spacing so the
   dialog is small and compact (just the form). */
@media (max-width: 767.98px) {
    .login-modal-content .login-left-col {
        display: none !important;
    }

    .login_right_container {
        padding: 0.5rem 0.85rem 1rem !important;
    }

    .login-modal-content .login-right {
        gap: 10px;
    }

    .login-modal-content .login-right .mt-4 {
        margin-top: 0.5rem !important;
    }

    .login-modal-content .login-right .mb-5 {
        margin-bottom: 1rem !important;
    }

    .login-modal-content .login-logo {
        width: 88px;
    }

    .login-modal-content .login-title {
        font-size: 20px;
    }

    .login-modal-content .login-subtitle {
        margin-bottom: 16px;
    }

    .login-modal-content .mb-4 {
        margin-bottom: 1rem !important;
    }
}

.login-modal-content .login-right {
    /* height: 520px; */
    padding: 0px 20px 0px;
    display: flex;
    gap: 15px;
    flex-direction: column;
}

/* .login-modal-close{
    padding-bottom: ;
} */

.login-modal-content .login-logo {
    width: 110px;
}

.login-modal-content .login-title {
    color: #202020;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 4px;
}

.login-modal-content .login-subtitle {
    font-size: 13px;
    font-weight: 400;
    color: #5c5c5c;
    margin-bottom: 26px;
}

.login-modal-content .phone-box {
    width: 100%;
    height: 54px;
    border: 1px solid #e9e9e9;
    border-radius: 8px;
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 12px;
    margin-bottom: 6px;
    transition: all 0.3s ease;
}

.login-modal-content .phone-label {
    position: absolute;
    top: 15px;
    left: 60px;
    background: #fff;
    color: #979696;
    font-size: 13px;
    padding: 0 5px;
    font-weight: 600;
    transition: all 0.3s ease;
}

.login-modal-content .country-code {
    color: #979696;
    padding-right: 12px;
    margin-right: 12px;
    border-right: 1px solid #ddd;
    font-size: 14px;
}

/* Profile icon shown inside the "Your Name" field (mirrors .country-code) */
.login-modal-content .name-icon {
    color: #979696;
    padding-right: 12px;
    margin-right: 12px;
    border-right: 1px solid #ddd;
    font-size: 14px;
    display: inline-flex;
    align-items: center;
}

/* Logout confirmation modal icon badge */
.logout-confirm-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #fdecec;
    color: #e84c1a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 26px;
}

.login-modal-content .phone-box input {
    border: 0;
    outline: 0;
    width: 100%;
    font-size: 15px;
}

.login-modal-content .btn-login {
    width: 100%;
    height: 50px;
    border: 0;
    border-radius: 8px;
    background: #087b08;
    color: #fff;
    font-weight: 700;
    margin-bottom: 20px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.login-modal-content .btn-login.disabled {
    color: #868686;
    background-color: #e9e9e9;
}

.login-modal-content .btn-login.disabled img {
    filter: brightness(0) saturate(100%) invert(51%) sepia(7%) saturate(11%) hue-rotate(0deg) brightness(102%) contrast(88%);
}

.login-modal-content .login-terms {
    font-size: 12px;
    color: #666;
    line-height: 1.5;
}

.login-modal-content .login-terms a {
    color: #111;
    font-weight: 600;
    text-decoration: underline;
}

.login-modal-content {
    min-height: 510px;
}

.login-modal-content .row {
    min-height: 510px;
}

/* Left banner fills the full modal height so no white gap shows below the
   image when the form column is taller (e.g. with the Name field). */
.login-modal-content .login-left-col {
    display: flex;
}

.login-modal-content .login-left {
    height: 100%;
    width: 100%;
}

.login-modal-content .login-banner {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.login-modal-content .col-md-6:last-child {
    min-height: 510px;
    display: flex;
}

.login-modal-content .col-md-6:last-child .login_right_container {
    width: 100%;
    min-height: 510px;
    display: flex;

    flex-direction: column;
}

/* OUTER WRAPPER */
.otp-wrapper {
    margin-bottom: 30px;
}

/* TITLE */
.otp-title {
    color: #000;
    font-weight: 600;
    margin-bottom: 15px;
}

/* INPUT ROW */
.otp-box {
    display: flex;
    gap: 16px;
}

/* OTP INPUT */
.otp-input {
    width: 70px;
    height: 55px;

    border-radius: 14px;
    /* 🔥 smooth rounded */
    border: 1px solid #e5e7eb;

    background: #f3f4f6;
    /* 🔥 light grey fill */

    text-align: center;
    font-size: 20px;
    font-weight: 500;

    outline: none;
    transition: all 0.2s ease;
}

/* FOCUS STATE */
.otp-input:focus {
    border-color: #22c55e;
    /* green */
    background: #ffffff;
    /* white on focus */
    box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.15);
}

.otp-resend {
    font-size: 14px;
    color: #666;
}

#timer {
    color: #ff7a00;
    font-weight: 600;
}

/* login form animation */
/* focus state OR input has value */
.login-modal-content .phone-box:focus-within,
.login-modal-content .phone-box:has(input:not(:placeholder-shown)) {
    border: 1px solid #168b18;
}

.login-modal-content .phone-box:focus-within .phone-label,
.login-modal-content .phone-box:has(input:not(:placeholder-shown)) .phone-label {
    top: -10px;
    left: 62px;
    color: #168b18;
    font-size: 11px;
}

.login-modal-content .phone-box:focus-within .country-code,
.login-modal-content .phone-box:has(input:not(:placeholder-shown)) .country-code {
    color: black;
}

.form-alert {
    font-size: 12px;
    font-weight: 500;
    color: red;
}

/* RESEND TEXT (grey) */
.resendlinkk {
    color: #9ca3af;
    /* ash/grey */
    font-size: 14px;
}

/* TIMER (orange) */
.timer-text {
    color: #f97316;
    font-weight: 500;
}

/* RESEND LINK */
.resend-link {
    color: #f97316;
    text-decoration: underline;
    cursor: pointer;
    font-weight: 500;
}

/* ERROR TEXT */
.otp-error {
    color: #dc2626;
    /* red */
    font-size: 14px;
    font-weight: 500;
}

/* RESEND LINK */
#otpResend {
    color: #f97316;
    /* orange */
    text-decoration: underline;
    margin-left: 4px;
    cursor: pointer;
    font-weight: 500;
}

/* HOVER */
#otpResend:hover {
    opacity: 0.8;
}

/* NORMAL (enabled) */
.btn-otp {
    background: #22c55e;
    color: #fff;
    cursor: pointer;
    transition: 0.3s;
}

/* DISABLED STATE */
.btn-otp.disabled {
    background: #d1d5db;
    color: #6b7280;
    cursor: not-allowed;
    pointer-events: none;
}

/* --------------------- */
.special-btn {
    position: relative;
    overflow: hidden;
    border: none;
    border-radius: 999px;
    padding: 8px 26px;
    cursor: pointer;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 18px;
    font-weight: 700;
    color: #6f3900;

    background:
        linear-gradient(to bottom,
            #ffcb7c 0%,
            #ffb347 30%,
            #ff9f1c 75%,
            #ff8a00 100%);

    box-shadow:
        inset 0 -4px 0 rgb(255 225 189 / 45%);
}

/* border */
.special-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
    padding: 2px;

    background: linear-gradient(135deg,
            #ffbe63 0%,
            #ff9f1a 35%,
            #c46b00 75%,
            #874300 100%);

    -webkit-mask:
        linear-gradient(#fff 0 0) content-box,
        linear-gradient(#fff 0 0);

    -webkit-mask-composite: xor;
    mask-composite: exclude;

    pointer-events: none;
}

/* glossy top */
.special-btn::after {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: 2px;
    height: 75%;
    border-radius: 999px;

    background: linear-gradient(to bottom,
            rgba(255, 239, 208, .95),
            rgba(255, 213, 150, .8));

    pointer-events: none;
}

.fall-items {
    position: absolute;
    inset: 0;
    z-index: 2;

    background-image: url("../images/icon/falling-btn.webp");
    background-size: 120px;
    background-repeat: repeat;
    background-position: center;

    opacity: .9;
    pointer-events: none;

    animation: groceryFall 5s linear infinite;
}

/* text + icon hidden */
.btn-content {
    position: relative;
    z-index: 5;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;

    min-width: 120px;
    /* control width */
    width: 120px;

    /* opacity: 1; */

    /* clip-path: inset(0 100% 0 0); */
    transition:
        clip-path .45s ease,
        opacity .2s ease;
}

.special-btn .btn-content {
    opacity: 1;
    animation: textRevealLoop 4s infinite;
}

@keyframes textRevealLoop {

    0%,
    20% {
        clip-path: inset(0 100% 0 0);
    }

    40%,
    80% {
        clip-path: inset(0 0 0 0);
    }

    100% {
        clip-path: inset(0 100% 0 0);
    }
}

/* hover left to right reveal */
/* .special-btn:hover .btn-content {
    opacity: 1;
    clip-path: inset(0 0 0 0);
} */

/* mouse leave hide directly */
/* .special-btn:not(:hover) .btn-content {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
} */

/* lock active = text always visible */
.special-btn.lock-active .btn-content {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transition: none;
}

/* hide default icon */
.special-btn.lock-active .special-icon {
    display: none;
}

/* no fall animation normally */


/* normal buttons only */
/* .special-btn:not(.lock-active):not(:hover) .btn-content {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
} */

/* grocery falling */
/* .fall-items {
    position: absolute;
    inset: 0;
    z-index: 2;

    background-image: url("../images/icon/falling-btn.webp");
    background-size: 120px;
    background-repeat: repeat;
    background-position: center;

    opacity: 0;
    transform: translateY(-100%);
    pointer-events: none;
} */


@keyframes groceryFall {
    from {
        transform: translateY(-100%);
    }

    to {
        transform: translateY(100%);
    }
}

.mm-nav-item .mm-icon.brown {
    background: #FFE1B6;
    color: 5C2D00;
}


/* ======== Special Section =========== */
.special-section {
    margin-top: 130px;
    position: relative;
    overflow: hidden;
    padding: 40px 0 40px;
    isolation: isolate;
}

.special-section .container {
    position: relative;
    z-index: 2;
}

.special-content-title,
.special-content-title2 {
    font-size: clamp(20px, 2vw, 28px);
    font-weight: 800;
}

.special-content-title {
    color: #202020;
}

.special-content-title2 {
    background: linear-gradient(to bottom, #FF8D13 0%, #D06C01 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.special-content-text {
    width: min(100%, 430px);
    margin: 0 auto;
}

.special-content-description {
    font-size: 14px;
    color: #5c5c5c;
    line-height: 1.5;
}

.special-content-image {
    display: flex;
    justify-content: center;
}

.special-content-image img {
    width: min(100%, 220px);
    height: auto;
}

.special-title-top {
    font-family: "Pacifico", cursive;
    font-size: clamp(36px, 5vw, 40px);
    font-weight: 400;
    opacity: 0.1;
    line-height: 2;
    background: linear-gradient(to bottom, #FF8D13 0%, #D06C01 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Cards */
.special-card {
    height: 100%;
    min-height: 96px;
    padding: 14px 10px;
    border: 1px solid #FEF3E999;
    border-radius: 12px;
    background-color: #FEF3E980;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.special-card-title {
    color: #202020;
    font-size: 14px;
    font-weight: 800;
    line-height: 18px;
    margin-bottom: 4px;
}

.special-card-description {
    color: #5C5C5C;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.4;
    text-align: center;
}

.special-card-title span,
.we-launch span {
    background: linear-gradient(to bottom, #FF8D13 0%, #D06C01 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

/* Notify Button */
.notify-btn {
    width: min(100%, 360px);
    margin: 0 auto;
    position: relative;
    border: none;
    outline: none;
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 24px;
    border-radius: 8px;

    background: linear-gradient(180deg, #FF9200 0%, #F58B00 45%, #E17800 100%);
    overflow: hidden;

    transform: translateZ(0);
    backface-visibility: hidden;
}

.notify-btn::before {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 50%;
    background: linear-gradient(to bottom, rgba(255, 255, 255, .12), rgba(255, 255, 255, 0));
    pointer-events: none;
}

.notify-btn:hover {
    box-shadow: 0 2px 14px rgba(255, 145, 0, .28);
}

.notify-icon,
.notify-icon img {
    width: 26px;
    height: 27px;
    flex: 0 0 26px;
    display: block;
}

.notify-text {
    color: #fff;
    font-size: 17px;
    font-weight: 700;
    line-height: 28px;
}

.we-launch {
    color: #5C5C5C;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.4;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    text-align: center;
    flex-wrap: wrap;
}

/* Background shapes */
.section-shape-left,
.section-shape-right {
    position: absolute;
    background: #FEF3E9;
    z-index: -1;
    pointer-events: none;
    will-change: transform;
}

.section-shape-left {
    top: -180px;
    left: -350px;
    width: 680px;
    height: 780px;

    clip-path: path("M360 0 C520 0 675 70 660 210 C648 325 515 330 425 450 C335 570 335 760 170 735 C5 710 -80 500 30 260 C95 115 210 35 360 0 Z");

    animation: organicMoveLeft 9s ease-in-out infinite;
}

.section-shape-right {
    top: -180px;
    right: -400px;
    width: 700px;
    height: 900px;

    clip-path: path("M0.00157566 168.03C0.0862412 55.2222 86.8718 -42.9039 187.586 -93.1449C292.503 -145.482 416.158 -143.348 521.366 -92.0506C629.182 -39.4813 718.518 55.4534 736.476 174.485C753.603 288 682.16 388.608 606.966 475.317C534.23 559.193 442.941 662.727 335.326 637.073C232.95 612.669 248.555 461.034 187.235 375.26C130.245 295.544 -0.0721402 266.25 0.00157566 168.03Z");

    animation: organicMoveRight 10s ease-in-out infinite;
}

@keyframes organicMoveLeft {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(12px, 8px) scale(1.01);
    }
}

@keyframes organicMoveRight {

    0%,
    100% {
        transform: translate(0, 0) scale(1);
    }

    50% {
        transform: translate(-12px, 8px) scale(1.01);
    }
}

.eat-freshimg-center h1 {
    font-size: 89px !important;
}

.profile-page .profile-border-card {
    height: fit-content;
}

.goog-te-balloon-frame,
.goog-tooltip,
.goog-text-highlight,
#goog-gt-tt,
.VIpgJd-ZVi9od-xl07Ob-OEVmcd,
.VIpgJd-yAWNEb-L7lbkb {
    display: none !important;
    visibility: hidden !important;
}

.skiptranslate iframe {
    display: none !important;
}

.contact-form-img {
    width: 100%;
    height: 490px;
    display: block;
    object-fit: cover;
    border-radius: 16px;
}

.salad-main-img-wrapper {
    width: clamp(180px, 35vw, 430px);
    height: clamp(180px, 35vw, 430px);

    display: flex;
    align-items: center;
    justify-content: center;
}

.salad-main-img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Responsive */
@media (max-width: 320px) {}

@media (max-width: 430px) {
    .special-section {
        margin-top: 80px;
    }

    .fresh-cta-content {
        display: flex;
        flex-direction: column;
    }

    .fresh-cta-title-span {
        justify-content: center;
    }

    .salad-sec .btn-view {
        padding: 10px 15px;
    }

    .salad-sec .btn-add {
        padding: 7px 30px;
    }
}

@media (max-width: 575px) {
    .special-section {
        margin-top: 60px;
        padding: 40px 0 50px;
    }

    .special-card {
        min-height: auto;
    }

    .notify-btn {
        width: 100%;
    }

    .section-shape-left,
    .section-shape-right {
        display: none;
    }

    .profile-page .myorders-tab-header li span {
        font-size: 14px !important;
    }

    .my-address-details .primary-green-btn {
        font-size: 12px !important;
    }

    .my-cart-page .schedule-btn {
        white-space: wrap;
    }

    .my-cart-page .cart-page {
        padding: 10px 0px;
    }

    .salad-main-swiper {
        height: 350px;
    }

    .cart-action-bar {
        flex-direction: column;
        gap: 12px;
    }

    .btn-view-cart {
        width: 100%;
    }

    .pd-detail-qty-box {
        width: 100%;
    }

    .salad-sec.health-sec {
        margin-top: 60px;
    }

    .cart-toast-wrap .cart-toast {
        padding: 14px 0px 14px 12px !important;
    }

    .cart-toast-wrap {
        top: 14% !important;
        right: 10px !important;
    }

    /* .cart-toast-wrap.category-sec {
        width: fit-content !important;
    } */
    .contact-form-img {
        height: 280px;
        border-radius: 12px;
    }
}

@media (max-width: 768px) {
    .salad-details-gallery .swiper-vertical>.swiper-wrapper {
        gap: 20px;
    }

    .contact-form-img {
        height: 350px;
    }

}

@media (max-width: 991px) {
    .special-section {
        margin-top: 90px;
        padding: 50px 0 60px;
    }

    .section-shape-left {
        left: -460px;
    }

    .section-shape-right {
        right: -520px;
    }

    .contact-form-img {
        height: 420px;
    }
}

@media (max-width: 1200px) {}

@media (min-width: 1440px) {}

/* Overlay */

.coupon-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.35);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Show Modal */

.coupon-modal.active {
    display: flex;
}

/* Modal Box */

.coupon-modal-content {
    position: relative;
    width: 90%;
    max-width: 560px;
    background: #fff;
    border-radius: 16px;
    padding: 28px;
}

.coupon-modal-content h3 {
    font-size: 22px;
    font-weight: 700;
    color: #222;
    margin-bottom: 24px;
}

.coupon-modal-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.coupon-modal-content ul li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 18px;
    font-size: 16px;
    line-height: 1.7;
    color: #555;
}

.coupon-modal-content ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 11px;
    width: 8px;
    height: 8px;
    background: #f57c00;
    border-radius: 50%;
}

/* Close Button */

.close-modal {
    position: absolute;
    top: 15px;
    right: 15px;
    width: 36px;
    height: 36px;
    border: none;
    background: #f5f5f5;
    border-radius: 50%;
    font-size: 24px;
    cursor: pointer;
}

.offer-success-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99999;
}

.offer-success-box {

    height: 322px;
    background: #ffffff;
    border-radius: 14px;
    overflow: hidden;
}

.offer-success-content {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 360px;
    text-align: center;
}

.offer-applied-text {
    margin: 0 0 10px;
    color: #5C5C5C;
    font-size: 16px;
    font-weight: 600;
    font-family: Inter, sans-serif;
}

.offer-saving-text {
    margin: 0 0 12px;
    color: #0C7B09;
    font-size: 30px;
    line-height: 1.1;
    font-weight: 700;
    font-family: Inter, sans-serif;
}

.offer-description {
    margin: 0 auto;
    width: 345px;
    color: #5C5C5C;
    font-size: 14px;
    line-height: 1.6;
    font-weight: 500;
    font-family: Inter, sans-serif;
}

/* =====================
   CONFETTI
===================== */

.offer-piece {
    position: absolute;
    display: block;
}

/* Yellow */

.p1 {
    width: 10px;
    height: 6px;
    background: #efc863;
    top: 12px;
    left: 158px;
    transform: rotate(34deg);
}

.p2 {
    width: 10px;
    height: 10px;
    background: #efc863;
    top: 82px;
    left: 70px;
    transform: rotate(40deg);
}

.p3 {
    width: 11px;
    height: 6px;
    background: #efc863;
    top: 116px;
    left: 228px;
    transform: rotate(-25deg);
}

.p4 {
    width: 8px;
    height: 8px;
    background: #efc863;
    top: 210px;
    left: 275px;
    transform: rotate(18deg);
}

.p5 {
    width: 7px;
    height: 7px;
    background: #efc863;
    top: 258px;
    left: 238px;
    transform: rotate(30deg);
}

/* Mint */

.p6 {
    width: 11px;
    height: 11px;
    background: #92efcb;
    top: 20px;
    left: 190px;
    transform: rotate(20deg);
}

.p7 {
    width: 5px;
    height: 5px;
    background: #92efcb;
    top: 76px;
    left: 136px;
}

.p8 {
    width: 8px;
    height: 12px;
    background: #92efcb;
    top: 126px;
    left: 182px;
}

.p9 {
    width: 8px;
    height: 8px;
    background: #92efcb;
    top: 128px;
    left: 266px;
    transform: rotate(28deg);
}

.p10 {
    width: 9px;
    height: 9px;
    background: #92efcb;
    top: 182px;
    right: 104px;
}

.p11 {
    width: 8px;
    height: 4px;
    background: #92efcb;
    bottom: 25px;
    right: 166px;
    transform: rotate(32deg);
}

/* Purple */

.p12 {
    width: 7px;
    height: 7px;
    background: #9d83d9;
    top: 86px;
    right: 158px;
}

.p13 {
    width: 11px;
    height: 6px;
    background: #9d83d9;
    top: 152px;
    left: 88px;
    transform: rotate(-10deg);
}

.p14 {
    width: 8px;
    height: 12px;
    background: #9d83d9;
    top: 140px;
    right: 26px;
}


.success-tick {
    margin-bottom: 15px;
}

.success-tick img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    transform: translate(127px, 10px);
}

.confetti-rain {
    position: absolute;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    left: 20px;
}

/* Base */

.confetti-item {
    position: absolute;
    top: -30px;
    width: 10px;
    height: 10px;
    animation: fallingConfetti 3s linear infinite;
}

/* Colors */

.confetti-item:nth-child(1) {
    left: 5%;
    background: #efc863;
    animation-delay: 0s;
}

.confetti-item:nth-child(2) {
    left: 15%;
    background: #8ff1cd;
    animation-delay: .3s;
}

.confetti-item:nth-child(3) {
    left: 25%;
    background: #9d83d9;
    animation-delay: .6s;
}

.confetti-item:nth-child(4) {
    left: 35%;
    background: #efc863;
    animation-delay: .8s;
}

.confetti-item:nth-child(5) {
    left: 45%;
    background: #8ff1cd;
    animation-delay: 1s;
}

.confetti-item:nth-child(6) {
    left: 55%;
    background: #9d83d9;
    animation-delay: 1.2s;
}

.confetti-item:nth-child(7) {
    left: 65%;
    background: #efc863;
    animation-delay: 1.4s;
}

.confetti-item:nth-child(8) {
    left: 75%;
    background: #8ff1cd;
    animation-delay: 1.6s;
}

.confetti-item:nth-child(9) {
    left: 82%;
    background: #9d83d9;
    animation-delay: 1.8s;
}

.confetti-item:nth-child(10) {
    left: 90%;
    background: #efc863;
    animation-delay: 2s;
}

.confetti-item:nth-child(11) {
    left: 52%;
    background: #8ff1cd;
    animation-delay: 2.2s;
}

.confetti-item:nth-child(12) {
    left: 30%;
    background: #9d83d9;
    animation-delay: 2.4s;
}

@keyframes fallingConfetti {

    0% {
        transform:
            translateY(-20px) rotate(0deg);

        opacity: 1;
    }

    100% {
        transform:
            translateY(450px) rotate(720deg);

        opacity: .8;
    }
}

.modal.fade .modal-dialog {
    transform: translateY(80px) scale(.9);
    opacity: 0;
    transition: all .45s cubic-bezier(.22, 1, .36, 1);
}

.modal.show .modal-dialog {
    transform: translateY(0) scale(1);
    opacity: 1;
}

.modal-body .terms-list li::before {
    content: "";
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: linear-gradient(180deg, #F07C00 0%, #D74000 100%);

    position: absolute;
    left: 0;
    top: 11px;
}

.modal-body .terms {
    color: #000;
    font-size: 26px;
    font-weight: 700;
    margin-bottom: 16px;
}

.list1 {
    font-size: 14px;
    font-weight: 500;
    color: #5C5C5C;
}

.form-control:focus {
    box-shadow: none !important;
    border-color: #ced4da !important;
}

.subscription-section {
    margin-top: 80px;
    position: relative;
    overflow: hidden;
    padding: 100px 0;
}

/* Default Green */
.subscription-page .search-bar {
    border: none;
    outline: none;
}

.subscription-page .search-bar svg {
    stroke: #F07C00;
}

.subscription-page .mic-btn img {
    filter: brightness(0) saturate(100%) invert(50%) sepia(92%) saturate(2034%) hue-rotate(5deg) brightness(97%) contrast(105%);
}

.subscription-page .special-btn {
    display: none;
}

/* Default */

.subscription-logo {
    display: none;
}

.default-logo {
    display: block;
}

/* Subscription Page */

.subscription-page .default-logo {
    display: none;
}

.subscription-page .subscription-logo {
    display: block;
}

.subscription-page .zh-icon img {
    filter: brightness(0) saturate(100%) invert(50%) sepia(92%) saturate(2034%) hue-rotate(5deg) brightness(97%) contrast(105%);
}

.subscription-page .cart-added-btn img {
    filter: brightness(0) saturate(100%) invert(50%) sepia(92%) saturate(2034%) hue-rotate(5deg) brightness(97%) contrast(105%);
}

.subscription-page .hdr-btn img {
    filter: brightness(0) saturate(100%) invert(50%) sepia(92%) saturate(2034%) hue-rotate(5deg) brightness(97%) contrast(105%);
}

.subscription-page .lang-btn i {
    color: #F07C00
}

.subscription-page .social-list .icon-contain {
    background: #FFD9A0;
}

.subscription-hero {


    /* background-image:url('../images/subscription/hero-section.webp'); */
    /* background-repeat:no-repeat;
    background-position:center center;
    background-size: cover; */
    overflow: hidden;
    background: linear-gradient(180deg, rgba(242, 135, 41, 0.08) 0%, rgba(209, 33, 33, 0.08) 147.92%);
}

.hero-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 60px;
}

.hero-content h1 {
    font-size: 54px;
    line-height: 1.1;
    font-weight: 800;
    color: #1d1d21;
    margin-bottom: 20px;
}

.hero-content h1 span {
    color: #f37521;
}

.hero-content p {
    font-size: 18px;
    line-height: 1.7;
    color: #666;
    font-weight: 400;
    max-width: 850px;

    margin-bottom: 20px;
}

.subscription-hero .hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 231px;
    padding: 10;
    /* height: 100%; */
    background: linear-gradient(180deg, #ff8d26 0%, #ea4d1d 100%);
    border-radius: 8px;
    color: #fff;
    text-decoration: none;
    font-size: 20px;
    font-weight: 700;
}


.hero-image {
    /* width: 40%; */
    width: 350px;
    top: -11px;
    left: 132px;
    position: relative;
}

.rotating-image {
    animation: rotateImage 30s linear infinite;
}

@keyframes rotateImage {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.subscription-hero {
    position: relative;
    overflow: hidden;
}

/* Top Right Background Image */

.subscription-hero::before {
    content: "";
    position: absolute;
    top: 26px;
    right: -88px;
    width: 100%;
    height: 100%;
    background: url(../images/subscription/left-hero.webp) no-repeat top right;
    background-size: contain;
    z-index: 1;
}

/* Keep content above the pseudo element */

.subscription-hero>* {
    position: relative;
    z-index: 2;
}

.natural-badge {
    position: absolute;
    bottom: -41px;
    right: -50px;
    width: fit-content;
    text-align: right;
    margin-bottom: 20px;
}

.animated-percent {
    position: relative;
    display: inline-block;

    font-size: 40px;
    font-weight: 800;
    line-height: normal;
    margin-bottom: 0;

    color: #ffffff;
}

.animated-percent::before {
    content: attr(data-text);

    position: absolute;
    top: 0;
    left: 0;

    color: #ffc400;

    width: 0;
    height: 100%;

    overflow: hidden;
    white-space: nowrap;

    animation: fillText 3s linear infinite;
}

@keyframes fillText {

    0% {
        width: 0%;
    }

    70% {
        width: 100%;
    }

    100% {
        width: 100%;
    }
}

.natural-badge h4 {

    font-size: 22px;
    font-weight: 700;

    color: #ffffff;
}

.benefits-wrapper {
    max-width: 540px;
}

.benefit-heading {
    font-size: 36px;
    font-weight: 600;
    color: #222;
    margin-bottom: 15px;
}

.benefit-heading span {
    color: #f47a20;
}

.benefit-subtitle {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #666;
}

.benefit-item {
    display: flex;
    gap: 20px;
    padding: 14px 0;
    border-bottom: 1px solid #ededed;
    cursor: pointer;
    transition: .3s;
}

.benefit-item:last-child {
    border-bottom: none;
}




.benefit-icon {
    width: 50px;
    height: 50px;


    display: flex;
    align-items: center;
    justify-content: center;

    color: #f47a20;
    font-size: 20px;

    flex-shrink: 0;

}

.benefit-item h4 {
    font-size: 18px;
    font-weight: 700;
    color: #222;
    margin-bottom: 8px;
}

.benefit-item p {
    margin: 0;
    color: #666;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.7;
}

/* .benefit-preview img{
    width:100%;
    height:100%;
    object-fit:cover;

    transition:.4s ease;
} */


.benefit-preview img {
    transform: scale(1);

    transition:
        transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);

    will-change: transform;
}

.benefit-preview:hover img {
    transform: scale(1.1);
    transition: transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);
}

.subscription-benefits {
    margin-top: 80px;
}

.benefit-preview {
    position: relative;
    overflow: hidden;
    border-radius: 24px;
}

#benefitPreviewImage {
    width: 100%;
    height: 100%;
    object-fit: cover;

    opacity: 1;
    transform: scale(1);

    transition:
        opacity .5s ease,
        transform 1.5s cubic-bezier(0.16, 1, 0.3, 1);

    will-change: transform, opacity;
}

/* Image changing state */

#benefitPreviewImage.changing {
    opacity: 0;
    transform: scale(1.05);
}

/* Hover zoom effect */

.benefit-preview:hover #benefitPreviewImage {
    transform: scale(1.08);
}

#benefitPreviewImage.fade-out {
    opacity: 0;
}

.hero-content {
    position: relative;
}

.blur-img {
    position: absolute;
    opacity: .1;
    z-index: 1;
    transition: all 0.3s ease;
    pointer-events: auto;
}

.slad-floating-image:hover {
    opacity: .4;

    filter: brightness(1.05);

    transform: scale(1.05);
}

.blur-img-1 {
    bottom: -34px;
    right: -170px;
    width: 40px;
    transform: rotate(356deg);
}

.blur-img-2 {
    top: -30px;
    left: -40px;
    width: 40px;
    transform: rotate(20deg);
}

.blur-img-3 {
    bottom: -34px;
    right: 112px;
    width: 93px;
    transform: rotate(358deg);
}

.blur-img-4 {
    bottom: -30px;
    right: 0px;
    width: 93px;
    transform: rotate(1deg);
}


.floating-image {
    animation: floatImage 3s ease-in-out infinite;
}

@keyframes floatImage {

    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(10px);
    }

}

.plan-text {
    color: #F28729 !important;
    font-weight: 700;

}

.plan1-text {
    font-weight: 700;
}

.premium-card1 {
    position: absolute;
    background: linear-gradient(180deg, #F28729 0%, #D12121 147.92%) !important;
    box-shadow: 0px 0px 25.2px 0px #F28629 !important;
}

.plan-card.premium-card1 .plan-p {
    color: #fff !important;
}

.plan-card.premium-card1 .price {
    color: #fff !important;
}

.plan-card.premium-card1 .price span {
    color: #fff !important;
}

.plan-card.premium-card1 .planlist1 {
    color: #fff !important;
}

.plan-card.premium-card1 .features li::before {
    color: #F28729 !important;
    background: #fff !important;
}

.plan-card.premium-card1 .get-pre {
    color: #F28729 !important;
}

.premium-card1 .most-popular {
    position: absolute;
    top: 0;
    right: 10;
}

.plan-card.simple-card .basic {
    color: #F28729 !important;
}

.plan-card.simple-card .features li::before {
    color: #fff !important;
    background: #F28729 !important;
}

.subscription-cards {
    margin-top: 80px;
    background: #fff;
}


.subscription-cards .section-title {
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
    color: #111;
}

.subscription-cards .plan-text {
    color: #f47b20;
}

.subscription-cards .title-container p {

    font-size: 15px;
    color: #777;
    font-weight: 400;
}

.serve-card {
    text-align: center;
}

.serve-card img {
    width: 100%;
    height: 260px;

    object-fit: cover;

    border-radius: 12px;

    transition:
        transform .8s cubic-bezier(.16, 1, .3, 1);
}

.serve-card:hover img {
    transform: scale(1.05);
}

.serve-card h4 {
    margin-top: 18px;

    font-size: 18px;
    line-height: 1.4;
    white-space: nowrap;
    font-weight: 700;

    color: #222;

    max-width: 250px;
    margin-left: auto;
    margin-right: auto;
}

.subscription-work {
    margin-top: 80px;
    background: #fff;
}

/* ===========================
   TITLE
=========================== */

.work-title {
    margin-bottom: 60px;
}

.work-title h2 {
    font-size: 58px;
    font-weight: 800;
    line-height: 1.1;
    margin-bottom: 20px;
}

.green-text {
    color: #063b0a;
}

.orange-text {
    color: #ef6c24;
}

.work-title p {
    font-size: 16px;
    color: #666;
    max-width: 850px;
}

/* ===========================
   CARD
=========================== */

.work-card {
    height: 250px;
    width: 100%;
    /* perspective: 1500px; */
}

.work-card-inner {

    position: relative;

    width: 100%;
    height: 100%;

    transition: transform .9s cubic-bezier(.4, .2, .2, 1);

    transform-style: preserve-3d;
}

.work-card:hover .work-card-inner {
    transform: rotateY(180deg);
}

/* ===========================
   FRONT & BACK
=========================== */

.work-card-front,
.work-card-back {

    position: absolute;

    width: 100%;
    height: 100%;

    border-radius: 22px;

    backface-visibility: hidden;

    overflow: hidden;
}

/* FRONT */

.work-card-front {

    display: flex;
    justify-content: center;
    align-items: center;
}

.work-card-front img {
    width: 170px;
    height: auto;
    object-fit: cover;
    transition: all .8s ease;
}

.work-card:hover .work-card-front img {

    transform: scale(1.08);
}

/* BACK */

.work-card-back {

    background: #f4ece3;

    transform: rotateY(180deg);

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    text-align: center;

    padding: 40px;
}

.work-card-back h3 {

    font-size: 24px;
    font-weight: 700;
    white-space: nowrap;
    color: #111;

    margin-bottom: 20px;
}

.work-card-back p {

    font-size: 16px;
    line-height: 1.8;
    font-weight: 400;
    color: #666;

    margin: 0;
}

/* ===========================
   CARD COLORS
=========================== */

.card-bg-1 {
    background: #ebe1bb;
}

.card-bg-2 {
    background: #f2e9df;
}

.card-bg-3 {
    background: #dceac6;
}

.subscription-faq {
    margin-top: 80px;
    margin-bottom: 80px;
    background: #fff;
}

/* Heading */

.faq-heading {
    margin-bottom: 35px;
}

.faq-heading h2 {
    font-size: 42px;
    font-weight: 700;
    margin-bottom: 8px;
}

.faq-green {
    color: #103d0c;
}

.faq-orange {
    color: #f27b20;
}

.faq-heading p {
    font-size: 14px;
    color: #6d6d6d;
    margin: 0;
}

/* Image */

.faq-image-wrapper {
    border-radius: 16px;
    overflow: hidden;
}

.faq-image-wrapper img {
    width: 100%;
    border-radius: 16px;
}

/* Accordion */

.custom-faq {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.custom-faq-item {
    border: 1px solid #ececec;
    border-radius: 12px;
    overflow: hidden;
    background: #fff;

    transition: .3s;
}

.custom-faq-item.active {
    background: #f4e8d9;
}

.custom-faq-header {
    padding: 18px 18px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    cursor: pointer;
}

.custom-faq-header h4 {
    margin: 0;

    font-size: 18px;
    font-weight: 600;

    color: #6f3f0d;
}

.faq-arrow {
    width: 22px;
    height: 22px;

    background: #f28a00;

    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #fff;

    font-size: 10px;

    flex-shrink: 0;
}

.custom-faq-content {
    max-height: 0;
    overflow: hidden;

    transition:
        max-height .5s cubic-bezier(0.22, 1, 0.36, 1),
        padding .5s cubic-bezier(0.22, 1, 0.36, 1);

    padding: 0 18px;
}

.custom-faq-content p {
    margin: 0;

    font-size: 14px;
    line-height: 1.7;

    color: #444;
}

.custom-faq-item.active .custom-faq-content {
    max-height: 250px;
    padding: 0 18px 18px;
}

/* Prevent Page Shake */

html {
    overflow-y: scroll;
}

/* =========================
   OVERLAY
========================= */

.drawer-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    z-index: 99998;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.drawer-overlay.active {
    opacity: 1;
    visibility: visible;
}

/* =========================
   DRAWER
========================= */

.custom-drawer {
    position: fixed;
    top: 0;
    right: -500px;
    width: 500px;
    max-width: 100%;
    height: 100vh;
    background: #fff;
    z-index: 99999;
    overflow-y: auto;
    transition: right 0.35s ease;
}

.custom-drawer.active {
    right: 0;
}

/* =========================
   BODY
========================= */

.drawer-body {
    flex: 1;

    overflow-y: auto;

    padding:
        18px 36px 120px;
}

/* =========================
   HEADER
========================= */

.drawer-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    margin-bottom: 25px;

    position: relative;
}

.drawer-back {
    text-decoration: none;

    color: #444;

    font-size: 16px;
    font-weight: 500;
}

.drawer-back i {
    margin-right: 8px;
}

/* =========================
   POPULAR BADGE
========================= */

.popular-tag {
    position: absolute;

    top: -18px;
    right: -36px;

    width: 185px;
    height: 52px;

    background:
        linear-gradient(180deg,
            #ff8f2a 0%,
            #ea4d1d 100%);

    color: #fff;

    font-size: 17px;
    font-weight: 700;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius:
        0 0 14px 14px;
}

/* =========================
   TITLE
========================= */

.plan-drawer .plan-content h2 {
    font-size: 36px !important;
    line-height: 1;

    font-weight: 800;

    color: #000;

    margin-bottom: 28px;
}

/* =========================
   PRICE
========================= */

.plan-drawer .plan-price {
    display: flex;
    align-items: flex-end;
    gap: 12px;

    margin-bottom: 8px;
}

.plan-price1 {
    margin: 0;

    font-size: 32px !important;
    line-height: 1;

    font-weight: 700 !important;

    color: #000 !important;
}

.plan-price span {
    font-size: 14px;
    color: #555;
    font-weight: 500;


}

.old-price {
    font-size: 13px;
    color: #555;
    font-weight: 400;
    margin-bottom: 28px;
}

/* =========================
   DESCRIPTION
========================= */

.plan-content p {
    font-size: 18px;
    line-height: 1.7;

    color: #555;

    margin-bottom: 28px;
}

/* =========================
   FEATURES
========================= */


.plan-list {
    position: relative;

    padding-left: 18px;


    font-weight: 500;
    font-size: 17px;
    line-height: 1.7;

    color: #5C5C5C !important;

    margin-bottom: 16px;
}

.plan-list li {
    margin-bottom: 8px;
    font-size: 14px;
}

.plan-features li::before {
    content: "";

    position: absolute;

    left: 0;
    top: 12px;

    width: 8px;
    height: 8px;

    border-radius: 50%;

    background: #ef6c24;
}

/* =========================
   FOOTER
========================= */

.drawer-footer {


    bottom: 0;
    left: 0;

    width: 100%;

    background: #fff;

    padding: 16px;

    border-top: 1px solid #ededed;

    box-shadow:
        0 -8px 20px rgba(0, 0, 0, .04);
}

.footer-top {
    display: flex;
    justify-content: space-between;
    align-items: center;

    margin-bottom: 14px;
}

.footer-top span {
    font-size: 15px;
    color: #555;
}

.footer-top i {
    color: #08a000;
    margin-right: 6px;
}

.save-text {
    display: flex;
    color: #ef6c24 !important;
    font-weight: 700;
}

/* =========================
   BUTTON
========================= */

.subscribe-btn {
    width: 100%;
    height: 52px;

    border: none;

    border-radius: 10px;

    background:
        linear-gradient(180deg,
            #ff8f2a 0%,
            #ea4d1d 100%);

    color: #fff;

    font-size: 18px;
    font-weight: 700;

    cursor: pointer;
}

/* =========================
   DELIVERY SCREEN
========================= */
.delivery-title {
    font-size: 20px;
    font-weight: 700;
    color: #222;
    margin-bottom: 8px;
}

.delivery-subtitle {
    font-size: 16px;
    color: #6a6a6a;
    margin-bottom: 22px;
}

.time-slot {

    display: flex;
    justify-content: space-between;
    align-items: center;

    height: 74px;

    background: #f4f4f4;

    border-radius: 10px;

    padding: 12px 14px;

    margin-bottom: 12px;

    cursor: pointer;

    transition: .3s ease;
}

.slot-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.slot-icon {

    width: 34px;
    height: 34px;

    border-radius: 6px;

    background: #fff;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #888;

    font-size: 16px;
}

.slot-content h5 {

    margin: 0;

    font-size: 16px;
    font-weight: 700;

    line-height: 1.2;
}

.slot-content span {

    display: block;

    font-size: 14px;

    color: #666;

    margin-top: 4px;
}

.time-slot.active {

    background: #078700;
    color: #fff;
}

.time-slot.active .slot-content span {
    color: #fff;
}

.time-slot.active .slot-icon {
    background: #fff;
    color: #078700;
}

.slot-check {

    font-size: 22px;

    color: #fff;
}

.delivery-note {

    display: flex;
    align-items: flex-start;

    gap: 8px;

    margin-top: 18px;

    color: #1f56ff;

    font-size: 13px;

    line-height: 1.5;
}

.delivery-note i {
    margin-top: 2px;
}

/* =========================
   SCROLLBAR
========================= */

.drawer-body::-webkit-scrollbar {
    width: 6px;
}

.drawer-body::-webkit-scrollbar-thumb {
    background: #cfcfcf;
    border-radius: 10px;
}

/* =========================
   MOBILE
========================= */

@media(max-width:768px) {

    .plan-content h2 {
        font-size: 48px;
    }

    .plan-price h3 {
        font-size: 48px;
    }

    .drawer-body {
        padding: 18px 22px 120px;
    }

    .popular-tag {
        right: -22px;
    }
}

.save-text img {
    width: 20px;
    height: 20px;


}

.drawer-footer .save-now {
    font-weight: 600 !important;
    font-size: 14px !important;
    color: rgba(240, 124, 0, 1) !important;
    margin-bottom: 0px;
}

.drawer-body {

    position: relative;
}

.badge-plan {
    position: absolute;
    top: 0;
    right: 10;
}

/* ====================================
   SUCCESS SCREEN
==================================== */

.success-screen {

    inset: 0;

    background: #ffffff;

    z-index: 999999;

    display: flex;

    align-items: center;
    justify-content: center;
    height: 500px;
    overflow: hidden;
}

.success-screen.active {
    display: flex;
}

/* ====================================
   REPEATING GIF LAYER
==================================== */

.confetti-layer {

    position: absolute;
    inset: 0;

    background-image:
        url('../images/subscription/successs.gif');

    background-repeat: repeat;



    opacity: 1;

    pointer-events: none;
}

/* ====================================
   CENTER CONTENT
==================================== */

.success-center {

    position: relative;
    z-index: 2;

    text-align: center;

    width: 100%;
}

.success-center h2 {

    font-size: 24px;
    font-weight: 700;

    color: #222;

    margin-bottom: 8px;
}

.success-date {

    font-size: 16px;

    color: rgba(92, 92, 92, 1);
    font-weight: 500;
    margin-bottom: 4px;
}

.success-time {

    font-size: 16px;

    color: rgba(92, 92, 92, 1);
    font-weight: 500;
    margin-bottom: 18px;
}

.success-view-btn {

    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 170px;
    height: 42px;

    background: #0a8a12;

    color: #fff;

    border-radius: 4px;

    text-decoration: none;

    font-size: 16px;
    font-weight: 600;

    padding: 10 30px;

    transition: .3s ease;
}

.success-view-btn:hover {

    background: #06750d;

    color: #fff;
}

.subscription-dashboard {
    background: #fff;
}

/* SUMMARY CARD */

.subscription-summary-card {

    background: #FFEFE8;

    border-radius: 18px;

    padding: 24px 30px;

    overflow: hidden;

    cursor: pointer;

    position: relative;
}

.plan-header {

    display: flex;
    align-items: center;
    gap: 15px;
}

.plan-header h2 {

    margin: 0;

    font-size: 48px;

    font-weight: 700;
    white-space: nowrap;
    background: linear-gradient(180deg,
            #F28729 0%,
            #D12121 100%);

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    background-clip: text;

    display: inline-block;
}

.status-badge {

    background: #e8f8e5;
    border: 1px solid #26a326;
    color: #0C7B09;
    gap: 4px;
    display: flex;
    border-radius: 30px;
    padding: 4px 12px;
    font-size: 14px;
}

.status-badge i {
    margin-top: 4px;
}

.plan-date {

    margin-top: 5px;
    display: flex;
    gap: 6px;
    color: #444;
    font-weight: 500;
    font-size: 14px;
}

.delivery-label {

    color: #444;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    gap: 6px;
    align-items: center;
}

.delivery-time {

    font-size: 16px;

    font-weight: 600;
    margin-left: -4px;
    color: #202020;
}

.summary-visual {
    position: relative;
    display: inline-flex;
    align-items: flex-end;
    justify-content: flex-end;
    min-height: 210px;
}


.summary-salad {

    max-height: 210px;
    margin-bottom: -23px;
    position: relative;
    z-index: 1;
}

/* COMMON CARD */

.dashboard-card {

    background: #fff;

    border: 1px solid #ececec;

    border-radius: 18px;

    padding: 20px;
}

.dashboard-card .orange {

    font-size: 20px;

    font-weight: 700;
    background: linear-gradient(180deg,
            #F28729 0%,
            #D12121 100%);

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    background-clip: text;

    display: inline-block;
    margin-bottom: 20px;
}

.dashboard-card .card-title {

    font-size: 20px;

    font-weight: 700;
    color: #000;
    margin-bottom: 20px;
}

.orange {
    color: #f26522;
}

/* UPCOMING */

.upcoming-delivery {

    display: flex;

    gap: 15px;
}

.upcoming-delivery h5 {
    font-weight: 700;
    font-size: 16px;
    color: #202020;
}

.upcoming-delivery p {
    font-weight: 500;
    font-size: 14px;
    white-space: nowrap;
    margin-bottom: 5px;
    color: #333330;
}

.delivery-img {

    width: 90px;
    height: 90px;

    border-radius: 50%;

    object-fit: cover;
}

/* PLAN */

.info-row {

    display: flex;

    gap: 25px;

    margin-bottom: 18px;
}

.info-row .left-text {

    width: 90px;
    font-weight: 700;
    color: #000;
}

.plan-list {

    padding-left: 18px;
}

/* SALADS */

.salad-header {

    display: flex;

    justify-content: space-between;

    margin-bottom: 20px;
}

.salad-header h4 {

    font-size: 20px;
    color: #202020;
    font-weight: 700;
}

.salad-header a {

    text-decoration: none;

    background: linear-gradient(180deg,
            #F28729 0%,
            #D12121 100%);

    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;

    background-clip: text;

    display: inline-block;

    font-weight: 600;
}

.salad-item {

    position: relative;

    cursor: pointer;
}

.salad-item img {

    width: 100%;

    height: 90px;

    object-fit: cover;

    border-radius: 14px;
}


.salad-item h5 {
    white-space: nowrap;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 700;
}


.salad-item p {

    color: #666;
    font-size: 13px;
    font-weight: 500;
    margin: 0;
}

.subscription-summary-card hr {
    color: #451700a3;
}

.subscription-overlay {

    position: fixed;
    inset: 0;

    background: rgba(0, 0, 0, .35);

    opacity: 0;
    visibility: hidden;

    transition: .35s ease;

    z-index: 999998;
}

.subscription-overlay.active {

    opacity: 1;
    visibility: visible;
}

/* Drawer */

.subscription-detail-drawer {

    position: fixed;

    top: 0;
    right: -480px;

    width: 480px;
    height: 100vh;

    background: #fff;

    z-index: 999999;

    transition: .4s cubic-bezier(.22, 1, .36, 1);

    overflow-y: auto;
}

.subscription-detail-drawer.active {
    right: 0;
}

.drawer-inner {
    padding: 20px;
}

.drawer-top {
    margin-bottom: 20px;
}

.drawer-top a {

    text-decoration: none;

    color: #555;

    font-size: 18px;
}

.drawer-top i {
    margin-right: 8px;
}

/* Image */
.drawer-image-box {
    align-items: center;
    background: #fdf1eb;
    border-radius: 18px;
    padding: 20px;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 25px;
}

.drawer-image-box img {

    width: 280px;

    max-width: 100%;
}

.drawer-slider-dots {

    display: flex;
    justify-content: center;
    gap: 8px;

    margin-top: 12px;
}

.drawer-slider-dots span {

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: #cfe7c8;
}

.drawer-slider-dots span.active {
    background: #1a9c2c;
}

/* Info Card */

.drawer-info-card {

    border: 1px solid #ececec;

    border-radius: 16px;

    overflow: hidden;

    margin-bottom: 18px;
}


.drawer-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px;
    padding-bottom: 0px;
}

.drawer-info-row small {

    color: #666;

    display: block;

    font-size: 14px;

    font-weight: 600;
    margin-bottom: 6px;
}

.drawer-info-row h5 {

    margin: 0;

    font-size: 16px;

    font-weight: 700;
}

.veg-icon {

    width: 22px;
    height: 22px;

    border: 2px solid green;

    border-radius: 4px;

    position: relative;
}

.veg-icon::after {

    content: "";

    position: absolute;

    width: 10px;
    height: 10px;

    border-radius: 50%;

    background: green;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);
}

.drawer-info-row-time {
    padding: 18px;
    padding-top: 0px;
}

.drawer-info-row-time small {

    color: #666;

    display: block;

    margin-bottom: 8px;
}

.drawer-info-row-time h6 {

    margin: 0;

    font-size: 16px;

    font-weight: 700;
}

/* Accordion */

.drawer-accordion {

    border: 1px solid #ececec;

    border-radius: 14px;

    overflow: hidden;
}



.drawer-accordion-btn {
    width: 100%;
    background: #fff;
    border: none;
    padding: 15px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 16px;
    font-weight: 600;
}

.drawer-accordion {
    border: 1px solid #e8e8e8;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
}

.drawer-accordion-content {

    max-height: 0;
    overflow: hidden;

    transition: max-height .4s ease;
}

.drawer-accordion.active .drawer-accordion-content {
    max-height: 1000px;
}

/* Inner */

.inner-accordion {

    margin: 14px;

    border: 1px solid #ececec;

    border-radius: 12px;

    overflow: hidden;

    background: #fafafa;
}

.inner-accordion-btn {

    width: 100%;

    border: none;

    background: #fafafa;

    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: 16px;

    font-size: 17px;
    font-weight: 600;

    cursor: pointer;
}

.inner-accordion-content {

    max-height: 0;

    overflow: hidden;

    transition: max-height .35s ease;

    background: #fff;
}

.inner-accordion.active .inner-accordion-content {
    max-height: 400px;
}

/* List */

.salad-list {

    margin: 0;
    padding: 15px 20px 15px 35px;
}

.salad-list li {

    margin-bottom: 12px;

    color: #555;

    font-size: 16px;

    line-height: 1.6;

    list-style: disc;
}

/* Arrow Rotate */

.drawer-accordion-btn i,
.inner-accordion-btn i {
    transition: .3s;
}

.drawer-accordion.active .drawer-accordion-btn i {
    transform: rotate(180deg);
}

.inner-accordion.active .inner-accordion-btn i {
    transform: rotate(180deg);
}

.pause-plan-btn {

    width: 100%;
    height: 58px;

    border: none;
    outline: none;
    margin-bottom: 10px;
    border-radius: 12px;

    background: linear-gradient(180deg,
            #F28729 0%,
            #D12121 100%);

    color: #fff;

    font-size: 18px;
    font-weight: 700;

    cursor: pointer;

    transition: all .3s ease;

    box-shadow:
        0 4px 12px rgba(210, 33, 33, .20);
}



.pause-plan-btn:active {

    transform: translateY(0);
}

.my-salad-section {
    padding-bottom: 40px;
}




/* Header */

.salad-top-row {

    display: flex;

    justify-content: space-between;

    align-items: center;

    margin-bottom: 20px;
    margin-top: 20px;
}

.month-title {

    font-size: 18px;

    font-weight: 700;

    margin: 0;
}

.total-count {

    color: #666;

    font-size: 14px;
}

/* Card */

.salad-card {
    position: relative;
}

.salad-image-wrap {
    position: relative;
}

.pause-tag {

    position: absolute;

    top: 10px;
    right: 10px;

    z-index: 10;

    background: #fff4e8;

    color: #f28729;

    border: 1px solid #f28729;

    border-radius: 20px;

    padding: 3px 10px;

    font-size: 11px;

    font-weight: 600;
}

.salad-image-wrap img {

    width: 100%;

    height: 155px;

    object-fit: cover;

    border-radius: 12px;
}

/* Pause Tag */

.salad-card h6 {

    margin-top: 12px;

    margin-bottom: 6px;

    font-size: 13px;

    font-weight: 700;
    white-space: nowrap;
    display: flex;

    align-items: center;

    gap: 6px;
}

.salad-card p {

    margin: 0;

    font-size: 14px;

    color: #666;
}

/* Veg Dot */

.veg-dot {

    width: 14px;
    height: 14px;

    border: 1.5px solid #11b511;

    border-radius: 2px;

    display: inline-block;

    position: relative;
}

.veg-dot::after {

    content: "";

    width: 6px;
    height: 6px;

    background: #11b511;

    border-radius: 50%;

    position: absolute;

    top: 50%;
    left: 50%;

    transform: translate(-50%, -50%);
}

/* Responsive */

@media(max-width:767px) {



    .salad-tabs {
        overflow-x: auto;
    }
}

.salad-tabs {
    display: flex;
    gap: 10px;
}

.salad-tab {

    min-width: 120px;
    height: 42px;

    border: 1px solid #e5e5e5;

    background: #fff;

    border-radius: 8px;

    color: #666;

    font-size: 14px;
    font-weight: 500;

    cursor: pointer;

    transition: .3s ease;
}

.salad-tab-content {
    display: none;
}

.salad-tab-content.active {
    display: block;
}

.salad-tab.active {
    background: linear-gradient(180deg,
            #F28729 0%,
            #D12121 100%);
    color: #fff;
    border: none;
}

.delivered-tag {

    position: absolute;
    top: 10px;
    right: 10px;

    background: #e9f8ea;
    color: #139b27;

    border: 1px solid #139b27;

    padding: 3px 10px;

    border-radius: 30px;

    font-size: 11px;
    font-weight: 600;
}

.paused-tag {

    position: absolute;
    top: 10px;
    right: 10px;

    background: #fff3e8;
    color: #f28729;

    border: 1px solid #f28729;

    padding: 3px 10px;

    border-radius: 30px;

    font-size: 11px;
    font-weight: 600;
}




/* .... */
/* =========================
   OVERLAY
========================= */

.subscription-overlay,
.custom-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 99999;
}

.subscription-overlay.active,
.custom-modal-overlay.active {
    display: flex;
}

.custom-modal h5 {
    font-weight: 600;
}

.custom-modal label {
    font-weight: 600;
}

/* =========================
   DRAWER
========================= */

.subscription-detail-drawer {
    position: fixed;
    top: 0;
    right: -450px;
    width: 430px;
    height: 100vh;
    background: #fff;
    z-index: 100000;
    overflow-y: auto;
    transition: .4s cubic-bezier(.22, 1, .36, 1);
    box-shadow: -10px 0 30px rgba(0, 0, 0, .12);
}

.subscription-detail-drawer.active {
    right: 0;
}

.drawer-inner {
    padding: 24px;
}

.drawer-top {
    margin-bottom: 20px;
}

.drawer-top a {
    text-decoration: none;
    color: #555;
    font-size: 16px;
    font-weight: 500;
}

.drawer-top i {
    margin-right: 8px;
}

/* =========================
   IMAGE BOX
========================= */

.drawer-image-box {
    background: #f8eee7;
    border-radius: 18px;
    margin-bottom: 0px;
    text-align: center;
    position: relative;
}

.drawer-image-box img {
    width: 100%;
    max-width: 230px;
    display: block;
    margin: auto;
}

.upcoming-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    background: #2f80ed;
    color: #fff;
    font-size: 12px;
    padding: 5px 12px;
    border-radius: 30px;
    font-weight: 600;
}



.delivered-badge {
    background: #139b27;
    color: #ffffff;
    border: 1px solid #139b27;
}

.paused-badge {
    background: #F07C00;
    color: #FFFFFF;
    border: 1px solid #f28729;
}

.drawer-slider-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 15px;
}

.drawer-slider-dots span {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d5e8cf;
}

.drawer-slider-dots span.active {
    background: #27ae60;
}

/* =========================
   PAUSE BUTTON
========================= */

.pause-plan-btn {
    width: 100%;
    height: 60px;
    border: none;
    border-radius: 14px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    margin: 25px 0;
    background: linear-gradient(180deg,
            #F28729 0%,
            #D12121 100%);
    cursor: pointer;
}

/* =========================
   INFO CARD
========================= */

.salad-info-card {
    border: 1px solid #ececec;
    border-radius: 14px;
    overflow: hidden;
    margin-top: 10px;
    background: #fff;
}

.salad-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 10px;
}

.salad-row small {
    display: block;
    color: #666;
    font-size: 14px;
    margin-bottom: 6px;
}

.salad-row h6 {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    color: #222;
}

.salad-info-card hr {
    margin: 0;
}

/* =========================
   VEG ICON
========================= */

.veg-icon {
    width: 18px;
    height: 18px;
    border: 2px solid #1aa31a;
    border-radius: 3px;
    position: relative;
}

.veg-icon:after {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #1aa31a;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* =========================
   MAIN ACCORDION
========================= */

.drawer-main-accordion {
    margin-top: 20px;
    border: 1px solid #ececec;
    border-radius: 12px;
    overflow: hidden;
}

.drawer-main-btn {
    width: 100%;
    border: none;
    background: #fff;
    padding: 10px;
    font-size: 17px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.drawer-main-content {
    display: none;
    padding: 15px;
}

.drawer-main-accordion.active .drawer-main-content {
    display: block;
}

/* =========================
   INNER ACCORDION
========================= */

.drawer-inner-accordion {
    border: 1px solid #ececec;
    border-radius: 12px;
    margin-bottom: 15px;
    overflow: hidden;
}

.drawer-inner-btn {
    width: 100%;
    border: none;
    background: #fafafa;
    padding: 15px 18px;
    font-weight: 600;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.drawer-inner-content {
    display: none;
    padding: 15px 20px;
}

.drawer-inner-content ul {
    margin: 0;
    padding-left: 18px;
}

.drawer-inner-content li {
    margin-bottom: 10px;
    color: #555;
}

.drawer-inner-accordion.active .drawer-inner-content {
    display: block;
}

/* =========================
   MODALS
========================= */

.custom-modal,
.confirm-modal,
.success-modal {
    width: 600px;
    max-width: 95%;
    background: #fff;
    border-radius: 24px;
    padding: 30px;
    box-shadow: 0 15px 50px rgba(0, 0, 0, .18);
}

/* =========================
   PAUSE MODAL
========================= */

.modal-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
}

.modal-header-row h4 {
    margin: 0;
    font-size: 28px;
    font-weight: 700;
}

.modal-header-row span {
    color: #666;
}

.modal-header-row strong {
    color: #f28729;
}

.modal-subtitle {
    color: #777;
    margin-bottom: 20px;
}

.pause-info-box {
    background: #f3f6ff;
    color: #3558ff;
    border-radius: 10px;
    padding: 12px 15px;
    margin-top: 20px;
    font-size: 14px;
}

/* =========================
   BUTTONS
========================= */



.cancel-btn,
.pause-btn-confirm {
    flex: 1;
    height: 50px;
    min-height: 48px;
    padding: 0 24px;
    border-radius: 12px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: 0.2px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease,
        box-shadow 0.2s ease, transform 0.15s ease;
    -webkit-tap-highlight-color: transparent;
}

.cancel-btn {
    border: 1.5px solid #f28729;
    background: #f4ebe7;
    color: #f28729;
}

.cancel-btn:hover {
    background: #f9ded0;
    border-color: #d96f14;
    color: #d96f14;
}

.cancel-btn:active {
    background: #f2d2bd;
    transform: scale(0.97);
}

.cancel-btn:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(242, 135, 41, 0.3);
}

.pause-btn-confirm {
    border: none;
    color: #fff;
    background: linear-gradient(135deg, #f28729 0%, #d12121 100%);
    box-shadow: 0 6px 16px rgba(209, 33, 33, 0.28), 0 2px 4px rgba(242, 135, 41, 0.2);
}

.pause-btn-confirm:hover {
    background: linear-gradient(135deg, #ff9a3d 0%, #e02727 100%);
    box-shadow: 0 10px 22px rgba(209, 33, 33, 0.35), 0 4px 10px rgba(242, 135, 41, 0.25);
    transform: translateY(-2px);
}

.pause-btn-confirm:active {
    background: linear-gradient(135deg, #e07820 0%, #b91b1b 100%);
    box-shadow: 0 4px 10px rgba(209, 33, 33, 0.3);
    transform: translateY(0) scale(0.97);
}

.pause-btn-confirm:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(209, 33, 33, 0.35), 0 6px 16px rgba(209, 33, 33, 0.28);
}

.cancel-btn:disabled,
.pause-btn-confirm:disabled {
    opacity: 0.65;
    cursor: not-allowed;
    transform: none;
}

@media (max-width: 575.98px) {

    .cancel-btn,
    .pause-btn-confirm {
        height: 48px;
        padding: 0 18px;
        font-size: 14px;
    }
}

/* =========================
   CONFIRM MODAL
========================= */

.confirm-modal h4 {
    font-size: 32px;
    margin-bottom: 15px;
}

.confirm-modal p {
    color: #666;
    font-size: 18px;
    line-height: 1.7;
}

/* =========================
   SUCCESS MODAL
========================= */

.success-modal {
    text-align: center;
}

.success-modal .success-gif {
    width: 96px;
    height: 96px;
    object-fit: contain;
    display: block;
    margin: 0 auto 12px;
}

.success-modal h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 20px;
    color: #222;
}

.success-modal p {
    color: #666;
    font-size: 20px;

}

/* =========================
   MOBILE
========================= */

@media(max-width:768px) {


    .custom-modal,
    .confirm-modal,
    .success-modal {
        width: 92%;
        padding: 22px;
    }

    .modal-header-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }


}

.delivery-card-wrap {
    background: #fff;


}

.image-card {
    border: 1px solid #e5e5e5;
    border-radius: 14px;
    padding: 20px;
    background: #fff;
}

.delivery-main-img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.delivery-content {
    padding: 20px;
}

.delivery-status {
    background: #e7f8eb;
    color: #16a34a;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}

.pause-card-box {
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    overflow: hidden;
}

.pause-card-img {
    width: 100%;
    height: 220px;
    object-fit: cover;
}

.pause-card-content {
    padding: 18px;
}

.pause-status {
    background: #fff3e7;
    color: #f97316;
    padding: 6px 12px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 600;
}

.salad-image-wrap svg {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;


}

.paused-plan-banner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;

    background: #fff;
    border: 1px solid #F7D8C7;
    border-radius: 14px;

    padding: 18px 20px;
    margin-bottom: 25px;

    position: relative;
    overflow: hidden;
}

.paused-plan-banner::after {
    content: "";
    position: absolute;
    right: 80px;
    top: 50%;
    transform: translateY(-50%);
    width: 320px;
    height: 160px;
    background: url('../images/my-subscription/salad-bg.png') center/contain no-repeat;
    opacity: .08;
    pointer-events: none;
}

.paused-banner-content {
    flex: 1;
    position: relative;
    z-index: 2;
}

.paused-banner-content h3 {
    font-size: 24px;
    font-weight: 700;
    color: #F26722;
    margin-bottom: 10px;
}

.paused-banner-content p {
    font-size: 14px;
    color: #555;
    line-height: 1.7;
    max-width: 420px;
    margin-bottom: 14px;
}

.resume-plan-btn {
    background: linear-gradient(180deg,
            #FF962A 0%,
            #F25A22 100%);

    border: none;
    border-radius: 6px;

    color: #fff;
    font-size: 12px;
    font-weight: 600;

    padding: 8px 16px;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    cursor: pointer;
}

.paused-banner-image {
    position: relative;
    z-index: 2;
}

.paused-banner-image img {
    width: 220px;
    margin-right: 90px;
    max-width: 100%;
}

/* Mobile */

@media(max-width:768px) {

    .paused-plan-banner {
        flex-direction: column;
        text-align: center;
    }



    .paused-banner-image img {
        width: 160px;
    }

}

.salad-tab.salad-active {
    background: linear-gradient(180deg, #ff962a 0%, #f25a22 100%);
    color: #fff;
}

.empty-delivered-state {
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.empty-delivered-inner {
    max-width: 280px;
}

.empty-delivered-inner img {
    width: 90px;
    display: block;
    margin: 0 auto 18px;
    opacity: .85;
}

.empty-delivered-inner h4 {
    font-size: 24px;
    font-weight: 700;
    color: #222;
    margin-bottom: 8px;
}

.empty-delivered-inner p {
    font-size: 15px;
    line-height: 1.6;
    color: #7a7a7a;
    margin: 0;
}

.salads-self {
    font-size: 14px;
}

.salad-self ul li {
    font-size: 14px;
}

.self-upcoming {

    border: 1px solid #e9e9e9;
    border-radius: 16px;
    padding: 20px;
    background: #fff;

}

.paused-banner-image {
    position: relative;
    width: 320px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.paused-banner-image::before {
    content: "";
    position: absolute;
    width: 382px;
    height: 220px;
    background: url(../images/my-subscription/Group1.png) center center no-repeat;
    background-size: contain;
    opacity: 0.08;
    z-index: 1;
    right: -17px;
    top: 71%;
    transform: translateY(-50%);
}

.main-bowl-img {
    position: relative;
    z-index: 2;
    width: 240px;
}

/* Responsive  */

@media screen and (min-width:1300px) {}

@media screen and (max-width:768px) {
    .subscription-hero::before {
        top: 466px !important;
        right: -13px;

    }

    .natural-badge {
        bottom: -119px;
        right: -1px;
    }

    .hero-image {
        width: 250px;
        top: 99px;
        left: 74px;
    }

    .benefit-heading {
        font-size: 30px;
    }

    .benefit-subtitle {
        font-size: 14px;
    }

    .animated-percent {
        font-size: 30px;
    }

    .natural-badge h4 {
        font-size: 18px;
    }

    .blur-img-3 {
        bottom: -79px;
        right: 242px;
        width: 76px;
    }

    .blur-img-4 {
        bottom: -79px;
        right: 103px;
        width: 85px;

}
.blur-img-1{
    bottom: -6px;
    left: 312px;
    width: 40px;
}
.hero-content h1 {
    font-size: 43px;
}
.hero-content p {
    font-size: 15px;
}
.subscription-section {
    margin-top: 40px;
}
.subscription-hero .hero-btn {
    width: 206px;
    padding: 7px;
    font-size: 18px;
  
}
.saalad-plan .title-container .section-title {
    font-size: 30px;
}
.saalad-plan p {
    margin-top: 10px;
    font-size: 14px;
}
.custom-faq-header h4 {

    font-size: 16px;
}

.saalad-plan .title-container .section-title {
     font-size: 24px !important;
}
.title-container .section-title {
    font-size: 30px !important;
}
.plan-header h2 {

    font-size: 28px;
}
.subscription-summary-card {
 
    padding: 14px 20px;
}
.upcoming-delivery p {
  
    font-size: 13px;
}
.upcoming-delivery h5 {

    font-size: 14px;
}
.d-salad {
 gap: 20px;
    flex-direction: column;
}
.heading-salad{
    margin-right: 200px;
}
.salad-top-row{
    margin-bottom: 30px;
}
.paused-banner-content h3 {
    font-size: 21px;
    text-align: left;
  
}
 .paused-banner-content p{
        max-width:100%;
                text-align: left;
    }

    .blur-img-1 {
        bottom: -6px;
        left: 312px;
        width: 40px;
    }

    .hero-content h1 {
        font-size: 43px;
    }

    .hero-content p {
        font-size: 15px;
    }

    .subscription-section {
        margin-top: 40px;
    }

    .subscription-hero .hero-btn {
        width: 206px;
        padding: 7px;
        font-size: 18px;

    }

    .saalad-plan .title-container .section-title {
        font-size: 28px;
        line-height: 35px;
    }

    .saalad-plan p {
        font-size: 14px;
    }

    .custom-faq-header h4 {

        font-size: 16px;
    }

    .saalad-plan .title-container .section-title {
        font-size: 30px !important;
    }

    .title-container .section-title {
        font-size: 30px !important;
    }

    .plan-header h2 {

        font-size: 28px;
    }

    .subscription-summary-card {

        padding: 14px 20px;
    }

    .upcoming-delivery p {

        font-size: 13px;
    }

    .upcoming-delivery h5 {

        font-size: 14px;
    }

    .d-salad {
        gap: 20px;
        flex-direction: column;
    }

    .heading-salad {
        margin-right: 200px;
    }

    .salad-top-row {
        margin-bottom: 30px;
    }

    .paused-banner-content h3 {
        font-size: 21px;
        text-align: left;

    }

    .paused-banner-content p {
        max-width: 100%;
        text-align: left;
    }

    .resume-plan-btn {
        margin-right: 180px;
    }

    .paused-banner-image {
        margin-left: 60px;
    }

    .subscription-detail-drawer {
        width: 80%;
    }

    .confirm-modal p {

        font-size: 14px;

    }

    .confirm-modal h4 {
        font-size: 26px;
    }

    .success-modal h3 {
        font-size: 20px;
    }

    .success-modal p {

        font-size: 16px;
    }

    .custom-drawer {
        width: 80%;

    }

    .plan-drawer .plan-content h2 {
        font-size: 30px !important;

        margin-bottom: 15px;

    }

    .plan-price1 {
        font-size: 23px !important;
    }

    .plan-content p {
        font-size: 15px;
    }

    .plan-list {

        font-size: 14px;

        margin-bottom: 14px;
    }

    .subscribe-btn {

        height: 42px;
        font-size: 16px;
    }

    .address-flow .modal-footer-btns {
        padding: 12px 16px;
        display: flex;

        gap: 10px;
    }

    .cart-controls {
        flex-direction: column;
    }

    .freq-title-sec h3 {
        font-size: 18px;
    }

    .address-flow .modal-footer-btns {
        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .coupon-section .coupon-inner {

        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
    }

    .coupon-bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .promo-image-3 {
        background-size: contain !important;
    }

    .contact-page .btn-orange {

        margin-top: 0px;
    }

    .contact-page .form-card {
        padding: 14px !important;
    }

    .contact-page-banner {
        background: url(../images/img/contact-cta.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover !important;
        padding: 56px 0 52px;
        height: 166px !important;
        margin-top: 120px;
        position: relative;
        overflow: hidden;
    }

    .contact-page-banner p {
        font-size: 13px !important;
        font-weight: 500;
        line-height: 20px !important;
        width: 190;
        max-width: 600px;
    }

    .contact-page-banner h1 {
        font-size: 21px !important;
        font-weight: 900;
        line-height: 40px !important;
        color: #fff;
        margin-top: 15px;
        position: relative;
        z-index: 1;
        color: #febb07;
    }

    .contact-page .add-card {
        padding-bottom: 0px;
        height: 135px !important;
    }

}

@media (max-width:992px) {
    .subscription-hero::before {
        top: 466px !important;
        right: -13px;

    }

    .contact-page-banner {
        background: url(../images/img/contact-cta.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover !important;
        padding: 56px 0 52px;
        height: 166px;
        margin-top: 120px;
        position: relative;
        overflow: hidden;
    }

    .contact-page-banner {
        background: url(../images/img/contact-cta.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover !important;
        height: 166px;
        margin-top: 75px !important;
        padding: 40px 0 6px !important;
        position: relative;
        overflow: hidden;
    }

    .contact-page-banner p {
        font-size: 13px;
        font-weight: 500;
        line-height: 20px;
        max-width: 600px;
    }

    .contact-page-banner h1 {
        font-size: 21px !important;
        font-weight: 900;
        line-height: 40px;
        color: #fff;
        margin-top: 15px;
        position: relative;
        z-index: 1;
        color: #febb07;
    }

    .contact-page .add-card {
        padding-bottom: 0px !important;
        height: 135px !important;
    }

}

#cartEmpty {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

@media screen and (max-width:480px) {
    .hero-content h1 {
        font-size: 40px;
    }

    .saalad-plan .price {
        font-size: 45px !important;
    }

    .address-flow .modal-footer-btns {

        display: flex;
        flex-direction: column;
        gap: 10px;

    }

    .address-flow .modal-bottom {

        margin: -73px 15px !important;
    }

    .contact-page-banner {
        background: url(../images/img/contact-cta.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover !important;
        height: 166px;
        margin-top: 75px !important;
        padding: 40px 0 6px !important;
        position: relative;
        overflow: hidden;
    }

    .contact-page-banner p {
        font-size: 13px;
        font-weight: 500;
        line-height: 20px;
        max-width: 600px;
    }

    .contact-page-banner h1 {
        font-size: 21px !important;
        font-weight: 900;
        line-height: 40px;
        color: #fff;
        margin-top: 15px;
        position: relative;
        z-index: 1;
        color: #febb07;
    }

    .about-banner-title {
        font-size: 60px !important;
        max-width: 262px;
    }

    .footer-com-sec {
        flex-direction: column;
        justify-content: left;
    }

    .footer-bottom p {
        font-size: 10px !important;
        white-space: nowrap;
        text-align: center;
    }
      .contact-page .btn-orange {
    width: 116px !important;
    }
      .about-cta-sec .about-cta-image img {
        margin-bottom: 96px;
        margin-left: 130px;
        /* width: 224px !important; */
        display: block;
    }
    .about-cta-sec .about-cta-wrapper {
        height: 600px ;
}
.swiper-slide {
    margin-right: 35px !important;
}
.mobile-delivery-loc i {
    font-size: 11px ;
    
    
}
.mobile-delivery-loc span {
    font-size: 15px ;
   
}
.mobile-delivery-loc{
    padding:7px;
}
  .home-banner .title{
                margin-top: 54px !important ;
                font-size: 26px !important;
    }
         .slider-nav {
        top: -82px !important;
        right: 6px!important;
    }
}
 


@media (max-width: 320px) {
        .slider-nav {
        top: -82px !important;
        right: 6px!important;
    }
    .home-banner .title{
                margin-top: 46px;
                font-size: 22px !important;
    }
        .title-container .section-title {
        font-size: 21px !important;
        font-weight: 700 !important;
    }
    .title-container p{
   display: none !important;
    }
    .btn-orange{
        padding-left: 56px !important;
    padding-right: 56px !important;
font-weight: 600 !important;
    }
    .btn-orange-outline{
        font-weight: 600 !important;
    }
    .loc-text span{
        font-size: 11px !important;
    }
.mobile-delivery-loc  {
    font-size: 11px;
    color: rgba(255, 255, 255, 0.92);
    flex-shrink: 0;
    padding: 2px;
}
.mobile-delivery-loc span{
    font-size:11px;
}
.product-section .product-card .prod-name,
.frequent-sec .product-card .prod-name {
    font-size: 14px;
}

.explore-our-products .title-container .section-title {
    font-size: 18px !important;
}
       .subscription-hero::before {
        top: 433px !important;
       }
    .hero-image {
        width: 202px;}
    .hero-content h1 {
        font-size: 33px;
    }
        .hero-content p {
        font-size: 13px;
    }
    .blur-img-1 {
        left: 242px;
    }
    .blur-img-3{
                right: 203px;
    }
        .animated-percent {
        font-size: 15px;
    }
        .natural-badge h4 {
        font-size: 11px;
    }
    .address-flow .modal-bottom {
  
    margin: -72px 15px !important;
}
.contact-page-banner h1 {
 font-size: 18px !important;
}
.address-flow .modal-footer-btns {
 
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.qty-label-group{
    flex-direction: column;
}
.contact-page-banner {
    background: url(../images/img/contact-cta.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover !important;
    height: 166px;
            margin-top: 75px !important;
        padding: 40px 0 6px !important;
    position: relative;
    overflow: hidden;
}
.contact-page-banner p {
    font-size: 13px;
    font-weight: 500;
    line-height: 20px;
    max-width: 600px;
}
.contact-page-banner p {
 font-size: 18px;
}
.my-cart-page .tip-tab {
 
    padding: 7px 27px;
}
.note-text {
    font-size: 11px;
}
.contact-page-banner h1 {
          font-size: 16px !important;
    font-weight: 900;
    line-height: 40px;
    color: #fff;
    margin-top: 15px;
    position: relative;
    z-index: 1;
    color: #febb07;
}
    .footer-com-sec{
        flex-direction: column;
        justify-content: left;
    }
    .footer-com-sec p{
        text-align: center;
       
    }
        .about-banner-title {
        font-size: 60px !important;
        max-width: 262px;
        }
            .sco_agency{
        
            top: -17px !important;
    

    }
    .contact-page .btn-orange {
        width: 116px !important;
    }

    .about-cta-sec .about-cta-image img {
        margin-bottom: 96px;
        margin-left: 130px;
        /* width: 224px !important; */
        display: block;
    }

    .about-cta-sec .about-cta-wrapper {
        height: 600px;
    }

    .swiper-slide {
        margin-right: 35px !important;
    }
}



@media (max-width: 320px) {
    .subscription-hero::before {
        top: 433px !important;
    }

    .hero-image {
        width: 202px;
    }

    .hero-content h1 {
        font-size: 33px;
    }

    .hero-content p {
        font-size: 13px;
    }

    .blur-img-1 {
        left: 242px;
    }

    .blur-img-3 {
        right: 203px;
    }

    .animated-percent {
        font-size: 15px;
    }

    .natural-badge h4 {
        font-size: 11px;
    }

    .address-flow .modal-bottom {

        margin: -72px 15px !important;
    }

    .contact-page-banner h1 {
        font-size: 18px !important;
    }

    .address-flow .modal-footer-btns {

        display: flex;
        flex-direction: column;
        gap: 10px;
    }

    .qty-label-group {
        flex-direction: column;
    }

    .contact-page-banner {
        background: url(../images/img/contact-cta.png);
        background-repeat: no-repeat;
        background-position: center;
        background-size: cover !important;
        height: 166px;
        margin-top: 75px !important;
        padding: 40px 0 6px !important;
        position: relative;
        overflow: hidden;
    }

    .contact-page-banner p {
        font-size: 13px;
        font-weight: 500;
        line-height: 20px;
        max-width: 600px;
    }

    .contact-page-banner p {
        font-size: 18px;
    }

    .contact-page-banner h1 {
        font-size: 16px !important;
        font-weight: 900;
        line-height: 40px;
        color: #fff;
        margin-top: 15px;
        position: relative;
        z-index: 1;
        color: #febb07;
    }

    .footer-com-sec {
        flex-direction: column;
        justify-content: left;
    }

    .footer-com-sec p {
        text-align: center;

    }

    .about-banner-title {
        font-size: 60px !important;
        max-width: 262px;
    }

    .contact-page .btn-orange {
        width: 116px !important;
    }

    .contact-page .form-card h2 {
        font-size: 20px !important;
    }

    .about-cta-sec .about-cta-image img {
        margin-bottom: 96px;
        margin-left: 130px;
        /* width: 224px !important; */
        display: block;
    }

    .about-cta-sec .about-cta-wrapper {
        height: 600px;
    }

    .swiper-slide {
        margin-right: 35px !important;
    }

}

/* Make modal scrollable */
.sched-modal {
    max-height: 90vh;
    overflow-y: auto;
}

/* Optional: nice scrollbar */
.sched-modal::-webkit-scrollbar {
    width: 6px;
}

.horizontal-tab-strip {
    margin-top: 140px !important;
}

.sched-modal::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 10px;
}

/* Mobile */
@media (max-width: 768px) {
    .sched-modal {
        max-height: 95vh;
        overflow-y: auto;
    }
}

.create-m {
    max-height: 100% !important;
}

/* ── Header search suggestions ─────────────────────────────────────── */
.hdr-search-suggest {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
    z-index: 1060;
    max-height: 420px;
    overflow-y: auto;
    padding: 6px 0;
}

.hdr-search-suggest .ss-item {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    color: #222;
    text-decoration: none;
    font-size: 13px;
}

.hdr-search-suggest .ss-item:hover {
    background: #f2f9f3;
}

.hdr-search-suggest .ss-item img {
    width: 36px;
    height: 36px;
    border-radius: 8px;
    object-fit: cover;
    background: #f3f5f7;
    flex-shrink: 0;
}

.hdr-search-suggest .ss-item .ss-price {
    margin-left: auto;
    font-weight: 700;
    color: #0c7b09;
    white-space: nowrap;
}

.hdr-search-suggest .ss-term {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    color: #444;
    text-decoration: none;
    font-size: 13px;
}

.hdr-search-suggest .ss-term:hover {
    background: #f2f9f3;
}

.hdr-search-suggest .ss-footer {
    display: block;
    text-align: center;
    padding: 9px 14px 7px;
    border-top: 1px solid #f0f0f0;
    color: #0c7b09;
    font-weight: 700;
    font-size: 13px;
    text-decoration: none;
}

.hdr-search-suggest .ss-empty {
    padding: 12px 14px;
    color: #888;
    font-size: 13px;
    text-align: center;
}

/* ── Voice search mic ──────────────────────────────────────────────── */
.hdr-mic-btn {
    cursor: pointer;
}

.hdr-mic-btn.listening img {
    animation: hdr-mic-pulse 1s ease-in-out infinite;
}

@keyframes hdr-mic-pulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.35);
        opacity: 0.55;
    }
}

/* ═══════════════════════════════════════════════════════════════════════
   MOBILE RESPONSIVE IMPROVEMENTS — industry-standard, 991 → 320 px
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Images never overflow their containers ── */
img {
    max-width: 100%;
    height: auto;
}

/* ── Section horizontal padding (.space-x: default 60px) ── */
@media (max-width: 991px) {
    .space-x {
        padding-left: 30px !important;
        padding-right: 30px !important;
    }
}

@media (max-width: 767px) {
    .space-x {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 575px) {
    .space-x {
        padding-left: 14px !important;
        padding-right: 14px !important;
    }
}

@media (max-width: 375px) {
    .space-x {
        padding-left: 10px !important;
        padding-right: 10px !important;
    }
}

@media (max-width: 320px) {
    .space-x {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
}

/* ── Banner outer padding (default: 60px 50px) ── */
/* At ≤767px style2.css has a more specific rule (.home-section-spacing main > .home-dynamic-hero)
   that sets padding: 40px 15px. We need an even more specific selector to override it. */
@media (max-width: 991px) {
    .home-banner {
        padding: 30px 30px !important;
    }
}

@media (max-width: 767px) {

    .home-section-spacing main>.home-banner.home-dynamic-hero,
    .home-banner {
        padding: 20px 15px !important;
    }
}

@media (max-width: 575px) {

    .home-section-spacing main>.home-banner.home-dynamic-hero,
    .home-banner {
        padding: 16px 14px !important;
    }
}

@media (max-width: 375px) {

    .home-section-spacing main>.home-banner.home-dynamic-hero,
    .home-banner {
        padding: 14px 10px !important;
    }
}

@media (max-width: 320px) {

    .home-section-spacing main>.home-banner.home-dynamic-hero,
    .home-banner {
        padding: 12px 8px !important;
    }
}

/* ── Banner: keep text + image side-by-side on tablets ── */
@media (min-width: 576px) and (max-width: 991px) {
    .home-banner .col-lg-7 {
        width: 56% !important;
        flex: 0 0 56%;
        max-width: 56%;
    }

    .home-banner .col-lg-5 {
        width: 44% !important;
        flex: 0 0 44%;
        max-width: 44%;
    }

    .home-banner .img-container img {
        width: 100%;
    }
}

/* ── Banner: stacked layout on small phones, image scaled down ── */
@media (max-width: 575px) {
    .home-banner .col-lg-7 {
        margin-bottom: 8px;
    }

    .home-banner .img-container {
        margin-top: 20px;
        text-align: center;
    }

    .home-banner .img-container img {
        max-width: 220px;
        margin: 0 auto;
        display: block;
    }

    .home-banner .btn-list {
        flex-wrap: wrap;
        gap: 10px;
    }

    .home-banner .btn-list .btn {
        margin-left: 0 !important;
    }

    .home-banner p {
        max-width: 100% !important;
    }
}

@media (max-width: 375px) {
    .home-banner .img-container img {
        max-width: 190px;
    }
}

@media (max-width: 320px) {
    .home-banner .img-container img {
        max-width: 160px;
    }
}

/* ── Banner hero title ── */
@media (max-width: 991px) {
    .home-banner .title {
        font-size: 46px !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 767px) {
    .home-banner .title {
        font-size: 42px !important;
    }

    .home-banner p {
        font-size: 15px !important;
    }
}

@media (max-width: 575px) {
    .home-banner .title {
        font-size: 36px !important;
    }

    .home-banner p {
        font-size: 14px !important;
    }
}

@media (max-width: 425px) {
    .home-banner .title {
        font-size: 32px !important;
    }

    .home-banner p {
        font-size: 14px !important;
    }
}

@media (max-width: 375px) {
    .home-banner .title {
        font-size: 30px !important;
    }

    .home-banner p {
        font-size: 13px !important;
    }
}

@media (max-width: 320px) {
    .home-banner .title {
        font-size: 28px !important;
    }
}

/* ── Banner CTA buttons — proportional to title ── */
@media (max-width: 991px) {

    .home-banner .btn-orange,
    .home-banner .btn-orange-outline {
        width: auto !important;
        height: auto !important;
        padding: 10px 28px !important;
        font-size: 15px !important;
    }
}

@media (max-width: 575px) {

    /* .home-banner .btn-list {
        justify-content: center !important;
    } */

    .home-banner .btn-orange,
    .home-banner .btn-orange-outline {
        padding: 9px 22px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 375px) {

    .home-banner .btn-orange,
    .home-banner .btn-orange-outline {
        padding: 8px 18px !important;
        font-size: 13px !important;
    }
}

/* ── Global CTA buttons — auto-size + smaller on mobile ── */
@media (max-width: 767px) {

    .btn-orange,
    .btn-orange-outline {
        width: auto !important;
        height: auto !important;
    }
}

@media (max-width: 575px) {

    .btn-orange,
    .btn-orange-outline {
        padding: 8px 20px !important;
        font-size: 14px !important;
    }
}

@media (max-width: 375px) {

    .btn-orange,
    .btn-orange-outline {
        padding: 7px 16px !important;
        font-size: 13px !important;
    }
}

@media (max-width: 320px) {

    .btn-orange,
    .btn-orange-outline {
        padding: 6px 14px !important;
        font-size: 12px !important;
    }
}

/* ── Section titles ── */
@media (max-width: 767px) {
    .title-container .section-title {
        font-size: 28px !important;
    }

    .product-section .order-title,
    .freq-title-sec .order-title {
        font-size: 26px !important;
    }

    .freq-title-sec h3 {
        font-size: 26px !important;
    }

    .navi-link {
        font-size: 14px !important;
    }
}

@media (max-width: 575px) {
    .title-container .section-title {
        font-size: 24px !important;
    }

    .product-section .order-title,
    .freq-title-sec .order-title {
        font-size: 22px !important;
    }

    .freq-title-sec h3 {
        font-size: 22px !important;
    }

    .navi-link {
        font-size: 13px !important;
    }
     .product-section .order-title,
    .freq-title-sec .order-title {
                font-size: 22px !important;
        font-weight: 700;
    }
}

@media (max-width: 425px) {
    .title-container .section-title {
        font-size: 22px !important;
    }

    .product-section .order-title,
    .freq-title-sec .order-title {
        font-size: 20px !important;
    }

    .freq-title-sec h3 {
        font-size: 20px !important;
    }

    .navi-link {
        font-size: 13px !important;
    }
}

@media (max-width: 375px) {
    .title-container .section-title {
        font-size: 20px !important;
    }

    .product-section .order-title,
    .freq-title-sec .order-title {
        font-size: 18px !important;
    }

    .freq-title-sec h3 {
        font-size: 18px !important;
    }
     .product-section .order-title,
    .freq-title-sec .order-title {
                font-size: 22px !important;
        font-weight: 700;
    }
}

@media (max-width: 320px) {
        .title-container .section-title {
        font-size: 18px !important;
        }

    .category-products .navi-link,
    .health-made .navi-link,
    .fresh-products .navi-link,
    .our-vlogs-section .navi-link {
        font-size: 14px !important;
        font-weight: 600 !important;
    }
.slider-nav .prev, .slider-nav .prev-1, .slider-nav .next, .slider-nav .next-1 {
    width: 30px !important;
    height: 30px !important;
}
    .product-section .order-title,
    .freq-title-sec .order-title {
                font-size: 22px !important;
        font-weight: 700;
    }

    .freq-title-sec h3 {
        font-size: 17px !important;
    }

    .navi-link {
        font-size: 12px !important;
    }
}

/* ── Product cards ── */
@media (max-width: 575px) {

    .product-section .product-card .img-area,
    .frequent-sec .product-card .img-area {
        height: 110px;
    }

    .product-section .product-card .prod-name,
    .frequent-sec .product-card .prod-name {
        font-size: 13px;
    }

    .product-section .product-card .price-now,
    .frequent-sec .product-card .price-now {
        font-size: 14px;
    }

    .product-section .product-card .price-old,
    .frequent-sec .product-card .price-old {
        font-size: 12px;
    }

    .product-section .product-card .prod-qty,
    .frequent-sec .product-card .prod-qty {
        font-size: 12px;
    }

    .product-section .pro-orange-badge,
    .frequent-sec .pro-orange-badge {
        font-size: 10px !important;
        padding: 3px 8px !important;
    }

    .product-section .product-card .info,
    .frequent-sec .product-card .info {
        padding: 6px 6px 8px;
    }
}

@media (max-width: 375px) {

    .product-section .product-card .img-area,
    .frequent-sec .product-card .img-area {
        height: 95px;
    }

    .product-section .product-card .price-now,
    .frequent-sec .product-card .price-now {
        font-size: 13px;
    }

    .product-section .product-card .prod-name,
    .frequent-sec .product-card .prod-name {
        font-size: 12px;
    }
}

@media (max-width: 320px) {

    .product-section .product-card .img-area,
    .frequent-sec .product-card .img-area {
        height: 85px;
    }
}

/* ── Footer ── */
@media (max-width: 575px) {
    .footer-bottom p {
        font-size: 12px !important;
        white-space: normal !important;
    }

    .footer-bottom .footer-company {
        font-size: 11px !important;
    }

    .footer-col h6 {
        font-size: 14px !important;
    }

    .footer-col a,
    .footer-col p {
        font-size: 13px !important;
    }
}

@media (max-width: 375px) {
    .footer-bottom p {
        font-size: 11px !important;
    }

    .footer-col h6 {
        font-size: 13px !important;
    }
}

/* ── Explore Our Products: title + nav in the same flex row ── */
.explore-our-products .section-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 60px;
    padding-right: 80px;
    margin-bottom: 1.5rem;
}

/* Nav is now in normal flow — remove the absolute-position hack */
.explore-our-products .slider-nav {
    position: static !important;
    top: auto !important;
    right: auto !important;
    flex-shrink: 0;
}

/* Title inside wrapper no longer needs its own left padding */
.explore-our-products .section-title-row .title-container {
    padding-left: 0 !important;
}

@media (max-width: 991px) {
    .explore-our-products .section-title-row {
        padding-left: 20px;
        padding-right: 20px;
    }
}

@media (max-width: 575px) {
    .explore-our-products .section-title-row {
        padding-left: 10px;
        padding-right: 10px;
    }
}

/* ── Swiper section overflow containment ── */
@media (max-width: 767px) {
    .explore-our-products {
        overflow: hidden;
    }

    .all-essentials {
        overflow: hidden;
    }
}

/* ── Category section bottom spacing ── */
@media (max-width: 575px) {
    .category-products.space-x {
        padding-bottom: 16px;
    }
}

/* ── Cart-action bar ── */
@media (max-width: 375px) {
    .cart-action-bar {
        gap: 8px;
    }
}

/* ── Delivery location sheet ───────────────────────────────────────── */
.loc-panel-overlay {
    position: fixed;
    inset: 0;
    background: rgba(10, 25, 10, 0.5);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    z-index: 1998;
    animation: loc-fade-in 0.25s ease;
}

.loc-panel {
    position: fixed;
    z-index: 1999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 400px;
    max-width: calc(100vw - 24px);
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.3);
    overflow: hidden;
    animation: loc-pop-in 0.32s cubic-bezier(0.21, 1.02, 0.55, 1);
}

@keyframes loc-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes loc-pop-in {
    from {
        opacity: 0;
        transform: translate(-50%, -46%) scale(0.96);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}

/* Brand header */
.loc-panel-brand {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 18px 16px;
    background: linear-gradient(135deg, #0c7b09 0%, #16a01a 60%, #2cb531 100%);
    color: #fff;
}

.loc-brand-pin {
    width: 42px;
    height: 42px;
    flex-shrink: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.18);
    border: 1px solid rgba(255, 255, 255, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    animation: loc-pin-bounce 2s ease-in-out infinite;
}

@keyframes loc-pin-bounce {

    0%,
    100% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-4px);
    }
}

.loc-brand-copy h6 {
    margin: 2px 0 4px;
    font-weight: 700;
    color: #fff;
    font-size: 16px;
}

.loc-brand-copy p {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.85);
}

.loc-panel-close {
    background: rgba(255, 255, 255, 0.16);
    border: 0;
    color: #fff;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    cursor: pointer;
    margin-left: auto;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
    transition: background 0.2s ease;
}

.loc-panel-close:hover {
    background: rgba(255, 255, 255, 0.3);
}

.loc-panel.is-mandatory .loc-panel-close {
    display: none;
}

/* Body */
.loc-panel-body {
    padding: 16px 18px 18px;
}

.loc-current-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    text-align: left;
    background: #f2f9f3;
    border: 1px solid #cfe8d2;
    border-radius: 12px;
    padding: 12px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}

.loc-current-btn:hover {
    background: #e4f4e6;
    border-color: #9fd4a6;
}

.loc-current-icon {
    width: 36px;
    height: 36px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #0c7b09;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
}

.loc-current-btn small {
    font-size: 11px;
    color: #7a8a7b;
}

.loc-current-arrow {
    margin-left: auto;
    color: #0c7b09;
    font-size: 12px;
}

.loc-panel-status {
    margin-top: 10px;
    font-size: 12px;
    border-radius: 8px;
    padding: 8px 10px;
    background: #f6f6f6;
    color: #555;
}

.loc-panel-status.error {
    background: #fff1f1;
    color: #b42318;
}

.loc-panel-status.success {
    background: #ebf8ef;
    color: #087333;
}

.loc-divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 14px 0 10px;
    color: #999;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.loc-divider::before,
.loc-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #eee;
}

.loc-pin-row {
    display: flex;
    gap: 8px;
}

.loc-pin-row input {
    flex: 1;
    border-radius: 10px;
}

.loc-pin-apply {
    background: #0c7b09;
    color: #fff;
    border: 0;
    border-radius: 10px;
    padding: 8px 18px;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.2s ease;
}

.loc-pin-apply:hover {
    background: #0a6408;
}

.loc-pin-apply:disabled {
    opacity: 0.6;
    cursor: default;
}

/* Mobile: bottom sheet */
@media (max-width: 575px) {
    .loc-panel {
        top: auto;
        bottom: 0;
        left: 0;
        transform: none;
        width: 100%;
        max-width: 100%;
        border-radius: 18px 18px 0 0;
        animation: loc-sheet-up 0.32s cubic-bezier(0.21, 1.02, 0.55, 1);
    }

    @keyframes loc-sheet-up {
        from {
            transform: translateY(40px);
            opacity: 0;
        }

        to {
            transform: translateY(0);
            opacity: 1;
        }
    }
}

/* ── Header location: truncate long addresses cleanly ─────────────── */
.location-btn>div {
    min-width: 0;
    max-width: 100%;
}

.location-btn .loc-value #hdrLocValue {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.location-btn i.pin,
.location-btn i.caret {
    flex-shrink: 0;
}

/* Mobile drawer location — clamp to two lines */
.mm-location .loc-text {
    min-width: 0;
    overflow: hidden;
}

.mm-location .loc-text span {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ── Location sheet: saved address list ────────────────────────────── */
.loc-panel-body {
    max-height: calc(100vh - 220px);
    overflow-y: auto;
}

.loc-saved-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #8a978b;
    margin-bottom: 8px;
}

.loc-saved-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
    max-height: 240px;
    overflow-y: auto;
}

.loc-saved-item {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    width: 100%;
    text-align: left;
    background: #fff;
    border: 1px solid #e7eaee;
    border-radius: 12px;
    padding: 10px 12px;
    cursor: pointer;
    transition: border-color 0.2s ease, background 0.2s ease;
}

.loc-saved-item:hover {
    border-color: #9fd4a6;
    background: #f8fff9;
}

.loc-saved-item.is-selected {
    border-color: #0c7b09;
    background: #f2f9f3;
}

.loc-saved-icon {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #eef8f0;
    color: #0c7b09;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 13px;
}

.loc-saved-info {
    min-width: 0;
    flex: 1;
}

.loc-saved-tag {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 700;
    color: #222;
    margin-bottom: 2px;
}

.loc-saved-default {
    font-size: 10px;
    font-weight: 700;
    color: #0c7b09;
    background: #e4f4e6;
    border-radius: 999px;
    padding: 1px 8px;
}

.loc-saved-text {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.45;
    color: #6b7a6c;
}

.loc-saved-check {
    margin-left: auto;
    align-self: center;
    color: #0c7b09;
    font-size: 15px;
    flex-shrink: 0;
}

@media (max-width: 575px) {
    .loc-panel-body {
        max-height: calc(100vh - 190px);
    }

    .loc-saved-list {
        max-height: 200px;
    }
}

.space-x.our-story-section {
    padding-top: 0px !important;
}

.our-story-section .text-highlight {
    color: #F07C00;
}

/* ── Our Story Section — Responsive ──────────────────────────────────── */
.our-story-section .title-container h2 {
    font-size: clamp(1.4rem, 3.5vw, 2rem);
    line-height: 1.3;
}

.our-story-section .title-container p {
    font-size: clamp(0.875rem, 2vw, 1rem);
    line-height: 1.7;
    color: #555;
}

.our-story-section .image-container img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
    object-fit: cover;
}

/* Tablet (≤ 991px) */
@media (max-width: 991px) {
    .space-x.our-story-section {
        padding-left: 32px;
        padding-right: 32px;
    }

    .our-story-section .row {
        margin-top: 1rem !important;
        margin-bottom: 1rem !important;
    }
}

/* Mobile (≤ 575px) */
@media (max-width: 575px) {
    .space-x.our-story-section {
        padding-left: 16px;
        padding-right: 16px;
    }

    .our-story-section .title-container h2 {
        font-size: 1.35rem;
    }

    .our-story-section .title-container p {
        font-size: 0.875rem;
    }

    .our-story-section .image-container img {
        border-radius: 12px;
    }

    .our-story-section .row {
        margin-top: 0.75rem !important;
        margin-bottom: 0.75rem !important;
    }
}
@media (max-width: 320px) {
.grocery-banner {
    margin-top: 45px !important;
}
}
/* Very small (≤ 375px) */
@media (max-width: 375px) {
    .space-x.our-story-section {
        padding-left: 12px;
        padding-right: 12px;
    }

    .our-story-section .title-container h2 {
        font-size: 1.2rem;
    }
    .cate-page, .prod-details-sec, .my-cart-page, .profile-page {
   
    margin-bottom: 0px !important;
}
}

/* ── Inner pages: offset fixed header (logo row + search bar ≈ 120px) ─────── */
/* Home page already handles this via .home-section-spacing on the body.        */
@media (max-width: 767px) {
    body:not(.home-section-spacing) .body_wrap > main {
        padding-top: 52px !important;
    }

    /* All sections that historically set their own header-clearance margin-top
       are now redundant — zero them so content doesn't double-space.
       body .selector gives specificity (0,1,1) which beats plain .selector (0,1,0)
       and two-class .A .B (0,2,0) is beaten by body .A .B (0,2,1).
       !important beats !important from style2.css when specificity is higher. */
  
    body .Deals-main .home-banner,
    body .fresh-main .home-banner,
    body .grocery-banner {
        margin-top: 0 !important;
    }
}

/* ── Salad "Explore More Salads" bowl-card mobile layout ───────────────────── */
@media (max-width: 767px) {
    /* Cap the image block height so it doesn't dominate the screen */
    .salad-sec .card-img-block {
        height: 220px !important;
    }

    /* Allow price + buttons to wrap to a new line on narrow screens */
    .health-sec .card-footer-row {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }
}


/* (5) Bigger magnifier + mic icons inside the mobile search bar */
/* (5) Bigger mobile search-bar icons */
.mobile-search-bar .search-bar svg,
.mobile-search-bar .search-bar .icon {
    width: 22px !important;
    height: 22px !important;
    flex-shrink: 0;
}
.mobile-search-bar .search-bar .hdr-mic-btn,
.mobile-search-bar .search-bar .mic-btn {
    flex-shrink: 0;
}
.mobile-search-bar .search-bar .hdr-mic-btn img,
.mobile-search-bar .search-bar .mic-btn img {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    flex-shrink: 0;
    display: block;
    object-fit: contain;
}
