/* One shared five-direction component with the approved equipment menu. */
.catalog-branch-page:has(.catalog-directory) { padding-inline: calc(var(--gutter) + var(--content-inset)); }
.catalog-directory { max-width: 1400px; margin-inline: auto; }
.catalog-directory h1 { margin: 0 0 clamp(40px, 5vw, 72px); font-size: clamp(30px, 2.75vw, 52px); font-weight: 500; line-height: 1.12; letter-spacing: -.045em; }
.catalog-directory .mega-grid { margin: 0; }
.catalog-directory .mega-category { display: block; background: transparent; padding: 0; border-radius: 0; }
.catalog-directory .mega-category > div { padding-top: 16px; }
.catalog-directory .mega-image { flex: none; height: 150px; }
.catalog-directory .mega-image img { width: 100%; height: 100%; }
.catalog-directory .mega-subcategories { display: none; }
.catalog-directory .category-preview, .catalog-directory .category-all { display: block; }
.catalog-directory .category-preview a { color: #434343; }
.catalog-directory .category-all { color: var(--ink); }
.catalog-directory-actions { display: flex; justify-content: flex-end; margin-top: clamp(32px, 4vw, 56px); }
.catalog-directory .catalog-directory-stock { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; max-width: 100%; padding: 14px 22px; border-radius: 16px; background: var(--orange); color: #fff; font-size: 15px; font-weight: 600; line-height: 1.4; text-align: center; }
.catalog-directory .catalog-directory-stock:hover { background: #ed5f14; }
@media (max-width: 1100px) {
  .catalog-directory .mega-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: none; max-height: none; gap: 40px 28px; }
}
@media (max-width: 720px) {
  .catalog-branch-page:has(.catalog-directory) { padding-inline: var(--gutter); }
  .catalog-directory .mega-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; }
  .catalog-directory .mega-image { height: auto; aspect-ratio: 7 / 5; }
  .catalog-directory .mega-category-title { font-size: 15px; }
  .catalog-directory .category-preview a { font-size: 13px; }
}
@media (max-width: 400px) {
  .catalog-directory .mega-grid { grid-template-columns: 1fr; gap: 36px; }
  .catalog-directory .mega-image { width: 210px; height: 150px; }
}
