/* General property detail only. Existing listing and open-house styles remain independent. */
.normal-detail-redesign { --detail-navy:#182e48; --detail-orange:#ed742c; --detail-line:#dce2e8; background:#f5f7fa; color:var(--detail-navy); }
.normal-detail-redesign .container { width:calc(100% - 64px); max-width:1160px; }
.normal-detail-redesign .breadcrumbs { padding-top:24px; }
.normal-detail-redesign .normal-back-link { margin:14px 0; }
.normal-detail-redesign .normal-detail-head { padding:32px 0 0; background:transparent; border:0; }
.normal-detail-redesign .normal-detail-head h1 { font-size:clamp(26px,3vw,40px); line-height:1.45; letter-spacing:.03em; margin:0 0 20px; color:var(--detail-navy); }
.normal-detail-redesign .normal-detail-head p { font-size:15px; line-height:1.9; }
.normal-detail-redesign .normal-detail-price { margin:22px 0 26px; }
.normal-detail-redesign .normal-detail-price strong { color:var(--detail-orange); font-size:clamp(36px,4vw,50px); line-height:1.2; }
.normal-detail-redesign .normal-detail-layout { display:block; padding-block:34px 64px; }
.normal-detail-redesign .detail-content { min-width:0; }
.normal-detail-redesign .normal-section { background:#fff; border:1px solid var(--detail-line); border-radius:10px; padding:32px; margin:0 0 28px; box-shadow:0 8px 28px #182e4804; }
.normal-detail-redesign .normal-section__heading { margin-bottom:24px; }
.normal-detail-redesign .normal-section__heading h2 { font-size:24px; color:var(--detail-navy); border:0; }
.normal-detail-redesign .normal-section__heading span { font-size:13px; color:#637181; }
.normal-detail-redesign .normal-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.normal-detail-redesign .normal-photo-grid:has(> :only-child) { grid-template-columns:1fr; }
.normal-detail-redesign .normal-photo-grid figure { width:100%; }
.normal-detail-redesign .normal-photo-grid img { margin:auto; max-height:520px; width:100%; object-fit:contain; }
.normal-detail-redesign .normal-unit-grid { grid-template-columns:1fr; gap:24px; }
.normal-detail-redesign .normal-unit-grid.is-single { grid-template-columns:1fr; }
.normal-detail-redesign .normal-unit { padding:24px; border:1px solid var(--detail-line); background:#f8fafc; border-radius:8px; }
.normal-detail-redesign .normal-unit.has-plan { display:grid; grid-template-columns:minmax(250px,.8fr) minmax(0,1.4fr); gap:40px; align-items:center; }
.normal-detail-redesign .normal-unit__head h2 { font-size:28px; color:var(--detail-navy); }
.normal-detail-redesign .normal-unit__price { font-size:36px; color:var(--detail-orange); margin:20px 0; }
.normal-detail-redesign .normal-unit dl > div { font-size:15px; padding:16px 0; }
.normal-detail-redesign .normal-unit dt { color:#637181; }
.normal-detail-redesign .normal-unit figure { width:100%; margin:auto; }
.normal-detail-redesign .normal-unit figure img { width:100%; max-height:580px; margin:auto; }
.normal-detail-redesign .normal-unit figcaption,.normal-detail-redesign .normal-photo-grid figcaption,.normal-detail-redesign .normal-document-grid figcaption { font-size:13px; margin-top:12px; color:#637181; }
.normal-detail-redesign .normal-document-grid { gap:28px; }
.normal-detail-redesign .normal-document-grid figure { width:100%; }
.normal-detail-redesign .normal-document-grid img { width:100%; max-height:380px; margin:auto; }
.normal-detail-redesign .normal-equipment { grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.normal-detail-redesign .normal-equipment li { padding:18px; font-size:14px; background:#f4f7fa; }
.normal-detail-redesign .normal-overview > div { grid-template-columns:200px minmax(0,1fr); }
.normal-detail-redesign .normal-overview dt,.normal-detail-redesign .normal-overview dd { font-size:14px; padding:15px 18px; line-height:1.8; overflow-wrap:anywhere; }
.normal-detail-redesign .normal-overview dt { background:#f4f7fa; }
.normal-detail-redesign .normal-related-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.normal-detail-redesign .detail-inquiry { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 30px; margin:0 0 28px; background:var(--detail-navy); color:#fff; border-radius:8px; }
.normal-detail-redesign .detail-inquiry h2 { margin:0 0 7px; color:#fff; font-size:18px; line-height:1.7; }
.normal-detail-redesign .detail-inquiry p { margin:0; font-size:13px; color:#cbd6e2; }
.normal-detail-redesign .detail-inquiry__actions { display:flex; gap:22px; align-items:center; flex-shrink:0; }
.normal-detail-redesign .detail-inquiry__web { background:#fff; border:1px solid #fff; color:var(--detail-navy); font-size:14px; padding:16px 24px; min-height:52px; border-radius:4px; }
.normal-detail-redesign .detail-inquiry__web:hover { background:#e6edf5; }
.normal-detail-redesign .detail-inquiry__phone { color:#fff; text-decoration:none; display:grid; }
.normal-detail-redesign .detail-inquiry__phone small { font-size:11px; color:#cbd6e2; }
.normal-detail-redesign .detail-inquiry__phone strong { font-size:21px; white-space:nowrap; }
.normal-detail-redesign .detail-mobile-contact { display:none; }
.normal-detail-redesign a:focus-visible,.normal-detail-redesign button:focus-visible { outline:3px solid var(--detail-orange); outline-offset:4px; }
@media(max-width:1000px) {
 .normal-detail-redesign .detail-inquiry { align-items:flex-start; flex-direction:column; gap:18px; }
 .normal-detail-redesign .detail-inquiry__actions { width:100%; justify-content:space-between; }
 .normal-detail-redesign .normal-related-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:700px) {
 .normal-detail-redesign { padding-bottom:80px; }
 .normal-detail-redesign .container { width:calc(100% - 32px); }
 .normal-detail-redesign .normal-detail-head { padding-top:20px; }
 .normal-detail-redesign .normal-detail-head p { font-size:13px; }
 .normal-detail-redesign .normal-detail-layout { padding-top:24px; }
 .normal-detail-redesign .normal-section { padding:20px 16px; margin-bottom:20px; border-radius:6px; }
 .normal-detail-redesign .normal-section__heading h2 { font-size:21px; }
 .normal-detail-redesign .normal-photo-grid,.normal-detail-redesign .normal-unit-grid,.normal-detail-redesign .normal-document-grid { grid-template-columns:1fr; }
 .normal-detail-redesign .normal-unit.has-plan { display:block; }
 .normal-detail-redesign .normal-unit { padding:18px 14px; }
 .normal-detail-redesign .normal-unit figure { margin-top:24px; }
 .normal-detail-redesign .normal-unit__price { font-size:30px; }
 .normal-detail-redesign .normal-unit dl > div { font-size:14px; }
 .normal-detail-redesign .normal-equipment { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .normal-detail-redesign .normal-equipment li { padding:12px 8px; font-size:12px; }
 .normal-detail-redesign .normal-overview > div { grid-template-columns:100px minmax(0,1fr); }
 .normal-detail-redesign .normal-overview dt,.normal-detail-redesign .normal-overview dd { font-size:12px; padding:12px 8px; }
 .normal-detail-redesign .detail-inquiry { padding:22px 18px; margin-bottom:20px; }
 .normal-detail-redesign .detail-inquiry h2 { font-size:17px; }
 .normal-detail-redesign .detail-inquiry__actions { flex-wrap:wrap; }
 .normal-detail-redesign .detail-inquiry__web { width:100%; }
 .normal-detail-redesign .detail-inquiry__phone { display:none; }
 .normal-detail-redesign .detail-mobile-contact { display:grid; grid-template-columns:1fr 2fr; gap:8px; position:fixed; z-index:50; bottom:0; left:0; right:0; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:#fff; border-top:1px solid var(--detail-line); box-shadow:0 -4px 24px #182e4814; }
 .normal-detail-redesign .detail-mobile-contact a { display:flex; align-items:center; justify-content:center; min-height:48px; border:1px solid var(--detail-navy); border-radius:4px; color:var(--detail-navy); font-size:12px; font-weight:700; text-decoration:none; }
 .normal-detail-redesign .detail-mobile-contact a:last-child { background:var(--detail-navy); color:#fff; }
 .normal-detail-redesign:has(.property-lightbox:not([hidden])) .detail-mobile-contact { visibility:hidden; }
}

.normal-detail-redesign .normal-unit .property-lightbox-trigger,.normal-detail-redesign .normal-photo-grid .property-lightbox-trigger,.normal-detail-redesign .normal-document-grid .property-lightbox-trigger { width:100%; display:block; }

.normal-detail-redesign .detail-equipment-icon { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; width:32px; height:32px; }
.normal-detail-redesign .detail-equipment-icon svg { display:block; width:32px; height:32px; }

@media(max-width:700px) {
 body.has-normal-detail-redesign { padding-bottom:calc(80px + env(safe-area-inset-bottom)); }
}

body.has-normal-detail-redesign > .mobile-contact-bar { display:none; }

/* Opt-in compact unit presentation: no fixed-height cards or upscaled drawings. */
.normal-detail-redesign .normal-unit-table-wrap { overflow-x:auto; border:1px solid var(--detail-line); border-radius:8px; }
.normal-detail-redesign .normal-unit-table { width:100%; border-collapse:collapse; color:var(--detail-navy); font-size:16px; line-height:1.5; }
.normal-detail-redesign .normal-unit-table th,.normal-detail-redesign .normal-unit-table td { padding:13px 20px; text-align:center; border-bottom:1px solid var(--detail-line); }
.normal-detail-redesign .normal-unit-table thead { background:#edf2f6; }
.normal-detail-redesign .normal-unit-table tbody th { font-weight:700; }
.normal-detail-redesign .normal-unit-table tbody tr:last-child > * { border-bottom:0; }
.normal-detail-redesign .normal-unit-table tbody tr:nth-child(even) { background:#f8fafc; }
.normal-detail-redesign .normal-unit-table__price { color:var(--detail-orange); font-weight:800; font-size:18px; }
.normal-detail-redesign .normal-compact-siteplan figure { width:fit-content; max-width:100%; margin:0 auto; }
.normal-detail-redesign .normal-compact-siteplan .property-lightbox-trigger { display:block; width:auto; max-width:100%; margin:auto; }
.normal-detail-redesign .normal-compact-siteplan img { display:block; width:auto; height:auto; max-width:100%; max-height:1100px; object-fit:contain; margin:auto; }
.normal-detail-redesign .normal-compact-siteplan figcaption { margin-top:10px; text-align:center; font-size:13px; color:#637181; }
.normal-unit-table .visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
@media(max-width:600px) {
 .normal-detail-redesign .normal-unit-table { font-size:14px; }
 .normal-detail-redesign .normal-unit-table th,.normal-detail-redesign .normal-unit-table td { padding:11px 7px; }
 .normal-detail-redesign .normal-unit-table__price { font-size:16px; }
 .normal-detail-redesign .normal-compact-siteplan img { max-height:none; }
}

.normal-detail-redesign .normal-unit .detail-unit-photo { grid-column:1 / -1; }
