/* ===== Mobile Audit Layer (global overrides) ===== */

/* Baseline safety: prevent horizontal jumps and media overflow */
html,
body {
  max-width: 100%;
  overflow-x: clip;
}

img,
svg,
video,
canvas,
iframe {
  max-width: 100%;
}

main.py-4 {
  overflow-x: clip;
}

.table-responsive {
  -webkit-overflow-scrolling: touch;
}

/* Login modal overlay should be full-screen and consistent */
body.nl-auth-modal-open::before {
  display: none !important;
}

.modal-backdrop.show {
  opacity: .58;
}

.nl-auth-modal .modal-dialog {
  margin-inline: auto;
}

.nl-auth-modal .modal-content {
  overflow: hidden;
}

/* Breadcrumb rhythm */
.has-breadcrumbs .container-xl.py-3 {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

.nl-breadcrumb-wrap {
  margin-bottom: 0 !important;
}

/* Keep category filters static (no sticky follow) */
.sticky-filters,
.nl-catalog-filters.sticky-filters {
  position: static !important;
  top: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Product cards: stable vertical rhythm on all listings */
.catalog-card--category {
  height: 100%;
}

.catalog-card--category .catalog-card__img {
  height: clamp(170px, 26vw, 240px);
}

.catalog-card--category .catalog-card__actions {
  margin-top: auto;
}

.catalog-card--category .catalog-card__head {
  margin-top: 2px;
}

.catalog-card--category .catalog-card__price-caption,
.catalog-card--category .catalog-card__sku,
.catalog-card--category .catalog-card__meta,
.catalog-card--category .catalog-card__conditions span,
.catalog-card--category .catalog-card__b2b-meta span {
  word-break: break-word;
}

/* Checkout/cart/LK text safety */
.nl-checkout .nl-checkout-item-row span,
.cart-item__content h2,
.lk-company-banner,
.lk-nav__link {
  word-break: break-word;
}

/* Search suggest should always render above page chrome */
.nl-search-suggest-form .nl-suggest {
  z-index: 1450;
}

/* Pagination: compact and consistent on all breakpoints */
.nl-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.nl-pagination .page-link {
  min-width: 40px;
  height: 40px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  line-height: 1;
  font-weight: 600;
  white-space: nowrap;
}

.nl-pagination .page-item.active .page-link {
  font-weight: 700;
}

.nl-pagination__ellipsis .page-link {
  min-width: 32px;
  padding: 0 8px;
  pointer-events: none;
}

@media (max-width: 575.98px) {
  .nl-pagination {
    gap: 4px;
  }

  .nl-pagination .page-link {
    min-width: 34px;
    height: 34px;
    border-radius: 8px;
    font-size: 13px;
    padding: 0 10px;
  }
}

/* ===== Tablet & down ===== */
@media (max-width: 991.98px) {
  .page-home .nl-hero,
  .page-home #quick,
  .page-home .nl-quickbar {
    display: none !important;
  }

  .page-home #recommended-wholesale {
    margin-top: 12px !important;
  }

  .container-xl {
    padding-left: 14px;
    padding-right: 14px;
  }

  .nl-topline {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
  }

  .nl-topline__row {
    display: grid;
    gap: 8px;
    align-items: stretch;
  }

  .nl-topline__group {
    min-width: 0;
    width: 100%;
    flex-wrap: wrap;
  }

  .nl-topline__group--meta {
    display: none !important;
  }

  .nl-topline .dropdown {
    width: 100%;
  }

  .nl-topline .dropdown > .nl-pill,
  .nl-topline-departments-btn {
    width: 100%;
    justify-content: center;
  }

  .nl-topline .dropdown-menu,
  .nl-topline-departments-menu {
    width: min(96vw, 560px) !important;
    max-width: calc(100vw - 24px);
  }

  .nl-topline-departments {
    width: 100%;
    position: relative;
  }

  .nl-topline-departments-btn {
    min-height: 32px;
    border-radius: 999px;
    padding-inline: 10px;
    gap: 8px;
    font-size: 12px;
    line-height: 1;
    text-align: left;
    justify-content: space-between !important;
    white-space: nowrap;
  }

  .nl-topline-departments-menu {
    left: 0 !important;
    right: auto !important;
    margin-top: 6px !important;
  }

  .nl-topline-departments-menu .nl-card {
    border-radius: 14px !important;
    padding: 12px !important;
  }

  .nl-topline-departments-menu .btn {
    min-height: 34px;
  }

  .nl-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .nl-header__row {
    gap: 10px;
  }

  .nl-header__brand {
    flex: 1 1 100%;
  }

  .nl-logo {
    width: 100%;
  }

  .nl-logo__mark {
    width: 40px;
    height: 40px;
    border-radius: 12px;
  }

  .nl-logo__title {
    font-size: 18px;
  }

  .nl-logo__sub {
    font-size: 11px;
  }

  .nl-header__search-mobile {
    margin-top: 8px;
  }

  .nl-header__search-mobile .nl-search,
  .nl-mobile-menu__search .nl-search {
    flex-wrap: nowrap !important;
  }

  .nl-header__search-mobile .nl-search .input-group-text,
  .nl-mobile-menu__search .nl-search .input-group-text {
    flex: 0 0 auto;
  }

  .nl-header__search-mobile .nl-search .form-control,
  .nl-mobile-menu__search .nl-search .form-control {
    min-width: 0;
    flex: 1 1 auto;
  }

  .nl-header__search-mobile .nl-search .form-control {
    min-height: 40px;
    font-size: 14px;
  }

  .nl-header__search-mobile .nl-search .btn,
  .nl-mobile-menu__search .nl-search .btn {
    width: auto !important;
    flex: 0 0 auto;
    white-space: nowrap;
    min-height: 40px;
    padding-inline: 14px !important;
  }

  .nl-mobile-menu {
    width: min(92vw, 420px) !important;
  }

  .nl-mobile-menu .offcanvas-body {
    padding: 14px;
  }

  .nl-mobile-menu__section {
    margin-bottom: 14px;
  }

  .nl-mobile-menu__link {
    min-height: 40px;
    font-size: 14px;
  }

  .nl-mobile-menu__categories {
    gap: 6px;
  }

  .nl-mobile-menu__category {
    min-height: 28px;
    font-size: 11px;
  }

  .nl-catalog-hero,
  .nl-checkout .nl-checkout-hero,
  .lk-shell {
    padding: 16px !important;
  }

  .nl-catalog-kpis {
    width: 100%;
  }

  .nl-catalog-kpi {
    min-height: 30px;
    font-size: 11px;
    padding-inline: 10px;
  }

  .nl-catalog-links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .nl-catalog-link {
    min-height: 42px;
    padding: 8px 10px;
    font-size: 13px;
  }

  .nl-catalog-link small {
    font-size: 11px;
  }

  .nl-catalog-filters {
    padding: 12px !important;
    border-radius: 14px;
  }

  .nl-filter-block {
    padding: 8px;
    margin-bottom: 8px;
  }

  .nl-filter-block .form-label {
    font-size: 12px;
    margin-bottom: 6px;
  }

  .catalog-card--category .catalog-card__add-form {
    grid-template-columns: minmax(104px, 114px) minmax(0, 1fr);
  }

  .catalog-card--category .catalog-card__qty-control {
    grid-template-columns: 30px minmax(0, 1fr) 30px;
  }

  .catalog-card--category .catalog-card__qty-btn,
  .catalog-card--category .catalog-card__qty-control .form-control,
  .catalog-card--category .catalog-card__add-form .btn-primary {
    min-height: 38px;
    height: 38px;
  }

  .catalog-card--category .catalog-card__qty-control .form-control {
    line-height: 38px;
    font-size: 13px;
  }

  .catalog-card--category .catalog-card__add-form .btn-primary {
    font-size: 14px;
    padding-inline: 8px;
  }

  .cart-item {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
  }

  .cart-item > form {
    grid-column: 2;
    justify-self: end;
  }

  .cart-item__img {
    height: 84px;
  }

  .cart-item__qty-input {
    width: 110px;
  }

  .nl-checkout .checkout-card {
    padding: 14px;
  }

  .nl-checkout .nl-checkout-card-head {
    gap: 10px;
  }

  .nl-checkout .nl-checkout-card-icon {
    width: 32px;
    height: 32px;
  }

  .nl-checkout .delivery-option {
    padding: 10px 12px;
  }

  .nl-checkout .nl-checkout-summary {
    position: static;
  }

  .nl-checkout .order-total {
    font-size: 26px;
  }

  .lk-company-banner {
    flex-direction: column;
    gap: 12px;
    padding: 14px;
  }

  .lk-chip-row {
    justify-content: flex-start;
    gap: 8px;
  }

  .lk-chip {
    min-height: 30px;
    font-size: 12px;
  }

  .lk-nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  .lk-nav__link {
    width: 100%;
    min-height: 40px;
    justify-content: space-between;
    padding-inline: 12px;
  }

  .nl-company-lookup {
    padding: 14px;
    border-radius: 16px;
  }

  .nl-registration-form__actions {
    align-items: stretch;
    text-align: left;
  }

  .nl-registration-form__actions .btn {
    width: 100%;
  }

  .nl-home-quick-live-table {
    min-width: 860px;
  }

  .nl-home-quick-input .btn {
    min-width: 136px;
  }

  .nl-home-quick-summary {
    padding: 12px !important;
  }

  .nl-product-lite__gallery {
    padding: 10px;
    border-radius: 14px;
  }

  .nl-product-lite__main-image {
    min-height: 220px;
    max-height: 360px;
  }

  .nl-product-lite__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 6px;
  }

  .nl-product-lite__thumb-btn img {
    height: 58px;
  }

  .nl-product-lite__title-row {
    padding-right: 44px;
  }

  .nl-product-lite__favorite-btn {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    font-size: 15px;
  }

  .nl-product-lite__title {
    font-size: clamp(24px, 5.6vw, 34px);
  }

  .nl-product-lite__summary {
    font-size: 14px;
    line-height: 1.45;
    max-width: none;
  }

  .nl-product-lite__identity-item strong {
    font-size: 16px;
  }

  .nl-product-lite__buy-card {
    padding: 12px;
    gap: 10px;
  }

  .nl-product-lite__purchase-controls {
    align-items: stretch;
    justify-content: flex-start;
    min-height: 0;
  }

  .nl-product-lite__qty-wrap {
    align-items: stretch;
  }

  .nl-product-lite__qty-wrap .form-label {
    text-align: left;
  }

  .nl-product-lite__qty-control {
    grid-template-columns: 36px minmax(0, 1fr) 36px;
    width: 100%;
  }

  .nl-product-lite__qty-control .btn {
    height: 38px;
    font-size: 18px;
  }

  .nl-product-lite__qty-control .form-control {
    height: 38px;
    font-size: 17px;
  }

  .nl-product-lite__quick-buttons {
    justify-content: flex-start;
    gap: 6px;
  }

  .nl-product-lite__quick-buttons .btn {
    min-height: 28px;
    font-size: 11px;
  }

  .nl-product-live-total {
    min-height: 0;
    padding: 10px;
  }

  .nl-product-lite__actions .btn {
    min-height: 42px;
    font-size: 15px;
  }

  .nl-product-lite__tabs {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 2px;
    margin-bottom: 10px;
  }

  .nl-product-lite__tab-btn {
    white-space: nowrap;
    flex: 0 0 auto;
  }

  .nl-product-v2__sidecard {
    padding: 12px !important;
  }

  .nl-product-v2__variant-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .nl-product-v2__variant-card {
    padding: 12px;
  }

  .page-home main > .container-xl > section + section {
    margin-top: 18px !important;
  }

  .page-home .nl-hero {
    margin-bottom: 12px;
  }

  .page-home .nl-hero__inner {
    padding-top: 14px;
    padding-bottom: 14px;
  }

  .page-home .nl-hero h1,
  .page-home .nl-hero__h2 {
    font-size: clamp(28px, 7.8vw, 34px) !important;
    line-height: 1.08;
    margin-bottom: 0;
  }

  .page-home .nl-hero__subtitle {
    font-size: 15px;
    line-height: 1.35;
    margin-top: 10px !important;
  }

  .page-home .nl-hero__badges {
    display: flex;
    flex-wrap: nowrap;
    overflow-x: auto;
    margin-top: 10px;
    gap: 6px;
    padding-bottom: 2px;
  }

  .page-home .nl-hero__badges .nl-pill {
    flex: 0 0 auto;
    min-height: 28px;
    font-size: 11px;
    padding-inline: 10px;
  }

  .page-home .nl-hero__cta {
    margin-top: 12px;
    gap: 8px;
  }

  .page-home .nl-hero__cta .btn {
    min-height: 40px;
    font-size: 14px;
  }

  .page-home .nl-hero__cta a[href="#quick"] {
    display: none !important;
  }

  .page-home .nl-hero .small.text-secondary.mt-3 {
    display: none;
  }

  .page-home #nlHeroSlider .carousel-control-prev,
  .page-home #nlHeroSlider .carousel-control-next {
    display: none;
  }

  .page-home .nl-quickbar {
    padding: 14px !important;
  }

  .page-home .nl-quickbar .h4 {
    margin-bottom: 4px !important;
    font-size: 20px;
  }

  .page-home .nl-home-quick-summary {
    margin-top: 2px;
  }
}

