/* Balloons Float Shop. One sky; products hang from balloons; a sticker-style basket pill sits at the bottom. */
#bzf-app{
  --navy:#182033;--white:#ffffff;--yellow:#ffc61a;--green:#74d31f;--pink:#c531d8;--sky-low:#dff3ff;
  position:relative;overflow:hidden;height:clamp(700px,86vh,900px);border-radius:22px;
  background:linear-gradient(#4fb2f3,#dff3ff);color:var(--navy);
  font-family:"Baloo 2","Trebuchet MS","Segoe UI",system-ui,sans-serif;font-size:16px;line-height:1.25;
  -webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;
}
#bzf-app.bzf-small{height:860px;border-radius:16px}
#bzf-app *,#bzf-app *::before,#bzf-app *::after{box-sizing:border-box}
#bzf-app p{margin:0;padding:0}
#bzf-app canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#bzf-sky{touch-action:manipulation;cursor:pointer}
#bzf-fx{pointer-events:none;z-index:3}
#bzf-items{position:absolute;inset:0;pointer-events:none;z-index:2}

/* floating product */
#bzf-app .bzf-item{
  position:absolute;left:0;top:0;pointer-events:auto;display:flex;flex-direction:column;align-items:center;
  margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--navy);font:inherit;cursor:pointer;
  will-change:transform;text-align:center;
}
#bzf-app .bzf-bal{width:78px;height:109px;display:block;margin-bottom:-4px;overflow:visible}
#bzf-app .bzf-card{
  width:156px;background:var(--white);border:3px solid var(--navy);border-radius:20px;box-shadow:0 5px 0 var(--navy);
  padding:10px 10px 12px;display:grid;justify-items:center;gap:6px;transition:transform .12s;
}
#bzf-app .bzf-item:hover .bzf-card,#bzf-app .bzf-item:focus-visible .bzf-card{transform:scale(1.05)}
#bzf-app .bzf-item:focus-visible{outline:none}
#bzf-app .bzf-item:focus-visible .bzf-card{outline:3px solid var(--pink);outline-offset:3px}
#bzf-app .bzf-pic{width:96px;height:96px;border-radius:14px;object-fit:contain;background:#f3f9ff;display:block}
#bzf-app .bzf-name{font-weight:800;font-size:16px;line-height:1.1;text-wrap:balance}
#bzf-app .bzf-price{background:var(--yellow);border:2px solid var(--navy);border-radius:999px;padding:1px 10px;font-weight:800;font-size:15px;max-width:100%;line-height:1.15}
#bzf-app .bzf-item.bzf-hop .bzf-card{animation:bzf-hop .5s}
@keyframes bzf-hop{30%{transform:translateY(-14px) scale(1.08)}100%{transform:none}}
#bzf-app.bzf-small .bzf-bal{width:52px;height:73px}
#bzf-app.bzf-small .bzf-card{width:128px;padding:8px 8px 10px;gap:4px;border-radius:16px}
#bzf-app.bzf-small .bzf-pic{width:66px;height:66px}
#bzf-app.bzf-small .bzf-name{font-size:14px}
#bzf-app.bzf-small .bzf-price{font-size:13px;padding:1px 8px}

/* bottom bar */
#bzf-hud{position:absolute;left:0;right:0;bottom:0;z-index:4;padding:0 12px 14px;display:grid;justify-items:center;gap:6px;pointer-events:none}
#bzf-app #bzf-hint{font-weight:600;font-size:16px;text-align:center;text-wrap:balance;color:var(--navy)}
#bzf-app .bzf-pill{pointer-events:auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px 10px;background:var(--white);border:3px solid var(--navy);border-radius:28px;padding:8px 12px;box-shadow:0 5px 0 var(--navy);max-width:100%}
#bzf-app .bzf-count{font-weight:600;font-size:16px;padding:0 6px;white-space:nowrap}
#bzf-app .bzf-count b{font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
#bzf-app .bzf-btn{
  display:inline-block;font:inherit;font-weight:800;font-size:16px;line-height:1.25;color:var(--navy);text-decoration:none;
  background:var(--white);border:3px solid var(--navy);border-radius:999px;padding:4px 16px;cursor:pointer;
  box-shadow:0 3px 0 var(--navy);transition:transform .08s,box-shadow .08s;text-transform:none;letter-spacing:0;
}
#bzf-app .bzf-btn:active{transform:translateY(3px);box-shadow:0 0 0 var(--navy)}
#bzf-app .bzf-btn:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
#bzf-app .bzf-btn[disabled]{opacity:.6;cursor:default}
#bzf-app .bzf-yellow{background:var(--yellow)}
#bzf-app .bzf-green{background:var(--green)}
#bzf-app .bzf-quiet{font-weight:600}
#bzf-app .bzf-bump{animation:bzf-bump .4s}
@keyframes bzf-bump{40%{transform:scale(1.08)}}

