/* Contact controls */
.social-dock{position:fixed;right:22px;bottom:22px;z-index:9;display:flex;flex-direction:column;gap:10px;align-items:stretch}
.social-button{display:flex;align-items:center;gap:11px;min-height:57px;padding:11px 15px;border-radius:15px;color:white;box-shadow:0 6px 24px #102f3326;border:1px solid #ffffff60;transition:transform .2s,box-shadow .2s}
.social-button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #102f3333}
.social-button>svg:first-child{width:26px;height:26px;stroke:none}
.social-button>span{font-size:11px;font-weight:700;line-height:1.25;min-width:83px}
.social-button small{display:block;font-size:8px;font-weight:400;opacity:.88;margin-top:4px;letter-spacing:.3px}
.social-button .social-external{width:13px;height:13px;margin-left:7px}
.social-whatsapp{background:#176749}.social-whatsapp>svg:first-child{color:#b4ffc5}
.social-instagram{background:linear-gradient(120deg,#69349a,#b63f79 60%,#ce6a58)}
.header-cta{background:var(--green);color:white;border-color:var(--green);gap:10px}.header-cta:hover{background:#35654c}
.header-cta>svg{width:18px;height:18px}
.instagram-feature{display:inline-flex;align-items:center;padding:12px 16px;border:1px solid #bfcbb45c;border-radius:6px;background:#ffffff08;gap:11px;color:#f5f4eb;transition:background .2s}
.instagram-feature:hover{background:#ffffff15}.instagram-feature>svg:first-child{width:18px;height:18px}
.property-grid{row-gap:45px}.property-visual .photo-count{position:absolute;right:12px;top:14px;display:flex;align-items:center;gap:5px;background:#f8f7f3ed;color:var(--green);border:1px solid #ffffff77;border-radius:4px;padding:4px 7px;font-size:9px;line-height:1.5}
.photo-count svg{width:13px;height:13px}.property-info h3{min-height:36px}.property-description{min-height:21px}.property-bottom button{min-height:32px}
.property-description,.property-specs,.property-bottom>span{line-height:1.6}

/* Property photo galleries */
.property-dialog{width:1140px;max-width:calc(100% - 42px);max-height:92dvh;overflow:hidden;border-radius:5px}
.property-dialog .dialog-close{top:13px;right:13px;width:37px;height:37px;z-index:8;background:var(--paper);border:1px solid #d9dfd4}
#property-dialog-content{max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a4b299 transparent}
.property-detail-grid{display:grid;grid-template-columns:1.13fr 1fr;align-items:start}
.gallery-column{padding:28px 24px;background:#eeeee7;position:sticky;top:0;min-width:0}
.gallery-intro{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:15px}
.gallery-intro>span{font-size:9px;font-weight:700;letter-spacing:1.2px}.gallery-intro>small{font-size:9px;color:var(--muted)}
.gallery-frame{height:415px;position:relative;background:#e4e6dd;overflow:hidden;touch-action:pan-y}
.gallery-image-container{height:100%;width:100%;display:flex;align-items:center;justify-content:center}
.gallery-image-container img{width:100%;height:100%;object-fit:contain;user-select:none}
.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:37px;height:37px;display:flex;align-items:center;justify-content:center;background:#fffffff2;border:1px solid #e5e8df;border-radius:50%;box-shadow:0 2px 9px #162c2020;z-index:2}
.gallery-nav:hover{background:#dfe9cb}.gallery-nav svg{width:18px;height:18px}.gallery-prev{left:10px}.gallery-prev svg{transform:rotate(180deg)}.gallery-next{right:10px}
.gallery-type{position:absolute;bottom:10px;left:11px;background:#183f30c9;color:white;font-size:8px;padding:4px 8px;letter-spacing:.3px}
.gallery-caption-line{display:flex;align-items:start;justify-content:space-between;gap:20px;padding-block:13px}
.gallery-caption{font-size:11px;line-height:1.6;max-width:70%;color:#52634f}
.gallery-full{font-size:9px;display:flex;align-items:center;gap:5px;white-space:nowrap;padding-top:2px}.gallery-full svg{width:12px;height:12px}
.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding-block:1px 9px;scrollbar-width:thin;scrollbar-color:#a4b299 transparent}
.gallery-thumb{flex:0 0 78px;width:78px;height:61px;padding:3px;border:1px solid transparent;border-radius:3px;opacity:.7;background:#dfe3d6;transition:opacity .2s,border-color .2s}
.gallery-thumb img{width:100%;height:100%;object-fit:cover;border-radius:1px}.gallery-thumb.is-active{opacity:1;border-color:var(--green);background:var(--paper)}.gallery-thumb:hover{opacity:1}
.gallery-source{font-size:9px;line-height:1.8;color:var(--muted);padding-top:11px;border-top:1px solid #d3dacb;margin-top:4px}.gallery-source a{text-decoration:underline;text-underline-offset:2px}
.detail-copy{padding:40px 34px 30px;min-width:0}.detail-copy .eyebrow{font-size:8px;letter-spacing:1.4px;margin-bottom:12px;padding-right:25px}
.detail-copy h2{font-size:43px;line-height:1.02;letter-spacing:-1px;margin-bottom:14px}.detail-copy .location{font-size:11px;line-height:1.6;margin-bottom:21px;align-items:start}.detail-copy .location svg{margin-top:3px}
.detail-description{font-size:12px;line-height:1.9;color:var(--muted);margin-bottom:23px}
.detail-facts{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid #d9dfd3;border-bottom:1px solid #d9dfd3;margin-bottom:25px}
.detail-fact{padding:14px 12px 14px 0;display:flex;flex-direction:column;gap:5px;min-width:0}.detail-fact:nth-child(2n){border-left:1px solid #d9dfd3;padding-left:17px}.detail-fact:nth-child(n+3){border-top:1px solid #d9dfd3}
.detail-fact strong{font-family:var(--serif);font-size:25px;line-height:1.1;font-weight:500}.detail-fact span{font-size:9px;color:var(--muted)}
.detail-feature-group{margin-block:23px}.detail-feature-group h3{font-size:25px;line-height:1.15;margin-bottom:12px}.detail-feature-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:9px}
.detail-feature-group li{display:flex;align-items:start;gap:8px;font-size:11px;line-height:1.8;color:#566650}.detail-feature-group li svg{width:14px;height:14px;flex-shrink:0;margin-top:3px;color:#819971}
.detail-price{margin-top:27px;padding-top:20px;border-top:1px solid #d9dfd3}.detail-price>span{display:block;font-size:8px;letter-spacing:1.4px;font-weight:600;color:var(--muted);margin-bottom:5px}.detail-price strong{display:block;font-family:var(--serif);font-weight:500;font-size:29px;line-height:1.2}
.detail-price p{font-size:10px;line-height:1.8;color:var(--muted);margin-top:8px}
.detail-cta{width:100%;font-size:12px;gap:11px;margin-top:20px;min-height:52px;background:#176749}.detail-cta svg:first-child{width:19px;height:19px}.detail-cta svg:last-child{width:15px;height:15px;margin-left:auto}
.detail-instagram{display:flex;align-items:center;justify-content:center;gap:8px;font-size:10px;line-height:1.6;margin-top:15px;border:1px solid #d1d8cb;padding:11px 14px;min-height:42px}.detail-instagram svg{width:15px;height:15px}
.detail-notice{font-size:9px;color:var(--muted);line-height:1.8;margin-top:19px}
@media(max-width:1050px){.gallery-column{padding:25px 20px}.gallery-frame{height:380px}.detail-copy{padding:38px 26px 28px}.detail-copy h2{font-size:38px}.gallery-caption{font-size:10px}.gallery-thumb{flex-basis:67px;width:67px;height:54px}.detail-fact strong{font-size:23px}}
@media(max-width:700px){
 .social-dock{right:14px;bottom:15px;gap:9px}.social-button{width:49px;height:49px;min-height:0;padding:0;justify-content:center;border-radius:50%;gap:0;box-shadow:0 4px 15px #143c362e}
 .social-button>span,.social-button .social-external{display:none}.social-button>svg:first-child{width:23px;height:23px}.instagram-feature{padding:13px 17px;font-size:12px}
 .property-grid{row-gap:35px}.property-visual .photo-count{font-size:9px;right:12px;top:13px}.property-dialog{width:100%;max-width:calc(100% - 18px);max-height:94dvh}.property-dialog .dialog-close{top:10px;right:10px;width:35px;height:35px}
 #property-dialog-content{max-height:94dvh}.property-detail-grid{grid-template-columns:1fr}.gallery-column{position:relative;padding:23px 15px 18px}.gallery-intro{padding:0 36px 13px 0}.gallery-intro>span{font-size:8px}.gallery-intro>small{font-size:8px}
 .gallery-frame{height:350px;max-height:52dvh}.gallery-nav{width:34px;height:34px}.gallery-prev{left:8px}.gallery-next{right:8px}.gallery-nav svg{width:17px;height:17px}.gallery-caption-line{padding-block:12px;gap:12px}.gallery-caption{font-size:10px}.gallery-full{font-size:8px}.gallery-thumb{width:67px;flex-basis:67px;height:54px}
 .gallery-source{font-size:9px;padding-top:9px}.gallery-type{font-size:7px}.detail-copy{padding:25px 24px 28px}.detail-copy h2{font-size:39px}.detail-copy .eyebrow{font-size:8px;padding:0;line-height:1.7}.detail-copy .location{font-size:11px;margin-bottom:19px}
 .detail-description{font-size:12px}.detail-fact strong{font-size:25px}.detail-fact span{font-size:10px}.detail-feature-group h3{font-size:27px}.detail-feature-group li{font-size:12px}.detail-price strong{font-size:31px}.detail-price p,.detail-notice{font-size:10px}.detail-cta{font-size:12px}.detail-instagram{font-size:11px}
}
@media(max-width:370px){.detail-copy{padding-inline:20px}.detail-copy h2{font-size:36px}.gallery-frame{height:320px}.gallery-column{padding-inline:12px}.detail-cta{font-size:11px}.property-visual .photo-count{font-size:8px}}
@media(prefers-reduced-motion:reduce){.social-button,.gallery-thumb{transition:none}}
