/* ZooMag r29.3 - scale and readability fix for non-product listing pages.
   Intentionally scoped to category/search/manufacturer listing pages only.
   Product card page layout is untouched. */

#product-category.zoomag-category-page,
#product-search.zm-search-page,
#product-manufacturer.zm-brand-page {
  width: min(calc(100vw - 32px), 1560px) !important;
  max-width: 1560px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

#product-category.zoomag-category-page {
  padding-left: 14px !important;
  padding-right: 14px !important;
}

#product-category .zoomag-category-header {
  padding: 24px 26px !important;
  border-radius: 22px !important;
}

#product-category .zoomag-category-title {
  font-size: clamp(1.9rem, 2.2vw, 2.5rem) !important;
  line-height: 1.08 !important;
}

#product-category .zoomag-category-subtitle,
#product-category .zoomag-category-description,
#product-category .zoomag-products-count,
#product-category .zoomag-controls-panel,
#product-category .zoomag-products-footer,
#product-search .zm-search-hero,
#product-manufacturer .zm-brand-hero {
  font-size: 15px !important;
}

#product-category .zoomag-controls-panel {
  padding: 18px 20px !important;
  border-radius: 18px !important;
}

#product-category .zoomag-compare-btn,
#product-category .zoomag-view-btn,
#product-category .zoomag-select,
#product-category .zoomag-filter-btn,
#product-category .zoomag-reset-btn,
#product-search .btn,
#product-manufacturer .btn {
  min-height: 42px !important;
  font-size: 14px !important;
}

#product-category .zoomag-view-btn,
#product-category .zoomag-compare-btn {
  padding: 10px 16px !important;
}

#product-category .zoomag-select-wrapper,
#product-category .zoomag-select {
  min-width: 128px !important;
}

#product-category #product-list.zoomag-products-grid,
#product-search #product-list,
#product-manufacturer #product-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
  margin: 22px 0 !important;
}

@media (min-width: 1700px) {
  #product-category #product-list.zoomag-products-grid,
  #product-search #product-list,
  #product-manufacturer #product-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

#product-category .zoomag-product-item,
#product-search .zoomag-product-item,
#product-manufacturer .zoomag-product-item {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 100% !important;
  display: flex !important;
}

#product-category .petz-product-card,
#product-search .petz-product-card,
#product-manufacturer .petz-product-card {
  width: 100% !important;
  min-height: 520px !important;
  height: 100% !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  box-shadow: 0 14px 30px rgba(50, 37, 76, 0.10) !important;
}

#product-category .petz-image-section,
#product-search .petz-image-section,
#product-manufacturer .petz-image-section {
  height: 245px !important;
  padding: 12px 12px 0 !important;
}

#product-category .petz-image-link,
#product-category .petz-image-container,
#product-search .petz-image-link,
#product-search .petz-image-container,
#product-manufacturer .petz-image-link,
#product-manufacturer .petz-image-container {
  height: 100% !important;
  border-radius: 16px !important;
}

#product-category .petz-product-image,
#product-search .petz-product-image,
#product-manufacturer .petz-product-image {
  padding: 10px !important;
  object-fit: contain !important;
}

#product-category .petz-content-section,
#product-search .petz-content-section,
#product-manufacturer .petz-content-section {
  padding: 14px 15px 16px !important;
  gap: 10px !important;
}

#product-category .petz-product-name,
#product-search .petz-product-name,
#product-manufacturer .petz-product-name {
  min-height: 3.75em !important;
}

#product-category .petz-product-name a,
#product-search .petz-product-name a,
#product-manufacturer .petz-product-name a {
  font-size: 15px !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden !important;
}

#product-category .petz-feature span,
#product-search .petz-feature span,
#product-manufacturer .petz-feature span {
  font-size: 13px !important;
}

