/* Leo WP Blog – robust styles for Leo Elements */
.lwb { margin:48px auto; max-width:1200px; padding:0 16px; box-sizing:border-box; }
.lwb-head { margin-bottom:24px; }
.lwb-head h2 { font-size:32px; font-weight:600; letter-spacing:.02em; }

/* Grid: 4 on desktop, 1 on mobile */
.lwb .lwb-grid { 
  display:grid !important;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap:24px;
}
@media (max-width: 1199px){ .lwb .lwb-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width: 991px) { .lwb .lwb-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width: 575px) { .lwb .lwb-grid{ grid-template-columns:1fr; } }

/* Card */
.lwb .lwb-card{
  display:flex; flex-direction:column;
  background:#fff; border-radius:14px; overflow:hidden;
  box-shadow:0 2px 14px rgba(0,0,0,.06);
}
.lwb .lwb-media{ display:block; width:100%; aspect-ratio:4/3; background:#f6f6f6; }
.lwb .lwb-media img{ width:100%; height:200px; display:block; object-fit:cover; }

.lwb .lwb-body{ padding:16px 18px 20px; }
.lwb .lwb-title{ font-size:16px; line-height:1.35; margin:0 0 8px; }
.lwb .lwb-title a{ color:#111; text-decoration:none; }
.lwb .lwb-title a:hover{ text-decoration:underline; }
.lwb .lwb-excerpt{ color:#555; font-size:14px; margin:0; min-height:48px; }

/* Footer CTA */
.lwb .lwb-foot{ text-align:center; margin-top:22px; }
.lwb .lwb-cta{ display:inline-block; padding:10px 18px; border-radius:999px; background:#eee; text-decoration:none; }
.lwb .lwb-cta:hover{ background:#e2e2e2; }
