/* Mobile cart badge visibility and positioning overrides */
/* ----------------------------------------------
   Cart Modal / Cart Aside: Special Instructions
   Make the label and textarea font sizes legible
   ---------------------------------------------- */
/* Label text */
.modal .specials-instruction p,
#cart .specials-instruction p {
    font-size: 14px;
}

/* Textarea text */
.modal .specials-instruction textarea.form-control,
#cart .specials-instruction textarea.form-control {
    font-size: 14px;
    line-height: 1.4;
    padding: 8px 10px;
    min-height: 38px;
}

/* Placeholder text */
.modal .specials-instruction textarea::placeholder,
#cart .specials-instruction textarea::placeholder {
    font-size: 13px;
}

/* ----------------------------------------------
   Cart Modal: Add to Cart button rounding only in modal
   ---------------------------------------------- */
.modal .theme-btn.style5.add-to-cart-btn,
.modal .add-to-cart-btn {
    border-radius: 8px;
    /* subtle rounding per theme */
}

/* ----------------------------------------------
   Login Page: Remove extra top space on mobile/tablet
   Only targets sections with both account-section and section-padding
   ---------------------------------------------- */
@media (max-width: 1199px) {
    .account-section.section-padding {
        padding-top: 48px !important;
        /* force tighter spacing */
    }
}

@media (max-width: 767px) {
    .account-section.section-padding {
        padding-top: 12px !important;
        /* force tight spacing on small screens */
    }
}

.mob-bottom-menus .mobcart-btn {
    position: relative;
    overflow: visible;
}

.mob-bottom-menus .mobcart-btn .cart-count-badge {
    position: absolute;
    top: -6px;
    right: -10px;
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 50%;
    font-size: 10px;
    line-height: 20px;
    text-align: center;
    background: #FF4700;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.1);
    z-index: 20;
    pointer-events: none;
}

/* Ensure the Font Awesome ::before icon stays under the badge */
.mob-bottom-menus .sidebar__toggle_cart {
    position: relative;
    overflow: visible;
    z-index: 5;
}

.mob-bottom-menus .sidebar__toggle_cart::before {
    position: relative;
    z-index: 1;
}

.mob-bottom-menus .sidebar__toggle_cart .cart-count-badge {
    z-index: 9999;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
}

/* Make sure nav itself doesn't clip */
.mob-bottom-menus {
    overflow: visible;
    z-index: 10;
}

/* ----------------------------------------------
   Cart Modal: Ensure close (X) sits at top-right
   Scope: only item add-to-cart modals (.addcartmodal)
   ---------------------------------------------- */
.addcartmodal .modal-header {
    position: relative;
}

.addcartmodal .modal-content .modal-header .btn-close {
    position: absolute;
    top: 10px !important;
    right: 10px !important;
    left: auto !important;
    transform: none !important;
    -webkit-transform: none !important;
    margin: 0;
    z-index: 2;
}

/* Alternative badge via ::after on the cart button (robust over FA icon) */
.mob-bottom-menus .sidebar__toggle_cart {
    position: relative;
}

.mob-bottom-menus .sidebar__toggle_cart::after {
    content: attr(data-count);
    position: absolute;
    Top: -6px;
    right: -10px;
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 50%;
    font-size: 10px;
    line-height: 20px;
    text-align: center;
    background: #FF4700;
    color: #fff;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.1);
    display: none;
    z-index: 9999;
}

.mob-bottom-menus .sidebar__toggle_cart.has-count::after {
    /* display: inline-flex; */
    align-items: center;
    justify-content: center;
}

*,
:after,
:before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
    --tw-contain-size: ;
    --tw-contain-layout: ;
    --tw-contain-paint: ;
    --tw-contain-style:
}



.dishes-thumb img {
    width: 160px;
    height: 160px;
}

.fancy-box {
    display: flex;
    align-items: center;
}

.item2 {
    padding-left: 20px;
}

.fancy-box i {
    color: rgba(255, 255, 255, 0.85);
}

.fancy-box p {
    color: rgba(255, 255, 255, 0.85);
}

.footer-bottom p {
    text-align: center;
}

/* Make the copyright bar full-bleed and square corners on mobile */
@media (max-width: 768px) {
    .footer-bottom {
        border-radius: 0 !important;
        width: 100% !important;
        left: 0;
        right: 0;
        bottom: 45px;
    }
}

@media (max-width: 468px) {
    .footer-bottom {
        bottom: 0px;
    }
}

/* Button styles */
.filter-buttons {
    margin-top: 8px;
}

.button-container {
    display: flex;
    gap: 15px;
    align-items: center;
    /* padding-top: 20px; */
}

.filter-btn {
    padding: 10px 25px;
    font-size: 14px;
    color: #333;
    background-color: #eff0f6;
    font-weight: 600;
    border-radius: 20px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
}

.filter-btn img {
    width: 20px;
    height: 20px;
    margin-right: 8px;
}

.filter-btn:hover {
    background-color: #e9dedd;
    color: #080808;
    /* transform: translateY(-2px); */
}

.filter-btn.active {
    background-color: #ccc1c0;
    color: #fff;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.banner-thumb-area {
    display: flex;
    justify-content: center;
}

.product-card-list {
    --tw-border-opacity: 1;
    --tw-bg-opacity: 1;

    align-items: center;
    background-color: #fff;
    border-radius: 0.5rem;
    display: flex;
    position: relative;
    border: 1px solid #e5e7eb;
    margin-bottom: 1.5rem;
    height: 180px;
    /* height: 150px; */
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    padding: 1rem;
    /* padding-top: 30px; */
    /* padding-left: 12px;   add inner space from left border */
    /* padding-right: 12px;  balance spacing on the right */
    /* gap: 16px;            consistent gap between image and content */
}

/* Apply transition effect on hover */
/* .product-card-list:hover {

    transform: scale(1.05);
    Slightly enlarge
} */

.product-card-list-image {
    flex-shrink: 0;
    /* Avoid blur: do not upscale small sources */
    /* width: auto; */
    width: 120px;
    height: auto;
    /* max-width: 120px; */
    max-height: 120px;
    /* -o-object-fit: contain;
    object-fit: contain; */
    object-fit: cover;
    border-radius: 0.25rem;
    display: block;
    margin: 0;
    /* prevent default image gaps */
    background: #fff;
    /* neutral backdrop when letterboxed */
}

.product-card-list-content-group {
    border-bottom-right-radius: .5rem;
    border-top-right-radius: .5rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    /* padding: .5rem; */
    width: 100%;
}

.product-card-list-header-group,
.product-card-grid-header-group {
    /* align-items: flex-start;
  display: flex;
  gap: .5rem; */
    margin-bottom: .5rem;
}

.product-card-list-title,
.product-card-grid-title {
    font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 600;
    text-transform: capitalize;
    display: flex;
    gap: 0.45rem;
    align-items: center;
}

/* Enlarge grid title text without affecting list view */
.product-card-grid-title {
    font-size: 1rem;
    line-height: 1.5rem;
}

.product-card-list-describe,
.product-card-grid-describe {
    font-size: .75rem;
    line-height: 1.35rem;
    margin-bottom: .75rem;
    /* margin-left: 1.35rem; */
    flex: 1 1 auto;
    text-overflow: ellipsis;
    line-clamp: unset;
    -webkit-line-clamp: unset;
    -webkit-box-orient: vertical;
    overflow: hidden;
    display: -webkit-box;
}

.product-card-list-footer-group,
.product-card-grid-footer-group {
    align-items: center;
    display: flex;
    gap: .5rem;
    justify-content: space-between;
}

.product-card-list-price-group,
.product-card-grid-price-group {
    align-items: center;
    -moz-column-gap: .5rem;
    column-gap: .5rem;
    display: flex;
    flex-wrap: wrap;
}

.product-card-list-price-current,
.product-card-grid-price-current {
    font-size: 1.125rem;
    line-height: 1.75rem;
    font-weight: 500;
}

.product-card-list-cart-btn,
.product-card-grid-cart-btn {
    gap: .375rem;
    height: 1.5rem;
}

