/* Inventory-specific rules. Shared reset, navigation, type and footer remain in style.css. */
.rentals-intro { background:var(--forest-dark); color:#fff; padding:122px 0 32px; }
.rentals-intro h1 { font-size:clamp(2rem,4vw,3rem); line-height:1.15; letter-spacing:-.025em; margin:10px 0 16px; }
.rentals-intro p { max-width:800px; color:#e3eae2; }
.rentals-intro .eyebrow { color:#f3c291; }
.rentals-intro a { color:#fff; }
.rentals-intro .action-row { margin:20px 0 8px; }
.rentals-intro .btn-secondary { color:#fff; border-color:#fff; }
.inventory-section { padding:32px 0 54px; background:var(--cream); min-height:600px; }
.inventory-section h2 { font-size:1.6rem; margin-bottom:16px; }
.inventory-controls { padding:20px; background:#fff; border:1px solid #ced6ce; border-radius:8px; }
.type-filters { display:flex; flex-wrap:wrap; gap:8px; border:0; }
.type-filters legend { margin-bottom:8px; font-weight:700; }
.type-filters button,.inventory-controls select,.inventory-controls button { font:inherit; min-height:44px; padding:8px 14px; border:1px solid #899b8a; border-radius:5px; background:#fff; color:var(--forest-dark); cursor:pointer; }
.type-filters button[aria-pressed=true] { background:var(--forest); border-color:var(--forest); color:#fff; }
.inventory-controls-bottom { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-top:16px; }
.inventory-controls-bottom label { font-weight:650; }
.inventory-controls-bottom>a { margin-left:auto; color:var(--forest); font-weight:700; }
#inventory-status { font-weight:700; margin-top:18px; }
#inventory-message { font-size:.95rem; color:var(--muted); margin:6px 0 24px; max-width:950px; }
.rental-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.rental-card { background:#fff; border:1px solid #d4ddd4; border-radius:10px; overflow:hidden; display:flex; flex-direction:column; min-width:0; }
.rental-media { display:flex; flex-direction:column; position:relative; width:100%; aspect-ratio:4/3; border:0; background:#e3e9df; color:#29432d; justify-content:center; align-items:center; font:inherit; cursor:pointer; overflow:hidden; }
.rental-media:disabled { cursor:default; color:#3d5141; opacity:1; }
.rental-media img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.media-placeholder { padding:20px; font-weight:650; }
.media-label { position:absolute; bottom:0; left:0; right:0; padding:10px 12px; background:#152b21ed; color:#fff; font-size:.93rem; }
.rental-card-content { padding:20px; display:flex; flex:1; flex-direction:column; gap:10px; }
.rental-meta { display:flex; flex-wrap:wrap; gap:6px 10px; justify-content:space-between; align-items:center; font-size:.8rem; }
.rental-type { font-weight:700; }
.rental-status { padding:4px 8px; border-radius:4px; background:#eeeeeb; color:#414c42; }
.status-available { background:#e4f1e3; color:#22512c; }
.status-coming-soon,.status-unconfirmed { background:#fff1d7; color:#654513; }
.rental-card h3 { font-size:1.2rem; line-height:1.3; overflow-wrap:anywhere; }
.rental-price { font-size:1.2rem; font-weight:750; color:var(--forest); }
.rental-note,.rental-specs { font-size:.9rem; color:#50594f; }
.rental-description { line-height:1.6; overflow-wrap:anywhere; white-space:pre-line; }
.rental-card .btn-primary { margin-top:auto; font-size:.95rem; }
.inventory-empty { grid-column:1/-1; background:#fff; border:1px solid #ced6ce; border-radius:8px; padding:30px; }
.inventory-empty h3 { font-size:1.4rem; margin-bottom:12px; }
.inventory-empty p { margin-bottom:20px; }
.inventory-empty a,.inventory-empty button { margin:4px 10px 4px 0; }
.rental-overview { border-top:1px solid #d4ddd4; }
.rental-overview .living-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.rental-gallery { margin:auto; padding:20px; width:min(94vw,1000px); max-height:92dvh; border:0; border-radius:10px; background:#172b20; color:#fff; overflow:auto; }
.rental-gallery::backdrop { background:#000c; }
.gallery-open { overflow:hidden; }
.gallery-top { display:flex; align-items:center; gap:20px; justify-content:space-between; }
.gallery-top h2 { font-size:1.2rem; line-height:1.4; }
.rental-gallery button { color:#fff; background:transparent; border:1px solid #a6b6a5; border-radius:4px; padding:8px 14px; min-height:44px; font:inherit; cursor:pointer; }
.rental-gallery button:disabled { opacity:.45; cursor:default; }
.gallery-stage { height:min(65dvh,600px); width:100%; display:flex; align-items:center; justify-content:center; padding:14px 0; }
.gallery-stage img { max-width:100%; max-height:100%; object-fit:contain; }
.gallery-stage iframe { width:100%; height:100%; border:0; }
.gallery-bottom { display:flex; justify-content:space-between; align-items:center; gap:12px; }
@media(max-width:960px) { .rental-grid,.rental-overview .living-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .rental-grid,.rental-overview .living-grid { grid-template-columns:1fr; } .rentals-intro { padding:106px 0 28px; } .inventory-controls { padding:14px; } .inventory-controls-bottom>a { margin-left:0; } .rental-gallery { padding:14px; } .gallery-stage { height:55dvh; } .gallery-bottom { font-size:.85rem; } }
