/* ===== ОБНОВЛЕННЫЕ АНИМАЦИИ ===== */
@keyframes float {
  0%, 100% { 
    transform: translateY(0) rotate(0deg); 
  }
  50% { 
    transform: translateY(-10px) rotate(5deg); 
  }
}

@keyframes bounce {
  0%, 100% { 
    transform: translateY(0) scale(1); 
  }
  50% { 
    transform: translateY(-15px) scale(1.05); 
  }
}

@keyframes fadeIn {
  from { 
    opacity: 0; 
    transform: translateY(30px) scale(0.9); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0) scale(1); 
  }
}

@keyframes glow {
  0%, 100% { 
    opacity: 0.6; 
    transform: scale(1); 
  }
  50% { 
    opacity: 1; 
    transform: scale(1.1); 
  }
}

@keyframes slideIn {
  from { 
    opacity: 0; 
    transform: translateX(-30px); 
  }
  to { 
    opacity: 1; 
    transform: translateX(0); 
  }
}

@keyframes rotate {
  from { 
    transform: rotate(0deg); 
  }
  to { 
    transform: rotate(360deg); 
  }
}

@keyframes pulse {
  0%, 100% { 
    transform: scale(1); 
    opacity: 1; 
  }
  50% { 
    transform: scale(1.05); 
    opacity: 0.8; 
  }
}

@keyframes switchView {
  0% { opacity: 0.7; transform: scale(0.98); }
  100% { opacity: 1; transform: scale(1); }
}

.animate-float { 
  animation: float 4s ease-in-out infinite; 
}
.animate-bounce { 
  animation: bounce 3s ease-in-out infinite; 
}
.animate-fade-in { 
  animation: fadeIn 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) both; 
}
.animate-pulse { 
  animation: pulse 2s ease-in-out infinite; 
}
.animate-glow { 
  animation: glow 2s ease-in-out infinite; 
}

/* ===== ОПТИМИЗИРОВАННЫЕ ХЛЕБНЫЕ КРОШКИ ===== */
.zm-info-unique-breadcrumb-wrapper {
  margin-bottom: 30px;
}

.zm-info-unique-breadcrumb {
    background: linear-gradient(135deg, #4b2624 0%, #da4f49 50%, #4b2624 100%);
    border-radius: 20px;
    padding: 15px 20px;
    margin: 0;
    overflow: hidden;
    display: flex;
    align-items: center;
    height: 60px;
    box-shadow: 
        0 6px 20px rgba(218, 79, 73, 0.3),
        inset 0 1px 0 rgba(255,255,255,0.2);
    border: 2px solid rgba(255,255,255,0.1);
    backdrop-filter: blur(10px);
    position: relative;
    flex-wrap: nowrap;
    overflow-x: auto;
    white-space: nowrap;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.zm-info-unique-breadcrumb::-webkit-scrollbar {
    display: none;
}

.zm-info-unique-breadcrumb::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, 
        transparent, 
        rgba(255,255,255,0.1), 
        transparent);
    transition: left 0.6s ease;
}

.zm-info-unique-breadcrumb:hover::before {
    left: 100%;
}

.zm-info-unique-breadcrumb-item {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 0;
    flex-shrink: 0;
}

.zm-info-unique-breadcrumb-link {
    color: rgba(255, 255, 255, 0.95) !important;
    text-decoration: none;
    font-weight: 700;
    font-size: 0.9rem;
    padding: 10px 15px;
    border-radius: 12px;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.15);
    text-shadow: 0 2px 4px rgba(0,0,0,0.3);
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.zm-info-unique-breadcrumb-link:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-2px) scale(1.05);
    box-shadow: 
        0 6px 20px rgba(0, 0, 0, 0.3),
        0 0 0 1px rgba(255, 255, 255, 0.3);
    text-decoration: none;
}

.zm-info-unique-home-icon {
    font-size: 1.1rem;
    color: #FFD166;
    transition: all 0.3s ease;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));
    flex-shrink: 0;
}

.zm-info-unique-breadcrumb-link:hover .zm-info-unique-home-icon {
    transform: scale(1.2) rotate(10deg);
    color: #fff;
}

.zm-info-unique-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
    display: inline-block;
}

.zm-info-unique-breadcrumb-separator {
    color: rgba(255, 255, 255, 0.7);
    margin: 0 6px;
    font-size: 0.8rem;
    display: flex;
    align-items: center;
    animation: separatorGlow 3s ease-in-out infinite;
    flex-shrink: 0;
}

/* ===== УЛУЧШЕННЫЙ АНИМИРОВАННЫЙ ФОН ===== */
.zoomag-animated-background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: -1;
  overflow: hidden;
  background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}

.zoomag-animal {
  position: absolute;
  font-size: 2rem;
  opacity: 0.08;
  animation: animalFloat 8s ease-in-out infinite;
  filter: blur(0.5px);
  z-index: 1;
}

.zoomag-animal-1 { top: 10%; left: 5%; animation-delay: 0s; }
.zoomag-animal-2 { top: 20%; right: 8%; animation-delay: 1.5s; }
.zoomag-animal-3 { bottom: 25%; left: 12%; animation-delay: 3s; }
.zoomag-animal-4 { bottom: 15%; right: 18%; animation-delay: 4.5s; }
.zoomag-animal-5 { top: 45%; left: 85%; animation-delay: 6s; }
.zoomag-animal-6 { top: 65%; left: 75%; animation-delay: 7.5s; }

/* ===== УМЕНЬШЕННЫЙ ЗАГОЛОВОК КАТЕГОРИИ ===== */
.zoomag-category-header {
  position: relative;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 50%, #667eea 100%);
  border-radius: 20px;
  padding: 30px 25px;
  margin-bottom: 25px;
  color: white;
  text-align: center;
  overflow: hidden;
  box-shadow: 
      0 12px 25px rgba(102, 126, 234, 0.3),
      inset 0 1px 0 rgba(255,255,255,0.2);
}

.zoomag-title-decoration {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  pointer-events: none;
}

.zoomag-paw-left,
.zoomag-paw-right {
  position: absolute;
  font-size: 3rem;
  opacity: 0.2;
  animation: float 6s ease-in-out infinite;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.3));
}

.zoomag-paw-left { top: 10px; left: 20px; animation-delay: 0s; }
.zoomag-paw-right { bottom: 10px; right: 20px; animation-delay: 3s; }

.zoomag-hexagon {
  position: absolute;
  width: 40px;
  height: 23px;
  background: rgba(255,255,255,0.1);
  clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
  animation: rotate 20s linear infinite;
}

.zoomag-hexagon-1 { top: 20%; left: 10%; animation-delay: 0s; }
.zoomag-hexagon-2 { top: 60%; right: 15%; animation-delay: 7s; }
.zoomag-hexagon-3 { bottom: 20%; left: 20%; animation-delay: 14s; }

.zoomag-category-title-wrapper {
  position: relative;
  z-index: 2;
}

.zoomag-category-title {
  font-size: 2rem;
  font-weight: 900;
  margin-bottom: 15px;
  text-shadow: 
      1px 1px 3px rgba(0,0,0,0.3),
      0 0 20px rgba(255,255,255,0.4);
  background: linear-gradient(135deg, #fff, #e3f2fd);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.zoomag-category-icon {
  position: relative;
  display: inline-block;
  margin-top: 15px;
}

.zoomag-category-thumb {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 3px solid rgba(255,255,255,0.4);
  box-shadow: 
      0 8px 20px rgba(0,0,0,0.3),
      inset 0 1px 3px rgba(255,255,255,0.3);
  position: relative;
  z-index: 2;
}

.zoomag-category-icon-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 85px;
  height: 85px;
  background: radial-gradient(circle, rgba(255,255,255,0.4) 0%, transparent 70%);
  border-radius: 50%;
  animation: glow 3s ease-in-out infinite;
}

.zoomag-category-stats {
  background: rgba(255,255,255,0.15);
  padding: 15px 20px;
  border-radius: 18px;
  backdrop-filter: blur(15px);
  border: 2px solid rgba(255,255,255,0.2);
  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
}

.zoomag-stats-content {
  text-align: center;
}

.zoomag-stats-icon {
  font-size: 1.5rem;
  color: #FFD166;
  margin-bottom: 6px;
  display: block;
  animation: bounce 3s ease-in-out infinite;
}

.zoomag-products-count {
  font-size: 1.1rem;
  font-weight: 700;
  display: block;
  margin-bottom: 4px;
}

.zoomag-stats-subtitle {
  font-size: 0.8rem;
  opacity: 0.9;
  font-weight: 500;
}

/* ===== УЛУЧШЕННЫЙ АККОРДЕОН ===== */
.zoomag-category-accordion {
  margin-bottom: 30px;
}

.zoomag-accordion-item {
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(248, 253, 248, 0.95));
  border-radius: 18px;
  border: 2px solid rgba(110, 211, 207, 0.3);
  overflow: hidden;
  box-shadow: 
      0 6px 25px rgba(0, 0, 0, 0.1),
      inset 0 1px 0 rgba(255,255,255,0.8);
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  position: relative;
}

.zoomag-accordion-item::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(110, 211, 207, 0.1), transparent);
  transition: left 0.6s ease;
}

.zoomag-accordion-item:hover::before {
  left: 100%;
}

.zoomag-accordion-item:hover {
  border-color: rgba(110, 211, 207, 0.6);
  box-shadow: 
      0 10px 30px rgba(0, 0, 0, 0.15),
      inset 0 1px 0 rgba(255,255,255,0.8);
  transform: translateY(-2px);
}

.zoomag-accordion-header {
  width: 100%;
  background: none;
  border: none;
  padding: 20px 25px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #2E282A;
  position: relative;
  z-index: 2;
}

.zoomag-accordion-header:hover {
  background: rgba(110, 211, 207, 0.08);
}

.zoomag-accordion-header-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.zoomag-accordion-icon-wrapper {
  width: 45px;
  height: 45px;
  background: linear-gradient(135deg, #6ED3CF, #4ECDC4);
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 3px 12px rgba(110, 211, 207, 0.3);
}

.zoomag-accordion-main-icon {
  font-size: 1.2rem;
  color: white;
}

.zoomag-accordion-title {
  font-size: 1.2rem;
  font-weight: 700;
  color: #2E282A;
}

.zoomag-accordion-arrow {
  font-size: 1rem;
  color: #4ECDC4;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.zoomag-accordion-item.active .zoomag-accordion-arrow {
  transform: rotate(180deg);
  color: #FF6B6B;
}

.zoomag-accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.zoomag-accordion-item.active .zoomag-accordion-content {
  max-height: 5000px;
}

.zoomag-description-content {
  padding: 25px;
  line-height: 1.7;
  color: #2E282A;
  font-size: 1rem;
}

.zoomag-accordion-collapse-btn-wrapper {
  display: flex;
  justify-content: center;
  padding: 20px 25px;
  margin-top: 15px;
  border-top: 2px solid rgba(110, 211, 207, 0.2);
  background: rgba(248, 253, 248, 0.8);
}

.zoomag-accordion-collapse-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 24px;
  background: linear-gradient(135deg, #6ED3CF, #4ECDC4);
  color: white;
  border: none;
  border-radius: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.3s ease;
  box-shadow: 0 5px 15px rgba(110, 211, 207, 0.4);
  position: relative;
  overflow: hidden;
}

.zoomag-accordion-collapse-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}

.zoomag-accordion-collapse-btn:hover::before {
  left: 100%;
}

.zoomag-accordion-collapse-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 25px rgba(110, 211, 207, 0.6);
  background: linear-gradient(135deg, #5EC3BF, #3EBDB4);
}

/* ===== УЛУЧШЕННЫЕ РЕЗУЛЬТАТЫ ===== */
.zoomag-results {
  padding: 15px 0;
}

.zoomag-results-content {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  padding: 12px 20px;
  border-radius: 18px;
  font-weight: 700;
  color: #2E282A;
  border: 2px solid rgba(78, 205, 196, 0.3);
  box-shadow: 0 3px 12px rgba(0,0,0,0.08);
  backdrop-filter: blur(10px);
}

.zoomag-results-icon {
  font-size: 1.2rem;
  color: #4ECDC4;
  animation: pulse 2s ease-in-out infinite;
}

.zoomag-results-text {
  font-size: 1rem;
}

/* ===== УМЕНЬШЕННЫЕ ПОДКАТЕГОРИИ ===== */
.zoomag-subcategories-section {
  margin: 35px 0;
}

.zoomag-section-header {
  text-align: center;
  margin-bottom: 30px;
  position: relative;
}

.zoomag-subcategories-title {
  font-size: 1.6rem;
  font-weight: 800;
  color: #2E282A;
  margin-bottom: 12px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(135deg, #2E282A, #4ECDC4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.zoomag-section-icon {
  font-size: 1.5rem;
  color: #4ECDC4;
  animation: bounce 3s ease-in-out infinite;
}

.zoomag-section-decoration {
  position: relative;
  height: 3px;
  background: linear-gradient(90deg, transparent, #4ECDC4, transparent);
  margin: 0 auto;
  width: 160px;
  border-radius: 2px;
}

.zoomag-section-line {
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, #FF6B6B, transparent);
  animation: slideIn 3s ease-in-out infinite;
}

.zoomag-subcategories-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 20px;
  margin-bottom: 35px;
}

.zoomag-subcategory-card {
  background: linear-gradient(145deg, #ffffff, #f8f9fa);
  border-radius: 18px;
  padding: 20px;
  text-decoration: none;
  color: #2E282A;
  transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  border: 2px solid transparent;
  box-shadow: 
      0 6px 20px rgba(0,0,0,0.1),
      inset 0 1px 0 rgba(255,255,255,0.8);
  position: relative;
  overflow: hidden;
}

.zoomag-subcategory-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent);
  transition: left 0.7s ease;
}

.zoomag-subcategory-card:hover::before {
  left: 100%;
}

.zoomag-subcategory-card:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 
      0 18px 35px rgba(0,0,0,0.15),
      inset 0 1px 0 rgba(255,255,255,0.8);
  border-color: #4ECDC4;
}

.zoomag-subcategory-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  position: relative;
  z-index: 2;
}

.zoomag-subcategory-decoration {
  position: absolute;
  top: 12px;
  right: 12px;
}

.zoomag-subcategory-dots {
  width: 6px;
  height: 6px;
  background: #4ECDC4;
  border-radius: 50%;
  position: relative;
}

