/* Wedding Venue: editable native rows, with viewport-based desktop geometry. */
.wedding-venue-section { color: #081533; }
.wedding-venue-intro p { font-size: var(--magic-text-extra-large-font-size, 1.5vw); line-height: 1.85; }
.wedding-venue-section .venue-story-copy { position: relative; z-index: 1; }
.wedding-venue-section .venue-feature-photo { width: 100%; margin: 0; }
.wedding-venue-section .venue-feature-photo .w-image-h,
.wedding-venue-section .venue-feature-photo .w-image-h > a { display: block; width: 100%; }
.wedding-venue-section .venue-feature-photo img { width: 100%; }
.wedding-venue-section .venue-story-copy .w-btn { margin-top: 1.8vw; white-space: normal; }
.wedding-venue-section .venue-capacity { color: #b9826b; font-weight: 700; }
.wedding-venue-section .venue-browse { margin: 1.6vw 0 0; font-family: var(--h1-font-family); font-size: 1.9vw; }
.wedding-venue-section .venue-browse a { color: #b9826b; }
.venue-feature-reverse .venue-browse { text-align: right; }
.venue-band-separator:has(+ .wedding-venue-section) { height: 0; overflow: visible; }
.l-section.wedding-venue-cta { padding-block: 4vw; color: #b9826b; text-align: center; }
.wedding-venue-cta .w-separator { color: #b9826b !important; margin: 0 0 2vw; }
.wedding-venue-cta h2 { color: #b9826b; font-size: 2.25vw; line-height: 1.7; margin-bottom: 3vw; }
@media (min-width: 801px) {
 /* Single-photo rows stretch around the copy, with extra height above and below. */
 .wedding-venue-section .venue-story:has(.venue-feature-photo) { align-items: stretch; }
 .wedding-venue-section .venue-story:has(.venue-feature-photo) > .wpb_column:has(.venue-story-copy) { padding-block: 2vw; }
 .wedding-venue-section .venue-story:has(.venue-feature-photo) > .wpb_column:has(.venue-feature-photo),
 .wedding-venue-section .venue-story:has(.venue-feature-photo) > .wpb_column:has(.venue-feature-photo) > .vc_column-inner,
 .wedding-venue-section .venue-story:has(.venue-feature-photo) > .wpb_column:has(.venue-feature-photo) > .vc_column-inner > .wpb_wrapper { display: flex; flex-direction: column; }
 .wedding-venue-section .venue-story:has(.venue-feature-photo) > .wpb_column:has(.venue-feature-photo) > .vc_column-inner,
 .wedding-venue-section .venue-story:has(.venue-feature-photo) > .wpb_column:has(.venue-feature-photo) > .vc_column-inner > .wpb_wrapper { flex: 1; }
 .wedding-venue-section .venue-feature-photo { position: relative; flex: 1; min-height: 32vw; }
 .wedding-venue-section .venue-feature-photo .w-image-h { position: absolute; inset: 0; height: 100%; }
 .wedding-venue-section .venue-feature-photo .w-image-h > a { height: 100%; }
 .wedding-venue-section .venue-feature-photo img { height: 100%; object-fit: cover; }
 .wedding-venue-section .venue-story > .wpb_column:has(.venue-story-copy) { width: 36%; }
 .wedding-venue-section .venue-story > .wpb_column:not(:has(.venue-story-copy)) { width: 64%; }
 /* The ceremony panel needs more reading width; its photo extends underneath. */
 .wedding-venue-section .venue-story:not(.venue-church):has(> .vc_col-sm-4 .venue-story-copy) > .wpb_column:has(.venue-story-copy) { width: 40%; position: relative; z-index: 2; }
 .wedding-venue-section .venue-story:not(.venue-church):has(> .vc_col-sm-4 .venue-story-copy) > .wpb_column:not(:has(.venue-story-copy)) { width: 60%; position: relative; z-index: 1; }
 .wedding-venue-section .venue-story:not(.venue-church):has(> .vc_col-sm-4 .venue-story-copy) .venue-feature-photo { width: calc(100% + 6vw); max-width: none; margin-left: -6vw; }
 .venue-feature .venue-story-copy { width: calc(100% + 2vw); margin-left: -2vw; }
 .venue-feature-reverse .venue-story-copy { width: calc(100% + 2vw); margin-left: 0; }
 .venue-church.venue-story { align-items: stretch; }
 .wedding-venue-section .venue-church > .wpb_column:has(.venue-story-copy) { width: 60%; }
 .wedding-venue-section .venue-church > .wpb_column:not(:has(.venue-story-copy)) { width: 40%; }
 .venue-church .venue-story-copy { margin-top: 2vw; }
}
@media (max-width: 800px) {
 .wedding-venue-intro p { font-size: 16px; }
 .wedding-venue-section .venue-story-copy .w-btn { margin-top: 20px; }
 .wedding-venue-section .venue-feature-photo { margin-top: 24px; }
 .wedding-venue-section .venue-browse { margin-top: 18px; font-size: 23px; }
 .l-section.wedding-venue-cta { padding-block: 40px; }
 .wedding-venue-cta .w-separator { margin-bottom: 24px; }
 .wedding-venue-cta h2 { font-size: 24px; margin-bottom: 30px; }
}
