/* Round 10: responsive detail layout, smoother menu and login feedback. */
#loginError.kc-signing-in{color:#168453!important;font-weight:650!important}
#loginError:not(.kc-signing-in){color:#ad3434}
@media(max-width:980px){
 #mobileNavMenu{transition:opacity .38s ease,transform .38s cubic-bezier(.22,.75,.3,1),visibility .38s ease!important}
 #mobileNavMenu:not(.open){opacity:0!important;transform:translateY(-12px)!important;pointer-events:none!important;visibility:hidden!important;display:block!important}
 #mobileNavMenu.open{opacity:1!important;transform:translateY(0)!important;visibility:visible!important;pointer-events:auto!important}
 #mobileNavMenu .kc-mobile-nav-link{transition:opacity .36s ease,transform .36s ease!important}
 #mobileNavMenu:not(.open) .kc-mobile-nav-link{opacity:0!important;transform:translateY(-10px)!important}
 #mobileNavMenu.open .kc-mobile-nav-link{opacity:1!important;transform:translateY(0)!important}
}
@media(prefers-reduced-motion:reduce){#mobileNavMenu,#mobileNavMenu .kc-mobile-nav-link{transition:none!important}}
/* Mobile modal: flexible image height and balanced metrics, no unreachable footer. */
@media(max-width:980px){
 .property-detail-shell{overflow-y:auto!important;overscroll-behavior:contain!important}
 .property-detail-modal{width:min(100%,940px)!important;max-height:calc(100dvh - 16px)!important;overflow-y:auto!important;display:block!important}
 .property-detail-gallery{height:auto!important;min-height:0!important;max-height:none!important}
 #propertyDetailMain,.property-detail-main{height:clamp(180px,35dvh,350px)!important;min-height:0!important;overflow:hidden!important}
 .property-detail-photo-wrap{height:100%!important;min-height:0!important}
 .property-detail-thumbs{padding-block:8px!important}
 .property-detail-content{padding:clamp(14px,3vw,28px)!important;gap:clamp(8px,1.5vh,18px)!important;overflow:visible!important;height:auto!important;max-height:none!important}
 .property-detail-keygrid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
 .property-detail-keygrid>*{min-width:0!important;padding:clamp(9px,1.8vw,16px)!important}
 .property-detail-heading h2{font-size:clamp(23px,4vw,35px)!important}
 .property-detail-keygrid strong{font-size:clamp(15px,2.7vw,22px)!important;overflow-wrap:anywhere}
}
@media(min-width:600px) and (max-width:980px){
 .property-detail-keygrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:380px){
 .property-detail-keygrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .property-detail-content{padding:12px!important}
 #propertyDetailMain{height:clamp(170px,29dvh,250px)!important}
}
