#top #wrap_all .tw-deal .tw-property-sidebar {min-width:0;}
#top #wrap_all .tw-deal .tw-property-sidebar .tw-brokers {margin-bottom:24px;}
#top #wrap_all .tw-map-card {position:relative;isolation:isolate;min-width:0;background:var(--tw-broker-background,#F5F1EB);border:1px solid #dedbd3;border-radius:6px;overflow:hidden;padding:16px;box-sizing:border-box;}
#top #wrap_all .tw-map-preview {height:280px;width:100%;}
#top #wrap_all .tw-map-open {position:absolute;inset:0 0 32px;width:100%;border:0;background:transparent;cursor:pointer;color:#454739;padding:16px;text-align:left;z-index:2;}
#top #wrap_all .tw-map-open span {position:absolute;left:12px;top:12px;padding:8px 12px;background:#faf9f5;border-radius:4px;font-size:14px;}
#top #wrap_all .tw-map-open:disabled {display:none;}
#top #wrap_all .tw-map-open:focus-visible {outline:3px solid #454739;outline-offset:-4px;}
#top #wrap_all .tw-map-status {position:absolute;top:40%;left:20px;right:20px;margin:0;text-align:center;font-size:14px;}
#top #wrap_all .tw-map-status[hidden] {display:none;}
#top #wrap_all .tw-map-dialog {box-sizing:border-box;position:fixed;inset:0;width:min(1100px,94vw);height:min(800px,90dvh);max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #dedbd3;border-radius:8px;background:#faf9f5;color:#454739;}
#top #wrap_all .tw-map-dialog:not([open]) {display:none;}
#top #wrap_all .tw-map-dialog[open] {display:flex;flex-direction:column;}
.tw-map-dialog::backdrop {background:rgba(30,32,28,.55);}
#top #wrap_all .tw-map-toolbar {display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;flex-shrink:0;}
#top #wrap_all .tw-map-toolbar h2 {margin:0;font-size:20px;}
#top #wrap_all .tw-map-close {min-height:44px;padding:8px 16px;background:#454739;color:#fff;border:0;border-radius:4px;cursor:pointer;}
#top #wrap_all .tw-map-large {flex:1;min-height:0;width:100%;}
#top #wrap_all .tw-map-dialog-status {margin:0;padding:0 16px;font-size:14px;}
#top #wrap_all .tw-map-dialog-status:empty {display:none;}
.tw-map-home {width:38px;height:38px;border-radius:50%;background:#454739;border:2px solid #faf9f5;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px #0003;}
.tw-map-home svg {width:24px;height:24px;fill:none;stroke:#fff;stroke-width:1.7;stroke-linejoin:round;stroke-linecap:round;}
@media(max-width:767px){#top #wrap_all .tw-map-dialog {width:100%;height:100dvh;border-radius:0;border:0;}#top #wrap_all .tw-map-preview {height:260px;}}
@media print{.tw-map-card{display:none!important;}}

/* Quiet, separate sidebar cards; preserve existing mobile contact arrangement. */
#top #wrap_all .tw-deal .tw-property-sidebar .tw-brokers {padding:16px;border:1px solid #dedbd3;border-radius:6px;box-sizing:border-box;margin-bottom:20px;}
#top #wrap_all .tw-deal .tw-property-sidebar .tw-broker + .tw-broker {margin-top:22px;}
#top #wrap_all .tw-deal .tw-property-sidebar .tw-broker-role {margin-bottom:10px;}
#top #wrap_all .tw-deal .tw-property-sidebar .tw-broker-details p {margin:0 0 4px;overflow-wrap:anywhere;}
#top #wrap_all .tw-map-stage {position:relative;overflow:hidden;border-radius:3px;}
#top #wrap_all .tw-map-preview {height:250px;}
@media(min-width:768px){
 #top #wrap_all .tw-deal .tw-property-sidebar .tw-broker img {max-width:200px;max-height:220px;object-fit:contain;margin:0 auto 8px;}
 #top #wrap_all .tw-deal .tw-property-sidebar .tw-broker-role {font-size:19px;}
 #top #wrap_all .tw-deal .tw-property-sidebar .tw-broker-name {font-size:20px;}
}

/* Closing full-width section, outside the property/contact grid. */
#top #wrap_all .tw-deal .tw-map-section {width:100%;min-width:0;margin:40px 0 0;box-sizing:border-box;}
#top #wrap_all .tw-deal .tw-map-section .tw-map-preview {height:480px;}
@media(max-width:767px){
 #top #wrap_all .tw-deal .tw-map-section {width:calc(117.6470588235% - 6px);margin-left:calc(-8.8235294118% + 3px);margin-right:calc(-8.8235294118% + 3px);}
 #top #wrap_all .tw-deal .tw-map-section .tw-map-preview {height:360px;}
}
@media print{#top #wrap_all .tw-deal .tw-map-section {display:none!important;}}

/* Shared Mapbox typography and public points. No property/post-type dependency. */
#top #wrap_all .tw-map-card {font-family:var(--triwas-property-font-body,var(--triwas-font-body,"adobe-caslon-pro",Georgia,serif));}
#top #wrap_all .tw-map-card button {font-family:var(--triwas-property-font-button,var(--triwas-font-button,"adobe-caslon-pro",Georgia,serif));}
#top #wrap_all .tw-map-toolbar h2 {font-family:var(--triwas-property-font-heading,var(--triwas-font-heading,"Josefin Sans",sans-serif));}
/* Preserve the whole-preview opener when there are no points. */
#top #wrap_all .tw-map-card.has-points .tw-map-open {inset:12px auto auto 12px;width:auto;min-height:44px;padding:0;}
#top #wrap_all .tw-map-card.has-points .tw-map-open span {position:static;display:block;}
#top #wrap_all .tw-map-card .tw-map-point {width:44px;height:44px;box-sizing:border-box;padding:7px;margin:0;border:0;border-radius:50%;background:transparent;cursor:pointer;z-index:1;line-height:1;}
#top #wrap_all .tw-map-card .tw-map-point span {display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--triwas-color-button,#736657);color:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 4px #0005;box-sizing:border-box;}
#top #wrap_all .tw-map-card .tw-map-point:focus-visible {outline:2px solid #454739;outline-offset:0;}
#top #wrap_all .tw-map-card .tw-map-home {z-index:2;pointer-events:none;}
#top #wrap_all .tw-map-card .tw-map-point-popup {z-index:4;font-family:inherit;max-width:calc(100% - 32px);}
#top #wrap_all .tw-map-card .tw-map-point-popup .mapboxgl-popup-content {padding:16px;background:#faf9f5;color:#454746;box-sizing:border-box;}
#top #wrap_all .tw-map-card .tw-map-point-copy {overflow:auto;overflow-wrap:anywhere;padding-right:24px;font-size:14px;line-height:1.5;}
#top #wrap_all .tw-map-card .tw-map-point-copy strong {display:block;color:inherit;font:inherit;font-weight:700;}
#top #wrap_all .tw-map-card .tw-map-point-copy small {display:block;font:inherit;opacity:.8;}
#top #wrap_all .tw-map-card .tw-map-point-copy p {margin:8px 0 0;font:inherit;white-space:pre-line;}
#top #wrap_all .tw-map-card .mapboxgl-popup-close-button {width:44px;height:44px;font-size:24px;color:#454746;background:transparent;border:0;}

#top #wrap_all .tw-map-card .tw-map-point svg {width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
