.property-section { margin: 1.5rem auto 2rem; max-width: 1232px; width: calc(100% - 3rem); scroll-margin-top: 110px; }
.property-banner { position: relative; padding: 28px 36px; min-height: 230px; box-sizing: border-box; border-radius: 18px; background: linear-gradient(90deg,rgba(5,15,26,.20),rgba(5,15,26,0) 65%),url('assets/property-villa.webp') center 54%/cover; color: white; }
.property-banner h2 { margin: 0 0 10px; font-size: clamp(1.6rem,3vw,2.25rem); line-height: 1.15; color: white; text-shadow: 0 2px 6px #0008; }
.property-banner p { margin: 0 0 20px; max-width: 100%; line-height: 1.5; color: white; text-shadow: 0 1px 2px #000, 0 2px 5px #000, 0 0 10px rgba(0,0,0,.95), 0 3px 16px rgba(0,0,0,.85); }
.property-toggle { gap: 12px; text-transform: none; cursor: pointer; }
.property-toggle span:last-child { transition: transform .2s; }
.property-toggle[aria-expanded=true] span:last-child { transform: rotate(180deg); }
.property-panel { position: fixed; inset: auto; margin: 0; width: min(440px,calc(100% - 24px)); box-sizing: border-box; padding: 20px; overflow-y: auto; overscroll-behavior: contain; background: #111c27; color: #fff; border: 1px solid #627281; border-radius: 14px; box-shadow: 0 14px 45px #0009; z-index: 10000; color-scheme: dark; }
.property-panel::backdrop { background: transparent; pointer-events: none; }
.property-panel:not(:popover-open) { display:none; }
.property-panel header { display:flex; justify-content:space-between; align-items:center; margin-bottom:14px; }
.property-panel h3 { color:#fff; margin:0; font-size:1.35rem; }
.property-close { border:0; background:none; color:white; font-size:26px; padding:0 6px; cursor:pointer; }
.property-panel form { display:grid; gap:12px; }
.property-panel label,.property-panel legend { font-size:13px; font-weight:600; color:#fff; }
.property-panel label { display:grid; gap:5px; }
.property-panel fieldset { border:0; padding:0; margin:0; min-width:0; }
.property-panel legend { margin-bottom:6px; }
.property-panel input:not([type=radio]) { box-sizing:border-box; width:100%; min-width:0; padding:9px 11px; font:inherit; font-size:14px; border:1px solid #63717e; border-radius:8px; color:#fff; background:#1d2935; }
.property-panel input::placeholder { color:#adb8c4; }
.property-pair { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.property-options { display:flex; gap:5px; }
.property-options label { flex:1; position:relative; }
.property-options input { position:absolute; opacity:0; width:1px; height:1px; }
.property-options span { text-align:center; border:1px solid #63717e; border-radius:7px; padding:9px 4px; font-size:13px; cursor:pointer; }
.property-options input:checked + span { background:#079bb6; border-color:#2bd4ec; }
.property-options input:focus-visible + span,.property-panel :focus-visible { outline:2px solid #67e8f9; outline-offset:3px; }
.property-panel .property-privacy { font-size:11px; color:#c5d0da; margin:0; line-height:1.5; }
.property-panel a { color:#75d9ed; }
.property-submit { width:100%; text-transform:none; cursor:pointer; }
.property-submit:disabled { opacity:.6; cursor:wait; }
.property-status { font-size:14px; line-height:1.5; margin:0; }
.property-honeypot { position:absolute!important; left:-10000px; }
.property-panel [hidden] { display:none!important; }
@media(min-width:1024px) { .nav-menu { gap:1rem; } .nav-link { font-size:.85rem; } }
@media(max-width:600px) { .property-section { width:calc(100% - 24px); } .property-banner { padding:24px 20px; min-height:240px; background-position:62% center; } .property-banner p { max-width:280px; font-size:14px; } .property-panel { padding:16px; } }
