/* ZimBuyer premium mobile commerce layer. Desktop is intentionally untouched. */
@media (max-width: 767px) {
  :root {
    --zbm-ink: #0b3528;
    --zbm-muted: #60736c;
    --zbm-green: #087a4d;
    --zbm-orange: #f47b20;
    --zbm-line: #dce8e2;
    --zbm-soft: #f6faf8;
    --zbm-radius: 14px;
    --zbm-shadow: 0 8px 24px rgba(8, 61, 43, .08);
  }

  html, body { overflow-x: hidden; }
  body { color: var(--zbm-ink); background: #fff; -webkit-font-smoothing: antialiased; }
  body main, body #wrapper { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
  button, .btn, a.btn, [role="button"] { min-height: 44px; }
  input, select, textarea { font-size: 16px !important; }

  /* Compact, app-like header and search. */
  #header { background: #fff; box-shadow: 0 1px 0 var(--zbm-line); }
  #header .tv-header-logo img,
  #header .tv-header-logo a img { max-height: 48px !important; width: auto !important; object-fit: contain; }
  #header .tvsearch-header-display-wrappper,
  #header .tvsearch-top-wrapper { margin: 8px 12px 10px !important; }
  #header input[type="search"],
  #header .tvsearch-input input,
  #header #search_query_top {
    height: 48px !important;
    padding: 0 48px 0 16px !important;
    border: 1px solid #cbdcd4 !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--zbm-ink) !important;
    box-shadow: 0 4px 14px rgba(8, 61, 43, .045) !important;
  }

  /* Mobile navigation: shopping destinations first. */
  .zbn-navigation,
  #mobile_top_menu_wrapper {
    border: 0 !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  .zbn-navigation__heading { color: var(--zbm-ink) !important; font-size: 18px !important; font-weight: 800 !important; }
  .zbn-department,
  .zbn-menu__title,
  .zbn-menu__item {
    min-height: 48px !important;
    align-items: center !important;
    border-color: var(--zbm-line) !important;
    color: var(--zbm-ink) !important;
    font-size: 14px !important;
  }

  /* Homepage: categories and products are the primary content. */
  body#index .zb-seo-intro,
  body#index .zb-seo-context { display: none !important; }
  body#index .zb-mobile-quick { margin: 10px 0 4px !important; padding: 0 12px !important; }
  body#index .zb-mobile-quick__title,
  body#index .zb-mobile-quick h2 { color: var(--zbm-ink) !important; font-size: 22px !important; line-height: 1.2 !important; }
  body#index .zb-mobile-quick__subtitle { margin-bottom: 10px !important; color: var(--zbm-muted) !important; font-size: 13px !important; }
  body#index .zb-mobile-quick__rail,
  body#index .zb-mobile-quick__categories {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    overflow: visible !important;
    padding: 0 !important;
  }
  body#index .zb-mobile-quick a,
  body#index .zb-mobile-quick__item {
    min-width: 0 !important;
    min-height: 72px !important;
    padding: 10px !important;
    border: 1px solid var(--zbm-line) !important;
    border-radius: 13px !important;
    background: #fff !important;
    color: var(--zbm-ink) !important;
    box-shadow: 0 5px 15px rgba(8, 61, 43, .045) !important;
  }

  body#index .zb-home-collections { margin: 14px 0 0 !important; padding: 0 12px !important; }
  body#index .zb-home-collection { margin-bottom: 26px !important; }
  body#index .zb-home-collection__heading { margin: 0 0 10px !important; padding: 0 0 9px !important; }
  body#index .zb-home-collection__heading h2 { color: var(--zbm-ink) !important; font-size: 19px !important; line-height: 1.2 !important; }
  body#index .zb-home-collection__heading p { display: none !important; }
  body#index .zb-home-collection__view { font-size: 12px !important; }
  body#index .zb-home-collection__products {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  /* Shared compact product card system. */
  body#index .zb-home-product,
  body#category #products .product-miniature,
  body#search #products .product-miniature {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#index .zb-home-product .thumbnail-container,
  body#category #products .product-miniature .thumbnail-container,
  body#search #products .product-miniature .thumbnail-container {
    height: 278px !important;
    margin: 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--zbm-line) !important;
    border-radius: var(--zbm-radius) !important;
    background: #fff !important;
    box-shadow: 0 5px 16px rgba(8, 61, 43, .055) !important;
  }
  body#index .zb-home-product .tvproduct-image,
  body#category #products .product-miniature .tvproduct-image,
  body#search #products .product-miniature .tvproduct-image { height: 126px !important; padding: 7px !important; }
  body#index .zb-home-product .product-thumbnail,
  body#category #products .product-miniature .product-thumbnail,
  body#search #products .product-miniature .product-thumbnail { height: 112px !important; }
  body#index .zb-home-product .product-thumbnail img,
  body#category #products .product-miniature .product-thumbnail img,
  body#search #products .product-miniature .product-thumbnail img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
  body#index .zb-home-product .comments_note,
  body#category #products .comments_note,
  body#search #products .comments_note { display: none !important; }
  body#index .zb-home-product .product-description,
  body#category #products .product-description,
  body#search #products .product-description { min-height: 78px !important; padding: 8px !important; }
  body#index .zb-home-product .product-title,
  body#category #products .product-title,
  body#search #products .product-title {
    display: -webkit-box !important;
    height: 38px !important;
    margin: 0 0 4px !important;
    overflow: hidden !important;
    color: var(--zbm-ink) !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 19px !important;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  body#index .zb-home-product .price,
  body#category #products .price,
  body#search #products .price { color: var(--zbm-green) !important; font-size: 14px !important; font-weight: 800 !important; }
  body#index .zb-home-product .tvproduct-hover-btn,
  body#category #products .tvproduct-hover-btn,
  body#search #products .tvproduct-hover-btn {
    position: static !important;
    width: 100% !important;
    margin: 6px 0 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
  }
  body#index .zb-home-product .tvproduct-add-to-cart,
  body#category #products .tvproduct-add-to-cart,
  body#search #products .tvproduct-add-to-cart {
    width: 100% !important;
    min-height: 36px !important;
    padding: 7px 5px !important;
    border: 0 !important;
    border-radius: 10px !important;
    background: var(--zbm-green) !important;
    color: #fff !important;
    font-size: 11px !important;
    font-weight: 800 !important;
  }
  body#index .zb-home-product .tvproduct-quick-btn,
  body#category #products .tvproduct-quick-btn,
  body#search #products .tvproduct-quick-btn { display: none !important; }

  /* Product finding controls. */
  body#category #left-column,
  body#search #left-column { display: none !important; }
  body#category #content-wrapper,
  body#search #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
  body#category #products .products,
  body#search #products .products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
  body#category .products-selection,
  body#search .products-selection {
    position: sticky;
    z-index: 20;
    top: 0;
    margin: 0 0 12px !important;
    border: 1px solid var(--zbm-line) !important;
    border-radius: 12px !important;
    background: rgba(255,255,255,.96) !important;
    box-shadow: var(--zbm-shadow) !important;
    backdrop-filter: blur(10px);
  }

  /* Product page: one focused purchase flow, no desktop sidebar. */
  body#product #left-column,
  body#product #zbn-left-column { display: none !important; }
  body#product #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; margin: 0 !important; }
  body#product .tvproduct-page-wrapper { padding: 0 12px !important; }
  body#product .tvprduct-image-info-wrapper { overflow: visible !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
  body#product .tv-product-page-image,
  body#product .tv-product-page-content { width: 100% !important; padding: 12px 0 !important; }
  body#product .tv-product-page-image { min-height: 290px !important; }
  body#product .tv-product-page-image .product-images img.selected,
  body#product .product-cover img { max-height: 300px !important; object-fit: contain !important; }
  body#product .tvproduct-title-brandimage .h1,
  body#product h1 {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 8px !important;
    color: var(--zbm-ink) !important;
    font-size: 23px !important;
    line-height: 1.2 !important;
  }
  body#product .tv-product-page-content .tvproduct-title-brandimage h1.h1 {
    height: auto !important;
    min-height: 0 !important;
    padding-right: 0 !important;
    font-size: 23px !important;
    line-height: 1.2 !important;
  }
  body#product .product-prices { margin: 8px 0 14px !important; }
  body#product .current-price,
  body#product .current-price-value { color: var(--zbm-green) !important; font-size: 24px !important; font-weight: 850 !important; }
  body#product .product-pack,
  body#product .product-variants,
  body#product .product-add-to-cart,
  body#product .zbsdc-cake-panel {
    border-radius: var(--zbm-radius) !important;
    box-shadow: none !important;
  }
  body#product .product-add-to-cart .add,
  body#product .product-quantity .add { width: 100% !important; }
  body#product .product-add-to-cart .tvcart-btn-model,
  body#product .product-add-to-cart .tv-product-page-add-to-cart-wrapper {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body#product .add-to-cart,
  body#product button[data-button-action="add-to-cart"] {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 12px !important;
    background: var(--zbm-green) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 850 !important;
  }

  /* Cart: readable rows and a clear checkout action. */
  body#cart #left-column { display: none !important; }
  body#cart #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
  body#cart .cart-grid { display: block !important; margin: 0 !important; }
  body#cart .cart-grid-body,
  body#cart .cart-grid-right { width: 100% !important; max-width: 100% !important; padding: 0 12px !important; }
  body#cart .cart-item { margin-bottom: 10px !important; border: 1px solid var(--zbm-line) !important; border-radius: 12px !important; background: #fff !important; }
  body#cart .product-line-grid { min-height: 126px !important; padding: 10px !important; }
  body#cart .cart-summary { position: static !important; width: 100% !important; border: 1px solid var(--zbm-line) !important; border-radius: 14px !important; box-shadow: var(--zbm-shadow) !important; }
  body#cart .checkout a,
  body#cart a[href*="order"] {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 12px !important;
    background: var(--zbm-green) !important;
    color: #fff !important;
    font-weight: 850 !important;
  }

  /* Checkout: calm, single-column, predictable steps. */
  body#checkout #left-column,
  body#checkout #zbn-left-column { display: none !important; }
  body#checkout #content-wrapper { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; padding: 0 12px !important; }
  body#checkout .checkout-step,
  body#checkout .card,
  body#checkout .wk-order-summary-right {
    border: 1px solid var(--zbm-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    box-shadow: none !important;
  }
  body#checkout .checkout-step .step-title { min-height: 52px !important; color: var(--zbm-ink) !important; font-size: 16px !important; }
  body#checkout .form-control { min-height: 48px !important; border: 1px solid #cbdcd4 !important; border-radius: 11px !important; }
  body#checkout .btn-primary,
  body#checkout button[type="submit"] {
    width: 100% !important;
    min-height: 50px !important;
    border-radius: 12px !important;
    background: var(--zbm-green) !important;
    color: #fff !important;
    font-weight: 850 !important;
  }

  /* Persistent app navigation stays clear of transactional controls. */
  .zb-mobile-app-nav {
    min-height: 66px !important;
    padding-bottom: env(safe-area-inset-bottom) !important;
    border-top: 1px solid var(--zbm-line) !important;
    background: rgba(255,255,255,.97) !important;
    box-shadow: 0 -8px 24px rgba(8, 61, 43, .08) !important;
    backdrop-filter: blur(12px);
  }
  .zb-mobile-app-nav a { min-width: 56px; min-height: 52px !important; color: #64776f !important; }
  .zb-mobile-app-nav a.active,
  .zb-mobile-app-nav a[aria-current="page"] { color: var(--zbm-green) !important; }

  /* Compact, app-quality global chrome. Do not reuse the desktop footer stack. */
  body {
    padding-top: 136px !important;
    padding-bottom: calc(70px + env(safe-area-inset-bottom)) !important;
  }
  #footer,
  #footer .footer-container { min-height: 0 !important; }
  #footer .tvfooter-logo-link-wrapper {
    height: auto !important;
    min-height: 0 !important;
    padding: 20px 18px 14px !important;
    background: #fff !important;
  }
  #footer .tvfooter-storelogo-imformation { display: block !important; margin: 0 !important; }
  #footer .tvfooter-storelogo-weapper {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
  }
  #footer .tvfooter-about-logo-wrapper {
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
  }
  #footer .tvfooter-img-block { height: auto !important; min-height: 0 !important; margin: 0 !important; }
  #footer .tvfooter-img-block img {
    display: block !important;
    width: 144px !important;
    height: auto !important;
    max-width: 144px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
  }
  #footer .tvfooter-contact-link-wrapper,
  #footer .tvcms-newsletter-wrapper,
  #footer .tvfooter-newletter-icon { display: none !important; }
  #footer .tvfooter-copy-payment-icon-wrapper {
    min-height: 0 !important;
    padding: 14px 18px 16px !important;
    border: 0 !important;
    background: var(--zbm-green) !important;
  }
  #footer .tvfooter-copy-payment-icon-content,
  #footer .tvfooter-copy-payment-icon-inner { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  #footer .tvfooter-payment-icon-img-block,
  #footer .tvcopylink {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  #footer .tvfooter-payment-icon-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 34px !important;
    margin: 0 0 10px !important;
    gap: 8px !important;
  }
  #footer .zb-footer-payment-label { color: rgba(255,255,255,.86) !important; font-size: 11px !important; font-weight: 700 !important; }
  #footer .tvfooter-payment-content-block { width: auto !important; margin: 0 !important; }
  #footer .tvfooter-payment-content-block img {
    display: block !important;
    width: auto !important;
    height: 26px !important;
    max-width: 68px !important;
    border-radius: 4px !important;
    object-fit: contain !important;
  }
  #footer .zb-footer-copyright {
    max-width: 310px !important;
    margin: 0 auto !important;
    color: rgba(255,255,255,.9) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.45 !important;
    letter-spacing: .01em !important;
    text-align: center !important;
  }
  #footer .tvcmsfooter-social-icon { display: none !important; }

  .zb-mobile-app-nav {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    width: 100% !important;
    height: calc(66px + env(safe-area-inset-bottom)) !important;
    min-height: 66px !important;
    padding: 4px 4px env(safe-area-inset-bottom) !important;
    overflow: visible !important;
  }
  .zb-mobile-app-nav a {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    min-width: 0 !important;
    height: 58px !important;
    min-height: 58px !important;
    margin: 0 !important;
    padding: 3px 1px !important;
    gap: 2px !important;
    overflow: visible !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    line-height: 11px !important;
    text-align: center !important;
    white-space: nowrap !important;
  }
  .zb-mobile-app-nav a > i.material-icons,
  .zb-mobile-app-nav__cart > i.material-icons {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    margin: 0 !important;
    font-size: 23px !important;
    line-height: 24px !important;
    overflow: visible !important;
    color: currentColor !important;
    font-size: 0 !important;
  }
  .zb-mobile-app-nav a > i.material-icons::before,
  .zb-mobile-app-nav__cart > i.material-icons::before {
    display: block !important;
    width: 24px !important;
    height: 24px !important;
    background: currentColor !important;
    content: "" !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-position: center !important;
    -webkit-mask-size: 24px 24px !important;
    mask-repeat: no-repeat !important;
    mask-position: center !important;
    mask-size: 24px 24px !important;
  }
  /* Original ZimBuyer mobile icon family — rounded, confident, consistent. */
  .zb-mobile-app-nav a:nth-child(1) > i::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 10.5 12 3.8l8.5 6.7M5.8 9.2v10.2h12.4V9.2M9.2 19.4v-6.2h5.6v6.2'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 10.5 12 3.8l8.5 6.7M5.8 9.2v10.2h12.4V9.2M9.2 19.4v-6.2h5.6v6.2'/%3E%3C/svg%3E") !important;
  }
  .zb-mobile-app-nav a:nth-child(2) > i::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 4.5h6.5V11H4zM13.5 4.5H20V11h-6.5zM4 14h6.5v5.5H4zM13.5 14H20v5.5h-6.5z'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 4.5h6.5V11H4zM13.5 4.5H20V11h-6.5zM4 14h6.5v5.5H4zM13.5 14H20v5.5h-6.5z'/%3E%3C/svg%3E") !important;
  }
  .zb-mobile-app-nav a:nth-child(3) > i::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.6' cy='10.6' r='6.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='m15.5 15.5 4.4 4.4'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='10.6' cy='10.6' r='6.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='m15.5 15.5 4.4 4.4'/%3E%3C/svg%3E") !important;
  }
  .zb-mobile-app-nav .zb-mobile-app-nav__zimmy-link {
    color: var(--zbm-green) !important;
    transform: translateY(-5px) !important;
  }
  .zb-mobile-app-nav__zimmy {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 42px !important;
    height: 42px !important;
    margin: -8px 0 0 !important;
    border: 3px solid #fff !important;
    border-radius: 50% !important;
    background: linear-gradient(145deg, #0b8b59, #086a45) !important;
    box-shadow: 0 5px 14px rgba(8,122,77,.28) !important;
  }
  .zb-mobile-app-nav__zimmy img {
    display: block !important;
    width: 34px !important;
    height: 34px !important;
    margin: 0 !important;
    border-radius: 50% !important;
    object-fit: cover !important;
  }
  .zb-mobile-app-nav a:nth-child(4) i::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 8h14l-1.1 11H6.1zM9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M5 8h14l-1.1 11H6.1zM9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") !important;
  }
  .zb-mobile-app-nav a:nth-child(5) > i::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M5 20c.7-4.1 3-6.1 7-6.1s6.3 2 7 6.1'/%3E%3C/svg%3E") !important;
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='3.5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' d='M5 20c.7-4.1 3-6.1 7-6.1s6.3 2 7 6.1'/%3E%3C/svg%3E") !important;
  }
  .zb-mobile-app-nav a > span:not(.zb-mobile-app-nav__cart):not(.zb-mobile-app-nav__zimmy) {
    display: block !important;
    width: auto !important;
    height: 12px !important;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 12px !important;
  }
  .zb-mobile-app-nav__cart { position: relative !important; display: block !important; width: 24px !important; height: 24px !important; }
  .zb-mobile-app-nav__count {
    position: absolute !important;
    z-index: 2 !important;
    top: -6px !important;
    right: -10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 18px !important;
    height: 18px !important;
    padding: 0 4px !important;
    border: 2px solid #fff !important;
    border-radius: 999px !important;
    background: var(--zbm-orange) !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    line-height: 14px !important;
  }
  #zb-ai-assistant {
    right: 12px !important;
    bottom: calc(78px + env(safe-area-inset-bottom)) !important;
  }
  #zb-ai-toggle {
    width: 52px !important;
    min-width: 52px !important;
    height: 52px !important;
    padding: 4px !important;
    border-radius: 50% !important;
  }
  #zb-ai-toggle .zb-ai-toggle-label { display: none !important; }
  #zb-ai-toggle { display: none !important; }

  /* Persistent mobile shopping shell: compact sticky header + fixed app tabs. */
  #header {
    position: fixed !important;
    z-index: 10010 !important;
    inset: 0 0 auto 0 !important;
    top: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    left: 0 !important;
    width: 100% !important;
    height: 136px !important;
    min-height: 136px !important;
    margin: 0 !important;
    background: #fff !important;
    transform: translateZ(0) !important;
    -webkit-transform: translateZ(0) !important;
  }
  #tvcms-mobile-view-header {
    position: relative !important;
    z-index: 10010 !important;
    top: auto !important;
    display: block !important;
    width: 100% !important;
    height: 136px !important;
    min-height: 136px !important;
    overflow: visible !important;
    background: rgba(255,255,255,.98) !important;
    box-shadow: 0 7px 22px rgba(8,61,43,.08) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    transform: translateZ(0) !important;
  }
  #tvcms-mobile-view-header .tvcmsmobile-header-menu-offer-text {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 72px !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
    background: #fff !important;
  }
  #tvcms-mobile-view-header .tvcmsmobile-header-menu {
    display: flex !important;
    align-items: center !important;
    width: 38px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 8px 0 0 !important;
    padding: 0 !important;
    flex: 0 0 38px !important;
  }
  #tvcms-mobile-view-header .tvmobile-sliderbar-btn,
  #tvcms-mobile-view-header .tvmobile-sliderbar-btn a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 44px !important;
    margin: 0 !important;
  }
  #tvcms-mobile-view-header .tvcmsmobile-header-logo-right-wrapper {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    width: auto !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 1 1 auto !important;
  }
  #tvcms-mobile-view-header #tvcmsmobile-header-logo,
  #tvcms-mobile-view-header .tv-header-logo {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 52px !important;
    min-height: 52px !important;
    margin: 0 !important;
  }
  #tvcms-mobile-view-header #tvcmsmobile-header-logo img {
    display: block !important;
    width: auto !important;
    height: auto !important;
    max-width: 140px !important;
    max-height: 46px !important;
    margin: 0 !important;
    object-fit: contain !important;
  }
  #tvcms-mobile-view-header .tvcmsmobile-cart-acount-text {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    width: 102px !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: 0 0 102px !important;
    gap: 8px !important;
  }
  #tvcms-mobile-view-header .tvcmsmobile-header-search {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    height: 64px !important;
    min-height: 64px !important;
    margin: 0 !important;
    padding: 6px 14px 10px !important;
    overflow: visible !important;
    background: #fff !important;
  }
  #tvcms-mobile-view-header .tvsearch-header-display-wrappper {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
  }
  #tvcms-mobile-view-header .tvsearch-header-display-wrappper form,
  #tvcms-mobile-view-header .tvsearch-header-display-wrappper .tvsearch-input-wrapper,
  #tvcms-mobile-view-header .tvsearch-header-display-wrappper input {
    max-width: 100% !important;
    height: 48px !important;
  }
  #tvcms-mobile-view-header .tvsearch-header-display-wrappper input {
    padding: 0 50px 0 16px !important;
    border: 1px solid #d7e3dd !important;
    border-radius: 12px !important;
    background: #f8fbf9 !important;
    font-size: 14px !important;
  }
  .zb-mobile-app-nav {
    position: fixed !important;
    z-index: 10020 !important;
    inset: auto 0 0 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    transform: translate3d(0,0,0) !important;
    -webkit-transform: translate3d(0,0,0) !important;
    contain: layout paint !important;
  }
  .tvbottom-to-top { display: none !important; }

  /* Mobile typography system: one brand face and a disciplined type scale. */
  body,
  body *:not(.material-icons):not(.fa):not([class^="icon-"]):not([class*=" icon-"]):not([class*="star"]):not([class*="rating"]) {
    font-family: Roboto, Arial, sans-serif !important;
  }
  body { font-size: 14px !important; line-height: 1.55 !important; }
  body p,
  body li,
  body td,
  body th,
  body label,
  body .form-control-comment { font-size: 14px !important; line-height: 1.55 !important; }
  body h1,
  body .h1 { margin-bottom: 14px !important; font-size: 24px !important; font-weight: 800 !important; line-height: 1.2 !important; letter-spacing: -.02em !important; }
  body h2,
  body .h2 { font-size: 20px !important; font-weight: 800 !important; line-height: 1.25 !important; letter-spacing: -.015em !important; }
  body h3,
  body .h3 { font-size: 17px !important; font-weight: 750 !important; line-height: 1.3 !important; letter-spacing: -.01em !important; }
  body h4,
  body .h4 { font-size: 15px !important; font-weight: 750 !important; line-height: 1.35 !important; }
  body small,
  body .small { font-size: 12px !important; line-height: 1.45 !important; }
  body button,
  body .btn,
  body a.btn,
  body input,
  body select,
  body textarea { font-family: Roboto, Arial, sans-serif !important; }
  body button,
  body .btn,
  body a.btn { font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; }

  /* Keep legacy header internals inside the compact fixed shell. */
  #tvcms-mobile-view-header .tvcmsmobile-header-search-logo-wrapper,
  #tvcms-mobile-view-header #tvcmsmobile-search,
  #tvcms-mobile-view-header .search-widget.tvcmsheader-search,
  #tvcms-mobile-view-header .tvsearch-header-display-wrappper form {
    width: 100% !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  #tvcms-mobile-view-header .tvheader-top-search {
    width: calc(100% - 48px) !important;
    height: 48px !important;
    margin: 0 !important;
  }
  #tvcms-mobile-view-header .tvheader-top-search-wrapper {
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
  }

  /* Product and category content must never be hidden by fixed desktop heights. */
  body#index .zb-home-product,
  body#category #products .product-miniature,
  body#search #products .product-miniature {
    height: auto !important;
    min-height: 318px !important;
    max-height: none !important;
    align-self: stretch !important;
  }
  body#index .zb-home-product .thumbnail-container,
  body#category #products .product-miniature .thumbnail-container,
  body#search #products .product-miniature .thumbnail-container {
    height: auto !important;
    min-height: 318px !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body#index .zb-home-product .tvproduct-wrapper,
  body#category #products .product-miniature .tvproduct-wrapper,
  body#search #products .product-miniature .tvproduct-wrapper {
    display: flex !important;
    flex-direction: column !important;
    height: auto !important;
    min-height: 316px !important;
    max-height: none !important;
    overflow: visible !important;
  }
  body#index .zb-home-product .product-description,
  body#category #products .product-description,
  body#search #products .product-description { flex: 1 1 auto !important; height: auto !important; min-height: 96px !important; overflow: visible !important; }
  body#index .zb-home-product .product-title,
  body#category #products .product-title,
  body#search #products .product-title,
  body#index .zb-home-product .product-title h6,
  body#category #products .product-title h6,
  body#search #products .product-title h6 {
    display: block !important;
    height: auto !important;
    min-height: 38px !important;
    max-height: none !important;
    overflow: visible !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    -webkit-line-clamp: unset !important;
  }
  body#category .tv-category-main-div { width: 100% !important; max-width: 100% !important; overflow: visible !important; }
  body#category .category-name {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
  }
  body#product .product-pack a,
  body#product .product-pack .pack-product-name,
  body#product .product-pack .product-name {
    height: auto !important;
    min-height: 38px !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
    line-height: 1.4 !important;
  }

  /* Informational, cart and account cards expand with their content. */
  body#cms .zb-how-shop,
  body#cms .zb-how-practical { width: 100% !important; max-width: none !important; overflow: visible !important; }
  body#cms .zb-how-shop section,
  body#cms .zb-how-shop article,
  body#cms .zb-how-shop .card,
  body#authentication .card,
  body#my-account .card { height: auto !important; min-height: 0 !important; overflow: visible !important; }
  body#cart .bootstrap-touchspin,
  body#cart .input-group-btn-vertical {
    height: 48px !important;
    min-height: 48px !important;
    overflow: visible !important;
  }
  body .container,
  body .tv-left-layout { max-width: 100% !important; }

  /* Win over late legacy card caps without creating percentage-height loops. */
  html body#index .zb-home-collections .zb-home-product,
  html body#category #products .products .product-miniature,
  html body#search #products .products .product-miniature {
    height: auto !important;
    min-height: 318px !important;
    max-height: none !important;
  }
  html body#index .zb-home-collections .zb-home-product .thumbnail-container,
  html body#category #products .products .product-miniature .thumbnail-container,
  html body#search #products .products .product-miniature .thumbnail-container {
    height: auto !important;
    min-height: 318px !important;
    max-height: none !important;
  }
  html body#product .tv-product-page-content h1,
  html body#product .tvproduct-title-brandimage h1.h1,
  html body#product .tv-product-page-content .tvproduct-title-brandimage h1.h1 { font-family: Roboto, Arial, sans-serif !important; }

  /* Each product template contains four view variants; mobile uses only the grid. */
  body#category #products .product-miniature .tvproduct-wrapper.grid-2,
  body#category #products .product-miniature .tvproduct-wrapper.list,
  body#category #products .product-miniature .tvproduct-wrapper.catelog,
  body#search #products .product-miniature .tvproduct-wrapper.grid-2,
  body#search #products .product-miniature .tvproduct-wrapper.list,
  body#search #products .product-miniature .tvproduct-wrapper.catelog { display: none !important; }
  body#category #products .product-miniature .tvproduct-wrapper.grid,
  body#search #products .product-miniature .tvproduct-wrapper.grid { display: flex !important; }

  /* Pack rows grow for complete item names instead of letting text overlap. */
  html body#product .product-pack .pack-product-container {
    height: auto !important;
    min-height: 100px !important;
    grid-template-rows: auto !important;
    overflow: visible !important;
  }
  html body#product .product-pack .pack-product-name,
  html body#product .product-pack .pack-product-name a {
    display: block !important;
    height: auto !important;
    min-height: 40px !important;
    max-height: none !important;
    overflow: visible !important;
    white-space: normal !important;
  }

  /* Stronger mobile homepage hierarchy with less explanatory copy. */
  body#index .zb-mobile-quick {
    margin: 14px 12px 8px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body#index .zb-mobile-quick__eyebrow {
    display: block !important;
    margin: 0 0 4px !important;
    color: var(--zbm-orange) !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
  }
  body#index .zb-mobile-quick > h2 {
    margin: 0 0 14px !important;
    color: var(--zbm-ink) !important;
    font-size: 23px !important;
    font-weight: 900 !important;
    line-height: 1.15 !important;
    letter-spacing: -.025em !important;
  }
  body#index .zb-mobile-quick > p { display: none !important; }
  body#index .zb-mobile-quick__grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 0 !important;
    border: 0 !important;
  }
  body#index .zb-mobile-quick__grid > a {
    display: flex !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 72px !important;
    padding: 11px !important;
    border: 1px solid var(--zbm-line) !important;
    border-radius: 14px !important;
    background: #fff !important;
    color: var(--zbm-ink) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
    box-shadow: 0 4px 14px rgba(8,61,43,.045) !important;
  }
  body#index .zb-mobile-quick__grid > a:last-child {
    grid-column: 1 / -1 !important;
    justify-self: center !important;
    width: calc(50% - 5px) !important;
  }
  body#index .zb-mobile-quick__grid > a > span {
    flex: 0 0 30px !important;
    margin-right: 7px !important;
    font-size: 23px !important;
    line-height: 1 !important;
    text-align: center !important;
  }
  body#index .zb-home-collection__heading h2 {
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: -.02em !important;
  }
  body#index .zb-home-collection__view { font-weight: 800 !important; }
  body#index .zb-home-collection__products > .zb-home-product:nth-child(n+5) { display: none !important; }

  /* Premium Shop & Services drawer. */
  #tvcms-mobile-view-header .tvmobile-slidebar {
    width: min(88vw, 344px) !important;
    max-width: 344px !important;
    padding: 0 16px 24px !important;
    border: 0 !important;
    background: #fff !important;
    box-shadow: 18px 0 50px rgba(5,45,32,.18) !important;
  }
  #tvcms-mobile-view-header .tvmobile-dropdown-close {
    position: absolute !important;
    z-index: 4 !important;
    top: 16px !important;
    right: 14px !important;
  }
  #tvcms-mobile-view-header .tvmobile-dropdown-close a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 40px !important;
    height: 40px !important;
    border-radius: 50% !important;
    background: var(--zbm-soft) !important;
    color: var(--zbm-ink) !important;
  }
  #tvcms-mobile-view-header #tvmobile-megamenu,
  #tvcms-mobile-view-header .container_tv_megamenu,
  #tvcms-mobile-view-header #tv-menu-horizontal { width: 100% !important; margin: 0 !important; padding: 0 !important; }
  #tvcms-mobile-view-header .menu-content { margin: 0 !important; padding: 0 !important; }
  #tvcms-mobile-view-header .tvmega-menu-title {
    display: block !important;
    min-height: 0 !important;
    margin: 0 0 12px !important;
    padding: 24px 50px 18px 4px !important;
    border-bottom: 1px solid var(--zbm-line) !important;
    color: var(--zbm-ink) !important;
    font-size: 0 !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
    text-transform: none !important;
  }
  #tvcms-mobile-view-header .tvmega-menu-title::before {
    display: block !important;
    color: var(--zbm-ink) !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    letter-spacing: -.02em !important;
    content: "Shop & Services" !important;
  }
  #tvcms-mobile-view-header .menu-content > .home_menu,
  #tvcms-mobile-view-header #tvmobile-megamenu li.home_menu { display: none !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1 {
    position: relative !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid #edf3f0 !important;
    background: transparent !important;
  }
  #tvcms-mobile-view-header .menu-content > li.level-1 > a {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 72px !important;
    padding: 11px 34px 11px 54px !important;
    color: var(--zbm-ink) !important;
    font-size: 15px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
  }
  #tvcms-mobile-view-header .menu-content > li.level-1 > a::before {
    position: absolute !important;
    left: 4px !important;
    top: 15px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    height: 38px !important;
    border-radius: 11px !important;
    background: var(--zbm-soft) !important;
    font-size: 20px !important;
    content: "•" !important;
  }
  #tvcms-mobile-view-header .menu-content > li.level-1 > a::after {
    margin-top: 3px !important;
    color: var(--zbm-muted) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.3 !important;
    content: "Browse department" !important;
  }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(3) > a::before { content: "🛒" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(4) > a::before { content: "📦" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(5) > a::before { content: "🧺" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(6) > a::before { content: "🎁" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(7) > a::before { content: "?" !important; color: var(--zbm-green) !important; font-weight: 900 !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(3) > a::after { content: "Food, home and everyday essentials" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(4) > a::after { content: "Curated family food bundles" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(5) > a::after { content: "Value packs for bigger needs" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(6) > a::after { content: "Celebrate important moments" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1:nth-of-type(7) > a::after { content: "Ordering, delivery and support" !important; }
  #tvcms-mobile-view-header .menu-content > li.level-1 > .icon-drop-mobile {
    position: absolute !important;
    top: 26px !important;
    right: 6px !important;
    display: block !important;
    width: 18px !important;
    height: 18px !important;
  }
  #tvcms-mobile-view-header .menu-content > li.level-1 > .icon-drop-mobile::after {
    color: #7b8e86 !important;
    font-size: 19px !important;
    content: "›" !important;
  }

  /* Unified ZimBuyer mobile card language: fewer lines, stronger hierarchy. */
  body#index .zb-home-collection__heading {
    border: 0 !important;
    box-shadow: none !important;
  }
  body#index .zb-home-collection__view,
  body#category .subcategory-heading a,
  body#category .tv-category-title-wrapper a {
    color: var(--zbm-orange) !important;
    font-weight: 850 !important;
  }
  body#index .zb-mobile-quick__grid > a {
    border-color: transparent !important;
    background: linear-gradient(145deg, #fff 0%, #f6faf8 100%) !important;
    box-shadow: 0 5px 16px rgba(8,61,43,.07) !important;
  }
  body#index .zb-mobile-quick__grid > a:active {
    border-color: rgba(244,123,32,.35) !important;
    background: #fff8f2 !important;
    transform: scale(.985) !important;
  }
  body#category .block-category,
  body#category .tv-category-main-div,
  body#search .block-category {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  body#category .tv-category-main-div { padding-right: 0 !important; padding-left: 0 !important; }
  body#category .category-name {
    color: var(--zbm-ink) !important;
    font-weight: 750 !important;
  }

  body#index .zb-home-product .thumbnail-container,
  body#category #products .product-miniature .thumbnail-container,
  body#search #products .product-miniature .thumbnail-container {
    border: 1px solid rgba(8,122,77,.13) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(8,61,43,.075) !important;
  }
  body#index .zb-home-product .tvproduct-image,
  body#category #products .product-miniature .tvproduct-image,
  body#search #products .product-miniature .tvproduct-image {
    border-radius: 15px 15px 10px 10px !important;
    background: linear-gradient(180deg, #f8fbf9 0%, #fff 100%) !important;
  }
  body#index .zb-home-product .product-description,
  body#category #products .product-description,
  body#search #products .product-description {
    padding: 10px !important;
    text-align: left !important;
  }
  body#index .zb-home-product .product-title,
  body#category #products .product-title,
  body#search #products .product-title,
  body#index .zb-home-product .product-title a,
  body#category #products .product-title a,
  body#search #products .product-title a,
  body#index .zb-home-product .product-title h6,
  body#category #products .product-title h6,
  body#search #products .product-title h6 {
    color: var(--zbm-ink) !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.38 !important;
    text-align: left !important;
  }
  body#index .zb-home-product .product-price-and-shipping,
  body#category #products .product-price-and-shipping,
  body#search #products .product-price-and-shipping { text-align: left !important; }
  body#index .zb-home-product .price,
  body#category #products .price,
  body#search #products .price {
    color: var(--zbm-orange) !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    letter-spacing: -.01em !important;
  }
  body#index .zb-home-product .tvproduct-hover-btn,
  body#category #products .tvproduct-hover-btn,
  body#search #products .tvproduct-hover-btn {
    width: auto !important;
    margin: 8px 10px 10px !important;
  }
  body#index .zb-home-product .tvproduct-cart-btn,
  body#category #products .tvproduct-cart-btn,
  body#search #products .tvproduct-cart-btn,
  body#index .zb-home-product .tvproduct-cart-btn form,
  body#category #products .tvproduct-cart-btn form,
  body#search #products .tvproduct-cart-btn form { width: 100% !important; }
  body#index .zb-home-product .tvproduct-add-to-cart,
  body#category #products .tvproduct-add-to-cart,
  body#search #products .tvproduct-add-to-cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    min-height: 48px !important;
    padding: 0 8px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #087a4d, #096b45) !important;
    color: #fff !important;
    font-size: 13px !important;
    font-weight: 850 !important;
    line-height: 1.1 !important;
    box-shadow: 0 5px 12px rgba(8,122,77,.2) !important;
  }
  body#index .zb-home-product .tvproduct-add-to-cart:active,
  body#category #products .tvproduct-add-to-cart:active,
  body#search #products .tvproduct-add-to-cart:active {
    background: var(--zbm-orange) !important;
    transform: scale(.98) !important;
  }
  body#index .zb-home-product .tvproduct-add-to-cart .material-icons,
  body#category #products .tvproduct-add-to-cart .material-icons,
  body#search #products .tvproduct-add-to-cart .material-icons { display: none !important; }

  /* Branded text accents without sacrificing readability. */
  body h1,
  body .h1,
  body h2,
  body .h2 { color: var(--zbm-ink) !important; }
  body .section-subtitle,
  body .page-subtitle,
  body .text-muted { color: var(--zbm-muted) !important; }
  body .badge,
  body .label-sale,
  body .discount-percentage { background: var(--zbm-orange) !important; color: #fff !important; }

  /* Final specificity pass over legacy card wrappers. */
  html body#index .zb-home-product .thumbnail-container,
  html body#category #products .product-miniature .thumbnail-container,
  html body#search #products .product-miniature .thumbnail-container { border-radius: 16px !important; }
  html body#index .zb-home-product .tvproduct-hover-btn,
  html body#category #products .product-miniature .tvproduct-hover-btn,
  html body#search #products .product-miniature .tvproduct-hover-btn {
    width: auto !important;
    margin: 8px 6px 10px !important;
    padding: 0 !important;
  }
  html body#index .zb-home-product .tvproduct-cart-btn,
  html body#category #products .product-miniature .tvproduct-cart-btn,
  html body#search #products .product-miniature .tvproduct-cart-btn,
  html body#index .zb-home-product .tvproduct-cart-btn form,
  html body#category #products .product-miniature .tvproduct-cart-btn form,
  html body#search #products .product-miniature .tvproduct-cart-btn form {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  html body#index .zb-home-product .tvproduct-add-to-cart,
  html body#category #products .product-miniature .tvproduct-add-to-cart,
  html body#search #products .product-miniature .tvproduct-add-to-cart {
    width: 100% !important;
    max-width: none !important;
    height: 48px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 6px !important;
    font-size: 13px !important;
  }
}