.zoomag-subcategory-dots::before,
.zoomag-subcategory-dots::after {
  content: '';
  position: absolute;
  width: 6px;
  height: 6px;
  background: #FF6B6B;
  border-radius: 50%;
}

.zoomag-subcategory-dots::before {
  top: -10px;
  left: 0;
}

.zoomag-subcategory-dots::after {
  top: 10px;
  left: 0;
}

.zoomag-subcategory-image {
  position: relative;
  width: 90px;
  height: 90px;
  border-radius: 50%;
  overflow: hidden;
  box-shadow: 
      0 8px 18px rgba(0,0,0,0.2),
      inset 0 1px 3px rgba(255,255,255,0.3);
}

.zoomag-subcategory-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all 0.5s ease;
}

.zoomag-subcategory-card:hover .zoomag-subcategory-img {
  transform: scale(1.15) rotate(5deg);
}

.zoomag-subcategory-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(78, 205, 196, 0.9), rgba(255, 107, 107, 0.9));
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: all 0.5s ease;
  border-radius: 50%;
}

.zoomag-subcategory-card:hover .zoomag-subcategory-overlay {
  opacity: 1;
}

.zoomag-subcategory-overlay-icon {
  color: white;
  font-size: 1.8rem;
  transform: scale(0);
  transition: all 0.5s ease;
}

.zoomag-subcategory-card:hover .zoomag-subcategory-overlay-icon {
  transform: scale(1) rotate(360deg);
}

.zoomag-subcategory-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 110px;
  height: 110px;
  background: radial-gradient(circle, rgba(78, 205, 196, 0.3) 0%, transparent 70%);
  border-radius: 50%;
  opacity: 0;
  transition: all 0.5s ease;
}

.zoomag-subcategory-card:hover .zoomag-subcategory-glow {
  opacity: 1;
  animation: glow 2s ease-in-out infinite;
}

.zoomag-subcategory-icon {
  font-size: 3.5rem;
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FFE66D, #FF9E6D);
  border-radius: 50%;
  box-shadow: 
      0 8px 18px rgba(255, 158, 109, 0.4),
      inset 0 1px 3px rgba(255,255,255,0.3);
  animation: bounce 4s ease-in-out infinite;
}

.zoomag-subcategory-info {
  text-align: center;
}

.zoomag-subcategory-name {
  font-size: 1.2rem;
  font-weight: 800;
  color: #2E282A;
  display: block;
  margin-bottom: 8px;
  background: linear-gradient(135deg, #2E282A, #4ECDC4);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.zoomag-subcategory-meta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.zoomag-subcategory-arrow {
  color: #4ECDC4;
  font-size: 1.1rem;
  transition: all 0.3s ease;
}

.zoomag-subcategory-card:hover .zoomag-subcategory-arrow {
  transform: translateX(6px);
  color: #FF6B6B;
}

/* ===== УЛУЧШЕННАЯ ПАНЕЛЬ УПРАВЛЕНИЯ ===== */
.zoomag-controls-panel {
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border-radius: 20px;
  padding: 25px;
  margin: 30px 0;
  border: 2px solid rgba(78, 205, 196, 0.3);
  box-shadow: 
      0 10px 25px rgba(0,0,0,0.1),
      inset 0 1px 0 rgba(255,255,255,0.8);
  position: relative;
  overflow: hidden;
}

.zoomag-controls-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, transparent 30%, rgba(78, 205, 196, 0.05) 50%, transparent 70%);
  animation: slideIn 6s ease-in-out infinite;
}

.zoomag-compare-btn {
  background: linear-gradient(135deg, #FF6B6B, #FF9E6D);
  color: white;
  padding: 12px 20px;
  border-radius: 15px;
  text-decoration: none;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 5px 15px rgba(255, 107, 107, 0.4);
  position: relative;
  overflow: hidden;
}

.zoomag-compare-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}

.zoomag-compare-btn:hover::before {
  left: 100%;
}

.zoomag-compare-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px rgba(255, 107, 107, 0.6);
  color: white;
}

.zoomag-compare-icon-wrapper {
  width: 35px;
  height: 35px;
  background: rgba(255,255,255,0.2);
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(10px);
}

.zoomag-compare-icon {
  font-size: 1.1rem;
}

/* ===== СТИЛИ ДЛЯ ПЕРЕКЛЮЧЕНИЯ ВИДОВ ===== */
.zoomag-view-toggle {
  display: flex;
  gap: 8px;
  background: white;
  padding: 8px;
  border-radius: 15px;
  box-shadow: 
      0 5px 15px rgba(0,0,0,0.1),
      inset 0 1px 0 rgba(255,255,255,0.8);
  border: 2px solid rgba(78, 205, 196, 0.2);
}

.zoomag-view-btn {
  padding: 10px 16px;
  border: none;
  background: transparent;
  border-radius: 10px;
  color: #6c757d;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 600;
  position: relative;
  overflow: hidden;
  border: 2px solid transparent !important;
}

.zoomag-view-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}

.zoomag-view-btn:hover::before {
  left: 100%;
}

.zoomag-view-btn.zoomag-view-active {
  background: linear-gradient(135deg, #4ECDC4, #6ED3CF) !important;
  color: white !important;
  box-shadow: 0 3px 12px rgba(78, 205, 196, 0.4) !important;
  border-color: #4ECDC4 !important;
  transform: scale(1.05);
}

.zoomag-view-btn:not(.zoomag-view-active):hover {
  border-color: rgba(78, 205, 196, 0.3) !important;
  background: rgba(78, 205, 196, 0.08) !important;
  color: #4ECDC4 !important;
  transform: translateY(-2px);
}

.zoomag-view-icon {
  font-size: 1rem;
}

.zoomag-select-group {
  display: flex;
  align-items: center;
  gap: 10px;
}

.zoomag-select-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  color: #2E282A;
  white-space: nowrap;
}

.zoomag-select-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.zoomag-select {
  padding: 10px 40px 10px 16px;
  border: 2px solid #4ECDC4;
  border-radius: 12px;
  background: white;
  color: #2E282A;
  font-weight: 600;
  cursor: pointer;
  appearance: none;
  min-width: 180px;
  box-shadow: 0 3px 12px rgba(0,0,0,0.1);
  transition: all 0.3s ease;
}

.zoomag-select:focus {
  outline: none;
  border-color: #FF6B6B;
  box-shadow: 0 5px 15px rgba(255, 107, 107, 0.3);
}

.zoomag-select-arrow {
  position: absolute;
  right: 16px;
  color: #4ECDC4;
  pointer-events: none;
  transition: all 0.3s ease;
}

.zoomag-select:focus + .zoomag-select-arrow {
  color: #FF6B6B;
  transform: rotate(180deg);
}

/* ===== УЛУЧШЕННЫЙ ДЕЛИТЕР ===== */
.zoomag-divider {
  margin: 35px 0;
  text-align: center;
}

.zoomag-paw-divider {
  display: flex;
  justify-content: center;
  gap: 20px;
  font-size: 1.5rem;
  opacity: 0.8;
}

.zoomag-paw-divider span {
  animation: bounce 2.5s ease-in-out infinite;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,0.2));
}

.zoomag-paw-divider span:nth-child(2) { animation-delay: 0.3s; }
.zoomag-paw-divider span:nth-child(3) { animation-delay: 0.6s; }
.zoomag-paw-divider span:nth-child(4) { animation-delay: 0.9s; }
.zoomag-paw-divider span:nth-child(5) { animation-delay: 1.2s; }

/* ===== ЕДИНЫЙ РАЗМЕР ДЛЯ ТОВАРОВ ZOOMAG ===== */
.zoomag-products-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 20px !important;
  margin: 25px 0 !important;
  animation: switchView 0.3s ease;
}

.zoomag-product-item {
  width: 100% !important;
  min-height: 420px !important;
  flex: 0 0 auto !important;
  margin-bottom: 0 !important;
  position: relative !important;
}

.product-thumb {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: linear-gradient(135deg, #ffffff 0%, #f8f9fa 100%) !important;
  border: 2px solid rgba(120, 0, 0, 0.1) !important;
  box-shadow: 0 6px 20px rgba(139, 0, 0, 0.1) !important;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
  position: relative !important;
}

.product-thumb:hover {
  transform: translateY(-6px) scale(1.02) !important;
  box-shadow: 0 12px 30px rgba(139, 0, 0, 0.2) !important;
  border-color: rgba(139, 0, 0, 0.3) !important;
}

.image {
  width: 100% !important;
  height: 200px !important;
  overflow: hidden !important;
  position: relative !important;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef) !important;
}

.image a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform 0.4s ease !important;
}

.product-thumb:hover .image img {
  transform: scale(1.1) !important;
}

.caption {
  padding: 18px !important;
  flex-grow: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  background: white !important;
}

.caption h4 {
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin-bottom: 8px !important;
  min-height: 42px !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  font-weight: 600 !important;
}