.product-card-list-cart-btn,
.product-card-grid-cart-btn {
    --tw-bg-opacity: 1;
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
    --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
    align-items: center;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    border-radius: 1.5rem;
    border-width: 0.01rem;
    border-style: solid;
    border-color: #FF4700;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    display: flex;
    font-size: .875rem;
    font-weight: 500;
    gap: .375rem;
    height: 1.5rem;
    line-height: 1.25rem;
    padding-left: .5rem;
    padding-right: .5rem;
    text-transform: capitalize;
}

/* .product-card-list-image {
    border-bottom-left-radius: .5rem;
    border-top-left-radius: .5rem;
    width: 120px;
} */

/* added to fix the vg nonveg alignment with the heading on 08-06-2023 */

/* Custom CSS to enforce perfect vertical middle alignment */

/* 2. Ensure the Wishlist icon is correctly positioned in the newly created space */
/* .wishlist-icon {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
    margin: 0 !important;
} */

.wishlist-icon {
    position: relative;

}

/* 3. Align the icon and title, and allow text wrapping */
.product-card-list-header-group {
    display: flex;
    align-items: center;
    /* Vertically center the icon and the heading */
    gap: 0.5rem;
    /* flex-wrap: wrap; */
    /* CRITICAL: Allows long titles to wrap instead of overflowing */
    justify-content: space-between;
}

/* 4. Tidy up margins for perfect vertical alignment */
.product-card-list-title {
    margin: 0 !important;
    /* Removes default H3 margin that causes misalignment */
    flex-shrink: 1;
    width: auto;
}

/* .product-cart-filter-icon {
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0;
    display: flex;
    align-items: center;
} */

.veg-icon,
.non-veg-icon {
    line-height: 1;
}

/* --- END OF FIXES --- */

/* end of added to fix the vg nonveg alignment with the heading on 08-06-2023 */


.font-fill-primary {
    color: #FF4700;
}

.menu-dishes {
    background: #fff;
    /* padding-top: 100px; */
    /* padding-bottom: 60px; */
}

.menu-cart-details {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
}

.menu-cart-details .dishes-thumb {
    width: 100px;
}

.menu-cart-details .dishes-thumb img {
    width: 100px;
    height: 100px;
    border-radius: .5rem;
}

.product-about .product-title {
    font-size: 17px;
    line-height: 35px;
}

.product-about .price {
    font-size: 16px;
    line-height: 30px;
}

.product-about .text {
    font-size: 14px;
    line-height: 24px;
    margin-bottom: 0;
}

.product-about .title-wrapper {
    display: block;
}

.actions .quantity {
    gap: 20px;
}

.actions .quantity p {
    color: #000;
    font-weight: 600;
}

.actions .quantity .qty-btn {
    border: 1px solid #FF4700;
}

.actions .quantity .qty-btn i {
    color: #FF4700;
}

/* Ensure uniform border radius for quantity buttons inside Cart Modal */
.addcartmodal .actions .quantity .qty-btn {
    border-radius: 5px;
}

/* Ensure SweetAlert2 confirm (Login) button is visible and styled */
.swal2-popup .swal2-actions .swal2-confirm {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #FF4700 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px;
    padding: 10px 18px;
    font-weight: 600;
}

.swal2-popup .swal2-actions .swal2-confirm:focus {
    box-shadow: 0 0 0 0.2rem rgba(255, 71, 0, 0.35);
}

.specials-instruction p {
    color: #000;
    font-family: var(--body-font);
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: 26px;
    margin-bottom: 8px;
}

.specials-instruction textarea {
    background-color: transparent;
    font-size: 11px;
    border: 1px solid #e5e7eb;
    border-radius: .5rem;
}

.specials-instruction {
    margin-bottom: 20px;
}

.addcartmodal .modal-body {
    padding: 0;
}

/* Limit cart modal width on larger screens */
@media (min-width: 992px) {
    .addcartmodal .modal-dialog {
        max-width: 640px;
        width: 90%;
        height: auto;
        margin-right: auto;
        margin-left: auto;
    }
}

/* .mob-cart{
  display: none;
}
.header__right__dropdown__wrapper {
  display: none;
}
.header__hamburger{
  display: none;
} */
/* .web-cart.sidebar__toggle_cart {
  background-color: #1f1f39;
  padding-left: .75rem;
  padding-right: .75rem;
  border-radius: 1.5rem;
  height: 2rem;
} */
.web-cart.sidebar__toggle_cart a {
    color: #fff;
    text-transform: capitalize;
    font-weight: 500;
    font-size: .875rem;
    line-height: 1.25rem;
    padding-left: .875rem;
    padding-right: .875rem;
    background-color: #000;
    border-radius: 9999px;
    /* ensure fully rounded pill */
    gap: .25rem;
    justify-content: center;
    align-items: center;
    height: 2rem;
    display: flex;

}

/* Make the cart icon itself sit inside a circular frame for a rounded look */
.web-cart.sidebar__toggle_cart a i {
    width: 22px;
    height: 22px;
    display: inline-grid;
    place-items: center;
    border-radius: 9999px;
    /* circle */
    border: none !important;
    /* remove circular border */
}

.cart-aside .cart-title {
    text-align: center;
    text-transform: capitalize;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-bottom: 1.25rem;
}

.menu-dish-card {
    display: flex;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: .75rem;
    margin-bottom: .75rem;
}

.menu-dish-card img {
    width: 80px;
    height: 80px;
    border-radius: .5rem;
    flex-shrink: 0;
    object-fit: cover;
}

.card-box {
    width: 100%;
}

.card-box a {
    font-size: .875rem;
    line-height: 1.25rem;
    font-weight: 600;
    text-transform: capitalize;
    color: #000;
}

.card-box p {
    text-transform: capitalize;
    font-size: .75rem;
    line-height: 1rem;
}

.card-box .text-xs {
    text-transform: capitalize;
    font-size: .75rem;
    line-height: 1rem;
    font-weight: 600;
}

.offcanvas__close {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: #f0f0f0;
    line-height: 1 !important;
    /* avoid icon vertical bias from theme css */
}

/* Prevent logo/close overlap in offcanvas headers on mobile */
@media (max-width: 768px) {
    .offcanvas__top {
        gap: 8px;
        padding-left: 8px;
        padding-right: 8px;
        align-items: center;
        display: grid;
        /* center logo and keep close on the right */
        grid-template-columns: 1fr auto 1fr;
        margin-bottom: .5rem;
        /* add a little space above heading */
    }

    .offcanvas__top .offcanvas__logo {
        flex: 1 1 100%;
        min-width: 0;
        /* allow logo to shrink */
        overflow: hidden;
        /* avoid overlapping with close */
        display: flex;
        align-items: center;
        justify-content: center;
        /* center logo horizontally */
        text-align: center;
        grid-column: 2;
        /* center column */
    }

    .offcanvas__top .offcanvas__logo img {
        display: block;
        max-height: 26px;
        /* nudge size to better align with heading */
        max-width: 100%;
        /* scale down to container width */
        width: auto;
        height: auto;
        object-fit: contain;
    }

    .offcanvas__top .offcanvas__close {
        flex: 0 0 auto;
        grid-column: 3;
        /* right column */
        justify-self: end;
        position: static;
        /* align in grid row */
        transform: none;
    }

    .offcanvas__top .offcanvas__close button,
    .offcanvas__close button {
        width: 32px;
        height: 32px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        margin-left: 6px;
        /* breathing space from logo */
        padding: 0;
        line-height: 1;
        /* keep glyph perfectly centered */
        box-sizing: border-box;
    }

    .offcanvas__close i,
    .offcanvas__close svg {
        margin: 0 !important;
        display: block;
    }
}

.indec-minus,
.indec-plus {
    color: #FF4700;
    border: 1px solid #FF4700;
    border-radius: 9999px;
    width: 32px;
    height: 32px;
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    background-color: transparent;
}

.indec-group input {
    background-color: transparent;
    border: none;
    width: 2.5rem;
    text-align: center;
    font-weight: 600;
    font-size: 14px;
}

.indec-group {
    align-items: center;
    text-align: center;
    gap: 4px;
    display: flex;
}

