/* Property wireframe composition using the site's existing type, colours and controls. */
.property-sheet { color: var(--black); text-align: left; }
.property-sheet .property-sheet-container { width: min(1240px, calc(100% - 48px)); margin-inline: auto; }
.property-breadcrumbs { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; padding-top: 28px; color: #737373; font-size: 12px; }
.property-breadcrumbs [aria-current] { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 45ch; }
.property-back-link { display: inline-flex; align-items: center; gap: 8px; margin: 14px 0 24px; font-size: 13px; font-weight: 600; }
.property-back-link svg { width: 16px; height: 16px; }
.property-sheet-gallery { position: relative; height: clamp(320px, 40vw, 520px); overflow: hidden; border-radius: 8px; background: #f4f3ef; }
.property-sheet-main-image { display: block; width: 100%; height: 100%; object-fit: cover; cursor: zoom-in; }
.property-sheet-tools { position: absolute; top: 20px; right: 20px; display: flex; gap: 10px; }
.property-sheet-tools .button { background: #fff; min-height: 44px; padding: 10px 16px; }
.property-sheet-tools [aria-pressed="true"] svg { fill: var(--gold); stroke: var(--black); }
.property-sheet .property-sheet-photos { position: absolute; bottom: 20px; left: 20px; }
.property-sheet-thumbs { display: flex; gap: 12px; overflow-x: auto; padding: 14px 0 4px; scrollbar-width: thin; }
.property-sheet-thumbs > button, .property-sheet-media-link { flex: 0 0 calc((100% - 84px) / 8); min-width: 90px; height: 88px; padding: 0; border: 2px solid transparent; border-radius: 6px; overflow: hidden; cursor: pointer; background: #f5f4f0; }
.property-sheet-thumbs > button.is-active { border-color: var(--gold); }
.property-sheet-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.property-sheet-media-link { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px; font-size: 12px; }
.property-sheet-columns { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 56px; align-items: start; margin-top: 36px; }
.property-sheet-content, .property-sheet-rail { min-width: 0; }
.property-sheet-heading { margin-bottom: 32px; }
.property-sheet-badges { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.property-sheet-badges .section-kicker { margin: 0; }
.property-sheet .property-sheet-heading h1 { margin: 0 0 20px; font-size: var(--title-page-size); font-weight: 600; line-height: var(--title-line-height); letter-spacing: -0.025em; text-transform: none; text-wrap: balance; }
.property-sheet-heading p { display: flex; align-items: center; gap: 8px; margin: 0; color: #737373; font-size: 15px; }
.property-sheet-heading p svg { width: 18px; height: 18px; flex-shrink: 0; }
.property-sheet-rail { position: sticky; top: 110px; }
.property-sheet-price-card, .property-sheet-mobile-price { display: grid; gap: 12px; border: 1px solid #e4e2dc; border-radius: 8px; padding: 24px; background: #fff; }
.property-sheet-price-card > span, .property-sheet-mobile-price > span { color: #737373; font-size: 12px; }
.property-sheet-price-card > strong, .property-sheet-mobile-price > strong { font-size: 30px; line-height: 1.2; font-weight: 600; margin-bottom: 8px; overflow-wrap: anywhere; }
.property-sheet-price-card .button { width: 100%; }
.property-sheet-price-card p { color: #737373; font-size: 12px; margin: 4px 0 0; }
.property-sheet .detail-block { margin: 0; padding: 30px 0; border-top: 1px solid #e6e4df; }
.property-sheet .detail-section-heading { font-size: var(--title-content-size); font-weight: 600; line-height: var(--title-line-height); margin: 0 0 24px; text-align: left; }
.property-sheet .overview-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.property-sheet .overview-card { padding: 16px; min-height: 100px; }
.property-sheet .overview-card strong { font-size: 17px; line-height: 1.4; }
.property-sheet .overview-card > span { font-size: 12px; }
.property-sheet .property-spec-table { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 0; }
.property-sheet .property-spec-table > div { border: 0; border-bottom: 1px solid #e6e4df; padding: 16px 12px 16px 0; }
.property-sheet .property-spec-table > div:nth-child(even) { padding-left: 18px; border-left: 1px solid #e6e4df; }
.property-sheet .property-spec-table dd { font-size: 15px; overflow-wrap: anywhere; }
.property-sheet .property-detail-amenities { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 24px; }
.property-sheet .property-description { max-width: 72ch; font-size: 16px; line-height: 1.8; font-weight: 400; color: #555; overflow-wrap: anywhere; text-align: left; }
.property-sheet .property-description p { margin: 0 0 22px; }
.property-sheet .property-description p:last-child { margin-bottom: 0; }
.property-sheet .property-description ul, .property-sheet .property-description ol { margin: 0 0 24px; padding-left: 22px; }
.property-sheet .property-description li { padding-left: 4px; margin: 7px 0; }
.property-sheet .property-description li::marker { color: #9c8747; }
.property-sheet .property-description h2, .property-sheet .property-description h3, .property-sheet .property-description h4 { font-size: 20px; font-weight: 600; line-height: 1.3; margin: 28px 0 14px; color: var(--black); }
.property-sheet .property-location-layout { display: grid; gap: 20px; }
.property-sheet .lux-map-box { min-height: 320px; height: 360px; }
.property-sheet-nearby { padding: 20px; border: 1px solid #e6e4df; border-radius: 8px; }
.property-sheet .property-sheet-nearby h3 { font-size: 17px; line-height: 1.4; margin: 0 0 14px; font-weight: 600; }
.property-sheet-nearby ul { padding: 0; margin: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.property-sheet-nearby li { display: grid; grid-template-columns:16px minmax(0,1fr) auto; align-items: start; gap: 8px; padding:14px 0; border-bottom:1px solid var(--line); font-size: 13px; color: #666; }
.property-sheet-nearby li:last-child { border-bottom:0; padding-bottom:0; }
.property-nearby-distance { white-space:nowrap; color:var(--black); font-weight:500; }
.property-nearby-place { overflow-wrap:anywhere; }
.property-nearby-source { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.property-sheet-nearby svg { width: 16px; height: 16px; flex-shrink: 0; color: #9c8747; margin-top: 2px; }
.property-sheet-contact { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.45fr); gap: 64px; padding: 40px; margin: 40px 0 64px; border-radius: 8px; border: 1px solid #e6e4df; background: #f7f7f5; scroll-margin-top: 110px; }
.property-sheet-contact-copy > a { display: flex; align-items: center; gap: 10px; margin-top: 16px; font-size: 14px; overflow-wrap: anywhere; }
.property-sheet-contact-copy > a svg { width: 18px; height: 18px; flex-shrink: 0; }
.property-sheet-contact-copy > p:not(.section-kicker) { font-size: 16px; font-weight: 600; }
.property-sheet-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.property-sheet-form label { display: grid; align-content: start; gap: 8px; font-size: 12px; font-weight: 600; min-width: 0; }
.property-sheet-form :is(input, select, textarea) { width: 100%; min-width: 0; border: 1px solid #dcdad4; background: #fff; color: var(--black); border-radius: 6px; padding: 12px; font: inherit; font-size: 14px; font-weight: 400; }
.property-sheet-form :is(input, select) { min-height: 46px; }
.property-sheet-form textarea { resize: vertical; }
.property-form-wide { grid-column: 1 / -1; }
.property-sheet-form button[type="submit"] { width:100%; }
.property-sheet-mobile-price, .property-sheet-mobile-bar { display: none; }
.property-sheet :is(a, button, input, textarea, select):focus-visible { outline: 2px solid #8b7638; outline-offset: 3px; }
.property-sheet [hidden] { display: none !important; }
@media (min-width: 1400px) {
  .property-sheet .property-location-layout:has(.property-sheet-nearby) { grid-template-columns: minmax(0, 1fr) 230px; }
  .property-sheet-nearby ul { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
  .property-sheet-columns { grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; }
  .property-sheet-price-card { padding: 20px; }
  .property-sheet-contact { gap: 32px; padding: 28px; }
}
@media (max-width: 760px) {
  .property-sheet .property-sheet-container { width: calc(100% - 32px); }
  .property-breadcrumbs { padding-top: 18px; font-size: 11px; }
  .property-breadcrumbs [aria-current] { display: none; }
  .property-breadcrumbs > span:nth-last-child(2) { display: none; }
  .property-back-link { margin-bottom: 18px; }
  .property-sheet-gallery { height:auto; aspect-ratio:354/220; }
  .property-sheet-tools { top: 12px; right: 12px; gap: 6px; }
  .property-sheet-tools .button { width:44px; height:44px; min-width:44px; padding:10px; }
  .property-sheet-tools .button span { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
  .property-sheet .property-sheet-photos { bottom: 12px; left: 12px; padding: 10px 14px; font-size: 11px; }
  .property-sheet-thumbs { gap:8px; padding-top:10px; scrollbar-width:none; scroll-snap-type:x proximity; }
  .property-sheet-thumbs::-webkit-scrollbar { display:none; }
  .property-sheet-thumbs > button,.property-sheet-media-link { flex-basis:100px; min-width:100px; height:70px; scroll-snap-align:start; }
  .property-sheet-columns { display: block; margin-top: 26px; }
  .property-sheet-rail { display: none; }
  .property-sheet-heading { margin-bottom: 24px; }
  .property-sheet .property-sheet-heading h1 { font-size: 30px; }
  .property-sheet-heading p { align-items: start; font-size: 13px; }
  .property-sheet-mobile-price { display: grid; margin-bottom: 30px; padding: 20px; }
  .property-sheet-mobile-price > strong { font-size: 28px; }
  .property-sheet .detail-block { padding: 26px 0; }
  .property-sheet .overview-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .property-sheet .overview-card { padding: 12px; min-height: 90px; }
  .property-sheet .overview-card strong { font-size: 15px; }
  .property-sheet .property-spec-table > div { padding-right: 10px; }
  .property-sheet .property-spec-table > div:nth-child(even) { padding-left: 10px; }
  .property-sheet .property-description { font-size: 15px; line-height: 1.75; }
  .property-sheet .lux-map-box { min-height: 280px; height: 300px; }
  .property-sheet-nearby ul { grid-template-columns: 1fr; }
  .property-sheet-contact { grid-template-columns: 1fr; gap: 26px; padding: 20px; margin: 20px 0 40px; }
  .property-sheet-form { grid-template-columns: 1fr; }
  .property-sheet-form :is(input, textarea, select) { font-size: 16px; }
  .property-sheet-mobile-bar { position: fixed; bottom: 0; inset-inline: 0; z-index: 150; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #e6e4df; box-shadow: 0 -4px 20px #0000000a; }
  .property-sheet-mobile-bar strong { font-size:17px; flex:0 1 36%; min-width:0; overflow-wrap:anywhere; }
  .property-sheet-mobile-bar .button { flex:1 1 64%; min-width:0; font-size:11px; padding:12px 8px; }
  body:has(.property-sheet-mobile-bar:not([hidden])) { padding-bottom: 90px; }
  body.property-gallery-is-open .property-sheet-mobile-bar, body:has(dialog[open]) .property-sheet-mobile-bar { display: none; }
}
.property-sheet .property-description p { font-size: inherit; line-height: inherit; color: inherit; white-space: normal; }
.property-sheet .property-description { white-space: normal; }
.property-sheet-contact .detail-section-heading::after { content: none; }
.property-sheet :is(#descricao, #localizacao) { scroll-margin-top: 110px; }
.property-sheet .property-detail-amenities > span { padding: 14px; border: 1px solid #e6e4df; border-radius: 6px; font-size: 14px; font-weight: 500; }
@media (max-width: 760px) {
  body:has(.property-sheet-mobile-bar:not([hidden])) .consent-settings-button { bottom: calc(96px + env(safe-area-inset-bottom)); }
}
.property-sheet .property-spec-table dt { min-width: 0; }
.property-sheet .property-spec-table dt span { min-width: 0; white-space: normal; overflow-wrap: anywhere; }
.property-sheet-gallery .property-detail-media-placeholder { position: absolute; inset: 0; min-height: 0; height: 100%; padding: 72px 20px; }

/* One specifications card, separate amenities and the reading order of the wireframe. */
.property-sheet-title-row { display:grid; grid-template-columns:minmax(0,1fr) 320px; align-items:start; gap:56px; margin-top:36px; }
.property-sheet-primary-price { display:grid; gap:12px; padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.property-sheet-primary-price>span { font-size:12px; color:var(--grey); }
.property-sheet-primary-price>strong { font-size:30px; line-height:1.2; font-weight:600; margin-bottom:8px; }
.property-sheet-primary-price .button { width:100%; }
.property-sheet .property-specifications { border-top:0; }
.property-specification-card { display:grid; grid-template-columns:repeat(var(--spec-columns,5),minmax(0,1fr)); border:1px solid var(--line); border-radius:var(--radius); margin:0; overflow:hidden; }
.property-specification-card>div { display:flex; align-items:center; gap:14px; padding:22px; border-right:1px solid var(--line); min-width:0; }
.property-specification-card>div:nth-child(5n) { border-right:0; }
.property-specification-card>div:nth-child(n+6) { border-top:1px solid var(--line); }
.property-specification-card>div>svg { width:28px; height:28px; flex-shrink:0; }
.property-specification-card>div>div { min-width:0; }
.property-specification-card dd { margin:0 0 5px; font-size:17px; font-weight:600; overflow-wrap:anywhere; }
.property-specification-card dt { font-size:12px; color:var(--grey); }
.property-amenity-cards { display:grid; grid-template-columns:repeat(var(--amenity-columns,6),minmax(0,1fr)); gap:18px; }
.property-amenity-cards>div { display:flex; flex-direction:column; gap:14px; padding:22px; border:1px solid var(--line); border-radius:var(--radius); font-size:14px; min-width:0; overflow-wrap:anywhere; }
.property-amenity-cards svg { width:32px; height:32px; flex-shrink:0; }
.property-sheet-columns { grid-template-columns:minmax(0,1fr) 260px; gap:36px; margin-top:0; }
.property-sheet .property-description-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:36px; }
.property-description-grid>article { min-width:0; }
.property-description-grid>article:only-child { grid-column:1/-1; }
.property-sheet .property-description-grid .detail-section-heading { font-size:22px; margin-bottom:22px; }
.property-sheet .detail-block .property-description-grid h2.detail-section-heading { display:block; }
.property-sheet .property-description-grid .detail-section-heading::after { display:block; width:44px; height:1px; margin:14px 0 0; background:var(--gold); }
.property-sheet .property-description { max-width:none; font-size:15px; line-height:1.75; }
.property-sheet .property-location-layout:has(.property-sheet-nearby) { grid-template-columns:minmax(0,2fr) minmax(280px,1fr); gap:32px; }
.property-sheet-nearby ul { grid-template-columns:1fr; }
.property-sheet-contact { grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:28px; padding:30px 0; border:0; border-top:1px solid var(--line); border-radius:0; background:none; margin:0 0 40px; }
.property-sheet-contact .detail-section-heading { font-size:24px; }
.property-sheet-form { padding:24px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }
.property-sheet-related .property-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.property-related-pages { display:none; }
.property-development-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; margin:20px 0 24px; font-size:15px; line-height:1.65; }
.property-development-description :is(p,ul,ol) { margin:0; font:inherit; }
@media(min-width:921px) {
  .property-sheet .property-development-summary:not(.without-image) { grid-template-columns:minmax(0,2fr) minmax(0,1fr); }
}
@media(max-width:1100px) {
  .property-sheet-title-row { grid-template-columns:minmax(0,1fr) 280px; gap:28px; }
  .property-specification-card>div { padding:16px; gap:10px; }
  .property-amenity-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .property-amenity-cards:has(>div:nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .property-sheet-columns { grid-template-columns:minmax(0,1fr) 230px; gap:24px; }
  .property-sheet-price-card .button { padding-inline:12px; gap:8px; font-size:11px; }
  .property-sheet .property-description-grid { grid-template-columns:1fr; }
  .property-sheet .property-location-layout:has(.property-sheet-nearby),.property-sheet-contact { grid-template-columns:1fr; }
}
@media(min-width:761px) and (max-width:1100px) {
  .property-specification-card>div { flex-direction:column; align-items:flex-start; }
  .property-specification-card dd { font-size:15px; }
  .property-sheet-related .property-card-actions { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .property-sheet-title-row { grid-template-columns:1fr; gap:0; margin-top:26px; }
  .property-sheet-primary-price { padding:20px; margin-bottom:28px; }
  .property-sheet-columns { display:block; }
  .property-specification-card { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .property-specification-card>div { border:0; border-bottom:1px solid var(--line); padding:14px; gap:8px; }
  .property-specification-card>div>svg { width:24px; height:24px; }
  .property-specification-card>div:nth-child(n+6) { border-top:0; }
  .property-specification-card>div:nth-child(odd) { border-right:1px solid var(--line); }
  .property-specification-card>div:last-child:nth-child(odd) { grid-column:1/-1; border-right:0; }
  .property-specification-card>div:last-child { border-bottom:0; }
  .property-specification-card dd { font-size:15px; }
  .property-amenity-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .property-amenity-cards>div { padding:18px; }
  .property-sheet .property-description-grid { gap:28px; }
  .property-sheet .property-description-grid .detail-section-heading { font-size:20px; }
  .property-sheet-form { padding:18px; }
  .property-sheet .lux-map-label { left:12px; right:12px; bottom:30px; padding:12px; }
  .property-sheet .lux-map-label strong { font-size:13px; line-height:1.4; }
  .property-sheet .lux-map-label span { font-size:11px; }
  .property-development-copy .button { width:100%; }
  .property-sheet-related .property-grid { display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:18px; }
  .property-sheet-related .property-grid>article { flex:0 0 84%; min-width:0; scroll-snap-align:start; }
  .property-sheet-related .property-card-actions .button { font-size:11px; padding:10px 8px; gap:6px; letter-spacing:.02em; }
  .property-sheet-related:has(.property-related-pages:not([hidden])) .property-grid { scrollbar-width:none; padding-bottom:0; }
  .property-sheet-related:has(.property-related-pages:not([hidden])) .property-grid::-webkit-scrollbar { display:none; }
  .property-related-pages:not([hidden]) { display:flex; gap:6px; margin-top:6px; }
  .property-related-pages button { position:relative; width:32px; height:44px; padding:0; border:0; background:none; cursor:pointer; }
  .property-related-pages button::after { content:""; display:block; height:3px; background:var(--line); }
  .property-related-pages button[aria-current="true"]::after { background:var(--black); }
  .property-related-pages button span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
}
@media(max-width:360px) {
  .property-specification-card>div { flex-direction:column; align-items:flex-start; }
  .property-specification-card dd { font-size:14px; }
  .property-sheet-related .property-card-actions { grid-template-columns:1fr; }
}

.property-sheet-related .property-body { display:flex; flex-direction:column; }
.property-sheet-related .property-location { order:0; }
.property-sheet-related .property-title { order:1; }
.property-sheet-related .property-meta { order:2; }
.property-sheet-related .property-price { order:3; }
.property-sheet-related .property-card-actions { order:4; margin-top:auto; }
