.room-detail{background:var(--bg-cream);min-height:100vh}.room-detail__gallery{background:var(--bg-white);border-bottom:1px solid var(--border-light);grid-template-columns:1fr 200px;gap:.5rem;height:520px;padding:.5rem;display:grid}.room-detail__main-img{border-radius:var(--radius-lg);position:relative;overflow:hidden}.room-detail__main-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.room-detail__main-img:hover img{transform:scale(1.03)}.room-detail__gallery-overlay{position:absolute;bottom:1.25rem;left:1.25rem}.room-detail__badge{padding:.35rem 1rem!important;font-size:.875rem!important}.room-detail__thumbs{flex-direction:column;gap:.5rem;display:flex;overflow-y:auto}.room-detail__thumb{border-radius:var(--radius-md);cursor:pointer;aspect-ratio:4/3;transition:border-color var(--transition-fast);border:2.5px solid #0000;flex-shrink:0;overflow:hidden}.room-detail__thumb.active{border-color:var(--accent)}.room-detail__thumb:hover{border-color:var(--primary-muted)}.room-detail__thumb img{object-fit:cover;width:100%;height:100%}.room-detail__layout{grid-template-columns:1fr 380px;align-items:flex-start;gap:3rem;padding-block:2.5rem;display:grid}.room-detail__breadcrumb{color:var(--text-light);align-items:center;gap:.5rem;margin-bottom:1.25rem;font-size:.8125rem;display:flex}.room-detail__breadcrumb a{color:var(--primary);transition:opacity var(--transition-fast)}.room-detail__breadcrumb a:hover{opacity:.7}.room-detail__breadcrumb span{color:var(--text-medium)}.room-detail__title{font-family:var(--font-serif);color:var(--text-dark);margin-bottom:1rem;font-size:clamp(2rem,4vw,2.75rem)}.room-detail__meta{flex-wrap:wrap;gap:2rem;margin-bottom:1.5rem;display:flex}.room-detail__meta-item{color:var(--text-medium);align-items:center;gap:.5rem;font-size:.9rem;font-weight:500;display:flex}.room-detail__meta-item svg{color:var(--primary)}.room-detail__divider{background:linear-gradient(to right, var(--accent), var(--accent-light));border-radius:2px;width:60px;height:2px;margin-bottom:1.5rem}.room-detail__desc{color:var(--text-medium);margin-bottom:2.5rem;font-size:1rem;line-height:1.85}.room-detail__section-title{font-family:var(--font-serif);color:var(--text-dark);margin-bottom:1.25rem;font-size:1.375rem}.room-detail__amenities{margin-bottom:2.5rem}.room-detail__amenity-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem;display:grid}.room-detail__amenity{background:var(--bg-white);border-radius:var(--radius-md);border:1px solid var(--border-light);color:var(--text-dark);transition:border-color var(--transition-fast);align-items:center;gap:.625rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.room-detail__amenity:hover{border-color:var(--primary-muted)}.room-detail__amenity-icon{font-size:1.125rem}.room-detail__policies{margin-bottom:2.5rem}.room-detail__policy-grid{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.room-detail__policy{background:var(--bg-white);border-radius:var(--radius-md);border:1px solid var(--border-light);align-items:flex-start;gap:.875rem;padding:1rem;display:flex}.room-detail__policy-icon{font-size:1.25rem}.room-detail__policy-label{letter-spacing:.05em;text-transform:uppercase;color:var(--text-light);margin-bottom:.25rem;font-size:.75rem;font-weight:600}.room-detail__policy-value{color:var(--text-dark);font-size:.875rem;font-weight:500}.room-detail__booking-panel{background:var(--bg-white);border-radius:var(--radius-xl);border:1px solid var(--border);box-shadow:var(--shadow-lg);position:sticky;top:6rem;overflow:hidden}.room-detail__price-header{background:linear-gradient(135deg, var(--primary-dark), var(--primary));color:#fff;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.room-detail__price-from{letter-spacing:.15em;text-transform:uppercase;color:#ffffffb3;font-size:.7rem;display:block}.room-detail__price{font-family:var(--font-serif);color:var(--accent-light);font-size:2rem;font-weight:700}.room-detail__price-unit{color:#ffffffb3;margin-left:.25rem;font-size:.875rem}.room-detail__booking-form{flex-direction:column;gap:1rem;padding:1.5rem;display:flex}.room-detail__price-summary{background:var(--bg-cream);border-radius:var(--radius-md);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.room-detail__price-row{color:var(--text-medium);justify-content:space-between;font-size:.875rem;display:flex}.room-detail__price-total{color:var(--text-dark);border-top:1px solid var(--border);margin-top:.25rem;padding-top:.5rem;font-size:1rem;font-weight:700}.room-detail__direct-note{text-align:center;color:var(--text-light);font-size:.75rem}.room-detail__more{border-top:1px solid var(--border-light);padding-block:3rem}.room-detail__more-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.room-detail__more-card{border-radius:var(--radius-lg);border:1px solid var(--border-light);box-shadow:var(--shadow-sm);background:var(--bg-white);transition:all var(--transition-base);display:block;overflow:hidden}.room-detail__more-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.room-detail__more-card-img{aspect-ratio:16/9;overflow:hidden}.room-detail__more-card-img img{object-fit:cover;width:100%;height:100%;transition:transform .5s}.room-detail__more-card:hover .room-detail__more-card-img img{transform:scale(1.06)}.room-detail__more-card-body{padding:1rem 1.25rem}.room-detail__more-card-body h3{font-family:var(--font-serif);color:var(--text-dark);margin-bottom:.25rem;font-size:1.125rem}.room-detail__more-card-body p{color:var(--text-light);margin-bottom:.5rem;font-size:.8125rem}.room-detail__more-price{color:var(--primary);font-size:.875rem;font-weight:600}@media (max-width:1100px){.room-detail__layout{grid-template-columns:1fr}.room-detail__booking-panel{position:static}.room-detail__more-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.room-detail__gallery{grid-template-columns:1fr;height:auto}.room-detail__thumbs{flex-direction:row;overflow-x:auto}.room-detail__thumb{flex-shrink:0;width:120px}.room-detail__policy-grid,.room-detail__more-grid{grid-template-columns:1fr}}
