.page-hero{
  position:relative;
  padding:calc(var(--header-h) + 38px) 0 34px;
  background:linear-gradient(180deg,#131313 0%,#1a1a1a 100%);
}
.page-hero .hero-shell{
  padding:28px;border-radius:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);box-shadow:0 24px 64px rgba(0,0,0,.18);
}
.page-hero .crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:14px}
.page-hero .crumbs a{color:#fff}
.page-hero .page-title{margin:14px 0 8px;font-family:'Playfair Display',serif;color:#fff;font-size:clamp(2.35rem,4vw,4rem);line-height:1.04;letter-spacing:-.03em}
.page-hero .page-subtitle{margin:0;max-width:760px;color:rgba(255,255,255,.76);line-height:1.8}

.rooms-filters,.rooms-toolbar,.sidebar-box,.room-detail-card,.policy-card,.amenity-card{
  background:#fff;border:1px solid #e8e8e8;border-radius:24px;box-shadow:0 18px 54px rgba(0,0,0,.08);
}
.section-block{padding:56px 0}
.rooms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.room-card{
  background:#fff;border:1px solid #e7e7e7;border-radius:26px;overflow:hidden;display:flex;flex-direction:column;min-height:100%;box-shadow:0 18px 50px rgba(0,0,0,.08);transition:transform .22s ease,box-shadow .22s ease;
}
.room-card:hover{transform:translateY(-6px);box-shadow:0 26px 70px rgba(0,0,0,.14)}
.room-card .room-media{position:relative;height:240px;background:#ddd;overflow:hidden}
.room-card .room-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 30%,rgba(0,0,0,.56) 100%)}
.room-card .room-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.room-card:hover .room-media img{transform:scale(1.04)}
.price-pill,.room-card .price-pill{
  position:absolute;left:16px;bottom:16px;display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:#fff;color:#111;border:1px solid rgba(255,255,255,.4);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;z-index:2;
}
.room-card .room-body{padding:20px;display:flex;flex-direction:column;gap:12px;flex:1}
.room-kicker{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:rgba(193,18,31,.08);color:#c1121f;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.room-card h3{margin:0;font-family:'Playfair Display',serif;font-size:1.45rem;line-height:1.15;color:#111}
.room-card .room-sub,.lead,.mini-text,.p-text,.a-desc,.rooms-summary{margin:0;color:#666;line-height:1.8;font-size:14px}
.room-description{min-height:3.6em}
.room-feature-list,.room-feature-inline{display:flex;flex-wrap:wrap;gap:8px}
.room-feature-tag{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border-radius:999px;background:rgba(193,18,31,.08);border:1px solid rgba(193,18,31,.18);color:#a1111c;font-size:12px;font-weight:700}
.room-meta{display:flex;flex-wrap:wrap;gap:8px}
.pill{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 12px;border-radius:999px;background:#f4f4f4;border:1px solid #ececec;color:#111;font-size:13px;font-weight:700}
.room-actions{margin-top:auto;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.room-actions .btn{min-width:160px}
.room-inline-link{display:inline-flex;align-items:center;gap:8px;color:#111;font-size:14px;font-weight:700}
.room-inline-link:hover{color:#c1121f}
.room-inline-link i{font-size:12px}

.amenities-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.amenity-card{padding:18px;display:flex;gap:12px}
.amenity-card i,.detail-overview-icon{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(193,18,31,.08);color:#c1121f;flex:0 0 auto}
.amenity-card .a-title,.p-title,.mini-title,.detail-overview-title{margin:0;color:#111;font-weight:800}
.policy-card{padding:18px}
.p-title{display:flex;align-items:center;gap:10px;margin-bottom:8px}

.rooms-filters,.rooms-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;margin:0 0 18px}
.filter-group,.toolbar-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.filter-label,.toolbar-kicker,.rooms-summary-count{font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#7a7a7a}
button.chip{border:1px solid #e2e2e2;background:#f7f7f7;color:#111;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:700;cursor:pointer}
button.chip.active{background:rgba(193,18,31,.10);border-color:rgba(193,18,31,.22);color:#c1121f}

.room-detail-grid{display:grid;grid-template-columns:minmax(0,1.28fr) minmax(320px,.72fr);gap:22px}
.room-detail-card{overflow:hidden}
.room-detail-hero{position:relative;height:360px;background:#ddd}
.room-detail-hero img{width:100%;height:100%;object-fit:cover}
.room-detail-hero .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.06) 24%,rgba(0,0,0,.70) 100%)}
.room-detail-hero .hero-text{position:absolute;left:22px;right:22px;bottom:20px;color:#fff;z-index:1}
.detail-badge{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.room-detail-hero .hero-text h1{margin:12px 0 8px;font-family:'Playfair Display',serif;font-size:clamp(2rem,3vw,3rem);line-height:1.05}
.room-detail-hero .hero-text p{margin:0;color:rgba(255,255,255,.82);line-height:1.75}
.detail-hero-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.room-detail-body{padding:22px}
.detail-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:20px 0 0}
.detail-overview-card{padding:18px;border-radius:20px;background:#f8f8f8;border:1px solid #ececec}
.detail-overview-text{margin-top:8px;color:#666;font-size:14px;line-height:1.7}
.gallery-mini{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.gallery-mini .gallery-item{border-radius:18px;overflow:hidden;border:1px solid #ececec;background:#ddd;box-shadow:none}
.gallery-mini .gallery-item img{width:100%;height:180px;object-fit:cover}
.sidebar-box{padding:20px;position:sticky;top:calc(var(--header-h) + 18px)}
.sidebar-booking-card,.sidebar-support-card{padding:20px;border-radius:22px;background:#111;color:#fff;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.sidebar-booking-card .mini-title,.sidebar-support-card .mini-title{color:#fff}
.sidebar-benefits,.sidebar-policy-list,.mini-policies{display:grid;gap:12px;margin-top:14px}
.sidebar-benefit-item,.sidebar-contact-line{display:flex;align-items:flex-start;gap:10px;line-height:1.7;color:rgba(255,255,255,.8)}
.sidebar-contact-line a{color:#fff}
.sidebar-contact-line i,.sidebar-benefit-item i{color:#ff7c86;margin-top:3px}
.room-footer{margin-top:28px}

.hero-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.hero-highlight{display:flex;align-items:center;gap:10px;min-height:54px;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.12);color:#fff}
.hero-highlight i{color:#ff9aa2}

@media (max-width:1100px){
  .rooms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .amenities-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-overview-grid{grid-template-columns:1fr}
}
@media (max-width:980px){
  .room-detail-grid{grid-template-columns:1fr}
  .sidebar-box{position:static}
}
@media (max-width:760px){
  .page-hero{padding-top:calc(var(--header-h) + 22px)}
  .rooms-grid,.amenities-grid,.gallery-mini{grid-template-columns:1fr}
  .hero-highlights{grid-template-columns:1fr}
  .room-actions .btn,.room-inline-link{width:100%;justify-content:center}
}
