.rbai-root{font-family:inherit;box-sizing:border-box}.rbai-root *{box-sizing:border-box}.rbai-floating{position:fixed;right:22px;bottom:22px;z-index:999999}.rbai-launch{border:0;border-radius:999px;background:var(--rbai-accent,#71bf44);color:#fff;font-weight:700;padding:13px 18px;box-shadow:0 12px 35px rgba(0,0,0,.2);display:flex;gap:8px;align-items:center;cursor:pointer}.rbai-panel{width:min(390px,calc(100vw - 28px));height:min(620px,calc(100vh - 80px));background:#fff;border:1px solid #dfe3e7;border-radius:18px;box-shadow:0 18px 55px rgba(0,0,0,.22);overflow:hidden;display:flex;flex-direction:column}.rbai-inline .rbai-panel{width:100%;max-width:760px;height:650px;box-shadow:none;margin:20px auto}.rbai-head{display:flex;align-items:center;gap:10px;padding:13px 14px;border-bottom:1px solid #e7eaed;background:#111;color:#fff}.rbai-head strong{display:block}.rbai-head span{display:block;font-size:12px;opacity:.75}.rbai-avatar{width:38px;height:38px;border-radius:12px;background:var(--rbai-accent,#71bf44);display:grid;place-items:center;font-weight:900}.rbai-close{margin-left:auto;border:0;background:transparent;color:#fff;font-size:28px;cursor:pointer}.rbai-messages{flex:1;overflow:auto;padding:16px;background:#f7f8f9}.rbai-msg{display:flex;margin:9px 0}.rbai-msg>div{max-width:88%;padding:11px 13px;border-radius:15px;line-height:1.42;font-size:14px}.rbai-assistant>div{background:#fff;border:1px solid #e1e5e8;border-bottom-left-radius:5px}.rbai-user{justify-content:flex-end}.rbai-user>div{background:#111;color:#fff;border-bottom-right-radius:5px}.rbai-book{display:inline-flex;margin:8px 0 0 8px;background:var(--rbai-accent,#71bf44);color:#fff!important;text-decoration:none!important;padding:10px 13px;border-radius:10px;font-weight:800;font-size:13px}.rbai-notice{display:block;margin:6px 8px;color:#666}.rbai-form{display:flex;gap:8px;padding:10px;border-top:1px solid #e5e7e9;background:#fff}.rbai-form textarea{flex:1;resize:none;border:1px solid #ccd2d7;border-radius:12px;padding:10px 11px;min-height:44px;max-height:120px}.rbai-form button{width:46px;border:0;border-radius:12px;background:var(--rbai-accent,#71bf44);color:#fff;font-size:23px;cursor:pointer}.rbai-foot{font-size:10px;color:#737b82;padding:0 12px 10px;background:#fff}.rbai-typing{padding:0 18px 8px;background:#f7f8f9}.rbai-typing span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#888;margin-right:3px;animation:rbaiPulse 1.2s infinite}.rbai-typing span:nth-child(2){animation-delay:.15s}.rbai-typing span:nth-child(3){animation-delay:.3s}@keyframes rbaiPulse{0%,80%,100%{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.rbai-quick{display:flex;gap:7px;flex-wrap:wrap;margin:7px 0 12px}.rbai-quick button{background:#fff;border:1px solid var(--rbai-accent,#71bf44);color:#222;border-radius:999px;padding:8px 10px;font-size:12px;cursor:pointer}@media(max-width:520px){.rbai-floating{right:10px;bottom:10px}.rbai-panel{width:calc(100vw - 20px);height:calc(100vh - 40px)}.rbai-launch span.dashicons+span{display:none}}

.rbai-choices{display:grid;gap:8px;margin:8px 0 2px 42px}
.rbai-choices button{text-align:left;white-space:normal;line-height:1.3}

/* Floating panel visibility: [hidden] must beat .rbai-panel { display:flex }. */
.rbai-root [hidden]{display:none!important}
.rbai-floating .rbai-panel[hidden]{display:none!important}
.rbai-floating .rbai-launch[hidden]{display:none!important}

/* Keep the close control easy to hit and above any theme styles. */
.rbai-close{display:flex!important;align-items:center;justify-content:center;min-width:40px;width:40px;height:40px;padding:0;line-height:1;position:relative;z-index:2}

/* v3.9.7: Keep booking actions below assistant replies, never beside bubbles. */
.rbai-root .rbai-msg.rbai-assistant{display:flex;flex-direction:column;align-items:flex-start;min-width:0;width:100%;}
.rbai-root .rbai-msg.rbai-assistant>div{max-width:88%;min-width:0;overflow-wrap:anywhere;}
.rbai-root .rbai-msg.rbai-assistant>.rbai-book{display:inline-flex;align-self:flex-start;max-width:calc(100% - 8px);width:auto;margin:8px 0 0 0;white-space:normal;overflow-wrap:anywhere;text-align:center;justify-content:center;}
.rbai-root .rbai-msg.rbai-assistant>.rbai-notice{margin:6px 0 0;}

/* v3.9.8: Self-contained chat icon for iOS Safari; no Dashicons font dependency. */
.rbai-root .rbai-launch .rbai-launch-icon{display:block!important;flex:0 0 22px;width:22px!important;height:22px!important;min-width:22px;visibility:visible!important;opacity:1!important;stroke:currentColor!important;fill:none!important}
@media(max-width:520px){.rbai-root .rbai-launch{min-width:48px;min-height:48px;justify-content:center;padding:12px}.rbai-root .rbai-launch .rbai-launch-icon{display:block!important}}

/* v3.9.9: accessible permanent legal links beneath the chat form */
.rbai-foot .rbai-legal-links{display:block;margin-top:5px;line-height:1.5}.rbai-foot .rbai-legal-links a{color:inherit;text-decoration:underline;text-underline-offset:2px}.rbai-foot .rbai-legal-links a:focus-visible{outline:2px solid var(--rbai-accent,#159447);outline-offset:2px}

.rbai-disclosure{font-size:11px;line-height:1.4;padding:7px 12px;background:#f2f8f3;color:#334c3c;border-bottom:1px solid #dce9df}.rbai-disclosure a{color:#146d39;text-decoration:underline}.rbai-disclosure a:focus-visible{outline:2px solid #146d39}

/* v3.9.11: Center the floating launcher on narrow screens, including iOS Safari.
   Override the original right-aligned mobile rule without affecting inline widgets. */
@media (max-width: 520px) {
  .rbai-root.rbai-floating {
    left: 50% !important;
    right: auto !important;
    bottom: calc(16px + env(safe-area-inset-bottom, 0px)) !important;
    transform: translateX(-50%) !important;
    width: max-content;
    max-width: calc(100vw - 24px);
    max-width: calc(100dvw - 24px);
    margin: 0 !important;
  }
  .rbai-root.rbai-floating > .rbai-launch {
    display: flex;
    width: max-content;
    max-width: 100%;
    min-height: 48px;
    padding: 12px 18px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    white-space: normal;
    text-align: center;
  }
  .rbai-root.rbai-floating > .rbai-launch > span {
    display: inline !important;
    overflow-wrap: anywhere;
  }
  .rbai-root.rbai-floating > .rbai-panel {
    width: calc(100vw - 24px);
    width: calc(100dvw - 24px);
    max-width: 390px;
    height: min(620px, calc(100vh - 90px));
    height: min(620px, calc(100dvh - 90px - env(safe-area-inset-bottom, 0px)));
  }
}
