.rental-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rental-grid .property-card { min-width:0; display:flex; flex-direction:column; text-align:left; }
.rental-grid .property-image { width:100%; height:auto; aspect-ratio:4/3; }
.rental-grid .property-name { font-size:27px; overflow-wrap:anywhere; hyphens:auto; }
.rental-grid .property-meta { text-transform:uppercase; letter-spacing:.08em; }
.rental-grid .property-specs { margin-top:auto; padding-top:12px; font-size:14px; }
.property-request { display:flex; align-items:center; justify-content:space-between; width:calc(100% - 32px); margin:0 16px 18px; padding-top:14px; border-top:1px solid var(--line); font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
#propertyDialog[open] { display:block; width:min(1000px,calc(100vw - 32px)); max-width:1000px; max-height:calc(100dvh - 32px); padding:0; }
.rental-dialog .dialog-close { position:absolute; z-index:3; background:var(--paper); box-shadow:0 2px 12px #0002; }
.rental-gallery { position:relative; background:#e9e7e1; }
#rentalPhoto { display:block; width:100%; height:min(55vh,540px); object-fit:contain; }
.gallery-controls { position:absolute; bottom:14px; left:50%; transform:translateX(-50%); display:flex; align-items:center; gap:16px; padding:4px; background:#f7f5f0f5; border-radius:30px; font-size:14px; }
.gallery-controls button { width:44px; height:44px; border:0; background:transparent; font-size:30px; cursor:pointer; }
.rental-thumbnails { display:flex; gap:8px; padding:14px 20px; overflow-x:auto; }
.rental-thumbnails button { padding:2px; border:2px solid transparent; background:none; flex:0 0 78px; height:58px; cursor:pointer; }
.rental-thumbnails button[aria-current=true] { border-color:#37594c; }
.rental-thumbnails img { width:100%; height:100%; object-fit:cover; display:block; }
.rental-dialog .rental-copy { padding:24px 36px 36px; }
.rental-copy h2 { font-size:36px; max-width:800px; }
.rental-features { display:flex; flex-wrap:wrap; gap:10px 24px; padding-left:18px; color:var(--muted); font-size:16px; }
.rental-license { font-size:13px; color:var(--muted); line-height:1.6; }
.rental-actions { display:flex; flex-wrap:wrap; gap:12px; padding-top:10px; }
.rental-actions a { border:1px solid #83958a; }
#rentalInquiry[open] { display:block; }
#rentalInquiryProperty { font-size:16px; line-height:1.5; padding:16px; border:1px solid var(--line); }
#rentalForm .rental-consent { display:flex; flex-direction:row; align-items:flex-start; gap:12px; font-size:14px; }
#rentalForm .rental-consent input { width:20px; height:20px; min-height:20px; padding:0; margin:2px 0 0; flex-shrink:0; }
.rental-form-status { font-size:15px; line-height:1.6; }
.rental-form-status:empty { display:none; }
.rental-form-status.error { color:#963b2d; }
@media(max-width:980px) { .rental-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .rental-grid { grid-template-columns:1fr; }
  #propertyDialog[open] { width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  #rentalPhoto { height:290px; }
  .rental-dialog .rental-copy { padding:20px 22px 28px; }
  .rental-copy h2 { font-size:30px; }
  .rental-actions { display:grid; grid-template-columns:1fr; }
  #rentalForm { grid-template-columns:1fr; }
}