#product-category .petz-price-main,
#product-category .petz-special-price,
#product-search .petz-price-main,
#product-search .petz-special-price,
#product-manufacturer .petz-price-main,
#product-manufacturer .petz-special-price {
  font-size: 24px !important;
  line-height: 1.08 !important;
}

#product-category .petz-old-price,
#product-search .petz-old-price,
#product-manufacturer .petz-old-price {
  font-size: 14px !important;
}

#product-category .petz-savings-badge span,
#product-search .petz-savings-badge span,
#product-manufacturer .petz-savings-badge span,
#product-category .petz-reviews,
#product-search .petz-reviews,
#product-manufacturer .petz-reviews {
  font-size: 12px !important;
}

#product-category .petz-actions-section,
#product-search .petz-actions-section,
#product-manufacturer .petz-actions-section {
  margin-top: auto !important;
}

#product-category .petz-quantity-control label,
#product-search .petz-quantity-control label,
#product-manufacturer .petz-quantity-control label {
  font-size: 12px !important;
  font-weight: 700 !important;
}

#product-category .petz-qty-btn,
#product-search .petz-qty-btn,
#product-manufacturer .petz-qty-btn,
#product-category .petz-qty-input,
#product-search .petz-qty-input,
#product-manufacturer .petz-qty-input {
  height: 34px !important;
}

#product-category .petz-btn.petz-btn-primary,
#product-search .petz-btn.petz-btn-primary,
#product-manufacturer .petz-btn.petz-btn-primary {
  min-height: 46px !important;
  border-radius: 14px !important;
}

#product-category .petz-btn-text,
#product-search .petz-btn-text,
#product-manufacturer .petz-btn-text {
  font-size: 14px !important;
  font-weight: 700 !important;
}

#product-category .petz-secondary-actions .petz-btn,
#product-search .petz-secondary-actions .petz-btn,
#product-manufacturer .petz-secondary-actions .petz-btn {
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
}

/* Left navigation and right filter column: slightly larger and more readable. */
#product-category #column-left .card,
#product-category #column-right .card,
#product-category .zoomag-filter-sidebar,
#product-category .zoomag-filter-sidebar-container {
  font-size: 14px !important;
}

#product-category .zoomag-filter-sidebar {
  border-radius: 22px !important;
}

#product-category .zoomag-header-title {
  font-size: 24px !important;
  line-height: 1.15 !important;
}

#product-category .zoomag-header-kicker,
#product-category .zoomag-search-input,
#product-category .zoomag-clear-link,
#product-category .zoomag-summary-pill,
#product-category .zoomag-active-filters-placeholder,
#product-category .zoomag-mobile-toggle,
#product-category .zoomag-filter-option label,
#product-category .zoomag-filter-group-title,
#product-category .zoomag-filter-group button,
#product-category .zoomag-filter-footer button {
  font-size: 14px !important;
}

#product-category .zoomag-search-input {
  min-height: 42px !important;
}

#product-category .zoomag-mobile-toggle,
#product-category .zoomag-filter-focus-close,
#product-category .zoomag-clear-link,
#product-category .zoomag-filter-footer button,
#product-category #zoomag-button-filter,
#product-category #zoomag-button-clear {
  min-height: 42px !important;
}

/* Tablets and smaller desktops */
@media (max-width: 1399.98px) {
  #product-category.zoomag-category-page,
  #product-search.zm-search-page,
  #product-manufacturer.zm-brand-page {
    width: min(calc(100vw - 24px), 1440px) !important;
  }

  #product-category #product-list.zoomag-products-grid,
  #product-search #product-list,
  #product-manufacturer #product-list {
    gap: 18px !important;
  }

  #product-category .petz-product-card,
  #product-search .petz-product-card,
  #product-manufacturer .petz-product-card {
    min-height: 500px !important;
  }
}

