:root {
  --page-gutter-round15: clamp(32px, 5vw, 72px);
}

.container {
  width: min(1440px, calc(100% - (var(--page-gutter-round15) * 2)));
}

.lang-bar {
  display: none !important;
}

.site-header .nav-wrap--round14,
.site-header .nav-wrap {
  display: grid !important;
  grid-template-columns: minmax(260px, 380px) minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 28px !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}

.site-header .brand-lockup,
.site-header .brand-lockup--admin {
  display: grid !important;
  align-items: start !important;
  gap: 4px !important;
  min-width: 0;
}

.site-header .brand-lockup .brand,
.site-header .brand-lockup--admin .brand,
.site-header .brand {
  display: block !important;
  line-height: 1.1 !important;
}

.site-header .tagline {
  display: block !important;
  margin-top: 0 !important;
  white-space: normal !important;
  line-height: 1.35 !important;
  max-width: 540px;
}

.site-header .nav--round14,
.site-header .nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: nowrap !important;
  gap: clamp(14px, 1.3vw, 26px) !important;
  min-width: 0;
}

.site-header .nav--round14 a,
.site-header .nav a {
  padding: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  white-space: nowrap !important;
  font-size: 16px !important;
  font-weight: 800 !important;
}

.site-header .nav--round14 a:hover,
.site-header .nav a:hover {
  background: transparent !important;
  opacity: .78;
}

.site-header .header-actions--round14 {
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
  justify-self: end !important;
}

.site-header .lang-select {
  min-width: 96px !important;
  height: 52px !important;
}

.site-header .admin-link {
  white-space: nowrap !important;
}

.catalog-layout {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 28px !important;
}

.catalog-results .listing-grid,
.category-results .listing-grid,
.listing-grid--catalog,
.listing-grid.listing-grid--catalog {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
}

.catalog-results .listing-card,
.category-results .listing-card,
.listing-grid--catalog .listing-card {
  min-width: 0;
}

.catalog-results .listing-card img,
.category-results .listing-card img,
.listing-grid--catalog .listing-card img {
  aspect-ratio: 1 / 1 !important;
  object-fit: cover !important;
}

@media (max-width: 1280px) {
  .site-header .nav-wrap--round14,
  .site-header .nav-wrap {
    grid-template-columns: minmax(220px, 320px) minmax(0, 1fr) auto !important;
    gap: 20px !important;
  }

  .site-header .nav--round14,
  .site-header .nav {
    gap: 14px !important;
  }

  .site-header .nav--round14 a,
  .site-header .nav a {
    font-size: 15px !important;
  }

  .catalog-layout {
    grid-template-columns: 248px minmax(0, 1fr) !important;
    gap: 22px !important;
  }

  .catalog-results .listing-grid,
  .category-results .listing-grid,
  .listing-grid--catalog,
  .listing-grid.listing-grid--catalog {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1100px) {
  .site-header .nav-wrap--round14,
  .site-header .nav-wrap {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }

  .site-header .nav--round14,
  .site-header .nav {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
  }

  .site-header .header-actions--round14 {
    justify-self: start !important;
  }

  .catalog-layout {
    grid-template-columns: 1fr !important;
  }

  .catalog-results .listing-grid,
  .category-results .listing-grid,
  .listing-grid--catalog,
  .listing-grid.listing-grid--catalog {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 700px) {
  .container {
    width: calc(100% - 28px);
  }

  .site-header .nav--round14,
  .site-header .nav {
    gap: 12px !important;
  }

  .catalog-results .listing-grid,
  .category-results .listing-grid,
  .listing-grid--catalog,
  .listing-grid.listing-grid--catalog {
    grid-template-columns: 1fr !important;
  }
}