.price-indec-group {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.text-xs {
    font-size: .75rem;
    line-height: 1.3rem;
}

.subtotal {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: .75rem;
    border: 1px solid #e5e7eb;
    padding: .75rem;
    margin-bottom: 25px;
}

.subtotal h3 {
    font-weight: 600;
    font-size: .875rem;
    line-height: 1.25rem;
    text-transform: capitalize;
}

.subtotal h4 {
    color: #FF4700;
    font-weight: 600;
    font-size: .875rem;
    line-height: 1.25rem;
    text-transform: capitalize;
}

.bottom-sec-cart {
    padding: 0.5rem 0;
}

.proceed-checkout {
    background-color: #FF4700;
    text-align: center;
    padding: .75rem;
    font-size: 15px;
    text-transform: capitalize;
    color: #fff;
    width: 100%;
    border-radius: .75rem;
    display: block;
}

.proceed-checkout:hover {
    color: #fff !important;
}

.add-to-cart {
    background-color: #FF4700;
    text-align: center;
    padding: .75rem;
    font-size: 15px;
    text-transform: capitalize;
    color: #fff;
    width: 100%;
    border-radius: .75rem;
    display: block;
}

.add-to-cart:hover {
    color: #fff !important;
}

.remove-all {
    background-color: #FF4700;
    text-align: center;
    padding: .75rem;
    font-size: 15px;
    text-transform: capitalize;
    color: #fff;
    width: 100%;
    border-radius: .75rem;
    display: block;
}

.remove-all:hover {
    color: #fff !important;
}

/* Wishlist buttons horizontal layout */
.wishlist-buttons-container {
    display: flex;
    gap: 10px;
    align-items: center;
}

.wishlist-buttons-container .add-to-cart,
.wishlist-buttons-container .remove-all {
    flex: 1;
    width: auto;
    padding: 0.5rem 0.75rem;
    font-size: 14px;
    margin: 0;
}

/* Wishlist bottom section spacing */
.bottom-sec-wishlist {
    padding: 4.5rem 0 0.25rem 0;
    margin-top: auto;
}

.header-section {
    --tw-shadow: 0px 6px 32px 0px rgba(0, 0, 0, .04);
    --tw-shadow-colored: 0px 6px 32px 0px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* .menu-category-slider .category-food .item-thumb{
  align-items: center;
  display: flex;
  justify-content: center;
}

.menu-category-slider img{
  width: 6rem;
  text-align: center;
  height: 6rem;
  border-radius: 50%;
} */

.menu-category-slider .category-food .item-thumb {
    align-items: center;
    display: flex;
    justify-content: center;
    width: 100px;
    /* Make sure width and height are equal */
    height: 100px;
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    /* Optional: centers the circle in its parent */
    background: #fff;
}

.menu-category-slider .category-food .item-thumb img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    /* show full image inside circle */
    image-rendering: auto;
}

/* General rule: ensure ALL category circles never crop or upscale */
.category-food .item-thumb {
    align-items: center;
    display: flex;
    justify-content: center;
    /* width: 100px; */
    /* height: 100px; */
    border-radius: 50%;
    overflow: hidden;
    margin: 0 auto;
    background: #fff;
}

.category-food .item-thumb img {
    /* width: auto !important; */
    height: auto !important;
    /* max-width: 100% !important; */
    /* max-height: 100% !important; */
    /* object-fit: contain !important; */
    object-fit: cover !important;
    image-rendering: auto;
}


.menu-category-slider .category-food .item-content h3 {
    font-size: 12px;
    line-height: 1rem;
    text-align: center;
    text-transform: capitalize;
    font-weight: 500;
    /* Keep labels on one line and avoid breaking inside words */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: normal;
    overflow-wrap: normal;
    max-width: 100%;
}

.menu-category-slider .category-food:hover {
    background-color: #ff4700a8;
    border-radius: 1rem;
}

.menu-category-slider .category-food {
    padding: .75rem;
    min-height: 170px;
    /* keeps all cards same height */
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 140px;
    /* fixed card width for consistent layout */
}

.menu-category-slider {
    padding: 20px 0;
}

.menu-category-slider .swiper-wrapper {
    height: auto;
    align-items: stretch;
}

.menu-category-slider .swiper-slide {
    width: 140px !important;
    /* match card width so Swiper calculates correctly */
}

.menu-page .title-area {
    padding-top: 50px;
}

.category-food .item-content {
    margin-top: 15px;
    min-height: 32px;
    /* ~2 lines at 16px */
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    width: 100%;
}

.title-area .title {
    font-size: 24px;
    text-align: left;
    font-weight: 600;
}

.menu-page .title-area .title {
    color: #FF4700;
    margin-bottom: 10px
}

.menu-page .title-area {
    padding-top: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* .our-menu .category-food{
  background-color: #f7f7fc;
  border-radius: 1rem;
} */
.our-menu .view-all-btn {
    color: var(--white);
    text-transform: capitalize;
    font-weight: 600;
    font-size: .875rem;
    line-height: 1.25rem;
    padding: .25rem .75rem;
    background-color: var(--theme);
    border-radius: 1.5rem;
}

.our-menu .title-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.product-card-list.highlight {
    opacity: 0.5;
    transition: opacity 0.3s ease, filter 0.3s ease;
}

.product-card-list.highlight {
    border: 2px solid #ccc;
}

/* .mobile-cart-popup{
  overflow: auto;
}
.mobile-cart-popup::-webkit-scrollbar {
  width: 2px;
} */
.mob-bottom-menus {
    display: none;
}

.login-web {
    color: var(--black);
    text-transform: capitalize;
    font-weight: 500;
    font-size: .875rem;
    line-height: 1.25rem;
    padding-left: .875rem;
    padding-right: .875rem;
    background-color: var(--white);
    border-radius: 1.5rem;
    gap: .25rem;
    justify-content: center;
    align-items: center;
    height: 2rem;
    display: flex;
}

.web-header-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.web-header-right a:hover {
    color: #fff;
}

/* .banner-slider img {
    width: 100%;
} */

.banner-slider {
    position: relative;
    width: 100%;
}

.banner_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.banner-qr-code-text {
    /* Absolute Positioning relative to .banner-qr-code */
    position: absolute;
    /* Position the text bubble just above the top right corner */
    top: -25px;
    /* right: 20%; */
    text-align: center;

    /* Responsive Font Size: Uses 'clamp' for fluid scaling */
    font-size: clamp(14px, 1.5vw, 20px);
    font-weight: 500;
    letter-spacing: 0.5rem;

    /* Styling */
    background: #FF4700;
    color: #fff;
    padding: 0.5em 1em;
    /* Padding based on font size (em) */
    border-radius: 100px;
}

.banner-qr-code {
    display: block;
    /* FIX: Setting max-width to 100% ensures the image will never exceed the width of its parent's content box (the div with class .banner-qr-code-div) */
    max-width: 85%;
    width: auto;
    height: auto;
    /* Ensures aspect ratio is maintained */
}

.banner-qr-code-div {
    /* Absolute Positioning relative to .banner-slider */
    position: absolute;
    z-index: 10;

    /* Responsive Sizing: The container will be 15% of the viewport width */
    width: 25vw;
    max-width: 650px;
    /* Prevents it from getting too large on huge monitors */
    aspect-ratio: 1;
    /* Ensures the container remains a perfect square */
    height: auto;

    /* Responsive Positioning (Desktop): Positioned relative to the banner edges */
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    /* Centers the box vertically */

    /* Styling */
    border: 5px solid #FF4700;
    border-radius: 10px;
    background: #fff;
    padding: 10px;

    /* Ensure the inner image fills the box */
    display: flex;
    justify-content: center;
    align-items: center;
}

@media (max-width: 996px) {

    /* .banner-qr-code {
        position: relative;
        display: inline-block;
        max-width: 100%;
        width: auto;
        height: auto;
    } */

    .banner-qr-code-div {
        /* Make the QR code relatively larger on mobile screens (40% of screen width) */
        width: 35vw;

        /* Reposition it lower and center it horizontally */
        top: auto;
        /* Remove the desktop vertical centering */
        bottom: 5%;
        /* Position from the bottom */
        right: 2%;
        transform: translateX(0%);
        /* Centers horizontally */

        border-width: 3px;
        padding: 5px;
    }

    .banner-qr-code-text {
        /* Slightly adjust text position for the mobile layout */
        /* top: -25px; */
        font-size: 14px;
        /* letter-spacing: 0.5rem; */
        padding: 0.5rem 1rem;

    }
}

@media (max-width: 768px) {
    .banner-qr-code-text {
        /* Slightly adjust text position for the mobile layout */
        top: -20px;
        letter-spacing: 0.25rem;
        padding: 0.05rem 1rem;

    }
}

@media (max-width: 668px) {
    .banner-qr-code-text {
        /* Slightly adjust text position for the mobile layout */
        letter-spacing: 0rem;
        padding: 0.05rem 0.5rem;

    }
}

.add-to-cart-btn {
    width: 100%;
    text-align: center;
}

.product-cart-filter-icon {
    /* margin-bottom: 4px; */
    /* margin-top: -5.5rem; */
    margin-top: -7.5rem;
    margin-left: 0.75rem;
    margin-right: 0.5rem;
    /* float: top; */
    display: flex;
    flex-shrink: 0;
    align-items: center;
    width: 13px;
    height: 13px;
}

tr.cart_item {
    border-bottom: 1px solid #e3e2e2;
}

.cart_table thead tr {
    border: 1px solid #e3e2e2;
}

.add-cart-btn .theme-btn {
    width: 100%;
    text-align: center;
    margin-bottom: 15px;
}

.checkout-table thead th {
    /* text-align: center; */
    padding: 25px 15px;
}

.checkout-table tbody tr th,
td {
    font-weight: 400;
    padding: 20px 15px !important;

}

.checkout-table tbody tr table thead th {
    font-weight: 600;
    padding: 25px 15px;
}

.checkout-ordertable tr th {
    font-weight: 700 !important;
    padding: 5px 20px !important;
}

.checkout-table tbody td {
    text-align: left;
}

.checkout-table table tbody tr th {
    text-align: left;
}

.checkout-table table tfoot tr td {
    text-align: right;
    border-right-width: 0;
    border-bottom: 0;
}

.checkout-table table tfoot tr th,
td {
    padding: 5px 20px !important;
}

.checkout-ordertable tr th {
    border-left-width: 0;
    border-bottom: 0;
}

.checkout-table {
    border: 1px solid #D2D2D1;
}

.checkout-details p {
    margin-bottom: 15px;
    font-weight: 600;
    color: #000;
    line-height: 1.6rem;
}

.checkout-details p span {
    font-weight: 400;
    margin-left: 5px;
}

.th-checkout-wrapper h4 {
    text-align: center;
    font-size: 25px;
    padding: 12px 0;
    /* match equal spacing model */
    margin: 0 !important;
}

/* .th-checkout-wrapper .price, .amount{
  text-align: right !important;
} */
.cards-order-details {
    display: flex;
    gap: 2rem;
    padding-top: 20px;
    padding-bottom: 25px;
}

#reviewcheck {
    width: auto;
}

.account-card .form-check {
    margin-bottom: 0;
}

.account-card h6 {
    margin-top: 20px;
}

.shadow-xs {
    --tw-shadow: 0px 6px 32px 0px rgba(0, 0, 0, .04);
    --tw-shadow-colored: 0px 6px 32px 0px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

.account-card {
    padding: 20px;
}

.login-google {
    border: 1px solid #FF4700;
}

.divider {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 20px 0;
    color: #777;
}

.divider::before,
.divider::after {
    content: '';
    flex: 1;
    height: 1px;
    background: #ddd;
}

.account-card .col-12 label {
    font-size: 14px;
    color: #000;
    margin-bottom: 5px;
}

.user-detail-checkout {
    box-shadow: none;
    border: 1px solid #D2D2D1;
}

.place-order {
    text-align: end;
    margin-top: 25px;
}

.thank-you-section p {
    font-size: 17px;
    font-weight: 500;
    margin-bottom: 30px;
}

.single-footer-widget .fancy-box p a {
    color: rgba(255, 255, 255, 0.85);
}

.contact-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    margin-top: 30px;
}

.contact-wrapper .col-lg-6 {
    margin-top: 0;
}

.contact-wrapper .contact-img-wrap {
    display: flex;
    justify-content: center;
}

.contact-form.style2 textarea.form-control {
    border: 1px solid #D4DCFF;
}

.content-area .item span {
    font-weight: 700;
    color: #5C6574;
}

.content-area .item {
    padding-top: 20px;
}

.content-area .item h6 {
    font-size: 20px;
    margin-bottom: 20px;
}

.content-area .item ul {
    list-style: disc;
    padding-left: 30px;
    margin-top: 15px;
}

.content-area p b {
    color: #000;
}

.account-dropdown-list {
    right: 0;
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow: 0px 4px 40px rgba(23, 31, 70, .16);
    --tw-shadow-colored: 0px 4px 40px var(--tw-shadow-color);
    border-radius: .75rem;
    width: 20rem;
    z-index: 60;
    top: 1rem !important;
    padding-top: 0;

}

.account-btn {
    color: #fff;
    text-transform: capitalize;
    font-weight: 500;
    font-size: .875rem;
    line-height: 1.25rem;
    padding-left: .875rem;
    padding-right: .875rem;
    background-color: #FF4700;
    border-radius: 1.5rem;
    gap: .25rem;
    justify-content: center;
    align-items: center;
    height: 2rem;
    display: flex;
    border: none;
}

.user-details {
    display: flex;
    gap: .75rem;
    padding: 1rem;
    align-items: center;
    margin-bottom: .5rem;

}

.user-image {
    background-color: #FF4700;
    --tw-bg-opacity: 1;
    --tw-border-opacity: 1;
    border-color: #fff;
    border-style: dashed;
    border-width: 2px;
    border-radius: 9999px;
    flex-shrink: 0;
    width: 68px;
    height: 68px;
    z-index: 10;
    position: relative;

}

.user-image:before {
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    content: var(--tw-content);
    border-radius: 9999px;
    --tw-scale-x: 1.03;
    --tw-scale-y: 1.03;
    content: var(--tw-content);
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    z-index: -10;
    inset: 0;
}

.user-image a {
    --tw-shadow: 0px 6px 10px rgba(23 114 255, 0.15);
    --tw-shadow-colored: 0px 6px 10px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    border-radius: 9999px;
    overflow: hidden;
    --tw-scale-x: 0.98;
    --tw-scale-y: 0.98;
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
    width: 100%;
    height: 100%;
    position: relative;
}

.user-image img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    border-radius: 9999px;
}