/* ===== Phones ===== */
@media (max-width: 575.98px) {
  .container-xl {
    padding-left: 12px;
    padding-right: 12px;
  }

  .has-breadcrumbs .container-xl.py-3 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .nl-breadcrumb-wrap {
    padding: 8px 10px;
    border-radius: 10px;
  }

  .nl-breadcrumb {
    gap: 6px;
  }

  .nl-breadcrumb li {
    font-size: 12px;
  }

  .nl-logo__sub {
    display: none;
  }

  .nl-header-mobile-menu-btn span,
  .nl-cart-btn {
    font-size: 13px;
  }

  .nl-header__search-mobile .nl-search .btn {
    padding-inline: 10px !important;
    font-size: 13px;
  }

  .nl-mobile-menu__search .nl-search .btn {
    padding-inline: 10px !important;
    font-size: 13px;
  }

  .nl-search-suggest-form .nl-suggest {
    top: calc(100% + 6px);
  }

  .nl-suggest__head {
    padding: 10px 12px;
  }

  .nl-suggest__foot {
    display: none;
  }

  .nl-catalog-links {
    grid-template-columns: minmax(0, 1fr);
  }

  .nl-catalog-link {
    min-height: 40px;
    font-size: 12.5px;
  }

  .nl-catalog-filters .btn,
  .nl-catalog-filters .form-select,
  .nl-catalog-filters .form-control {
    min-height: 38px;
    font-size: 14px;
  }

  .catalog-card--category {
    padding: 10px;
    gap: 6px;
  }

  .catalog-card--category .catalog-card__head {
    grid-template-columns: minmax(0, 1fr) auto;
    column-gap: 6px;
  }

  .catalog-card--category .catalog-card__brand-row {
    gap: 4px;
  }

  .catalog-card--category .catalog-card__title {
    font-size: 14px;
  }

  .catalog-card--category .catalog-card__price {
    font-size: 18px;
  }

  .catalog-card--category .catalog-card__price-old {
    font-size: 11px;
  }

  .catalog-card--category .catalog-card__discount {
    min-height: 20px;
    font-size: 10px;
    transform: translateY(-2px);
  }

  .catalog-card--category .catalog-card__availability,
  .catalog-card--category .catalog-card__conditions span,
  .catalog-card--category .catalog-card__b2b-meta span {
    font-size: 10px;
  }

  .catalog-card--category .catalog-card__add-form {
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 6px;
  }

  .catalog-card--category .catalog-card__qty-control {
    grid-template-columns: 28px minmax(0, 1fr) 28px;
  }

  .catalog-card--category .catalog-card__qty-btn,
  .catalog-card--category .catalog-card__qty-control .form-control,
  .catalog-card--category .catalog-card__add-form .btn-primary {
    min-height: 36px;
    height: 36px;
  }

  .catalog-card--category .catalog-card__qty-control .form-control {
    line-height: 36px;
    font-size: 12px;
  }

  .catalog-card--category .catalog-card__add-form .btn-primary {
    font-size: 13px;
  }

  .cart-item {
    grid-template-columns: 1fr;
  }

  .cart-item__img {
    width: 100%;
    max-width: 150px;
    height: 96px;
  }

  .cart-item > form {
    grid-column: auto;
    justify-self: start;
  }

  .cart-item__qty-form {
    width: 100%;
  }

  .cart-item__qty-input {
    width: 100%;
    max-width: 120px;
  }

  .order-total,
  .nl-checkout .order-total {
    font-size: 24px;
  }

  .nl-checkout .checkout-card {
    padding: 12px;
    border-radius: 14px;
  }

  .nl-checkout .nl-checkout-card-head {
    align-items: center;
  }

  .nl-checkout .nl-checkout-summary .btn {
    width: 100%;
  }

  .nl-checkout .nl-checkout-summary-meta span {
    font-size: 11.5px;
    line-height: 1.35;
  }

  .lk-nav {
    grid-template-columns: minmax(0, 1fr);
  }

  .lk-stat {
    padding: 12px;
  }

  .nl-company-lookup {
    padding: 12px;
    border-radius: 14px;
  }

  .nl-registration-form .form-control,
  .nl-registration-form .form-select,
  .nl-registration-section .btn {
    min-height: 44px;
    border-radius: 12px;
  }

  .nl-registration-form textarea.form-control,
  .nl-company-lookup textarea.form-control {
    min-height: 96px;
  }

  .nl-registration-form__check {
    gap: 10px;
  }

  .nl-home-quick-input {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 8px;
  }

  .page-home .nl-home-quick-input .btn {
    width: auto !important;
    min-width: 112px;
    flex: 0 0 auto;
  }

  .page-home [data-quick-order-upload-trigger] {
    display: none !important;
  }

  .nl-home-quick-live-table {
    min-width: 740px;
  }

  .nl-home-quick-empty {
    padding: 14px;
  }

  .nl-auth-modal .modal-dialog {
    width: calc(100vw - 16px);
    max-width: 560px;
    margin: 8px auto;
  }

  .nl-auth-modal .modal-content {
    border-radius: 16px;
  }

  .nl-auth-modal .modal-header,
  .nl-auth-modal .modal-body {
    padding-left: 14px;
    padding-right: 14px;
  }

  .nl-auth-modal [data-login-modal-form] .btn {
    min-height: 46px;
    border-radius: 12px;
  }

  .nl-product-lite__gallery {
    padding: 8px;
  }

  .nl-product-lite__main-image {
    min-height: 190px;
    max-height: 300px;
  }

  .nl-product-lite__thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
  }

  .nl-product-lite__thumb-btn img {
    height: 52px;
  }

  .nl-product-lite__title {
    font-size: clamp(22px, 8vw, 28px);
    line-height: 1.15;
  }

  .nl-product-lite__summary {
    font-size: 13px;
  }

  .nl-product-lite__identity {
    grid-template-columns: minmax(0, 1fr);
  }

  .nl-product-lite__identity-item {
    min-height: 48px;
    padding: 8px 10px;
  }

  .nl-product-lite__identity-item strong {
    font-size: 15px;
  }

  .nl-product-lite__metric-card {
    padding: 10px;
    border-radius: 12px;
  }

  .nl-product-lite__price {
    font-size: 30px;
  }

  .nl-product-lite__buy-card {
    padding: 10px;
    border-radius: 12px;
  }

  .nl-product-lite__buy-benefits--card span {
    font-size: 10.5px;
  }

  .nl-product-lite__qty-wrap .form-label {
    font-size: 13px;
  }

  .nl-product-lite__quick-buttons .btn {
    flex: 1 1 calc(33.333% - 6px);
    min-width: 0;
  }

  .nl-product-live-total__row {
    font-size: 13px;
  }

  .nl-product-lite__actions .btn {
    min-height: 40px;
    font-size: 14px;
  }

  .nl-product-lite__trust-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .nl-product-lite__viewer-image {
    width: min(92vw, 900px);
    max-height: calc(100vh - 112px);
  }

  .nl-product-lite__viewer-nav {
    width: 40px;
    height: 40px;
    top: auto;
    bottom: 66px;
    transform: none;
  }

  .nl-product-lite__viewer-prev,
  .js-product-image-viewer-prev {
    left: 10px;
  }

  .nl-product-lite__viewer-next,
  .js-product-image-viewer-next {
    right: 10px;
  }

  .nl-product-lite__viewer-close {
    top: 10px;
    right: 10px;
    width: 36px;
    height: 36px;
  }

  .nl-product-lite__viewer-counter {
    bottom: 12px;
    right: 12px;
    font-size: 11px;
  }
}

