.ric-room-listings, .ric-room-single { --ric-navy:#092635; --ric-teal:#0c686a; --ric-gold:#c99a43; --ric-ivory:#f7f3eb; }
.ric-room-listings *,.ric-room-single * { box-sizing:border-box; }
.ric-room-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:25px 0 40px; }
.ric-room-card { overflow:hidden; background:#fff; border:1px solid #e8e7e2; border-radius:14px; box-shadow:0 8px 22px rgba(9,38,53,.06); }
.ric-room-image-link { display:block; overflow:hidden; text-decoration:none; }
.ric-room-card-image { display:block; width:100%; height:260px; object-fit:cover; transition:transform .2s ease-in-out; }
.ric-room-image-link:hover .ric-room-card-image { transform:scale(1.025); }
.ric-room-no-photo { display:grid; place-items:center; background:var(--ric-navy); color:white; font-size:20px; font-weight:700; letter-spacing:.06em; }
.ric-room-card-body { padding:23px 23px 26px; }
.ric-room-card h3 { font-size:clamp(20px,2.1vw,26px); margin:12px 0 8px; line-height:1.25; }
.ric-room-card h3 a { color:var(--ric-navy); text-decoration:none; }
.ric-room-status { display:inline-block; font-weight:700; font-size:11px; line-height:1.3; text-transform:uppercase; letter-spacing:.06em; border-radius:50px; padding:6px 12px; color:var(--ric-teal); background:#e8f1ef; }
.ric-room-status-coming_soon { color:#7c520a; background:#fcf1d9; }
.ric-room-status-let_agreed { color:#5c6167; background:#e9e9e9; }
.ric-room-rent { margin:10px 0!important; font-weight:750; font-size:clamp(27px,2.6vw,33px)!important; color:var(--ric-navy)!important; }
.ric-room-rent small { font-size:14px; font-weight:500; color:#56666c; }
.ric-room-specs { display:flex; flex-wrap:wrap; gap:9px; margin:17px 0 24px; }
.ric-room-specs span { display:inline-block; padding:6px 10px; border-radius:6px; color:#34444c; background:var(--ric-ivory); font-size:13px; }
.ric-room-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin-top:22px; }
.ric-room-button { display:inline-block; background:var(--ric-gold); color:var(--ric-navy)!important; font-size:13px; font-weight:800; text-align:center; text-decoration:none!important; padding:13px 17px; border-radius:4px; border:1px solid var(--ric-gold); line-height:1.3; }
.ric-room-button:hover,.ric-room-button:focus { background:#b88a35; border-color:#b88a35; }
.ric-room-more,.ric-room-back { color:var(--ric-teal); font-weight:700; text-decoration:underline; text-underline-offset:3px; font-size:13px; }
.ric-room-empty { padding:25px; background:var(--ric-ivory); border:1px solid #e8e0d2; border-radius:12px; margin:20px 0 35px; }
.ric-room-empty h3 { margin-top:0; }
.ric-room-single .ric-room-features { margin:20px 0 25px; }
.ric-room-single .ric-room-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.ric-room-single .ric-room-gallery a { display:block; }
.ric-room-single .ric-room-gallery img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:6px; }
.ric-room-single .ric-room-back { display:inline-block; margin-top:22px; }
@media(max-width:720px) { .ric-room-grid { grid-template-columns:1fr; gap:18px; } .ric-room-card-image { height:230px; } .ric-room-card-body { padding:20px; } .ric-room-single .ric-room-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .ric-room-card-image { transition:none; } }
