/*
 * FOODIE shared visual enhancements
 * Presentation only: no visibility, data, or interaction rules belong here.
 */
:root {
    --foodie-green: #20b75a;
    --foodie-green-dark: #149447;
    --foodie-green-soft: #edf9f2;
    --foodie-ink: #20242c;
    --foodie-muted: #747b88;
    --foodie-line: #e7eaf0;
    --foodie-surface: #ffffff;
    --foodie-canvas: #f7f8fa;
    --foodie-radius-sm: 10px;
    --foodie-radius: 16px;
    --foodie-shadow: 0 8px 26px rgba(22, 28, 45, .07);
    --foodie-shadow-hover: 0 14px 36px rgba(22, 28, 45, .12);
}

/* Full-page checkout empty state */
.checkout-empty-page-wrap { min-height: calc(100vh - 150px); padding-top: 48px; padding-bottom: 70px; display: grid; place-items: center; }
.checkout-empty-page { width: min(100%, 720px); padding: 54px 42px 38px; border: 1px solid #e0ebe4; border-radius: 26px; background: radial-gradient(circle at 50% 0, rgba(32,183,90,.11), transparent 37%), #fff; box-shadow: 0 22px 55px rgba(27,66,43,.10); text-align: center; }
.checkout-empty-visual { position: relative; width: 126px; height: 112px; margin: 0 auto 12px; }
.checkout-empty-bag { position: absolute; inset: 9px 18px 13px; display: grid; place-items: center; border-radius: 29px; color: #fff; background: linear-gradient(145deg,#149c49,#26c568); box-shadow: 0 18px 34px rgba(24,171,81,.26); font-size: 39px; transform: rotate(-4deg); }
.checkout-empty-spark { position: absolute; display: block; border-radius: 50%; background: #bceccc; }
.checkout-empty-spark.spark-one { top: 4px; right: 3px; width: 13px; height: 13px; }
.checkout-empty-spark.spark-two { bottom: 12px; left: 0; width: 9px; height: 9px; }
.checkout-empty-spark.spark-three { top: 24px; left: 2px; width: 6px; height: 6px; background: #ffd88a; }
.checkout-empty-eyebrow { display: block; margin-bottom: 8px; color: var(--foodie-green-dark); font-size: 10px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.checkout-empty-page h1 { margin: 0 0 10px; color: var(--foodie-ink); font-size: clamp(27px,4vw,38px); font-weight: 850; letter-spacing: -.045em; }
.checkout-empty-page > p { max-width: 510px; margin: 0 auto 25px; color: var(--foodie-muted); font-size: 14px; line-height: 1.7; }
.checkout-empty-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; }
.checkout-empty-actions a { min-height: 46px; padding: 11px 18px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; border-radius: 12px; font-size: 12px; font-weight: 750; transition: transform .18s ease,box-shadow .18s ease,background .18s ease; }
.checkout-empty-actions a:hover { transform: translateY(-2px); }
.checkout-empty-primary { color: #fff !important; background: var(--foodie-green); box-shadow: 0 10px 22px rgba(32,183,90,.2); }
.checkout-empty-primary:hover { background: var(--foodie-green-dark); }
.checkout-empty-secondary { border: 1px solid #dce7e0; color: #4e5b53 !important; background: #fff; }
.checkout-empty-secondary:hover { color: var(--foodie-green-dark) !important; background: var(--foodie-green-soft); }
.checkout-empty-benefits { margin-top: 32px; padding-top: 20px; display: flex; justify-content: center; flex-wrap: wrap; gap: 22px; border-top: 1px solid #edf2ef; color: #718078; font-size: 11px; font-weight: 650; }
.checkout-empty-benefits span { display: inline-flex; align-items: center; gap: 6px; }
.checkout-empty-benefits i { color: var(--foodie-green); }

/* Address overview inside My Account */
.profile-address-section { margin-top: 20px; padding: 24px; }
.profile-address-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.profile-address-header > div > span { display: block; margin-bottom: 4px; color: var(--foodie-green); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.profile-address-header h5 { margin: 0 0 5px; color: var(--foodie-ink); font-weight: 800; }
.profile-address-header p { margin: 0; color: var(--foodie-muted); font-size: 12px; }
.profile-address-add { min-height: 42px; padding: 10px 14px; display: inline-flex; flex: 0 0 auto; align-items: center; gap: 7px; border-radius: 11px; color: #fff !important; background: var(--foodie-green); font-size: 11px; font-weight: 750; box-shadow: 0 8px 18px rgba(32,183,90,.16); }
.profile-address-add:hover { background: var(--foodie-green-dark); }
.profile-address-list { display: grid; gap: 11px; }
.profile-address-loading { min-height: 76px; display: flex; align-items: center; justify-content: center; gap: 9px; border: 1px dashed #dbe7df; border-radius: 14px; color: #87948c; font-size: 12px; }
.profile-address-card { min-height: 88px; padding: 15px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 13px; border: 1px solid #e0e9e3; border-radius: 15px; background: #fbfdfc; transition: border-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.profile-address-card:hover { border-color: #bde5cc; box-shadow: 0 9px 24px rgba(25,68,43,.07); transform: translateY(-1px); }
.profile-address-card-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--foodie-green); background: var(--foodie-green-soft); font-size: 18px; }
.profile-address-card-copy { min-width: 0; }
.profile-address-card-copy > div { display: flex; align-items: center; gap: 8px; }
.profile-address-card-copy strong { color: #27332c; font-size: 13px; font-weight: 800; }
.profile-address-card-copy em { padding: 3px 7px; border-radius: 999px; color: #148d45; background: #e6f8ed; font-size: 8px; font-style: normal; font-weight: 800; text-transform: uppercase; }
.profile-address-card-copy p { margin: 5px 0 0; color: #78847d; font-size: 11px; line-height: 1.55; }
.profile-address-edit { min-height: 36px; padding: 8px 10px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #d5e7dc; border-radius: 10px; color: var(--foodie-green-dark); background: #fff; font-size: 10px; font-weight: 750; }
.profile-address-edit:hover { color: #fff; background: var(--foodie-green); }
.profile-address-empty { min-height: 92px; padding: 15px; display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 13px; border: 1px dashed #d8e5dc; border-radius: 15px; }
.profile-address-empty > span { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 13px; color: var(--foodie-green); background: var(--foodie-green-soft); }
.profile-address-empty strong { color: var(--foodie-ink); font-size: 12px; }
.profile-address-empty p { margin: 3px 0 0; color: var(--foodie-muted); font-size: 10px; }
.profile-address-empty > a { color: var(--foodie-green-dark); font-size: 11px; font-weight: 750; }

/* Keep homepage section actions in the green Foodie theme. */
.home-redesign section .title .see-all a,
.home-redesign .category-content .title .see-all a { border-color: rgba(32,183,90,.22) !important; color: var(--foodie-green-dark) !important; background: var(--foodie-green-soft) !important; }
.home-redesign section .title .see-all a:hover,
.home-redesign .category-content .title .see-all a:hover { color: #fff !important; background: var(--foodie-green) !important; }

/* Redesigned coupon-page introduction */
.offers-page .offers-hero { min-height: 246px; padding: 42px 54px; border: 1px solid #ccebd8; background: radial-gradient(circle at 75% 50%,rgba(32,183,90,.13),transparent 25%),linear-gradient(125deg,#f8fdf9,#eaf9f0); box-shadow: 0 18px 44px rgba(25,68,43,.09); }
.offers-page .offers-hero::before { width: 260px; height: 260px; top: -150px; right: 27%; border-color: rgba(25,160,76,.10); }
.offers-page .offers-hero::after { width: 170px; height: 170px; right: -70px; bottom: -95px; border-color: rgba(25,160,76,.12); }
.offers-page .offers-hero-content { justify-content: space-between; }
.offers-hero-copy { position: relative; z-index: 2; max-width: 610px; }
.offers-page .offers-eyebrow { width: fit-content; margin-bottom: 12px; padding: 6px 9px; display: flex; align-items: center; gap: 6px; border-radius: 999px; color: var(--foodie-green-dark); background: #dbf5e5; font-size: 9px; font-weight: 850; }
.offers-page .offers-hero h1 { color: var(--foodie-ink); font-size: clamp(31px,4.2vw,50px); font-weight: 900; line-height: 1.04; }
.offers-page .offers-hero h1 span { color: var(--foodie-green); }
.offers-page .offers-hero p { max-width: 530px; margin-top: 13px; color: #68776e; font-size: 13px; line-height: 1.65; }
.offers-hero-points { margin-top: 18px; display: flex; flex-wrap: wrap; gap: 16px; color: #516158; font-size: 10px; font-weight: 750; }
.offers-hero-points span { display: inline-flex; align-items: center; gap: 6px; }
.offers-hero-points i { width: 18px; height: 18px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--foodie-green); font-size: 10px; }
.offers-hero-art { position: relative; width: 220px; height: 150px; flex: 0 0 220px; }
.offers-ticket { position: absolute; width: 150px; height: 92px; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 18px; box-shadow: 0 18px 35px rgba(25,68,43,.13); }
.ticket-back { top: 4px; right: 1px; color: #189b4b; background: #fff; font-size: 33px; transform: rotate(10deg); }
.ticket-front { left: 1px; bottom: 1px; color: #fff; background: linear-gradient(135deg,#139447,#25c366); transform: rotate(-8deg); }
.ticket-front::before,.ticket-front::after { content: ''; position: absolute; top: 37px; width: 18px; height: 18px; border-radius: 50%; background: #eaf9f0; }
.ticket-front::before { left: -9px; }.ticket-front::after { right: -9px; }
.ticket-front b { font-size: 34px; line-height: 1; }.ticket-front small { margin-top: 5px; font-size: 8px; font-weight: 850; letter-spacing: .18em; }

@media (max-width: 767.98px) {
    .checkout-empty-page-wrap { padding: 28px 14px 50px; }
    .checkout-empty-page { padding: 38px 20px 28px; border-radius: 20px; }
    .checkout-empty-benefits { gap: 12px; }
    .profile-address-header { flex-direction: column; }
    .profile-address-add { width: 100%; justify-content: center; }
    .profile-address-card { grid-template-columns: 42px minmax(0,1fr); }
    .profile-address-edit { grid-column: 1 / -1; justify-content: center; }
    .profile-address-empty { grid-template-columns: 42px minmax(0,1fr); }
    .profile-address-empty > a { grid-column: 1 / -1; text-align: center; }
    .offers-page .offers-hero { min-height: 0; padding: 30px 24px; }
    .offers-page .offers-hero p { display: block; }
    .offers-hero-art { display: none; }
}

/* Order detail pages */
.order-detail-page {
    min-height: calc(100vh - 80px);
    background: radial-gradient(circle at 88% 5%, rgba(29, 190, 91, .1), transparent 30%), #f7f9fb;
}
.order-detail-page > .container { max-width: 1040px; }
.order-detail-heading { display: flex; align-items: center; gap: 14px; margin: 2px 0 22px; }
.order-detail-back { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid #dce7e0; border-radius: 13px; background: #fff; color: #159c4a; box-shadow: 0 7px 20px rgba(25, 68, 43, .07); font-size: 19px; }
.order-detail-back:hover { background: #159c4a; color: #fff; }
.order-detail-heading span { display: block; margin-bottom: 2px; color: #18a950; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.order-detail-heading h1 { margin: 0; color: #17231d; font-size: 28px; font-weight: 850; letter-spacing: -.035em; }
.order-detail-page > .container > .row > .top-nav { display: none; }
.order-detail-page > .container > .row > .col-md-12 { padding: 0; }
.order-detail-page > .container > .row > .col-md-12 > section { overflow: visible !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.order-detail-page .gendetail-row,
.order-detail-page .order-secdetail,
.order-detail-page #order-note-box,
.order-detail-page .order-secdetail + .row { border: 0 !important; }
.order-detail-page .gendetail-row { padding: 0 !important; }
.order-detail-page .gendetail-row > .row { margin: 0 -9px; }
.order-detail-page .gendetail-row [class*="col-lg-"] { padding: 0 9px; }
.order-detail-page .gendetail-row .card,
.order-detail-page .resturant-detail .card {
    height: 100%;
    padding: 20px !important;
    border: 1px solid #e0e9e4 !important;
    border-radius: 18px !important;
    background: #fff;
    box-shadow: 0 12px 34px rgba(25, 68, 43, .08) !important;
}
.order-detail-page .gendetail-row .card h3,
.order-detail-page .resturant-detail .card-header-title,
.order-detail-page #order-note-box h6,
.order-detail-page .order-secdetail + .row h6:first-child { color: #1e2b23; font-size: 16px; font-weight: 800; }
.order-detail-page .gendetail-col { margin-bottom: 0; padding: 10px 0; border-bottom: 1px solid #edf1ef; }
.order-detail-page .gendetail-col:last-child { border-bottom: 0; }
.order-detail-page .gendetail-col label { display: flex; justify-content: space-between; gap: 15px; width: 100%; margin: 0; color: #68746c; font-size: 13px; }
.order-detail-page .gendetail-col label strong { color: #334039; }
.order-detail-page .gendetail-col label strong { flex: 0 0 auto; white-space: nowrap; }
.order-detail-page .gendetail-col #order-number { min-width: 0; overflow-wrap: anywhere; text-align: right; }
.order-detail-page #order-status { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: #e8f9ee; color: #139a49; font-size: 11px; font-weight: 800; }
.order-detail-page .bill-address p { margin: 0 0 10px; color: #68746c; font-size: 13px; line-height: 1.55; }
.order-detail-page .order-secdetail { padding: 18px 0 0 !important; }
.order-detail-page .order-secdetail > .row { margin: 0; }
.order-detail-page .order-secdetail .col-6:first-child { flex: 0 0 100%; max-width: 100%; padding: 0; }
.order-detail-page .order-secdetail .col-6:last-child { display: none; }
.order-detail-page .resturant-detail .card { padding: 0 !important; }
.order-detail-page .resturant-detail .card-header { padding: 16px 20px; border-bottom: 1px solid #e7ede9; background: #f8fcf9; }
.order-detail-page .resturant-detail .card-body { padding: 18px 20px; }
.order-detail-page .resturant-detail .redirecttopage { align-items: center; margin: 0 0 14px; }
.order-detail-page .resturant-detail .redirecttopage .col-4 { flex: 0 0 82px; max-width: 82px; padding: 0; }
.order-detail-page .resturant-detail .redirecttopage .col-8 { flex: 1; max-width: none; padding-left: 14px; }
.order-detail-page .resturant-img { width: 68px !important; height: 68px !important; border-radius: 15px !important; object-fit: cover; }
.order-detail-page .restaurant-title { margin: 0; color: #149b49; font-size: 17px; font-weight: 800; }
.order-detail-page .contact-info { margin: 4px 0 10px; color: #849087; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.order-detail-page .resturant-detail .card-body > p { margin-bottom: 7px; color: #68746c; font-size: 13px; }
.order-detail-page #order-note-box { margin: 18px 0 0; }
.order-detail-page #order-note-box > div { padding: 0; }
.order-detail-page #order-note-box > div > div,
.order-detail-page .order-secdetail + .row > .col-lg-12 {
    overflow: hidden;
    padding: 20px !important;
    border: 1px solid #e0e9e4 !important;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(25, 68, 43, .08);
}
.order-detail-page .order-secdetail + .row { margin: 18px 0 0; }
.order-detail-page .order-secdetail + .row > .col-lg-12 > .p-3 { padding: 12px 0 !important; border-color: #e8eeea !important; }
.order-detail-page #order-items .order-list { border-radius: 12px; }
.order-detail-page #order-total { color: #139b49; font-size: 18px; }
.order-detail-page #order-discount,
.order-detail-page #special_offer_discount { color: #dc4b4b !important; }

@media (max-width: 767.98px) {
    .order-detail-page { padding-top: 20px !important; }
    .order-detail-page > .container { padding: 0 14px; }
    .order-detail-page .gendetail-row [class*="col-lg-"] { margin-bottom: 14px; }
    .order-detail-page .gendetail-row [class*="col-lg-"]:last-child { margin-bottom: 0; }
    .order-detail-page .gendetail-col label { align-items: flex-start; }
}

/* Location autocomplete */
.pac-container {
    margin-top: 8px !important;
    padding: 7px !important;
    overflow: hidden !important;
    border: 1px solid #dfe9e3 !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: 0 16px 42px rgba(22, 52, 34, .16) !important;
    font-family: inherit !important;
}
.pac-container .pac-item { min-height: 44px; padding: 8px 10px; border: 0; border-radius: 9px; color: #77827b; line-height: 26px; cursor: pointer; }
.pac-container .pac-item:hover,
.pac-container .pac-item-selected { background: #ecfaf2; }
.pac-container .pac-icon { margin-top: 5px; }
.pac-container .pac-item-query { color: #26332b; font-size: 13px; font-weight: 700; }
.pac-container::after { margin: 4px 8px 2px; opacity: .62; transform: scale(.82); transform-origin: right center; }
.pac-container.navbar-location-suggestions { box-sizing: border-box !important; }

/* Grouped account dropdown */
.navbar-account-dropdown .account-menu-section-label { padding: 8px 11px 4px; color: #99a39c; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.navbar-account-dropdown .account-menu-divider { height: 1px; margin: 7px 6px; background: #ebf0ed; }
.navbar-account-dropdown .dropdown-menu { min-width: 242px; padding: 8px 9px 10px; }

/* Home discovery bar */
.home-discovery-wrap { position: relative; z-index: 10; padding-top: 22px; }
.home-discovery-search { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(320px, 1.6fr); max-width: 900px; min-height: 64px; margin: 0 auto; overflow: hidden; border: 1px solid #e0e8e3; border-radius: 16px; background: #fff; box-shadow: 0 13px 36px rgba(28, 67, 44, .1); }
.home-discovery-location,
.home-discovery-query { display: flex; align-items: center; gap: 11px; min-width: 0; padding: 0 20px; border: 0; background: transparent; color: #6f7a73; font: inherit; font-size: 14px; text-align: left; }
.home-discovery-location { cursor: pointer; }
.home-discovery-location::after { content: ''; position: absolute; }
.home-discovery-location > span,
.home-discovery-query > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-discovery-location > span { flex: 1; color: #354139; font-weight: 650; }
.home-discovery-search i { flex: 0 0 auto; color: #1bb257; font-size: 19px; }
.home-discovery-query { border-left: 1px solid #e4ebe6; }
.home-discovery-query:hover { color: #159a49; background: #f8fcf9; }

/* Checkout overview and empty-cart state */
.checkout-page-heading { padding-top: 38px; }
.checkout-page-heading > span { display: block; margin-bottom: 6px; color: #18a950; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.checkout-page-heading h1 { margin: 0 0 6px; color: #17231d; font-size: 30px; font-weight: 850; letter-spacing: -.035em; }
.checkout-page-heading p { margin: 0; color: #7c8780; font-size: 13px; }
.siddhi-checkout .checkout-page-heading + .py-5 { padding-top: 24px !important; }
.checkout-empty-cart { padding: 34px 22px 30px; background: linear-gradient(180deg, #fff, #fbfdfc); text-align: center; }
.checkout-empty-icon { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 15px; border-radius: 18px; background: #e9f9ef; color: #18a950; font-size: 25px; }
.checkout-empty-cart h3 { margin-bottom: 6px; color: #243129; font-size: 17px; font-weight: 800; }
.checkout-empty-cart p { margin: 0 auto 18px; color: #869088; font-size: 12px; line-height: 1.5; }
.checkout-empty-cart a { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 42px; padding: 10px 16px; border-radius: 11px; background: #17a950; color: #fff; font-size: 12px; font-weight: 750; }
.checkout-empty-cart a:hover { background: #118d42; color: #fff; }

/* Coupon page refinement */
.offers-page #coupons_list { gap: 22px; }
.offers-page .offer-card { border-radius: 20px !important; box-shadow: 0 14px 38px rgba(25, 68, 43, .09) !important; }
.offers-page .offer-card-main { min-height: 190px; }
.offers-page .offer-card-image { width: 92px; height: 92px; border-radius: 19px; background: #eaf9f0; }
.offers-page .offer-card-image:has(img[src*="logo_web.png"]) {
    background: linear-gradient(145deg, #f5fff8, #e8f8ed);
}
.offers-page .offer-card-image img[src*="logo_web.png"] {
    width: 100%;
    height: 100%;
    padding: 22%;
    object-fit: contain;
}

.offers-page .offer-card-image.offer-brand-image {
    background: linear-gradient(145deg, #f5fff8 0%, #e8f8ed 100%) !important;
}

.offers-page .offer-card-image.offer-brand-image img {
    width: 100% !important;
    height: 100% !important;
    padding: 22% !important;
    object-fit: contain !important;
}
.offers-page .offer-card-image.offer-demo-image { overflow: hidden; background: #edf6ef !important; }
.offers-page .offer-card-image.offer-demo-image img { display: block; width: 100% !important; height: 100% !important; padding: 0 !important; object-fit: cover !important; filter: none !important; }
.offers-page .offer-card-content { padding: 3px 20px; }
.offers-page .offer-expiry { margin-bottom: 10px; }
.offers-page .offer-des { color: #25322a !important; font-size: 16px !important; font-weight: 800 !important; }
.offers-page .offer-code { width: fit-content; padding: 7px 10px !important; border: 1px dashed #20af58; border-radius: 10px; background: #f0fbf4; }
.offers-page .offer-value { min-width: 100px; padding-left: 20px; border-left: 1px dashed #dbe6df; text-align: center; }

@media (max-width: 767.98px) {
    .home-discovery-wrap { padding: 14px 14px 0; }
    .home-discovery-search { grid-template-columns: 1fr; }
    .home-discovery-location,
    .home-discovery-query { min-height: 52px; padding: 0 15px; }
    .home-discovery-query { border-top: 1px solid #e4ebe6; border-left: 0; }
    .checkout-page-heading { padding: 24px 10px 0; }
    .checkout-page-heading h1 { font-size: 26px; }
    .offers-page .offer-card-main { min-height: auto; }
    .offers-page .offer-card-image { width: 76px; height: 76px; }
    .offers-page .offer-card-content { padding: 2px 12px; }
    .offers-page .offer-value { min-width: 70px; padding-left: 10px; }
}

/* My Orders */
.order-history-page {
    min-height: calc(100vh - 80px);
    background: radial-gradient(circle at 88% 4%, rgba(30, 190, 91, .1), transparent 30%), #f7f9fb;
}

.order-history-page .order-history-heading { margin: 6px 0 24px; }
.order-history-eyebrow { display: block; margin-bottom: 7px; color: #17a950; font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.order-history-heading h1 { margin: 0 0 7px; color: #17231d; font-size: 32px; font-weight: 850; letter-spacing: -.035em; }
.order-history-heading p { margin: 0; color: #748078; font-size: 14px; }

.order-history-page .c-t-order {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    padding: 6px !important;
    overflow-x: auto !important;
    border: 1px solid #e2e9e5 !important;
    border-radius: 16px !important;
    box-shadow: 0 8px 25px rgba(25, 68, 43, .07) !important;
    scrollbar-width: none;
}
.order-history-page .c-t-order::-webkit-scrollbar { display: none; }
.order-history-page .c-t-order .nav-item { flex: 0 0 auto; border: 0 !important; }
.order-history-page .c-t-order .nav-link {
    min-height: 42px;
    padding: 11px 17px !important;
    border-radius: 11px;
    color: #526058 !important;
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}
.order-history-page .c-t-order .nav-link i { color: inherit !important; }
.order-history-page .c-t-order .nav-link.active {
    background: linear-gradient(135deg, #128f42, #1eb75a) !important;
    color: #fff !important;
    box-shadow: 0 7px 17px rgba(20, 160, 76, .2);
}
.order-history-page .c-t-order .nav-link.active i {
    border-color: rgba(255, 255, 255, .28) !important;
    background: rgba(255, 255, 255, .18) !important;
    color: #fff !important;
    box-shadow: none !important;
}

.order-history-page .order-body > div {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
.order-history-page .order-body > div > .pb-3 { min-width: 0; padding: 0 !important; }
.order-history-page .order-body > div > .pb-3 > .p-3 {
    height: 100%;
    padding: 18px !important;
    overflow: hidden;
    border: 1px solid #e1e9e4;
    border-radius: 18px !important;
    box-shadow: 0 12px 34px rgba(25, 68, 43, .08) !important;
}
.order-history-page .order_img { width: 82px; height: 82px; border-radius: 14px !important; object-fit: cover; }
.order-history-page .m-d-flex { min-width: 0; gap: 3px; }
.order-history-page .m-d-flex > div:nth-child(2) { min-width: 0; }
.order-history-page .m-d-flex > div:nth-child(2) > p { color: #7b867f; font-size: 12px; line-height: 1.45; }
.order-history-page .m-d-flex > div:nth-child(2) > p:first-child a { color: #1e2a23 !important; font-size: 15px; }
.order-history-page .ord-com-btn { flex: 0 0 auto; }
.order-history-page .ord-com-btn > p:first-child { border-radius: 999px !important; font-weight: 700; white-space: nowrap; }
.order-history-page .view-det a { color: #13994a; font-weight: 750; }
.order-history-page .m-d-flex.border-bottom { border-color: #e9eeeb !important; }
.order-history-page .m-d-flex.pt-3 { align-items: center; flex-wrap: wrap; gap: 12px; }
.order-history-page .m-d-flex.pt-3 .btn { min-height: 38px; padding: 9px 13px !important; border-radius: 10px; font-size: 12px; font-weight: 700; }
.order-history-page .order-empty-state { grid-column: 1 / -1; padding: 70px 20px; border: 1px dashed #d7e4dc; border-radius: 20px; background: #fff; text-align: center; }
.order-history-page .order-empty-state > span { display: grid; place-items: center; width: 58px; height: 58px; margin: 0 auto 15px; border-radius: 17px; background: #e9f9ef; color: #17a950; font-size: 25px; }
.order-history-page .order-empty-state h3 { margin-bottom: 6px; color: #26332c; font-size: 18px; font-weight: 800; }
.order-history-page .order-empty-state p { margin: 0; color: #859088; font-size: 13px; }

@media (max-width: 991.98px) {
    .order-history-page .order-body > div { grid-template-columns: 1fr; }
}
@media (max-width: 575.98px) {
    .order-history-page { padding-top: 18px !important; }
    .order-history-heading h1 { font-size: 27px; }
    .order-history-page .top-nav { padding-right: 0; }
    .order-history-page .order_img { width: 68px; height: 68px; }
    .order-history-page .m-d-flex.border-bottom { align-items: flex-start; }
    .order-history-page .ord-com-btn { width: 100%; margin: 10px 0 0 !important; }
    .order-history-page .ord-com-btn > p { display: inline-block; margin-right: 8px; }
    .order-history-page .m-d-flex.pt-3 > .small { width: 100%; }
}

/* Delivery address book */
.delivery-address-page {
    min-height: calc(100vh - 90px);
    padding: 16px 0 56px;
    background: radial-gradient(circle at 85% 10%, rgba(35, 196, 102, .08), transparent 32%), #f7f9fb;
}

.delivery-address-page .container > .col-md-12 {
    padding: 0 8px;
}

.delivery-address-page .add-address {
    min-height: 50px;
    padding: 13px 22px;
    border: 0;
    border-radius: 13px;
    background: linear-gradient(135deg, #139846, #20bb5c);
    box-shadow: 0 10px 24px rgba(20, 160, 76, .2);
    font-size: 16px;
    font-weight: 700;
}

.delivery-address-page #append_list1 {
    clear: both;
    padding-top: 2px;
}

.delivery-address-page .address-card-wrap {
    width: 50%;
    padding: 0 8px;
}

.delivery-address-card {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 16px;
    min-height: 190px;
    padding: 20px;
    border: 1px solid #e3e9e6;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 34px rgba(28, 62, 45, .08);
}

.address-card-icon {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    background: #eafaf0;
    color: #19ad55;
    font-size: 25px;
}

.address-card-content { min-width: 0; }

.address-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}

.address-type {
    color: #1c2932;
    font-size: 15px;
    font-weight: 750;
}

.address-card-tools { display: flex; gap: 8px; }

.address-tool {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid #dce9e1;
    border-radius: 10px;
    background: #f3fbf6;
    color: #159a49;
}

.address-tool:hover { background: #159f4d; color: #fff; }
.address-tool-delete:hover { background: #dc3545; border-color: #dc3545; }

.address-card-location {
    display: block;
    min-height: 48px;
    color: #55626b;
    font-size: 14px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.address-card-location:hover { color: #128f45; }

.address-card-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.address-card-actions .btn {
    min-height: 40px;
    margin: 0 !important;
    padding: 10px 14px;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 700;
    white-space: normal;
}

.address-delivery-btn {
    border: 1px solid #19aa52;
    background: #19aa52;
    color: #fff;
}

.address-delivery-btn:hover { background: #128b42; color: #fff; }

.address-default-btn.btn-success {
    border-color: #d9f4e3;
    background: #eafaf0;
    color: #138e45;
}

.address-default-btn.btn-info {
    border-color: #dfe7e2;
    background: #fff;
    color: #45524a;
}

/* Checkout coupon input must remain one complete, unclipped row. */
.siddhi-checkout .checkout-promo-row {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
}

.siddhi-checkout .checkout-promo-row #coupon_code {
    width: 1%;
    min-width: 0;
    height: 46px;
    padding: 10px 13px;
    border: 1px solid #dfe6e2;
    border-right: 0;
    border-radius: 10px 0 0 10px;
}

.siddhi-checkout .checkout-promo-row .input-group-append {
    display: flex;
    flex: 0 0 auto;
    margin-left: 0;
}

.siddhi-checkout .checkout-promo-row #apply-coupon-code {
    min-width: 84px;
    height: 46px;
    padding: 10px 13px;
    border-radius: 0 10px 10px 0;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .delivery-address-page .address-card-wrap { width: 100%; }

    .delivery-address-card {
        grid-template-columns: 44px minmax(0, 1fr);
        gap: 12px;
        padding: 16px;
    }

    .address-card-icon { width: 44px; height: 44px; }
}

@media (max-width: 400px) {
    .address-card-actions { align-items: stretch; flex-direction: column; }
    .address-card-actions .btn { width: 100%; }
}

/* Homepage cashback launcher: self-contained so a missing image asset cannot break the UI. */
.home-redesign #cashback-button {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 9999;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    width: auto;
    height: 54px;
    padding: 7px 18px 7px 8px;
    border: 1px solid rgba(22, 183, 91, 0.24);
    border-radius: 999px;
    background: #fff;
    color: #138f49;
    box-shadow: 0 12px 32px rgba(14, 92, 52, 0.2);
    font: inherit;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}

.home-redesign #cashback-button.d-none {
    display: none !important;
}

.home-redesign #cashback-button:hover {
    transform: translateY(-3px);
    background: #f4fff8;
    box-shadow: 0 16px 36px rgba(14, 92, 52, 0.25);
}

.home-redesign #cashback-button:focus-visible {
    outline: 3px solid rgba(31, 191, 94, 0.28);
    outline-offset: 3px;
}

.home-redesign .cashback-button-icon {
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    border-radius: 50%;
    background: linear-gradient(135deg, #159947, #25c96d);
    color: #fff;
    font-size: 20px;
}

.home-redesign #cashback-offer-popup {
    right: 24px;
    bottom: 90px;
    border: 1px solid rgba(22, 183, 91, 0.16);
    border-radius: 18px;
    box-shadow: 0 20px 55px rgba(20, 75, 48, 0.18);
}

.home-redesign #cashback-list .cashback-sample-offer {
    padding: 14px;
    margin-bottom: 10px;
    border: 1px solid rgba(22, 183, 91, 0.16);
    border-radius: 12px;
    background: #f6fff9;
}

.home-redesign #cashback-list .cashback-sample-offer:last-child {
    margin-bottom: 0;
    border-bottom: 1px solid rgba(22, 183, 91, 0.16);
}

.home-redesign .cashback-sample-label {
    display: inline-block;
    margin-bottom: 6px;
    color: #138f49;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.home-redesign #cashback-list .cashback-sample-reward {
    margin: 0 0 4px;
    color: #16a34a;
    font-size: 14px;
    font-weight: 700;
}

@media (max-width: 575.98px) {
    .home-redesign #cashback-button {
        right: 16px;
        bottom: 16px;
        width: 50px;
        height: 50px;
        padding: 5px;
    }

    .home-redesign .cashback-button-label {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }

    .home-redesign #cashback-offer-popup {
        right: 16px;
        bottom: 78px;
        width: calc(100vw - 32px);
    }
}

html { scroll-behavior: smooth; }

.cart-restaurant-heading {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    border-bottom: 1px solid #edf1ee;
}

.cart-restaurant-number {
    display: inline-grid;
    place-items: center;
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    border-radius: 50%;
    background: #16b75b;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
}

.cart-restaurant-heading small {
    display: block;
    max-width: 260px;
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Dine-in restaurant details */
.dinein-detail-page {
    background: radial-gradient(circle at 90% 8%, rgba(22, 183, 91, .09), transparent 28%), #f7f9f8;
}

.dinein-detail-page .offer-section.resturant-banner {
    padding-top: 20px !important;
}

.dinein-detail-page .resturant-banner-inner,
.dinein-detail-page .resturant-banner .restaurant-pic {
    overflow: hidden;
    border-radius: 18px;
}

.dinein-detail-page .resturant-banner .restaurant-pic {
    height: 330px;
    box-shadow: 0 16px 38px rgba(23, 74, 48, .12);
}

.dinein-detail-page .resturant-banner .restaurant-pic.dinein-brand-placeholder {
    padding: 72px;
    object-fit: contain;
    background: linear-gradient(135deg, #e9fff1, #cffff0);
}

.dinein-detail-page .rest-basic-detail {
    padding: 20px 22px !important;
    border: 1px solid #e4eee8;
    background: #fff;
    box-shadow: 0 12px 32px rgba(23, 74, 48, .08);
}

.dinein-detail-page .rest-basic-detail h2.h6 {
    font-size: 23px;
    color: #17211b;
}

.dinein-detail-page .rest-basic-detail .feather_icon a.rest-right-btn,
.dinein-detail-page .rest-basic-detail .feather_icon a.btn,
.dinein-detail-page .view_all_menu_btn,
.dinein-detail-page .restaurant_direction {
    border-color: #16b75b;
    color: #139b4d;
}

.dinein-detail-page .rest-basic-detail .feather_icon a.rest-right-btn:hover,
.dinein-detail-page .rest-basic-detail .feather_icon a.btn:hover,
.dinein-detail-page .restaurant_direction:hover {
    background: #effcf4;
    color: #0c7d3c;
}

.dinein-detail-page .rest-basic-detail .feather_icon a.rest-right-btn .feather-star {
    color: #16b75b !important;
}

.dinein-detail-page .table-book-view {
    border-color: #e1ebe5 !important;
    box-shadow: 0 7px 22px rgba(23, 74, 48, .06);
    transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.dinein-detail-page .table-book-view:hover {
    transform: translateY(-2px);
    border-color: rgba(22, 183, 91, .4) !important;
    box-shadow: 0 12px 28px rgba(23, 74, 48, .1);
}

.dinein-detail-page .dinein-feature-icon,
.dinein-detail-page .dinein-detail-icon {
    display: inline-grid !important;
    place-items: center;
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    margin-right: 18px;
    border: 0 !important;
    border-radius: 13px;
    background: #eafff1;
    color: #16b75b !important;
    font-size: 21px !important;
}

.dinein-detail-page .menu-itemimg {
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #eafff1;
    color: #139b4d;
    cursor: pointer;
}

.dinein-detail-page .dyntable-detail ul li {
    min-height: 48px;
    padding-left: 64px;
}

.dinein-detail-page .dyntable-detail ul li > .dinein-detail-icon {
    left: 0;
}

.dinein-detail-page .dyn-menulist .image-item img {
    width: 170px;
    height: 170px;
    padding: 12px;
    object-fit: contain;
    border-radius: 16px;
    background: linear-gradient(135deg, #e9fff1, #d8fbe5);
}

.dinein-detail-page .dinein-empty-menu {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px;
    border: 1px dashed rgba(22, 183, 91, .35);
    border-radius: 14px;
    background: #f5fff8;
    color: #617068;
}

.dinein-detail-page .dinein-empty-menu img {
    width: 48px;
    height: 48px;
    object-fit: contain;
}

.dinein-detail-page .restaurant-detail-right .sticky_sidebar {
    border: 1px solid #e1ebe5;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(23, 74, 48, .1) !important;
}

.dinein-detail-page .restaurant-detail-left h4.h6:after,
.dinein-detail-page .sidebar-header h3.h6:after {
    background-color: #16b75b;
}

.dinein-detail-page #map {
    height: 300px !important;
    overflow: hidden;
    border: 1px solid #dce8e1;
    border-radius: 13px;
}

.dinein-detail-page .restaurant_direction {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    border: 1px solid #16b75b;
    border-radius: 10px;
    font-weight: 700;
}

.dinein-detail-page #dinein-restaurant-contact.disabled {
    opacity: .55;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .dinein-detail-page .resturant-banner .restaurant-pic { height: 230px; }
    .dinein-detail-page .resturant-banner .restaurant-pic.dinein-brand-placeholder { padding: 48px; }
    .dinein-detail-page .rest-basic-detail > .d-flex { gap: 18px; flex-direction: column; }
    .dinein-detail-page .rest-basic-detail .feather_icon { margin-left: 0 !important; }
    .dinein-detail-page .restaurant-detail-right { margin-bottom: 24px; }
}

body {
    color: var(--foodie-ink);
    background: var(--foodie-canvas);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a {
    transition: color .2s ease, background-color .2s ease, border-color .2s ease,
                box-shadow .2s ease, transform .2s ease;
}

a:hover { text-decoration: none; }

/* Shared header */
.section-header .header-main {
    border-bottom: 1px solid rgba(32, 36, 44, .06);
    box-shadow: 0 4px 22px rgba(22, 28, 45, .06) !important;
}

.section-header .brand-wrap img,
.section-header .logo,
.section-header .navbar-brand img {
    max-height: 48px;
    object-fit: contain;
}

.section-header .widget-header,
.section-header .header-right a {
    border-radius: 10px;
}

.section-header .widget-header:hover { color: var(--foodie-green) !important; }

/* The supplied FOODIE artwork is orange; tint it to the app's green brand colour. */
.section-header .brand-wrap img,
.mobile-logo img,
.location-brand img,
.location-logo-mark img,
.auth-brand img,
.login-page img[src*="logo_web"],
.register-page img[src*="logo_web"],
.auth-page img[src*="logo_web"],
img[src*="img/logo_web.png"],
.section-footer .logo-footer,
.section-footer #footer_logo_web {
    filter: brightness(0) saturate(100%) invert(55%) sepia(82%) saturate(510%)
            hue-rotate(88deg) brightness(90%) contrast(88%);
}

.section-header .location-card,
.section-header .location-dropdown {
    border-radius: 12px !important;
    border-color: var(--foodie-line) !important;
}

.section-header .badge,
.cart-count,
.cart-value {
    font-weight: 700;
    box-shadow: 0 3px 9px rgba(255, 100, 61, .22);
}

/* Page rhythm and typography */
.section-content:not(.mobile-filter),
.ecommerce-content,
.st-brands-page,
.account-page,
.contact-us-page {
    color: var(--foodie-ink);
}

.top-categories-section,
.most-popular-item-section,
.most-popular-store-section,
.my-favourites-section,
.new-arrivals-section,
.offers-coupons-section,
.middle-banners-section,
.home-categories-section,
.all-stores-section {
    margin-bottom: 42px;
}

.section-title h2,
.section-title h3,
.section-title h4,
section h2,
section h3 {
    letter-spacing: -.025em;
}

.text-muted,
.text-black-50 { color: var(--foodie-muted) !important; }

/* Cards used by food, restaurant, category and account pages */
.list-card,
.card,
.modal-content,
.transactions-list-left,
.address-card {
    background: var(--foodie-surface);
    border: 1px solid var(--foodie-line) !important;
    border-radius: var(--foodie-radius) !important;
    box-shadow: var(--foodie-shadow) !important;
}

.list-card {
    overflow: hidden;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.list-card:hover {
    transform: translateY(-3px);
    border-color: rgba(32, 183, 90, .28) !important;
    box-shadow: var(--foodie-shadow-hover) !important;
}

.list-card-image { overflow: hidden; }

.list-card-image .item-img,
.product-list .item-img,
.pro-list .item-img {
    object-fit: cover;
    transition: transform .35s ease;
}

.list-card:hover .item-img { transform: scale(1.025); }

.list-card-body h6,
.list-card-body h6 a,
.popul-title a {
    color: var(--foodie-ink) !important;
    font-weight: 650;
    line-height: 1.4;
}

.badge {
    border-radius: 7px;
    padding: .4em .62em;
}

/* Buttons: retain each button's existing semantic colour */
.btn,
.page-link,
.loadmore-btn {
    border-radius: var(--foodie-radius-sm) !important;
    font-weight: 600;
    transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease,
                border-color .18s ease;
}

.btn:hover,
.loadmore-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 7px 18px rgba(22, 28, 45, .12);
}

.btn:active { transform: translateY(0); }

.btn-primary,
.bg-primary {
    border-color: var(--foodie-green) !important;
    background-color: var(--foodie-green) !important;
}

.btn-primary:hover,
.btn-primary:focus {
    border-color: var(--foodie-green-dark) !important;
    background-color: var(--foodie-green-dark) !important;
}

.text-primary { color: var(--foodie-green) !important; }
.border-primary { border-color: var(--foodie-green) !important; }
.badge-primary { background-color: var(--foodie-green) !important; }
.dropdown-item.active,
.dropdown-item:active {
    color: #fff !important;
    background-color: var(--foodie-green) !important;
}
.page-item.active .page-link {
    border-color: var(--foodie-green) !important;
    background-color: var(--foodie-green) !important;
}

.custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--foodie-green) !important;
    background-color: var(--foodie-green) !important;
}

::selection {
    color: #fff;
    background: var(--foodie-green);
}

.btn-success {
    border-color: var(--foodie-green) !important;
    background-color: var(--foodie-green) !important;
}

.btn-success:hover,
.btn-success:focus {
    border-color: var(--foodie-green-dark) !important;
    background-color: var(--foodie-green-dark) !important;
}

/* Global pressed/focused button states: override the legacy orange theme. */
.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary:not(:disabled):not(.disabled):active,
.show > .btn-primary.dropdown-toggle,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-success:not(:disabled):not(.disabled):active,
.show > .btn-success.dropdown-toggle,
.bg-primary.btn:hover,
.bg-primary.btn:focus,
.bg-primary.btn:active {
    border-color: var(--foodie-green-dark) !important;
    background: var(--foodie-green-dark) !important;
    background-image: none !important;
    color: #fff !important;
    box-shadow: 0 0 0 3px rgba(32, 183, 90, .18) !important;
}

button:active,
[type="button"]:active,
[type="submit"]:active {
    -webkit-tap-highlight-color: rgba(32, 183, 90, .16);
}

/* Forms */
.form-control,
.custom-select,
.select2-container .select2-selection--single,
.input-group-text {
    min-height: 44px;
    border-color: var(--foodie-line);
    border-radius: var(--foodie-radius-sm);
    background-color: #fff;
    color: var(--foodie-ink);
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

textarea.form-control { min-height: 112px; }

.form-control:focus,
.custom-select:focus,
.select2-container--focus .select2-selection--single {
    border-color: rgba(32, 183, 90, .72) !important;
    box-shadow: 0 0 0 3px rgba(32, 183, 90, .12) !important;
}

.form-control::placeholder { color: #9aa1ad; }

.form-group label,
.form-label {
    color: #525966;
    font-weight: 600;
}

/* Dropdowns and dialogs */
.dropdown-menu {
    padding: 8px;
    border: 1px solid var(--foodie-line);
    border-radius: 12px;
    box-shadow: var(--foodie-shadow-hover);
}

.dropdown-item { border-radius: 8px; }

.modal-content { overflow: hidden; }
.modal-header { border-bottom-color: var(--foodie-line); }
.modal-footer { border-top-color: var(--foodie-line); }

/* Sliders and category tiles */
.slick-arrow,
.slick-arrow:hover,
.slick-arrow:focus {
    border-color: var(--foodie-line);
    box-shadow: 0 6px 18px rgba(22, 28, 45, .1) !important;
}

.top-categories .slick-slide > div,
.cat-slider .slick-slide > div {
    transition: transform .2s ease;
}

.top-categories .slick-slide > div:hover,
.cat-slider .slick-slide > div:hover { transform: translateY(-2px); }

/* Footer */
.section-footer {
    border-top: 0 !important;
    background: #17191d !important;
}

.section-footer .footer-top { padding-top: 56px !important; }

.section-footer h5,
.section-footer h6 {
    color: #fff;
    letter-spacing: .01em;
}

.section-footer p,
.section-footer li,
.section-footer a { color: #bdc2cc; }

.section-footer a:hover { color: #fff; }

.section-footer .logo-footer {
    max-width: 170px;
    max-height: 58px;
    object-fit: contain;
}

.section-footer .btn-icon {
    width: 38px;
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50% !important;
}

/* Focus is visible for keyboard users without affecting mouse behavior */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
    outline: 3px solid rgba(32, 183, 90, .25) !important;
    outline-offset: 2px;
}

@media (max-width: 767.98px) {
    body { font-size: 13px; }

    .top-categories-section,
    .most-popular-item-section,
    .most-popular-store-section,
    .my-favourites-section,
    .new-arrivals-section,
    .offers-coupons-section,
    .middle-banners-section,
    .home-categories-section,
    .all-stores-section {
        margin-bottom: 28px;
    }

    .list-card,
    .card,
    .modal-content,
    .transactions-list-left,
    .address-card { border-radius: 13px !important; }

    .section-footer .footer-top { padding-top: 36px !important; }
}

/* All Restaurants and Dine In directories */
.restaurant-directory-page {
    min-height: 68vh;
    padding: 34px 0 66px;
    background:
        radial-gradient(circle at 94% 2%, rgba(32, 183, 90, .10), transparent 24%),
        var(--foodie-canvas);
}

.restaurant-directory-page .container { max-width: 1160px; }

.restaurant-directory-shell { padding: 0; }

.restaurant-directory-hero {
    position: relative;
    min-height: 190px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    padding: 38px 42px;
    border-radius: 23px;
    color: #fff;
    background: linear-gradient(125deg, #128f44 0%, var(--foodie-green) 68%, #35c970 100%);
    box-shadow: 0 18px 42px rgba(20, 148, 71, .18);
}

.restaurant-directory-hero::before,
.restaurant-directory-hero::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .15);
    border-radius: 50%;
}

.restaurant-directory-hero::before { width: 260px; height: 260px; right: -80px; top: -150px; }
.restaurant-directory-hero::after { width: 150px; height: 150px; right: 90px; bottom: -110px; }

.restaurant-directory-copy { position: relative; z-index: 1; }

.restaurant-directory-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.restaurant-directory-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 4vw, 40px);
    font-weight: 780;
    letter-spacing: -.035em;
}

.restaurant-directory-hero p {
    max-width: 620px;
    margin: 9px 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: 14px;
}

.restaurant-directory-icon {
    position: relative;
    z-index: 1;
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 22px;
    background: rgba(255, 255, 255, .15);
    font-size: 31px;
}

.restaurant-directory-page .tab-content > .tab-pane > .container {
    margin-top: 32px !important;
    margin-bottom: 0 !important;
}

.restaurant-directory-page .res-search-list-1 > .row {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(245px, 1fr));
    gap: 20px;
    width: 100%;
    margin: 0;
    align-items: stretch;
}

.restaurant-directory-page .restaurant-card-column {
    width: 100%;
    max-width: none;
    min-width: 0;
    padding: 0 !important;
    flex: none;
    align-self: stretch;
}

.restaurant-directory-page .restaurant-card {
    overflow: hidden;
    border: 1px solid var(--foodie-line) !important;
    border-radius: 17px !important;
    background: #fff;
    box-shadow: 0 7px 22px rgba(22, 28, 45, .06) !important;
    transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.restaurant-directory-page .restaurant-card:hover {
    transform: translateY(-4px);
    border-color: rgba(32, 183, 90, .30) !important;
    box-shadow: 0 16px 34px rgba(22, 28, 45, .12) !important;
}

.restaurant-directory-page .restaurant-card .list-card-image {
    position: relative;
    height: 190px;
    overflow: hidden;
    background: #edf1ef;
}

.restaurant-directory-page .restaurant-card .item-img {
    width: 100%;
    height: 100%;
    min-height: 190px;
    object-fit: cover;
    transition: transform .35s ease;
}

.restaurant-directory-page .restaurant-card .list-card-image:has(img[src*="logo_web.png"]) {
    background: linear-gradient(145deg, #f5fff8 0%, #e8f8ed 100%) !important;
}

.restaurant-directory-page .restaurant-card .item-img[src*="logo_web.png"] {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 15% 30% !important;
    object-fit: contain !important;
}

.restaurant-directory-page .restaurant-card:hover .item-img { transform: scale(1.035); }

.restaurant-directory-page .restaurant-card .member-plan {
    z-index: 2;
    top: 12px;
    left: 12px;
}

.restaurant-directory-page .restaurant-card .member-plan .badge {
    padding: 7px 10px;
    border: 1px solid rgba(255, 255, 255, .35);
    border-radius: 9px;
    color: #fff;
    background: rgba(18, 143, 68, .92);
    box-shadow: 0 5px 15px rgba(0, 0, 0, .13);
    font-size: 10px;
    text-transform: uppercase;
}

.restaurant-directory-page .restaurant-card .member-plan .badge.closed { background: rgba(47, 52, 60, .88); }

/* Open restaurants are unlabelled; closed restaurants are subdued as a whole. */
.list-card.restaurant-is-closed {
    background: #f1f3f2 !important;
    border-color: #d9dfdc !important;
    box-shadow: none !important;
    filter: grayscale(.92);
    opacity: .72;
}

.list-card.restaurant-is-closed:hover {
    transform: none !important;
    box-shadow: none !important;
}

.list-card.restaurant-is-closed .item-img { filter: grayscale(1); }
.list-card.restaurant-is-closed .list-card-image.store-closed::after { display: none !important; }
.list-card.restaurant-is-closed .member-plan { z-index: 5; }
.list-card.restaurant-is-closed .member-plan .badge.closed {
    background: #444b48 !important;
    color: #fff !important;
    border-color: rgba(255, 255, 255, .55) !important;
}

.restaurant-directory-page .restaurant-card > .p-3 { padding: 17px !important; }

.restaurant-directory-page .restaurant-card h6 { margin-bottom: 7px !important; }
.restaurant-directory-page .restaurant-card h6 a { color: var(--foodie-ink) !important; font-size: 15px; font-weight: 700; }
.restaurant-directory-page .restaurant-card h6 a:hover { color: var(--foodie-green) !important; }

.restaurant-directory-page .restaurant-card p.text-gray {
    min-height: 36px;
    margin-bottom: 0 !important;
    display: -webkit-box;
    overflow: hidden;
    color: var(--foodie-muted);
    font-size: 11px !important;
    line-height: 1.6;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.restaurant-directory-page .restaurant-card p.text-gray .fa { margin-right: 4px; color: var(--foodie-green); }

.restaurant-directory-page .restaurant-card .star { margin-top: 13px !important; }
.restaurant-directory-page .restaurant-card .star .badge {
    padding: 6px 9px;
    border-radius: 8px;
    background: var(--foodie-green-soft);
    color: var(--foodie-green-dark);
    font-size: 10px;
}
.restaurant-directory-page .restaurant-card .star .badge i { margin-right: 4px; }

.restaurant-directory-page .offer-icon {
    z-index: 2;
    right: 10px;
    bottom: 10px;
    max-width: 125px;
    padding: 4px 7px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .9);
    font-size: 9px;
}
.restaurant-directory-page .offer-icon img { width: 18px !important; }

.restaurant-directory-page .res-search-list-1 > h5 {
    margin: 32px 0 !important;
    padding: 48px 20px;
    border: 1px dashed #d8dde5;
    border-radius: 18px;
    color: var(--foodie-muted);
    background: #fff;
}

@media (max-width: 767.98px) {
    .restaurant-directory-page { padding: 18px 0 45px; }
    .restaurant-directory-hero { min-height: 165px; padding: 28px 24px; border-radius: 17px; }
    .restaurant-directory-icon { width: 58px; height: 58px; flex-basis: 58px; border-radius: 17px; font-size: 25px; }
    .restaurant-directory-hero p { font-size: 12px; }
}

@media (max-width: 991.98px) {
    .restaurant-directory-page .res-search-list-1 > .row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575.98px) {
    .restaurant-directory-page .res-search-list-1 > .row {
        grid-template-columns: 1fr;
        gap: 16px;
    }
}

@media (max-width: 479.98px) {
    .restaurant-directory-icon { display: none; }
    .restaurant-directory-page .restaurant-card .list-card-image,
    .restaurant-directory-page .restaurant-card .item-img { height: 210px; min-height: 210px; }
}

/* Main website navbar */
.section-header .header-main {
    position: relative;
    z-index: 1030;
    min-height: 78px;
    background: rgba(255, 255, 255, .97) !important;
    backdrop-filter: blur(14px);
}

.section-header .header-main .container {
    width: min(100% - 48px, 1280px);
    max-width: 1280px;
}

.foodie-navbar-row {
    min-height: 78px;
    margin: 0;
    flex-wrap: nowrap;
}

.navbar-brand-col {
    flex: 0 0 92px;
    width: 92px;
    max-width: 92px;
    padding: 0 12px 0 0;
}

.navbar-brand-col .brand-wrap {
    display: inline-flex;
    align-items: center;
}

.navbar-brand-col .brand-wrap img {
    width: auto;
    max-width: 100%;
    height: 60px;
    max-height: 60px;
    object-fit: contain;
}

.navbar-location-col {
    flex: 1 1 270px;
    width: auto;
    max-width: 310px;
    min-width: 210px;
    padding: 0;
}

.head-search .navbar-location-picker {
    width: 100%;
    margin: 0;
    padding: 0 !important;
    border: 1px solid rgba(32, 183, 90, .45) !important;
    border-radius: 13px !important;
    background: #fff;
    box-shadow: 0 4px 15px rgba(22, 28, 45, .04);
}

.head-search .navbar-location-picker:hover {
    border-color: var(--foodie-green) !important;
    box-shadow: 0 7px 19px rgba(32, 183, 90, .11);
}

.navbar-location-picker .dropdown-toggle {
    min-height: 47px;
    padding: 0 36px 0 13px !important;
}

.navbar-location-picker .head-loc {
    display: inline-flex;
    animation: none !important;
}

.navbar-location-picker .head-loc i {
    margin-right: 9px !important;
    color: var(--foodie-green) !important;
    font-size: 18px !important;
}

.header-main .navbar-location-picker #user_locationnew {
    width: 100%;
    max-width: 220px;
    padding: 0;
    overflow: hidden;
    border: 0;
    color: var(--foodie-ink);
    background: transparent;
    font-size: 12px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.navbar-location-picker .dropdown-toggle::after {
    right: 15px !important;
    color: var(--foodie-muted);
}

.navbar-actions-col {
    flex: 1 1 auto;
    width: auto;
    max-width: none;
    padding: 0 0 0 18px;
}

.foodie-navbar-actions {
    gap: 5px;
    padding-right: 0 !important;
    white-space: nowrap;
}

.foodie-navbar-actions .nav-action {
    min-height: 42px;
    margin: 0 !important;
    padding: 0 9px;
    display: inline-flex;
    align-items: center;
    border: 1px solid transparent;
    border-radius: 11px;
    color: #454c57 !important;
    font-size: 12px;
    font-weight: 600;
}

.foodie-navbar-actions .nav-action:hover {
    border-color: rgba(32, 183, 90, .17);
    color: var(--foodie-green-dark) !important;
    background: var(--foodie-green-soft);
}

.foodie-navbar-actions .nav-action i {
    margin-right: 6px !important;
    color: var(--foodie-green);
    font-size: 16px;
}

.foodie-navbar-actions .nav-cart-action { position: relative; }

.navbar-empty-cart[hidden] { display: none !important; }
.navbar-empty-cart {
    position: absolute;
    z-index: 1100;
    top: calc(100% + 10px);
    right: 104px;
    width: 310px;
    padding: 25px 22px 21px;
    border: 1px solid #dfeae3;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(20, 52, 31, .16);
    text-align: center;
    white-space: normal;
}
.navbar-empty-cart::before { position: absolute; top: -7px; right: 54px; width: 14px; height: 14px; border-top: 1px solid #dfeae3; border-left: 1px solid #dfeae3; background: #fff; content: ""; transform: rotate(45deg); }
.navbar-empty-cart-close { position: absolute; top: 11px; right: 11px; display: grid; width: 30px; height: 30px; padding: 0; place-items: center; border: 0; border-radius: 50%; color: #6b776f; background: #f2f7f4; cursor: pointer; }
.navbar-empty-cart-art { position: relative; display: grid; width: 74px; height: 74px; margin: 1px auto 15px; place-items: center; border-radius: 24px; color: #fff; background: linear-gradient(145deg,#19b35a,#0b8940); box-shadow: 0 13px 28px rgba(22,168,84,.22); }
.navbar-empty-cart-art>i { font-size: 31px; }.navbar-empty-cart-art>span { position: absolute; right: -7px; bottom: -5px; display: grid; width: 28px; height: 28px; place-items: center; border: 4px solid #fff; border-radius: 50%; color: #e99524; background: #fff7df; }.navbar-empty-cart-art>span i { font-size: 11px; }
.navbar-empty-cart>strong { display: block; color: #18251d; font-size: 17px; font-weight: 750; }.navbar-empty-cart>p { margin: 7px auto 17px; color: #718078; font-size: 10px; line-height: 1.55; }.navbar-empty-cart>a { display: flex; min-height: 43px; align-items: center; justify-content: center; gap: 8px; border-radius: 11px; color: #fff !important; background: #16a854; font-size: 10px; font-weight: 750; text-decoration: none; }.navbar-empty-cart>a:hover { background: #108c45; }
@media(max-width:767.98px){.navbar-empty-cart{position:fixed;top:76px;right:14px;left:14px;width:auto}.navbar-empty-cart::before{display:none}}

.foodie-navbar-actions #header-cart-count {
    min-width: 19px !important;
    height: 19px !important;
    margin-left: 6px !important;
    padding: 0 5px;
    border-radius: 10px !important;
    color: #fff;
    background: var(--foodie-green) !important;
    box-shadow: 0 4px 10px rgba(32, 183, 90, .2);
    font-size: 9px;
}

.navbar-account-dropdown { margin: 0 !important; }

.navbar-account-dropdown > .dropdown-toggle {
    min-height: 42px;
    padding: 6px 8px !important;
    display: flex !important;
    align-items: center;
    border-radius: 11px;
}

.navbar-account-dropdown > .dropdown-toggle:hover { background: var(--foodie-green-soft); }
.navbar-account-dropdown > .dropdown-toggle:empty { display: none !important; }
.navbar-account-dropdown > .dropdown-toggle img { width: 30px; height: 30px; border: 2px solid #d8f1e2; border-radius: 50%; object-fit: cover; }

.foodie-navbar-actions .navbar-user-trigger {
    max-width: 142px;
    min-width: 0;
    gap: 6px;
    overflow: hidden;
}

.foodie-navbar-actions .navbar-user-trigger img {
    flex: 0 0 30px;
    margin: 0 !important;
}

.foodie-navbar-actions .navbar-user-trigger .navbar-user-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.foodie-navbar-actions .navbar-user-trigger::after {
    flex: 0 0 auto;
}

.navbar-more-trigger {
    gap: 7px;
    padding: 0 11px !important;
    border: 1px solid rgba(32, 183, 90, .18);
    color: #454c57 !important;
    background: #f7fbf8;
    font-size: 12px;
    font-weight: 650;
}

.navbar-more-trigger > i {
    color: var(--foodie-green);
    font-size: 16px;
}

.navbar-more-trigger::after { margin-left: 2px; color: var(--foodie-green-dark); }

.navbar-more-dropdown.show .navbar-more-trigger,
.navbar-more-trigger:hover {
    border-color: rgba(32, 183, 90, .38);
    color: var(--foodie-green-dark) !important;
    background: var(--foodie-green-soft);
}

.navbar-account-dropdown .dropdown-menu {
    min-width: 220px;
    margin-top: 7px;
    padding: 9px;
    border: 1px solid var(--foodie-line);
    border-radius: 14px;
    box-shadow: 0 16px 40px rgba(22, 28, 45, .14);
}

/* Keep the account and quick-navigation panels anchored below their triggers.
   Popper's inline translate values otherwise make them jump sideways on click. */
.foodie-navbar-actions .navbar-account-dropdown,
.foodie-navbar-actions .navbar-quick-dropdown {
    position: relative !important;
}

.foodie-navbar-actions .navbar-account-dropdown > .dropdown-menu,
.foodie-navbar-actions .navbar-quick-dropdown > .dropdown-menu {
    top: calc(100% + 7px) !important;
    right: 0 !important;
    bottom: auto !important;
    left: auto !important;
    margin: 0 !important;
    transform: none !important;
    will-change: auto !important;
    transition: opacity .16s ease, visibility .16s ease !important;
}

.foodie-navbar-actions .navbar-account-dropdown:hover > .dropdown-menu,
.foodie-navbar-actions .navbar-quick-dropdown:hover > .dropdown-menu,
.foodie-navbar-actions .navbar-account-dropdown.show > .dropdown-menu,
.foodie-navbar-actions .navbar-quick-dropdown.show > .dropdown-menu,
.foodie-navbar-actions .navbar-account-dropdown > .dropdown-menu.show,
.foodie-navbar-actions .navbar-quick-dropdown > .dropdown-menu.show {
    display: block;
    visibility: visible;
    opacity: 1;
    transform: none !important;
}

.navbar-account-dropdown .dropdown-item {
    min-height: 39px;
    padding: 9px 11px;
    display: flex;
    align-items: center;
    width: 100%;
    border-radius: 8px;
    font-size: 12px;
    line-height: 1.35;
    white-space: nowrap;
}
.navbar-account-dropdown .dropdown-item i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    flex: 0 0 22px;
    margin-right: 10px;
    color: var(--foodie-green);
    font-size: 15px;
}
.navbar-more-dropdown .dropdown-menu {
    min-width: 236px;
}
.navbar-more-dropdown .dropdown-item.dine_in_menu {
    align-items: center !important;
}
.navbar-account-dropdown .dropdown-item:hover { color: var(--foodie-green-dark); background: var(--foodie-green-soft); }

/* Logged-in quick navigation: orders and restaurant directories live outside the account menu. */
.navbar-quick-dropdown { position: relative; margin: 0 2px; }
.navbar-quick-trigger {
    width: 42px;
    height: 42px;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(32, 183, 90, .22);
    border-radius: 12px;
    color: var(--foodie-green-dark);
    background: #f7fbf8;
    cursor: pointer;
    transition: border-color .18s ease, background .18s ease, transform .18s ease, box-shadow .18s ease;
}
.navbar-quick-trigger i { font-size: 18px; }
.navbar-quick-trigger:hover,
.navbar-quick-trigger:focus,
.navbar-quick-dropdown.show .navbar-quick-trigger {
    outline: none;
    border-color: rgba(32, 183, 90, .48);
    color: #fff;
    background: var(--foodie-green);
    box-shadow: 0 7px 18px rgba(32, 183, 90, .2);
    transform: none;
}
.navbar-quick-dropdown .dropdown-menu {
    min-width: 294px;
    margin-top: 7px;
    padding: 10px;
    border: 1px solid var(--foodie-line);
    border-radius: 15px;
    box-shadow: 0 18px 42px rgba(22, 28, 45, .16);
}
.navbar-quick-dropdown:hover > .dropdown-menu { display: block; }
.navbar-quick-dropdown:hover > .navbar-quick-trigger {
    border-color: rgba(32, 183, 90, .48);
    color: #fff;
    background: var(--foodie-green);
}
.navbar-quick-dropdown .quick-menu-heading {
    padding: 5px 8px 8px;
    color: #929d96;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.navbar-quick-dropdown .dropdown-item {
    min-height: 58px;
    padding: 8px;
    display: flex;
    align-items: center;
    gap: 11px;
    border-radius: 10px;
    white-space: normal;
}
.navbar-quick-dropdown .dropdown-item:hover { background: var(--foodie-green-soft); }
.navbar-quick-dropdown .dropdown-item > span:last-child { display: flex; min-width: 0; flex-direction: column; }
.navbar-quick-dropdown .dropdown-item strong { color: #303a34; font-size: 12px; font-weight: 750; }
.navbar-quick-dropdown .dropdown-item small { margin-top: 2px; color: #8b9690; font-size: 10px; }
.quick-menu-icon {
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 16px;
}
.quick-menu-orders { color: #168b48; background: #e9f8ef; }
.quick-menu-restaurants { color: #cc7b12; background: #fff4df; }
.quick-menu-dine { color: #6b58c9; background: #f0edff; }
.quick-menu-dine-bookings { color: #176c9b; background: #eaf6fc; }

.dinein-detail-page .dine-favorite-btn { display: inline-flex; align-items: center; justify-content: center; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.dinein-detail-page .dine-favorite-btn i { color: #19a853; font-size: 16px; }
.dinein-detail-page .dine-favorite-btn:hover { border-color: #f2a5a5; background: #fff5f5; transform: translateY(-1px); }
.dinein-detail-page .dine-favorite-btn.is-favorite { border-color: #f2b4b4; background: #fff2f2; }
.dinein-detail-page .dine-favorite-btn.is-favorite i { color: #e53935; }
.dinein-detail-page .dine-favorite-btn.is-loading { opacity: .55; pointer-events: none; }

/* Dine-in table booking modal */
#book_a_table.dine-booking-modal { padding-right: 0 !important; }
#book_a_table .modal-dialog { width: min(760px, calc(100% - 28px)); max-width: 760px; margin: 24px auto; }
#book_a_table .modal-content { overflow: hidden; border: 0; border-radius: 22px; background: #f7faf8; box-shadow: 0 28px 75px rgba(12, 38, 23, .28); }
#book_a_table .modal-header { min-height: 88px; padding: 18px 24px; align-items: center; border-bottom: 1px solid #e4ede7; background: #fff; }
#book_a_table .dine-booking-title { display: flex; align-items: center; gap: 13px; }
#book_a_table .dine-booking-title > span { width: 46px; height: 46px; display: inline-flex; align-items: center; justify-content: center; border-radius: 13px; color: #fff; background: var(--foodie-green); box-shadow: 0 8px 18px rgba(32, 183, 90, .2); font-size: 19px; }
#book_a_table .dine-booking-title h5 { margin: 0; color: #202c25; font-size: 21px; font-weight: 800; }
#book_a_table .dine-booking-title p { margin: 3px 0 0; color: #8b968f; font-size: 12px; }
#book_a_table .modal-header .close { width: 38px; height: 38px; margin: 0; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #68736c; background: #f2f6f3; opacity: 1; font-size: 17px; transition: .2s ease; }
#book_a_table .modal-header .close:hover { color: #fff; background: #25322a; transform: rotate(90deg); }
#book_a_table .modal-body { max-height: calc(100vh - 215px); padding: 20px 24px 8px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #b7d9c3 #eef4f0; }
#book_a_table .dine-booking-error { margin-bottom: 15px; padding: 11px 13px; border: 1px solid #ffd3d3; border-radius: 10px; color: #c92f2f !important; background: #fff0f0; font-size: 12px; font-weight: 700; }
#book_a_table .dine-booking-section { margin-bottom: 16px; padding: 18px; border: 1px solid #e1ebe5; border-radius: 16px; background: #fff; box-shadow: 0 5px 16px rgba(24, 70, 40, .035); }
#book_a_table .dine-booking-section-heading { margin-bottom: 16px; display: flex; align-items: center; gap: 10px; }
#book_a_table .dine-booking-section-heading > span { width: 35px; height: 35px; flex: 0 0 35px; display: inline-flex; align-items: center; justify-content: center; border-radius: 10px; color: var(--foodie-green); background: #eaf8ef; font-size: 15px; }
#book_a_table .dine-booking-section-heading h6 { margin: 0; color: #2a362f; font-size: 14px; font-weight: 800; }
#book_a_table .dine-booking-section-heading p { margin: 2px 0 0; color: #939d96; font-size: 10px; }
#book_a_table .dine-booking-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }
#book_a_table .form-group { min-width: 0; margin: 0; }
#book_a_table .form-group > label, #book_a_table .dine-request-field > label { margin-bottom: 7px; color: #536057; font-size: 11px; font-weight: 750; }
#book_a_table .dine-input-wrap { position: relative; }
#book_a_table .dine-input-wrap > i { position: absolute; top: 50%; left: 13px; z-index: 2; color: var(--foodie-green); font-size: 14px; transform: translateY(-50%); pointer-events: none; }
#book_a_table .dine-input-wrap .form-control { height: 46px; padding: 8px 12px 8px 38px; border: 1px solid #dce8e0; border-radius: 11px; color: #4f5a53; background-color: #fbfdfc; font-size: 12px; box-shadow: none; }
#book_a_table .dine-input-wrap .form-control:focus, #book_a_table .dine-request-field .form-control:focus { border-color: #58c881; background: #fff; box-shadow: 0 0 0 3px rgba(32, 183, 90, .11); }
#book_a_table .dine-day-helper { min-height: 17px; margin-top: 5px; display: block; color: #a0aaa3; font-size: 9px; }
#book_a_table .dine-day-helper strong { color: #647168; }
#book_a_table .dine-booking-profile { min-height: 74px; padding: 12px; display: flex; align-items: center; gap: 12px; border: 1px solid #e5eee8; border-radius: 13px; background: #f8fcf9; }
#book_a_table .dine-booking-profile .profile-image { width: 50px !important; height: 50px !important; flex: 0 0 50px; border: 3px solid #fff; border-radius: 14px !important; object-fit: cover; box-shadow: 0 5px 13px rgba(30, 74, 45, .12); }
#book_a_table .dine-booking-profile-copy { min-width: 0; flex: 1; }
#book_a_table .dine-booking-profile-copy h6 { margin: 0 0 5px; color: #2e3932; font-size: 14px; font-weight: 800; }
#book_a_table .dine-booking-profile-copy p { margin: 0; display: flex; align-items: center; gap: 6px; overflow: hidden; color: #87928b; font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
#book_a_table .dine-profile-confirmed { padding: 6px 9px; border-radius: 999px; color: #168c48; background: #e5f7ec; font-size: 9px; font-weight: 800; white-space: nowrap; }
#book_a_table .dine-profile-confirmed i { margin-right: 3px; }
#book_a_table .dine-discount-row { margin-top: 10px; padding: 10px 12px; display: flex; align-items: center; gap: 10px; border: 1px dashed #cae5d4; border-radius: 11px; background: #fbfefc; }
#book_a_table .dine-discount-icon { width: 31px; height: 31px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: #14944a; background: #e8f8ee; }
#book_a_table .dine-discount-row div { display: flex; flex-direction: column; }
#book_a_table .dine-discount-row small { color: #8d9891; font-size: 9px; font-weight: 700; }
#book_a_table .dine-discount-row strong { color: #4f5b53; font-size: 11px; font-weight: 750; }
#book_a_table .dine-occasion-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
#book_a_table .dine-occasion-options .form-check { margin: 0; padding: 0; }
#book_a_table .dine-occasion-options input { position: absolute; opacity: 0; pointer-events: none; }
#book_a_table .dine-occasion-options label { min-height: 48px; margin: 0; padding: 0 14px; display: flex; align-items: center; gap: 9px; border: 1px solid #dfe9e2; border-radius: 11px; color: #657168; background: #fbfdfc; cursor: pointer; font-size: 12px; font-weight: 700; transition: .18s ease; }
#book_a_table .dine-occasion-options label i { color: #b78438; font-size: 16px; }
#book_a_table .dine-occasion-options input:checked + label { border-color: #31b866; color: #137e40; background: #eaf8ef; box-shadow: 0 0 0 2px rgba(32, 183, 90, .09); }
#book_a_table .dine-first-visit { margin: 10px 0 0 !important; padding: 0; }
#book_a_table .dine-first-visit input { position: absolute; opacity: 0; pointer-events: none; }
#book_a_table .dine-first-visit label { min-height: 55px; margin: 0; padding: 9px 12px; display: flex; align-items: center; gap: 10px; border: 1px solid #e1e9e4; border-radius: 11px; background: #fbfdfc; cursor: pointer; }
#book_a_table .dine-first-visit label > span { width: 34px; height: 34px; flex: 0 0 34px; display: inline-flex; align-items: center; justify-content: center; border-radius: 9px; color: #d39022; background: #fff5df; }
#book_a_table .dine-first-visit label div { display: flex; flex-direction: column; }
#book_a_table .dine-first-visit label strong { color: #526057; font-size: 11px; }
#book_a_table .dine-first-visit label small { margin-top: 2px; color: #9aa39d; font-size: 9px; }
#book_a_table .dine-first-visit input:checked + label { border-color: #31b866; background: #eaf8ef; }
#book_a_table .dine-first-visit input:checked + label > span { color: #fff; background: var(--foodie-green); }
#book_a_table .dine-request-field { margin-top: 13px; }
#book_a_table .dine-request-field label { width: 100%; display: flex; justify-content: space-between; }
#book_a_table .dine-request-field label small { color: #a1aaa4; font-size: 9px; font-weight: 600; }
#book_a_table .dine-request-field .form-control { min-height: 76px; padding: 11px 13px; resize: vertical; border: 1px solid #dce8e0; border-radius: 11px; color: #4f5a53; background: #fbfdfc; font-size: 11px; box-shadow: none; }
#book_a_table .modal-footer { min-height: 74px; padding: 14px 24px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #e3ece6; background: #fff; }
#book_a_table .modal-footer > p { margin: 0; color: #939e97; font-size: 9px; }
#book_a_table .modal-footer > p i { margin-right: 5px; color: var(--foodie-green); }
#book_a_table .modal-footer > div { display: flex; gap: 8px; }
#book_a_table .modal-footer .btn { min-height: 40px; margin: 0; padding: 8px 17px; border: 0; border-radius: 10px; font-size: 11px; font-weight: 800; }
#book_a_table .modal-footer .btn-secondary { color: #5d6961; background: #edf2ef; }
#book_a_table .modal-footer .btn-primary { min-width: 105px; color: #fff; background: var(--foodie-green); box-shadow: 0 7px 16px rgba(32, 183, 90, .19); }
#book_a_table .modal-footer .btn-primary i { margin-right: 6px; }

@media (max-width: 767.98px) {
    #book_a_table .modal-dialog { width: calc(100% - 18px); margin: 9px auto; }
    #book_a_table .modal-content { max-height: calc(100vh - 18px); border-radius: 17px; }
    #book_a_table .modal-header { min-height: 74px; padding: 13px 15px; }
    #book_a_table .dine-booking-title > span { width: 40px; height: 40px; flex-basis: 40px; }
    #book_a_table .dine-booking-title h5 { font-size: 18px; }
    #book_a_table .dine-booking-title p { font-size: 9px; }
    #book_a_table .modal-body { max-height: calc(100vh - 158px); padding: 13px 13px 2px; }
    #book_a_table .dine-booking-section { padding: 14px; }
    #book_a_table .dine-booking-fields { grid-template-columns: 1fr; }
    #book_a_table .dine-occasion-options { grid-template-columns: 1fr; }
    #book_a_table .dine-profile-confirmed { display: none; }
    #book_a_table .modal-footer { min-height: 66px; padding: 11px 14px; }
    #book_a_table .modal-footer > p { display: none; }
    #book_a_table .modal-footer > div { width: 100%; }
    #book_a_table .modal-footer .btn { flex: 1; }
}

.navbar-delivery-toggle { margin: 0 2px; }

.header-main .navbar-delivery-toggle .takeaway-btn {
    min-height: 42px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(32, 183, 90, .28);
    border-radius: 11px;
    color: #fff;
    background: var(--foodie-green);
    box-shadow: 0 6px 15px rgba(32, 183, 90, .16);
    font-size: 12px;
    font-weight: 700;
}

.header-main .navbar-delivery-toggle input[type="checkbox"]::before,
.header-main .navbar-delivery-toggle input[type="checkbox"]:checked::before {
    border-radius: 11px;
    background: var(--foodie-green) !important;
}

.header-main .navbar-delivery-toggle .takeaway-btn i { margin-right: 6px !important; }

.navbar-language {
    min-height: 42px;
    width: 108px;
    flex: 0 0 108px;
    margin: 0 0 0 4px !important;
    padding: 0 8px;
    display: inline-flex !important;
    align-items: center;
    gap: 5px;
    border-radius: 11px;
    position: relative;
    z-index: 1100;
    overflow: visible !important;
    border: 1px solid #d5eadc;
    background: #fff;
    box-shadow: 0 5px 14px rgba(24, 94, 52, .07);
}

.navbar-language:hover,
.navbar-language:focus-within {
    border-color: rgba(32, 183, 90, .45);
    background: var(--foodie-green-soft);
    box-shadow: 0 0 0 3px rgba(32, 183, 90, .08);
}
.navbar-language .language-select { flex: 0 0 auto; line-height: 1; }
.navbar-language .language-select i { color: var(--foodie-green); font-size: 14px; }
.navbar-language .form-control {
    width: 76px;
    min-width: 0;
    min-height: 34px;
    margin: 0;
    padding: 4px 18px 4px 2px !important;
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    font-size: 11px;
    line-height: 1.2;
    appearance: none;
    -webkit-appearance: none;
    box-shadow: none !important;
}

.navbar-language .language-options { position: relative; min-width: 0; z-index: 1101; }
.navbar-language .language-options::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 3px;
    width: 6px;
    height: 6px;
    border-right: 1.5px solid #536158;
    border-bottom: 1.5px solid #536158;
    pointer-events: none;
    transform: translateY(-65%) rotate(45deg);
}

/* Arabic translates copy without reversing the established website layout. */
html[lang^="ar"] body { direction: ltr; text-align: left; }
html[lang^="ar"] h1,
html[lang^="ar"] h2,
html[lang^="ar"] h3,
html[lang^="ar"] h4,
html[lang^="ar"] h5,
html[lang^="ar"] h6,
html[lang^="ar"] p,
html[lang^="ar"] label,
html[lang^="ar"] input,
html[lang^="ar"] textarea,
html[lang^="ar"] option,
html[lang^="ar"] .dropdown-item strong,
html[lang^="ar"] .dropdown-item small,
html[lang^="ar"] .nav-action span,
html[lang^="ar"] .takeaway-btn > span,
html[lang^="ar"] .home-discovery-copy,
html[lang^="ar"] .list-card-body {
    direction: rtl;
    unicode-bidi: plaintext;
}

html[lang^="ar"] .navbar-language .form-control { direction: rtl; text-align: right; }

.product-detail-page .reviews-members img[src*="logo_web.png"],
.product-detail-page .vandorcat-list img[src*="logo_web.png"] {
    padding: 9px !important;
    background: linear-gradient(145deg, #f5fff8, #e8f8ed) !important;
    object-fit: contain !important;
}

.order-history-page .order_img[src*="logo_web.png"] {
    padding: 17px !important;
    background: linear-gradient(145deg, #f5fff8, #e8f8ed) !important;
    object-fit: contain !important;
}

.restaurant-coupon-toast {
    position: fixed;
    z-index: 99999;
    left: 50%;
    bottom: 32px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 18px;
    border: 1px solid #bfe8cf;
    border-radius: 12px;
    color: #138f45;
    background: #f3fcf6;
    box-shadow: 0 14px 38px rgba(18, 79, 42, .18);
    font-weight: 750;
    opacity: 0;
    transform: translate(-50%, 15px);
    transition: opacity .2s, transform .2s;
}
.restaurant-coupon-toast.show { opacity: 1; transform: translate(-50%, 0); }

.restaurant-directory-page .discount-price {
    position: absolute;
    z-index: 3;
    right: 10px;
    bottom: 10px;
    padding: 7px 10px;
    border-radius: 9px;
    color: #fff;
    background: #16a34a;
    box-shadow: 0 6px 15px rgba(22, 163, 74, .25);
    font-size: 10px;
    font-weight: 800;
}

.vendor-page .banner-small-pic[src*="logo_web.png"],
.vendor-page .vandorcat-list img[src*="logo_web.png"] {
    padding: 18% !important;
    background: linear-gradient(145deg, #f5fff8, #e8f8ed) !important;
    object-fit: contain !important;
}

.st-brands-page .vandorcat-list img[src*="logo_web.png"] {
    padding: 8px !important;
    background: linear-gradient(145deg, #f5fff8, #e8f8ed) !important;
    object-fit: contain !important;
}

.home-redesign .coupon_code_copied_div {
    position: fixed !important;
    z-index: 99999;
    left: 50%;
    bottom: 30px;
    width: max-content;
    margin: 0 !important;
    padding: 11px 17px;
    border: 1px solid #bfe8cf;
    border-radius: 11px;
    color: #138f45;
    background: #f3fcf6;
    box-shadow: 0 14px 38px rgba(18,79,42,.18);
    transform: translateX(-50%);
}

@media (min-width: 992px) {
    .foodie-navbar-actions .desktop-menu-toggle,
    .foodie-navbar-actions .hc-nav-trigger.desktop-menu-toggle {
        display: none !important;
    }
}

@media (max-width: 1199.98px) {
    .section-header .header-main .container { width: min(100% - 20px, 1140px); }
    .navbar-brand-col { flex-basis: 160px; width: 160px; max-width: 160px; }
    .navbar-brand-col .brand-wrap img { width: 150px; }
    .navbar-actions-col { padding-left: 13px; }
    .foodie-navbar-actions { gap: 1px; }
    .foodie-navbar-actions .nav-action { padding: 0 6px; }
    .navbar-language { padding: 0 3px; }
}

@media (max-width: 991.98px) {
    .section-header .header-main,
    .foodie-navbar-row { min-height: 68px; }
    .navbar-brand-col { flex: 0 0 145px; width: 145px; max-width: 145px; }
    .navbar-brand-col .brand-wrap img { width: 135px; }
    .navbar-location-col { max-width: none; }
    .navbar-actions-col { flex: 0 0 auto; padding-left: 8px; }
    .foodie-navbar-actions .nav-action,
    .navbar-account-dropdown,
    .navbar-delivery-toggle,
    .navbar-language { display: none !important; }
    .foodie-navbar-actions .desktop-menu-toggle { display: block; position: relative; top: auto; right: auto; margin: 0 0 0 4px; }
}

@media (max-width: 575.98px) {
    .section-header .header-main .container { width: calc(100% - 16px); }
    .navbar-brand-col { flex-basis: 118px; width: 118px; max-width: 118px; padding-right: 8px; }
    .navbar-brand-col .brand-wrap img { width: 112px; }
    .navbar-location-col { min-width: 0; }
    .navbar-location-picker .head-loc i { margin-right: 5px !important; }
    .header-main .navbar-location-picker #user_locationnew { max-width: 115px; font-size: 10px; }
    .navbar-location-picker .dropdown-toggle { min-height: 42px; padding-left: 9px !important; padding-right: 25px !important; }
    .navbar-location-picker .dropdown-toggle::after { right: 9px !important; }
}

/* About page */
.about-page { overflow: hidden; background: #fff; }

.about-page .container { max-width: 1140px; }

.about-page h1,
.about-page h2,
.about-page h3 { color: var(--foodie-ink); letter-spacing: -.035em; }

.about-page p { color: var(--foodie-muted); line-height: 1.75; }

.about-eyebrow {
    display: inline-block;
    margin-bottom: 12px;
    color: var(--foodie-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .14em;
}

.about-hero {
    padding: 54px 0;
    background:
        radial-gradient(circle at 88% 15%, rgba(32, 183, 90, .15), transparent 27%),
        linear-gradient(135deg, #f8fcfa 0%, #eef9f2 100%);
}

.about-hero-grid {
    min-height: 470px;
    display: grid;
    grid-template-columns: 1.02fr .98fr;
    align-items: center;
    gap: 70px;
}

.about-hero-copy h1 {
    max-width: 620px;
    margin: 0 0 18px;
    font-size: clamp(40px, 5vw, 66px);
    font-weight: 800;
    line-height: 1.06;
}

.about-hero-copy > p { max-width: 590px; margin-bottom: 28px; font-size: 16px; }

.about-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.about-hero-actions .btn { min-width: 164px; padding: 13px 22px; }
.about-outline-btn { border: 1px solid rgba(32, 183, 90, .42); color: var(--foodie-green-dark); background: #fff; }
.about-outline-btn:hover { border-color: var(--foodie-green); color: #fff; background: var(--foodie-green); }

.about-hero-visual {
    position: relative;
    min-height: 390px;
    border-radius: 42% 58% 58% 42% / 42% 40% 60% 58%;
    background: linear-gradient(145deg, #d6f3e1, #a8e4bf);
}

.about-visual-ring { position: absolute; border: 1px solid rgba(255, 255, 255, .55); border-radius: 50%; }
.about-ring-one { inset: 42px; }
.about-ring-two { inset: 92px; }

.about-visual-logo {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 230px;
    height: 150px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: translate(-50%, -50%);
    border: 1px solid rgba(255, 255, 255, .65);
    border-radius: 28px;
    background: rgba(255, 255, 255, .88);
    box-shadow: 0 24px 55px rgba(20, 92, 53, .13);
}

.about-visual-logo img {
    width: 170px;
    filter: brightness(0) saturate(100%) invert(55%) sepia(82%) saturate(510%) hue-rotate(88deg) brightness(90%) contrast(88%);
}

.about-float-card {
    position: absolute;
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 13px 16px;
    border: 1px solid rgba(255, 255, 255, .7);
    border-radius: 13px;
    color: var(--foodie-ink);
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 14px 32px rgba(20, 92, 53, .11);
    font-size: 12px;
    font-weight: 650;
}

.about-float-card i { color: var(--foodie-green); font-size: 18px; }
.about-float-top { top: 60px; left: -32px; }
.about-float-bottom { right: -22px; bottom: 55px; }

.about-story-section { padding: 92px 0; }
.about-story-grid { display: grid; grid-template-columns: .86fr 1.14fr; align-items: center; gap: 72px; }
.about-section-heading h2,
.about-centered-heading h2 { margin: 0 0 16px; font-size: clamp(30px, 4vw, 44px); font-weight: 750; line-height: 1.16; }
.about-section-heading > p { font-size: 15px; }

.about-story-card {
    position: relative;
    padding: 38px 38px 34px;
    border: 1px solid var(--foodie-line);
    border-radius: 22px;
    background: #fff;
    box-shadow: var(--foodie-shadow-hover);
}

.about-story-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 36px;
    width: 90px;
    height: 4px;
    border-radius: 0 0 8px 8px;
    background: var(--foodie-green);
}

.about-story-icon,
.about-value-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--foodie-green);
    background: var(--foodie-green-soft);
}

.about-story-icon { width: 52px; height: 52px; margin-bottom: 18px; border-radius: 15px; font-size: 23px; }
.about-story-card .content { color: #535b67; font-size: 15px; line-height: 1.8; }
.about-story-card .content > *:last-child { margin-bottom: 0; }

.about-values-section { padding: 88px 0; background: var(--foodie-canvas); }
.about-centered-heading { max-width: 680px; margin: 0 auto 42px; text-align: center; }
.about-values-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.about-value-card {
    padding: 30px;
    border: 1px solid var(--foodie-line);
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(22, 28, 45, .05);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.about-value-card:hover { transform: translateY(-4px); border-color: rgba(32, 183, 90, .28); box-shadow: var(--foodie-shadow-hover); }
.about-value-icon { width: 54px; height: 54px; margin-bottom: 22px; border-radius: 16px; font-size: 23px; }
.about-value-card h3 { margin-bottom: 10px; font-size: 18px; font-weight: 700; }
.about-value-card p { margin: 0; font-size: 13px; }

.about-process-section { padding: 88px 0; }
.about-process-panel { padding: 50px; border-radius: 25px; color: #fff; background: linear-gradient(135deg, var(--foodie-green-dark), var(--foodie-green)); box-shadow: 0 22px 50px rgba(20, 148, 71, .18); }
.about-process-panel .about-eyebrow { color: rgba(255, 255, 255, .72); }
.about-process-panel h2 { max-width: 600px; color: #fff; }
.about-process-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 38px; }
.about-process-item { display: flex; align-items: flex-start; gap: 15px; }
.about-process-item > span { font-size: 13px; font-weight: 800; color: rgba(255, 255, 255, .55); }
.about-process-item h3 { margin: 0 0 7px; color: #fff; font-size: 18px; font-weight: 700; }
.about-process-item p { margin: 0; color: rgba(255, 255, 255, .76); font-size: 12px; }

.about-cta-section { padding: 0 0 88px; }
.about-cta-panel { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 38px 42px; border: 1px solid rgba(32, 183, 90, .19); border-radius: 22px; background: var(--foodie-green-soft); }
.about-cta-panel h2 { margin: 0; font-size: clamp(25px, 3vw, 34px); font-weight: 750; }
.about-cta-panel .btn { padding: 13px 20px; color: #fff; background: var(--foodie-green); white-space: nowrap; }
.about-cta-panel .btn i { margin-left: 8px; }

@media (max-width: 991.98px) {
    .about-hero-grid { grid-template-columns: 1fr; gap: 35px; }
    .about-hero-copy { text-align: center; }
    .about-hero-copy > p { margin-left: auto; margin-right: auto; }
    .about-hero-actions { justify-content: center; }
    .about-hero-visual { width: min(100%, 560px); margin: auto; }
    .about-story-grid { grid-template-columns: 1fr; gap: 34px; }
    .about-values-grid { grid-template-columns: 1fr; }
}

@media (max-width: 767.98px) {
    .about-hero { padding: 38px 0; }
    .about-hero-grid { min-height: 0; }
    .about-hero-copy h1 { font-size: 38px; }
    .about-hero-visual { min-height: 300px; }
    .about-visual-logo { width: 190px; height: 125px; }
    .about-visual-logo img { width: 140px; }
    .about-float-top { top: 28px; left: 12px; }
    .about-float-bottom { right: 10px; bottom: 28px; }
    .about-story-section,
    .about-values-section,
    .about-process-section { padding: 60px 0; }
    .about-story-card { padding: 30px 24px; }
    .about-process-panel { padding: 34px 24px; }
    .about-process-grid { grid-template-columns: 1fr; }
    .about-cta-section { padding-bottom: 60px; }
    .about-cta-panel { flex-direction: column; align-items: flex-start; padding: 30px 24px; }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}

/* Offers page */
.offers-page {
    min-height: 62vh;
    padding: 32px 0 64px;
    background:
        radial-gradient(circle at 92% 4%, rgba(32, 183, 90, .10), transparent 25%),
        var(--foodie-canvas);
}

.offers-page .offers-container { max-width: 1140px; }

.offers-page .offers-hero {
    position: relative;
    overflow: hidden;
    padding: 34px 38px;
    border-radius: 22px;
    color: #fff;
    background: linear-gradient(125deg, var(--foodie-green-dark), var(--foodie-green));
    box-shadow: 0 18px 44px rgba(20, 148, 71, .20);
}

.offers-page .offers-hero::before,
.offers-page .offers-hero::after {
    content: "";
    position: absolute;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 50%;
}

.offers-page .offers-hero::before {
    width: 220px;
    height: 220px;
    right: -48px;
    top: -118px;
}

.offers-page .offers-hero::after {
    width: 120px;
    height: 120px;
    right: 80px;
    bottom: -82px;
}

.offers-hero-content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 20px;
}

.offers-hero-icon {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .28);
    border-radius: 17px;
    background: rgba(255, 255, 255, .16);
    font-size: 27px;
}

.offers-eyebrow {
    display: block;
    margin-bottom: 5px;
    color: rgba(255, 255, 255, .76);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .12em;
}

.offers-page .offers-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(25px, 3vw, 34px);
    font-weight: 750;
    letter-spacing: -.035em;
}

.offers-page .offers-hero p {
    margin: 6px 0 0;
    color: rgba(255, 255, 255, .84);
    font-size: 14px;
}

.offers-page #coupons_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    margin-top: 28px;
}

.offers-page .res-search-list .offer-card-wrap {
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.offers-page .offer-card {
    position: relative;
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--foodie-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: var(--foodie-shadow);
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.offers-page .offer-card:hover {
    transform: translateY(-3px);
    border-color: rgba(32, 183, 90, .28);
    box-shadow: var(--foodie-shadow-hover);
}

.offers-page .offer-card-main {
    display: grid;
    grid-template-columns: 76px minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    min-height: 176px;
    padding: 22px;
}

.offers-page .res-search-list .offer-card .offer-card-main {
    width: 100%;
    display: grid;
}

.offer-card-image {
    width: 76px;
    height: 76px;
    overflow: hidden;
    padding: 8px;
    border-radius: 20px;
    background: var(--foodie-green-soft);
}

.offer-card-image img {
    width: 100%;
    height: 100%;
    border-radius: 14px;
    object-fit: cover;
}

.offer-card-content { min-width: 0; }

.offer-expiry {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 7px;
    color: var(--foodie-muted);
    font-size: 11px;
    font-weight: 500;
}

.offer-expiry i { color: var(--foodie-green); }

.offers-page .transactions-list .media-body .offer-des {
    margin: 0 0 12px;
    color: var(--foodie-ink);
    font-size: 15px;
    font-weight: 650;
    line-height: 1.4;
    text-transform: none;
}

.offer-code {
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    border: 1px dashed rgba(32, 183, 90, .55);
    border-radius: 9px;
    background: var(--foodie-green-soft);
}

.offers-page .transactions-list .media-body .offercoupan.offer-code {
    display: inline-flex;
    margin: 0 !important;
    padding: 0;
    border: 1px dashed rgba(32, 183, 90, .55);
    border-radius: 9px;
    color: var(--foodie-green-dark);
    background: var(--foodie-green-soft);
    letter-spacing: normal;
}

.offer-code > span {
    padding: 7px 10px;
    color: var(--foodie-green-dark);
    font-size: 12px;
    font-weight: 750;
    letter-spacing: .08em;
}

.offer-code > a {
    align-self: stretch;
    display: inline-flex;
    align-items: center;
    padding: 0 10px;
    border-left: 1px dashed rgba(32, 183, 90, .4);
    color: var(--foodie-green-dark);
}

.offer-code > a:hover { background: rgba(32, 183, 90, .12); }

.offer-value {
    min-width: 68px;
    padding-left: 18px;
    border-left: 1px dashed #dce1e8;
    text-align: center;
}

.offer-value strong {
    display: block;
    color: var(--foodie-green-dark);
    font-size: 25px;
    line-height: 1;
}

.offer-value span {
    display: block;
    margin-top: 5px;
    color: var(--foodie-muted);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .12em;
}

.offers-page .offer-address {
    margin-top: 11px;
    font-size: 12px;
}

.offers-page .offer-address a { color: var(--foodie-muted); }
.offers-page .offer-address a:hover { color: var(--foodie-green); }
.offers-page .transactions-list .media-body .app-off-btn {
    position: static;
    margin-top: 10px;
    color: var(--foodie-muted);
    font-size: 12px;
}

.offers-page .coupon_code_copied_div {
    width: fit-content;
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 18px auto 0;
    padding: 10px 16px;
    border: 1px solid rgba(32, 183, 90, .22);
    border-radius: 10px;
    color: var(--foodie-green-dark);
    background: var(--foodie-green-soft);
    font-weight: 650;
}

.offers-page .fu-loadmore-btn {
    justify-content: center;
    margin-top: 28px;
}

.offers-page .loadmore-btn {
    padding: 11px 24px;
    border-color: var(--foodie-green);
    color: #fff;
    background: var(--foodie-green);
}

.offers-page .offers-empty {
    margin-top: 28px;
    border: 1px dashed #d8dde5;
    border-radius: 18px;
    background: #fff;
}

@media (max-width: 991.98px) {
    .offers-page #coupons_list { grid-template-columns: 1fr; }
}

@media (max-width: 575.98px) {
    .offers-page { padding: 18px 0 42px; }
    .offers-page .offers-hero { padding: 25px 20px; border-radius: 16px; }
    .offers-hero-icon { width: 48px; height: 48px; flex-basis: 48px; border-radius: 14px; }
    .offers-page .offers-hero p { display: none; }
    .offers-page .offer-card-main {
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 13px;
        padding: 17px;
    }
    .offer-card-image { width: 58px; height: 58px; padding: 6px; border-radius: 15px; }
    .offer-value {
        grid-column: 1 / -1;
        display: flex;
        align-items: baseline;
        justify-content: flex-end;
        gap: 5px;
        padding: 13px 0 0;
        border-left: 0;
        border-top: 1px dashed #dce1e8;
    }
    .offer-value strong { font-size: 21px; }
    .offer-value span { margin-top: 0; }
}

/* Shared Firestore-managed footer */
.section-footer {
    position: relative;
    overflow: hidden;
    color: #c7cbd3;
    background:
        radial-gradient(circle at 8% 0, rgba(32, 183, 90, .13), transparent 25%),
        linear-gradient(145deg, #151a17 0%, #101311 58%, #0c0e0d 100%) !important;
}

.section-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--foodie-green), #72db9c, var(--foodie-green));
}

.section-footer .footerTemplate { position: relative; z-index: 1; }

.section-footer .container {
    width: min(100% - 32px, 1140px);
    max-width: 1140px;
}

.section-footer .footer-top {
    padding-top: 62px !important;
    padding-bottom: 48px !important;
}

.section-footer .footer-top .row { row-gap: 34px; }

.section-footer .logo-footer,
.section-footer #footer_logo_web {
    display: block;
    width: auto;
    max-width: 175px;
    max-height: 58px;
    margin-bottom: 22px !important;
}

.section-footer .footer-about p {
    max-width: 455px;
    margin-bottom: 24px;
    color: #aeb5bf !important;
    font-size: 14px;
    line-height: 1.85;
}

.section-footer .title {
    position: relative;
    margin-bottom: 26px !important;
    padding-bottom: 13px;
    color: #fff !important;
    font-size: 15px;
    font-weight: 750;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.section-footer .title::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 72px;
    height: 2px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .24);
}

.section-footer .title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 34px !important;
    height: 2px !important;
    border-radius: 10px;
    background: var(--foodie-green) !important;
}

.section-footer ul { margin-bottom: 0; }

.section-footer ul li { margin-bottom: 13px; }

.section-footer ul li a {
    position: relative;
    display: inline-flex;
    align-items: center;
    color: #b8bec7 !important;
    font-size: 14px;
    line-height: 1.5;
}

.section-footer ul li a::before {
    content: "";
    width: 0;
    height: 1px;
    margin-right: 0;
    background: var(--foodie-green);
    transition: width .2s ease, margin-right .2s ease;
}

.section-footer ul li a:hover { color: #fff !important; }

/* Remove accidental rich-text highlighting stored inside footer link labels. */
.section-footer ul li a mark,
.section-footer ul li a span,
.section-footer ul li a font,
.section-footer ul li a * {
    color: inherit !important;
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
}

.section-footer ul li a:hover::before {
    width: 12px;
    margin-right: 7px;
}

/* Complete homepage visual refresh */
.home-redesign {
    overflow: hidden;
    color: var(--foodie-ink);
    background: #fff;
}

.home-redesign .multi-vendore-content { padding-top: 0; }

.home-redesign .container { max-width: 1140px; }

.home-redesign .ecommerce-banner {
    padding: 26px 0 10px;
    background:
        radial-gradient(circle at 90% 5%, rgba(32, 183, 90, .11), transparent 25%),
        linear-gradient(180deg, #f5fbf7, #fff);
}

.home-redesign .ecommerce-banner .ecommerce-inner {
    width: min(100% - 32px, 1140px);
    margin: auto;
}

.home-redesign #top_banner {
    overflow: hidden;
    border-radius: 24px;
    background: #eaf7ef;
    box-shadow: 0 18px 45px rgba(20, 92, 53, .13);
}

.home-redesign #top_banner .slick-list,
.home-redesign #top_banner .banner-img,
.home-redesign #top_banner .banner-img a { border-radius: inherit; }

.home-redesign #top_banner .banner-img img {
    width: 100%;
    height: clamp(280px, 31vw, 440px);
    display: block;
    border-radius: 24px;
    object-fit: cover;
}

.home-redesign #top_banner .slick-dots { bottom: 16px !important; }
.home-redesign #top_banner .slick-dots li button::before {
    width: 8px;
    height: 8px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .75);
}
.home-redesign #top_banner .slick-dots li.slick-active button::before {
    width: 24px;
    background: var(--foodie-green) !important;
}

.home-redesign .restaurant_stories {
    padding: 28px 0 4px;
    background: #fff;
}

.home-redesign .swiper-stories {
    padding: 14px 18px;
    border: 1px solid var(--foodie-line);
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 7px 22px rgba(22, 28, 45, .05);
}

.home-redesign .stories.carousel .story > .item-link > .item-preview {
    border: 3px solid #fff;
    border-radius: 50%;
    outline: 2px solid rgba(32, 183, 90, .55);
    box-shadow: 0 5px 14px rgba(22, 28, 45, .10);
}

.home-redesign .stories.carousel .story > .item-link > .info .name {
    color: var(--foodie-ink);
    font-size: 11px;
    font-weight: 650;
}

.home-redesign .multi-vendore-content > section { padding: 40px 0; margin: 0; }
.home-redesign .multi-vendore-content > section:nth-of-type(odd) { background: #fff; }
.home-redesign .multi-vendore-content > section:nth-of-type(even) { background: var(--foodie-canvas); }

.home-redesign section > .container > .title,
.home-redesign .category-content > .title {
    position: relative;
    min-height: 46px;
    margin-bottom: 24px;
    padding: 0 0 14px;
    border-bottom: 1px solid var(--foodie-line);
}

.home-redesign section > .container > .title::after,
.home-redesign .category-content > .title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 48px;
    height: 3px;
    border-radius: 5px;
    background: var(--foodie-green);
}

.home-redesign section .title h5,
.home-redesign .category-content .title h5 {
    margin: 0;
    color: var(--foodie-ink);
    font-size: clamp(20px, 2.2vw, 26px);
    font-weight: 750;
    letter-spacing: -.035em;
}

.home-redesign .see-all a {
    display: inline-flex;
    align-items: center;
    padding: 8px 13px;
    border: 1px solid rgba(32, 183, 90, .22);
    border-radius: 9px;
    color: var(--foodie-green-dark);
    background: var(--foodie-green-soft);
    font-size: 11px;
    font-weight: 700;
}

.home-redesign .see-all a::after {
    content: "\2192";
    margin-left: 7px;
    transition: transform .2s ease;
}
.home-redesign .see-all a:hover { color: #fff; background: var(--foodie-green); }
.home-redesign .see-all a:hover::after { transform: translateX(3px); }

.home-redesign .top_categories > .row,
.home-redesign #most_popular_item > .row,
.home-redesign #most_popular_store > .row,
.home-redesign #home_favourite_restaurants > .row,
.home-redesign #new_arrival > .row,
.home-redesign #offers_coupons > .row,
.home-redesign #all_stores > .row,
.home-redesign .category-content > .row {
    margin-right: -10px;
    margin-left: -10px;
}

.home-redesign .home-favourite-remove,
.home-redesign .home-food-favourite-remove {
    z-index: 6;
    top: 11px;
    right: 11px;
    width: 34px;
    height: 34px;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, .75);
    border-radius: 50%;
    background: rgba(255, 255, 255, .94);
    color: #ef3340;
    box-shadow: 0 5px 14px rgba(22, 33, 28, .16);
    cursor: pointer;
}

.home-redesign .home-favourite-remove:hover,
.home-redesign .home-favourite-remove:focus,
.home-redesign .home-favourite-remove:active,
.home-redesign .home-food-favourite-remove:hover,
.home-redesign .home-food-favourite-remove:focus,
.home-redesign .home-food-favourite-remove:active {
    background: #fff !important;
    color: #d91f2c !important;
    border-color: #fff !important;
    outline: none;
}

.home-redesign .home-favourite-remove:disabled,
.home-redesign .home-food-favourite-remove:disabled { opacity: .55; cursor: wait; }
.home-redesign .home-favourite-group + .home-favourite-group { margin-top: 28px; }
.home-redesign .home-favourite-group-heading { display: flex; align-items: center; justify-content: space-between; margin: 0 0 14px; }
.home-redesign .home-favourite-group-heading h6 { margin: 0; color: #1c2b22; font-size: 17px; font-weight: 750; }
.home-redesign .home-favourite-group-heading a { color: #14984b; font-size: 11px; font-weight: 700; }
.home-redesign .home-favourite-food-card .list-card-image img { height: 180px; object-fit: cover; }

/* One calm outline treatment for homepage navigation actions. */
.home-redesign .see-all a,
.home-redesign .home-photo-hero-copy > div > a,
.home-redesign .home-dummy-picks > .container > .title > a,
.home-redesign .home-favourite-group-heading > a,
.home-redesign .fu-loadmore-btn .loadmore-btn {
    min-height: 44px;
    padding: 10px 17px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px solid #18a854 !important;
    border-radius: 13px !important;
    color: #087b38 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 750 !important;
    line-height: 1 !important;
    text-decoration: none !important;
    transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease !important;
}
.home-redesign .see-all a:hover,
.home-redesign .home-photo-hero-copy > div > a:hover,
.home-redesign .home-dummy-picks > .container > .title > a:hover,
.home-redesign .home-favourite-group-heading > a:hover,
.home-redesign .fu-loadmore-btn .loadmore-btn:hover {
    color: #087b38 !important;
    border-color: #0e9144 !important;
    background: #f2fbf5 !important;
    transform: translateY(-1px);
}
.home-redesign .see-all a::after { margin-left: 1px; }
.home-redesign .see-all a:hover::after { transform: translateX(2px); }

@keyframes homeArrowNudge {
    0%, 84%, 100% { transform: translateX(0); }
    92% { transform: translateX(3px); }
}
.home-redesign .feather-arrow-right {
    animation: homeArrowNudge 4.5s ease-in-out infinite !important;
}
.home-redesign a:hover .feather-arrow-right { animation: none !important; transform: translateX(2px); }

.home-redesign .product-list,
.home-redesign .pro-list {
    padding-right: 10px;
    padding-left: 10px;
    padding-bottom: 20px;
}

.home-redesign .list-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid var(--foodie-line) !important;
    border-radius: 17px !important;
    background: #fff;
    box-shadow: 0 7px 22px rgba(22, 28, 45, .06) !important;
}

.home-redesign .list-card:hover {
    transform: translateY(-4px);
    border-color: rgba(32, 183, 90, .3) !important;
    box-shadow: 0 16px 34px rgba(22, 28, 45, .11) !important;
}

.home-redesign .product-list .list-card-image,
.home-redesign .pro-list .list-card-image {
    position: relative;
    height: 190px;
    overflow: hidden;
    background: #edf3ef;
}

.home-redesign .product-list .list-card-image .item-img,
.home-redesign .pro-list .list-card-image .item-img {
    width: 100%;
    height: 190px;
    min-height: 190px;
    max-height: 190px;
    object-fit: cover;
}

/* Branded empty-image state. Real category, food and restaurant photos keep
   their normal edge-to-edge treatment. */
.home-redesign .top_categories .cat-img,
.home-redesign .list-card-image:has(img[src*="logo_web.png"]) {
    background: linear-gradient(145deg, #f5fff8 0%, #e8f8ed 100%) !important;
}

.home-redesign .top_categories .cat-img img {
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 22% !important;
    object-fit: contain !important;
}

.home-redesign .list-card-image img[src*="logo_web.png"] {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    margin: 0 !important;
    padding: 16% 30% !important;
    object-fit: contain !important;
}

/* Full Categories directory: use the same green brand treatment as Home. */
.category-listing-page .brand-list .list-card-image > a {
    background: linear-gradient(145deg, #f5fff8 0%, #e8f8ed 100%) !important;
    border-color: #d7eadf !important;
}

.category-listing-page .brand-list .list-card-image img[src*="logo_web.png"] {
    width: 100% !important;
    height: 120px !important;
    min-height: 120px !important;
    padding: 24% !important;
    border-radius: 14px !important;
    object-fit: contain !important;
}

.category-listing-page .brand-list .list-card-image img.category-demo-photo {
    display: block;
    width: 100% !important;
    height: 140px !important;
    min-height: 140px !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 14px 14px 0 0 !important;
    object-fit: cover !important;
    filter: none !important;
}

/* Products directory branded placeholder. */
.st-brands-page .product-list .list-card-image:has(img[src*="logo_web.png"]) {
    background: linear-gradient(145deg, #f5fff8 0%, #e8f8ed 100%) !important;
}

.st-brands-page .product-list .item-img[src*="logo_web.png"] {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: 15% 30% !important;
    object-fit: contain !important;
}

.home-redesign .list-card > .py-2,
.home-redesign .list-card > .p-3 { padding: 16px !important; }

.home-redesign .list-card-body h6.popul-title,
.home-redesign .list-card-body h6.mb-1 { margin-bottom: 7px !important; }

.home-redesign .list-card-body h6 a {
    color: var(--foodie-ink) !important;
    font-size: 14px;
    font-weight: 700;
}

.home-redesign .list-card-body h6 a:hover { color: var(--foodie-green) !important; }

/* A single visual system for every restaurant and food card on Home. */
.home-redesign #most_popular_item .list-card,
.home-redesign #most_popular_store .list-card,
.home-redesign #new_arrival .list-card,
.home-redesign #all_stores .list-card,
.home-redesign #home_favourite_restaurants .list-card,
.home-redesign #home_favourite_foods .list-card {
    display: flex;
    min-height: 350px;
    flex-direction: column;
}
.home-redesign #most_popular_item .list-card > .py-2,
.home-redesign #most_popular_store .list-card > .py-2,
.home-redesign #new_arrival .list-card > .py-2,
.home-redesign #all_stores .list-card > .py-2,
.home-redesign #home_favourite_restaurants .list-card > .py-2,
.home-redesign #home_favourite_foods .list-card > .py-2 {
    display: flex;
    flex: 1;
}
.home-redesign .list-card-body {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.home-redesign .list-card-body .home-card-description {
    min-height: 31px;
    margin: 0 0 7px;
    display: -webkit-box;
    overflow: hidden;
    color: #78847d;
    font-size: 9.5px;
    line-height: 1.6;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.home-redesign .list-card-body .star { margin-top: auto !important; }

.home-redesign .list-card-body .address,
.home-redesign .list-card-body .cat-title {
    min-height: 34px;
    overflow: hidden;
    color: var(--foodie-muted) !important;
    font-size: 10px !important;
    line-height: 1.65;
}

.home-redesign .list-card-body .address .fa { margin-right: 5px; color: var(--foodie-green); }

.home-redesign .list-card .member-plan {
    z-index: 2;
    top: 11px;
    left: 11px;
}

.home-redesign .list-card .member-plan .badge {
    padding: 6px 9px;
    border: 1px solid rgba(255, 255, 255, .38);
    border-radius: 8px;
    color: #fff;
    background: rgba(32, 183, 90, .94) !important;
    box-shadow: 0 5px 13px rgba(0, 0, 0, .12);
    font-size: 9px;
    text-transform: uppercase;
}
.home-redesign .list-card .member-plan .badge.closed { background: rgba(43, 48, 55, .9) !important; }

.home-redesign .list-card .star { margin-top: 12px !important; }
.home-redesign .list-card .star .badge {
    padding: 6px 9px;
    border-radius: 8px;
    color: var(--foodie-green-dark);
    background: var(--foodie-green-soft);
    font-size: 9px;
}
.home-redesign .list-card .star .badge i { margin-right: 4px; }

.home-redesign .list-card .pro-price {
    color: var(--foodie-green-dark) !important;
    font-size: 14px;
    font-weight: 700;
}
.home-redesign .list-card .pro-price s { margin-left: 5px; color: #9ba1aa; font-size: 11px; font-weight: 500; }

.home-redesign .list-card .discount-price {
    z-index: 2;
    right: 10px;
    bottom: 10px;
    padding: 6px 9px !important;
    border-radius: 8px !important;
    color: #fff;
    background: var(--foodie-green) !important;
    font-size: 9px !important;
}

.home-redesign .top_categories .row { flex-wrap: nowrap; overflow-x: auto; padding: 5px 1px 14px; scrollbar-width: thin; scrollbar-color: rgba(32,183,90,.35) transparent; }
.home-redesign .top_categories .row > * { flex: 0 0 145px; max-width: 145px; }

.home-redesign .top-cat-list .cat-link span {
    width: 112px;
    height: 112px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid var(--foodie-line);
    border-radius: 22px !important;
    background: #fff;
    box-shadow: 0 7px 19px rgba(22, 28, 45, .05);
}
.home-redesign .top-cat-list .cat-link span img { width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.home-redesign .top-cat-list .cat-link p { margin-top: 10px !important; color: var(--foodie-ink) !important; font-size: 11px !important; font-weight: 650; }

.home-redesign .offers-coupons-section { background: linear-gradient(180deg, #f3faf6, #fff) !important; }
.home-redesign #offers_coupons > .row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin: 0;
}
.home-redesign #offers_coupons .coupon-card-column {
    width: auto;
    max-width: none;
    padding: 0;
}
.home-redesign #offers_coupons .coupon-card {
    height: auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
.home-redesign #offers_coupons .coupon-card .list-card-image,
.home-redesign #offers_coupons .coupon-card .list-card-image .item-img {
    height: 170px;
    min-height: 170px;
    max-height: 170px;
}
.home-redesign #offers_coupons .coupon-card > .py-2 {
    min-height: 108px;
    padding: 14px 16px 16px !important;
}
.home-redesign #offers_coupons .coupon-card .list-card-body {
    height: 100%;
}
.home-redesign #offers_coupons .coupon-card .popul-title {
    min-height: 20px;
    margin-bottom: 10px !important;
}
.home-redesign #offers_coupons .coupon-card .offer-code {
    width: 100%;
    margin: auto 0 0 !important;
    padding: 0 !important;
    border: 0;
    background: transparent;
}
.home-redesign #offers_coupons .list-card .offer-code a {
    width: 100%;
    min-height: 34px;
    display: flex;
    align-items: center;
    padding: 7px 10px;
    border: 1px dashed rgba(32, 183, 90, .48);
    border-radius: 8px;
    color: var(--foodie-green-dark);
    background: var(--foodie-green-soft);
    font-size: 10px;
}

@media (max-width: 991.98px) {
    .home-redesign #offers_coupons > .row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 575.98px) {
    .home-redesign #offers_coupons > .row { grid-template-columns: 1fr; }
}

.home-redesign .middle-banners-section { padding: 46px 0 58px !important; background: #fff !important; }
.home-redesign .middle-banners-section .home-promo-heading { align-items: flex-end !important; }
.home-redesign .home-promo-heading h5 { margin-top: 3px; }
.home-promo-eyebrow { display: block; color: var(--foodie-green); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.home-redesign .home-promo-heading > p { margin: 0 0 3px; color: #849087; font-size: 11px; }
.home-redesign #middle_banner .slick-slide { padding: 10px; }
.home-redesign #middle_banner .banner-img {
    overflow: hidden;
    border-radius: 17px;
    box-shadow: 0 9px 25px rgba(22, 28, 45, .09);
}
.home-redesign #middle_banner .banner-img img { width: 100%; height: 210px; border-radius: inherit; object-fit: cover; transition: transform .3s ease; }
.home-redesign #middle_banner .banner-img:hover img { transform: scale(1.025); }

.home-redesign .category-content { margin-bottom: 46px !important; }
.home-redesign .category-content:last-child { margin-bottom: 0 !important; }

.home-redesign .fu-loadmore-btn { justify-content: center; margin-top: 10px; }
.home-redesign .loadmore-btn {
    min-width: 150px;
    padding: 11px 22px;
    border-color: var(--foodie-green);
    color: #fff;
    background: var(--foodie-green);
    text-align: center;
}

.home-redesign .zone-error {
    max-width: 720px;
    margin: 60px auto !important;
    padding: 48px 28px !important;
    border: 1px dashed rgba(32, 183, 90, .35);
    border-radius: 22px;
    background: var(--foodie-green-soft);
}

@media (max-width: 991.98px) {
    .home-redesign .multi-vendore-content > section { padding: 34px 0; }
    .home-redesign #top_banner .banner-img img { height: clamp(240px, 38vw, 360px); }
}

@media (max-width: 767.98px) {
    .home-redesign .ecommerce-banner { padding-top: 16px; }
    .home-redesign .ecommerce-banner .ecommerce-inner { width: calc(100% - 20px); }
    .home-redesign #top_banner,
    .home-redesign #top_banner .banner-img img { border-radius: 16px; }
    .home-redesign #top_banner .banner-img img { height: 230px; }
    .home-redesign .multi-vendore-content > section { padding: 28px 0; }
    .home-redesign section > .container > .title,
    .home-redesign .category-content > .title { margin-bottom: 18px; }
    .home-redesign section .title h5,
    .home-redesign .category-content .title h5 { font-size: 20px; }
    .home-redesign .product-list,
    .home-redesign .pro-list { margin-bottom: 0; }
    .home-redesign #middle_banner .banner-img img { height: 180px; }
}

@media (max-width: 575.98px) {
    .home-redesign #top_banner .banner-img img { height: 190px; }
    .home-redesign .see-all a { padding: 7px 10px; }
    .home-redesign .product-list .list-card-image,
    .home-redesign .pro-list .list-card-image,
    .home-redesign .product-list .list-card-image .item-img,
    .home-redesign .pro-list .list-card-image .item-img { height: 210px; min-height: 210px; max-height: 210px; }
}

.section-footer .footer-social {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.section-footer .footer-social .btn,
.section-footer a.btn-icon {
    width: 42px;
    height: 42px;
    margin: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(255, 255, 255, .10) !important;
    border-radius: 12px !important;
    color: #fff !important;
    background: rgba(255, 255, 255, .07) !important;
    box-shadow: none !important;
}

.section-footer .footer-social .btn:hover,
.section-footer a.btn-icon:hover {
    transform: translateY(-2px);
    border-color: var(--foodie-green) !important;
    background: var(--foodie-green) !important;
}

.section-footer .footer-center {
    padding: 36px 0 !important;
    border-top: 1px solid rgba(255, 255, 255, .09) !important;
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
}

.section-footer .footer-center .row { row-gap: 20px; }

.section-footer .ft-contact-box {
    height: 100%;
    min-height: 170px;
    padding: 24px 20px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
    transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.section-footer .ft-contact-box:hover {
    transform: translateY(-3px);
    border-color: rgba(32, 183, 90, .35);
    background: rgba(32, 183, 90, .055);
}

.section-footer .ft-contact-box .ft-icon {
    width: 48px;
    height: 48px;
    margin-bottom: 16px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(32, 183, 90, .24);
    border-radius: 14px;
    color: var(--foodie-green) !important;
    background: rgba(32, 183, 90, .10) !important;
    font-size: 23px;
}

.section-footer .ft-contact-box h3 {
    margin-bottom: 8px;
    color: #fff;
    font-size: 17px;
    font-weight: 700;
}

.section-footer .ft-contact-box p,
.section-footer .ft-contact-box a {
    margin: 0;
    color: #aeb5bf !important;
    font-size: 13px;
    line-height: 1.65;
}

.section-footer .footer-copyright {
    padding: 20px 0 !important;
    border: 0 !important;
    background: rgba(0, 0, 0, .20) !important;
}

.section-footer .footer-copyright p {
    margin: 0;
    color: #9299a3 !important;
    font-size: 12px;
}

.section-footer .footer-copyright img {
    max-width: 54px;
    max-height: 30px;
    object-fit: contain;
}

/* Homepage discovery panel: location remains exclusively in the navbar. */
.home-redesign .home-discovery-wrap { padding-top: 24px; padding-bottom: 24px; }
.home-redesign .home-discovery-panel {
    position: relative;
    display: grid;
    grid-template-columns: minmax(240px, .8fr) minmax(420px, 1.5fr);
    align-items: center;
    gap: 26px;
    max-width: 1040px;
    margin: 0 auto;
    padding: 18px 20px 18px 24px;
    border: 1px solid #dfe9e3;
    border-radius: 20px;
    background: linear-gradient(120deg, #f0fbf4 0%, #fff 48%);
    box-shadow: 0 14px 38px rgba(25, 68, 43, .09);
}
.home-redesign .home-discovery-copy > span { display: block; margin-bottom: 3px; color: #16a34d; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.home-redesign .home-discovery-copy > strong { display: block; color: #1d2a22; font-size: 18px; font-weight: 800; letter-spacing: -.02em; }
.home-redesign .home-discovery-panel .home-discovery-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 54px;
    margin: 0;
    border: 1px solid #dce6df;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(25, 68, 43, .07);
}
.home-redesign .home-discovery-panel .home-discovery-query { min-height: 54px; border: 0; }
.home-redesign .home-discovery-panel .home-discovery-query { cursor: text; }
.home-redesign .home-discovery-query input { width: 100%; min-width: 0; border: 0; outline: 0; background: transparent; color: #29362e; font: inherit; font-size: 14px; }
.home-redesign .home-discovery-query input::placeholder { color: #909a93; }
.home-redesign .home-discovery-query > button { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 32px; padding: 0; border: 0; border-radius: 9px; background: #eef7f2; cursor: pointer; }
.home-redesign .home-discovery-query > button i { color: #607068; font-size: 15px; }
.home-search-results { position: absolute; z-index: 50; top: calc(100% + 9px); right: 20px; display: none; width: min(610px, calc(100% - 40px)); padding: 8px; border: 1px solid #dfe8e2; border-radius: 15px; background: #fff; box-shadow: 0 18px 45px rgba(22, 52, 34, .17); }
.home-search-results.is-visible { display: block; }
.home-search-result { display: grid; grid-template-columns: 46px minmax(0, 1fr) 28px; align-items: center; gap: 11px; min-height: 62px; padding: 8px 10px; border-radius: 11px; color: #29362e; }
.home-search-result:hover { background: #eefaf3; color: #168f46; }
.home-search-result img { width: 46px; height: 46px; border-radius: 10px; object-fit: cover; background: #eef4f0; }
.home-search-result span { min-width: 0; }
.home-search-result strong,.home-search-result small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.home-search-result strong { margin-bottom: 3px; font-size: 13px; }
.home-search-result small { color: #8a948e; font-size: 10px; }
.home-search-result > i { color: #1aaa53; font-size: 16px; }
.home-search-no-results { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 74px; color: #7d8981; font-size: 12px; }
.home-search-no-results i { color: #1aaa53; }
.home-discovery-filter { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 108px; margin: 6px; padding: 0 15px; border: 0; border-radius: 10px; background: linear-gradient(135deg, #139846, #20bd5d); color: #fff; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; box-shadow: 0 7px 16px rgba(20, 160, 76, .18); }
.home-discovery-filter i { color: #fff !important; font-size: 15px !important; }
.home-discovery-filter:hover { background: #118d42; }
@media (max-width: 850px) {
    .home-redesign .home-discovery-panel { grid-template-columns: 1fr; gap: 13px; padding: 18px; }
}
@media (max-width: 520px) {
    .home-redesign .home-discovery-copy > strong { font-size: 16px; }
    .home-redesign .home-discovery-panel .home-discovery-search { grid-template-columns: minmax(0, 1fr) 48px; }
    .home-discovery-filter { min-width: 0; width: 40px; padding: 0; }
    .home-discovery-filter span { display: none; }
    .home-search-results { right: 10px; width: calc(100% - 20px); }
}

/* Homepage restaurant filters */
.all-stores-section .title .home-filter-trigger { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; margin-right: 12px; padding: 8px 13px; border: 1px solid #cfe8d9; border-radius: 11px; background: #fff; color: #168f46; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
.home-filter-trigger b { display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: #18aa51; color: #fff; font-size: 9px; }
.home-filter-overlay { position: fixed; inset: 0; z-index: 11000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(13, 25, 18, .68); backdrop-filter: blur(5px); opacity: 0; visibility: hidden; transition: .22s ease; }
.home-filter-overlay.is-visible { opacity: 1; visibility: visible; }
body.home-filter-open { overflow: hidden; }
.home-filter-modal { display: flex; flex-direction: column; width: min(760px, 100%); max-height: min(680px, calc(100vh - 40px)); overflow: hidden; border-radius: 22px; background: #fff; box-shadow: 0 28px 90px rgba(0,0,0,.3); }
.home-filter-modal > header { display: flex; align-items: center; justify-content: space-between; padding: 20px 24px; border-bottom: 1px solid #e6ece8; }
.home-filter-modal > header span { color: #18a950; font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-filter-modal > header h2 { margin: 2px 0 0; color: #1b2820; font-size: 25px; font-weight: 850; }
.home-filter-modal > header button { display: grid; place-items: center; width: 38px; height: 38px; border: 0; border-radius: 11px; background: #f0f7f3; color: #334239; font-size: 20px; cursor: pointer; }
.home-filter-body { display: grid; grid-template-columns: 190px minmax(0,1fr); min-height: 390px; overflow: hidden; }
.home-filter-tabs { padding: 14px 0; background: #f7f9f8; border-right: 1px solid #e7ece9; }
.home-filter-tabs button { display: block; width: 100%; min-height: 58px; padding: 12px 22px; border: 0; border-left: 3px solid transparent; background: transparent; color: #536159; font: inherit; font-size: 14px; font-weight: 650; text-align: left; cursor: pointer; }
.home-filter-tabs button:focus { outline: none; box-shadow: inset 0 0 0 2px rgba(25, 174, 84, .15); }
.home-filter-tabs button.active { border-left-color: #1ab057; background: #fff; color: #149448; }
.home-filter-panels { padding: 26px 28px; overflow-y: auto; }
.home-filter-panel { display: none; }
.home-filter-panel.active { display: block; }
.home-filter-panel h3 { margin-bottom: 19px; color: #26342b; font-size: 16px; font-weight: 800; }
.home-filter-panel > label,
.home-filter-options label { display: flex; align-items: center; gap: 11px; min-height: 45px; margin: 0; color: #56635b; font-size: 14px; cursor: pointer; }
.home-filter-panel input[type="radio"], .home-filter-panel input[type="checkbox"] { width: 18px; height: 18px; accent-color: #19ac53; }
.home-filter-panel > label input[type="radio"],
.home-filter-options label input[type="checkbox"] { position: static !important; flex: 0 0 18px; margin: 0 !important; opacity: 1 !important; }
.home-cuisine-search { display: flex; align-items: center; gap: 9px; height: 46px; margin-bottom: 15px; padding: 0 13px; border: 1px solid #dce5df; border-radius: 11px; }
.home-cuisine-search i { color: #18a950; }
.home-cuisine-search input { width: 100%; border: 0; outline: 0; color: #36433a; font: inherit; }
.home-filter-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.home-rating-options { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.home-rating-options label { position: relative; display: block; min-width: 0; min-height: 82px; margin: 0; cursor: pointer; }
.home-rating-options input { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; }
.home-rating-options span { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 82px; padding: 12px; border: 1px solid #dfe8e2; border-radius: 14px; background: #fafcfb; color: #59665e; font-size: 14px; font-weight: 700; transition: border-color .18s ease, background .18s ease, color .18s ease, transform .18s ease; }
.home-rating-options span::before { content: ''; width: 18px; height: 18px; flex: 0 0 18px; border: 2px solid #bdc8c1; border-radius: 50%; background: #fff; box-shadow: inset 0 0 0 4px #fff; }
.home-rating-options label:hover span { border-color: #91d7ad; transform: translateY(-2px); }
.home-rating-options input:checked + span { border-color: #1ab057; background: #ecfaf2; color: #138e45; box-shadow: 0 7px 18px rgba(23, 160, 76, .1); }
.home-rating-options input:checked + span::before { border-color: #18a950; background: #18a950; }
.home-rating-options input:focus-visible + span { outline: 3px solid rgba(25, 174, 84, .2); outline-offset: 2px; }
.home-filter-modal > footer { display: flex; justify-content: flex-end; gap: 10px; padding: 16px 22px; border-top: 1px solid #e6ece8; }
.home-filter-modal > footer button { min-height: 44px; padding: 10px 20px; border-radius: 11px; font: inherit; font-size: 13px; font-weight: 750; cursor: pointer; }
.home-filter-clear { border: 1px solid #dfe6e2; background: #fff; color: #56625a; }
.home-filter-apply { border: 0; background: linear-gradient(135deg,#139846,#20bd5d); color: #fff; box-shadow: 0 8px 20px rgba(20,160,76,.2); }
.home-filter-empty { width: 100%; padding: 55px 20px; border: 1px dashed #d6e3db; border-radius: 18px; background: #fff; text-align: center; }
.home-filter-empty i { color: #18a950; font-size: 28px; }
.home-filter-empty h3 { margin: 12px 0 5px; font-size: 18px; }
.home-filter-empty p,.home-filter-muted { color: #849087; font-size: 13px; }
@media (max-width: 600px) {
    .home-filter-overlay { align-items: flex-end; padding: 0; }
    .home-filter-modal { max-height: 92vh; border-radius: 22px 22px 0 0; }
    .home-filter-body { grid-template-columns: 120px minmax(0,1fr); min-height: 420px; }
    .home-filter-tabs button { min-height: 55px; padding: 10px 12px; font-size: 12px; }
    .home-filter-panels { padding: 20px 15px; }
    .home-filter-options,.home-rating-options { grid-template-columns: 1fr; }
    .home-rating-options label { justify-content: flex-start; min-height: 44px; padding: 0 12px; }
    .all-stores-section .title .home-filter-trigger span { display: none; }
}

@media (max-width: 767.98px) {
    .section-footer .footer-top { padding: 42px 0 34px !important; }
    .section-footer .footer-about { text-align: center; }
    .section-footer .footer-about p { margin-left: auto; margin-right: auto; }
    .section-footer .logo-footer,
    .section-footer #footer_logo_web { margin-left: auto; margin-right: auto; }
    .section-footer .footer-social { justify-content: center; }
    .section-footer .title { margin-top: 10px; text-align: center; }
    .section-footer .title::before,
    .section-footer .title::after { left: 50%; transform: translateX(-50%); }
    .section-footer ul { text-align: center; }
    .section-footer .ft-contact-box { min-height: auto; }
    .section-footer .footer-copyright,
    .section-footer .footer-copyright .text-right { text-align: center !important; }
}

/* Final coupon hero overrides must follow the legacy offer-page rules above. */
.offers-page .transactions-banner.offers-hero {
    min-height: 246px;
    padding: 42px 54px;
    border: 1px solid #ccebd8;
    color: var(--foodie-ink);
    background: radial-gradient(circle at 75% 50%, rgba(32,183,90,.13), transparent 25%), linear-gradient(125deg,#f8fdf9,#eaf9f0);
    box-shadow: 0 18px 44px rgba(25,68,43,.09);
}
.offers-page .offers-hero .offers-hero-content { justify-content: space-between; }
.offers-page .offers-hero .offers-eyebrow { color: var(--foodie-green-dark); background: #dbf5e5; }
.offers-page .offers-hero .offers-hero-copy h1 { color: var(--foodie-ink); font-size: clamp(31px,4.2vw,50px); font-weight: 900; line-height: 1.04; }
.offers-page .offers-hero .offers-hero-copy h1 span { color: var(--foodie-green); }
.offers-page .offers-hero .offers-hero-copy p { display: block; color: #68776e; }

@media (max-width: 767.98px) {
    .offers-page .transactions-banner.offers-hero { min-height: 0; padding: 30px 24px; }
    .offers-page .offers-hero .offers-hero-copy p { display: block; }
    .offers-page .offers-hero .offers-hero-art { display: none; }
}

/* My Account workspace */
.profile-page {
    min-height: calc(100vh - 80px);
    padding: 38px 0 70px;
    background: radial-gradient(circle at 88% 2%, rgba(32,183,90,.09), transparent 27%), #f6f8f7;
}
.profile-page-container { max-width: 1140px; }
.profile-page-heading { margin-bottom: 25px; }
.profile-page-heading > span { display: block; margin-bottom: 5px; color: var(--foodie-green); font-size: 10px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.profile-page-heading h1 { margin: 0 0 6px; color: var(--foodie-ink); font-size: clamp(28px,3.4vw,38px); font-weight: 900; letter-spacing: -.045em; }
.profile-page-heading p { margin: 0; color: var(--foodie-muted); font-size: 13px; }
.profile-layout { margin-right: -10px; margin-left: -10px; }
.profile-layout > [class*="col-"] { padding-right: 10px; padding-left: 10px; }
.profile-summary-card { overflow: hidden; border: 1px solid #e0e9e3; border-radius: 21px; background: #fff; box-shadow: 0 15px 38px rgba(25,68,43,.08); }
.profile-summary-cover { height: 85px; background: radial-gradient(circle at 78% 8%,rgba(255,255,255,.26),transparent 30%), linear-gradient(130deg,#118e42,#27c566); }
.profile-summary-identity { position: relative; padding: 58px 22px 22px; text-align: center; }
.profile-summary-avatar { position: absolute; top: -45px; left: 50%; width: 90px; height: 90px; padding: 5px; overflow: hidden; border: 4px solid #fff; border-radius: 26px; background: #edf7f1; box-shadow: 0 12px 28px rgba(20,61,37,.18); transform: translateX(-50%); }
.profile-summary-avatar img { width: 100% !important; height: 100% !important; border-radius: 18px !important; object-fit: cover; }
.profile-summary-identity h5 { margin: 0 0 4px; color: #202d25; font-size: 17px; font-weight: 850; text-transform: capitalize; }
.profile-summary-identity p { max-width: 100%; margin: 0; overflow: hidden; color: #87928b; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.profile-customer-badge { width: fit-content; margin: 14px auto 0; padding: 6px 9px; display: flex; align-items: center; gap: 5px; border-radius: 999px; color: #148f45; background: #eaf9f0; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.profile-wallet-card { margin: 0 15px 14px; padding: 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid #dcebe2; border-radius: 14px; background: linear-gradient(135deg,#f5fcf8,#eaf9f0); }
.profile-wallet-card span { display: inline-flex; align-items: center; gap: 7px; color: #637068; font-size: 11px; font-weight: 700; }
.profile-wallet-card span i { color: var(--foodie-green); font-size: 15px; }
.profile-wallet-card strong { color: var(--foodie-green-dark); font-size: 20px; font-weight: 850; }
.profile-security-link { width: 100%; min-height: 66px; padding: 13px 16px; display: flex; align-items: center; gap: 11px; border: 0; border-top: 1px solid #edf1ef; color: #253029; background: #fff; text-align: left; cursor: pointer; transition: background .18s ease; }
.profile-security-link:hover { background: #f5fbf7; }
.profile-security-icon { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border-radius: 11px; color: var(--foodie-green); background: var(--foodie-green-soft); }
.profile-security-link > span:nth-child(2) { min-width: 0; display: flex; flex: 1; flex-direction: column; }
.profile-security-link strong { color: #303a34; font-size: 11px; font-weight: 800; }
.profile-security-link small { margin-top: 2px; color: #909a94; font-size: 9px; }
.profile-security-link > i { color: #a0aaa4; }
.profile-form-card { padding: 26px; border: 1px solid #e0e9e3; border-radius: 21px; background: #fff; box-shadow: 0 15px 38px rgba(25,68,43,.08); }
.profile-section-heading { margin-bottom: 24px; padding-bottom: 20px; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid #edf1ef; }
.profile-section-icon { width: 46px; height: 46px; flex: 0 0 46px; display: grid; place-items: center; border-radius: 14px; color: #fff; background: linear-gradient(145deg,#159c4a,#25bf62); font-size: 19px; box-shadow: 0 9px 20px rgba(32,183,90,.18); }
.profile-section-heading h2 { margin: 0 0 4px; color: var(--foodie-ink); font-size: 20px; font-weight: 850; }
.profile-section-heading p { margin: 0; color: #89948d; font-size: 11px; }
.profile-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }
.profile-form-grid .form-group { min-width: 0; margin: 0; }
.profile-field-wide { grid-column: 1 / -1; }
.profile-form-card label { margin-bottom: 7px; color: #47544c; font-size: 11px; font-weight: 750; }
.profile-form-card .form-control { height: 48px; padding: 10px 13px; border: 1px solid #dce5df; border-radius: 11px; color: #303a34; background: #fff; font-size: 12px; box-shadow: none; }
.profile-form-card .form-control:focus { border-color: #71ce96; box-shadow: 0 0 0 3px rgba(32,183,90,.1); }
.profile-form-card .form-control:disabled { color: #78847d; background: #f3f6f4; }
.profile-input-icon { position: relative; }
.profile-input-icon > i { position: absolute; z-index: 2; top: 50%; left: 15px; color: #96a29b; transform: translateY(-50%); }
.profile-input-icon .form-control { padding-left: 42px; }
.profile-phone-field .phone-box { width: 100%; min-height: 54px; display: grid; grid-template-columns: 230px minmax(0,1fr); align-items: stretch; border: 0; border-radius: 12px; background: #fff; box-shadow: 0 0 0 1px #dce5df; transition: box-shadow .18s ease; }
.profile-phone-field .phone-box:focus-within { box-shadow: 0 0 0 1px #71ce96, 0 0 0 4px rgba(32,183,90,.1); }
.profile-country-code { position: relative; min-width: 0; height: 52px; overflow: visible; border-right: 1px solid #dce5df; border-radius: 11px 0 0 11px; background: #f7faf8; }
.profile-phone-field .select2-container { position: relative !important; top: auto !important; left: auto !important; width: 100% !important; min-width: 0 !important; max-width: 100% !important; display: block; }
.profile-phone-field .select2-container .select2-selection--single { height: 52px; display: flex; align-items: center; border: 0 !important; border-radius: 11px 0 0 11px; background: transparent; box-shadow: none !important; }
.profile-phone-field .select2-container--focus .select2-selection--single,
.profile-phone-field .select2-container--open .select2-selection--single,
.profile-phone-field #country_selector:focus,
.profile-phone-field #phone:focus,
.profile-phone-field #phone:active {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}
.profile-phone-field .select2-container--default .select2-selection--single .select2-selection__rendered { width: 100%; max-width: none; padding-right: 34px; padding-left: 13px; color: #56635b; line-height: normal; }
.profile-phone-field .select2-selection__arrow { top: 11px !important; right: 8px !important; }
.profile-phone-field .select2-selection__clear { display: none !important; }
.profile-phone-field .user_phone { min-width: 0; height: 52px; padding-right: 16px; padding-left: 16px; border: 0 !important; border-radius: 0 11px 11px 0; font-size: 13px; box-shadow: none !important; }
.profile-phone-field #error2:empty { display: none; }
.profile-country-option { display: inline-flex; min-width: 0; align-items: center; gap: 7px; }
.profile-country-option > span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-phone-field .select2-dropdown { border-color: #dce5df; border-radius: 10px; }
.profile-photo-editor { margin-top: 21px; padding: 16px; display: flex; align-items: center; gap: 15px; border: 1px dashed #cfe1d6; border-radius: 15px; background: #f9fcfa; }
.profile-photo-preview { width: 70px; height: 70px; flex: 0 0 70px; padding: 4px; overflow: hidden; border: 1px solid #d8e5dc; border-radius: 18px; background: #fff; }
.profile-photo-preview img { width: 100% !important; height: 100% !important; border-radius: 13px !important; object-fit: cover; }
.profile-photo-copy { min-width: 0; }
.profile-photo-copy > strong { display: block; color: #2f3a33; font-size: 12px; font-weight: 800; }
.profile-photo-copy > p { margin: 3px 0 10px; color: #8b9690; font-size: 10px; }
.profile-file-button { width: fit-content; min-height: 35px; margin: 0 !important; padding: 8px 11px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid #cfe4d7; border-radius: 9px; color: var(--foodie-green-dark) !important; background: #fff; cursor: pointer; }
.profile-file-button:hover { color: #fff !important; background: var(--foodie-green); }
#profile-image-input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
#uploding_image { margin-top: 6px; color: var(--foodie-green-dark); font-size: 9px; font-weight: 700; }
.profile-save-row { margin-top: 21px; padding-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-top: 1px solid #edf1ef; }
.profile-save-row p { margin: 0; display: flex; align-items: center; gap: 6px; color: #8a958e; font-size: 10px; }
.profile-save-row p i { color: var(--foodie-green); }
.profile-save-row .save_user_btn { min-width: 150px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border: 0; border-radius: 11px; font-size: 11px; font-weight: 800; box-shadow: 0 9px 20px rgba(32,183,90,.18); }
.profile-page .profile-address-section { margin-top: 20px; padding: 25px; border: 1px solid #e0e9e3; border-radius: 21px !important; box-shadow: 0 15px 38px rgba(25,68,43,.08) !important; }

@media (max-width: 991.98px) {
    .profile-page { padding-top: 28px; }
    .profile-summary-card { position: static !important; }
}
@media (max-width: 575.98px) {
    .profile-page { padding: 24px 0 45px; }
    .profile-page-heading { padding: 0 5px; }
    .profile-form-card,.profile-page .profile-address-section { padding: 20px 16px; border-radius: 17px !important; }
    .profile-form-grid { grid-template-columns: 1fr; }
    .profile-field-wide { grid-column: auto; }
    .profile-phone-field .phone-box { grid-template-columns: 145px minmax(0,1fr); }
    .profile-photo-editor { align-items: flex-start; }
    .profile-save-row { align-items: stretch; flex-direction: column; }
    .profile-save-row .save_user_btn { width: 100%; }
}

/* Delivery address editor */
.address-editor-modal .modal-dialog { width: min(100% - 28px, 620px); max-width: 620px; margin-right: auto; margin-left: auto; }
.address-editor-modal .modal-content { overflow: hidden; border: 0; border-radius: 24px; background: #fff; box-shadow: 0 28px 75px rgba(16,38,25,.25); }
.address-editor-header { padding: 22px 24px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid #e9efeb; background: linear-gradient(135deg,#f8fdf9,#eefaf3); }
.address-editor-heading { display: flex; align-items: center; gap: 14px; }
.address-editor-heading-icon { width: 48px; height: 48px; flex: 0 0 48px; display: grid; place-items: center; border-radius: 15px; color: #fff; background: linear-gradient(145deg,#149b49,#25c365); box-shadow: 0 9px 21px rgba(32,183,90,.2); font-size: 20px; }
.address-editor-heading > div > span { display: block; margin-bottom: 2px; color: var(--foodie-green); font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.address-editor-heading h5 { margin: 0 0 3px; color: var(--foodie-ink); font-size: 20px; font-weight: 850; }
.address-editor-heading p { margin: 0; color: #7f8b84; font-size: 10px; line-height: 1.45; }
.address-editor-close { width: 38px; height: 38px; flex: 0 0 38px; display: grid; place-items: center; border: 1px solid #dce8e0; border-radius: 11px; color: #657269; background: #fff; cursor: pointer; transition: color .18s ease,background .18s ease,transform .18s ease; }
.address-editor-close:hover { color: #fff; background: var(--foodie-green); transform: rotate(5deg); }
.address-editor-modal .modal-body { padding: 24px; }
.address-editor-error { display: none; margin-bottom: 14px; padding: 10px 12px; border: 1px solid #ffd0d0; border-radius: 10px; color: #ba3232; background: #fff4f4; font-size: 11px; font-weight: 700; }
.address-editor-error:not(:empty) { display: block; }
.address-editor-form { display: grid; gap: 16px; }
.address-editor-field label { margin: 0 0 7px; color: #425047; font-size: 11px; font-weight: 750; }
.address-editor-field label b { color: var(--foodie-green); }
.address-editor-field label small { margin-left: 5px; color: #9aa49e; font-size: 9px; font-weight: 600; }
.address-editor-input { position: relative; height: 50px; display: flex; align-items: center; overflow: hidden; border: 1px solid #dce6df; border-radius: 12px; background: #fbfdfc; transition: border-color .18s ease,box-shadow .18s ease; }
.address-editor-input:focus-within { border-color: #6dce94; box-shadow: 0 0 0 3px rgba(32,183,90,.1); background: #fff; }
.address-editor-input > i { width: 44px; flex: 0 0 44px; color: #8b9890; text-align: center; }
.address-editor-input .form-control { height: 48px; min-width: 0; padding: 10px 12px 10px 0; border: 0 !important; color: #344038; background: transparent !important; font-size: 12px; box-shadow: none !important; }
.address-locality-input .form-control { padding-right: 7px; }
.address-locality-input > button { width: 42px; height: 38px; margin-right: 5px; flex: 0 0 42px; display: grid; place-items: center; border: 0; border-radius: 9px; color: #fff; background: var(--foodie-green); cursor: pointer; }
.address-locality-input > button:hover { background: var(--foodie-green-dark); }
.address-save-as { min-width: 0; margin: 2px 0 0; padding: 0; border: 0; }
.address-save-as legend { width: auto; margin: 0 0 9px; color: #425047; font-size: 11px; font-weight: 750; }
.address-type-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 9px; }
.address-type-grid label { min-width: 0; margin: 0; cursor: pointer; }
.address-type-grid input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.address-type-grid span { min-height: 48px; padding: 9px; display: flex; align-items: center; justify-content: center; gap: 7px; border: 1px solid #dfe8e2; border-radius: 11px; color: #647169; background: #fafcfb; font-size: 10px; font-weight: 750; transition: border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease; }
.address-type-grid label:hover span { border-color: #9ddbb5; transform: translateY(-1px); }
.address-type-grid input:checked + span { border-color: var(--foodie-green); color: var(--foodie-green-dark); background: #eaf9f0; box-shadow: inset 0 0 0 1px rgba(32,183,90,.12); }
.address-type-grid input:focus-visible + span { outline: 3px solid rgba(32,183,90,.17); }
.address-editor-footer { padding: 17px 24px 22px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.45fr); gap: 10px; border-top: 1px solid #edf1ef; background: #fff; }
.address-editor-footer button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; border-radius: 12px; font-size: 11px; font-weight: 800; cursor: pointer; }
.address-editor-cancel { border: 1px solid #dce5df; color: #56635b; background: #fff; }
.address-editor-cancel:hover { color: var(--foodie-green-dark); background: var(--foodie-green-soft); }
.address-editor-save { border: 0; color: #fff; background: linear-gradient(135deg,#159c4a,#21bb5d); box-shadow: 0 9px 21px rgba(32,183,90,.2); }
.address-editor-save:hover { background: linear-gradient(135deg,#11873e,#18a950); }

@media (max-width: 575.98px) {
    .address-editor-modal .modal-dialog { width: calc(100% - 18px); }
    .address-editor-modal .modal-content { border-radius: 19px; }
    .address-editor-header { padding: 18px; }
    .address-editor-heading-icon { width: 42px; height: 42px; flex-basis: 42px; }
    .address-editor-heading p { display: none; }
    .address-editor-modal .modal-body { padding: 19px 18px; }
    .address-type-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .address-editor-footer { padding: 14px 18px 18px; }
    .home-redesign .home-promo-heading > p { display: none; }
}

/* Homepage content rules: six categories, 4+ ratings, and edge-to-edge hero. */
.home-redesign .ecommerce-banner { padding: 0 !important; }
.home-redesign .ecommerce-banner .ecommerce-inner { width: 100% !important; max-width: none; margin: 0; }
.home-redesign #top_banner,
.home-redesign #top_banner .slick-list,
.home-redesign #top_banner .banner-img,
.home-redesign #top_banner .banner-img a,
.home-redesign #top_banner .banner-img img { border-radius: 0 !important; }
.home-redesign #top_banner .banner-img img { height: clamp(340px, 39vw, 590px); }

.home-redesign .top_categories > .row {
    margin: 0;
    padding: 5px 0 4px;
    display: grid;
    grid-template-columns: repeat(6,minmax(0,1fr));
    gap: 18px;
    overflow: visible;
}
.home-redesign .top_categories .row > * { width: 100%; max-width: none; padding: 0; }
.home-redesign .top-cat-list .cat-link span { width: 100%; max-width: 132px; height: 122px; margin: 0 auto; }

.home-redesign #most_popular_item > .row {
    margin: 0 -10px;
    padding: 4px 0 16px;
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
    scrollbar-color: rgba(32,183,90,.5) #e8f3ec;
}
.home-redesign #most_popular_item > .row::-webkit-scrollbar { height: 7px; }
.home-redesign #most_popular_item > .row::-webkit-scrollbar-track { border-radius: 10px; background: #e8f3ec; }
.home-redesign #most_popular_item > .row::-webkit-scrollbar-thumb { border-radius: 10px; background: rgba(32,183,90,.55); }
.home-redesign #most_popular_item > .row > .product-list { flex: 0 0 25%; max-width: 25%; scroll-snap-align: start; }

@media (max-width: 991.98px) {
    .home-redesign .top_categories > .row { grid-template-columns: repeat(3,minmax(0,1fr)); }
    .home-redesign #most_popular_item > .row > .product-list { flex-basis: 33.333%; max-width: 33.333%; }
}
@media (max-width: 767.98px) {
    .home-redesign #top_banner .banner-img img { height: clamp(230px,55vw,400px); }
    .home-redesign #most_popular_item > .row > .product-list { flex-basis: 50%; max-width: 50%; }
}
@media (max-width: 575.98px) {
    .home-redesign .top_categories > .row { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
    .home-redesign #top_banner .banner-img img { height: 220px; }
    .home-redesign #most_popular_item > .row > .product-list { flex-basis: 82%; max-width: 82%; }
}