#bzf-toast{position:absolute;left:50%;top:12px;z-index:6;transform:translate(-50%,-80px);max-width:calc(100% - 24px);
  background:var(--navy);color:var(--white);font-weight:600;border-radius:999px;padding:6px 16px;text-align:center;transition:transform .25s;pointer-events:none}
#bzf-toast.bzf-on{transform:translate(-50%,0)}

/* product sheet */
#bzf-sheet{position:fixed;inset:0;top:var(--wp-admin--admin-bar--height,0px);z-index:100002;display:flex;align-items:center;justify-content:center;padding:12px;background:rgba(24,32,51,.45)}
#bzf-sheet[hidden]{display:none}
#bzf-app.bzf-small #bzf-sheet{align-items:flex-end}
#bzf-app .bzf-box{position:relative;width:100%;max-width:420px;max-height:100%;overflow:auto;background:var(--white);border:3px solid var(--navy);border-radius:24px;box-shadow:0 6px 0 var(--navy);padding:16px;display:grid;gap:10px;user-select:text;-webkit-user-select:text}
#bzf-app .bzf-x{position:absolute;right:10px;top:10px;width:38px;height:38px;padding:0;font-size:20px;line-height:1}
#bzf-app .bzf-head{display:flex;gap:12px;align-items:center;padding-right:44px}
#bzf-app .bzf-head .bzf-pic{width:84px;height:84px;flex:none}
#bzf-app .bzf-title{font-weight:800;font-size:22px;line-height:1.1;margin:0 0 4px;padding:0;color:var(--navy)}
#bzf-app .bzf-blurb{font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;font-size:15px;line-height:1.45}
#bzf-app .bzf-label{font-weight:800;font-size:15px}
#bzf-app .bzf-label span{font-weight:600}
#bzf-app .bzf-sw{display:flex;flex-wrap:wrap;gap:8px}
#bzf-app .bzf-sw button{width:36px;height:36px;border-radius:50%;border:3px solid var(--navy);padding:0;cursor:pointer;box-shadow:none}
#bzf-app .bzf-sw button[aria-checked="true"]{outline:3px solid var(--pink);outline-offset:2px}
#bzf-app .bzf-sw button:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
#bzf-app .bzf-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px}
#bzf-app .bzf-qty{display:flex;align-items:center;gap:6px}
#bzf-app .bzf-qty .bzf-btn{width:40px;height:40px;padding:0;font-size:22px;line-height:1}
#bzf-app .bzf-qty input{width:64px;height:40px;border:3px solid var(--navy);border-radius:12px;font:inherit;font-weight:800;font-size:18px;text-align:center;color:var(--navy);background:var(--white);padding:0;-moz-appearance:textfield}
#bzf-app .bzf-qty input::-webkit-outer-spin-button,#bzf-app .bzf-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
#bzf-app .bzf-sum{font-weight:800;font-size:20px;font-variant-numeric:tabular-nums}
#bzf-app .bzf-go{font-size:18px;padding:8px 18px;text-align:center}
#bzf-app .bzf-err{font-weight:600;color:#ad0c1b}
#bzf-app .bzf-err a{color:inherit}
@media (prefers-reduced-motion: reduce){#bzf-app .bzf-btn,#bzf-app .bzf-card,#bzf-toast{transition:none}#bzf-app .bzf-hop .bzf-card,#bzf-app .bzf-bump{animation:none}}

/* balloon picker */
#bzf-app .bzf-box.bzf-wide{max-width:640px}
#bzf-app .bzf-chips{display:flex;flex-wrap:wrap;gap:8px}
#bzf-app .bzf-chip{font:inherit;font-weight:800;font-size:16px;line-height:1.1;color:var(--navy);background:var(--white);border:3px solid var(--navy);border-radius:16px;padding:6px 12px;cursor:pointer;box-shadow:0 3px 0 var(--navy);text-align:left;text-transform:none;letter-spacing:0}
#bzf-app .bzf-chip small{display:block;font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;font-weight:400;font-size:12px;line-height:1.3}
#bzf-app .bzf-chip[aria-pressed="true"]{background:var(--yellow)}
#bzf-app .bzf-chip:focus-visible,#bzf-app .bzf-col:focus-visible,#bzf-app .bzf-pick:focus-visible{outline:3px solid var(--pink);outline-offset:2px}
#bzf-app .bzf-steps .bzf-chip{padding:4px 10px;border-radius:999px;font-size:15px}
#bzf-app .bzf-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(66px,1fr));gap:10px 6px}
#bzf-app .bzf-col{position:relative;display:grid;justify-items:center;gap:7px;margin:0;padding:4px 0;border:0;background:none;box-shadow:none;font:inherit;color:var(--navy);cursor:pointer;border-radius:12px}
#bzf-app .bzf-b{position:relative;width:40px;height:48px;border:3px solid var(--navy);border-radius:50% 50% 50% 50%/46% 46% 54% 54%;background:radial-gradient(ellipse at 32% 26%,rgba(255,255,255,.8) 0 9%,rgba(255,255,255,0) 10%),radial-gradient(circle at 35% 30%,rgba(255,255,255,.28),rgba(0,0,0,.14) 95%),var(--c);transition:transform .1s}
#bzf-app .bzf-b::after{content:"";position:absolute;left:50%;bottom:-8px;margin-left:-5px;border:5px solid transparent;border-bottom-color:var(--navy);border-top-width:0}
#bzf-app .bzf-cols-glossy .bzf-b{background:radial-gradient(ellipse at 32% 26%,rgba(255,255,255,.95) 0 10%,rgba(255,255,255,0) 11%),linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,0) 42%,rgba(0,0,0,.32)),var(--c)}
#bzf-app .bzf-cols-metallic .bzf-b{background:radial-gradient(ellipse at 32% 26%,rgba(255,255,255,.85) 0 9%,rgba(255,255,255,0) 10%),linear-gradient(160deg,rgba(255,255,255,.4),rgba(255,255,255,0) 50%,rgba(0,0,0,.2)),var(--c)}
#bzf-app .bzf-col:hover .bzf-b{transform:translateY(-3px)}
#bzf-app .bzf-col.bzf-has .bzf-b{outline:3px solid var(--pink);outline-offset:2px}
#bzf-app .bzf-cn{font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;font-size:11.5px;line-height:1.15;text-align:center;text-wrap:balance}
#bzf-app .bzf-badge{position:absolute;top:-2px;right:2px;min-width:24px;height:24px;padding:0 5px;border-radius:999px;background:var(--pink);color:#fff;border:2px solid var(--navy);font-weight:800;font-size:13px;line-height:20px;text-align:center}
#bzf-app .bzf-foot{position:sticky;bottom:-16px;margin:0 -16px -16px;padding:10px 16px 16px;background:var(--white);border-top:3px solid var(--navy);display:grid;gap:8px}
#bzf-app .bzf-picked{display:grid;gap:6px;max-height:132px;overflow:auto}
#bzf-app .bzf-gline{font-size:15px}
#bzf-app .bzf-gline span{font-family:"Trebuchet MS","Segoe UI",system-ui,sans-serif;font-size:13px}
#bzf-app .bzf-pick{display:inline-flex;align-items:center;gap:6px;font:inherit;font-weight:600;font-size:14px;line-height:1.2;color:var(--navy);background:var(--sky-low);border:2px solid var(--navy);border-radius:999px;padding:2px 10px 2px 4px;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:0}
#bzf-app .bzf-pick i{width:18px;height:18px;border-radius:50%;border:2px solid var(--navy);flex:none}
/* On its own page the shop sits straight under the site header, edge to edge, and fills the screen (the height is set by the script). */
body.bzf-page .main_title{display:none!important}
body.bzf-page #main-content .container{width:100%!important;max-width:none!important;padding-top:0!important;padding-bottom:0!important}
body.bzf-page #left-area{padding-bottom:0!important}
body.bzf-page #bzf-app{border-radius:0}
#bzf-app.bzf-wideapp .bzf-box.bzf-wide{max-width:880px}
#bzf-app.bzf-small .bzf-picked{max-height:78px}
#bzf-app.bzf-small .bzf-foot .bzf-go{font-size:16px;padding:6px 14px}
#bzf-app.bzf-small .bzf-picked{max-height:78px}
#bzf-app.bzf-small .bzf-foot{padding:8px 16px 14px;gap:6px}
#bzf-app.bzf-small .bzf-chip{font-size:15px;padding:5px 10px}
#bzf-app .bzf-two{display:grid;gap:10px}
#bzf-app .bzf-two>div,#bzf-app .bzf-tap{display:grid;gap:6px}
#bzf-app.bzf-wideapp .bzf-tap{grid-template-columns:auto 1fr;align-items:center;gap:14px}
#bzf-app.bzf-wideapp .bzf-wide .bzf-head .bzf-pic{width:52px;height:52px}
#bzf-app.bzf-wideapp .bzf-wide .bzf-head .bzf-title{display:inline;margin-right:10px}
#bzf-app.bzf-wideapp .bzf-wide .bzf-chip{padding:4px 10px;font-size:15px}
#bzf-app .bzf-chips{align-items:flex-start}
#bzf-app.bzf-wideapp .bzf-wide .bzf-chip small{display:inline;margin-left:6px}
#bzf-app .bzf-box{max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px)}
#bzf-app #bzf-clear[data-armed="1"]{background:#ffd9dc}
#bzf-app #bzf-clear[hidden]{display:none}