@media (max-width: 1199.98px) {
  #product-category #product-list.zoomag-products-grid,
  #product-search #product-list,
  #product-manufacturer #product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767.98px) {
  #product-category.zoomag-category-page,
  #product-search.zm-search-page,
  #product-manufacturer.zm-brand-page {
    width: calc(100vw - 18px) !important;
    max-width: calc(100vw - 18px) !important;
  }

  #product-category .zoomag-category-header {
    padding: 18px 16px !important;
  }

  #product-category .zoomag-category-title {
    font-size: 1.6rem !important;
  }

  #product-category #product-list.zoomag-products-grid,
  #product-search #product-list,
  #product-manufacturer #product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
  }

  #product-category .petz-product-card,
  #product-search .petz-product-card,
  #product-manufacturer .petz-product-card {
    min-height: 460px !important;
  }

  #product-category .petz-image-section,
  #product-search .petz-image-section,
  #product-manufacturer .petz-image-section {
    height: 210px !important;
  }
}

@media (max-width: 575.98px) {
  #product-category #product-list.zoomag-products-grid,
  #product-search #product-list,
  #product-manufacturer #product-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* ZooMag r29.4 — viewport-wide catalogue layout.
   Product detail pages are intentionally untouched. */

/* Break listing pages out of legacy/max-width containers and use the viewport. */
#product-category.zoomag-category-page,
#product-search.zm-search-page,
#product-manufacturer.zm-brand-page {
  box-sizing: border-box !important;
  width: calc(100vw - 24px) !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: calc(50% - 50vw + 12px) !important;
  margin-right: calc(50% - 50vw + 12px) !important;
  padding-left: clamp(10px, 1vw, 20px) !important;
  padding-right: clamp(10px, 1vw, 20px) !important;
}

/* Category desktop = readable navigation + large product canvas + usable filter. */
@media (min-width: 1700px) {
  #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 270px minmax(0, 1fr) 330px !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-items: start !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  #product-category #column-left {
    width: 270px !important;
    max-width: 270px !important;
    min-width: 270px !important;
  }

  #product-category #column-right {
    width: 330px !important;
    max-width: 330px !important;
    min-width: 330px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1699.98px) {
  #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) 300px !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    align-items: start !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  #product-category #column-left {
    width: 240px !important;
    max-width: 240px !important;
    min-width: 240px !important;
  }

  #product-category #column-right {
    width: 300px !important;
    max-width: 300px !important;
    min-width: 300px !important;
  }
}

#product-category #content.zoomag-category-content,
#product-category #content {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Large cards: 4 at normal desktop, 5 only on genuinely wide CSS viewports. */
@media (min-width: 2200px) {
  #product-category #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-category #product-list {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1500px) and (max-width: 2199.98px) {
  #product-category #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-category #product-list {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (min-width: 1200px) and (max-width: 1499.98px) {
  #product-category #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-category #product-list {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

#product-category #product-list.zm-final-grid,
body.zm-final-grid-mode #product-category #product-list {
  display: grid !important;
  gap: clamp(18px, 1.15vw, 24px) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 24px 0 !important;
  align-items: stretch !important;
}

#product-category #product-list.zm-final-grid .zoomag-product-item,
body.zm-final-grid-mode #product-category #product-list .zoomag-product-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
  display: flex !important;
}

#product-category #product-list.zm-final-grid .petz-product-card,
body.zm-final-grid-mode #product-category #product-list .petz-product-card {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 540px !important;
  border-radius: 22px !important;
  box-shadow: 0 14px 32px rgba(44, 35, 72, .11) !important;
}

#product-category #product-list.zm-final-grid .petz-image-section,
body.zm-final-grid-mode #product-category #product-list .petz-image-section {
  width: 100% !important;
  height: 270px !important;
  flex: 0 0 270px !important;
  padding: 14px 14px 0 !important;
}

