.webu-floating { font-family:"Segoe UI",system-ui,sans-serif; color:#203a3a; }
.webu-floating [hidden] { display:none!important; }
.webu-floating *, .webu-floating *::before, .webu-floating *::after { box-sizing:border-box; }
.webu-floating .webu-floating-launcher { position:fixed!important; z-index:9990!important; top:auto!important; bottom:auto!important; left:auto!important; right:auto!important; margin:0!important; transform:none!important; display:flex; flex-wrap:wrap; align-items:center; gap:9px; max-width:calc(100vw - 32px); }
.webu-floating .webu-floating-launcher[data-position^="bottom"] { bottom:max(20px,env(safe-area-inset-bottom))!important; }
.webu-floating .webu-floating-launcher[data-position^="top"] { top:calc(20px + env(safe-area-inset-top))!important; }
body.admin-bar .webu-floating .webu-floating-launcher[data-position^="top"] { top:calc(52px + env(safe-area-inset-top))!important; }
.webu-floating .webu-floating-launcher[data-position$="left"] { left:max(16px,env(safe-area-inset-left))!important; }
.webu-floating .webu-floating-launcher[data-position$="right"] { right:max(16px,env(safe-area-inset-right))!important; justify-content:flex-end; }
.webu-floating-launcher button { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:50px; height:50px; margin:0; padding:12px; border:0; border-radius:999px; color:var(--webu-floating-text); background:var(--webu-floating-primary); box-shadow:0 4px 14px #0003; font:600 15px/1.2 "Segoe UI",system-ui,sans-serif; cursor:pointer; }
.webu-floating-launcher button[data-webu-open="booking"] { padding-inline:20px; }
.webu-floating button:focus-visible { outline:3px solid #e9bb63; outline-offset:3px; }
.webu-floating-dialog { position:fixed; inset:0; width:min(790px,calc(100vw - 24px)); max-width:calc(100vw - 24px); max-height:calc(100dvh - 32px - env(safe-area-inset-bottom) - env(safe-area-inset-top)); margin:auto; padding:0; overflow:auto; overscroll-behavior:contain; border:0; border-radius:18px; background:#f3f7f3; box-shadow:0 24px 80px #0006; color:#203a3a; }
.webu-floating-dialog::backdrop { background:#142b35aa; }
.webu-floating-head { position:sticky; top:0; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 20px; color:var(--webu-floating-text); background:var(--webu-floating-primary); }
.webu-floating .webu-floating-head h2 { min-width:0; margin:0!important; font:700 20px/1.3 "Segoe UI",system-ui,sans-serif!important; letter-spacing:normal!important; text-transform:none!important; color:inherit; overflow-wrap:break-word; }
.webu-floating-head button { flex:0 0 44px; width:44px; height:44px; padding:0; border:1px solid currentColor; border-radius:50%; background:transparent; color:inherit; font-size:28px; cursor:pointer; }
.webu-floating-body { padding:0 16px 20px; }
.webu-floating-body .webu-addon-shell { margin:16px auto 0; box-shadow:none; }
.webu-floating-body .webu-booking-widget { width:100%; }
@media(max-width:540px) {
  .webu-floating .webu-floating-launcher { gap:6px; }
  .webu-floating-launcher button { min-width:44px; height:44px; font-size:13px; padding:10px; }
  .webu-floating-launcher button[data-webu-open="booking"] { padding-inline:13px; gap:7px; }
  .webu-floating-launcher svg { width:19px; height:19px; }
  .webu-floating-head { padding:12px; }
  .webu-floating-body { padding:0 6px 12px; }
  .webu-floating-dialog { border-radius:13px; }
}
