/**
 * New Theme — desktop (web) shell matching weevi-style home layout.
 * Scoped under .new-theme--web
 */

.new-theme--web .nt-web-sidebar {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 1.75rem 1.25rem 1.5rem;
    border-right: 1px solid #e8e8e8;
}

.new-theme--web .nt-web-sidebar__brand {
    text-align: center;
    margin-bottom: 2rem;
}

.new-theme--web .nt-web-sidebar__logo-link {
    display: inline-block;
}

.new-theme--web .nt-web-sidebar__logo {
    max-width: 140px;
    height: auto;
    display: block;
}

.new-theme--web .nt-web-sidebar__nav {
    flex: 1 1 auto;
    min-height: 0;
}

.new-theme--web .nt-web-sidebar__list {
    margin: 0;
    padding: 0;
}

.new-theme--web .nt-web-sidebar__list li {
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #ececec;
}

.new-theme--web .nt-web-sidebar__list li:last-child {
    border-bottom: 0;
}

.new-theme--web .nt-web-sidebar__cat {
    display: block;
    padding: 0.55rem 0;
    font-size: 0.8125rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #2b2b2b;
    text-decoration: none;
    border: 0;
    background: transparent;
    transition: color 0.15s ease;
}

.new-theme--web .nt-web-sidebar__cat:hover,
.new-theme--web .nt-web-sidebar__cat.menu-category.active,
.new-theme--web .nt-web-sidebar__cat:focus {
    color: var(--theme-color-1, #9acd32);
    text-decoration: none;
}

.new-theme--web .nt-web-sidebar__bottom {
    margin-top: 2rem;
    padding-top: 1.25rem;
    border-top: 1px solid #ececec;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.new-theme--web .nt-web-sidebar__bottom-link {
    font-size: 0.8125rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: #555;
    text-decoration: none;
}

.new-theme--web .nt-web-sidebar__bottom-link:hover {
    color: var(--theme-color-1, #9acd32);
    text-decoration: none;
}

.new-theme--web button.nt-web-sidebar__bottom-link {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    text-align: left;
}

/* Header */
.new-theme--web .nt-web-header {
    flex-shrink: 0;
}

.new-theme--web .nt-web-header__top {
    min-height: 74px;
    background: #464642 !important;
    color: #fff;
}

.new-theme--web .nt-web-header__top-inner {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1rem;
    min-height: 74px;
    padding: 0.4rem 1.25rem;
}

.new-theme--web .nt-web-header__social {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
    flex: 0 0 auto;
}

.new-theme--web .nt-web-header__social-link {
    color: #fff;
    opacity: 0.9;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    text-decoration: none;
    font-size: 1.05rem;
    background: transparent;
}

.new-theme--web .nt-web-header__social-link:hover {
    opacity: 1;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
    text-decoration: none;
}

.new-theme--web .nt-web-header__social-link--pill {
    width: auto;
    padding: 0 0.65rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 999px;
}

.new-theme--web .nt-web-header__search-wrap {
    flex: 1 1 auto;
    max-width: 520px;
    margin: 0 auto;
    position: relative;
}

.new-theme--web .nt-web-header__search {
    width: 100%;
    height: 38px;
    padding: 0 2.25rem 0 1rem;
    border-radius: 999px;
    border: 0;
    background: #2c2c2c;
    color: #f0f0f0;
    font-size: 0.875rem;
}

.new-theme--web .nt-web-header__search::placeholder {
    color: #9a9a9a;
}

.new-theme--web .nt-web-header__search-icon {
    position: absolute;
    right: 0.85rem;
    top: 50%;
    transform: translateY(-50%);
    color: #9a9a9a;
    pointer-events: none;
    font-size: 0.9rem;
}

.new-theme--web .nt-web-header__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
}

.new-theme--web .nt-web-header__lang .dropdown-menu {
    min-width: 8rem;
}

.new-theme--web .nt-web-header__lang-btn,
.new-theme--web .nt-web-header__waiter {
    background: rgba(255, 255, 255, 0.12) !important;
    border: 1px solid rgba(255, 255, 255, 0.35) !important;
    color: #fff !important;
    border-radius: 6px;
}

.new-theme--web .nt-web-header__accent {
    display: inline-flex;
    width: 36px;
    height: 36px;
    border-radius: 4px;
    background: #25D366;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    font-size: 1.05rem;
}

.new-theme--web .nt-web-header__accent:hover {
    color: #fff;
    opacity: 0.9;
    text-decoration: none;
}

.new-theme--web .nt-web-header__cart {
    position: relative;
    width: 44px;
    height: 44px;
    border: 0;
    padding: 0;
    background: transparent;
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    line-height: 1;
}

.new-theme--web .nt-web-header__cart:hover {
    opacity: 0.85;
}

.new-theme--web .nt-web-header__request-bill.is-needs-table,
.new-theme--mobile .nt-mobile-toolbar__request-bill.is-needs-table {
    opacity: 0.72;
}

.new-theme--web .nt-web-header__request-bill {
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    flex-shrink: 0;
}

.new-theme--web .nt-web-header__request-bill .fa-file-text {
    font-size: 1.15rem;
    line-height: 1;
}

.new-theme--web .nt-web-header__request-bill.is-sent {
    color: #6ee7b7;
    border-color: rgba(110, 231, 183, 0.55);
}

.new-theme--web .nt-web-header__sub-end {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-shrink: 0;
}

.new-theme--web .nt-web-header__sub-bill {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.85rem;
    border: 1px solid var(--theme-color-1, #9acd32);
    border-radius: 999px;
    background: rgba(154, 205, 50, 0.12);
    color: var(--theme-color-1, #6b8e23);
    font-size: 0.8125rem;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1.2;
}

.new-theme--web .nt-web-header__sub-bill:hover {
    background: rgba(154, 205, 50, 0.22);
    color: var(--theme-color-1, #6b8e23);
}

.new-theme--web .nt-web-header__sub-bill.is-needs-table {
    opacity: 0.75;
}

.new-theme--web .nt-web-header__sub-bill.is-sent {
    background: #ecfdf5;
    border-color: #6ee7b7;
    color: #047857;
}

.new-theme--web .nt-web-header__sub-bill .fa-file-text {
    font-size: 0.95rem;
    line-height: 1;
}

.new-theme--web .nt-web-header__cart-badge {
    position: absolute;
    top: 2px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--theme-color-1, #bdd800);
    color: #1a1a1a;
    font-size: 0.65rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.new-theme--web .nt-web-header__track {
    margin-right: 0.15rem;
}

.new-theme--mobile .nt-mobile-toolbar__track {
    margin-right: 0.15rem;
}

.new-theme--web .nt-web-header__sub {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.65rem 1.75rem;
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
}

.new-theme--web .nt-web-header__sub-start {
    display: flex;
    align-items: center;
    gap: 1.75rem;
    flex-wrap: wrap;
}

.new-theme--web .nt-web-header__sub-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0;
    border: 0;
    background: none;
    font-size: 0.8125rem;
    font-weight: 600;
    color: #3a3a3a;
    cursor: pointer;
    text-decoration: none;
}

.new-theme--web .nt-web-header__sub-link:hover {
    color: var(--theme-color-1, #7a9a00);
    text-decoration: none;
}

/* Hero carousel */
.new-theme--web .nt-web-hero,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero {
    position: relative;
    background: #f0f0f0;
    overflow: hidden;
}

.new-theme--web .nt-web-hero.carousel,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero.carousel {
    cursor: grab;
    touch-action: pan-y;
}

.new-theme--web .nt-web-hero.nt-web-hero--dragging,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero.nt-web-hero--dragging {
    cursor: grabbing;
}

.new-theme--web .nt-web-hero .carousel-inner,
.new-theme--web .nt-web-hero .carousel-item,
.new-theme--web .nt-web-hero.nt-web-hero--static {
    min-height: min(58vh, 560px);
}

.new-theme--web .nt-web-hero .carousel-inner,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero .carousel-inner {
    cursor: grab;
}

.new-theme--web .nt-web-hero .nt-web-hero__img {
    width: 100%;
    min-height: min(58vh, 560px);
    height: min(58vh, 560px);
    object-fit: cover;
    display: block;
    user-select: none;
    -webkit-user-drag: none;
}

.new-theme--web .nt-web-hero .carousel-control-prev,
.new-theme--web .nt-web-hero .carousel-control-next,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero .carousel-control-prev,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero .carousel-control-next {
    width: 44px;
    opacity: 0.9;
    z-index: 8;
}

.new-theme--web .nt-web-hero__split {
    display: flex;
    flex-direction: row;
    min-height: min(58vh, 560px);
    height: min(58vh, 560px);
    background: #f0f0f0;
}

.new-theme--web .nt-web-hero__split-col {
    flex: 1 1 50%;
    min-width: 0;
    position: relative;
    border-right: 2px solid #fff;
}

.new-theme--web .nt-web-hero__split-col:last-child {
    border-right: 0;
}

.new-theme--web .nt-web-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.new-theme--web .nt-web-hero__dots,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero__dots {
    position: absolute;
    bottom: 1rem;
    right: 1.25rem;
    left: auto;
    margin: 0;
    justify-content: flex-end;
    z-index: 9;
    pointer-events: auto;
}

.new-theme--web .nt-web-hero__dots li,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero__dots li {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    border: 0;
    cursor: pointer;
    pointer-events: auto;
}

.new-theme--web .nt-web-hero__dots li.active,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero__dots li.active {
    background: #fff;
}

/* Main column content */
.new-theme--web .nt-web-content {
    background: #fff;
}

.new-theme--web .nt-web-content__inner {
    padding: 0;
}

.new-theme--web .nt-web-menu {
    padding: 1.5rem 1.75rem 2.5rem;
    max-width: 1100px;
}

/* Page footer */
.new-theme--web .nt-web-page-footer {
    margin-top: auto;
    border-top: 1px solid #e8e8e8;
    background: #fafafa;
    padding: 0.85rem 1.25rem;
    font-size: 0.75rem;
    color: #555;
}

.new-theme--web .nt-web-page-footer__inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem 1rem;
    max-width: 1200px;
    margin: 0 auto;
}

.new-theme--web .nt-web-page-footer__col {
    flex: 1 1 200px;
}

.new-theme--web .nt-web-page-footer__col--center {
    flex: 2 1 320px;
    text-align: center;
}

.new-theme--web .nt-web-page-footer__col--right {
    text-align: right;
}

.new-theme--web .nt-web-page-footer__note {
    margin: 0;
    line-height: 1.45;
}

.new-theme--web .nt-web-page-footer__link {
    color: #333;
    font-weight: 600;
    text-decoration: none;
    margin-right: 0.35rem;
}

.new-theme--web .nt-web-page-footer__link:hover {
    text-decoration: underline;
}

.new-theme--web .nt-web-page-footer__sep {
    margin: 0 0.35rem;
    color: #aaa;
}

.new-theme--web .nt-web-page-footer__muted {
    color: #888;
}

.new-theme--web .nt-web-page-footer__powered {
    font-weight: 600;
    color: #333;
    text-decoration: none;
}

.new-theme--web .nt-web-page-footer__powered:hover {
    text-decoration: underline;
}

/* Bottom-sheet modal (Privacy links) */
.new-theme--web .nt-modal-bottom {
    padding: 0 !important;
}

.new-theme--web .nt-modal-bottom .modal-dialog {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    max-width: none;
    width: 100%;
    transform: translateY(100%);
    transition: transform 0.25s ease-out;
}

.new-theme--web .nt-modal-bottom.show .modal-dialog {
    transform: translateY(0);
}

.new-theme--web .nt-modal-bottom .modal-content {
    border-radius: 14px 14px 0 0;
    border: 0;
}

.new-theme--web .nt-modal-bottom .modal-body {
    max-height: min(70vh, 520px);
    overflow: auto;
}

/* RTL */
[dir="rtl"] .new-theme--web .nt-web-header__top-inner {
    flex-direction: row-reverse;
}

[dir="rtl"] .new-theme--web .nt-web-header__search-icon {
    right: auto;
    left: 0.85rem;
}

[dir="rtl"] .new-theme--web .nt-web-header__search {
    padding: 0 1rem 0 2.25rem;
}


[dir="rtl"] .new-theme--web .nt-web-hero__dots {
    right: auto;
    left: 1.25rem;
    justify-content: flex-start;
}

[dir="rtl"] .new-theme--web .nt-web-page-footer__col--right {
    text-align: left;
}

[dir="rtl"] .new-theme--web .nt-web-page-footer__col--links {
    text-align: right;
}

@media (max-width: 991px) {
    .new-theme--web .nt-web-header__top-inner {
        flex-wrap: wrap;
    }

    .new-theme--web .nt-web-header__search-wrap {
        order: 3;
        flex: 1 1 100%;
        max-width: none;
        margin: 0.25rem 0 0;
    }

    .new-theme--web .nt-web-header__sub {
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .new-theme--web .nt-web-header__sub-start {
        flex: 1 1 auto;
        min-width: 0;
    }

    .new-theme--web .nt-web-header__sub-end {
        margin-left: auto;
    }
}

/* --- Category page (publicMenuCategory) --- */
.new-theme--web.nt-page-category .nt-web-content__inner--category {
    padding: 1.5rem 1.75rem 2rem;
    background: #f5f5f5;
}

.new-theme--web .nt-cat-page-head {
    margin-bottom: 1.25rem;
}

.new-theme--web .nt-cat-page-title {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--theme-color-1, #6b8e23);
}

.new-theme--web .nt-cat-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
}

.new-theme--web .nt-cat-grid .section-menu {
    height: 100%;
}

.new-theme--web .nt-cat-grid .menu-item.list {
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
    border: 1px solid #ececec;
}

/* Same media box for image + initials (overrides list layout 70×70 from style.css) */
.new-theme--web .nt-cat-grid .menu-image,
.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .menu-image {
    width: 100% !important;
    max-width: none !important;
    height: clamp(180px, 28vw, 220px) !important;
    min-height: clamp(180px, 28vw, 220px) !important;
    max-height: none !important;
    margin: 0 !important;
    margin-right: 0 !important;
    flex: 0 0 auto !important;
    overflow: hidden;
    border-radius: 0 !important;
    border: 0 !important;
    position: relative;
}

.new-theme--web .nt-cat-grid .menu-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.new-theme--web .nt-cat-grid .menu-image.nt-menu-card__noimg,
.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .menu-image.nt-menu-card__noimg {
    display: flex;
    align-items: center;
    justify-content: center;
    background: color-mix(in srgb, var(--theme-color-1, #8cc63f) 10%, #f3f3f3);
}

.new-theme--web .nt-cat-grid .nt-menu-card__placeholder-name,
.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .nt-menu-card__placeholder-name {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1rem 0.85rem;
    text-align: center;
    font-size: clamp(0.75rem, 2.2vw, 0.95rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: var(--theme-color-1, #8cc63f);
    overflow: hidden;
    word-break: break-word;
    hyphens: auto;
    user-select: none;
}

.new-theme--web .nt-cat-grid .nt-menu-card__noimg .badge.only,
.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .nt-menu-card__noimg .badge.only {
    position: absolute;
    top: 0.5rem;
    inset-inline-end: 0.5rem;
}

.new-theme--web .nt-cat-grid .menu-content {
    padding: 1rem 1rem 1.1rem;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    gap: 0.45rem;
}

.new-theme--web .nt-cat-grid .menu-item.list {
    transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}

.new-theme--web .nt-cat-grid .menu-item.list:hover {
    box-shadow: 0 8px 22px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
    border-color: color-mix(in srgb, var(--theme-color-1, #8cc63f) 28%, #ececec);
}

.new-theme--web .nt-cat-grid .menu-item--promo {
    border-color: color-mix(in srgb, var(--theme-color-1, #8cc63f) 35%, #ececec);
}

.new-theme--web .nt-cat-grid .nt-menu-card__media-wrap {
    position: relative;
}

.new-theme--web .nt-cat-grid .menu-card-offer-ribbon {
    position: absolute;
    top: 0.65rem;
    inset-inline-start: 0.65rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #15803d;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.menu-item-figure,
.new-theme--web .menu-image.menu-lightbox {
    position: relative;
}

.menu-item-figure .menu-card-offer-ribbon,
.new-theme--web .menu-image.menu-lightbox .menu-card-offer-ribbon {
    position: absolute;
    top: 0.65rem;
    inset-inline-start: 0.65rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: 0.28rem 0.65rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #15803d;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.new-theme--web .nt-cat-grid .nt-menu-card__monogram {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.25rem;
    height: 4.25rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-color-1, #8cc63f) 18%, #fff);
    color: var(--theme-color-1, #8cc63f);
    font-size: 1.65rem;
    font-weight: 800;
    line-height: 1;
    user-select: none;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-color-1, #8cc63f) 22%, transparent);
}

.new-theme--web .nt-cat-grid .menu-image.nt-menu-card__noimg,
.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .menu-image.nt-menu-card__noimg {
    background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--theme-color-1, #8cc63f) 8%, #fafafa) 0%,
        color-mix(in srgb, var(--theme-color-1, #8cc63f) 16%, #f0f0f0) 100%
    );
}

.new-theme--web .nt-cat-grid .menu-title h4 {
    font-size: 1rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.01em;
    color: #1f2937;
    line-height: 1.35;
}

.new-theme--web .nt-cat-grid .menu-recipe {
    font-size: 0.8125rem;
    line-height: 1.45;
    color: #6b7280;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.new-theme--web .nt-cat-grid .nt-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.65rem;
}

.new-theme--web .nt-cat-grid .menu-price.nt-card-price {
    min-width: 0;
    flex: 1 1 auto;
}

.new-theme--web .nt-cat-grid .menu-price-breakdown {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}

.new-theme--web .nt-cat-grid .menu-price-row {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.45rem;
}

.new-theme--web .nt-cat-grid .menu-price-regular {
    font-size: 0.8rem;
    font-weight: 500;
    color: #9ca3af;
    text-decoration: line-through;
}

.new-theme--web .nt-cat-grid .menu-price-sale,
.new-theme--web .nt-cat-grid .menu-price-single {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--theme-color-1, #6b8e23);
    letter-spacing: 0.01em;
}

.new-theme--web .nt-cat-grid .menu-price-breakdown--promo .menu-price-sale {
    color: #15803d;
}

.new-theme--web .nt-cat-grid .menu-offer-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #ecfdf3;
    color: #15803d;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.new-theme--web .nt-cat-grid .nt-card-add-wrap {
    flex: 0 0 auto;
    margin: 0;
    width: auto;
}

.new-theme--web .nt-cat-grid .nt-card-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    min-height: 2.15rem;
    padding: 0.35rem 0.85rem;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--theme-color-1, #8cc63f) 55%, #d1d5db);
    background: #fff;
    color: var(--theme-color-1, #6b8e23);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.new-theme--web .nt-cat-grid .nt-card-add-btn span,
.new-theme--web .nt-cat-grid .nt-card-add-btn .nt-card-add-btn__icon {
    color: inherit;
}

.new-theme--web .nt-cat-grid .nt-card-add-btn .nt-card-add-btn__icon {
    font-size: 0.72rem;
    line-height: 1;
    flex-shrink: 0;
}

.new-theme--web .nt-cat-grid .menu-item--promo .nt-card-add-btn,
.new-theme--web .nt-cat-grid .nt-card-add-btn:hover {
    background: var(--theme-color-1, #8cc63f);
    border-color: var(--theme-color-1, #8cc63f);
    color: #fff;
}

.new-theme--web .nt-cat-grid .menu-detail {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.65rem;
}

.new-theme--web .nt-cat-grid .add-menu {
    width: auto;
    margin-top: 0;
}

/* Shared menu price chips (list + mobile category) */
.menu-price-breakdown {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.25rem;
}

.menu-price-row {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 0.4rem;
}

.menu-price-regular {
    font-size: 0.8rem;
    font-weight: 500;
    color: #9ca3af;
    text-decoration: line-through;
}

.menu-price-sale,
.menu-price-single {
    font-size: 1rem;
    font-weight: 800;
    color: var(--theme-color-1, #6b8e23);
}

.menu-price-breakdown--promo .menu-price-sale {
    color: #15803d;
}

.menu-offer-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #ecfdf3;
    color: #15803d;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

/* Legacy class aliases from classic theme */
.discounted-price-tag,
.regular-price-tag {
    font-size: inherit;
    background: transparent;
    color: inherit;
    border-radius: 0;
    line-height: inherit;
    padding: 0;
    margin: 0;
    display: inline;
}

@media (max-width: 767px) {
    .new-theme--web .nt-cat-grid {
        grid-template-columns: 1fr;
    }
}

.new-theme--mobile.nt-page-category .nt-mobile-category-wrap {
    padding: 0.85rem 0.85rem 1.5rem;
    background: #f5f5f5;
}

.new-theme--mobile.nt-page-category .nt-mobile-category-wrap--bleed {
    padding-left: 0;
    padding-right: 0;
}

.new-theme--mobile.nt-page-category .nt-cat-page-title {
    margin: 0 0 1rem;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    color: var(--theme-color-1, #6b8e23);
}

.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .menu-item.list {
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
    border: 1px solid #ececec;
}

.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .menu-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.new-theme--mobile.nt-page-category .nt-cat-grid:not(.nt-cat-grid--mobile-card) .menu-content {
    padding: 0.85rem 1rem 1rem;
}

/* —— Mobile category: white search + lime tab bar + product cards + FAB —— */
.new-theme--mobile.nt-page-category #content {
    overflow: visible;
}

/* Search + tab bar stick together under the fixed toolbar */
.new-theme--mobile.nt-page-category .nt-mobile-category-sticky-head {
    position: -webkit-sticky;
    position: sticky;
    top: 62px;
    z-index: 98;
    width: 100%;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}

.new-theme--mobile.nt-page-category .nt-mobile-cat-search {
    background: #fff;
    border-bottom: 1px solid #e8e8e8;
}

.new-theme--mobile.nt-page-category .nt-mobile-cat-search__wrap {
    position: relative;
    max-width: 100%;
}

.new-theme--mobile.nt-page-category .nt-mobile-cat-search__input {
    width: 100%;
    height: 46px;
    padding: 0 2.35rem 0 0.75rem;
    border: 0;
    border-radius: 0;
    background: #fff;
    color: #333;
    font-size: 0.875rem;
}

.new-theme--mobile.nt-page-category .nt-mobile-cat-search__input::placeholder {
    color: #9a9a9a;
    font-style: italic;
}

.new-theme--mobile.nt-page-category .nt-mobile-cat-search__icon {
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    pointer-events: none;
    font-size: 0.95rem;
}

/* Category search: matches in other top-level categories */
.nt-cat-search-results {
    background: #fafafa;
    border-bottom: 1px solid #e5e5e5;
}

.nt-cat-search-results[hidden] {
    display: none !important;
}

.new-theme--mobile.nt-page-category .nt-cat-search-results:not([hidden]) {
    display: block;
    padding: 0.6rem 0.85rem 0.75rem;
}

.nt-cat-search-results__heading {
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #777;
    margin-bottom: 0.45rem;
}

.nt-cat-search-results__empty {
    margin: 0;
    padding: 0.35rem 0;
    font-size: 0.875rem;
    color: #666;
}

a.nt-cat-search-results__row {
    display: block;
    padding: 0.55rem 0.65rem;
    margin-bottom: 0.35rem;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 6px;
    color: #222 !important;
    text-decoration: none !important;
}

a.nt-cat-search-results__row:last-child {
    margin-bottom: 0;
}

.nt-cat-search-results__row-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.nt-cat-search-results__name {
    font-weight: 700;
    font-size: 0.875rem;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    color: var(--theme-color-1, #6b8e23);
}

.nt-cat-search-results__price {
    font-weight: 700;
    font-size: 0.85rem;
    color: #333;
    white-space: nowrap;
}

.nt-cat-search-results__desc {
    margin-top: 0.25rem;
    font-size: 0.75rem;
    line-height: 1.4;
    color: #555;
}

.new-theme--web.nt-page-category .nt-cat-search-results--web:not([hidden]) {
    display: block;
    margin-bottom: 0.85rem;
    padding: 0.65rem 0;
}

.new-theme--mobile.nt-page-category .nt-cat-tabbar {
    background: var(--theme-color-1, #9acd32);
    border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.new-theme--mobile.nt-page-category .nt-cat-tabbar__scroll {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.35rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.5rem 0.5rem 0.55rem;
    scrollbar-width: none;
}

.new-theme--mobile.nt-page-category .nt-cat-tabbar__scroll::-webkit-scrollbar {
    display: none;
}

.new-theme--mobile.nt-page-category .nt-cat-tabbar__tab {
    flex: 0 0 auto;
    padding: 0.45rem 0.75rem;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
    border: 2px solid transparent;
    border-radius: 2px;
    line-height: 1.2;
}

.new-theme--mobile.nt-page-category .nt-cat-tabbar__tab:hover,
.new-theme--mobile.nt-page-category .nt-cat-tabbar__tab:focus {
    color: #fff;
    text-decoration: none;
    opacity: 0.92;
}

.new-theme--mobile.nt-page-category .nt-cat-tabbar__tab.active {
    border-color: #fff;
    color: #fff;
}

.new-theme--mobile.nt-page-category .nt-cat-grid.nt-cat-grid--mobile-card {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .section-menu.nt-cat-mobile-card {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    margin-bottom: 0;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__inner {
    flex-direction: column;
    align-items: stretch;
    background: #fff;
    border-radius: 0;
    overflow: hidden;
    box-shadow: none;
    border: 0;
    border-bottom: 1px solid #e0e0e0;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card:last-child .nt-cat-mobile-card__inner {
    border-bottom: 0;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__inner > .nt-cat-mobile-card__actions--bar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem 0.65rem;
    margin-top: 0;
    padding: 0.65rem 0.9rem 0.75rem;
    background: #fff;
    border-top: 1px solid #ececec;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__media {
    flex: none !important;
    width: 100% !important;
    max-width: none !important;
    height: clamp(200px, 52vw, 340px);
    margin: 0 !important;
    border-radius: 0 !important;
    border: 0 !important;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0 !important;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__noimg.nt-cat-mobile-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100% !important;
    height: clamp(200px, 52vw, 340px) !important;
    min-height: clamp(200px, 52vw, 340px) !important;
    max-height: none !important;
    flex: none !important;
    background: linear-gradient(
        145deg,
        color-mix(in srgb, var(--theme-color-1, #8cc63f) 8%, #fafafa) 0%,
        color-mix(in srgb, var(--theme-color-1, #8cc63f) 16%, #f0f0f0) 100%
    );
    border-bottom: 1px solid #ececec;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-menu-card__media-wrap {
    position: relative;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .menu-card-offer-ribbon {
    position: absolute;
    top: 0.75rem;
    inset-inline-start: 0.75rem;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    padding: 0.3rem 0.7rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: #15803d;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-menu-card__monogram {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-color-1, #8cc63f) 18%, #fff);
    color: var(--theme-color-1, #8cc63f);
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--theme-color-1, #8cc63f) 22%, transparent);
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__placeholder-name {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 1rem;
    text-align: center;
    font-size: clamp(0.8rem, 3.2vw, 1rem);
    font-weight: 700;
    line-height: 1.35;
    letter-spacing: 0.02em;
    color: var(--theme-color-1, #8cc63f);
    overflow: hidden;
    word-break: break-word;
    hyphens: auto;
    user-select: none;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__body {
    padding: 1rem 1rem 0.85rem;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .menu-content .menu-detail {
    display: block;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__title h4 {
    margin: 0 0 0.4rem;
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    text-transform: none;
    color: #1f2937;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .menu-content .menu-title {
    max-width: 100%;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__recipe {
    font-size: 0.875rem;
    color: #111;
    line-height: 1.55;
    margin-bottom: 0;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    flex: 1 1 auto;
    min-width: 0;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.42rem 0.9rem;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    border-radius: 4px;
    cursor: pointer;
    border: 2px solid transparent;
    line-height: 1.2;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__btn--add {
    background: var(--theme-color-1, #8cc63f);
    color: #fff;
    border-color: var(--theme-color-1, #8cc63f);
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .add-btn.nt-cat-mobile-card__btn--add {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    height: auto;
    min-height: 0;
    width: auto;
    border-width: 2px;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .add-btn.nt-cat-mobile-card__btn--add span {
    color: #fff;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .add-btn.nt-cat-mobile-card__btn--add .nt-card-add-btn__icon {
    color: #fff;
    font-size: 0.72rem;
    line-height: 1;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__btn--outline {
    background: #fff;
    color: var(--theme-color-1, #6b8e23);
    border-color: var(--theme-color-1, #8cc63f);
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__price {
    margin-left: auto;
    font-size: 0.95rem;
    font-weight: 700;
    color: #222;
    white-space: nowrap;
}

.new-theme--mobile.nt-page-category .nt-cat-grid--mobile-card .nt-cat-mobile-card__fav {
    color: #bbb;
    font-size: 1.1rem;
    padding: 0.15rem;
    opacity: 0.55;
}

.new-theme--mobile.nt-page-category .nt-mobile-category-fab {
    position: fixed;
    right: 14px;
    bottom: calc(70px + 14px);
    z-index: 1015;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: var(--theme-color-1, #9acd32);
    color: #fff !important;
    text-decoration: none !important;
    font-size: 0.55rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.15;
    cursor: pointer;
}

.new-theme--mobile.nt-page-category .nt-mobile-category-fab__text {
    display: block;
    max-width: 44px;
    text-transform: uppercase;
}

.new-theme--mobile .nt-mobile-toolbar__home-btn {
    text-decoration: none !important;
}

[dir="rtl"] .new-theme--mobile.nt-page-category .nt-mobile-cat-search__icon {
    right: auto;
    left: 0.65rem;
}

[dir="rtl"] .new-theme--mobile.nt-page-category .nt-mobile-cat-search__input {
    padding: 0 0.75rem 0 2.35rem;
}

[dir="rtl"] .new-theme--mobile.nt-page-category .nt-cat-mobile-card__price {
    margin-left: 0;
    margin-right: auto;
}

[dir="rtl"] .new-theme--mobile.nt-page-category .nt-mobile-category-fab {
    right: auto;
    left: 14px;
}

/* ------------------------------------------------------------------
   Mobile shell — toolbar, search, hero (new-theme--mobile)
------------------------------------------------------------------ */
.new-theme--mobile .new-theme__toolbar--mobile-top.bg-header {
    background: #464642 !important;
    border-bottom: 0;
    box-shadow: none;
    height: 62px;
    min-height: 62px;
}

.new-theme--mobile #content {
    padding-top: 62px;
    min-height: calc(100vh - 62px);
}

.new-theme--mobile .content-wrap {
    min-height: calc(100vh - 62px - 70px);
}

/* Home: sticky search needs a scroll ancestor without overflow:hidden (.content-wrap). */
.new-theme--mobile:not(.nt-page-category) #content > .content-wrap {
    overflow: visible;
}

.new-theme--mobile .nt-mobile-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    width: 100%;
    min-height: 56px;
    padding: 0 0.15rem;
    gap: 0.1rem;
}

.new-theme--mobile .nt-mobile-toolbar__side {
    flex: unset;
    min-width: 0;
    display: flex;
    align-items: center;
}

.new-theme--mobile .nt-mobile-toolbar__side--left {
    grid-column: 1;
    justify-content: flex-start;
    gap: 0;
    min-width: 0;
    overflow: hidden;
}

.new-theme--mobile .nt-mobile-toolbar__side--left > .nt-mobile-toolbar__icon-btn,
.new-theme--mobile .nt-mobile-toolbar__side--left > .nt-mobile-toolbar__home-btn {
    flex: 0 0 auto;
}

.new-theme--mobile .nt-mobile-toolbar__service-actions {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
    min-width: 0;
}

.new-theme--mobile .nt-mobile-toolbar__service-actions--left {
    flex: 1 1 auto;
    justify-content: flex-start;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.new-theme--mobile .nt-mobile-toolbar__service-actions--right {
    flex: 1 1 auto;
    justify-content: flex-end;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

.new-theme--mobile .nt-mobile-toolbar__service-actions--left::-webkit-scrollbar,
.new-theme--mobile .nt-mobile-toolbar__service-actions--right::-webkit-scrollbar {
    display: none;
}

.new-theme--mobile .nt-mobile-toolbar__side--right {
    grid-column: 3;
    justify-content: flex-end;
    gap: 0;
    min-width: 0;
    overflow: hidden;
}

.new-theme--mobile .nt-mobile-toolbar__cart {
    flex: 0 0 auto;
}

.new-theme--mobile .nt-mobile-toolbar__center {
    grid-column: 2;
    flex: 0 0 auto;
    justify-self: center;
    max-width: min(32vw, 104px);
    min-width: 0;
    padding: 0 0.2rem;
    text-align: center;
    pointer-events: auto;
}

.new-theme--mobile .nt-mobile-toolbar__logo-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    text-decoration: none;
}

.new-theme--mobile .nt-mobile-toolbar__logo-img {
    display: block;
    max-height: 34px;
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.new-theme--mobile .nt-mobile-toolbar__icon-btn {
    background: transparent !important;
    border: 0 !important;
    color: #fff !important;
    padding: 0.28rem 0.34rem !important;
    line-height: 1 !important;
    box-shadow: none !important;
    flex: 0 0 auto;
    min-width: 2rem;
    min-height: 2rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.new-theme--mobile .nt-mobile-toolbar__icon-btn i,
.new-theme--mobile .nt-mobile-toolbar__icon-btn .fa {
    font-size: 1.05rem !important;
    line-height: 1;
    width: 1.05rem;
    text-align: center;
}

.new-theme--mobile .nt-mobile-toolbar__icon-btn .icon-feather-menu,
.new-theme--mobile .nt-mobile-toolbar__icon-btn .icon-feather-home {
    font-size: 1.12rem !important;
    width: auto;
}

.new-theme--web .nt-web-header__request-bill.is-sent,
.new-theme--mobile .nt-mobile-toolbar__request-bill.is-sent {
    color: #6ee7b7;
}

.new-theme--mobile .nt-mobile-toolbar__valet-parking,
.new-theme--mobile .nt-mobile-toolbar__kid-zone,
.new-theme--mobile .nt-mobile-toolbar__call-waiter,
.new-theme--mobile .nt-mobile-toolbar__request-bill,
.new-theme--mobile .nt-mobile-toolbar__track {
    margin-right: 0 !important;
}

.new-theme--mobile .nt-mobile-toolbar__request-bill.is-sent {
    color: #b8f5d4 !important;
}

.new-theme--mobile .nt-mobile-toolbar__request-bill .fa-file-text {
    font-size: 1.05rem;
    line-height: 1;
}

.new-theme--mobile .nt-mobile-toolbar__cart {
    position: relative;
}

.new-theme--mobile .nt-mobile-toolbar__cart-badge {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--theme-color-1, #9acd32);
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
}

/* Home: search + hero */
.new-theme--mobile .nt-mobile-home-top {
    background: #fff;
}

.new-theme--mobile .nt-mobile-home-top__search {
    position: -webkit-sticky;
    position: sticky;
    top: 62px;
    z-index: 98;
    width: 100%;
    background: #464642;
    box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}

.new-theme--mobile .nt-mobile-home-top__search-wrap {
    position: relative;
    max-width: 100%;
}

.new-theme--mobile .nt-mobile-home-top__search-input {
    width: 100%;
    height: 46px;
    padding: 0 2.35rem 0 0.75rem;
    border-radius: 0;
    border: 0;
    background: #fff;
    color: #333;
    font-size: 0.875rem;
}

.new-theme--mobile .nt-mobile-home-top__search-input::placeholder {
    color: #9a9a9a;
    font-style: italic;
}

.new-theme--mobile .nt-mobile-home-top__search-icon {
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    pointer-events: none;
    font-size: 0.95rem;
}

.new-theme--mobile .nt-mobile-request-bill-bar {
    padding: 0.55rem 0.75rem 0.65rem;
    background: #464642;
}

.new-theme--mobile.nt-page-category .nt-mobile-request-bill-bar {
    background: #fff;
    padding: 0.5rem 0.75rem;
    border-bottom: 1px solid #ececec;
}

.new-theme--mobile .nt-mobile-request-bill-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    width: 100%;
    min-height: 44px;
    margin: 0;
    padding: 0.65rem 1rem;
    border: 0;
    border-radius: 10px;
    background: var(--theme-color-1, #bdd800);
    color: #1a1a1a;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.new-theme--mobile .nt-mobile-request-bill-btn .fa-file-text {
    font-size: 1.05rem;
    line-height: 1;
}

.new-theme--mobile .nt-mobile-request-bill-btn.is-needs-table {
    opacity: 0.82;
}

.new-theme--mobile .nt-mobile-request-bill-btn.is-sent {
    background: #ecfdf5;
    color: #047857;
    box-shadow: none;
}

.new-theme--mobile .nt-mobile-request-bill-btn.button-progress {
    opacity: 0.75;
    pointer-events: none;
}

/* Mobile hero: track height = image (no empty black band below slide) */
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero {
    position: relative;
    background: #f0f0f0;
}

.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero .carousel-inner,
.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero .carousel-item {
    min-height: 0;
    height: auto;
    background: #f0f0f0;
}

.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero .carousel-item.active {
    display: block;
}

.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero__img {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: min(56vw, 280px);
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
    vertical-align: top;
}

.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero__dots {
    position: absolute;
    bottom: 0.65rem;
    left: 0;
    right: 0;
    margin: 0 auto;
    width: auto;
    justify-content: center;
    display: flex;
    padding-left: 0;
    list-style: none;
}

.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero__dots li {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.55);
    border: 0;
    margin: 0 3px;
}

.new-theme--mobile .nt-mobile-home-top__hero .nt-web-hero__dots li.active {
    background: #fff;
}

[dir="rtl"] .new-theme--mobile .nt-mobile-home-top__search-icon {
    right: auto;
    left: 0.65rem;
}

[dir="rtl"] .new-theme--mobile .nt-mobile-home-top__search-input {
    padding: 0 0.75rem 0 2.35rem;
}

/* ------------------------------------------------------------------
   Mobile drawer sidebar (reference layout)
------------------------------------------------------------------ */
#sidebarleft.sidenav.nt-mobile-sidebar {
    background: #fff !important;
    color: #333 !important;
    box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
    max-height: 100vh;
    height: 100vh;
    display: flex;
    flex-direction: column;
}

#sidebarleft.nt-mobile-sidebar a {
    color: #3a3a3a !important;
}

#sidebarleft.nt-mobile-sidebar a:hover,
#sidebarleft.nt-mobile-sidebar a:focus {
    color: var(--theme-color-1, #6b8e23) !important;
    text-decoration: none;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__inner {
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    height: 100%;
    overflow: hidden;
    padding: 0;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__head {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 0 0 auto;
    padding: 0;
    border-bottom: 1px solid #ececec;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__topbar {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 0.55rem 0.75rem 0.35rem;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__brand-row {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0.35rem 1rem 0.85rem;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__icon-btn {
    background: transparent !important;
    border: 0 !important;
    color: #333 !important;
    padding: 0.35rem !important;
    box-shadow: none !important;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__icon-btn i {
    font-size: 1.35rem;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__logo-link {
    display: flex;
    justify-content: center;
    text-decoration: none !important;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__logo {
    max-height: 38px;
    width: auto;
    max-width: 160px;
    object-fit: contain;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__quick {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0.25rem;
    padding: 1rem 0.75rem;
    border-bottom: 1px solid #ececec;
    flex: 0 0 auto;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__quick--cols-2 {
    grid-template-columns: repeat(2, 1fr);
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__quick-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 0.35rem;
    padding: 0.35rem 0.2rem;
    font-size: 0.58rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    text-align: center;
    text-decoration: none !important;
    color: #555 !important;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__quick-item i {
    font-size: 1.15rem;
    color: #666;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__menu {
    padding: 0.35rem 0 0;
    margin: 0;
    flex: 1 1 auto;
    min-height: 0;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__menu li {
    border-bottom: 1px solid #f0f0f0;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__menu-link {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1.15rem;
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none !important;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__menu-link i {
    width: 1.35rem;
    text-align: center;
    color: #777;
}

#sidebarleft.nt-mobile-sidebar button.nt-mobile-sidebar__menu-link {
    width: 100%;
    border: 0;
    background: transparent;
    color: inherit;
    cursor: pointer;
    text-align: left;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    gap: 0.5rem;
    margin: 1rem 1rem 0.75rem;
    padding: 0.65rem 1rem;
    border-radius: 4px;
    background: #25d366;
    color: #fff !important;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none !important;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__whatsapp i {
    font-size: 1.35rem;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__whatsapp--disabled {
    opacity: 0.55;
    pointer-events: none;
    cursor: default;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__social {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    flex: 0 0 auto;
    gap: 0.5rem;
    padding: 0.75rem 1rem 0.5rem;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    color: #666 !important;
    text-decoration: none !important;
    font-size: 1rem;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__social-link--disabled {
    opacity: 0.42;
    pointer-events: none;
    cursor: default;
    background: #f5f5f5;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__stores {
    padding: 0.75rem 1rem 0.25rem;
    flex: 0 0 auto;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__stores-title {
    text-align: center;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #888;
    margin-bottom: 0.5rem;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__stores-row {
    display: flex;
    gap: 0.5rem;
    justify-content: center;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__store-badge {
    flex: 1 1 0;
    max-width: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    border: 1px solid #d5d5d5;
    border-radius: 4px;
    color: #444 !important;
    text-decoration: none !important;
    font-size: 1.5rem;
    background: #fafafa;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__foot {
    margin-top: auto;
    flex: 0 0 auto;
    padding-top: 0.5rem;
    border-top: 1px solid #ececec;
}

#sidebarleft.nt-mobile-sidebar .nt-mobile-sidebar__menu-link--account {
    padding: 0.9rem 1.15rem;
}
