/* mascot badge so the logo reads as tappable */
.bh-logo { cursor: pointer; }
.bhx-badge {
  position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%);
  font: 700 11px/1 system-ui, -apple-system, "Segoe UI", sans-serif; letter-spacing: .04em;
  padding: 4px 8px; border-radius: 999px; background: #3fa7a0; color: #fff;
  box-shadow: 0 4px 10px rgba(0,0,0,.2); pointer-events: none;
}

/* contact sheet: bottom sheet on phones, centered card on wide screens */
.bhx { position: fixed; inset: 0; z-index: 1000; font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.bhx-back { position: absolute; inset: 0; background: rgba(14,22,33,.55); opacity: 0; transition: opacity 200ms ease; }
.bhx-card {
  position: absolute; left: 0; right: 0; bottom: 0; background: #f6f3ee; color: #2a2a2a;
  border-radius: 20px 20px 0 0; padding: 26px 18px calc(22px + env(safe-area-inset-bottom));
  transform: translateY(100%); transition: transform 240ms cubic-bezier(0.23, 1, 0.32, 1);
  box-shadow: 0 -10px 40px rgba(0,0,0,.25); max-height: 90vh; overflow: auto;
}
@media (min-width: 700px) {
  .bhx-card { left: 50%; right: auto; bottom: auto; top: 50%; width: 440px; border-radius: 20px; transform: translate(-50%, -46%); opacity: 0; transition: transform 240ms cubic-bezier(0.23, 1, 0.32, 1), opacity 200ms ease; }
  .bhx.on .bhx-card { transform: translate(-50%, -50%); opacity: 1; }
}
.bhx.on .bhx-back { opacity: 1; }
.bhx.on .bhx-card { transform: translateY(0); }
@media (min-width: 700px) { .bhx.on .bhx-card { transform: translate(-50%, -50%); } }
.bhx-x { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: none; font-size: 28px; line-height: 1; color: #5d5d5d; cursor: pointer; }
.bhx h2 { margin: 0 0 6px; font-size: 24px; color: #1f3a5f; }
.bhx-sub { margin: 0 0 16px; font-size: 16px; color: #5d5d5d; }
.bhx-lab { display: block; font-size: 15px; font-weight: 600; margin-bottom: 6px; color: #1f3a5f; }
.bhx textarea {
  width: 100%; box-sizing: border-box; font: inherit; font-size: 18px; padding: 12px; min-height: 96px;
  border-radius: 12px; border: 1px solid rgba(31,58,95,.25); background: #fff; color: #2a2a2a; resize: vertical;
}
.bhx-btn {
  display: block; width: 100%; box-sizing: border-box; margin-top: 12px; padding: 16px; border: 0; border-radius: 12px;
  font: inherit; font-size: 18px; font-weight: 700; text-align: center; text-decoration: none; cursor: pointer;
  background: #1f3a5f; color: #fff;
}
.bhx-ghost { background: transparent; color: #1f3a5f; border: 2px solid rgba(31,58,95,.3); }
.bhx-note { text-align: center; margin: 14px 0 0; font-size: 15px; color: #5d5d5d; }
@media (prefers-color-scheme: dark) {
  .bhx-card { background: #1b2129; color: #e8e4dc; }
  .bhx h2, .bhx-lab { color: #cfe0f5; }
  .bhx-sub, .bhx-x, .bhx-note { color: #a9b0b8; }
  .bhx textarea { background: #14191f; color: #e8e4dc; border-color: rgba(207,224,245,.2); }
  .bhx-btn { background: #3fa7a0; color: #0e1621; }
  .bhx-ghost { background: transparent; color: #cfe0f5; border-color: rgba(207,224,245,.3); }
}
@media (prefers-reduced-motion: reduce) { .bhx-back, .bhx-card { transition: none; } }

/* pay over time strip (guides and local pages) */
.bhx-fin { margin: 26px 0 -10px; padding: 14px 16px; border-radius: 12px; background: rgba(63,167,160,.12); border: 1px solid rgba(63,167,160,.35); font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif; color: #2a2a2a; }
.bhx-fin small { display: block; margin-top: 6px; font-size: 13px; color: #5d5d5d; }

/* helper bot */
.bhx-status { display: flex; align-items: center; gap: 8px; margin: 0 0 12px; font-size: 15px; color: #5d5d5d; }
.bhx-status span { width: 10px; height: 10px; border-radius: 50%; background: #b0b0b0; flex: none; }
.bhx-status.on span { background: #2fbf71; box-shadow: 0 0 0 4px rgba(47,191,113,.18); }
.bhx-log { display: flex; flex-direction: column; gap: 8px; max-height: 34vh; overflow: auto; margin: 0 0 10px; }
.bhx-log:empty { display: none; }
.bhx-m { padding: 10px 12px; border-radius: 14px; font-size: 16px; line-height: 1.45; max-width: 92%; }
.bhx-m.me { align-self: flex-end; background: #1f3a5f; color: #fff; }
.bhx-m.bot { align-self: flex-start; background: #fff; border: 1px solid rgba(31,58,95,.15); color: #2a2a2a; }
.bhx-m.bot a { color: #1f3a5f; font-weight: 600; }
.bhx-qs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.bhx-q { font: inherit; font-size: 15px; padding: 9px 12px; border-radius: 999px; border: 1px solid rgba(31,58,95,.25); background: #fff; color: #1f3a5f; cursor: pointer; }
.bhx-ask { background: transparent; color: #1f3a5f; border: 2px solid rgba(31,58,95,.3); margin-top: 8px; }
@media (prefers-color-scheme: dark) {
  .bhx-status { color: #a9b0b8; }
  .bhx-m.bot { background: #14191f; color: #e8e4dc; border-color: rgba(207,224,245,.2); }
  .bhx-m.bot a { color: #cfe0f5; }
  .bhx-q { background: #14191f; color: #cfe0f5; border-color: rgba(207,224,245,.3); }
  .bhx-ask { color: #cfe0f5; border-color: rgba(207,224,245,.3); }
}
