/* Front page modules (без hero — он отдельным модулем) */

/* ===== Card Grid ===== */
.cards-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.property-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  overflow:hidden; display:flex; flex-direction:column;
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.property-card:hover{transform:translateY(-2px); box-shadow:0 12px 28px rgba(17,24,39,.10)}
.card-thumb{position:relative; display:block; aspect-ratio:4/3; overflow:hidden}
.card-thumb img{width:100%;height:100%;object-fit:cover;border-radius:0}
.card-badges{position:absolute; top:10px; left:10px; display:flex; gap:8px; flex-wrap:wrap}
.badge{background:#eef8ff;color:#0b63c7;border:1px solid #cfe6ff;font-size:12px;font-weight:700;padding:6px 10px;border-radius:999px}
.badge.green{background:#ecfdf5;color:#0f5132;border-color:#bbf7d0}
.badge.amber{background:#fff7ed;color:#7c2d12;border-color:#fde68a}

.card-body{padding:14px 14px 16px}
.card-title{font-size:16px;line-height:1.35;margin:0 0 6px}
.card-title a{color:#0f172a;text-decoration:none}
.card-title a:hover{text-decoration:underline}
.card-sub{font-size:13px;color:var(--muted);margin-bottom:10px}

/* ===== Meta row ===== */
.meta{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  font-size:13px; color:#3b4554; margin-bottom:10px
}
.meta span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.meta svg{width:16px;height:16px;display:inline-block}

/* ===== Actions ===== */
.card-actions{
  margin-top:auto; display:flex; gap:10px; align-items:center; padding:0 14px 14px
}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  padding:10px 12px;border-radius:12px; border:1px solid var(--line); background:#fff;
  text-decoration:none; color:#0b63c7; font-weight:600
}
.btn-outline:hover{background:#f1f5f9}

/* ===== Горизонтальная полка ===== */
.cards-scroll{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(240px, 1fr);
  gap:14px; overflow-x:auto; padding-bottom:8px; scroll-snap-type:x mandatory
}
.cards-scroll > .property-card{scroll-snap-align:start}

/* ===== Testimonials / Partners ===== */
.testimonials-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.testimonial{
  background:var(--surface); border:1px solid var(--line);
  padding:18px; border-radius:var(--radius); box-shadow:var(--shadow)
}
.testimonial cite{color:var(--muted);font-style:normal;font-size:14px}
.partners .partners-row{display:flex;gap:28px;align-items:center;flex-wrap:wrap;opacity:.95}
.partners img{width:120px;height:auto;filter:grayscale(1) contrast(1.05);opacity:.85}
.partners img:hover{filter:none;opacity:1}

/* ===== Responsive ===== */
@media (max-width:1200px){ .cards-grid{grid-template-columns:repeat(3,1fr)} }
@media (max-width:900px){
  .cards-grid{grid-template-columns:repeat(2,1fr)}
  .testimonials-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .cards-grid{grid-template-columns:1fr}
}
