/* image-fit.css — Sitewide photo containment (crop, focal points, aspect ratios) */

/* Framed images: override global img[width][height]{height:auto} inside fill containers */
.story-image img[width][height],
.venue-image img[width][height],
.split-img img[width][height],
.intro-image img[width][height],
.space-image img[width][height],
.lodging-img-wrap img[width][height],
.pkg-card-img img[width][height],
.gallery-cell img[width][height],
.hero-left img[width][height],
.micro-image img[width][height] {
  height: 100%;
}

/* Lightbox — match gallery.js #lightboxImage */
#lightboxImage {
  max-width: 100%;
  max-height: calc(90vh - 100px);
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.3);
}

/* Homepage gallery teaser */
body[data-page="index"] .gallery-cell img {
  object-fit: cover;
  object-position: center 40%;
}

/* Hosts / split editorial */
body[data-page="index"] .hosts-section .split-img img {
  object-position: center 38%;
}

/* Venue teaser — fill column without forcing portrait ratio on wide shots */
body[data-page="index"] .venue-teaser .venue-image img {
  aspect-ratio: unset;
  object-position: center 42%;
}

/* Ceremony spaces — desktop: match source 4:5 instead of 65vh strip-crop */
@media (min-width: 769px) {
  body[data-page="ceremony-spaces"] .space-image {
    height: auto;
    aspect-ratio: 4 / 5;
    min-height: 0;
    max-height: min(72vh, 820px);
  }

  body[data-page="ceremony-spaces"] .space-image img {
    object-position: center 36%;
  }
}

/* Marguerite lodging exteriors */
.lodging-img-wrap img {
  object-position: center 42%;
}

@media (max-width: 768px) {
  .lodging-img-wrap {
    aspect-ratio: 4 / 3;
    min-height: 0;
    max-height: none;
  }
}

/* Pricing package card frames */
.pkg-card-img,
.pkg-card.featured .pkg-card-img {
  height: auto;
  aspect-ratio: 16 / 10;
}

.pkg-card-img img {
  object-position: center 35%;
}

/* Ceremony spaces: drop global 65vh min-height strip-crop */
body[data-page="ceremony-spaces"] .space-image {
  min-height: 0;
}

/* Pricing micro callout */
.micro-image img {
  aspect-ratio: 4 / 3;
  height: auto;
  max-height: 480px;
  object-position: center 40%;
}

/* Gallery masonry — keep natural height; tune crop on hover scale */
body[data-page="gallery"] .gallery-item img {
  object-fit: cover;
  object-position: center 42%;
}

/* CTA background photos */
#ctaBand {
  background-position: center 42%;
  background-size: cover;
}

body[data-page="gallery"] .gallery-cta-band {
  background-position: center 40%;
}