.user-details-wrap {
    flex: auto;
}

.user-details-wrap h3 {
    text-transform: capitalize;
    font-weight: 500;
    font-size: .875rem;
    line-height: 1.25rem;
    margin-bottom: .125rem;
    --tw-text-opacity: 1;
    color: #1f1f39;
    font-style: normal;
}

.user-details-wrap h4 {
    text-transform: capitalize;
    font-weight: 500;
    font-size: .75rem;
    line-height: 1rem;
    margin-bottom: .375rem;
    --tw-text-opacity: 1;
    color: #6e7191;
    font-style: normal;
}

.user-details-wrap h5 {
    text-transform: capitalize;
    font-weight: 500;
    font-size: .875rem;
    line-height: 1.25rem;
    margin-bottom: .125rem;
    --tw-text-opacity: 1;
    color: #1f1f39;
    font-style: normal;
}

.account-menu {
    padding-left: 1rem;
    padding-right: 1rem;
}

.account-menu .paper-link {
    padding-bottom: .625rem;
    padding-top: .625rem;
    --tw-border-opacity: 1;
    border-bottom: 1px solid #eff0f6;
    gap: .875rem;
    align-items: center;
    display: flex;
    width: 100%;

}

.account-menu .paper-link span {
    --tw-text-opacity: 1;
    color: rgb(31 31 57 / var(--tw-text-opacity));
    line-height: 1.5rem;
    text-transform: capitalize;
    font-size: .875rem;

}

.last-border-none {
    border-bottom: 0 !important;
}

.account-menu .paper-link i {
    font-size: 17px;
}

.price-indec-group {
    margin-right: 8px !important;
}

.account-menu .paper-link:hover {
    color: #000 !important;
}

.profile-paper {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
    --tw-shadow: 0px 4px 40px rgba(23, 31, 70, .16);
    --tw-shadow-colored: 0px 4px 40px var(--tw-shadow-color);
    --tw-bg-opacity: 1;
    background-color: rgb(255 255 255 / var(--tw-bg-opacity));
    overflow-y: auto;
    width: 100%;
    height: 100%;
    top: 0;
}