/* ===== Mobile Adaptation Pass (2026-04-28) ===== */
@media (max-width: 991.98px) {
  .nl-topline {
    z-index: 1000 !important;
  }

  .nl-topline .dropdown-menu {
    z-index: 1015 !important;
  }

  .nl-toolbar,
  .nl-toolbar--sticky {
    z-index: 1100 !important;
  }

  .nl-toolbar .dropdown-menu {
    z-index: 1110 !important;
  }

  .offcanvas-backdrop.show {
    z-index: 2190 !important;
  }

  .nl-mobile-menu.offcanvas,
  #mobileMainMenu.offcanvas {
    z-index: 2200 !important;
  }

  .nl-search .form-control:focus,
  .nl-search .form-control:focus-visible,
  .nl-search .btn:focus,
  .nl-search .btn:focus-visible,
  .nl-search .input-group-text:focus-within,
  .nl-search:focus-within {
    box-shadow: none !important;
    outline: none !important;
  }

  .nl-header__search-mobile .nl-search {
    border-radius: 12px;
  }

  .nl-header__search-mobile .nl-search .input-group-text,
  .nl-mobile-menu__search .nl-search .input-group-text {
    padding-inline: 11px;
  }

  .nl-header__search-mobile .nl-search .form-control,
  .nl-mobile-menu__search .nl-search .form-control {
    font-size: 13.5px;
    padding-right: 8px;
  }

  .nl-header__search-mobile .nl-search .btn,
  .nl-mobile-menu__search .nl-search .btn {
    min-width: 92px;
    padding-inline: 12px !important;
    font-weight: 700;
  }

  .nl-header__actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .nl-header__actions::-webkit-scrollbar {
    display: none;
  }

  .nl-header__actions > * {
    flex: 0 0 auto;
  }

  .nl-header-mobile-menu-btn,
  .nl-cart-btn {
    min-width: 168px;
    width: auto !important;
    justify-content: center;
    overflow: visible;
  }

  .nl-cart-btn .nl-cart-badge {
    top: 4px;
    right: 6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    font-size: 10px;
    line-height: 1;
    border-radius: 999px;
    transform: none;
  }

  .nl-catalog-hero,
  .nl-checkout .nl-checkout-hero,
  .nl-brands-hero,
  .nl-brand-hero {
    padding: 14px !important;
  }

  .catalog-card--category {
    padding: 10px;
    gap: 6px;
  }

  .catalog-card--category .catalog-card__media {
    padding: 6px;
    border-radius: 12px;
  }

  .catalog-card--category .catalog-card__img {
    height: clamp(154px, 41vw, 206px);
    object-fit: contain;
  }

  .catalog-card--category .catalog-card__body {
    gap: 6px;
  }

  .catalog-card--category .catalog-card__title {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    line-height: 1.22;
    min-height: calc(1.22em * 2);
  }

  .catalog-card--category .catalog-card__sku,
  .catalog-card--category .catalog-card__meta {
    font-size: 12px;
    line-height: 1.3;
  }

  .catalog-card--category .catalog-card__conditions,
  .catalog-card--category .catalog-card__b2b-meta {
    gap: 6px;
  }

  .catalog-card--category .catalog-card__availability,
  .catalog-card--category .catalog-card__conditions span,
  .catalog-card--category .catalog-card__b2b-meta span {
    min-height: 22px;
    padding-inline: 8px;
    font-size: 10.5px;
    line-height: 1.15;
  }

  .catalog-card--category .catalog-card__add-form {
    grid-template-columns: 106px minmax(0, 1fr);
    align-items: stretch;
    gap: 6px;
  }

  .catalog-card--category .catalog-card__qty-control {
    grid-template-columns: 32px minmax(0, 1fr) 32px;
  }

  .catalog-card--category .catalog-card__qty-btn {
    font-size: 17px;
    line-height: 1;
  }

  .catalog-card--category .catalog-card__qty-control .form-control {
    text-align: center;
    padding-inline: 0;
    font-variant-numeric: tabular-nums;
  }
}

