.wbha{position:fixed;z-index:99998;bottom:calc(var(--wbha-bottom,18px) + env(safe-area-inset-bottom));font-family:inherit}.wbha-right{right:var(--wbha-side,18px)}.wbha-left{left:var(--wbha-side,18px)}.wbha *{box-sizing:border-box}.wbha-fab{appearance:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:7px 14px 7px 8px;border-radius:999px;background:var(--wbha-primary,#173f2a);color:#fff;box-shadow:0 12px 28px rgba(0,0,0,.18);font-weight:900;letter-spacing:.01em;transition:transform .16s ease,box-shadow .16s ease}.wbha-fab:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(0,0,0,.22)}.wbha-fab:focus-visible,.wbha-close:focus-visible,.wbha-action:focus-visible{outline:3px solid var(--wbha-accent,#d6a84f);outline-offset:3px}.wbha-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:#fff6dd;border:2px solid rgba(255,255,255,.85);box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);flex:0 0 auto}.wbha-stack{position:absolute;left:7px;right:7px;height:7px;background:#d8a14b;border:2px solid #8b5d22;border-radius:999px}.wbha-stack-1{top:11px}.wbha-stack-2{top:17px;background:#e5b866}.wbha-stack-3{top:23px;background:#cc8f39}.wbha-q{position:absolute;top:5px;right:5px;width:17px;height:17px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0f172a;color:#fff;font-size:12px;line-height:1;font-weight:900}.wbha-fab-label{display:inline-block;white-space:nowrap;font-size:15px}.wbha-btn-full_pill .wbha-fab{min-height:58px;padding:8px 18px 8px 9px}.wbha-btn-full_pill .wbha-fab-label{font-size:17px}.wbha-btn-icon_only .wbha-fab{width:56px;height:56px;min-height:56px;padding:6px;border-radius:999px}.wbha-btn-icon_only .wbha-fab-label{display:none}.wbha-btn-circle_label .wbha-fab{width:64px;height:64px;min-height:64px;padding:7px;border-radius:999px}.wbha-btn-circle_label .wbha-fab-label{position:absolute;right:0;bottom:72px;background:var(--wbha-primary,#173f2a);color:#fff;border-radius:999px;padding:7px 10px;font-size:12px;box-shadow:0 8px 22px rgba(0,0,0,.18)}.wbha-left.wbha-btn-circle_label .wbha-fab-label{left:0;right:auto}.wbha-panel{position:absolute;bottom:72px;background:#fffaf2;color:#111827;border:1px solid rgba(214,168,79,.55);border-radius:22px;box-shadow:0 20px 58px rgba(0,0,0,.22);overflow:hidden}.wbha-panel-compact .wbha-panel{width:min(430px,calc(100vw - 34px))}.wbha-panel-medium .wbha-panel{width:min(520px,calc(100vw - 34px))}.wbha-panel-wide .wbha-panel{width:min(620px,calc(100vw - 34px))}.wbha-right .wbha-panel{right:0}.wbha-left .wbha-panel{left:0}.wbha-panel-anchor-centered_modal .wbha-panel{position:fixed;left:50%!important;right:auto!important;top:50%;bottom:auto;transform:translate(-50%,-50%);max-height:calc(100vh - 60px);overflow:auto}.wbha-panel-head{display:flex;justify-content:space-between;gap:14px;padding:18px 18px 14px;background:linear-gradient(135deg,#fff8e9,#ffffff)}.wbha-eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:900;color:var(--wbha-primary,#173f2a);margin-bottom:6px}.wbha-panel h2{margin:0;font-size:30px;line-height:1.05;color:#111827}.wbha-panel p{margin:8px 0 0;color:#5b5148;font-size:15px;line-height:1.4}.wbha-close{appearance:none;border:0;background:#111827;color:#fff;width:40px;height:40px;border-radius:999px;font-size:30px;line-height:1;cursor:pointer;flex:0 0 auto}.wbha-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 18px 16px}.wbha-action{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid rgba(17,24,39,.1);border-radius:15px;background:#fff;color:#111827;text-decoration:none;font-weight:900;text-align:center;padding:10px 12px;box-shadow:0 6px 16px rgba(0,0,0,.04);line-height:1.15}.wbha-action:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(0,0,0,.08)}.wbha-action-primary{background:var(--wbha-primary,#173f2a);color:#fff;border-color:var(--wbha-primary,#173f2a);grid-column:span 2}.wbha-info{display:grid;gap:10px;padding:0 18px 16px}.wbha-info-card{display:grid;gap:3px;padding:12px 13px;border-radius:15px;background:#fff;border:1px solid rgba(17,24,39,.09)}.wbha-info-card strong{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#111827}.wbha-info-card span{font-size:14px;line-height:1.35;color:#5b5148}.wbha-foot{padding:12px 18px;text-align:center;background:#fff1c7;color:#6b4b12;font-size:13px;font-weight:900;letter-spacing:.03em}.wbha-panel-wide .wbha-actions{grid-template-columns:repeat(3,1fr)}.wbha-panel-wide .wbha-action-primary{grid-column:span 3}
@media(max-width:640px){.wbha-mobile-hidden{display:none!important}.wbha{bottom:auto;top:calc(var(--wbha-mobile-top,18px) + env(safe-area-inset-top));right:14px;left:auto}.wbha-mobile-pos-top_right{top:calc(var(--wbha-mobile-top,18px) + env(safe-area-inset-top));right:14px;bottom:auto;left:auto}.wbha-mobile-pos-top_left{top:calc(var(--wbha-mobile-top,18px) + env(safe-area-inset-top));left:14px;right:auto;bottom:auto}.wbha-mobile-pos-bottom_right{bottom:calc(var(--wbha-mobile-bottom,18px) + env(safe-area-inset-bottom));right:14px;top:auto;left:auto}.wbha-mobile-pos-bottom_left{bottom:calc(var(--wbha-mobile-bottom,18px) + env(safe-area-inset-bottom));left:14px;right:auto;top:auto}.wbha-left{left:14px;right:auto}.wbha-mobile-icon_only .wbha-fab{min-height:56px;width:56px;height:56px;padding:6px;justify-content:center}.wbha-mobile-icon_only .wbha-fab-label{display:none}.wbha-mobile-compact_pill .wbha-fab{min-height:54px;width:auto;padding:7px 13px 7px 8px}.wbha-mobile-compact_pill .wbha-fab-label{display:inline-block;font-size:14px}.wbha-btn-circle_label .wbha-fab-label{display:none}.wbha-panel,.wbha-panel-compact .wbha-panel,.wbha-panel-medium .wbha-panel,.wbha-panel-wide .wbha-panel{position:fixed;left:10px!important;right:10px!important;bottom:auto!important;top:calc(78px + env(safe-area-inset-top))!important;transform:none!important;width:auto;max-height:calc(100vh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;border-radius:22px}.wbha-mobile-pos-bottom_right .wbha-panel,.wbha-mobile-pos-bottom_left .wbha-panel{top:auto!important;bottom:calc(84px + env(safe-area-inset-bottom))!important}.wbha-panel-head{padding:18px 18px 14px}.wbha-panel h2{font-size:27px}.wbha-actions,.wbha-panel-wide .wbha-actions{grid-template-columns:1fr;padding:0 18px 16px}.wbha-action-primary,.wbha-panel-wide .wbha-action-primary{grid-column:auto}.wbha-info{padding:0 18px 16px}.wbha-foot{padding:12px 18px}}
body.admin-bar .wbha{z-index:99999}

/* v0.1.3 mobile position hard-fix: mobile choice wins over desktop left/right classes */
@media(max-width:640px){
  .wbha.wbha-mobile-pos-top_right{top:calc(var(--wbha-mobile-top,18px) + env(safe-area-inset-top))!important;right:14px!important;bottom:auto!important;left:auto!important;}
  .wbha.wbha-mobile-pos-top_left{top:calc(var(--wbha-mobile-top,18px) + env(safe-area-inset-top))!important;left:14px!important;right:auto!important;bottom:auto!important;}
  .wbha.wbha-mobile-pos-bottom_right{bottom:calc(var(--wbha-mobile-bottom,18px) + env(safe-area-inset-bottom))!important;right:14px!important;top:auto!important;left:auto!important;}
  .wbha.wbha-mobile-pos-bottom_left{bottom:calc(var(--wbha-mobile-bottom,18px) + env(safe-area-inset-bottom))!important;left:14px!important;right:auto!important;top:auto!important;}
}
.wbha-foot a{color:inherit;text-decoration:underline;text-underline-offset:3px;font-weight:900;}
.wbha-foot a:hover{filter:brightness(.9);}


/* v0.1.4 icon choices */
.wbha-icon-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:999px;background:#fff6dd;border:2px solid rgba(255,255,255,.85);box-shadow:inset 0 -2px 0 rgba(0,0,0,.08);flex:0 0 auto}
.wbha-coffee-cup{position:absolute;left:10px;top:14px;width:21px;height:17px;border:3px solid #8b5d22;border-top:0;border-radius:3px 3px 9px 9px;background:#f4dfb5;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08)}
.wbha-coffee-cup:before{content:"";position:absolute;left:-2px;right:-2px;top:-6px;height:6px;border:3px solid #8b5d22;border-bottom:0;border-radius:999px 999px 0 0;background:#fff6dd}
.wbha-coffee-handle{position:absolute;right:6px;top:17px;width:10px;height:11px;border:3px solid #8b5d22;border-left:0;border-radius:0 999px 999px 0}
.wbha-coffee-steam{position:absolute;width:4px;height:9px;border-radius:999px;background:rgba(23,63,42,.55);top:6px}
.wbha-coffee-steam-1{left:15px}.wbha-coffee-steam-2{left:23px;height:7px;top:7px}
.wbha-icon-coffee .wbha-q{top:4px;right:4px;background:#0f172a}

/* v0.1.5: make the public coffee icon match the admin preview */
.wbha-icon-coffee .wbha-icon-wrap{background:#fff6dd;overflow:visible;}
.wbha-emoji-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:24px;line-height:1;filter:drop-shadow(0 1px 0 rgba(0,0,0,.12));}
.wbha-icon-coffee .wbha-q{top:4px;right:4px;width:17px;height:17px;font-size:12px;background:#0f172a;color:#fff;border:2px solid #fff6dd;}
.wbha-icon-coffee .wbha-coffee-cup,.wbha-icon-coffee .wbha-coffee-handle,.wbha-icon-coffee .wbha-coffee-steam{display:none!important;}
.wbha-btn-icon_only .wbha-emoji-icon,.wbha-btn-circle_label .wbha-emoji-icon,.wbha-mobile-icon_only .wbha-emoji-icon{font-size:25px;}

/* v0.2.0 Knowledge Base / FAQ answers */
.wbha-faq{padding:0 18px 16px;display:grid;gap:8px}
.wbha-faq h3{margin:0 0 2px;font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:#111827;font-weight:900}
.wbha-faq-item{border:1px solid rgba(17,24,39,.09);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 6px 16px rgba(0,0,0,.035)}
.wbha-faq-item summary{cursor:pointer;list-style:none;padding:12px 42px 12px 13px;font-weight:900;color:#111827;position:relative;line-height:1.25}
.wbha-faq-item summary::-webkit-details-marker{display:none}
.wbha-faq-item summary:after{content:'+';position:absolute;right:13px;top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:999px;background:#f3f4f6;color:var(--wbha-primary,#173f2a);display:flex;align-items:center;justify-content:center;font-weight:900}
.wbha-faq-item[open] summary:after{content:'–';background:var(--wbha-primary,#173f2a);color:#fff}
.wbha-faq-item p{margin:0;padding:0 13px 13px;color:#5b5148;font-size:14px;line-height:1.45}
@media(max-width:640px){.wbha-faq{padding:0 18px 16px}.wbha-faq-item summary{font-size:15px}}


/* v0.2.1: smaller, scrollable help panel */
@media (min-width:641px){
  .wbha-panel{
    max-height:min(640px, calc(100vh - 150px));
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-width:thin;
  }
  .wbha-panel::-webkit-scrollbar{width:8px;}
  .wbha-panel::-webkit-scrollbar-thumb{background:rgba(17,24,39,.22);border-radius:999px;}
  .wbha-panel-compact .wbha-panel{width:min(390px,calc(100vw - 34px));}
  .wbha-panel-medium .wbha-panel{width:min(450px,calc(100vw - 34px));}
  .wbha-panel-wide .wbha-panel{width:min(540px,calc(100vw - 34px));}
  .wbha-panel-head{padding:15px 16px 12px;}
  .wbha-panel h2{font-size:26px;}
  .wbha-panel p{font-size:14px;line-height:1.35;}
  .wbha-close{width:36px;height:36px;font-size:27px;}
  .wbha-actions{gap:8px;padding:0 16px 12px;}
  .wbha-action{min-height:42px;border-radius:13px;padding:9px 10px;font-size:14px;}
  .wbha-faq{padding:0 16px 12px;gap:7px;}
  .wbha-faq h3{font-size:12px;margin-top:1px;}
  .wbha-faq-item summary{padding:10px 38px 10px 12px;font-size:14px;}
  .wbha-faq-item p{font-size:13px;padding:0 12px 11px;}
  .wbha-info{gap:8px;padding:0 16px 12px;}
  .wbha-info-card{padding:10px 12px;border-radius:13px;}
  .wbha-info-card span{font-size:13px;}
  .wbha-foot{padding:10px 16px;font-size:12px;}
}
@media(max-width:640px){
  .wbha-panel,.wbha-panel-compact .wbha-panel,.wbha-panel-medium .wbha-panel,.wbha-panel-wide .wbha-panel{
    max-height:calc(100vh - 150px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y:auto;
    overscroll-behavior:contain;
  }
}

/* v0.2.2: member greeting shortcuts */
.wbha-member-box{margin:0 16px 12px;padding:12px;border:1px solid rgba(23,63,42,.16);border-radius:15px;background:linear-gradient(135deg,#f2fff7,#fffdf7)}
.wbha-member-box strong{display:block;margin:0 0 9px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--wbha-primary,#173f2a);font-weight:900}
.wbha-member-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wbha-member-links a{display:flex;align-items:center;justify-content:center;min-height:36px;border-radius:999px;background:#fff;color:#111827;text-decoration:none;font-weight:900;font-size:12px;border:1px solid rgba(17,24,39,.09);padding:8px 10px;text-align:center;line-height:1.1}
.wbha-member-links a:hover{box-shadow:0 8px 18px rgba(0,0,0,.08);transform:translateY(-1px)}
@media(max-width:640px){.wbha-member-box{margin:0 18px 14px}.wbha-member-links{grid-template-columns:1fr}.wbha-member-links a{min-height:42px;font-size:14px}}

/* v0.2.4: Brunch Perks explainer + recent order preview */
.wbha-perks-explainer{margin:0 16px 12px;padding:12px;border:1px solid rgba(214,168,79,.35);border-radius:15px;background:#fff8df;color:#111827;display:grid;gap:6px}
.wbha-perks-explainer strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--wbha-primary,#173f2a);font-weight:950}
.wbha-perks-explainer p{margin:0!important;font-size:13px!important;line-height:1.35!important;color:#5b5148!important}
.wbha-perks-explainer a{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;padding:8px 11px;border-radius:999px;background:#fff;color:#111827;text-decoration:none;font-weight:900;font-size:12px;border:1px solid rgba(17,24,39,.08)}
.wbha-recent-orders{margin:0 16px 12px;display:grid;gap:9px}
.wbha-recent-head{display:grid;gap:3px}
.wbha-recent-head strong{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#111827;font-weight:950}
.wbha-recent-head span{font-size:12px;line-height:1.3;color:#6b5d52}
.wbha-order-card{border:1px solid rgba(17,24,39,.10);border-radius:15px;background:#fff;box-shadow:0 6px 16px rgba(0,0,0,.035);padding:11px;display:grid;gap:8px}
.wbha-order-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.wbha-order-card b{display:block;font-size:14px;color:#111827;font-weight:950}.wbha-order-card span{display:block;font-size:12px;color:#6b7280;margin-top:2px}.wbha-order-card em{font-style:normal;font-size:13px;font-weight:950;color:#111827;white-space:nowrap}.wbha-order-card p{margin:0!important;font-size:12px!important;line-height:1.35!important;color:#4b5563!important}.wbha-order-actions{display:flex;gap:7px;flex-wrap:wrap}.wbha-order-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:7px 10px;border-radius:999px;text-decoration:none;font-weight:900;font-size:12px;background:var(--wbha-primary,#173f2a);color:#fff}.wbha-order-actions a+ a{background:#f3f4f6;color:#111827}.wbha-order-empty{padding:11px;border-radius:14px;background:#fff;border:1px dashed rgba(17,24,39,.18);font-size:13px;line-height:1.35;color:#6b5d52}
@media(max-width:640px){.wbha-perks-explainer,.wbha-recent-orders{margin-left:18px;margin-right:18px}.wbha-order-actions a{flex:1 1 auto;min-height:38px;font-size:13px}.wbha-order-card p{font-size:13px!important}}
