/* Photo-led model chooser. Images are stored under /assets and ship with the site. */
.photo-catalog .catalog-tools { display: block; margin-bottom: 0; }
.photo-catalog .catalog-search {
  display: flex;
  width: min(100%, 460px);
  margin: 0 0 18px;
}
.photo-catalog .catalog-search input { min-width: 0; height: 100%; font-size: 16px; }
.photo-catalog .model-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
}
.photo-catalog .model-filter button {
  min-height: 46px !important;
  padding: 10px 15px !important;
  color: #193d56;
  font-size: 14px;
  font-weight: 650;
  background: #fff;
  border: 1px solid #b7cbd9;
  border-radius: 11px;
}
.photo-catalog .model-filter button.active {
  color: #fff;
  background: #258bc9;
  border-color: #258bc9;
}
.photo-catalog .model-filter button:focus-visible,
.photo-catalog .model-card:focus-visible {
  outline: 3px solid #258bc9;
  outline-offset: 3px;
}
.photo-catalog .photo-catalog-subfilter {
  padding-top: 12px;
  border-top: 1px solid #d9e5ee;
}
.photo-catalog .models-grid.catalog-results-ready {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  max-height: none;
  overflow: visible;
}
.photo-catalog .models-grid .model-card,
.android-text-only .photo-catalog .models-grid .model-card {
  min-height: 0 !important;
  padding: 0 !important;
  color: #182d3e;
  border: 1px solid #c8d9e5;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: none;
}
.photo-catalog .models-grid .photo-card-visual,
.android-text-only .photo-catalog .models-grid .photo-card-visual {
  display: grid !important;
  place-items: center;
  width: 100%;
  height: 192px;
  min-height: 0;
  padding: 12px;
  border-radius: 14px 14px 0 0;
  background: #fff !important;
}
.photo-catalog .models-grid .photo-card-visual::before,
.photo-catalog .models-grid .photo-card-visual::after { content: none !important; display: none !important; }
.photo-catalog .photo-card-visual img,
.android-text-only .photo-catalog .photo-card-visual img {
  display: block !important;
  width: 100%;
  max-width: 180px;
  height: 100%;
  max-height: 170px;
  object-fit: contain;
  mix-blend-mode: multiply;
}
.photo-catalog .models-grid .model-card-copy {
  min-height: 62px;
  padding: 12px 14px !important;
  font-size: 14px;
  font-weight: 650;
}
.photo-catalog .model-card-copy i { color: #258bc9; }
.photo-catalog .photo-catalog-empty { margin: 14px 0; }
@media (max-width: 767px) {
  .photo-catalog .model-filter {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(88px, 1fr));
    gap: 7px;
    margin-bottom: 16px;
  }
  .photo-catalog .model-filter button {
    min-height: 46px !important;
    padding: 7px 6px !important;
    font-size: 12px !important;
    line-height: 1.25;
  }
  .photo-catalog .models-grid.catalog-results-ready {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }
  .photo-catalog .models-grid .photo-card-visual { height: 150px; padding: 10px; }
  .photo-catalog .photo-card-visual img { max-width: 145px; max-height: 130px; }
  .photo-catalog .models-grid .model-card-copy {
    min-height: 56px;
    padding: 10px 11px !important;
    font-size: 12px !important;
    line-height: 1.3;
  }
  .photo-catalog .model-card-copy i { flex: none; }
}