@media (max-width: 575.98px) {
  .nl-topline__row {
    display: block;
  }

  .nl-topline__group--primary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 6px;
    align-items: center;
  }

  .nl-topline__group--primary > .nl-pill {
    width: 100%;
    min-width: 0;
    min-height: 29px;
    font-size: 11.5px;
    line-height: 1;
    padding-inline: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    justify-content: center;
  }

  .nl-topline__group--primary > .nl-topline-callback-btn {
    width: 30px;
    min-width: 30px;
    min-height: 30px;
    padding: 0;
    justify-content: center;
    font-size: 0;
  }

  .nl-topline__group--primary > .nl-topline-callback-btn i {
    margin: 0;
    font-size: 13px;
  }

  .nl-topline-callback-btn {
    grid-column: auto !important;
  }

  .nl-header__actions {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .nl-header__actions::-webkit-scrollbar {
    display: none;
  }

  .nl-header__actions > * {
    flex: 0 0 auto;
  }

  .nl-header-mobile-menu-btn,
  .nl-cart-btn {
    min-width: 148px;
    flex: 0 0 auto;
    width: auto !important;
    justify-content: center;
    overflow: visible;
  }

  .nl-cart-btn .nl-cart-badge {
    top: 4px;
    right: 6px;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    font-size: 10px;
    line-height: 1;
    border-radius: 999px;
    transform: none;
  }

  .nl-header-mobile-menu-btn,
  .nl-cart-btn {
    min-height: 38px;
  }

  .nl-header__search-mobile .nl-search .form-control,
  .nl-mobile-menu__search .nl-search .form-control {
    font-size: 13px;
  }

  .nl-header__search-mobile .nl-search .form-control::placeholder,
  .nl-mobile-menu__search .nl-search .form-control::placeholder {
    font-size: 13px;
  }

  .nl-header__search-mobile .nl-search .btn,
  .nl-mobile-menu__search .nl-search .btn {
    min-width: 82px;
    padding-inline: 10px !important;
  }

  .catalog-card--category .catalog-card__img {
    height: clamp(146px, 46vw, 184px);
  }

  .catalog-card--category .catalog-card__title {
    font-size: 13.5px;
  }

  .catalog-card--category .catalog-card__price {
    font-size: 17px;
  }

  .catalog-card--category .catalog-card__add-form {
    grid-template-columns: 98px minmax(0, 1fr);
  }

  .catalog-card--category .catalog-card__qty-control {
    grid-template-columns: 30px minmax(0, 1fr) 30px;
  }

  .catalog-card--category .catalog-card__qty-btn,
  .catalog-card--category .catalog-card__qty-control .form-control,
  .catalog-card--category .catalog-card__add-form .btn-primary {
    min-height: 34px;
    height: 34px;
  }

  .catalog-card--category .catalog-card__add-form .btn-primary {
    font-size: 12.5px;
  }

  .nl-pagination {
    flex-wrap: nowrap;
    overflow-x: auto;
    justify-content: flex-start !important;
    padding-bottom: 4px;
    -webkit-overflow-scrolling: touch;
  }

  .nl-pagination .page-item {
    flex: 0 0 auto;
  }

  .nl-footer__top > [class*="col-6"],
  .nl-footer__top > [class*="col-md-4"] {
    flex: 0 0 100%;
    max-width: 100%;
  }

  .nl-footer .btn.btn-outline-primary.btn-sm {
    min-height: 34px;
    font-size: 12px;
    padding: 6px 10px;
  }
}
