.room-detail-page{background:#f8fafb}
.detail-overview,.room-detail-page .sidebar-box{border:1px solid #e5eaed;border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(2,48,71,.045)}
.detail-overview{overflow:hidden}
.detail-main-image{position:relative}
.detail-main-image>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.detail-capacity{position:absolute;left:22px;bottom:22px;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid rgba(255,255,255,.7);border-radius:8px;background:rgba(255,255,255,.95);font-size:.8rem;font-weight:600;color:#023047}
.detail-content{padding:0 30px 28px}
.detail-content .section-title{font-size:clamp(1.65rem,3vw,2.3rem);line-height:1.25}
.detail-content .lead-muted,.room-description{font-size:.95rem;line-height:1.8;color:#71808a;overflow-wrap:anywhere}
.room-description h2,.room-description h3,.room-description h4{color:#023047;font-family:'Playfair Display',Georgia,serif;line-height:1.35}
.room-description h2{font-size:1.55rem}.room-description h3{font-size:1.35rem}.room-description h4{font-size:1.15rem}
.room-description p:last-child{margin-bottom:0}
.room-description ul,.room-description ol{padding-left:1.4rem}
.detail-section-title{border-top:1px solid #edf0f2;padding-top:24px;font-size:1.3rem;font-family:'Playfair Display',Georgia,serif}
.room-detail-page .amenities{gap:9px;margin-bottom:0}
.room-detail-page .amenities span{border-radius:7px;padding:9px 12px;background:#f2f6f7;color:#425d6b;font-size:.8rem;font-weight:500}
.room-detail-page .amenities i{color:#8a741f;font-size:.72rem}
.detail-gallery a{display:block;border-radius:10px;overflow:hidden;outline-offset:3px}
.detail-gallery img{transition:opacity .2s ease}
.detail-gallery a:hover img{opacity:.88}
.room-detail-page .sidebar-box{padding:26px;margin-bottom:22px}
.room-detail-page .sidebar-box h3,.room-detail-page .sidebar-box h4{color:#023047;font-family:'Playfair Display',Georgia,serif}
.detail-rate{margin:18px 0 14px}
.detail-rate-label{display:block;text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;color:#7b8790;margin-bottom:6px}
.room-detail-page .detail-rate h3{font-family:Inter,sans-serif;font-weight:700;font-size:1.65rem;letter-spacing:-.035em;line-height:1.3;margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.detail-rate-unit{display:block;font-size:.8rem;color:#7b8790;margin-top:4px}
.detail-booking hr{border-color:#e5eaed;opacity:1;margin:22px 0}
.detail-booking h4{font-size:1.2rem;margin-bottom:18px}
.detail-booking .form-label{font-size:.78rem;font-weight:600;color:#425d6b;margin-bottom:7px}
.detail-booking .form-control,.detail-booking .form-select{min-height:47px;border:1px solid #e1e7eb;border-radius:8px;background-color:#fafcfc;font-size:.87rem;color:#023047}
.detail-booking .form-control:focus,.detail-booking .form-select:focus{border-color:#c7a33a;box-shadow:0 0 0 3px rgba(255,183,3,.12)}
.detail-booking .btn-luxury{border-radius:8px;font-size:.88rem;min-height:48px;margin-top:5px}
.detail-booking .small{font-size:.78rem;line-height:1.65;color:#71808a}
.detail-plan h3{font-size:1.35rem;margin-bottom:13px}
.detail-plan p,.detail-help p{color:#71808a;font-size:.87rem;line-height:1.8}
.detail-help a,.detail-back{font-size:.85rem;font-weight:600;color:#023047}
.detail-help a{display:inline-block;overflow-wrap:anywhere}
.detail-related>a{color:#023047}
.detail-related img{flex-shrink:0;border-radius:9px!important}
.detail-related strong{font-size:.9rem;margin-bottom:4px}
.detail-related small{display:block;font-size:.73rem;color:#71808a;line-height:1.6}
.detail-related>a:hover strong,.detail-back:hover{color:#9d7100}
.room-detail-page a:focus-visible,.room-detail-page button:focus-visible{outline:3px solid #ffb703;outline-offset:3px}
@media(max-width:575px){.detail-content{padding:0 20px 22px}.room-detail-page .sidebar-box{padding:22px}.detail-capacity{left:14px;bottom:14px;font-size:.74rem;padding:8px 10px}.detail-gallery img{height:115px!important}.detail-main-image>img{aspect-ratio:4/3}.room-detail-page .amenities span{font-size:.75rem}}
@media(prefers-reduced-motion:reduce){.detail-gallery img{transition:none}}
