/* === Woodbridge Patches (2025-08-26) === */

/* Grid/card image containment + consistent aspect */
.wb-grid .wb-card figure {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
  aspect-ratio: 16 / 9;
  margin: 0 0 0.5rem 0;
}
.wb-grid .wb-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Hover zoom (only on devices that support hover) */
@media (hover:hover) and (pointer:fine) {
  .wb-grid .wb-card img {
    transform: scale(1);
    transition: transform .28s ease;
  }
  .wb-grid .wb-card:hover img {
    transform: scale(1.06);
  }
}

/* Footer: mobile stacking + spacing */
@media (max-width: 782px) {
  footer .wp-block-columns {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }
  footer .wp-block-column {
    margin: 0 !important;
  }
  footer .wp-block-social-links {
    justify-content: flex-start;
  }
}

/* Hero tweaks: contained text width and better wrap on narrow screens */
.wp-block-cover.is-style-wb-hero .wp-block-cover__inner-container {
  max-width: min(1100px, 90vw);
}
@media (max-width: 782px) {
  .wp-block-cover.is-style-wb-hero {
    padding: 24px;
  }
  .wp-block-cover.is-style-wb-hero h1 {
    font-size: clamp(1.75rem, 6vw, 2.25rem);
    line-height: 1.15;
  }
}

/* Featured carousel (wfc-) fallbacks (kept small) */
.wfc-frame { position: relative; overflow: hidden; border-radius: 8px; }
.wfc-slide img { width: 100%; height: auto; display: block; }
.wfc-dots { display:flex; gap:8px; justify-content:center; margin-top:8px; }
.wfc-dot { width:10px; height:10px; border-radius:50%; opacity:.5; }
.wfc-dot.is-active { opacity:1; }

/* Minor typography niceties */
.wb-prose p { hanging-punctuation: first; }
