/* Homepage catalog bento — oknaminsk24 */
.home-cat {
  --hc-green: #19b27f;
  --hc-green-deep: #0f8f64;
  --hc-orange: #e07a1f;
  --hc-ink: #152029;
  max-width: 1380px;
  margin: 1.25rem auto 1.75rem;
  padding: 0 1rem;
  font-family: Manrope, system-ui, sans-serif;
}

.home-cat__grid {
  display: grid;
  gap: 0.75rem;
  grid-template-columns: repeat(4, 1fr);
  grid-template-areas:
    "okna okna bal alu"
    "okna okna blok blok"
    "mos stek blok blok"
    "furn furn profil profil";
}

.home-cat__card--okna { grid-area: okna; min-height: 280px; }
.home-cat__card--bal { grid-area: bal; min-height: 150px; }
.home-cat__card--alu { grid-area: alu; min-height: 150px; }
.home-cat__card--mos { grid-area: mos; min-height: 170px; }
.home-cat__card--stek { grid-area: stek; min-height: 170px; }
.home-cat__card--blok { grid-area: blok; min-height: 280px; }
.home-cat__card--furn { grid-area: furn; min-height: 200px; }
.home-cat__card--profil { grid-area: profil; min-height: 200px; }

.home-cat__card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.25rem 1.3rem 1.2rem;
  border-radius: 18px;
  overflow: hidden;
  background-color: var(--hc-green);
  background-size: cover;
  background-position: center right;
  background-repeat: no-repeat;
  color: #fff;
  text-decoration: none;
  isolation: isolate;
  box-shadow: 0 10px 28px rgba(21, 32, 41, 0.08);
  transition: transform 0.28s ease, box-shadow 0.28s ease;
}

.home-cat__card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(
      105deg,
      rgba(12, 72, 54, 0.55) 0%,
      rgba(12, 72, 54, 0.28) 42%,
      rgba(12, 72, 54, 0.08) 68%,
      transparent 100%
    );
  pointer-events: none;
}

.home-cat__card:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(21, 32, 41, 0.14);
}

.home-cat__body,
.home-cat__actions {
  position: relative;
  z-index: 1;
}

.home-cat__title {
  margin: 0 0 0.4rem;
  font-size: clamp(1.15rem, 1.8vw, 1.65rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.15;
  color: #fff;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.45),
    0 2px 10px rgba(0, 0, 0, 0.28);
}

.home-cat__card--okna .home-cat__title,
.home-cat__card--blok .home-cat__title {
  font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.home-cat__desc {
  margin: 0;
  max-width: 18rem;
  font-size: 0.9rem;
  font-weight: 560;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.2);
}

.home-cat__card--bal .home-cat__desc,
.home-cat__card--alu .home-cat__desc,
.home-cat__card--mos .home-cat__desc,
.home-cat__card--stek .home-cat__desc {
  font-size: 0.82rem;
  max-width: 11.5rem;
}

.home-cat__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 1.1rem;
}

.home-cat__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.35rem;
  padding: 0.45rem 1rem;
  border-radius: 999px;
  border: 0;
  font: inherit;
  font-size: 0.82rem;
  font-weight: 750;
  letter-spacing: 0.01em;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.home-cat__btn--ghost {
  background: rgba(255, 255, 255, 0.94);
  color: var(--hc-ink);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}

.home-cat__btn--ghost:hover {
  background: #fff;
  transform: translateY(-1px);
}

.home-cat__btn--order {
  background: var(--hc-orange);
  color: #fff;
  box-shadow: 0 6px 16px rgba(224, 122, 31, 0.35);
}

.home-cat__btn--order:hover {
  background: #c96a16;
  transform: translateY(-1px);
}

@media (max-width: 900px) {
  .home-cat__grid {
    grid-template-columns: repeat(2, 1fr);
    grid-template-areas:
      "okna okna"
      "bal alu"
      "mos stek"
      "blok blok"
      "furn profil";
  }
  .home-cat__card--okna,
  .home-cat__card--blok { min-height: 240px; }
  .home-cat__card--furn,
  .home-cat__card--profil { min-height: 190px; }
}

@media (max-width: 560px) {
  .home-cat { padding: 0 0.75rem; margin-top: 0.75rem; }
  .home-cat__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "okna"
      "blok"
      "bal"
      "alu"
      "mos"
      "stek"
      "furn"
      "profil";
    gap: 0.65rem;
  }
  .home-cat__card {
    min-height: 200px !important;
    padding: 1.15rem 1.1rem;
    background-position: right center;
  }
  .home-cat__desc { max-width: 70%; font-size: 0.88rem; }
}

@media (prefers-reduced-motion: reduce) {
  .home-cat__card,
  .home-cat__btn { transition: none; }
  .home-cat__card:hover { transform: none; }
}

/* Beat theme heading color on green cards */
body.home .home-cat__card .home-cat__title,
body.home .home-cat h2.home-cat__title {
  color: #fff !important;
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.45),
    0 2px 10px rgba(0, 0, 0, 0.28);
}