.profile-paper .modal-dialog {
    margin: 0;
}

.modal .modal-content .modal-header .profile-btn-close {
    top: 1rem;
    right: 1rem;
    position: absolute;
    z-index: 10;
    pointer-events: auto;
}

/* Ensure the profile link doesn't interfere with close button */
.profile-paper .modal-header .mob-userprofile {
    pointer-events: auto;
    z-index: 1;
}

/* Prevent any click events from bubbling from close button */
.profile-btn-close {
    pointer-events: auto !important;
    z-index: 11 !important;
}

.indec-minus:hover,
.indec-plus:hover {
    color: white;
    background-color: #FF4700 !important;
    border-color: #FF4700 !important;
    transform: scale(1.05);
}

/* Minimal mobile compatibility - preserve desktop UI exactly */
@media (max-width: 768px) {

    /* Only ensure buttons don't break on mobile - keep desktop appearance */
    .indec-minus,
    .indec-plus {
        min-width: 32px;
        min-height: 32px;
        box-sizing: border-box;
        flex-shrink: 0;
    }

    .indec-group {
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .indec-group input[type="number"],
    .indec-group input[type="text"] {
        min-width: 40px;
        box-sizing: border-box;
        flex-shrink: 0;
    }
}

.cart-aside .indec-minus,
.cart-aside .indec-plus {
    margin: 0;
}

/* Ensure cart/wishlist offcanvas sits above site header */
.offcanvas__info {
    z-index: 2000;
}

.menu-item-filter {
    /* background-color: #d8fffc; */
    border-radius: 1rem;
}

.filter-btn.bg-success,
.filter-btn.bg-danger {
    color: #fff;
}

.filter-btn.bg-danger {
    background-color: #BF4C43 !important;
}

.filter-btn.bg-success {
    background-color: #3AB757 !important;
}

/* section.banner-section.fix { } */
body.no-scroll {
    overflow: hidden;
    position: fixed;
    width: 100%;
    height: 100%;
}

.header-search-group {
    /* width: 13rem; */
    padding-left: .5rem;
    padding-right: .5rem;
    --tw-bg-opacity: 1;
    background-color: #eff0f6;
    --tw-border-opacity: 1;
    border: 1px solid #eff0f6;
    border-radius: 1.5rem;
    gap: .5rem;
    justify-content: center;
    align-items: center;
    /* height: 2rem; */
    height: 1.5rem;
    display: flex;
    margin-bottom: 0;
}

.costom-header-logo {
    width: 175px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    height: auto;
}

.header-search-field {
    --tw-text-opacity: 1;
    color: #1f1f39;
    font-size: .75rem;
    line-height: 1rem;
    width: 100%;
    height: 100%;
    outline-offset: -2px;
    background-color: transparent;
    border: 0 solid #e5e7eb;
}

.header-main .header-right .header__cart {
    gap: 1rem;
}

.theme-btn.btn-success {
    background-color: #3AB757;
}

.collect .theme-btn {
    padding: 7px 10px 7px 10px;
    text-align: center;
    width: 50%;
}

.filter-views {
    display: flex;
    gap: 15px;
    align-items: center;

}

.filter-views img {
    width: 20px;
}

.product-card-grid {
    --tw-border-opacity: 1;
    --tw-bg-opacity: 1;
    background-color: #fff;
    border-radius: 1rem;
    border: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    margin-bottom: 1.5rem;
    overflow: hidden;
}

.product-card-grid-image {
    display: none;
}

.product-card-grid-content-group {
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: .5rem;
}

/* removed image-based aspect-ratio; using background container */
.filter-views .active {
    padding: 8px;
    background-color: var(--theme2);
    border-radius: .5rem;
}


.search-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    max-height: 300px;
    overflow-y: auto;
    display: none;
    z-index: 1000;
    margin-top: 1.3rem;
}

.result-item {
    display: flex;
    align-items: center;
    padding: 10px;
    border-bottom: 1px solid #eee;
    cursor: pointer;
    transition: background 0.3s;
}

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

.result-item:hover {
    background: #f9f9f9;
}

.result-item img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    margin-right: 10px;
    border-radius: 4px;
}

.result-text {
    display: flex;
    flex-direction: column;
}

.result-text .title {
    font-weight: bold;
    font-size: 14px;
}

.result-text .category {
    color: #666;
    font-size: 12px;
}

.no-data-sec {
    padding-top: 50px;
    padding-bottom: 50px;
}

.after::after {
    position: absolute;
    content: '';
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #FF4700;
}

.title-area.after {
    position: relative;
    display: inline-block;
    padding-bottom: 10px;
    text-align: center;
    margin-bottom: 20px;
}

.title.after {
    position: relative;
    display: inline-block;
    padding-bottom: 8px;
}

.title.after::after {
    left: 0;
    width: 80px;
    height: 3px;
    background: #FF4700;
}

/* Override main.css: remove wide separator under About description */
.about-wrapper.style2 .about-us .title-area .text {
    border-bottom: 1px solid var(--border-2) !important;
    padding: 16px 0 16px 0 !important;
    /* equal top/bottom spacing */
    margin: 0 0 16px 0 !important;
    border-radius: 0;
    /* Remove border radius for clean separator line */
}

/* Put a horizontal rule above the feature boxes and align with center vertical line */
.about-wrapper.style2 .about-us .fancy-box-wrapper {
    padding: 16px 12px;
    /* add slight horizontal inset on desktop, equal vertical */
    border-radius: 0;
    /* Ensure no border radius on separator */
}

/* Ensure all separators in About Us section have clean lines */
.about-wrapper.style2 .about-us .title-area .text,
.about-wrapper.style2 .about-us .fancy-box-wrapper {
    border-radius: 0 !important;
}

/* Additional spacing improvements for About Us section */
.about-wrapper.style2 .about-us .title-area .text {
    line-height: 1.6;
    /* improve readability */
}

.about-wrapper.style2 .about-us .fancy-box-wrapper .fancy-box {
    margin-bottom: 16px;
    /* add space between feature boxes */
}

/* Additional fix for any inherited border radius */
.about-wrapper.style2 .about-us .title-area .text::after,
.about-wrapper.style2 .about-us .title-area .text::before {
    border-radius: 0 !important;
}

/* Ensure fancy-box separators are clean */
.about-wrapper.style2 .about-us .fancy-box-wrapper .fancy-box {
    border-radius: 0 !important;
}

/* About → increase spacing between the icon block and its text block */
.about-wrapper.style2 .about-us .fancy-box-wrapper .fancy-box {
    gap: 16px;
    /* adds horizontal space between the icon and description */
    padding: 16px 0;
    /* equal top/bottom padding inside each box */
}

@media (max-width: 767px) {
    .about-wrapper.style2 .about-us .fancy-box-wrapper .fancy-box {
        gap: 12px;
        padding: 14px 0;
        /* equalize padding on mobile too */
    }

    /* Ensure complete middle line in mobile view */
    .about-wrapper.style2 .about-us .fancy-box-wrapper {
        border-bottom: 1px solid var(--border-2) !important;
        padding: 6px 12px 12px 20px !important;
        /* less top, more left for mobile */
        margin: 2px 0 0 0 !important;
        /* slightly closer to title */
    }

    /* Add horizontal separator between feature boxes in mobile */
    .about-wrapper.style2 .about-us .fancy-box-wrapper .fancy-box:not(:last-child) {
        border-bottom: 1px solid var(--border-2) !important;
        padding-bottom: 14px !important;
        margin-bottom: 14px !important;
    }

    .about-wrapper.style2 .about-us .fancy-box-wrapper .fancy-box:last-child {
        border-bottom: none !important;
        padding-bottom: 0 !important;
        margin-bottom: 0 !important;
    }
}

.qr-scan {
    border: 1px solid #FF4700;

}

.qrscan-text {
    text-align: center;
    padding-top: 20px;
    padding-bottom: 20px;
}

.header-main .main-menu ul .active a {
    color: var(--white);

}

.mob-bottom-menus a.active {
    color: #FF4700;
    font-weight: bold;
}

.mob-bottom-menus a.active i {
    color: #FF4700;
}

