.section { clear: both; }
.inner-content, .inner-layout, .page-content, .entry-content { min-width: 0; }
.inner-content :is(img, video, iframe), .entry-content :is(img, video, iframe) { max-width: 100%; }
.inner-content :is(figure, .wp-block-gallery), .entry-content :is(figure, .wp-block-gallery) { min-width: 0; }

@media (min-width: 1100px) {
  .stays-grid { display: flex; gap: 20px; overflow-x: auto; padding-bottom: 18px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .stay-card { flex: 0 0 calc((100% - 40px)/3); min-width: 0; scroll-snap-align: start; }
  .stay-card > img, .stay-placeholder { height: 265px; }
  .hero { min-height: 670px; }
  .hero-content { padding-top: 100px; padding-bottom: 135px; }
}
@media (min-width: 761px) and (max-width: 1099px) {
  .stays-grid { display: flex; overflow-x: auto; gap: 16px; }
  .stay-card { flex: 0 0 calc((100% - 16px)/2); min-width: 0; }
  .stay-card > img, .stay-placeholder { height: 240px; }
}

.sc-album-section { width: 100%; max-width: 1400px; margin: clamp(38px, 5vw, 76px) auto; min-width: 0; }
.sc-album__heading { margin: 0 0 24px; }
.sc-album__heading h2 { margin: 12px 0 8px; font-size: clamp(1.85rem, 3vw, 2.8rem); line-height: 1.15; color: var(--sc-color-card-ink); }
.sc-album__heading p { margin: 0; color: #547078; font-size: .96rem; }
.sc-album-gallery.sc-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); grid-auto-rows: minmax(190px, 235px); gap: clamp(10px,1.3vw,20px); width: 100%; min-width: 0; margin: 0; }
.sc-album-gallery .sc-album__photo { position: relative; min-width: 0; min-height: 0; margin: 0; overflow: hidden; border-radius: 18px; background: #dfe9e8; box-shadow: 0 12px 28px rgba(23,63,70,.08); isolation: isolate; }
.sc-album-gallery .sc-album__photo:nth-child(7n+1) { grid-column: span 2; grid-row: span 2; }
.sc-album-gallery .sc-album__trigger { display: block; width: 100%; height: 100%; padding: 0; border: 0; cursor: zoom-in; position: relative; background: #e3eae8; }
.sc-album-gallery .sc-album__trigger img { width: 100%; height: 100%; min-height: 100%; object-fit: cover; display: block; transition: transform .45s cubic-bezier(.2,.7,.2,1), filter .35s; }
.sc-album-gallery .sc-album__photo:hover img, .sc-album-gallery .sc-album__trigger:focus-visible img { transform: scale(1.055); filter: saturate(1.09); }
.sc-album-gallery .sc-album__expand { position: absolute; right: 16px; bottom: 14px; color: white; font-size: 1.45rem; line-height: 1; border-radius: 100%; background: rgba(8,58,67,.84); padding: 10px 12px; box-shadow: 0 4px 15px #0003; }
.sc-album-gallery .sc-album__photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 56px 13px 15px; background: linear-gradient(transparent,rgba(2,31,38,.58)); color: white; pointer-events: none; font-size: .78rem; line-height: 1.35; }
.sc-album-gallery .sc-album__trigger:focus-visible { outline: 3px solid var(--sc-color-teal); outline-offset: -3px; }

/* The homepage displays several real food photos rather than three hard-coded tiles. */
.dining-photos.sc-dining-dynamic { display: block; height: auto; min-height: 0; overflow: visible; }
.sc-album--compact { margin: 0; }
.sc-album--compact .sc-album-gallery.sc-gallery { grid-auto-rows: minmax(155px, 190px); gap: 10px; }
.sc-album--compact .sc-album__photo { border-radius: 12px; }
.sc-album--compact .sc-album__photo figcaption { font-size: .7rem; }

@media (max-width: 1000px) {
  .sc-album-gallery.sc-gallery { grid-template-columns: repeat(2,minmax(0,1fr)); grid-auto-rows: minmax(180px, 250px); }
  .sc-album-gallery .sc-album__photo:nth-child(7n+1) { grid-column: span 2; grid-row: span 1; }
}
@media (max-width: 760px) {
  .stays-grid { display: flex; gap: 12px; overflow-x: auto; }
  .stay-card { flex: 0 0 min(78vw, 320px); }
  .stay-card > img, .stay-placeholder { height: 225px; }
  .sc-album-section { margin-block: 38px; }
  .sc-album-gallery.sc-gallery { grid-template-columns: 1fr 1fr; grid-auto-rows: minmax(145px, 185px); gap: 9px; }
  .sc-album-gallery .sc-album__photo { border-radius: 12px; }
  .sc-album-gallery .sc-album__photo:nth-child(7n+1) { grid-column: span 2; grid-row: span 2; }
  .sc-album-gallery .sc-album__expand { right: 10px; bottom: 10px; font-size: 1rem; padding: 7px 8px; }
  .sc-album-gallery .sc-album__photo figcaption { padding: 22px 40px 10px 10px; font-size: .68rem; }
  .sc-album--compact .sc-album-gallery.sc-gallery { grid-auto-rows: 160px; }
}
@media (max-width: 420px) {
  .sc-album-gallery.sc-gallery { grid-auto-rows: 155px; }
  .sc-album-gallery .sc-album__photo:nth-child(7n+1) { grid-row: span 2; }
}
@media (prefers-reduced-motion: reduce) {
  .sc-album-gallery .sc-album__trigger img { transition: none; }
}