#product-category #product-list.zm-final-grid .petz-image-link,
#product-category #product-list.zm-final-grid .petz-image-container,
body.zm-final-grid-mode #product-category #product-list .petz-image-link,
body.zm-final-grid-mode #product-category #product-list .petz-image-container {
  width: 100% !important;
  height: 100% !important;
  border-radius: 17px !important;
}

#product-category #product-list.zm-final-grid .petz-product-image,
body.zm-final-grid-mode #product-category #product-list .petz-product-image {
  padding: 10px !important;
  object-fit: contain !important;
}

#product-category #product-list.zm-final-grid .petz-content-section,
body.zm-final-grid-mode #product-category #product-list .petz-content-section {
  padding: 15px 17px 17px !important;
  gap: 11px !important;
}

#product-category #product-list.zm-final-grid .petz-product-name,
body.zm-final-grid-mode #product-category #product-list .petz-product-name {
  min-height: 4em !important;
}

#product-category #product-list.zm-final-grid .petz-product-name a,
body.zm-final-grid-mode #product-category #product-list .petz-product-name a {
  font-size: 17px !important;
  line-height: 1.28 !important;
  font-weight: 750 !important;
  -webkit-line-clamp: 3 !important;
}

#product-category #product-list.zm-final-grid .petz-price-main,
#product-category #product-list.zm-final-grid .petz-special-price,
body.zm-final-grid-mode #product-category #product-list .petz-price-main,
body.zm-final-grid-mode #product-category #product-list .petz-special-price {
  font-size: 27px !important;
  line-height: 1.08 !important;
}

#product-category #product-list.zm-final-grid .petz-old-price,
body.zm-final-grid-mode #product-category #product-list .petz-old-price {
  font-size: 14px !important;
}

#product-category #product-list.zm-final-grid .petz-feature span,
#product-category #product-list.zm-final-grid .petz-quantity-control label,
body.zm-final-grid-mode #product-category #product-list .petz-feature span,
body.zm-final-grid-mode #product-category #product-list .petz-quantity-control label {
  font-size: 13px !important;
}

#product-category #product-list.zm-final-grid .petz-btn.petz-btn-primary,
body.zm-final-grid-mode #product-category #product-list .petz-btn.petz-btn-primary {
  min-height: 48px !important;
  border-radius: 14px !important;
}

#product-category #product-list.zm-final-grid .petz-btn-text,
body.zm-final-grid-mode #product-category #product-list .petz-btn-text {
  font-size: 14px !important;
  font-weight: 800 !important;
}

#product-category #product-list.zm-final-grid .petz-secondary-actions .petz-btn,
body.zm-final-grid-mode #product-category #product-list .petz-secondary-actions .petz-btn {
  width: 44px !important;
  min-width: 44px !important;
  height: 44px !important;
}

/* Make catalogue navigation readable at the same visual scale. */
#product-category .zm-sidebar-nav {
  padding: 18px !important;
  border-radius: 22px !important;
}

#product-category .zm-sidebar-nav__title {
  font-size: 25px !important;
  line-height: 1.08 !important;
}

#product-category .zoomag-header-kicker {
  font-size: 12px !important;
}

#product-category .zm-sidebar-tree {
  gap: 10px !important;
}

#product-category .zm-sidebar-link {
  padding: 13px 14px !important;
  gap: 11px !important;
}

#product-category .zm-sidebar-child-link {
  padding: 10px 12px !important;
  gap: 10px !important;
}

#product-category .zm-sidebar-name {
  font-size: 16px !important;
  line-height: 1.22 !important;
}

#product-category .zm-sidebar-child-name {
  font-size: 14px !important;
  line-height: 1.22 !important;
}

#product-category .zm-sidebar-icon {
  width: 38px !important;
  height: 38px !important;
  font-size: 17px !important;
}

#product-category .zm-sidebar-child-icon {
  width: 32px !important;
  height: 32px !important;
  font-size: 15px !important;
}

#product-category .zm-sidebar-count,
#product-category .zm-category-chip {
  min-width: 31px !important;
  min-height: 31px !important;
  font-size: 12px !important;
}

