.breadcrumb{padding:150px 0 20px; font-size:13px; color:var(--muted);}
.breadcrumb a:hover{color:var(--gold-light);}
.breadcrumb .sep{margin:0 8px; color:var(--gold-dim);}
.breadcrumb .current{color:var(--gold-light);}

.gallery-hero{display:grid; grid-template-columns:2fr 1fr 1fr; grid-template-rows:1fr 1fr; gap:10px; height:460px; margin-bottom:40px; border-radius:var(--radius); overflow:hidden;}
.gallery-hero a{position:relative; overflow:hidden; display:block;}
.gallery-hero a:first-child{grid-row:1/3;}
.gallery-hero img{width:100%; height:100%; object-fit:cover; transition:.4s;}
.gallery-hero a:hover img{transform:scale(1.06);}
.gallery-more{position:absolute; inset:0; background:rgba(10,9,6,.6); color:var(--ivory); display:flex; align-items:center; justify-content:center; font-size:14px; font-weight:700;}

.room-layout{display:grid; grid-template-columns:2fr 1fr; gap:50px; align-items:start; padding-bottom:80px;}
.room-head{display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:18px; flex-wrap:wrap;}
.room-head h1{font-size:clamp(24px,4vw,32px);}
.room-head .sub{color:var(--muted); font-size:13.5px; margin-top:6px;}
.status-pill{display:flex; align-items:center; gap:8px; font-size:13px; padding:8px 16px; border-radius:20px; background:var(--bg-panel); border:1px solid var(--divider);}
.status-pill .dot{width:8px; height:8px; border-radius:50%;}
.status-pill.free .dot{background:#5fbf7a;} .status-pill.busy .dot{background:#d1594f;}
.status-pill.preparing .dot{background:#d8b34a;} .status-pill.out_of_service .dot{background:#8a8579;}

.spec-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin:26px 0;}
.spec-item{background:var(--bg-panel); border:1px solid var(--divider); border-radius:var(--radius); padding:16px; text-align:center;}
.spec-item .v{font-size:16px; font-weight:700; color:var(--gold-light);}
.spec-item .l{font-size:11.5px; color:var(--muted); margin-top:4px;}

.block-title{font-size:18px; font-weight:800; margin:34px 0 14px; display:flex; align-items:center; gap:8px;}
.block-title .ico{color:var(--gold);}
.desc{color:var(--muted); font-size:14.5px;}

.amenities-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
.amenity-chip{display:flex; align-items:center; gap:10px; background:var(--bg-panel); border:1px solid var(--divider); border-radius:var(--radius); padding:12px 14px; font-size:13px;}
.amenity-chip .ico{color:var(--gold);}

.ready-box{background:var(--bg-panel); border:1px solid var(--divider); border-radius:var(--radius); padding:16px 18px; font-size:13.5px; color:var(--ivory); margin-top:10px;}
.ready-box .line{display:flex; justify-content:space-between; padding:6px 0; border-bottom:1px dashed var(--divider); color:var(--muted);}
.ready-box .line:last-of-type{border-bottom:none;}
.ready-box .line b{color:var(--ivory);}
.ready-box .note{margin-top:10px; font-size:12px; color:var(--gold-dim);}

.sidebar{position:sticky; top:100px; background:var(--bg-panel); border:1px solid var(--divider); border-radius:var(--radius); padding:26px;}
.sidebar .price{display:flex; align-items:baseline; justify-content:space-between; margin-bottom:18px;}
.sidebar .price .from{font-size:12px; color:var(--muted);}
.sidebar .price .amount{font-size:20px; font-weight:800; color:var(--gold-light);}
.sidebar .disclaimer{font-size:11.5px; color:var(--muted); margin-top:14px; text-align:center;}
.form-group{margin-bottom:14px;}
.form-group label{font-size:12px; color:var(--muted); display:block; margin-bottom:6px;}
.form-control{width:100%; background:var(--bg); border:1px solid var(--divider); border-radius:var(--radius); padding:11px 14px; color:var(--ivory); font-family:inherit;}
.btn-block{width:100%;}

.similar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px;}
.mini-card{background:var(--bg-panel); border:1px solid var(--divider); border-radius:var(--radius); overflow:hidden;}
.mini-card img{aspect-ratio:4/3; object-fit:cover; width:100%;}
.mini-card .b{padding:14px;}
.mini-card .t{font-size:14px; font-weight:700; margin-bottom:6px;}
.mini-card .m{font-size:11.5px; color:var(--muted); margin-bottom:10px;}
.mini-card .btn{width:100%; padding:9px; font-size:12.5px;}

@media (max-width:1024px){ .room-layout{grid-template-columns:1fr;} .sidebar{position:static;} }
@media (max-width:860px){
  .gallery-hero{grid-template-columns:1fr 1fr; grid-template-rows:160px 160px; height:auto;}
  .gallery-hero a:first-child{grid-column:1/3; grid-row:auto; height:220px;}
  .spec-grid{grid-template-columns:repeat(2,1fr);}
  .amenities-grid{grid-template-columns:1fr 1fr;}
  .similar-grid{grid-template-columns:1fr;}
}
