/* One consistent rhythm for category bars and product cards. */
.customer-catalog main { max-width: 1040px; }
.back-home { display: inline-block; margin-bottom: 28px; font-size: 14px; text-underline-offset: 4px; }
.customer-catalog .catalog-search { margin: 24px 0 40px; }
.customer-catalog .catalog-search input { max-width: none; }
.search-label { font-size: 15px; color: #52686a; }
.category-picker h2 { font-size: 20px; margin: 0 0 16px; }
.customer-catalog .category-picker .subgroup-nav { grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 32px; }
.customer-catalog .catalog-results #status:empty { display: none; }
.customer-catalog .group-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  gap: 8px;
}
.customer-catalog .group-nav a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 12px;
  font-size: 14px;
  line-height: 1.4;
  text-align: center;
  overflow-wrap: anywhere;
}
.customer-catalog .subgroup-nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-rows: 1fr;
  gap: 8px;
}
.customer-catalog .subgroup-nav button[data-subgroup] {
  width: 100%;
  min-width: 0;
  min-height: 64px;
  margin: 0;
  padding: 12px;
  border: 1px solid #d7e0db;
  border-radius: 8px;
  font-size: 15px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}
.customer-catalog .products {
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: 16px;
}
.customer-catalog .product {
  min-width: 0;
  min-height: 184px;
  padding: 24px;
  border-radius: 8px;
  box-shadow: none;
}
.customer-catalog .product .product-category {
  font-size: 14px;
  margin: 0 0 12px;
}
.customer-catalog .product h2 {
  font-size: 22px;
  line-height: 1.35;
  margin: 0 0 24px;
}
.customer-catalog .product a {
  display: flex;
  align-items: center;
  min-height: 44px;
  margin-top: auto;
}
@media (max-width: 600px) {
  .customer-catalog .group-nav,
  .customer-catalog .subgroup-nav,
  .customer-catalog .category-picker .subgroup-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
  .customer-catalog .product { padding: 20px; }
}

/* Keep the selected products in view after choosing a product group. */
#results-title { scroll-margin-top: 24px; font-size: 26px; line-height: 1.3; margin: 0 0 16px; }
.customer-catalog .catalog-search{margin-bottom:16px}
.customer-catalog .product{min-height:0}
.customer-catalog .product h2{margin-bottom:16px}
.customer-catalog .product a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border-radius:8px;background:#123d42;color:#fff;text-decoration:none}

#category-menu>summary{display:none}
@media(max-width:600px){
.category-picker>h2{display:none}
#category-menu>summary{display:list-item;min-height:48px;padding:12px 16px;background:#e9efec;border:1px solid #d7e0db;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer}
#category-menu[open]>summary{margin-bottom:12px}
.customer-catalog .category-picker .subgroup-nav{margin-bottom:20px}
.customer-catalog .subgroup-nav button[data-subgroup]{min-height:48px;font-size:14px;padding:10px}
.customer-catalog .products{grid-auto-rows:auto;gap:12px}
.customer-catalog .product{padding:16px}
.customer-catalog .product .product-category{font-size:12px;margin-bottom:6px}
.customer-catalog .product h2{font-size:20px;margin-bottom:12px}
#results-title{font-size:24px;margin:18px 0 12px}
}