.content-area a {
    color: #FF4700;
    font-weight: 600;
}

.single-footer-widget br {
    display: none;
}

.razorpay-backdrop {
    background: rgb(0 0 0) !important;
}

.qr-scan img {
    padding: 20px;
}

.checkout-table tbody td {
    padding: 20px 15px !important;
}

.profile-container {
    text-align: center;
    margin-bottom: 30px;
}

.profile-photo {
    width: 150px;
    height: 150px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #ddd;
    cursor: pointer;
}

.edit-text {
    margin-top: 10px;
    font-size: 16px;
    cursor: pointer;
}

.underline {
    width: 100px;
    height: 4px;
    background-color: #FF4700;
    margin: 6px auto;
    border-radius: 2px;
}

.best-food-items-section {
    padding: 20px 0;
}

.mob-userprofile {
    display: flex;
    gap: 20px;
    align-items: center;
}

/* Empty wishlist: highlight login link */
.empty-wishlist .login-link {
    color: #1d4ed8;
    /* blue */
    font-weight: 600;
    text-decoration: underline;
}

.empty-wishlist .login-link:hover {
    color: #1e40af;
    /* darker blue on hover */
}

.wishlist-title {
    text-align: left;
    text-transform: capitalize;
    font-weight: 600;
    font-size: 1.25rem;
    line-height: 1.75rem;
    margin-bottom: 1.25rem;
}

.sidebar__toggle_wishlist a {
    color: #000;
    text-transform: capitalize;
    font-weight: 500;
    font-size: .875rem;
    line-height: 1.25rem;
    padding-left: .75rem;
    padding-right: .75rem;
    background-color: #fff;
    border-radius: 1.5rem;
    gap: .25rem;
    justify-content: center;
    align-items: center;
    height: 2rem;
    display: flex;
    border: 1px solid rgb(229 231 235);
}

.web-header-right .sidebar__toggle_wishlist a:hover {
    color: #000;
}

.view-wishlist {
    background-color: #FF4700;
    text-align: center;
    padding: .75rem;
    font-size: 15px;
    text-transform: capitalize;
    color: #fff;
    width: 100%;
    border-radius: .75rem;
    display: block;
}

.view-wishlist:hover {
    color: #fff;
}

.empty-wislist {
    text-align: center;
    padding: 20px 0;
}

.empty-wislist p {
    font-size: 20px;
    font-weight: 700;
    margin-top: 20px;
}

.profile-paper .modal-content {
    border: none;
}

.profile-paper .modal-header {
    border: none;
}

.profile-paper .modal-body {
    padding: 0;
}

#cart-items-container {
    height: 400px;
    overflow: auto;
    padding: 0.5rem 0;
}

/* Desktop: add a small right gutter so content doesn't touch the scrollbar */
@media (min-width: 992px) {

    .offcanvas__info_cart .cart-aside,
    .offcanvas__info_cart #cart-items-container {
        padding-right: 12px;
    }
}

#wishlist-items-container {
    height: 420px;
    overflow: auto;
    padding: 0.5rem 0;
}


.wishlist-btns {
    display: flex;
}

#wishlist-items-container .menu-dish-card .card-box {
    gap: 15px;
}

header .sticky-wrapper {
    transition: height .5s ease;
    -webkit-transition: height .5s ease;
    -moz-transition: height .5s ease;
    -ms-transition: height .5s ease;
    -o-transition: height .5s ease;
    /* background-color: var(--white); */
}

/* Make the site header fixed to the top */
header .top-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1040;
    width: 100%;
    background-color: var(--theme);
    box-shadow: 0 2px 12px rgba(0, 0, 0, .08);
}

.stuck .navbar {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1040;
    background-color: var(--theme);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.header {
    background-color: var(--theme);
}

.footer-email-control {
    max-width: 480px;
    width: 100%;
    display: flex;
    gap: 8px;
}

.footer-email-control .email {
    flex: 1 1 auto;
    min-width: 0;
}

.icon-password {
    cursor: pointer;
}

.icon-password i {
    pointer-events: auto;
}

/* Enquiry form fields */
#enquiry-form input.form-control,
#enquiry-form textarea.form-control {
    box-sizing: border-box;
}

#enquiry-form input.form-control {
    padding: 14px 16px !important;
    line-height: 1.4;
    height: auto;
}

#enquiry-form textarea.form-control {
    padding: 12px 16px !important;
    line-height: 1.5;
    min-height: 96px;
}

/* iOS Safari tweak: avoid inner padding mismatches */
#enquiry-form input,
#enquiry-form textarea {
    -webkit-appearance: none;
    appearance: none;
}

.active-link {
    color: #000;
    font-weight: 600;

}


.has-dropdown>a {
    display: inline-block;
    /* Add this line */
    line-height: 1;
    padding-bottom: 0;
    margin-bottom: 0;
    position: relative;
}


.has-dropdown>a.active-link {
    color: #000;
    font-weight: 600;
}

.has-dropdown>a.active-link::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -5px;
    /* Moves the underline closer to the text */
    width: 100%;
    height: 3px;
    background: #000;
}

.web-cart {
    position: relative;
}

.web-cart .cart-count-badge {
    position: absolute;
    top: -6px;
    right: -4px;
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 50%;
    background: #ff4700;
    color: #fff;
    font-size: 10px;
    line-height: 20px;
    text-align: center;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    max-width: 20px;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

/* Ensure badges fully hide when d-none is applied */
.cart-count-badge.d-none {
    display: none !important;
}

/* Header button icon ↔ text spacing + vertical align */
.web-header-right a,
.login-web,
.account-btn {
    display: inline-flex;
    align-items: center;
    gap: .25rem !important;
    line-height: 1;
}

/* Ensure wishlist and cart content is perfectly centered vertically */
.web-header-right .web-wishlist a,
.web-header-right .web-cart a {
    align-items: center !important;
    line-height: 1 !important;
}

.web-header-right .web-wishlist a>i,
.web-header-right .web-cart a>i {
    transform: translateY(0) !important;
    /* reset global nudge for perfect centering */
}

.web-header-right .web-wishlist a span,
.web-header-right .web-cart a span {
    display: inline-flex;
    align-items: center;
    line-height: 1;
}

/* Subtle vertical nudge for navbar icons to appear optically centered */
.web-header-right a>i,
.login-web>i,
.account-btn>i,
.header-search-submit>i {
    padding-top: 0;
    /* remove downward push */
    transform: translateY(-2px);
    /* nudge up by ~2px */
}

/* Nudge ONLY the search icon slightly down for optical centering */
.header-search-group .header-search-submit i {
    transform: translateY(1px) !important;
    /* align icon with input text */
}

/* Fallback margin for icons where gap is overridden by other styles */
.web-header-right a>i,
.login-web>i,
.account-btn>i {
    display: inline-grid;
    place-items: center;
    width: 18px;
    height: 18px;
    margin-right: 0 !important;
}

/* Explicit targets to override any tighter icon spacing */
.web-header-right .web-wishlist a>i,
.web-header-right .web-cart a>i {
    margin-right: 0 !important;
}

/* Optional fine-tune: chevron spacing and perfect vertical centering */
.account-btn i.fa-angle-down {
    margin-left: .5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 18px;
    line-height: 1;
    transform: translateY(0) !important;
    /* don't nudge chevron up */
}

/* --- Account dropdown: fix clipping, overlap, and alignment --- */

/* 1) Anchor dropdown to its trigger */
.account-wrap {
    position: relative;
}

/* 2) Force ancestors not to cut the dropdown */
.header,
.top-fixed,
.navbar,
.header-main,
.header-right,
.web-header-right,
.dropdown,
.account-wrap {
    overflow: visible !important;
}

/* 3) Position the dropdown cleanly under the button */
.dropdown-menu.account-dropdown-list {
    position: absolute;
    right: 0;
    top: calc(100% + 10px) !important;
    /* 10px gap below trigger */
    inset: auto !important;
    /* ignore Bootstrap auto placement */
    transform: none !important;
    /* prevent popper transform clipping */
    z-index: 1100;
    /* above overlays */
    min-width: 280px;
    width: 20rem;
    background: #fff;
    border: 1px solid #eee;
    border-radius: .75rem;
    box-shadow: 0 8px 30px rgba(23, 31, 70, .16);
    padding-top: 0;
    overflow: visible;
}

/* Optional small arrow at the top of the dropdown */
.dropdown-menu.account-dropdown-list::before {
    content: "";
    position: absolute;
    top: -8px;
    right: 20px;
    width: 14px;
    height: 14px;
    background: #fff;
    border-left: 1px solid #eee;
    border-top: 1px solid #eee;
    transform: rotate(45deg);
}

/* 4) Tidy the user row (image + text) */
.user-details {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    margin: 0;
}

/* Avatar size */
.user-image {
    width: 56px;
    height: 56px;
    border-width: 2px;
}

.user-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 9999px;
}

