/* 北海明珠 V10.6 统一右侧服务中心 + 上下文预约弹窗 */
:root{
  --fs106-blue:#0b4b8f;
  --fs106-blue-2:#1769b7;
  --fs106-blue-soft:#edf6ff;
  --fs106-ink:#102f55;
  --fs106-muted:#7388a2;
  --fs106-line:#d9e7f5;
  --fs106-gold:#c99a4b;
}

/* ---------- AI：独立入口 ---------- */
.bhmz-ai-float-launcher--v106{
  position:fixed!important;right:24px!important;top:calc(50% - 324px)!important;bottom:auto!important;
  z-index:192!important;width:80px!important;pointer-events:none!important;
}
.bhmz-ai-avatar-button--v106{
  width:78px!important;padding:8px 5px 7px!important;border:1px solid rgba(33,91,151,.16)!important;
  border-radius:28px!important;background:rgba(255,255,255,.985)!important;
  box-shadow:0 14px 38px rgba(15,55,100,.18)!important;filter:none!important;pointer-events:auto!important;
}
.bhmz-ai-avatar-button--v106 .bhmz-ai-avatar-ring{width:57px!important;height:57px!important;border-color:#2b77c8!important}
.bhmz-ai-avatar-button--v106 strong{margin-top:4px!important;min-width:61px!important;padding:5px 8px!important;border:0!important;border-radius:14px!important;background:linear-gradient(135deg,#0c4f98,#1b70c5)!important;font-size:12px!important}
.bhmz-ai-avatar-button--v106>small{display:block;margin-top:3px;color:#7190b0;font-size:9px;font-weight:700;letter-spacing:.08em}

/* ---------- 右侧服务栏 ---------- */
.bhmz-floating-tools--v106{
  position:fixed!important;right:24px!important;top:50%!important;bottom:auto!important;transform:translateY(-38%)!important;
  z-index:186!important;width:80px!important;padding:7px!important;overflow:visible!important;
  border:1px solid rgba(31,83,139,.13)!important;border-radius:26px!important;
  background:rgba(255,255,255,.975)!important;box-shadow:0 20px 52px rgba(14,50,91,.16)!important;
  backdrop-filter:blur(18px)!important;-webkit-backdrop-filter:blur(18px)!important;
}
.bhmz-floating-tools--v106 .bhmz-float-wrap{position:relative!important}
.bhmz-floating-tools--v106 .bhmz-float-item{
  position:relative!important;width:100%!important;min-height:61px!important;margin:0 0 4px!important;padding:7px 3px!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:4px!important;
  border:0!important;border-radius:17px!important;background:transparent!important;color:#17416f!important;text-decoration:none!important;
  cursor:pointer!important;transition:transform .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
.bhmz-floating-tools--v106 .bhmz-float-item:hover,.bhmz-floating-tools--v106 .bhmz-float-item:focus-visible,.bhmz-floating-tools--v106 .bhmz-float-item[aria-expanded="true"]{
  transform:translateY(-1px)!important;background:#edf6ff!important;color:#0756a4!important;outline:none!important;box-shadow:none!important;
}
.bhmz-floating-tools--v106 .bhmz-float-item--booking{
  min-height:67px!important;background:linear-gradient(145deg,#0b4d93,#176dbc)!important;color:#fff!important;
  box-shadow:0 9px 20px rgba(15,89,162,.22)!important;
}
.bhmz-floating-tools--v106 .bhmz-float-item--booking:hover,.bhmz-floating-tools--v106 .bhmz-float-item--booking:focus-visible{
  background:linear-gradient(145deg,#094582,#1263ae)!important;color:#fff!important;box-shadow:0 12px 24px rgba(15,89,162,.28)!important;
}
.bhmz-floating-tools--v106 .bhmz-float-item--availability{background:#f2f8ff!important;color:#0b5ba9!important}
.bhmz-floating-tools--v106 .bhmz-float-icon{width:25px!important;height:25px!important;color:currentColor!important;display:grid!important;place-items:center!important}
.bhmz-floating-tools--v106 .bhmz-float-icon svg{width:23px!important;height:23px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.75!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.bhmz-floating-tools--v106 .bhmz-float-item strong{font-size:10.5px!important;line-height:1.15!important;font-weight:800!important;white-space:nowrap!important;color:inherit!important}
.bhmz-floating-tools--v106 .bhmz-float-tip{
  display:block!important;position:absolute!important;right:calc(100% + 14px)!important;top:50%!important;min-width:126px!important;
  padding:9px 12px!important;opacity:0!important;visibility:hidden!important;transform:translate(7px,-50%)!important;
  border:1px solid var(--fs106-line)!important;border-radius:12px!important;background:#fff!important;box-shadow:0 12px 30px rgba(14,50,91,.14)!important;
  color:#173d69!important;font-size:10px!important;font-weight:700!important;line-height:1.35!important;white-space:nowrap!important;pointer-events:none!important;
}
.bhmz-floating-tools--v106 .bhmz-float-item:hover>.bhmz-float-tip,.bhmz-floating-tools--v106 .bhmz-float-item:focus-visible>.bhmz-float-tip{opacity:1!important;visibility:visible!important;transform:translate(0,-50%)!important}

/* ---------- 二级小面板 ---------- */
.bhmz-floating-tools--v106 .bhmz-float-panel{
  position:absolute!important;right:94px!important;top:0!important;bottom:auto!important;width:274px!important;padding:17px!important;
  opacity:0!important;visibility:hidden!important;transform:translateX(8px) scale(.985)!important;
  border:1px solid var(--fs106-line)!important;border-radius:20px!important;background:#fff!important;
  box-shadow:0 22px 58px rgba(13,47,86,.18)!important;transition:.18s ease!important;z-index:330!important;
}
.bhmz-floating-tools--v106 .bhmz-float-panel.is-open{opacity:1!important;visibility:visible!important;transform:none!important}
.bhmz-floating-tools--v106 .bhmz-float-panel header{padding:0 28px 12px 0!important;margin:0!important;text-align:left!important}
.bhmz-floating-tools--v106 .bhmz-float-panel header span{display:block;color:#6e91b7;font-size:9px;font-weight:900;letter-spacing:.18em}
.bhmz-floating-tools--v106 .bhmz-float-panel header h3{margin:4px 0 3px!important;color:#123d6b!important;font-size:19px!important}
.bhmz-floating-tools--v106 .bhmz-float-panel header p{margin:0!important;color:#8395a9!important;font-size:11px!important}
.bhmz-floating-tools--v106 .bhmz-float-panel-close{position:absolute!important;right:11px!important;top:10px!important;width:29px!important;height:29px!important;border:0!important;border-radius:10px!important;background:#f2f7fc!important;color:#53708e!important;font-size:18px!important;cursor:pointer!important}
.bhmz-service-mini-links{display:grid;gap:8px}
.bhmz-service-mini-links a,.bhmz-service-mini-links button{
  position:relative;width:100%;display:grid;gap:2px;padding:12px 34px 12px 13px;border:1px solid #e2edf8;border-radius:13px;background:#f8fbff;
  color:#173e6d;text-align:left;text-decoration:none;cursor:pointer;
}
.bhmz-service-mini-links a:hover,.bhmz-service-mini-links button:hover{border-color:#bdd8f2;background:#edf6ff}
.bhmz-service-mini-links b{font-size:12px}.bhmz-service-mini-links small{color:#8294a9;font-size:10px}.bhmz-service-mini-links i{position:absolute;right:13px;top:50%;transform:translateY(-50%);font-style:normal;color:#1768b7}

/* 二维码面板保留四项，但视觉更轻。 */
.bhmz-floating-tools--v106 .bhmz-qr-panel--v106{position:fixed!important;right:116px!important;top:50%!important;width:430px!important;transform:translateY(-50%) translateX(8px) scale(.985)!important}
.bhmz-floating-tools--v106 .bhmz-qr-panel--v106.is-open{transform:translateY(-50%)!important}
.bhmz-floating-tools--v106 .bhmz-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
.bhmz-floating-tools--v106 .bhmz-qr-grid>a,.bhmz-floating-tools--v106 .bhmz-qr-grid>div{padding:10px!important;border-radius:14px!important;background:#f8fbff!important}

.bhmz-float-top--v106{position:absolute!important;right:13px!important;bottom:-52px!important;width:52px!important;height:43px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;border:1px solid #d8e6f4!important;border-radius:15px!important;background:#fff!important;color:#23517f!important;box-shadow:0 10px 25px rgba(18,54,94,.13)!important;opacity:0!important;pointer-events:none!important;transform:translateY(5px)!important;transition:.18s ease!important}
.bhmz-float-top--v106.is-visible{opacity:1!important;pointer-events:auto!important;transform:none!important}.bhmz-float-top--v106 span{font-size:17px}.bhmz-float-top--v106 small{font-size:8px}

/* ---------- 上下文预约弹窗 ---------- */
.booking-inquiry-modal.open{justify-content:flex-end!important;padding:20px 122px 20px 20px!important}
.booking-inquiry-dialog{width:min(520px,calc(100vw - 150px))!important;border-radius:24px!important;border:1px solid rgba(207,224,242,.95)!important;box-shadow:0 30px 90px rgba(10,38,72,.28)!important}
.booking-inquiry-dialog>header{padding:27px 31px 22px!important;background:linear-gradient(135deg,#0a4282 0%,#176ab9 100%)!important}
.booking-inquiry-dialog>header>span{font-size:9px!important;letter-spacing:.18em!important;font-weight:900!important;color:#cfe7ff!important}
.booking-inquiry-dialog>header h2{margin:5px 0 6px!important;font-size:27px!important;line-height:1.2!important}
.booking-inquiry-dialog>header p{font-size:11px!important;line-height:1.7!important}
.booking-inquiry-dialog .booking-inquiry-form{padding:20px 30px 26px!important}
.booking-context-card{
  display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:11px;margin:0 0 16px;padding:12px 13px;
  border:1px solid #d7e7f7;border-radius:15px;background:linear-gradient(135deg,#f1f7ff,#fbfdff);color:#173f6d;
}
.booking-context-card[hidden]{display:none!important}
.booking-context-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:#e1efff;color:#0d5ba8}.booking-context-icon svg{width:21px;height:21px}
.booking-context-copy{display:grid;min-width:0}.booking-context-copy small{color:#7690ab;font-size:9px;font-weight:800;letter-spacing:.08em}.booking-context-copy strong{margin-top:2px;overflow:hidden;color:#123d6d;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.booking-context-copy em{margin-top:2px;color:#7b8fa5;font-size:9px;font-style:normal}
.booking-context-lock{padding:5px 8px;border-radius:999px;background:#fff;color:#3772ad;font-size:9px;font-weight:800;box-shadow:inset 0 0 0 1px #d5e6f7}
.booking-inquiry-dialog.is-contextual .booking-type-field{display:none!important}
.booking-inquiry-dialog.is-contextual .unit-field{display:none!important}
.booking-inquiry-dialog.is-contextual .quantity-field{grid-column:auto!important}
.booking-inquiry-dialog .booking-submit{min-height:48px!important;border-radius:14px!important;background:linear-gradient(135deg,#0b4d91,#176abb)!important;box-shadow:0 10px 24px rgba(16,91,164,.18)!important}
.booking-inquiry-dialog .booking-submit:hover{filter:brightness(.98);transform:translateY(-1px)}

/* 房间详情页按钮统一调用弹窗。 */
.rm9-info-actions>button{flex:1;min-height:46px;border:0;border-radius:10px;background:#0c4d8f;color:#fff;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.rm9-info-actions>button:hover{background:#083f78}
.rm106-booking-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:flex-end}.rm106-booking-actions button,.rm106-booking-actions a{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:12px;text-decoration:none;font-size:13px;font-weight:800}.rm106-booking-actions button{border:0;background:#0b4d91;color:#fff;cursor:pointer}.rm106-booking-actions a{border:1px solid #cfe0f0;background:#fff;color:#174b7b}
.rm9-scene-grid>button{position:relative;overflow:hidden;padding:0;border:0;border-radius:inherit;background:transparent;text-align:left;cursor:pointer;font:inherit}

@media (max-width:1180px){
  .bhmz-ai-float-launcher--v106{right:14px!important}.bhmz-floating-tools--v106{right:14px!important}.booking-inquiry-modal.open{padding-right:108px!important}
}
@media (max-width:820px){
  .bhmz-ai-float-launcher--v106{right:10px!important;top:auto!important;bottom:142px!important;width:62px!important}
  .bhmz-ai-avatar-button--v106{width:60px!important;padding:5px 3px!important;border-radius:22px!important}.bhmz-ai-avatar-button--v106 .bhmz-ai-avatar-ring{width:46px!important;height:46px!important}.bhmz-ai-avatar-button--v106 strong{min-width:50px!important;font-size:9px!important;padding:4px 6px!important}.bhmz-ai-avatar-button--v106>small{display:none}
  .bhmz-floating-tools--v106{right:10px!important;top:auto!important;bottom:72px!important;width:60px!important;padding:4px!important;border-radius:21px!important;transform:none!important;display:block!important}
  .bhmz-floating-tools--v106 .bhmz-float-item{display:none!important}.bhmz-floating-tools--v106 .bhmz-float-item--booking,.bhmz-floating-tools--v106 .bhmz-float-item--availability{display:flex!important;min-height:54px!important;border-radius:16px!important}.bhmz-floating-tools--v106 .bhmz-float-item--availability{margin-bottom:0!important}.bhmz-floating-tools--v106 .bhmz-float-item strong{font-size:9px!important}.bhmz-floating-tools--v106 .bhmz-float-icon svg{width:20px!important;height:20px!important}.bhmz-floating-tools--v106 .bhmz-float-wrap,.bhmz-float-top--v106{display:none!important}
  .booking-inquiry-modal.open{align-items:flex-end!important;justify-content:center!important;padding:8px!important}.booking-inquiry-dialog{width:100%!important;max-height:calc(100vh - 16px)!important;border-radius:23px 23px 16px 16px!important}.booking-inquiry-dialog>header{padding:22px 20px 18px!important}.booking-inquiry-dialog>header h2{font-size:23px!important}.booking-inquiry-dialog .booking-inquiry-form{padding:17px 18px 22px!important}.booking-context-card{grid-template-columns:38px minmax(0,1fr) auto}.booking-context-icon{width:38px;height:38px}
  .rm106-booking-actions{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){.bhmz-floating-tools--v106 *,.bhmz-ai-float-launcher--v106 *{transition:none!important;animation:none!important}}