/* Compact category/search controls: mobile only. */
@media (max-width: 767px) {
  body#category #js-product-list-top.products-selection,
  body#search #js-product-list-top.products-selection {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 14px !important;
    padding: 12px !important;
    border: 1px solid rgba(20, 122, 87, 0.14) !important;
    border-radius: 16px !important;
    background: #fff !important;
    box-shadow: 0 8px 24px rgba(17, 61, 48, 0.07) !important;
  }

  body#category #js-product-list-top .tv-left-search-totle-product,
  body#search #js-product-list-top .tv-left-search-totle-product {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: none !important;
    min-height: 48px !important;
    padding: 0 !important;
    float: none !important;
  }

  body#category #js-product-list-top .tv_search_filter_wrapper,
  body#search #js-product-list-top .tv_search_filter_wrapper {
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  body#category #js-product-list-top .tvleft-right-title-wrapper,
  body#search #js-product-list-top .tvleft-right-title-wrapper {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-width: 112px !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 0 !important;
    border-radius: 12px !important;
    background: linear-gradient(135deg, #147a57, #0d6849) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(20, 122, 87, 0.18) !important;
  }

  body#category #js-product-list-top .tvleft-right-title-wrapper i,
  body#category #js-product-list-top .tvproduct-top-filter-name,
  body#search #js-product-list-top .tvleft-right-title-wrapper i,
  body#search #js-product-list-top .tvproduct-top-filter-name {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  body#category #js-product-list-top .tv-total-product,
  body#search #js-product-list-top .tv-total-product {
    margin: 0 !important;
    padding: 0 !important;
  }

  body#category #js-product-list-top .tv-total-product-number,
  body#search #js-product-list-top .tv-total-product-number {
    margin: 0 !important;
    color: #657a73 !important;
    font-size: 13px !important;
    font-weight: 750 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
  }

  body#category #js-product-list-top .tv-grid-list-all-wrapper,
  body#search #js-product-list-top .tv-grid-list-all-wrapper {
    display: none !important;
  }

  body#category #js-product-list-top .tvall-page-shortby,
  body#search #js-product-list-top .tvall-page-shortby,
  body#category #js-product-list-top .sort-by-row,
  body#search #js-product-list-top .sort-by-row,
  body#category #js-product-list-top .products-sort-order,
  body#search #js-product-list-top .products-sort-order {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
  }

  body#category #js-product-list-top .products-sort-order .select-title,
  body#search #js-product-list-top .products-sort-order .select-title {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-height: 48px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    border: 1px solid #d4e3dc !important;
    border-radius: 12px !important;
    background: #f8fbf9 !important;
    color: #173d32 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    text-align: left !important;
    box-shadow: none !important;
  }

  body#category #js-product-list-top .products-sort-order .select-title::before,
  body#search #js-product-list-top .products-sort-order .select-title::before {
    content: 'Sort: ';
    margin-right: 4px;
    color: #657a73;
    font-weight: 700;
  }

  body#category #js-product-list-top .products-sort-order .dropdown-menu,
  body#search #js-product-list-top .products-sort-order .dropdown-menu {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    margin-top: 6px !important;
    border: 1px solid #d4e3dc !important;
    border-radius: 12px !important;
    box-shadow: 0 14px 30px rgba(17, 61, 48, 0.14) !important;
    overflow: hidden !important;
  }
}

/* Homepage legacy module has unusually specific card rules. */
@media (max-width: 767px) {
  body#index .thumbnail-container {
    border-radius: 16px !important;
  }

  body#index .tvproduct-add-to-cart,
  body#index .tvproduct-add-to-cart span,
  body#index .tvproduct-add-to-cart i {
    font-size: 13px !important;
  }
}
