/* Extra layout styles for gallery and testimonials */
.blog-article img { width:100%; height:auto; border-radius:12px; margin-bottom:18px; }
.blog-content { max-width:900px; margin:0 auto; padding:0 4vw; line-height:1.7; }

.gallery-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:18px; padding:20px 4vw; }
.testimonials-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:20px; padding:20px 4vw; }
.testimonial-card { padding:18px; border-radius:12px; background:var(--white); box-shadow:0 6px 18px rgba(24,34,29,0.05); }
.testimonial-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.rating { color:var(--yellow); font-weight:700; }
.photo-card { background:var(--white); border-radius:10px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,0.06); }
.photo-card img { width:100%; height:200px; object-fit:cover; display:block; }
.photo-card figcaption { padding:12px; font-size:14px; }
/* When photo-card is used inside a grid (blog or gallery pages), override absolute collage rules */
.gallery-grid .photo-card,
#blog-grid .photo-card,
#blog-listing .photo-card {
  position: static !important;
  width: auto !important;
  margin: 0 !important;
  box-shadow: 0 8px 24px rgba(24,34,29,0.06) !important;
}

/* Responsive gallery on small screens */
@media (max-width: 480px) {
  .photo-card img { height:160px; }
}