.caption h4 a {
  color: #2a0b0b !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

.caption h4 a:hover {
  color: #8B0000 !important;
}

.price {
  font-size: 18px !important;
  font-weight: bold !important;
  color: #8B0000 !important;
  margin-bottom: 12px !important;
  font-family: 'Segoe UI', system-ui, sans-serif !important;
}

.price-new {
  color: #8B0000 !important;
}

.price-old {
  color: #999 !important;
  text-decoration: line-through !important;
  font-size: 15px !important;
  margin-left: 6px !important;
}

.button-group {
  display: flex !important;
  gap: 6px !important;
  margin-top: auto !important;
}

.btn-cart, .btn-wishlist, .btn-compare {
  flex: 1 !important;
  padding: 10px 12px !important;
  border: none !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  text-align: center !important;
  min-height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
}

.btn-cart {
  background: linear-gradient(135deg, #8B0000 0%, #A52A2A 100%) !important;
  color: white !important;
}

.btn-cart:hover {
  background: linear-gradient(135deg, #A52A2A 0%, #8B0000 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 3px 10px rgba(139, 0, 0, 0.3) !important;
}

.btn-wishlist, .btn-compare {
  background: linear-gradient(135deg, #4a1a1a 0%, #2a0b0b 100%) !important;
  color: white !important;
  flex: 0 0 40px !important;
  width: 40px !important;
}

.btn-wishlist:hover, .btn-compare:hover {
  background: linear-gradient(135deg, #2a0b0b 0%, #4a1a1a 100%) !important;
  transform: translateY(-2px) !important;
}

.rating {
  margin-bottom: 8px !important;
}

.zoomag-product-glow {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(circle at center, rgba(139, 0, 0, 0.1) 0%, transparent 70%);
  opacity: 0;
  transition: opacity 0.3s ease;
  pointer-events: none;
  border-radius: 18px;
}

.zoomag-product-item:hover .zoomag-product-glow {
  opacity: 1;
}

/* ===== УЛУЧШЕННОЕ ПУСТОЕ СОСТОЯНИЕ ===== */
.zoomag-empty-state {
  text-align: center;
  padding: 60px 30px;
  background: linear-gradient(135deg, #f8f9fa, #e9ecef);
  border-radius: 25px;
  margin: 35px 0;
  position: relative;
  overflow: hidden;
  box-shadow: 
      0 15px 30px rgba(0,0,0,0.1),
      inset 0 1px 0 rgba(255,255,255,0.8);
}

.zoomag-empty-background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(45deg, transparent 40%, rgba(78, 205, 196, 0.05) 50%, transparent 60%);
  animation: slideIn 8s ease-in-out infinite;
}

.zoomag-empty-icon {
  font-size: 4.5rem;
  margin-bottom: 25px;
  position: relative;
  z-index: 2;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.2));
}

.zoomag-empty-title {
  font-size: 2rem;
  font-weight: 800;
  color: #2E282A;
  margin-bottom: 15px;
  position: relative;
  z-index: 2;
  background: linear-gradient(135deg, #2E282A, #FF6B6B);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.zoomag-empty-text {
  font-size: 1.1rem;
  color: #6c757d;
  margin-bottom: 30px;
  position: relative;
  z-index: 2;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
}

.zoomag-empty-animals {
  margin: 30px 0;
  position: relative;
  z-index: 2;
}

.zoomag-empty-animal {
  font-size: 2.8rem;
  margin: 0 15px;
  animation: float 4s ease-in-out infinite;
  display: inline-block;
  filter: drop-shadow(0 3px 6px rgba(0,0,0,0.2));
}

.zoomag-empty-animal:nth-child(2) { animation-delay: 1s; }
.zoomag-empty-animal:nth-child(3) { animation-delay: 2s; }
.zoomag-empty-animal:nth-child(4) { animation-delay: 3s; }

.zoomag-empty-btn {
  background: linear-gradient(135deg, #4ECDC4, #6ED3CF);
  color: white;
  padding: 15px 28px;
  border-radius: 20px;
  text-decoration: none;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  box-shadow: 0 6px 20px rgba(78, 205, 196, 0.4);
  position: relative;
  z-index: 2;
  overflow: hidden;
}

.zoomag-empty-btn::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
  transition: left 0.6s ease;
}

.zoomag-empty-btn:hover::before {
  left: 100%;
}

.zoomag-empty-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 25px rgba(78, 205, 196, 0.6);
  color: white;
}

.zoomag-empty-btn-icon {
  font-size: 1.1rem;
}

/* ===== МОБИЛЬНАЯ ОПТИМИЗАЦИЯ ===== */
@media (max-width: 768px) {
  /* Контейнеры и отступы */
  #product-category.zoomag-category-page {
    padding-left: 8px;
    padding-right: 8px;
  }
  
  .zoomag-category-header {
    padding: 20px 15px !important;
    border-radius: 15px !important;
    margin-bottom: 20px !important;
  }
  
  .zoomag-category-title {
    font-size: 1.4rem !important;
    margin-bottom: 12px !important;
  }
  
  /* Хлебные крошки */
  .zm-info-unique-breadcrumb {
    padding: 10px 12px !important;
    height: 60px !important;
    flex-wrap: nowrap !important;
    gap: 4px !important;
    overflow-x: auto !important;
  }
  
  .zm-info-unique-breadcrumb-link {
    padding: 8px 10px !important;
    font-size: 0.8rem !important;
    max-width: 160px !important;
  }
  
  .zm-info-unique-text {
    max-width: 120px !important;
  }
  
  /* Панель управления */
  .zoomag-controls-panel {
    padding: 15px 12px !important;
    margin: 20px 0 !important;
    border-radius: 15px !important;
  }
  
  .zoomag-compare-btn {
    padding: 10px 15px !important;
    font-size: 0.8rem !important;
    justify-content: center;
    margin-bottom: 15px;
  }
  
  .zoomag-controls-panel .row {
    flex-direction: column;
    gap: 15px;
  }
  
  /* Переключение вида */
  .zoomag-view-toggle {
    flex-direction: row !important;
    justify-content: center;
    gap: 6px !important;
    padding: 6px !important;
  }
  
  .zoomag-view-btn {
    padding: 8px 12px !important;
    font-size: 0.8rem !important;
    flex: 1;
    justify-content: center;
  }
  
  /* Сортировка и лимит */
  .zoomag-select-group {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    width: 100% !important;
  }
  
  .zoomag-select {
    min-width: 100% !important;
    padding: 8px 35px 8px 12px !important;
    font-size: 0.85rem !important;
  }
  
  /* Товары */
  .zoomag-products-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin: 15px 0 !important;
  }
  
  .zoomag-product-item {
    min-height: 360px !important;
  }
  
  .product-thumb {
    border-radius: 12px !important;
  }
  
  .image {
    height: 160px !important;
  }
  
  .caption {
    padding: 12px !important;
  }
  
  .caption h4 {
    font-size: 13px !important;
    min-height: 38px !important;
    margin-bottom: 6px !important;
  }
  
  .price {
    font-size: 16px !important;
    margin-bottom: 10px !important;
  }
  
  .button-group {
    gap: 4px !important;
  }
  
  .btn-cart, .btn-wishlist, .btn-compare {
    padding: 8px 10px !important;
    font-size: 0.75rem !important;
    min-height: 36px !important;
  }
  
  .btn-wishlist, .btn-compare {
    flex: 0 0 36px !important;
    width: 36px !important;
  }
  
  /* Подкатегории */
  .zoomag-subcategories-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  
  .zoomag-subcategory-card {
    padding: 15px !important;
    border-radius: 15px !important;
  }
  
  .zoomag-subcategory-image {
    width: 70px !important;
    height: 70px !important;
  }
  
  .zoomag-subcategory-icon {
    width: 70px !important;
    height: 70px !important;
    font-size: 2.5rem !important;
  }
  
  .zoomag-subcategory-name {
    font-size: 1rem !important;
  }
  
  /* Аккордеон */
  .zoomag-accordion-header {
    padding: 15px 18px !important;
  }
  
  .zoomag-accordion-title {
    font-size: 1rem !important;
  }
  
  .zoomag-description-content {
    padding: 15px !important;
    font-size: 0.9rem !important;
  }
  
  /* Пустое состояние */
  .zoomag-empty-state {
    padding: 40px 15px !important;
    border-radius: 20px !important;
  }
  
  .zoomag-empty-title {
    font-size: 1.5rem !important;
  }
  
  .zoomag-empty-text {
    font-size: 0.95rem !important;
    margin-bottom: 25px !important;
  }
  
  .zoomag-empty-animal {
    font-size: 2rem !important;
    margin: 0 8px !important;
  }
  
  .zoomag-empty-btn {
    padding: 12px 20px !important;
    font-size: 0.85rem !important;
  }
  
  /* Разделитель */
  .zoomag-paw-divider {
    gap: 8px !important;
    font-size: 1.2rem !important;
  }
  
  /* Результаты и пагинация */
  .zoomag-results-content {
    padding: 10px 15px !important;
    font-size: 0.85rem !important;
  }
  
  .zoomag-pagination-wrapper {
    margin-top: 12px !important;
  }
  
  .zoomag-products-footer .row {
    flex-direction: column;
    gap: 15px;
    text-align: center;
  }
}

/* Дополнительные адаптивные стили для очень маленьких экранов */
@media (max-width: 380px) {
  .zoomag-category-title {
    font-size: 1.2rem !important;
  }
  
  .zoomag-products-grid {
    gap: 10px !important;
  }
  
  .zoomag-product-item {
    min-height: 340px !important;
  }
  
  .image {
    height: 140px !important;
  }
  
  .caption {
    padding: 10px !important;
  }
  
  .button-group {
    flex-direction: column !important;
  }
  
  .btn-wishlist, .btn-compare {
    width: 100% !important;
    flex: 1 !important;
  }
  
  .zm-info-unique-breadcrumb-link {
    max-width: 140px !important;
  }
  
  .zm-info-unique-text {
    max-width: 100px !important;
  }
}

/* Оптимизация для планшетов */
@media (max-width: 1024px) and (min-width: 769px) {
  .zoomag-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 15px !important;
  }
  
  .zoomag-product-item {
    min-height: 380px !important;
  }
  
  .image {
    height: 180px !important;
  }
  
  .zoomag-subcategories-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* Улучшенная адаптивность для средних экранов */
@media (max-width: 992px) and (min-width: 769px) {
  .zoomag-products-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  
  .zoomag-subcategories-grid {
    grid-template-columns: repeat(3, 1fr) !important;
  }
}

/* Улучшенная читаемость на мобильных */
@media (max-width: 768px) {
  body {
    font-size: 14px;
  }
  
  h1, h2, h3 {
    line-height: 1.3;
  }
  
  .zoomag-category-title {
    line-height: 1.2;
  }
  
  /* Улучшение касаний */
  .zoomag-view-btn,
  .zoomag-compare-btn,
  .zoomag-empty-btn,
  .btn-cart,
  .btn-wishlist,
  .btn-compare {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  
  /* Увеличение области клика для ссылок */
  .zoomag-subcategory-card,
  .zm-info-unique-breadcrumb-link {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* Дополнительные анимации для животных фона */
@keyframes animalFloat {
  0%, 100% { 
    transform: translate(0, 0) rotate(0deg); 
  }
  25% { 
    transform: translate(20px, -15px) rotate(5deg);
  }
  50% { 
    transform: translate(-15px, 20px) rotate(-5deg);
  }
  75% { 
    transform: translate(15px, -20px) rotate(3deg);
  }
}

@keyframes separatorGlow {
  0%, 100% { 
    opacity: 0.7; 
  }
  50% { 
    opacity: 1; 
  }
}

/* === ZOOMAG 2026 HOTFIX: catalog card proportions + breadcrumb plate === */
.zoomag-products-grid{grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 18px !important;}
.product-thumb .image{
  height: 168px !important;
  padding: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #eef7f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.product-thumb .image img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  max-height: 100% !important;
  border-radius: 8px !important;
  display:block !important;
}

/* единая плашка хлебных крошек в стиле страницы товара */
.zm-ui-breadcrumbs-wrap,
.zm-info-unique-breadcrumb-wrapper,
.zm-cat-breadcrumb-wrap{
  background: #fff !important;
  border: 1px solid rgba(99,102,241,.14) !important;
  border-radius: 16px !important;
  padding: 10px 14px !important;
  box-shadow: 0 8px 20px rgba(17,24,39,.05) !important;
}
.zm-ui-breadcrumbs,
.zm-info-unique-breadcrumb,
.zm-cat-breadcrumb{
  display:flex !important;
  flex-wrap: wrap !important;
  align-items:center !important;
  gap: 8px !important;
  list-style:none !important;
  margin:0 !important;
  padding:6px 8px !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg, #6a1f1f 0%, #4a1515 45%, #2b1224 100%) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 10px 18px rgba(42,16,24,.18) !important;
}
.zm-ui-breadcrumbs > li,
.zm-info-unique-breadcrumb > li,
.zm-cat-breadcrumb > li{display:inline-flex !important; align-items:center !important; gap:8px !important; margin:0 !important;}
.zm-ui-breadcrumbs a,
.zm-info-unique-breadcrumb-link,
.zm-cat-breadcrumb a{
  display:inline-flex !important;
  align-items:center !important;
  gap:6px !important;
  height: 30px !important;
  padding: 0 10px !important;
  border-radius: 999px !important;
  color: #f7f3ef !important;
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  text-decoration:none !important;
  font-weight:600 !important;
  font-size: 13px !important;
}
.zm-ui-breadcrumbs li.active, .zm-ui-breadcrumbs li.active > span,
.zm-info-unique-breadcrumb-item.is-active,
.zm-cat-breadcrumb li.active{
  color: #ffd7c8 !important;
  font-weight:700 !important;
}
.zm-ui-breadcrumbs li.active > span,
.zm-info-unique-breadcrumb-item.is-active .zm-info-unique-home-text,
.zm-cat-breadcrumb li.active > span{
  display:inline-flex !important;
  align-items:center !important;
  height: 30px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.09) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
}
.zm-ui-breadcrumbs li + li::before,
.zm-cat-breadcrumb li + li::before{
  content:'›';
  color: rgba(255,255,255,.6);
  font-weight:700;
  margin-right:2px;
}
:root {
  --zm-filter-bg: #ffffff;
  --zm-filter-surface: #f8fafc;
  --zm-filter-border: rgba(148, 163, 184, 0.22);
  --zm-filter-border-strong: rgba(139, 0, 0, 0.18);
  --zm-filter-text: #0f172a;
  --zm-filter-muted: #64748b;
  --zm-filter-brand: #7f1d1d;
  --zm-filter-brand-2: #b91c1c;
  --zm-filter-brand-soft: rgba(185, 28, 28, 0.08);
  --zm-filter-accent: #f59e0b;
  --zm-filter-shadow: 0 18px 38px rgba(15, 23, 42, 0.08);
  --zm-filter-radius: 22px;
}

.zoomag-filter-sidebar-container {
  position: sticky;
  top: 16px;
  width: 100%;
  margin: 0;
  z-index: 10;
}

.zoomag-filter-sidebar {
  width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: calc(100vh - 34px);
  background: linear-gradient(180deg, #fff 0%, #fff 60%, #fffaf9 100%);
  border: 1px solid var(--zm-filter-border);
  border-radius: var(--zm-filter-radius);
  box-shadow: var(--zm-filter-shadow);
  overflow: hidden;
}

.zoomag-filter-header {
  flex: 0 0 auto;
  padding: 14px 16px 12px;
  background:
    radial-gradient(circle at top right, rgba(245, 158, 11, 0.12), transparent 34%),
    radial-gradient(circle at top left, rgba(127, 29, 29, 0.10), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
  border-bottom: 1px solid rgba(148, 163, 184, 0.18);
}

.zoomag-header-content {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.zoomag-header-kicker {
  font-size: 10px;
  line-height: 1;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--zm-filter-brand-2);
  font-weight: 700;
  margin-bottom: 6px;
}

.zoomag-header-title {
  margin: 0;
  font-size: 20px;
  line-height: 1.12;
  font-weight: 800;
  color: var(--zm-filter-text);
}

.zoomag-header-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 12px;
}

.zoomag-summary-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--zm-filter-brand-soft);
  color: var(--zm-filter-brand);
  font-size: 12px;
  font-weight: 700;
}

.zoomag-clear-link,
.zoomag-mobile-toggle {
  border: 0;
  background: transparent;
  color: var(--zm-filter-muted);
  font-weight: 700;
  font-size: 12px;
  transition: color .2s ease, transform .2s ease;
}

.zoomag-clear-link:hover,
.zoomag-mobile-toggle:hover {
  color: var(--zm-filter-brand);
  transform: translateY(-1px);
}

.zoomag-mobile-toggle {
  display: none;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255,255,255,0.78);
  border: 1px solid rgba(148, 163, 184, 0.24);
}

.zoomag-filter-panel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-height: none;
}

.zoomag-filter-controls {
  flex: 0 0 auto;
  padding: 12px 14px 10px;
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,255,255,0.94));
  border-bottom: 1px solid rgba(148, 163, 184, 0.10);
}

.zoomag-search-container {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 42px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: var(--zm-filter-surface);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.9);
}

.zoomag-search-container:focus-within {
  border-color: rgba(185, 28, 28, 0.34);
  box-shadow: 0 0 0 4px rgba(185, 28, 28, 0.08);
}

.zoomag-search-icon,
.zoomag-clear-search {
  flex: 0 0 auto;
  width: 38px;
  text-align: center;
  color: var(--zm-filter-muted);
}

.zoomag-clear-search { border: 0; background: transparent; }

.zoomag-search-input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--zm-filter-text);
  font-size: 13px;
  font-weight: 600;
  outline: none;
}

.zoomag-search-input::placeholder { color: #94a3b8; font-weight: 500; }

.zoomag-active-filters-compact {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.zoomag-active-filters-placeholder {
  font-size: 12px;
  color: var(--zm-filter-muted);
}

.zoomag-active-filter-tag-compact {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(185, 28, 28, 0.16);
  border-radius: 999px;
  background: rgba(255, 245, 245, 0.95);
  color: var(--zm-filter-brand);
  font-size: 12px;
  font-weight: 700;
}

.zoomag-filter-tag-group { color: #94a3b8; font-weight: 700; }

.zoomag-filter-accordion-compact {
  flex: 1 1 auto;
  min-height: 0;
  padding: 10px 14px 90px;
  overflow: auto;
  scrollbar-width: thin;
}

.zoomag-filter-group-compact {
  border: 1px solid rgba(148, 163, 184, 0.16);
  border-radius: 15px;
  background: #fff;
  margin-bottom: 9px;
  overflow: hidden;
  transition: border-color .2s ease, box-shadow .2s ease;
}

.zoomag-filter-group-compact:hover,
.zoomag-filter-group-compact.active {
  border-color: rgba(185, 28, 28, 0.18);
  box-shadow: 0 12px 20px rgba(15, 23, 42, 0.05);
}

.zoomag-group-empty { opacity: .45; }

.zoomag-group-toggle-compact {
  width: 100%;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 46px;
  padding: 0 12px;
}

.zoomag-group-title-compact {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.zoomag-group-bullet {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--zm-filter-brand-2), var(--zm-filter-accent));
  box-shadow: 0 0 0 5px rgba(185, 28, 28, 0.08);
}

.zoomag-group-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 14px;
  color: var(--zm-filter-text);
  font-weight: 800;
}

.zoomag-selected-count-badge {
  display: none;
  align-items: center;
  justify-content: center;
  min-width: 21px;
  height: 21px;
  padding: 0 7px;
  border-radius: 999px;
  background: var(--zm-filter-brand-soft);
  color: var(--zm-filter-brand);
  font-size: 11px;
  font-weight: 800;
}

.zoomag-selected-count-badge.is-visible { display: inline-flex; }

.zoomag-filter-arrow {
  color: #94a3b8;
  transition: transform .22s ease, color .22s ease;
}

.zoomag-filter-group-compact.active .zoomag-filter-arrow {
  transform: rotate(180deg);
  color: var(--zm-filter-brand);
}

.zoomag-group-content-compact {
  overflow: hidden;
  max-height: 0;
  transition: max-height .22s ease;
}

.zoomag-filter-options-compact {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 0 10px 10px;
  max-height: 360px;
  overflow: auto;
}

.zoomag-filter-option-compact { position: relative; }
.zoomag-filter-checkbox { position: absolute; opacity: 0; pointer-events: none; }

.zoomag-filter-label-compact {
  display: grid;
  grid-template-columns: 19px 1fr auto;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  padding: 0 10px;
  border-radius: 12px;
  border: 1px solid transparent;
  background: var(--zm-filter-surface);
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
  cursor: pointer;
}

.zoomag-filter-label-compact:hover {
  transform: translateX(2px);
  border-color: rgba(185, 28, 28, 0.18);
  background: #fff6f5;
}

.zoomag-checkmark-compact {
  width: 17px;
  height: 17px;
  border-radius: 6px;
  border: 1.5px solid rgba(148, 163, 184, 0.42);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
}

.zoomag-checkmark-compact i { font-size: 10px; }

.zoomag-filter-text-compact {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--zm-filter-text);
  font-size: 13px;
  font-weight: 600;
}

