/* Vegetable Store — produce overlay on ecommerce-v5 (Karl). Vendor CSS/JS stay at /themes/ecommerce-v5. */

.theme-vegetable-store .header_area .top_header_area {
    background: linear-gradient(90deg, #1b5e20 0%, #2e7d32 50%, #c62828 100%);
}

/* Directory shops show only this bar (nav row is hidden). Karl locks it at 150px; half of the original 150px. */
.theme-vegetable-store.sd-shop .header_area .top_header_area {
    height: 75px;
}

.theme-vegetable-store .header_area .top_header_area,
.theme-vegetable-store .header_area .top_header_area a,
.theme-vegetable-store .header_area .top_header_area .header-search-btn {
    color: #fff;
}

.theme-vegetable-store .header_area .main_header_area {
    border-bottom: 3px solid #c62828;
}

.theme-vegetable-store .footer_area {
    background: #123616;
    color: #f4f7f2;
}

/* Karl core sets `p { color: #3a3a3a }` — override so footer copy stays readable on dark bg. */
.theme-vegetable-store .footer_area p,
.theme-vegetable-store .footer_area .copywrite_text > p {
    color: #f4f7f2;
}

.theme-vegetable-store .footer_area a {
    color: #ffcdd2;
}

.theme-vegetable-store .sd-footer {
    padding: 24px 0;
}

.theme-vegetable-store .sd-footer p {
    margin: 0 0 6px;
    font-size: 14px;
}

.theme-vegetable-store .sd-footer .sd-footer-name {
    font-size: 18px;
    font-weight: 700;
    color: #fff;
}

.theme-vegetable-store .sd-footer .sd-footer-links a {
    color: #e8f5e9;
}

.theme-vegetable-store .sd-footer .sd-footer-links a:hover {
    color: #fff;
}

.theme-vegetable-store .sd-footer .sd-footer-copy {
    opacity: .75;
    font-size: 12px;
    color: #c8dcc9;
}

.theme-vegetable-store .widget-title h6,
.theme-vegetable-store .section-heading h2 {
    color: #1b5e20;
}

.theme-vegetable-store .karl-btn,
.theme-vegetable-store .header-search-btn {
    background-color: var(--theme-primary) !important;
    border-color: var(--theme-primary) !important;
}

.theme-vegetable-store .single_product_desc .product-price,
.theme-vegetable-store .product-price {
    color: #c62828;
}

.theme-vegetable-store .catagories-side-menu .nav-side-menu h6 {
    background: #1b5e20;
    color: #fff;
}

.theme-vegetable-store .welcome_area .hero_text p:first-child {
    display: inline-block;
    background: #c62828;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: 10px;
}

.theme-vegetable-store .widget.catagory ul li a {
    border-left: 3px solid transparent;
}

.theme-vegetable-store .widget.catagory ul li a:hover,
.theme-vegetable-store .widget.catagory ul li.active a {
    border-left-color: #c62828;
    color: #1b5e20;
}

/* ==========================================================================
   Grocery shop front: shop header, category chips, product cards, cart bar,
   product detail. Mobile-first; scoped to :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store).
   ========================================================================== */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) {
    --vs-green: var(--theme-primary, #2e7d32);
    --vs-green-soft: color-mix(in srgb, var(--vs-green) 10%, #fff);
    --vs-red: #c62828;
    --vs-ink: #1f2937;
    --vs-mute: #6b7280;
    --vs-line: #e5e7eb;
    --vs-radius: 14px;
}
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store).vs-has-cartbar { padding-bottom: 76px; }

/* Shop header */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop { padding: 16px 0 8px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__card { background: #fff; border: 1px solid var(--vs-line); border-radius: var(--vs-radius); overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,.05); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__main { padding: 12px 16px 14px; display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: flex-start; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__logo { width: 64px; height: 64px; border-radius: 14px; border: 2px solid var(--vs-line); background: #fff; overflow: hidden; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__logo img { width: 100%; height: 100%; object-fit: contain; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__logo span { font-size: 30px; font-weight: 800; color: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__info { flex: 1 1 260px; min-width: 0; padding-top: 4px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__name { font-size: 22px; line-height: 1.2; margin: 0 0 4px; font-weight: 800; color: var(--vs-ink); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__tag { margin: 0 0 4px; color: var(--vs-mute); font-size: 14px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__place { margin: 0 0 8px; color: var(--vs-mute); font-size: 13px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-chips li { background: var(--vs-green-soft); color: var(--vs-green); font-size: 12px; font-weight: 600; padding: 4px 10px; border-radius: 999px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-chips i { margin-right: 4px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__actions { display: flex; gap: 8px; flex: 1 1 100%; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-act { flex: 1 1 0; display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 8px 4px; border: 1px solid var(--vs-line); border-radius: 12px; color: var(--vs-ink); font-size: 12px; font-weight: 600; text-decoration: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-act i { font-size: 18px; color: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-act:hover { background: var(--vs-green-soft); color: var(--vs-ink); }

/* Offers strip (admin hero banners) */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offers { padding-top: 8px; padding-bottom: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offers__track { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; -webkit-overflow-scrolling: touch; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offer { flex: 0 0 82%; max-width: 420px; height: 120px; border-radius: var(--vs-radius); background: #ddd center/cover no-repeat; scroll-snap-align: start; position: relative; overflow: hidden; text-decoration: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offer::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(0,0,0,.55), rgba(0,0,0,0) 70%); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offer__txt { position: absolute; z-index: 1; left: 14px; bottom: 12px; right: 14px; color: #fff; display: flex; flex-direction: column; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offer__txt strong { font-size: 17px; line-height: 1.2; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offer__txt small { opacity: .9; }

/* Product listing filters */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .product-filter-bar { background: #fff; border: 1px solid var(--vs-line); border-radius: var(--vs-radius); padding: 12px; margin-bottom: 16px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter { display: flex; flex-direction: column; gap: 10px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .product-filter-bar .vs-search { margin: 0; height: 44px; background: #f9fafb; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter .vs-cats { margin: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__grid { display: grid; grid-template-columns: minmax(0, 1fr) max-content; gap: 8px; align-items: center; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__field,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__stock { margin: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__field--sort,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range { min-width: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__field select,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__stock,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__btn { height: 42px; border-radius: 12px; font-size: 14px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__field select { width: 100%; margin: 0; padding: 0 32px 0 12px; border: 1px solid var(--vs-line); background-color: #f9fafb; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%236b7280' d='M1.4.6 6 5.2 10.6.6 12 2 6 8 0 2z'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; color: var(--vs-ink); font-weight: 600; appearance: none; -webkit-appearance: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__field select:focus,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range:focus-within { outline: 2px solid color-mix(in srgb, var(--vs-green) 35%, #fff); border-color: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__stock { display: inline-flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid var(--vs-line); background: #f9fafb; color: var(--vs-ink); font-weight: 600; cursor: pointer; white-space: nowrap; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__stock input { width: 16px; height: 16px; margin: 0; accent-color: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__stock:has(input:checked) { background: var(--vs-green-soft); border-color: var(--vs-green); color: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range { display: flex; align-items: center; border: 1px solid var(--vs-line); background: #f9fafb; overflow: hidden; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range input { width: 0; flex: 1 1 0; min-width: 0; height: 100%; margin: 0; padding: 0 8px; border: 0; background: transparent; color: var(--vs-ink); font-size: 14px; text-align: center; -moz-appearance: textfield; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range input:focus { outline: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range input::-webkit-outer-spin-button,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__range span { width: 1px; height: 18px; background: var(--vs-line); flex: 0 0 auto; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__btn { display: inline-flex; align-items: center; justify-content: center; margin: 0; padding: 0 16px; border: 0; background: var(--vs-green); color: #fff; font-weight: 800; line-height: 1; cursor: pointer; white-space: nowrap; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__btn:hover,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__btn:focus { color: #fff; filter: brightness(.94); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__clear { align-self: flex-end; color: var(--vs-mute); font-size: 13px; font-weight: 700; text-decoration: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__clear:hover { color: var(--vs-ink); }
@media (min-width: 768px) {
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-filter__grid { grid-template-columns: 168px max-content minmax(180px, 240px) max-content; justify-content: start; }
}

/* Sticky search + category chips */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-tools { position: sticky; top: 0; z-index: 40; background: #fff; border-bottom: 1px solid var(--vs-line); padding: 10px 0 8px; margin-top: 12px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-search { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 0 14px; height: 42px; border: 1px solid var(--vs-line); border-radius: 999px; background: #f9fafb; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-search i { color: var(--vs-mute); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-search input { flex: 1; border: 0; background: transparent; outline: none; font-size: 15px; min-width: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cats { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; position: relative; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cats::-webkit-scrollbar { display: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cat { flex: 0 0 auto; padding: 7px 14px; border-radius: 999px; border: 1px solid var(--vs-line); background: #fff; color: var(--vs-ink); font-size: 13px; font-weight: 600; text-decoration: none; white-space: nowrap; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cat.is-on { background: var(--vs-green); border-color: var(--vs-green); color: #fff; }

/* Catalog sections */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-catalog { padding: 8px 0 32px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-section { padding-top: 18px; scroll-margin-top: 110px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-section__head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 10px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-section__head h2 { font-size: 19px; margin: 0; font-weight: 800; color: var(--vs-ink); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-section__head h2 small { font-size: 12px; font-weight: 600; color: var(--vs-mute); margin-left: 4px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-section__head a { font-size: 13px; font-weight: 700; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-grid { margin-left: -6px; margin-right: -6px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-grid > .vs-col { padding: 6px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-empty { text-align: center; color: var(--vs-mute); padding: 40px 0; }

/* Product card */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card { height: 100%; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--vs-line); border-radius: var(--vs-radius); overflow: hidden; transition: box-shadow .15s; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card__img { position: relative; display: block; aspect-ratio: 1 / 1; background: #f3f4f6; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card__img img { width: 100%; height: 100%; object-fit: cover; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card.is-out .vs-card__img img { filter: grayscale(1); opacity: .55; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-badge-off { position: absolute; top: 8px; left: 8px; background: var(--vs-red); color: #fff; font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 6px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-badge-out { position: absolute; left: 8px; bottom: 8px; background: rgba(31,41,55,.85); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 8px; border-radius: 6px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card__body { padding: 10px 10px 12px; display: flex; flex-direction: column; flex: 1; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card__name { color: var(--vs-ink); font-size: 14px; font-weight: 600; line-height: 1.3; min-height: 2.6em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-decoration: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card__unit { font-size: 12px; color: var(--vs-mute); margin-top: 2px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card__low { font-size: 11px; font-weight: 700; color: var(--vs-red); margin-top: 2px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-card__foot { margin-top: auto; padding-top: 10px; display: flex; align-items: flex-end; justify-content: space-between; gap: 6px; flex-wrap: wrap; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-price { display: flex; flex-direction: column; line-height: 1.15; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-price__now { font-size: 17px; font-weight: 800; color: var(--vs-ink); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-price__mrp { font-size: 12px; color: var(--vs-mute); }

/* Add button / qty stepper (shared by cards and detail page) */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-ctl { position: relative; min-width: 76px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-btn-add,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-btn-view { display: inline-flex; align-items: center; justify-content: center; height: 34px; min-width: 76px; padding: 0 16px; border-radius: 10px; border: 1.5px solid var(--vs-green); background: #fff; color: var(--vs-green); font-size: 13px; font-weight: 800; text-transform: uppercase; cursor: pointer; text-decoration: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-btn-add:hover { background: var(--vs-green); color: #fff; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-btn-add:disabled { opacity: .6; cursor: progress; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stepper { display: none; align-items: center; justify-content: space-between; height: 34px; min-width: 96px; background: var(--vs-green); color: #fff; border-radius: 10px; overflow: hidden; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stepper button { width: 32px; height: 100%; border: 0; background: transparent; color: #fff; font-size: 18px; font-weight: 700; cursor: pointer; line-height: 1; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stepper button:disabled { opacity: .6; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stepper__qty { font-size: 14px; font-weight: 800; min-width: 24px; text-align: center; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-ctl.is-in .vs-btn-add { display: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-ctl.is-in .vs-stepper { display: flex; }

/* Sticky cart bar + toast */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cartbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); transform: translateY(110%); transition: transform .2s; pointer-events: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cartbar.is-on { transform: none; pointer-events: auto; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cartbar__inner { max-width: 720px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; background: var(--vs-green); color: #fff; padding: 13px 18px; border-radius: 14px; box-shadow: 0 8px 24px rgba(0,0,0,.28); text-decoration: none; font-size: 15px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cartbar__inner:hover { color: #fff; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-cartbar__go { font-weight: 800; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-toast { position: fixed; left: 50%; bottom: 84px; z-index: 950; transform: translate(-50%, 20px); background: #111827; color: #fff; padding: 10px 16px; border-radius: 10px; font-size: 14px; opacity: 0; pointer-events: none; transition: all .2s; max-width: 90vw; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-toast.is-on { opacity: 1; transform: translate(-50%, 0); }

/* Product detail */
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp { padding: 14px 0 40px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-crumbs { display: flex; flex-wrap: wrap; gap: 6px; font-size: 13px; color: var(--vs-mute); margin-bottom: 12px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-crumbs .is-current { color: var(--vs-ink); font-weight: 600; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__grid { display: grid; grid-template-columns: 1fr; gap: 20px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-gallery__main { position: relative; aspect-ratio: 1 / 1; background: #f3f4f6; border: 1px solid var(--vs-line); border-radius: var(--vs-radius); overflow: hidden; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-gallery__main img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-gallery__thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-thumb { flex: 0 0 64px; height: 64px; padding: 0; border: 2px solid var(--vs-line); border-radius: 10px; overflow: hidden; background: #fff; cursor: pointer; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-thumb.is-on { border-color: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-thumb img { width: 100%; height: 100%; object-fit: cover; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__title { font-size: 24px; font-weight: 800; line-height: 1.25; margin: 0 0 4px; color: var(--vs-ink); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__unit { color: var(--vs-mute); font-size: 14px; margin-bottom: 8px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__short { color: #4b5563; margin: 0 0 10px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__short p { margin: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__short p + p { margin-top: 6px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 12px; margin: 6px 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__now { font-size: 30px; font-weight: 800; color: var(--vs-ink); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__per { font-size: 16px; font-weight: 700; color: var(--vs-mute); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-save { background: var(--vs-green-soft); color: var(--vs-green); font-size: 12px; font-weight: 700; padding: 3px 10px; border-radius: 999px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stock { font-size: 14px; font-weight: 700; margin: 4px 0 14px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stock.is-in { color: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stock.is-out { color: var(--vs-red); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-bottom: 6px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-btn-add--lg { height: 48px; min-width: 180px; font-size: 15px; background: var(--vs-green); color: #fff; border-radius: 12px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-btn-add--lg:hover { filter: brightness(.92); background: var(--vs-green); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-ctl--lg .vs-stepper { height: 48px; min-width: 150px; border-radius: 12px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-ctl--lg .vs-stepper button { width: 48px; font-size: 22px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-ctl--lg .vs-stepper__qty { font-size: 17px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-qty-unit { display: inline-flex; align-items: center; align-self: center; height: 48px; padding: 0 12px; border-radius: 12px; background: var(--vs-green-soft); color: var(--vs-green); font-size: 14px; font-weight: 800; letter-spacing: .02em; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-stepper .vs-qty-unit--step { height: auto; padding: 0 2px 0 0; background: transparent; color: #fff; font-size: 12px; border-radius: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-buy:has(.vs-ctl.is-in) > .vs-qty-unit { display: none; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-gocart { display: none; font-weight: 700; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-ctl.is-in ~ .vs-gocart { display: inline; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-variants { display: flex; flex-wrap: wrap; gap: 8px; flex: 1 1 100%; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-variant input { position: absolute; opacity: 0; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-variant span { display: inline-block; padding: 8px 14px; border: 1.5px solid var(--vs-line); border-radius: 10px; font-size: 14px; cursor: pointer; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-variant input:checked + span { border-color: var(--vs-green); background: var(--vs-green-soft); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-buy__row { display: flex; gap: 10px; align-items: center; flex: 1 1 100%; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-qtyinput { width: 76px; height: 48px; text-align: center; border: 1.5px solid var(--vs-line); border-radius: 12px; font-size: 16px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-note { font-size: 12px; color: var(--vs-mute); margin: 0 0 6px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__links { display: flex; flex-wrap: wrap; gap: 14px; margin: 10px 0 14px; font-size: 14px; font-weight: 700; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-link-wa { color: #128c4a; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-trust { list-style: none; margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--vs-line); border-radius: var(--vs-radius); display: grid; gap: 10px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-trust li { display: flex; gap: 12px; align-items: flex-start; font-size: 13px; color: var(--vs-mute); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-trust li i { color: var(--vs-green); font-size: 18px; margin-top: 2px; width: 20px; text-align: center; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-trust li b { display: block; color: var(--vs-ink); font-size: 14px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-seller { padding: 12px 14px; border-radius: var(--vs-radius); background: #f9fafb; border: 1px solid var(--vs-line); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-seller__name { font-weight: 700; color: var(--vs-ink); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-seller__name i { color: var(--vs-green); margin-right: 4px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-seller__place { color: var(--vs-mute); font-size: 13px; margin: 2px 0 8px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-seller__acts { display: flex; gap: 16px; font-size: 14px; font-weight: 700; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-about { margin-top: 28px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-about h2,
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-similar h2 { font-size: 19px; font-weight: 800; margin: 0 0 10px; color: var(--vs-ink); }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-about__body { color: #374151; line-height: 1.65; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-similar { margin-top: 32px; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-scroller { display: flex; gap: 12px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
:is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-scroller__item { flex: 0 0 165px; scroll-snap-align: start; }

@media (min-width: 768px) {
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__actions { flex: 0 0 auto; }
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-act { min-width: 82px; }
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__logo { width: 72px; height: 72px; }
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-shop__name { font-size: 26px; }
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-offer { flex-basis: 380px; height: 140px; }
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-pdp__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 36px; }
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-gallery { position: sticky; top: 16px; align-self: start; }
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-scroller__item { flex-basis: 200px; }
}
@media (min-width: 992px) {
    :is(.theme-vegetable-store, .theme-grocery-store, .theme-fruit-store, .theme-mobile-store) .vs-section { scroll-margin-top: 130px; }
}
