/* Local KaabaRoom experiment layer. Keep isolated from the vendor bundle. */
*, *::before, *::after { box-sizing: border-box; }
img { max-width: 100%; height: auto; }
.bc-affiliate-panel { margin:28px 0; padding:22px; border:1px solid #e5e7eb; border-radius:14px; background:#f8fafc; }
.bc-affiliate-panel__heading { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:16px; }
.bc-affiliate-panel h3 { margin:0 0 6px; font-size:20px; }
.bc-affiliate-panel p { margin:0; color:#64748b; }
.bc-affiliate-panel__count { flex:0 0 auto; color:#64748b; font-size:13px; }
.bc-affiliate-option { display:grid; grid-template-columns:minmax(180px,1fr) minmax(120px,auto) minmax(150px,auto) auto; align-items:center; gap:18px; padding:16px 0; border-top:1px solid #e5e7eb; }
.bc-affiliate-option__brand { display:flex; align-items:center; gap:10px; min-width:0; }
.bc-affiliate-logo { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:10px; background:#0f766e; color:#fff; font-weight:700; }
.bc-affiliate-option__brand strong, .bc-affiliate-option__brand small { display:block; }
.bc-affiliate-option__brand small { margin-top:3px; color:#64748b; }
.bc-affiliate-option__price { text-align:right; white-space:nowrap; }
.bc-affiliate-option__price strong, .bc-affiliate-option__price span { display:block; }
.bc-affiliate-option__price span { margin-top:3px; color:#0f766e; font-size:12px; }
.bc-affiliate-option__expiry { white-space:nowrap; font-size:12px; color:#b45309; }
.bc-affiliate-countdown strong { font-variant-numeric:tabular-nums; }
.bc-affiliate-expired { color:#b91c1c; }
.bc-affiliate-option__button { white-space:nowrap; }
@media (max-width: 767.98px) {
  html, body { max-width:100%; overflow-x:hidden; }
  .container, .container-fluid { width:100%; max-width:100%; padding-left:16px; padding-right:16px; }
  .bc_wrap, .bc_content, .bc_detail_hotel { width:100%; max-width:100%; overflow-x:hidden; }
  .topbar, .bravo_topbar { min-height:38px; }
  .topbar .container, .bravo_topbar .container { display:flex; flex-wrap:wrap; gap:6px; }
  .bravo_header .content, .bravo_header .main-menu, .header-menu { max-width:100%; }
  .bravo_header .main-menu > ul, .header-menu > ul { flex-wrap:wrap; }
  .bravo_header .main-menu > ul > li, .header-menu > ul > li { max-width:100%; }
  .bravo_header .main-menu > ul > li > a, .header-menu > ul > li > a { padding-left:8px; padding-right:8px; }
  .bravo_header .header-right, .bravo_header .right { margin-left:auto; }
  .bc_detail_hotel .bc_content { padding-top:0; }
  .bc_detail_hotel .g-header { display:block; padding:18px 0; }
  .bc_detail_hotel .g-header .right { margin-top:16px; }
  .bc_detail_hotel .g-header h1 { font-size:26px; line-height:1.3; }
  .bc_detail_hotel .g-header .address { font-size:14px; line-height:1.5; }
  .bc_detail_hotel .g-overview, .bc_detail_hotel .g-rules, .bc_detail_hotel .g-location { margin-top:22px; }
  .bc_detail_hotel .g-overview h3, .bc_detail_hotel .g-rules h3, .bc_detail_hotel .g-location h3 { font-size:20px; }
  .bc_detail_hotel .description { overflow-wrap:anywhere; word-break:normal; }
  .bc_detail_hotel .fotorama, .bc_detail_hotel .fotorama__stage { max-width:100%; }
  .bc_detail_hotel .fotorama__stage__frame img { object-fit:cover; }
  .bc_detail_hotel .review-score { width:100%; }
  .bc_detail_hotel .g-all-attribute.is_mobile { margin-top:18px; }
  .hotel_rooms_form .form-search-row { display:block; margin:0; }
  .hotel_rooms_form .form-search-row > [class*="col-"] { width:100%; max-width:100%; padding-left:0; padding-right:0; }
  .hotel_rooms_form .form-group { margin-bottom:10px; }
  .hotel_rooms_form .form-content { min-height:52px; padding:12px 14px; }
  .hotel_rooms_form .dropdown-menu.select-guests-dropdown { width:calc(100vw - 32px); max-width:100%; }
  .hotel_rooms_form .g-button-submit .btn, .hotel_rooms_form .btn-search { width:100%; min-height:48px; }
  .hotel_rooms_form .nav-enquiry { display:flex; width:100%; }
  .hotel_rooms_form .nav-enquiry .enquiry-item { flex:1; text-align:center; }
  .hotel_rooms_form .room-item .row { margin-left:-8px; margin-right:-8px; }
  .hotel_rooms_form .room-item .row > [class*="col-"] { padding-left:8px; padding-right:8px; }
  .hotel_rooms_form .room-item .image { min-height:180px; }
  .hotel_rooms_form .room-item .image img { width:100%; height:auto; max-height:220px; object-fit:cover; }
  .hotel_rooms_form .room-item .room-content, .hotel_rooms_form .room-item .room-info { padding-top:12px; }
  .hotel_rooms_form .room-item h4, .hotel_rooms_form .room-item h3 { font-size:18px; line-height:1.35; }
  .hotel_rooms_form .room-item .price { font-size:18px; }
  .hotel_rooms_form .control-book { padding-top:16px; }
  .hotel_rooms_form .control-book .btn { width:100%; min-height:48px; }
  .hotel_rooms_form .total-room-price { font-size:15px; }
  .bc-affiliate-panel { margin:20px 0; padding:18px 14px; }
  .bc-affiliate-panel__heading { align-items:flex-start; }
  .bc-affiliate-panel__count { padding-top:4px; }
  .bc-affiliate-option { grid-template-columns:1fr auto; gap:12px; }
  .bc-affiliate-option__price { text-align:right; }
  .bc-affiliate-option__expiry { grid-column:1 / -1; }
  .bc-affiliate-option__button { grid-column:1 / -1; display:block; width:100%; min-height:48px; }
  .bc_detail_hotel .btn, .bc_detail_hotel button { min-height:44px; }
  .bc_detail_hotel input, .bc_detail_hotel select, .bc_detail_hotel textarea { max-width:100%; font-size:16px; }
  .bc_detail_hotel .g-rules .row { display:block; margin:0 0 12px; }
  .bc_detail_hotel .g-rules .row > [class*="col-"] { width:100%; padding:0; }
  .bc_detail_hotel .g-rules .key { font-weight:600; }
  .bc_detail_hotel .g-rules .value { margin-top:3px; }
  .bc_detail_hotel .g-location .location-map { min-height:220px; }
  .bc_detail_hotel .g-location #map_content { min-height:220px; }
  .bc_detail_hotel .bc-hr { margin:22px 0; }
  .bravo_footer .container, .footer .container { padding-left:16px; padding-right:16px; }
  .bravo_footer .row, .footer .row { display:block; }
  .bravo_footer [class*="col-"], .footer [class*="col-"] { width:100%; margin-bottom:18px; }
  .bc_detail_hotel .location-map, .bc_detail_hotel #map_content { max-width:100%; overflow:hidden; }
  .bc_detail_hotel table { display:block; width:100%; overflow-x:auto; }
}

@media (max-width: 380px) {
  .container, .container-fluid { padding-left:12px; padding-right:12px; }
  .bc_detail_hotel .g-header h1 { font-size:23px; }
  .bc-affiliate-panel { padding-left:10px; padding-right:10px; }
  .bc-affiliate-option__brand small { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
}