/* Text block next to avatar */
.user-details-wrap {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
    /* allows ellipsis */
    flex: 1;
    max-width: 180px;
}

.user-details-wrap .title {
    font-size: 14px;
    font-weight: 600;
    color: #1f1f39;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}

.user-details-wrap .mail {
    font-size: 12px;
    color: #6e7191;
    margin: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
    display: block;
}

/* 5) Logout item spacing */
.account-menu {
    padding: 8px 12px 12px;
}

.account-menu .paper-link {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 8px;
    border-bottom: 1px solid #eff0f6;
}

.account-menu .paper-link.last-border-none {
    border-bottom: 0;
}

.account-menu .paper-link i {
    font-size: 16px;
    color: #1f1f39;
}

.account-menu .paper-link span {
    font-size: 14px;
    color: #1f1f39;
}

.web-wishlist a,
.mob-bottom-menus a,
.mob-bottom-menus .mobcart-btn {
    position: relative;
}

/* Standardized count badge styling for all badges - maintains circular shape with enhanced visibility */
.cart-count-badge {
    position: absolute;
    top: -6px;
    right: -10px;
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 50%;
    font-size: 10px;
    /* baseline size */
    line-height: 20px;
    text-align: center;
    background: #FF4700;
    color: #fff;
    font-weight: 700;
    /* stronger weight to match header and bottom nav */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    max-width: 20px;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.1);
    z-index: 10;
    letter-spacing: 0;
    font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-variant-numeric: tabular-nums;
}

.mob-bottom-menus .mobcart-btn {
    position: relative;
}

.mob-bottom-menus .mobcart-btn .cart-count-badge {
    position: absolute;
    top: -6px;
    right: -10px;
    width: 20px;
    height: 20px;
    padding: 0;
    border-radius: 50%;
    font-size: 10px;
    /* keep same as header */
    line-height: 20px;
    text-align: center;
    background: #FF4700;
    color: #fff;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 20px;
    max-width: 20px;
    border: 2px solid #fff;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.1);
    z-index: 10;
}

/* Normalize font rendering differences on some Android/iOS devices */
#cart-count,
#cart-count-mobile,
#wishlist-count,
#wishlist-count-mobile,
.cart-count-badge {
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

/* Force consistent scale on high DPI devices */
@supports (-webkit-touch-callout: none) {

    #cart-count,
    #cart-count-mobile,
    #wishlist-count,
    #wishlist-count-mobile,
    .cart-count-badge {
        font-size: 10px !important;
    }
}

@media (max-width: 767px) {

    /* Remove space above banner so it sits flush under the header */
    .breadcumb-section {
        padding-top: 0 !important;
        margin-top: 0 !important;
    }

    /* Ensure header/nav does not push content down on mobile */
    .header,
    .top-fixed,
    .navbar {
        margin-bottom: 0 !important;
    }

    /* Slimmer banner height */
    .breadcumb-wrapper .breadcumb-content {
        padding: 28px 0 !important;
    }

    /* Reduce space below banner (affects sections like About) */
    .section-padding {
        padding: 70px 0 40px !important;
    }

    /* Optional: tighten About title spacing if needed */
    .title-area .title {
        margin-bottom: 10px !important;
        line-height: 34px !important;
    }

    .title-area .text {
        margin-top: 8px !important;
    }
}

@media (max-width: 768px) {

    /* Ensure footer content clears the fixed mobile bottom nav */
    .footer-bottom {
        /* padding: 8px 0 !important; */
        /* slightly slimmer bar */
        margin-top: 0 !important;
        margin-bottom: 0px !important;
        /* ensure sits below fixed nav on all devices */
        border-radius: 0 !important;
        /* remove any rounding */
    }

    /* Add a touch of space below copyright text for better vertical centering */
    /* .footer-bottom p {
        padding-bottom: 3px;
    } */

    /* If your footer content above also risks overlap, pad its wrapper too */
    .footer-section .footer-widgets-wrapper {
        /* padding-bottom: 12px; */
    }

    /* Remove rounded corners from the fixed bottom nav bar */
    .mob-bottom-menus,
    .mob-bottom-menus::before,
    .mob-bottom-menus::after {
        border-radius: 0 !important;
    }

    /* Some themes apply inner rounding to nav buttons; normalize */
    .mob-bottom-menus a,
    .mob-bottom-menus .mobcart-btn {
        border-radius: 0 !important;
    }

    /* Lift back-to-top button above fixed bottom nav to prevent overlap */
    .back-to-top {
        bottom: 80px !important;
        right: 20px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
    }
}

/* Reduce and balance spacing around feature boxes under About section (desktop) */
.about-wrapper.style2 .about-us .title-area .text {
    margin-bottom: 12px !important;
    /* gap below upper line */
}

.about-wrapper.style2 .about-us .fancy-box-wrapper {
    padding-top: 12px !important;
    /* match upper gap */
    padding-bottom: 12px !important;
    /* equal lower gap to line below */
}

@media (max-width: 767px) {
    .about-wrapper.style2 .about-us .fancy-box-wrapper {
        padding: 10px 0 16px 0 !important;
    }
}

/* Fix: keep mobile cart button circular (was being reset to square elsewhere) */
.mob-bottom-menus .mobcart-btn {
    border-radius: 9999px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* @media (max-width: 768px) {
    main {
        padding-bottom: 64px;
    }
} */

/* Align account menu items vertically */
.account-menu .paper-link {
    display: flex;
    align-items: center;
    gap: 8px;
}

.account-menu .paper-link i,
.account-menu .paper-link span {
    line-height: 1;
}

/* Ensure grid images never stretch */
/* Ratio-based wrapper for grid thumbnails */
.product-card-grid-thumb {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    /* uniform tiles without fixed height */
    padding: 28px;
    /* reduce visual size further, more inner gap for crispness */
    background-clip: content-box;
    /* move image inside padding */
    background-origin: content-box;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    /* preserve aspect without cropping */
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
    overflow: hidden;
}

/* no inner img for grid thumb; image is background */

/* Failsafe: if any <img> is still used inside grid, force proper cropping */
.product-card-grid>img,
.product-card-grid .product-card-grid-image {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3;
    object-fit: contain !important;
    /* or 'cover' if you prefer crop */
    display: block;
    border-top-left-radius: 1rem;
    border-top-right-radius: 1rem;
}

.product-card-grid .product-card-grid-image {
    display: none !important;
}

/* Fallback for browsers without aspect-ratio support */
@supports not (aspect-ratio: 1 / 1) {
    .product-card-grid-thumb {
        height: 0;
        /* 4:3 tile height + maintain inner padding space */
        padding-top: calc(75% + 28px);
    }
}

.currency::before {
    content: "₹ ";
}

/* Navbar link contrast fix: white text + underline */
.header-main .main-menu ul li>a {
    color: #fff !important;
}

/* Improved navbar icon alignment */
.header-main .main-menu ul li a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    line-height: 1.2;
}

.header-main .main-menu ul li a i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    font-size: 14px;
    line-height: 1;
    vertical-align: middle;
}

/* Ensure proper alignment for different icon types */
.header-main .main-menu ul li a i.fa,
.header-main .main-menu ul li a i.fas,
.header-main .main-menu ul li a i.far,
.header-main .main-menu ul li a i.fab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Ensure all count badges have consistent circular styling with enhanced visibility */
/* #cart-count, */
#cart-count-mobile,
#wishlist-count,
#wishlist-count-mobile {
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    border-radius: 50% !important;
    font-size: 10px !important;
    /* lock typography size */
    font-weight: 600 !important;
    line-height: 20px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 20px !important;
    max-width: 20px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    border: 2px solid #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(0, 0, 0, 0.1) !important;
    z-index: 10 !important;
}

