.kkm-katalog {
  --kkm-background: #f8f9f0;
  --kkm-ink: #222a24;
  --kkm-primary: #b6d431;
  --kkm-strong: #3b6a00;
  --kkm-secondary: #eff0e2;
  --kkm-muted: #556159;
  --kkm-border: #c7c9bc;
  color: var(--kkm-ink);
  font-family: 'Hind', Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.6;
}
.kkm-katalog *, .kkm-katalog *::before, .kkm-katalog *::after { box-sizing: border-box; }
.kkm-katalog img { max-width: 100%; }
.kkm-katalog a { color: inherit; }
.kkm-katalog h1, .kkm-katalog h2, .kkm-katalog h3, .kkm-katalog .kkm-card__title { color: var(--kkm-ink); font-family: 'Archivo Black', 'Arial Black', sans-serif; font-weight: 400; line-height: 1.15; }
.kkm-katalog h1 { font-size: clamp(2rem, 4.5vw, 3.5rem); }
.kkm-katalog h2 { font-size: clamp(1.5rem, 3.5vw, 2.25rem); }
.kkm-katalog :where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--kkm-strong); outline-offset: 4px; }
.kkm-katalog .kkm-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.kkm-katalog .kkm-grid > * { min-width: 0; margin: 0; }
.kkm-katalog .kkm-card { display: flex; min-width: 0; height: 100%; flex-direction: column; overflow: hidden; border: 1px solid var(--kkm-border); border-radius: .5rem; background: #fff; box-shadow: 0 18px 40px -28px rgb(34 42 36 / 18%); transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease; }
.kkm-katalog .kkm-card:hover { transform: translateY(-3px); border-color: var(--kkm-strong); box-shadow: 0 18px 40px -28px rgb(34 42 36 / 35%); }
.kkm-katalog .kkm-card__media { display: grid; width: 100%; aspect-ratio: 4 / 3; place-items: center; overflow: hidden; border-bottom: 1px solid var(--kkm-border); background: var(--kkm-secondary); text-decoration: none; }
.kkm-katalog .kkm-card__media > a { display: block; width: 100%; height: 100%; }
.kkm-katalog .kkm-card__media img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.kkm-katalog .kkm-card__media .kkm-card__logo { width: auto; max-width: 80%; height: auto; max-height: 6rem; padding: .5rem; aspect-ratio: auto; object-fit: contain; }
.kkm-katalog .kkm-card__logo { display: block; max-width: 11rem; max-height: 5rem; object-fit: contain; }
.kkm-katalog .kkm-card__body { display: flex; flex: 1; flex-direction: column; align-items: flex-start; padding: 1.25rem; }
.kkm-katalog .kkm-card__title { margin: 0; font-size: 1.25rem; overflow-wrap: anywhere; }
.kkm-katalog .kkm-card__title a { text-decoration: none; }
.kkm-katalog .kkm-card__title a:hover { color: var(--kkm-strong); }
.kkm-katalog .kkm-card__text { margin: .75rem 0 0; color: var(--kkm-muted); font-size: 1rem; line-height: 1.6; }
.kkm-katalog .kkm-card__text > :first-child { margin-top: 0; }
.kkm-katalog .kkm-card__text > :last-child { margin-bottom: 0; }
.kkm-katalog .kkm-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: .75rem 0; color: var(--kkm-muted); font-size: .875rem; }
.kkm-katalog .kkm-card__link { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto; padding-top: 1rem; color: var(--kkm-strong); font-size: .9375rem; font-weight: 700; text-decoration: none; }
.kkm-katalog .kkm-card__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.kkm-katalog .kkm-status { display: inline-flex; align-items: center; max-width: 100%; padding: .2rem .65rem; border: 1px solid #d5dfb4; border-radius: 999px; color: #355717; background: #edf3df; font-size: .8125rem; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.kkm-katalog .kkm-status--sold, .kkm-katalog .kkm-status--prodano, .kkm-katalog .kkm-status--unavailable { color: #6b352e; border-color: #e5cdc8; background: #f6eeeb; }
.kkm-katalog .kkm-status--ordered, .kkm-katalog .kkm-status--po-narudzbi, .kkm-katalog .kkm-status--na-upit, .kkm-katalog .kkm-status--inquiry { color: #665319; border-color: #e6dba9; background: #f8f3df; }
.kkm-katalog .kkm-gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; margin: 1.5rem 0; padding: 0; list-style: none; }
.kkm-katalog .kkm-gallery__item { display: block; min-width: 0; overflow: hidden; margin: 0; border: 1px solid var(--kkm-border); border-radius: .5rem; background: var(--kkm-background); }
.kkm-katalog .kkm-gallery__item a { display: block; }
.kkm-katalog .kkm-gallery__item img { display: block; width: 100%; aspect-ratio: 4 / 3; height: auto; object-fit: contain; }
.kkm-katalog .kkm-gallery__item figcaption { padding: .65rem 1rem; font-size: .875rem; color: var(--kkm-muted); }
.kkm-katalog .kkm-specs { width: 100%; margin: 1.5rem 0; border-collapse: collapse; color: var(--kkm-ink); }
.kkm-katalog .kkm-specs table { width: 100%; border-collapse: collapse; }
.kkm-katalog .kkm-specs caption { margin-bottom: .75rem; color: var(--kkm-ink); font-family: 'Archivo Black', 'Arial Black', sans-serif; font-size: 1.5rem; line-height: 1.2; text-align: left; }
.kkm-katalog .kkm-specs th, .kkm-katalog .kkm-specs td { padding: .8rem 1rem; border: 0; border-bottom: 1px solid var(--kkm-border); background: #fff; vertical-align: top; line-height: 1.5; text-align: left; overflow-wrap: anywhere; }
.kkm-katalog .kkm-specs th { width: 43%; color: var(--kkm-muted); font-weight: 500; }
.kkm-katalog .kkm-specs td { font-weight: 600; }
.kkm-katalog .kkm-specs tr:first-child > * { border-top: 1px solid var(--kkm-border); }
.kkm-katalog .kkm-specs tr:nth-child(even) > * { background: var(--kkm-background); }
.kkm-katalog .kkm-enquiry { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 44px; max-width: 100%; margin-top: 1rem; padding: .7rem 1.5rem; border: 1px solid transparent; border-radius: .375rem; color: var(--kkm-ink); background: var(--kkm-primary); font-family: 'Hind', Arial, sans-serif; font-size: 1rem; font-weight: 700; line-height: 1.4; text-align: center; text-decoration: none; transition: background 180ms ease; }
.kkm-katalog .kkm-enquiry:hover { color: var(--kkm-ink); background: #aac726; text-decoration: none; }
.kkm-katalog .kkm-empty { margin: 1.5rem 0; padding: 2rem; border: 1px solid var(--kkm-border); border-radius: .5rem; color: var(--kkm-muted); background: var(--kkm-background); }
.kkm-katalog .kkm-filters { display: flex; flex-wrap: wrap; align-items: end; gap: 1rem; margin: 1.5rem 0; padding: 1.25rem; border: 1px solid var(--kkm-border); border-radius: .5rem; background: var(--kkm-background); }
.kkm-katalog .kkm-filters label { display: grid; gap: .35rem; min-width: 0; font-size: .9375rem; font-weight: 600; }
.kkm-katalog .kkm-filters input, .kkm-katalog .kkm-filters select { max-width: 100%; min-height: 44px; border: 1px solid var(--kkm-border); border-radius: .375rem; background: #fff; color: var(--kkm-ink); font: inherit; }
.kkm-katalog.kkm-brands .kkm-grid--brands { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; margin: 0; }
.kkm-katalog .kkm-card--brand { border-radius: .375rem; box-shadow: none; }
.kkm-katalog .kkm-card--brand .kkm-card__media { display: grid; width: 100%; max-width: none; min-height: 7rem; height: auto; max-height: none; padding: 1rem; aspect-ratio: auto; background: #fff; }
.kkm-katalog .kkm-card--brand .kkm-card__media img, .kkm-katalog .kkm-card--brand .kkm-card__media .kkm-card__logo { display: block; width: auto; max-width: min(100%, 128px); height: auto; max-height: 64px; margin: auto; padding: 0; aspect-ratio: auto; object-fit: contain; }
.kkm-katalog .kkm-card--brand .kkm-card__body { padding: .75rem 1rem; }
.kkm-katalog .kkm-card--brand .kkm-card__title { font-size: .875rem; line-height: 1.45; }
.kkm-katalog .kkm-card--brand .kkm-card__link { margin-top: .25rem; padding-top: 0; color: var(--kkm-muted); font-family: 'Hind', Arial, sans-serif; font-size: .75rem; font-weight: 500; line-height: 1.4; }
.kkm-katalog .kkm-card--brand:hover .kkm-card__title, .kkm-katalog .kkm-card--brand:hover .kkm-card__link { color: var(--kkm-strong); }
@media (min-width: 640px) {
  .kkm-katalog .kkm-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kkm-katalog .kkm-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
  .kkm-katalog.kkm-brands .kkm-grid--brands { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .kkm-katalog .kkm-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kkm-katalog .kkm-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kkm-katalog.kkm-brands .kkm-grid--brands { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (max-width: 420px) {
  .kkm-katalog .kkm-card__body { padding: 1rem; }
  .kkm-katalog .kkm-specs th, .kkm-katalog .kkm-specs td { padding: .7rem .6rem; font-size: .9375rem; }
  .kkm-katalog .kkm-enquiry { width: 100%; padding-inline: 1rem; }
  .kkm-katalog .kkm-filters { flex-direction: column; align-items: stretch; }
}
@media (prefers-reduced-motion: reduce) {
  .kkm-katalog .kkm-card, .kkm-katalog .kkm-enquiry { transition: none; }
  .kkm-katalog .kkm-card:hover { transform: none; }
}