.zoomag-filter-count-compact {
  min-width: 30px;
  height: 24px;
  padding: 0 7px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.22);
  color: var(--zm-filter-muted);
  font-size: 11px;
  font-weight: 800;
}

.zoomag-filter-checkbox:checked + .zoomag-filter-label-compact {
  background: linear-gradient(180deg, rgba(255,247,237,.96), rgba(255,255,255,.96));
  border-color: rgba(185, 28, 28, 0.22);
  box-shadow: 0 10px 18px rgba(185, 28, 28, 0.08);
}

.zoomag-filter-checkbox:checked + .zoomag-filter-label-compact .zoomag-checkmark-compact {
  background: linear-gradient(135deg, var(--zm-filter-brand-2), var(--zm-filter-brand));
  border-color: transparent;
  color: #fff;
}

.zoomag-filter-checkbox:checked + .zoomag-filter-label-compact .zoomag-filter-count-compact {
  background: rgba(185, 28, 28, 0.1);
  border-color: rgba(185, 28, 28, 0.16);
  color: var(--zm-filter-brand);
}

.zoomag-zero-count .zoomag-filter-label-compact { opacity: .52; cursor: not-allowed; }
.zoomag-zero-count .zoomag-filter-label-compact:hover { transform: none; background: var(--zm-filter-surface); border-color: transparent; box-shadow: none; }
.zoomag-search-hidden { display: none; }

.zoomag-filter-footer {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 14px 14px;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(248,250,252,0.94) 32%, rgba(248,250,252,1) 100%);
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  box-shadow: 0 -10px 24px rgba(15, 23, 42, 0.08);
}

.zoomag-btn {
  min-height: 42px;
  border-radius: 13px;
  border: 1px solid transparent;
  font-size: 13px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.zoomag-btn:hover { transform: translateY(-1px); }
.zoomag-btn-secondary { background: #fff; color: var(--zm-filter-text); border-color: rgba(148, 163, 184, 0.24); }
.zoomag-btn-primary { background: linear-gradient(135deg, var(--zm-filter-brand), var(--zm-filter-brand-2)); color: #fff; box-shadow: 0 16px 26px rgba(185, 28, 28, 0.18); }
.zoomag-filter-is-loading .zoomag-btn-primary { opacity: .78; }

@media (max-width: 1200px) {
  .zoomag-filter-sidebar-container { position: static; top: auto; }
  .zoomag-filter-sidebar { max-height: none; }
  .zoomag-filter-panel { max-height: none; }
}

@media (max-width: 991px) {
  .zoomag-filter-sidebar-container { margin-bottom: 18px; }
  .zoomag-filter-header { padding: 16px; }
  .zoomag-header-title { font-size: 22px; }
  .zoomag-mobile-toggle { display: inline-flex; }
  .zoomag-filter-panel { display: none; max-height: none; }
  .zoomag-filter-panel.is-open { display: flex; }
  .zoomag-filter-controls,
  .zoomag-filter-accordion-compact,
  .zoomag-filter-footer { padding-left: 16px; padding-right: 16px; }
}

@media (max-width: 575px) {
  .zoomag-header-content,
  .zoomag-header-meta { flex-direction: column; align-items: stretch; }
  .zoomag-mobile-toggle,
  .zoomag-clear-link { justify-content: center; }
  .zoomag-filter-footer { grid-template-columns: 1fr; }
  .zoomag-filter-label-compact { grid-template-columns: 18px 1fr auto; gap: 8px; padding: 0 10px; }
  .zoomag-filter-text-compact { font-size: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  .zoomag-filter-sidebar,
  .zoomag-filter-label-compact,
  .zoomag-group-content-compact,
  .zoomag-btn,
  .zoomag-mobile-toggle,
  .zoomag-clear-link,
  .zoomag-active-filter-tag-compact,
  .zoomag-filter-arrow {
    transition: none !important;
  }
}

/* =========================================================
   Brand lines inside Brand filter group
   Source: zm_brand_line + zm_product_brand_line
   ========================================================= */
.zoomag-filter-option-has-lines {
  padding-bottom: 6px;
}

.zoomag-brand-line-accordion {
  margin: 7px 0 2px 28px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 248, 240, 0.92), rgba(255, 255, 255, 0.96));
  border: 1px solid rgba(185, 28, 28, 0.12);
  overflow: hidden;
}

.zoomag-brand-line-toggle {
  width: 100%;
  min-height: 34px;
  padding: 0 10px 0 12px;
  border: 0;
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--zm-filter-brand);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .01em;
}

.zoomag-brand-line-toggle i {
  font-size: 11px;
  color: var(--zm-filter-muted);
  transition: transform .22s ease, color .22s ease;
}

.zoomag-brand-line-accordion.active .zoomag-brand-line-toggle i {
  transform: rotate(180deg);
  color: var(--zm-filter-brand);
}

.zoomag-brand-line-panel {
  max-height: 0;
  overflow: hidden;
  transition: max-height .22s ease;
}

.zoomag-brand-line-option {
  position: relative;
  padding: 0 8px 7px;
}

.zoomag-brand-line-label {
  min-height: 36px;
  display: grid;
  grid-template-columns: 12px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 0 8px;
  border-radius: 11px;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(255, 255, 255, 0.86);
  cursor: pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.zoomag-brand-line-label:hover {
  transform: translateX(2px);
  background: #fff8f0;
  border-color: rgba(185, 28, 28, 0.18);
}

.zoomag-brand-line-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  border: 1.5px solid rgba(185, 28, 28, 0.28);
  background: #fff;
}

.zoomag-brand-line-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--zm-filter-text);
  font-size: 12px;
  font-weight: 750;
}

.zoomag-brand-line-checkbox:checked + .zoomag-brand-line-label {
  background: linear-gradient(180deg, rgba(255, 247, 237, .98), rgba(255, 255, 255, .96));
  border-color: rgba(185, 28, 28, 0.24);
  box-shadow: 0 8px 16px rgba(185, 28, 28, 0.08);
}

.zoomag-brand-line-checkbox:checked + .zoomag-brand-line-label .zoomag-brand-line-dot {
  background: linear-gradient(135deg, var(--zm-filter-brand-2), var(--zm-filter-brand));
  border-color: transparent;
  box-shadow: 0 0 0 4px rgba(185, 28, 28, 0.08);
}

@media (max-width: 575px) {
  .zoomag-brand-line-accordion {
    margin-left: 18px;
  }
}


/* =========================================================
   FINAL TOUCH 2026-05-02: filter focus overlay restored
   Active filter opens as a readable ~1/3-page panel with page blur.
   ========================================================= */
.zoomag-filter-focus-close {
  display: none;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: rgba(127, 29, 29, 0.10);
  color: var(--zm-filter-brand);
  font-size: 15px;
  box-shadow: 0 8px 18px rgba(127, 29, 29, 0.10);
  cursor: pointer;
  transition: transform .2s ease, background .2s ease;
}
.zoomag-filter-focus-close:hover { transform: scale(1.04); background: rgba(127, 29, 29, 0.16); }
.zoomag-filter-focus-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2147483626;
  opacity: 0;
  pointer-events: none;
  background: rgba(15, 23, 42, 0.20);
  -webkit-backdrop-filter: blur(5px) saturate(1.08);
  backdrop-filter: blur(5px) saturate(1.08);
  transition: opacity .2s ease;
}
.zoomag-filter-focus-backdrop.is-visible { opacity: 1; pointer-events: auto; }
html.zoomag-filter-focus-mode,
html.zoomag-filter-focus-mode body,
body.zoomag-filter-focus-mode { overflow: hidden !important; }
.zoomag-filter-sidebar-container.is-focus-open {
  position: fixed !important;
  top: var(--zm-filter-focus-top, 18px) !important;
  bottom: var(--zm-filter-focus-bottom, 18px) !important;
  left: var(--zm-filter-focus-left, clamp(12px, 2vw, 36px)) !important;
  right: var(--zm-filter-focus-right, auto) !important;
  width: var(--zm-filter-focus-width, clamp(360px, 33.333vw, 520px)) !important;
  max-width: calc(100vw - 24px) !important;
  height: auto !important;
  margin: 0 !important;
  z-index: 2147483638 !important;
  transform-origin: var(--zm-filter-focus-origin, left center);
  animation: zoomagFilterFocusSlideIn .2s ease both;
}
.zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-sidebar {
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  border-radius: 24px !important;
  box-shadow: 0 32px 90px rgba(15, 23, 42, 0.34), 0 0 0 1px rgba(255,255,255,0.70) inset !important;
}
.zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-focus-close { display: inline-flex !important; }
.zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-panel { display: flex !important; max-height: none !important; }
.zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-accordion-compact { padding-bottom: 110px !important; }
.zoomag-filter-sidebar-container.is-focus-open .zoomag-group-name,
.zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-text-compact,
.zoomag-filter-sidebar-container.is-focus-open .zoomag-brand-line-name,
.zoomag-filter-sidebar-container.is-focus-open .zoomag-active-filter-tag-compact span {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  line-height: 1.22 !important;
}
.zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-label-compact,
.zoomag-filter-sidebar-container.is-focus-open .zoomag-brand-line-label {
  min-height: 42px !important;
  height: auto !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
.zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-options-compact { gap: 8px !important; }
.zoomag-filter-sidebar-container.is-filter-applying .zoomag-btn-primary::after {
  content: '';
  width: 13px;
  height: 13px;
  border-radius: 999px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  animation: zoomagFilterSpin .7s linear infinite;
}
@keyframes zoomagFilterFocusSlideIn {
  from { opacity: 0; transform: translateX(var(--zm-filter-focus-from-x, -14px)) scale(.985); }
  to { opacity: 1; transform: translateX(0) scale(1); }
}
@keyframes zoomagFilterSpin { to { transform: rotate(360deg); } }
@media (max-width: 991px) {
  .zoomag-filter-focus-backdrop {
    z-index: 2147483645 !important;
    background: rgba(15, 23, 42, 0.24);
    -webkit-backdrop-filter: blur(6px) saturate(1.08);
    backdrop-filter: blur(6px) saturate(1.08);
  }
  .zoomag-filter-sidebar-container.is-focus-open {
    top: var(--zm-filter-focus-top, 10px) !important;
    bottom: var(--zm-filter-focus-bottom, 10px) !important;
    left: var(--zm-filter-focus-left, 10px) !important;
    right: var(--zm-filter-focus-right, auto) !important;
    width: var(--zm-filter-focus-width, min(88vw, 430px)) !important;
    max-width: calc(100vw - 20px) !important;
    z-index: 2147483647 !important;
  }
  .zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-sidebar { border-radius: 20px !important; }
  .zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-header,
  .zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-controls,
  .zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-accordion-compact,
  .zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-footer { padding-left: 14px !important; padding-right: 14px !important; }
  .zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-footer { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 575px) {
  .zoomag-filter-sidebar-container.is-focus-open .zoomag-filter-footer { grid-template-columns: 1fr !important; }
}


/* AJAX mechanic: выбранные пункты применяются без закрытия панели. */
.zoomag-filter-sidebar-container.is-filter-applying .zoomag-filter-header::after {
  content: 'Обновляем товары...';
  display: inline-flex;
  margin-top: 8px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(185, 28, 28, 0.08);
  color: var(--zm-filter-brand);
  font-size: 11px;
  font-weight: 800;
}

/* =========================================================
   ZOOMAG HOTFIX 2026-05-25
   1) Filter must be above cart while focus mode is open.
   2) Nested brand-line accordions must not visually cut their content.
   ========================================================= */
.zoomag-filter-focus-backdrop.is-visible {
  z-index: 2147483646 !important;
}

.zoomag-filter-sidebar-container.is-focus-open {
  z-index: 2147483647 !important;
}

body.zoomag-filter-focus-mode .zoomag_cart_section,
body.zoomag-filter-focus-mode .zoomag_cart_block,
body.zoomag-filter-focus-mode .floating-cart-wrapper,
body.zoomag-filter-focus-mode .cloud-cart-container,
body.zoomag-filter-focus-mode #cartContainer,
body.zoomag-filter-focus-mode #cart,
body.zoomag-filter-focus-mode #cart .dropdown,
body.zoomag-filter-focus-mode #cart .dropdown-menu,
body.zoomag-filter-focus-mode .cloud-cart-dropdown {
  z-index: 1000 !important;
}

.zoomag-brand-line-accordion.active .zoomag-brand-line-panel {
  overflow: visible;
}

.zoomag-filter-group-compact.active .zoomag-group-content-compact {
  overflow: visible;
}

.zoomag-filter-group-compact.active .zoomag-filter-options-compact {
  overscroll-behavior: contain;
}
/* Category page visual stabilization */
#product-category.zoomag-category-page{
  max-width:1320px;
  margin-inline:auto;
  padding-inline:12px;
}

#product-category .zoomag-animated-background{
  background:transparent !important;
  z-index:0 !important;
  opacity:.7;
}