.custom-margin-cart-count {
    margin: 0.60rem;
}


/* Force-hide badges when count is zero (overrides any display rules) */
#cart-count.d-none,
#wishlist-count.d-none,
#cart-count-mobile.d-none,
#wishlist-count-mobile.d-none {
    display: none !important;
}

/* Explicitly ensure desktop header counts use identical font sizing */
.web-header-right #cart-count,
.web-header-right #wishlist-count {
    font-size: 10px !important;
    line-height: 20px !important;
    width: 20px !important;
    height: 20px !important;
}

/* Handle large numbers in circular badges */
.cart-count-badge[data-count="99+"] {
    font-size: 8px !important;
}

/* Prevent platform accessibility/dynamic type from auto-scaling these numbers */
#cart-count,
#cart-count-mobile,
#wishlist-count,
#wishlist-count-mobile,
.cart-count-badge {
    -webkit-text-size-adjust: none !important;
    /* prevent platform auto-scaling on small text */
    text-size-adjust: 100% !important;
    transform: translateZ(0);
    /* normalize subpixel rendering */
}

/* As a final fallback on some Android WebView / Samsung Internet */
@media (max-width: 767.98px) {

    #cart-count,
    #cart-count-mobile,
    #wishlist-count,
    #wishlist-count-mobile,
    .cart-count-badge {
        font-size: 10px !important;
        line-height: 20px !important;
        letter-spacing: 0 !important;
    }
}

/* Extra guard for bottom nav badges specifically on mobile */
@media (max-width: 480px) {

    .mob-bottom-menus .mobcart-btn .cart-count-badge,
    #cart-count-mobile,
    #wishlist-count-mobile {
        font-size: 10px !important;
        line-height: 20px !important;
        -webkit-text-size-adjust: none !important;
        text-size-adjust: none !important;
    }
}

/* Enhanced visibility for count badges against various backgrounds */
.cart-count-badge:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4), 0 0 0 2px rgba(255, 255, 255, 0.8);
    transition: all 0.2s ease;
}

/* Ensure badges are visible against orange/red backgrounds */
.header,
.top-fixed,
.navbar {
    position: relative;
}

.cart-count-badge {
    position: absolute !important;
    z-index: 1000 !important;
}

/* Alternative styling for better contrast if needed */
.cart-count-badge.high-contrast {
    background: #dc2626 !important;
    /* Red background for better contrast */
    border: 2px solid #fff !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5), 0 0 0 1px rgba(0, 0, 0, 0.2) !important;
}

/* Mobile responsive adjustments for navbar icons */
@media (max-width: 768px) {
    .header-main .main-menu ul li a {
        padding: 6px 10px;
        font-size: 13px;
    }

    .header-main .main-menu ul li a i {
        width: 14px;
        height: 14px;
        font-size: 11px;
    }
}

/* Disable custom desktop cursor on touch/coarse-pointer devices */
@media (hover: none),
(pointer: coarse) {

    .mouse-cursor,
    .cursor-inner,
    .cursor-outer {
        display: none !important;
    }

    body,
    a,
    button,
    input,
    textarea {
        cursor: auto !important;
    }
}

/* Width-based fallback (mobile screens) */
@media (max-width: 991px) {

    .mouse-cursor,
    .cursor-inner,
    .cursor-outer {
        display: none !important;
    }

    body,
    a,
    button,
    input,
    textarea {
        cursor: auto !important;
    }
}

/* Keep white on hover/focus, but remove underline (active link handles underline) */
.header-main .main-menu ul li>a:hover,
.header-main .main-menu ul li>a:focus {
    color: #fff !important;
    text-decoration: none !important;
}

/* Active link text white (keeps consistency) */
.header-main .main-menu ul .active>a,
.header-main .main-menu .has-dropdown>a.active-link {
    color: #fff !important;
}

/* Active underline bar (custom ::after) to white */
.header-main .main-menu .has-dropdown>a.active-link::after {
    background: #fff !important;
}

/* --- Mobile Account header: prevent long email overlapping the close icon --- */
@media (max-width: 767px) {

    /* Give room on the right for the absolutely-positioned close button */
    .profile-paper .modal-header {
        position: relative;
        padding-right: 56px;
        /* 40px button + ~16px gap */
    }

    /* Ensure the details row doesn't run under the close button */
    .profile-paper .modal-header .user-details {
        max-width: calc(100% - 56px);
        min-width: 0;
        /* allow flex children to shrink */
    }

    .profile-paper .modal-header .user-details-wrap {
        min-width: 0;
        /* enables ellipsis inside */
    }

    .profile-paper .modal-header .user-details-wrap .mail {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* Nudge close icon a bit higher on small screens */
    .modal .modal-content .modal-header .profile-btn-close {
        top: .5rem;
    }

    /* Also reserve space on the right within the body row in case header and body overlap visually */
    .profile-paper .modal-body .user-details {
        padding-right: 56px;
        min-width: 0;
    }

    .profile-paper .modal-body .user-details-wrap {
        min-width: 0;
    }

    .profile-paper .modal-body .user-details-wrap .mail {
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
}

/* Global checkout spacing: balanced top and bottom */
/* Stronger enforcement to avoid upstream overrides and margin-collapsing */
.th-checkout-wrapper.section-padding {
    padding: 24px 0 !important;
    margin-top: 12px !important;
}

/* Balanced spacing with safe-area consideration */
body .th-checkout-wrapper.section-padding {
    padding-top: calc(20px + env(safe-area-inset-top, 0px)) !important;
    padding-bottom: 20px !important;
}

@media (max-width: 1199px) {
    .th-checkout-wrapper.section-padding {
        padding: 18px 0 !important;
    }
}

@media (max-width: 991px) {
    .th-checkout-wrapper.section-padding {
        padding: 16px 0 !important;
    }
}

@media (max-width: 767px) {
    .th-checkout-wrapper.section-padding {
        padding: 14px 0 !important;
    }
}

/* Headings: equal space above and below */
.th-checkout-wrapper h4 {
    margin: 16px 0 !important;
    padding: 0 !important;
}

@media (max-width: 767px) {
    .th-checkout-wrapper h4 {
        font-size: 18px !important;
        margin: 10px 0 !important;
    }
}

/* Container spacing: ensure visible top space under header */
.th-checkout-wrapper .container {
    padding-top: 12px !important;
    margin-top: 0 !important;
}

/* Insert a spacer element to fully prevent top-collapsing near sticky headers */
body .th-checkout-wrapper.section-padding>.container::before {
    content: "";
    display: block;
    height: 0;
    /* keep equal spacing: rely on wrapper padding + h4 margins */
}

/* Enforce top spacing on the first heading in checkout wrapper on all devices */
body .th-checkout-wrapper.section-padding>.container>h4:first-child {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
}

/* Mobile specific improvements for checkout */
@media (max-width: 767px) {
    .th-checkout-wrapper {
        padding: 5px 0 15px 0 !important;
    }

    .th-checkout-wrapper h4 {
        font-size: 18px !important;
        margin-bottom: 10px !important;
        margin-top: 0 !important;
    }

    .th-checkout-wrapper .container {
        padding-top: 0 !important;
    }
}

/* Mobile: reduce spacing above "Super Quality Food" to match "Qualified Chef" */
@media (max-width: 767px) {
    .about-wrapper.style2 .about-us .fancy-box-wrapper .fancy-box:first-child {
        margin-top: 0 !important;
        padding-top: 0 !important;
    }
}

/* Privacy Policy spacing adjustments - headings and paragraphs (tighter) */
.content-area .item h6 {
    margin-bottom: 6px;
    line-height: 1.3;
}

.content-area .item p {
    margin-top: 4px;
    margin-bottom: 8px;
}

.content-area .item p b {
    display: inline-block;
    margin-bottom: 4px;
}

.content-area .item ul {
    margin-top: 4px;
    margin-bottom: 10px;
}

.content-area .item ul li {
    margin-bottom: 3px;
}

.content-area .item ul ul {
    margin-top: 2px;
    margin-bottom: 6px;
}

.content-area .item ul ul li {
    margin-bottom: 3px;
}
