/* Responsive QA: preserve the design across native WordPress block wrappers. */
.grid > .wp-block-group__inner-container,
.links > .wp-block-group__inner-container,
.strip > .wp-block-group__inner-container,
.collection-hero > .wp-block-group__inner-container,
.photo-gallery > .wp-block-group__inner-container { display:contents; }
.grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.unit-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.links { grid-template-columns:repeat(3,minmax(0,1fr)); }
.strip { grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
.collection-hero { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
.photo-gallery { grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr)); }
main *, footer *, header *, dialog * { min-width:0; }
main,footer,header,dialog { overflow-wrap:anywhere; }
.tile { display:block; height:100%; }
.links > .wp-block-group__inner-container > p { margin:0; }
.wp-block-image { max-width:100%; }
main img { max-width:100%; }
.photograph > .wp-block-group__inner-container { height:100%; }
.grid .card .photograph { height:300px; }
.unit-grid .card .photograph { height:230px; }
.collection-hero .photograph { height:340px; }
.photo-gallery figure { margin:0; }
.photo-gallery img { display:block; }
.location-section > .wp-block-group__inner-container { max-width:none; }
.location-section .wp-block-image { margin:25px 0 0; }
.location-section .wp-block-image img { display:block; width:100%; height:auto; }
footer > div.wp-block-group > .wp-block-group__inner-container { display:flex; flex-wrap:wrap; align-items:center; gap:18px 25px; width:100%; justify-content:space-between; }
footer .note { color:#173b41; }
footer > nav,footer > section { max-width:1168px; margin-left:auto; margin-right:auto; }
.brand-group { max-width:100%; }
.brand-group > a:not(.brand-title) { flex-shrink:0; }
.brand-title { white-space:normal; }
.button, .filters button { max-width:100%; white-space:normal; }
#close-dialog { flex:0 0 44px; }
#booking-dialog { max-height:calc(100vh - 32px); max-height:calc(100dvh - 32px); overscroll-behavior:contain; }
html { scroll-padding-bottom:calc(var(--booking-bar-height,90px) + 16px); }
@media (min-width:721px) and (max-width:1000px) {
 .unit-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px) {
 .grid,.unit-grid,.links,.strip,.collection-hero { grid-template-columns:minmax(0,1fr); }
 .photo-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .photo-gallery > .wp-block-group__inner-container > figure:first-child { grid-column:1/-1; }
 .photo-gallery figure img { height:240px; }
 .photo-gallery figure:first-child img { height:280px; }
 .grid .card .photograph { height:245px; }
 .unit-grid .card .photograph { height:250px; }
 .collection-hero .photograph { height:260px; }
 body { padding-bottom:var(--booking-bar-height,calc(90px + env(safe-area-inset-bottom))); }
 .mobile-booking > .button { flex-shrink:0; }
}
@media (max-width:360px) {
 .brand-group img { width:44px; height:44px; }
 .brand-title { font-size:21px; }
 .content,.unit-grid .content { padding:20px; }
}
/* Native group wrappers must also preserve the existing wrapping flex rows. */
.category-nav > .wp-block-group__inner-container,
.booking-intro > .wp-block-group__inner-container,
.filters > .wp-block-group__inner-container { display:contents; }
.category-nav > .wp-block-group__inner-container > p,
.booking-intro > .wp-block-group__inner-container > p { margin:0; }
/* Editable photo galleries: uncropped images and captions in normal flow. */
.apartment-gallery { margin-top:48px; }
.apartment-gallery .wp-block-gallery.has-nested-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; align-items:start; margin:24px 0; }
.apartment-gallery .wp-block-gallery.has-nested-images figure.wp-block-image { width:100% !important; margin:0 !important; display:block; }
.apartment-gallery .wp-block-gallery.has-nested-images figure.wp-block-image img { display:block; width:100%; height:auto; max-height:440px; object-fit:contain; }
.apartment-gallery .wp-block-gallery.has-nested-images figure.wp-block-image figcaption { position:static; background:none; color:#173b41; padding:10px 0; margin:0; max-height:none; overflow:visible; font-size:14px; text-align:left; }
@media(max-width:720px) { .apartment-gallery .wp-block-gallery.has-nested-images { grid-template-columns:minmax(0,1fr); gap:18px; } }