#product-category .zm-info-unique-breadcrumb-wrapper{margin-bottom:16px !important;}
#product-category ul.zm-info-unique-breadcrumb{
  padding:10px 12px !important;
  border-radius:12px !important;
  box-shadow:0 4px 14px rgba(17,24,39,.04) !important;
  background:rgba(255,255,255,.95) !important;
  border:1px solid #e7edf4 !important;
}
#product-category .zm-info-unique-breadcrumb-link{
  color:#1f2937 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-shadow:none !important;
  max-width:none !important;
  padding:0 !important;
  transform:none !important;
}
#product-category .zm-info-unique-home-icon{color:var(--zoomag-primary,#0ea5a4) !important; filter:none !important;}
#product-category .zm-info-unique-breadcrumb-separator,
#product-category .zm-info-unique-breadcrumb-separator i{
  color:#98a2b3 !important;
  animation:none !important;
  margin:0 2px !important;
}

/* Tame oversized/red blocks and keep unified spacing */
#product-category .zoomag-category-header{
  border-radius:16px !important;
  padding:20px 20px !important;
  margin-bottom:18px !important;
  box-shadow:0 10px 24px rgba(17,24,39,.08) !important;
}

#product-category .zoomag-controls-panel{
  border-radius:14px !important;
  box-shadow:0 8px 18px rgba(17,24,39,.06) !important;
}

@media (max-width: 991.98px){
  #product-category.zoomag-category-page{padding-inline:10px;}
  #product-category .row.g-4{--bs-gutter-x:1rem;}
}

@media (max-width: 768px){
  /* Scope mobile fluid/container rules only to this page */
  #product-category.zoomag-category-page{
    padding-left:10px !important;
    padding-right:10px !important;
  }
  #product-category .zoomag-category-header{
    padding:16px 14px !important;
    border-radius:14px !important;
  }
  #product-category .zoomag-subcategories-grid{
    gap:10px !important;
  }
}


/* === Category image protection + wider visual frame === */
#product-category .zoomag-products-grid{
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important;
  gap: 20px !important;
}

#product-category .zoomag-product-item{
  min-height: 448px !important;
}

#product-category .product-thumb .image{
  height: 238px !important;
  padding: 6px !important;
  border-radius: 16px !important;
  background: linear-gradient(180deg, #f7faf9 0%, #eef6f3 100%) !important;
  border: 1px solid rgba(32, 114, 100, 0.10) !important;
}

#product-category .product-thumb .image a{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

#product-category .product-thumb .image img{
  width: 94% !important;
  height: 94% !important;
  max-width: 94% !important;
  max-height: 94% !important;
  object-fit: contain !important;
  object-position: center !important;
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  -webkit-touch-callout: none !important;
}

#product-category .product-thumb:hover .image img{
  transform: scale(1.04) !important;
}

#product-category .zoomag-subcategory-image,
#product-category .zoomag-category-icon{
  position: relative !important;
  overflow: hidden !important;
}

#product-category .zoomag-subcategory-img,
#product-category .zoomag-category-thumb{
  pointer-events: none !important;
  user-select: none !important;
  -webkit-user-drag: none !important;
  -webkit-touch-callout: none !important;
}

#product-category .zm-image-protected::after,
#product-category .product-thumb .image::after,
#product-category .zoomag-subcategory-image::after,
#product-category .zoomag-category-icon::after{
  content: '© ZooMag';
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .02em;
  color: rgba(36, 44, 55, .78);
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.88);
  box-shadow: 0 8px 18px rgba(16, 24, 40, .10);
  backdrop-filter: blur(8px);
  pointer-events: none;
}

@media (max-width: 991.98px){
  #product-category .zoomag-products-grid{
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  }

  #product-category .product-thumb .image{
    height: 214px !important;
  }
}

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

  #product-category .product-thumb .image{
    height: 184px !important;
    padding: 4px !important;
  }

  #product-category .product-thumb .image::after,
  #product-category .zoomag-subcategory-image::after,
  #product-category .zoomag-category-icon::after{
    right: 8px;
    bottom: 8px;
    font-size: 10px;
    padding: 3px 7px;
  }
}

/* =========================================================
   ZooMag native OpenCart category layout fix — 2026-04-25
   This is intentionally placed in already loaded zm-category-unified-fix.css
   so OpenCart/theme cache is less likely to ignore it.
   ========================================================= */

:root{
  --zm-cat-max: 1760px;
  --zm-cat-left: 330px;
  --zm-cat-right: 335px;
  --zm-cat-gap: 22px;
  --zm-card-min: 218px;
}

/* The old rule above limited the whole page to 1320px.
   That is why the center product area stayed narrow. */
#product-category.zoomag-category-page,
#product-category.zoomag-category-page.zm-category-native-layout{
  max-width: var(--zm-cat-max) !important;
  width: min(calc(100vw - 28px), var(--zm-cat-max)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* Use a native 3-column layout: categories / products / filter. */
#product-category .zm-category-native-grid,
#product-category > .row.g-4{
  display: grid !important;
  grid-template-columns: minmax(270px, var(--zm-cat-left)) minmax(0, 1fr) minmax(300px, var(--zm-cat-right)) !important;
  gap: var(--zm-cat-gap) !important;
  align-items: start !important;
  --bs-gutter-x: 0 !important;
  --bs-gutter-y: 0 !important;
}

/* Reset Bootstrap columns inside this custom grid. */
#product-category .zm-category-native-grid > *,
#product-category > .row.g-4 > *{
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#product-category #column-left{
  grid-column: 1 !important;
  width: 100% !important;
  max-width: var(--zm-cat-left) !important;
  display: block !important;
}

#product-category #content.zoomag-category-content,
#product-category #content{
  grid-column: 2 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
}

#product-category #column-right{
  grid-column: 3 !important;
  width: 100% !important;
  max-width: var(--zm-cat-right) !important;
  min-width: 0 !important;
  display: block !important;
  position: sticky !important;
  top: 18px !important;
  align-self: start !important;
  max-height: calc(100vh - 36px) !important;
  overflow: hidden !important;
}

/* Keep the filter as one readable card, not two pieces. */
#product-category #column-right > *{
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

#product-category #column-right .card,
#product-category #column-right .ocfilter,
#product-category #column-right .box,
#product-category #column-right .filter-panel,
#product-category #column-right .module-filter{
  max-height: calc(100vh - 36px) !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 22px !important;
}

#product-category #column-right .card-body,
#product-category #column-right .box-content,
#product-category #column-right .panel-body,
#product-category #column-right .ocfilter-content,
#product-category #column-right .ocf-filter{
  overflow: auto !important;
  min-height: 0 !important;
}

/* Product controls and grid use the full center column. */
#product-category .zoomag-controls-panel,
#product-category .zoomag-products-footer,
#product-category .zoomag-products-container,
#product-category .zoomag-products-grid{
  width: 100% !important;
  max-width: none !important;
}

#product-category .zoomag-products-grid{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(var(--zm-card-min), 1fr)) !important;
  gap: 20px !important;
  margin: 24px 0 !important;
}

#product-category .zoomag-product-item{
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 410px !important;
}

#product-category .product-thumb{
  min-width: 0 !important;
}

#product-category .product-thumb .button-group,
#product-category .product-thumb .product-action{
  display: flex !important;
  gap: 7px !important;
  flex-wrap: nowrap !important;
}

#product-category .product-thumb .button-group .btn,
#product-category .product-thumb .button-group button,
#product-category .product-thumb .button-group a{
  min-width: 0 !important;
  white-space: nowrap !important;
}

/* Wider desktop: 4 cards can fit naturally. */
@media (min-width: 1680px){
  :root{
    --zm-cat-max: 1880px;
    --zm-cat-left: 335px;
    --zm-cat-right: 340px;
    --zm-card-min: 220px;
  }
}

/* Common laptop width: keep 3 columns but reduce sidebars. */
@media (max-width: 1500px){
  :root{
    --zm-cat-left: 300px;
    --zm-cat-right: 310px;
    --zm-cat-gap: 18px;
    --zm-card-min: 205px;
  }
}

/* If screen becomes too narrow, put filter above products instead of crushing cards. */
@media (max-width: 1240px){
  #product-category .zm-category-native-grid,
  #product-category > .row.g-4{
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr) !important;
  }

  #product-category #column-left{
    grid-column: 1 !important;
  }

  #product-category #content{
    grid-column: 2 !important;
  }

  #product-category #column-right{
    grid-column: 1 / -1 !important;
    position: static !important;
    max-width: none !important;
    max-height: none !important;
    order: -1 !important;
  }
}

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

  #product-category #column-left,
  #product-category #content,
  #product-category #column-right{
    grid-column: 1 !important;
    max-width: none !important;
  }

  #product-category .zoomag-products-grid{
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important;
  }
}
/* ZooMag final clean category list/grid restore — v2026-04-26 clean7 */

#product-list.zm-final-grid,
body.zm-final-grid-mode #product-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

#product-list.zm-final-list,
body.zm-final-list-mode #product-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
}

#product-list .zoomag-product-item {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* GRID */
#product-list.zm-final-grid .zoomag-product-item,
body.zm-final-grid-mode #product-list .zoomag-product-item {
  display: block !important;
  min-height: 0 !important;
}

#product-list.zm-final-grid .petz-product-card,
body.zm-final-grid-mode #product-list .petz-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: 410px !important;
  min-height: 410px !important;
  width: 100% !important;
  border-radius: 18px !important;
  overflow: hidden !important;
}

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

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

#product-list.zm-final-grid .petz-product-image,
body.zm-final-grid-mode #product-list .petz-product-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

/* LIST — clean horizontal card */
#product-list.zm-final-list .zoomag-product-item,
body.zm-final-list-mode #product-list .zoomag-product-item {
  display: block !important;
  min-height: 0 !important;
}

#product-list.zm-final-list .petz-product-card,
body.zm-final-list-mode #product-list .petz-product-card {
  display: grid !important;
  grid-template-columns: 220px minmax(0, 1fr) !important;
  gap: 22px !important;
  width: 100% !important;
  height: auto !important;
  min-height: 230px !important;
  padding: 14px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
}

#product-list.zm-final-list .petz-image-section,
body.zm-final-list-mode #product-list .petz-image-section {
  width: 220px !important;
  height: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  padding: 0 !important;
  align-self: center !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

#product-list.zm-final-list .petz-image-link,
#product-list.zm-final-list .petz-image-container,
body.zm-final-list-mode #product-list .petz-image-link,
body.zm-final-list-mode #product-list .petz-image-container {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

#product-list.zm-final-list .petz-product-image,
body.zm-final-list-mode #product-list .petz-product-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}

#product-list.zm-final-list .petz-content-section,
body.zm-final-list-mode #product-list .petz-content-section {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 230px !important;
  grid-template-areas:
    "header price"
    "features actions" !important;
  column-gap: 22px !important;
  row-gap: 10px !important;
  min-width: 0 !important;
  padding: 4px 2px !important;
  align-items: start !important;
}

#product-list.zm-final-list .petz-header,
body.zm-final-list-mode #product-list .petz-header { grid-area: header !important; min-width: 0 !important; }
#product-list.zm-final-list .petz-features,
body.zm-final-list-mode #product-list .petz-features { grid-area: features !important; display: flex !important; flex-wrap: wrap !important; gap: 8px !important; max-height: 78px !important; overflow: hidden !important; }
#product-list.zm-final-list .petz-pricing-section,
body.zm-final-list-mode #product-list .petz-pricing-section { grid-area: price !important; justify-self: end !important; text-align: right !important; min-width: 180px !important; }
#product-list.zm-final-list .petz-actions-section,
body.zm-final-list-mode #product-list .petz-actions-section { grid-area: actions !important; align-self: end !important; justify-self: stretch !important; }

#product-list.zm-final-list .petz-product-name a,
body.zm-final-list-mode #product-list .petz-product-name a {
  font-size: 18px !important;
  line-height: 1.35 !important;
  -webkit-line-clamp: 3 !important;
}

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

#product-list.zm-final-list .petz-action-buttons,
body.zm-final-list-mode #product-list .petz-action-buttons {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
}

#product-list.zm-final-list .petz-cart-btn,
body.zm-final-list-mode #product-list .petz-cart-btn {
  min-height: 46px !important;
  width: 100% !important;
  border-radius: 12px !important;
}

#product-list.zm-final-list .petz-secondary-actions,
body.zm-final-list-mode #product-list .petz-secondary-actions {
  display: flex !important;
  gap: 8px !important;
}

#product-list.zm-final-list .petz-secondary-actions .petz-btn,
body.zm-final-list-mode #product-list .petz-secondary-actions .petz-btn {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  border-radius: 12px !important;
}

#product-list.zm-final-list .petz-decoration,
body.zm-final-list-mode #product-list .petz-decoration { display: none !important; }

#button-grid.zoomag-view-active,
#button-list.zoomag-view-active,
#button-grid.active,
#button-list.active {
  opacity: 1;
}

/* Remove variant helper note if a cached template still outputs it */
.zoohub-variant-switches__note,
[data-zm-variant-status] { display: none !important; }

@media (max-width: 1199px) {
  #product-list.zm-final-list .petz-product-card,
  body.zm-final-list-mode #product-list .petz-product-card { grid-template-columns: 190px minmax(0, 1fr) !important; }
  #product-list.zm-final-list .petz-image-section,
  body.zm-final-list-mode #product-list .petz-image-section { width: 190px !important; height: 190px !important; min-width: 190px !important; max-width: 190px !important; }
  #product-list.zm-final-list .petz-content-section,
  body.zm-final-list-mode #product-list .petz-content-section { grid-template-columns: 1fr !important; grid-template-areas: "header" "price" "features" "actions" !important; }
  #product-list.zm-final-list .petz-pricing-section,
  body.zm-final-list-mode #product-list .petz-pricing-section { justify-self: start !important; text-align: left !important; }
}

@media (max-width: 767px) {
  #product-list.zm-final-list .petz-product-card,
  body.zm-final-list-mode #product-list .petz-product-card { display: flex !important; flex-direction: column !important; padding: 12px !important; }
  #product-list.zm-final-list .petz-image-section,
  body.zm-final-list-mode #product-list .petz-image-section { width: 100% !important; max-width: none !important; min-width: 0 !important; height: 190px !important; }
  #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-list { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)) !important; gap: 14px !important; }
}
/* ZooMag R11: accessible category description above products, without the obsolete intro card. */
.zm-category-description-r11 {
  scroll-margin-top: 120px;
}

/* R11: the full category description is rendered before subcategories/products. */
.zm-category-description-top-r11 {
  margin: 0 0 clamp(1.25rem, 3vw, 2rem);
}

/*
 * Override both legacy max-height:0 and active max-height:5000px rules until
 * the controller is initialised. The !important is deliberately scoped to
 * the no-JS state and stops applying as soon as data-zm-ready is present.
 */
