.project-facts, .inventory-summary { max-width: 1120px; padding: 40px 24px; margin: auto; box-sizing: border-box; }
.enquiry-actions, .project-facts, .confirmed-facts, .inventory-summary { font-family: 'Outfit', sans-serif; }
.enquiry-actions { margin: 20px 0; }
.enquiry-actions p { margin: 0 0 12px; }
.enquiry-buttons, .enquiry-direct { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.enquiry-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 12px 20px; border-radius: 24px; background: #365f80; color: white; text-decoration: none; font: 600 16px 'Outfit', sans-serif; text-align: center; box-sizing: border-box; }
.enquiry-button--secondary { background: #fff; border: 1px solid #6090b5; color: #244660; }
.enquiry-button:hover { background: #244660; color: white; }
.enquiry-button:focus-visible, .enquiry-direct a:focus-visible { outline: 3px solid #6090b5; outline-offset: 3px; }
.enquiry-direct { margin-top: 14px; overflow-wrap: anywhere; }
.enquiry-direct a { color: #244660; padding: 6px 0; }
.amenities-list { display: flex; flex-wrap: wrap; gap: 10px; padding: 0; list-style: none; font-family: 'Outfit', sans-serif; }
.amenities-list li { border: 1px solid #a6c9e2; border-radius: 14px; padding: 10px 14px; }
.confirmed-facts { font-size: 14px; color: #475567; }
.inventory-price { font: 600 24px 'Outfit', sans-serif; color: #0b1520; margin: 16px 0; }
.inventory-status { display: block; margin-bottom: 10px; color: #365f80; font-size: 14px; }
.re-card { min-width: 0; display: flex; flex-direction: column; }
.re-card-info { display: block; flex: 1; padding: 24px; }
.re-card-meta { white-space: normal; line-height: 1.6; }
.home-footer-text a { color: inherit; }
.home-footer-text a:hover { text-decoration: none; }
.media-disclosure { display: block; font: 14px/1.5 'Outfit', sans-serif; margin: 10px 0; color: #475567; }
.photo-edit-marker { margin-left: 2px; font-size: 0.8em; }
.photo-edit-note { max-width: 1120px; margin: 32px auto 0; padding: 0 24px 24px; font: 12px/1.6 'Outfit', sans-serif; color: #475567; }
.photo-edit-note small { font-size: inherit; }
.re-card-name { font-size: 21px; line-height: 1.35; margin: 0 0 12px; }
.re-card-name a, .project-prop-name a { color: inherit; text-decoration: none; }
.re-card .enquiry-buttons { align-items: stretch; flex-direction: column; }
.inventory-details { display: inline-block; color: #244660; padding: 10px 0; }
.re-filters-row-dropdowns { flex-wrap: wrap; gap: 16px; }
.re-filters-row-dropdowns > label { display: flex; flex-direction: column; gap: 6px; flex: 1 1 180px; min-width: 0; font-family: 'Outfit', sans-serif; }
.re-filters-row-dropdowns select { max-width: 100%; }
.re-hero { height: auto; min-height: 500px; padding-bottom: 40px; }
.re-filter-block { height: auto; }
.project-properties-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 290px), 1fr)); grid-auto-rows: auto; }
.project-prop-card { justify-content: flex-start; height: auto; box-sizing: border-box; }
.project-location-map { display: block; width: 100%; height: 320px; border: 0; border-radius: 16px; margin: 16px 0; }
.connect-right-column label { display: block; font: 500 16px 'Outfit', sans-serif; margin-bottom: 8px; }
.connect-right-column .pill-field { margin-bottom: 18px; }
.connect-right-column small { display: block; margin: 8px 0; color: #475567; line-height: 1.5; }
.connect-right-column input[type=checkbox] { width: 20px; height: 20px; }
.connect-right-column textarea.pill-textarea { min-height: 120px; height: 140px; }
.connect-right-column select { width: 100%; height: auto; }
.enquiry-error { border: 1px solid #a52828; background: #fff1f1; color: #791c1c; padding: 16px; border-radius: 12px; margin-bottom: 20px; }
.enquiry-privacy { font: 14px/1.6 'Outfit', sans-serif; margin: 20px 0; }
.connect-submit:disabled { opacity: .65; cursor: wait; }
.ap-mobile-contact { display: none; }
.img-lightbox-close { background: none; border: 0; }
.img-lightbox-content { max-width: 95%; max-height: 85vh; object-fit: contain; }
.ap-plan-image { cursor: zoom-in; object-fit: contain; }
.ap-hero-media { display: block; min-width: 0; }
.ap-hero-image-wrap { width: 100%; }
.ap-hero-media .media-disclosure { margin-bottom: 16px; }
@media (max-width: 768px) {
    .re-results-grid { grid-template-columns: 1fr; }
    .re-filters-row-dropdowns > * { flex: 1 1 100%; }
    .page-view_property .site-frame { padding-bottom: calc(90px + env(safe-area-inset-bottom)); }
    .ap-mobile-contact { display: flex; gap: 8px; position: fixed; bottom: 0; left: 0; right: 0; z-index: 80; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: white; box-shadow: 0 -4px 20px #0002; font: 600 14px 'Outfit', sans-serif; }
    .ap-mobile-contact a { padding: 12px; border-radius: 24px; background: #365f80; color: white; text-decoration: none; text-align: center; flex: 1; }
    body.cookie-banner-open .ap-mobile-contact, body.form-control-focused .ap-mobile-contact, body.lightbox-open .ap-mobile-contact, body.mobile-nav-open .ap-mobile-contact { display: none; }
    .project-facts, .inventory-summary { padding: 28px 24px; }
}

.footer-social-row > a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: white; }
.footer-social-row .whatsapp-icon { width: 28px; height: 28px; }
.footer-social-row > a:focus-visible { outline: 2px solid white; outline-offset: 4px; }