/* Right filter: larger controls and text, without making the sidebar wider than useful. */
#product-category .zoomag-filter-sidebar {
  padding: 18px !important;
  border-radius: 22px !important;
}

#product-category .zoomag-header-title {
  font-size: 25px !important;
  line-height: 1.08 !important;
}

#product-category .zoomag-search-input {
  min-height: 44px !important;
  font-size: 15px !important;
}

#product-category .zoomag-group-toggle-compact,
#product-category .zoomag-filter-label-compact {
  min-height: 46px !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

#product-category .zoomag-group-name,
#product-category .zoomag-filter-text-compact,
#product-category .zoomag-brand-line-name,
#product-category .zoomag-active-filters-placeholder,
#product-category .zoomag-clear-link {
  font-size: 15px !important;
  line-height: 1.28 !important;
}

#product-category #zoomag-button-filter,
#product-category #zoomag-button-clear,
#product-category .zoomag-filter-footer button {
  min-height: 46px !important;
  font-size: 14px !important;
  padding: 10px 14px !important;
}

/* Header and controls within category gain the same readable scale. */
#product-category .zoomag-category-header {
  padding: 26px 28px !important;
  border-radius: 23px !important;
}

#product-category .zoomag-category-title {
  font-size: clamp(2rem, 2.1vw, 2.7rem) !important;
  line-height: 1.08 !important;
}

#product-category .zoomag-products-count {
  font-size: 16px !important;
}

#product-category .zoomag-controls-panel {
  padding: 18px 20px !important;
  border-radius: 19px !important;
}

#product-category .zoomag-compare-btn,
#product-category .zoomag-view-btn,
#product-category .zoomag-select {
  min-height: 44px !important;
  font-size: 14px !important;
}

/* List mode stays one large row, not four columns. */
#product-category #product-list.zm-final-list,
body.zm-final-list-mode #product-category #product-list {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
}

/* Search and manufacturer listing pages also use the viewport but preserve their own inner layout. */
#product-search #content,
#product-manufacturer #content {
  min-width: 0 !important;
  max-width: none !important;
}

@media (max-width: 1199.98px) {
  #product-category.zoomag-category-page,
  #product-search.zm-search-page,
  #product-manufacturer.zm-brand-page {
    width: calc(100vw - 18px) !important;
    margin-left: calc(50% - 50vw + 9px) !important;
    margin-right: calc(50% - 50vw + 9px) !important;
  }
}

@media (max-width: 991.98px) {
  #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #product-category #column-left,
  #product-category #column-right,
  #product-category #content {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  #product-category #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-category #product-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #product-category #product-list.zm-final-grid .petz-product-card,
  body.zm-final-grid-mode #product-category #product-list .petz-product-card {
    min-height: 500px !important;
  }

  #product-category #product-list.zm-final-grid .petz-image-section,
  body.zm-final-grid-mode #product-category #product-list .petz-image-section {
    height: 230px !important;
    flex-basis: 230px !important;
  }
}

@media (max-width: 575.98px) {
  #product-category #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-category #product-list {
    grid-template-columns: 1fr !important;
  }
}

/* r30 listing final layer */
#product-search.container,#product-manufacturer.container{
  width:min(calc(100vw - 32px),1760px)!important;
  max-width:1760px!important;
  margin-inline:auto!important;
}
#product-search #product-list,#product-manufacturer #product-list{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr))!important;
  gap:22px!important;
}
#product-search .petz-product-card,#product-manufacturer .petz-product-card{min-height:500px!important;height:100%!important;}
#product-search .petz-image-section,#product-manufacturer .petz-image-section{height:235px!important;}
@media(max-width:991.98px){#product-search #product-list,#product-manufacturer #product-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:575.98px){#product-search #product-list,#product-manufacturer #product-list{grid-template-columns:1fr!important;}}