.zm-category-description-r11:not([data-zm-ready="1"]) .zoomag-accordion-item .zoomag-accordion-content {
  max-height: none !important;
  overflow: visible !important;
  opacity: 1;
  visibility: visible;
}

/* JavaScript adds data-zm-ready only after all required controls are available. */
.zm-category-description-r11[data-zm-ready="1"] .zoomag-accordion-content {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transition:
    max-height .45s cubic-bezier(.4, 0, .2, 1),
    opacity .24s ease,
    visibility 0s linear .45s;
  will-change: max-height;
}

.zm-category-description-r11[data-zm-ready="1"] .zoomag-accordion-item.active .zoomag-accordion-content {
  opacity: 1;
  visibility: visible;
  transition:
    max-height .45s cubic-bezier(.4, 0, .2, 1),
    opacity .24s ease,
    visibility 0s linear 0s;
}

.zm-category-description-r11[data-zm-ready="1"] .zoomag-accordion-content[data-zm-open="1"] {
  overflow: visible;
}

.zm-category-description-r11 .zoomag-accordion-header[aria-expanded="true"] .zoomag-accordion-arrow {
  transform: rotate(180deg);
  color: #ff6b6b;
}

.zm-category-description-r11 .zoomag-accordion-collapse-btn {
  min-height: 44px;
}

@media (max-width: 767px) {
  .zm-category-description-r11 {
    scroll-margin-top: 88px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .zm-category-description-r11[data-zm-ready="1"] .zoomag-accordion-content,
  .zm-category-description-r11 .zoomag-accordion-arrow {
    transition-duration: 1ms !important;
  }
}
/* ZooMag r25: actual category brands and taxonomy navigation. */
.zm-category-brands {
  margin: 28px 0 34px;
  padding: 24px;
  border: 1px solid rgba(42, 104, 81, .14);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(247, 252, 249, .98), rgba(255, 255, 255, .98));
  box-shadow: 0 14px 38px rgba(31, 84, 65, .08);
}

.zm-category-brands__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.zm-category-brands__eyebrow {
  margin: 0 0 4px;
  color: #548171;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.zm-category-brands__title {
  margin: 0;
  color: #173f31;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 800;
}

.zm-category-brands__hint {
  color: #6c7d76;
  font-size: 13px;
  text-align: right;
}

.zm-category-brands__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.zm-category-brand {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) 20px;
  align-items: center;
  min-height: 88px;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(37, 95, 73, .12);
  border-radius: 18px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.zm-category-brand:hover,
.zm-category-brand:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(37, 119, 87, .34);
  box-shadow: 0 10px 24px rgba(34, 91, 70, .12);
  color: inherit;
}

.zm-category-brand__visual {
  display: grid;
  place-items: center;
  width: 72px;
  height: 58px;
  overflow: hidden;
  border-radius: 12px;
  background: #f7faf8;
}

.zm-category-brand__visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 6px;
}

.zm-category-brand__monogram {
  color: #34775f;
  font-size: 20px;
  font-weight: 900;
}

.zm-category-brand__body {
  min-width: 0;
}

.zm-category-brand__name,
.zm-category-brand__count {
  display: block;
}

.zm-category-brand__name {
  overflow: hidden;
  color: #1f4638;
  font-size: 14px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.zm-category-brand__count {
  margin-top: 5px;
  color: #708079;
  font-size: 12px;
}

.zm-category-brand__arrow {
  color: #62a78b;
  font-size: 13px;
  transition: transform .18s ease;
}

.zm-category-brand:hover .zm-category-brand__arrow,
.zm-category-brand:focus-visible .zm-category-brand__arrow {
  transform: translateX(3px);
}

@media (max-width: 1199px) {
  .zm-category-brands__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .zm-category-brands { padding: 18px; border-radius: 18px; }
  .zm-category-brands__head { align-items: start; flex-direction: column; }
  .zm-category-brands__hint { text-align: left; }
  .zm-category-brands__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zm-category-brand { grid-template-columns: 58px minmax(0, 1fr) 16px; min-height: 76px; }
  .zm-category-brand__visual { width: 58px; height: 50px; }
}

@media (max-width: 479px) {
  .zm-category-brands__grid { grid-template-columns: 1fr; }
}
/* ZooMag R26 — category/filter/card proportional balance. */

#product-category.zoomag-category-page {
  width: min(calc(100vw - 28px), 1560px) !important;
  max-width: 1560px !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}

/* Balanced 3-column desktop: navigation / products / filter. */
@media (min-width: 1200px) {
  #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 240px minmax(0, 1fr) 290px !important;
    gap: 18px !important;
    align-items: start !important;
  }

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

  #product-category #column-right {
    max-width: 290px !important;
    position: sticky !important;
    top: 18px !important;
    align-self: start !important;
  }
}

/* Laptop: navigation and filter share one sidebar instead of crushing products. */
@media (min-width: 992px) and (max-width: 1199.98px) {
  #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    grid-template-rows: auto auto 1fr !important;
    gap: 16px !important;
    align-items: start !important;
  }

  #product-category #column-left {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 250px !important;
  }

  #product-category #column-right {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 250px !important;
    position: static !important;
    max-height: none !important;
  }

  #product-category #content {
    grid-column: 2 !important;
    grid-row: 1 / span 3 !important;
  }
}

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

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

  #product-category #column-left { order: 0 !important; }
  #product-category #column-right {
    order: 1 !important;
    position: static !important;
    max-height: none !important;
    overflow: visible !important;
  }
  #product-category #content { order: 2 !important; }
}

/* Product grid uses fewer but readable columns. */
#product-category .zoomag-products-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

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

/* Fix the fundamental card contradiction: fixed 380px card + square image. */
#product-category .petz-product-card {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
}

#product-category .petz-image-section {
  height: 210px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  padding: 10px 10px 0 !important;
}

#product-category .petz-image-link,
#product-category .petz-image-container {
  height: 100% !important;
  aspect-ratio: auto !important;
}

#product-category .petz-product-image {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center !important;
}

#product-category .petz-content-section {
  min-height: 0 !important;
  height: auto !important;
}

#product-category .petz-product-name {
  min-height: 3.45em !important;
  height: auto !important;
  align-items: flex-start !important;
}

#product-category .petz-product-name a {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere !important;
}

#product-category .petz-features {
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

#product-category .petz-feature span,
#product-category .petz-btn-text,
#product-category .petz-quantity-control label,
#product-category .petz-price-main,
#product-category .petz-special-price {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#product-category .petz-quantity-control,
#product-category .petz-action-buttons {
  min-width: 0 !important;
  max-width: 100% !important;
  flex-wrap: wrap !important;
}

#product-category .petz-quantity-selector {
  margin-left: auto !important;
}

@media (max-width: 1199.98px) {
  #product-category .zoomag-products-grid {
    grid-template-columns: repeat(auto-fill, minmax(225px, 1fr)) !important;
  }

  #product-category .petz-image-section {
    height: 200px !important;
  }
}

@media (max-width: 767.98px) {
  #product-category.zoomag-category-page {
    width: calc(100vw - 20px) !important;
  }

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

  #product-category .petz-image-section {
    height: clamp(160px, 38vw, 195px) !important;
  }

  #product-category .petz-content-section {
    padding: 10px !important;
  }
}

@media (max-width: 460px) {
  #product-category .zoomag-products-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  #product-category .petz-image-section {
    height: 220px !important;
  }
}

/* Category header / controls must wrap instead of overflowing. */
#product-category :is(
  .zoomag-category-title,
  .zoomag-products-count,
  .zoomag-stats-subtitle,
  .zoomag-compare-text,
  .zoomag-select-label,
  .zoomag-results-text,
  .zoomag-subcategory-name,
  .zm-subcategory-caption
) {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

#product-category .zoomag-controls-panel .row,
#product-category .zoomag-controls-panel .row > * {
  min-width: 0 !important;
}

#product-category .zoomag-controls-panel .row.g-3 {
  flex-wrap: wrap !important;
  row-gap: 10px !important;
}

#product-category .zoomag-select-group,
#product-category .zoomag-select-wrapper,
#product-category .zoomag-select {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Brand cards: two readable lines instead of hard ellipsis. */
#product-category .zm-category-brand__name {
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-height: 1.2 !important;
}

#product-category .zm-category-brand {
  height: auto !important;
  min-height: 86px !important;
}

@media (max-width: 767.98px) {
  #product-category .zm-category-brands__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  #product-category .zm-category-brands__grid {
    grid-template-columns: 1fr !important;
  }
}

/* Filter: long attribute/brand names remain readable. */
#product-category .zoomag-filter-sidebar-container,
#product-category .zoomag-filter-sidebar,
#product-category .zoomag-filter-panel {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

#product-category .zoomag-group-toggle-compact,
#product-category .zoomag-filter-label-compact {
  height: auto !important;
  min-height: 42px !important;
  align-items: center !important;
}

#product-category .zoomag-group-name,
#product-category .zoomag-filter-text-compact,
#product-category .zoomag-brand-line-name {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  line-height: 1.25 !important;
}

#product-category .zoomag-filter-count-compact,
#product-category .zoomag-selected-count-badge {
  flex: 0 0 auto !important;
}
/* ZooMag mobile category/cards/filter hard fix v3 — 2026-05-19
   Loaded near the end of category.twig to override product card CSS emitted by thumb.twig. */

#product-category #content,
#product-category #column-left,
#product-category #column-right {
  padding-bottom: 0 !important;
}

#product-category .zoomag-filter-sidebar-container,
#product-category .zoomag-filter-sidebar,
#product-category .zoomag-filter-panel,
#product-category .zoomag-filter-header,
#product-category .zoomag-filter-controls,
#product-category .zoomag-filter-accordion-compact,
#product-category .zoomag-filter-footer {
  box-sizing: border-box !important;
}

@media (max-width: 991.98px) {
  html.zoomag-filter-focus-mode,
  html.zoomag-filter-focus-mode body,
  body.zoomag-filter-focus-mode {
    overflow: auto !important;
  }

  .zoomag-filter-focus-backdrop,
  .zoomag-filter-focus-backdrop.is-visible {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }

  #product-category.zoomag-category-page,
  #product-category {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 8px !important;
    padding-right: 8px !important;
    overflow-x: hidden !important;
  }

  #product-category > .row.g-4,
  #product-category .zm-category-native-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  #product-category #column-left,
  #product-category #column-right,
  #product-category #content,
  #product-category #content.zoomag-category-content {
    grid-column: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 0 !important;
    margin: 0 !important;
    position: static !important;
    top: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  #product-category #column-right:empty,
  #product-category #column-left:empty {
    display: none !important;
  }

  #product-category .zoomag-filter-sidebar-container,
  body > .zoomag-filter-sidebar-container {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    z-index: auto !important;
    transform: none !important;
    animation: none !important;
  }

  #product-category .zoomag-filter-sidebar-container.is-focus-open,
  body > .zoomag-filter-sidebar-container.is-focus-open {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 0 12px !important;
    z-index: auto !important;
  }

  #product-category .zoomag-filter-sidebar,
  body > .zoomag-filter-sidebar-container .zoomag-filter-sidebar {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08) !important;
  }

  #product-category .zoomag-filter-header,
  body > .zoomag-filter-sidebar-container .zoomag-filter-header {
    padding: 11px 12px !important;
    border-bottom: 0 !important;
  }

  #product-category .zoomag-header-content,
  body > .zoomag-filter-sidebar-container .zoomag-header-content {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 8px !important;
  }

  #product-category .zoomag-header-kicker,
  body > .zoomag-filter-sidebar-container .zoomag-header-kicker,
  #product-category .zoomag-header-meta,
  body > .zoomag-filter-sidebar-container .zoomag-header-meta,
  #product-category .zoomag-filter-focus-close,
  body > .zoomag-filter-sidebar-container .zoomag-filter-focus-close {
    display: none !important;
  }

  #product-category .zoomag-header-title,
  body > .zoomag-filter-sidebar-container .zoomag-header-title {
    margin: 0 !important;
    font-size: 17px !important;
    line-height: 1.15 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  #product-category .zoomag-mobile-toggle,
  body > .zoomag-filter-sidebar-container .zoomag-mobile-toggle {
    display: inline-flex !important;
    width: auto !important;
    min-width: 112px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 13px !important;
    justify-content: center !important;
    align-items: center !important;
    border-radius: 999px !important;
    font-size: 13px !important;
    color: #7f1d1d !important;
    background: #fff !important;
    border: 1px solid rgba(127, 29, 29, .18) !important;
  }

  #product-category .zoomag-filter-panel,
  body > .zoomag-filter-sidebar-container .zoomag-filter-panel {
    display: none !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    border-top: 1px solid rgba(148, 163, 184, .16) !important;
  }

  #product-category .zoomag-filter-panel.is-open,
  body > .zoomag-filter-sidebar-container .zoomag-filter-panel.is-open {
    display: flex !important;
  }

  #product-category .zoomag-filter-controls,
  body > .zoomag-filter-sidebar-container .zoomag-filter-controls {
    padding: 10px 12px 8px !important;
  }

  #product-category .zoomag-active-filters-compact,
  body > .zoomag-filter-sidebar-container .zoomag-active-filters-compact {
    max-height: 74px !important;
    overflow: auto !important;
  }

  #product-category .zoomag-filter-accordion-compact,
  body > .zoomag-filter-sidebar-container .zoomag-filter-accordion-compact {
    flex: 0 1 auto !important;
    max-height: 58vh !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 9px 12px 12px !important;
  }

  #product-category .zoomag-group-content-compact,
  body > .zoomag-filter-sidebar-container .zoomag-group-content-compact {
    overflow: hidden !important;
  }

  #product-category .zoomag-filter-options-compact,
  body > .zoomag-filter-sidebar-container .zoomag-filter-options-compact {
    max-height: 260px !important;
    overflow: auto !important;
  }

  #product-category .zoomag-filter-footer,
  body > .zoomag-filter-sidebar-container .zoomag-filter-footer {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 10px 12px 12px !important;
    position: sticky !important;
    bottom: 0 !important;
  }

  #product-category .zoomag-btn,
  body > .zoomag-filter-sidebar-container .zoomag-btn {
    min-height: 40px !important;
    font-size: 12px !important;
  }

  #product-category .zoomag-controls-panel {
    width: 100% !important;
    padding: 12px !important;
    margin: 12px 0 !important;
    border-radius: 18px !important;
  }

  #product-category .zoomag-controls-panel > .row,
  #product-category .zoomag-controls-panel .row.g-3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
  }

  #product-category .zoomag-controls-panel [class*="col-"] {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
  }

  #product-category .zoomag-compare-btn,
  #product-category .zoomag-view-toggle,
  #product-category .zoomag-select-group,
  #product-category .zoomag-select-wrapper,
  #product-category .zoomag-select {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 767.98px) {
  #product-category .zoomag-products-container,
  #product-category .zoomag-products-grid,
  #product-category #product-list,
  #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-list,
  #product-list.zm-final-list,
  body.zm-final-list-mode #product-list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    margin: 14px 0 !important;
  }

  #product-category .zoomag-product-item,
  #product-list .zoomag-product-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  #product-category .petz-product-card,
  #product-list .petz-product-card,
  body.zm-final-grid-mode #product-list .petz-product-card,
  body.zm-final-list-mode #product-list .petz-product-card {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
  }

  #product-category .petz-image-section,
  #product-list .petz-image-section,
  body.zm-final-grid-mode #product-list .petz-image-section,
  body.zm-final-list-mode #product-list .petz-image-section {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: 245px !important;
    flex: 0 0 auto !important;
    aspect-ratio: 1 / 1 !important;
    padding: 10px 10px 0 !important;
  }

  #product-category .petz-image-link,
  #product-category .petz-image-container,
  #product-list .petz-image-link,
  #product-list .petz-image-container {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
  }

  #product-category .petz-content-section,
  #product-list .petz-content-section,
  body.zm-final-list-mode #product-list .petz-content-section,
  body.zm-final-grid-mode #product-list .petz-content-section {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 12px !important;
  }

  #product-category .petz-product-name,
  #product-list .petz-product-name {
    margin: 0 !important;
  }

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

  #product-category .petz-category,
  #product-category .petz-features,
  #product-list .petz-category,
  #product-list .petz-features {
    max-height: 56px !important;
    overflow: hidden !important;
  }

  #product-category .petz-pricing-section,
  #product-list .petz-pricing-section,
  body.zm-final-list-mode #product-list .petz-pricing-section {
    justify-self: stretch !important;
    text-align: left !important;
    min-width: 0 !important;
    width: 100% !important;
  }

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

  #product-category .petz-actions-section,
  #product-list .petz-actions-section {
    width: 100% !important;
    margin-top: auto !important;
  }

  #product-category .petz-quantity-control,
  #product-list .petz-quantity-control {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #product-category .petz-quantity-control label,
  #product-list .petz-quantity-control label {
    margin: 0 !important;
    white-space: nowrap !important;
    font-size: 12px !important;
  }

  #product-category .petz-quantity-selector,
  #product-list .petz-quantity-selector {
    justify-self: end !important;
  }

  #product-category .petz-action-buttons,
  #product-list .petz-action-buttons,
  body.zm-final-list-mode #product-list .petz-action-buttons,
  body.zm-final-grid-mode #product-list .petz-action-buttons {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 98px !important;
    gap: 8px !important;
    align-items: center !important;
    width: 100% !important;
  }

  #product-category .petz-cart-btn,
  #product-list .petz-cart-btn,
  body.zm-final-list-mode #product-list .petz-cart-btn,
  body.zm-final-grid-mode #product-list .petz-cart-btn {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
  }

  #product-category .petz-secondary-actions,
  #product-list .petz-secondary-actions,
  body.zm-final-list-mode #product-list .petz-secondary-actions,
  body.zm-final-grid-mode #product-list .petz-secondary-actions {
    display: grid !important;
    grid-template-columns: repeat(2, 45px) !important;
    gap: 8px !important;
    width: 98px !important;
    min-width: 98px !important;
    justify-content: end !important;
  }

  #product-category .petz-secondary-actions .petz-btn,
  #product-category .petz-secondary-actions .petz-btn-secondary,
  #product-list .petz-secondary-actions .petz-btn,
  #product-list .petz-secondary-actions .petz-btn-secondary,
  body.zm-final-list-mode #product-list .petz-secondary-actions .petz-btn,
  body.zm-final-grid-mode #product-list .petz-secondary-actions .petz-btn {
    width: 45px !important;
    min-width: 45px !important;
    max-width: 45px !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
    border-radius: 12px !important;
    padding: 0 !important;
    font-size: 15px !important;
  }

  #product-category .zoomag-products-footer .row {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  #product-category .zoomag-products-footer [class*="col-"] {
    width: 100% !important;
    padding: 0 !important;
  }
}

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

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

  #product-category .petz-secondary-actions .petz-btn,
  #product-category .petz-secondary-actions .petz-btn-secondary,
  #product-list .petz-secondary-actions .petz-btn,
  #product-list .petz-secondary-actions .petz-btn-secondary {
    width: 100% !important;
    max-width: none !important;
  }
}

.zoomag-mobile-action-toast {
  position: fixed;
  left: 12px;
  right: 12px;
  top: 12px;
  z-index: 2147483647;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(15, 23, 42, .94);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  box-shadow: 0 18px 45px rgba(15, 23, 42, .28);
  opacity: 0;
  transform: translateY(-12px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.zoomag-mobile-action-toast.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.zoomag-mobile-action-toast__icon {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
/* ZooMag adaptive product action buttons fix v4 — 2026-05-19
   Only adaptive category cards. Moves wishlist/compare to a clean row under Add to cart. */

@media (max-width: 767.98px) {
  #product-category .petz-action-buttons,
  #product-list .petz-action-buttons,
  body.zm-final-list-mode #product-list .petz-action-buttons,
  body.zm-final-grid-mode #product-list .petz-action-buttons {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    width: 100% !important;
    align-items: stretch !important;
  }

  #product-category .petz-cart-btn,
  #product-list .petz-cart-btn,
  body.zm-final-list-mode #product-list .petz-cart-btn,
  body.zm-final-grid-mode #product-list .petz-cart-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    max-height: 44px !important;
  }

  #product-category .petz-secondary-actions,
  #product-list .petz-secondary-actions,
  body.zm-final-list-mode #product-list .petz-secondary-actions,
  body.zm-final-grid-mode #product-list .petz-secondary-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    justify-content: stretch !important;
    align-items: stretch !important;
  }

  #product-category .petz-secondary-actions .petz-btn,
  #product-category .petz-secondary-actions .petz-btn-secondary,
  #product-list .petz-secondary-actions .petz-btn,
  #product-list .petz-secondary-actions .petz-btn-secondary,
  body.zm-final-list-mode #product-list .petz-secondary-actions .petz-btn,
  body.zm-final-grid-mode #product-list .petz-secondary-actions .petz-btn {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 42px !important;
    min-height: 42px !important;
    max-height: 42px !important;
    padding: 0 8px !important;
    border-radius: 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 7px !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }

  #product-category .petz-secondary-actions .petz-btn i,
  #product-list .petz-secondary-actions .petz-btn i {
    flex: 0 0 auto !important;
    font-size: 14px !important;
    line-height: 1 !important;
  }

  #product-category .petz-wishlist-btn::after,
  #product-list .petz-wishlist-btn::after {
    content: "Избранное" !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }

  #product-category .petz-compare-btn::after,
  #product-list .petz-compare-btn::after {
    content: "Сравнить" !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 360px) {
  #product-category .petz-secondary-actions .petz-btn,
  #product-category .petz-secondary-actions .petz-btn-secondary,
  #product-list .petz-secondary-actions .petz-btn,
  #product-list .petz-secondary-actions .petz-btn-secondary {
    gap: 5px !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
  }

  #product-category .petz-wishlist-btn::after,
  #product-list .petz-wishlist-btn::after,
  #product-category .petz-compare-btn::after,
  #product-list .petz-compare-btn::after {
    font-size: 11px !important;
  }
}
/* ZooMag r29.5 — definitive proportional catalogue layout.
   IMPORTANT: loaded LAST in category.twig so legacy Catalogs/Category-tovars/R26 cannot override it.
   Product detail pages are intentionally out of scope. */

/* ---------- DESKTOP CANVAS ---------- */
@media (min-width: 1600px) {
  body #product-category.zoomag-category-page {
    box-sizing: border-box !important;
    width: min(calc(100vw - 40px), 1980px) !important;
    max-width: 1980px !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
  }

  body #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 260px minmax(0, 1fr) 320px !important;
    grid-template-areas: "zm-nav zm-main zm-filter" !important;
    column-gap: 22px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  body #product-category #column-left {
    grid-area: zm-nav !important;
    width: 260px !important;
    min-width: 260px !important;
    max-width: 260px !important;
    padding: 0 !important;
  }

  body #product-category #content.zoomag-category-content,
  body #product-category #content {
    grid-area: zm-main !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
  }

  body #product-category #column-right {
    grid-area: zm-filter !important;
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
    padding: 0 !important;
  }

  /* Always four comfortable cards on wide desktop. Never shrink them to five columns. */
  body.zm-final-grid-mode #product-category #product-list,
  body #product-category #product-list.zm-final-grid,
  body #product-category #product-list.zoomag-products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 22px 0 26px !important;
    align-items: stretch !important;
  }
}

/* ---------- NORMAL DESKTOP ---------- */
@media (min-width: 1400px) and (max-width: 1599.98px) {
  body #product-category.zoomag-category-page {
    width: calc(100vw - 28px) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 10px !important;
  }

  body #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 235px minmax(0, 1fr) 290px !important;
    grid-template-areas: "zm-nav zm-main zm-filter" !important;
    gap: 18px !important;
    margin: 0 !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  body #product-category #column-left { grid-area: zm-nav !important; width:235px !important; min-width:235px !important; max-width:235px !important; padding:0 !important; }
  body #product-category #content { grid-area: zm-main !important; width:100% !important; min-width:0 !important; max-width:none !important; padding:0 !important; }
  body #product-category #column-right { grid-area: zm-filter !important; width:290px !important; min-width:290px !important; max-width:290px !important; padding:0 !important; }

  body.zm-final-grid-mode #product-category #product-list,
  body #product-category #product-list.zm-final-grid,
  body #product-category #product-list.zoomag-products-grid {
    display:grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap:18px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  body #product-category.zoomag-category-page {
    width: calc(100vw - 22px) !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 8px !important;
  }

  body #product-category > .row.g-4 {
    display:grid !important;
    grid-template-columns: 215px minmax(0,1fr) 270px !important;
    grid-template-areas:"zm-nav zm-main zm-filter" !important;
    gap:15px !important;
    margin:0 !important;
    --bs-gutter-x:0 !important;
    --bs-gutter-y:0 !important;
  }

  body #product-category #column-left { grid-area:zm-nav !important; width:215px !important; min-width:215px !important; max-width:215px !important; padding:0 !important; }
  body #product-category #content { grid-area:zm-main !important; width:100% !important; min-width:0 !important; max-width:none !important; padding:0 !important; }
  body #product-category #column-right { grid-area:zm-filter !important; width:270px !important; min-width:270px !important; max-width:270px !important; padding:0 !important; }

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

/* ---------- PRODUCT CARDS ---------- */
@media (min-width: 1200px) {
  body #product-category #product-list .zoomag-product-item {
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    min-height:0 !important;
    display:flex !important;
    margin:0 !important;
  }

  body #product-category #product-list .petz-product-card {
    display:flex !important;
    flex-direction:column !important;
    width:100% !important;
    max-width:none !important;
    height:100% !important;
    min-height:540px !important;
    margin:0 !important;
    border-radius:22px !important;
    border:1px solid rgba(58,54,78,.08) !important;
    background:linear-gradient(180deg,#fff 0%,#fffdf9 100%) !important;
    box-shadow:0 12px 28px rgba(60,43,82,.10) !important;
    overflow:hidden !important;
  }

  body #product-category #product-list .petz-image-section {
    width:100% !important;
    height:260px !important;
    flex:0 0 260px !important;
    min-height:260px !important;
    max-height:260px !important;
    padding:13px 13px 0 !important;
    aspect-ratio:auto !important;
  }

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

  body #product-category #product-list .petz-product-image {
    width:100% !important;
    height:100% !important;
    padding:10px !important;
    object-fit:contain !important;
  }

  body #product-category #product-list .petz-content-section {
    display:flex !important;
    flex-direction:column !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    padding:15px 16px 16px !important;
    gap:10px !important;
  }

  body #product-category #product-list .petz-product-name {
    min-height:3.75em !important;
    margin:0 !important;
  }

  body #product-category #product-list .petz-product-name a {
    display:-webkit-box !important;
    -webkit-box-orient:vertical !important;
    -webkit-line-clamp:3 !important;
    overflow:hidden !important;
    font-size:16px !important;
    line-height:1.25 !important;
    font-weight:750 !important;
    color:#2d2933 !important;
  }

  body #product-category #product-list .petz-price-main,
  body #product-category #product-list .petz-special-price {
    font-size:25px !important;
    line-height:1.05 !important;
    font-weight:850 !important;
  }

  body #product-category #product-list .petz-old-price { font-size:14px !important; }
  body #product-category #product-list .petz-feature span { font-size:13px !important; line-height:1.25 !important; }

  body #product-category #product-list .petz-actions-section { margin-top:auto !important; }
  body #product-category #product-list .petz-quantity-control label { font-size:12px !important; font-weight:700 !important; }
  body #product-category #product-list .petz-qty-btn,
  body #product-category #product-list .petz-qty-input { height:36px !important; min-height:36px !important; }
  body #product-category #product-list .petz-btn.petz-btn-primary { min-height:46px !important; border-radius:13px !important; }
  body #product-category #product-list .petz-btn-text { font-size:14px !important; font-weight:800 !important; }
  body #product-category #product-list .petz-secondary-actions .petz-btn { width:42px !important; min-width:42px !important; height:42px !important; }
}

/* ---------- CATEGORY HERO / CONTROLS ---------- */
@media (min-width:1200px) {
  body #product-category .zoomag-category-header {
    margin:8px 0 14px !important;
    padding:24px 28px !important;
    min-height:112px !important;
    border-radius:22px !important;
  }

  body #product-category .zoomag-category-title {
    font-size:clamp(2rem,2.2vw,2.65rem) !important;
    line-height:1.08 !important;
    margin:0 !important;
  }

  body #product-category .zoomag-products-count,
  body #product-category .zoomag-stats-number { font-size:18px !important; }
  body #product-category .zoomag-stats-subtitle { font-size:12px !important; }

  body #product-category .zoomag-category-accordion { margin-bottom:10px !important; }
  body #product-category .zoomag-accordion-header { min-height:58px !important; padding:14px 18px !important; }
  body #product-category .zoomag-accordion-title { font-size:16px !important; font-weight:750 !important; }

  /* The decorative paw separator should not create a huge empty desert. */
  body #product-category .zoomag-divider { margin:12px 0 14px !important; }
  body #product-category .zoomag-paw-divider { gap:12px !important; font-size:1.05rem !important; opacity:.48 !important; }

  body #product-category .zoomag-controls-panel {
    margin:14px 0 18px !important;
    padding:15px 18px !important;
    min-height:76px !important;
    border-radius:18px !important;
  }

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

  body #product-category .zoomag-compare-btn { padding:9px 14px !important; }
  body #product-category .zoomag-view-btn { padding:9px 13px !important; }
  body #product-category .zoomag-select { padding-top:8px !important; padding-bottom:8px !important; }
}

/* ---------- LEFT NAV ---------- */
@media (min-width:1200px) {
  body #product-category .zm-sidebar-nav {
    width:100% !important;
    padding:17px !important;
    border-radius:21px !important;
  }
  body #product-category .zm-sidebar-nav__header { gap:10px !important; margin-bottom:12px !important; }
  body #product-category .zoomag-header-kicker { font-size:11px !important; letter-spacing:.09em !important; }
  body #product-category .zm-sidebar-nav__title { font-size:23px !important; line-height:1.08 !important; }
  body #product-category .zm-sidebar-tree { gap:8px !important; }
  body #product-category .zm-sidebar-link { min-height:50px !important; padding:9px 10px !important; gap:9px !important; border-radius:14px !important; }
  body #product-category .zm-sidebar-child-link { min-height:44px !important; padding:8px 9px !important; gap:8px !important; border-radius:12px !important; }
  body #product-category .zm-sidebar-icon { width:34px !important; height:34px !important; flex:0 0 34px !important; font-size:16px !important; }
  body #product-category .zm-sidebar-child-icon { width:30px !important; height:30px !important; flex:0 0 30px !important; font-size:14px !important; }
  body #product-category .zm-sidebar-name { font-size:14.5px !important; line-height:1.2 !important; word-break:normal !important; overflow-wrap:break-word !important; }
  body #product-category .zm-sidebar-child-name { font-size:13px !important; line-height:1.2 !important; word-break:normal !important; overflow-wrap:break-word !important; }
  body #product-category .zm-sidebar-count,
  body #product-category .zm-category-chip { min-width:29px !important; height:29px !important; min-height:29px !important; font-size:11px !important; }
}

/* ---------- RIGHT FILTER ---------- */
@media (min-width:1200px) {
  body #product-category .zoomag-filter-sidebar-container,
  body #product-category .zoomag-filter-sidebar {
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
  }

  body #product-category .zoomag-filter-sidebar {
    padding:17px !important;
    border-radius:21px !important;
  }

  body #product-category .zoomag-header-title { font-size:24px !important; line-height:1.08 !important; }
  body #product-category .zoomag-search-input { min-height:42px !important; font-size:13px !important; padding-left:36px !important; }
  body #product-category .zoomag-active-filters-placeholder,
  body #product-category .zoomag-clear-link,
  body #product-category .zoomag-summary-pill { font-size:12px !important; }

  body #product-category .zoomag-filter-group button,
  body #product-category .zoomag-filter-group-title,
  body #product-category .zoomag-filter-option label { font-size:13.5px !important; line-height:1.25 !important; }

  body #product-category #zoomag-button-filter,
  body #product-category #zoomag-button-clear,
  body #product-category .zoomag-filter-footer button { min-height:44px !important; font-size:13px !important; }
}

/* ---------- TABLET / MOBILE ---------- */
@media (min-width:768px) and (max-width:1199.98px) {
  body #product-category #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-category #product-list,
  body #product-category #product-list.zoomag-products-grid {
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
  }
}

@media (max-width:575.98px) {
  body #product-category #product-list.zm-final-grid,
  body.zm-final-grid-mode #product-category #product-list,
  body #product-category #product-list.zoomag-products-grid {
    grid-template-columns:minmax(0,1fr) !important;
  }
}
/* ZooMag r29.6 — comfort proportions for category navigation.
   Loaded after r29.5. Product detail pages are not affected. */

/* Wide desktop: navigation is a real navigation column, not a narrow strip. */
@media (min-width: 1800px) {
  body #product-category.zoomag-category-page {
    width: calc(100vw - 36px) !important;
    max-width: 2020px !important;
    margin: 0 auto !important;
    padding: 0 12px !important;
  }

  body #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 320px minmax(0, 1fr) 330px !important;
    grid-template-areas: "zm-nav zm-main zm-filter" !important;
    column-gap: 24px !important;
    row-gap: 0 !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  body #product-category #column-left {
    grid-area: zm-nav !important;
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
    padding: 0 !important;
  }

  body #product-category #content,
  body #product-category #content.zoomag-category-content {
    grid-area: zm-main !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 0 !important;
  }

  body #product-category #column-right {
    grid-area: zm-filter !important;
    width: 330px !important;
    min-width: 330px !important;
    max-width: 330px !important;
    padding: 0 !important;
  }

  body.zm-final-grid-mode #product-category #product-list,
  body #product-category #product-list.zm-final-grid,
  body #product-category #product-list.zoomag-products-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

/* Medium-wide desktop: three comfortable cards beat four cramped cards. */
@media (min-width: 1600px) and (max-width: 1799.98px) {
  body #product-category.zoomag-category-page {
    width: calc(100vw - 30px) !important;
    max-width: none !important;
    padding: 0 10px !important;
  }

  body #product-category > .row.g-4 {
    display: grid !important;
    grid-template-columns: 300px minmax(0, 1fr) 320px !important;
    grid-template-areas: "zm-nav zm-main zm-filter" !important;
    gap: 22px !important;
    margin: 0 !important;
    --bs-gutter-x: 0 !important;
    --bs-gutter-y: 0 !important;
  }

  body #product-category #column-left {
    grid-area: zm-nav !important;
    width: 300px !important;
    min-width: 300px !important;
    max-width: 300px !important;
    padding: 0 !important;
  }

  body #product-category #content {
    grid-area: zm-main !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 0 !important;
  }

  body #product-category #column-right {
    grid-area: zm-filter !important;
    width: 320px !important;
    min-width: 320px !important;
    max-width: 320px !important;
    padding: 0 !important;
  }

  body.zm-final-grid-mode #product-category #product-list,
  body #product-category #product-list.zm-final-grid,
  body #product-category #product-list.zoomag-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

@media (min-width: 1400px) and (max-width: 1599.98px) {
  body #product-category > .row.g-4 {
    grid-template-columns: 285px minmax(0, 1fr) 305px !important;
    gap: 19px !important;
  }

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

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

  body.zm-final-grid-mode #product-category #product-list,
  body #product-category #product-list.zm-final-grid,
  body #product-category #product-list.zoomag-products-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
  body #product-category > .row.g-4 {
    grid-template-columns: 260px minmax(0, 1fr) 285px !important;
    gap: 16px !important;
  }

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

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

/* Left navigation: larger tap targets and readable hierarchy. */
@media (min-width: 1200px) {
  body #product-category .zm-sidebar-nav {
    padding: 20px !important;
    border-radius: 22px !important;
  }

  body #product-category .zm-sidebar-nav__header {
    gap: 12px !important;
    margin-bottom: 16px !important;
  }

  body #product-category .zm-sidebar-nav__title {
    font-size: 26px !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
  }

  body #product-category .zoomag-header-kicker {
    font-size: 12px !important;
    letter-spacing: .09em !important;
  }

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

  body #product-category .zm-sidebar-link {
    min-height: 56px !important;
    padding: 10px 12px !important;
    gap: 11px !important;
    border-radius: 15px !important;
  }

  body #product-category .zm-sidebar-child-link {
    min-height: 48px !important;
    padding: 9px 11px !important;
    gap: 10px !important;
    border-radius: 13px !important;
  }

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

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

  body #product-category .zm-sidebar-name {
    font-size: 16px !important;
    line-height: 1.2 !important;
    font-weight: 750 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

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

  body #product-category .zm-sidebar-count,
  body #product-category .zm-category-chip {
    min-width: 32px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding-inline: 7px !important;
    font-size: 12px !important;
  }

  /* Right filter should feel equally substantial, not visually secondary. */
  body #product-category .zoomag-filter-sidebar {
    padding: 20px !important;
    border-radius: 22px !important;
  }

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

  body #product-category .zoomag-search-input {
    min-height: 46px !important;
    font-size: 14px !important;
  }

  body #product-category .zoomag-filter-group button,
  body #product-category .zoomag-filter-group-title,
  body #product-category .zoomag-filter-option label {
    font-size: 14.5px !important;
    line-height: 1.28 !important;
  }

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

/* R30 bundled: brand-line nested filter */
/* ZooMag r28 — brand -> product line nested filter */
.zoomag-filter-option-has-lines{padding-bottom:8px}
.zoomag-brand-line-accordion{margin:8px 0 3px 26px;border:1px solid rgba(85,201,193,.24);background:linear-gradient(180deg,#f7fffd,#fffaf6);box-shadow:inset 0 1px 0 rgba(255,255,255,.8)}
.zoomag-brand-line-toggle{min-height:38px;padding:0 11px 0 12px;color:#3d6b67;font-size:12.5px;letter-spacing:0}
.zoomag-brand-line-toggle::before{content:'↳';margin-right:5px;color:#63bdb6;font-weight:900}
.zoomag-brand-line-panel{padding:0 5px}
.zoomag-brand-line-accordion.active .zoomag-brand-line-panel{padding-bottom:5px}
.zoomag-brand-line-option{padding:0 4px 6px}
.zoomag-brand-line-label{min-height:39px;grid-template-columns:12px minmax(0,1fr) auto;gap:8px;padding:6px 9px;border-color:rgba(85,201,193,.16);background:rgba(255,255,255,.94)}
.zoomag-brand-line-label:hover{transform:none;background:#f4fffc;border-color:rgba(85,201,193,.34)}
.zoomag-brand-line-name{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.22;font-size:12.5px;font-weight:780}
.zoomag-brand-line-checkbox:checked + .zoomag-brand-line-label{background:linear-gradient(135deg,#ecfffb,#fff7f1);border-color:rgba(85,201,193,.45);box-shadow:0 6px 16px rgba(64,160,153,.08)}
.zoomag-brand-line-checkbox:checked + .zoomag-brand-line-label .zoomag-brand-line-dot{background:linear-gradient(135deg,#55c9c1,#ff8068)}
.zoomag-brand-line-label .zoomag-filter-count-compact{min-width:24px;text-align:center}
@media(max-width:575px){.zoomag-brand-line-accordion{margin-left:16px}.zoomag-brand-line-label{min-height:42px}.zoomag-brand-line-name{font-size:13px}}


/* =====================================================================
   r30 FINAL CATEGORY GEOMETRY — deterministic last layer
   ===================================================================== */
@media (min-width:1200px){
  #product-category.zoomag-category-page{
    width:calc(100vw - 32px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding-inline:0!important;
  }
  #product-category > .row.g-4{
    display:grid!important;
    grid-template-columns:minmax(280px,310px) minmax(0,1fr) minmax(300px,330px)!important;
    gap:22px!important;
    align-items:start!important;
    margin:0!important;
    --bs-gutter-x:0!important;
    --bs-gutter-y:0!important;
  }
  #product-category #column-left,
  #product-category #content,
  #product-category .zoomag-filter-sidebar-container,
  #product-category #column-right{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
  }
  #product-category #column-left{grid-column:1!important;}
  #product-category #content{grid-column:2!important;}
  #product-category .zoomag-filter-sidebar-container,
  #product-category #column-right{grid-column:3!important;}
  #product-category .zoomag-filter-sidebar{width:100%!important;max-width:none!important;}

  #product-category #product-list.zoomag-products-grid,
  #product-category #product-list.zm-final-grid{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:20px!important;
    align-items:stretch!important;
  }
  #product-category .petz-product-card{height:100%!important;min-height:520px!important;}
  #product-category .petz-image-section{height:250px!important;flex:0 0 250px!important;padding:12px 12px 0!important;}
  #product-category .petz-content-section{padding:14px 15px 16px!important;gap:10px!important;}
  #product-category .petz-product-name{min-height:3.7em!important;}
  #product-category .petz-product-name a{font-size:15.5px!important;line-height:1.25!important;-webkit-line-clamp:3!important;}
  #product-category .petz-price-main,
  #product-category .petz-special-price{font-size:24px!important;line-height:1.08!important;}
  #product-category .petz-btn-primary{min-height:46px!important;}

  #product-category #column-left :is(a,button,.list-group-item){font-size:14px!important;line-height:1.25!important;}
  #product-category #column-left :is(.card,.zoomag-category-sidebar,.zoomag-catalog-navigation){border-radius:20px!important;}
  #product-category .zoomag-filter-sidebar{font-size:14px!important;border-radius:20px!important;}
  #product-category .zoomag-filter-sidebar :is(button,label,input,.zoomag-filter-group-title){font-size:14px!important;}
  #product-category .zoomag-search-input{min-height:42px!important;}
}

@media (min-width:2050px){
  #product-category > .row.g-4{
    grid-template-columns:320px minmax(0,1fr) 340px!important;
    gap:26px!important;
  }
  #product-category #product-list.zoomag-products-grid,
  #product-category #product-list.zm-final-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:22px!important;
  }
}

@media (min-width:1200px) and (max-width:1499.98px){
  #product-category > .row.g-4{
    grid-template-columns:260px minmax(0,1fr) 290px!important;
    gap:16px!important;
  }
  #product-category #product-list.zoomag-products-grid,
  #product-category #product-list.zm-final-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  #product-category .petz-image-section{height:235px!important;flex-basis:235px!important;}
}

/* Description is collapsed: do not reserve a decorative empty valley. */
#product-category .zoomag-category-accordion:not(.is-open)+.zoomag-divider,
#product-category .zoomag-category-accordion [aria-hidden="true"] + .zoomag-divider{margin-block:8px!important;}
#product-category .zoomag-divider{min-height:24px!important;margin:10px 0 14px!important;}
#product-category .zoomag-paw-divider{min-height:24px!important;padding:0!important;}

@media (max-width:1199.98px){
  #product-category.zoomag-category-page{width:calc(100vw - 20px)!important;max-width:none!important;}
}
