/* Willow concierge floating widget (NCCTI widget pattern, wlw- namespace) */

  #wlw-launch{position:fixed;right:18px;bottom:22px;z-index:9000;background:none;border:none;padding:0;cursor:pointer;font-family:"Big Shoulders Display",Impact,sans-serif;display:block}
  #wlw-launch::before{content:"";position:absolute;inset:-5px;border-radius:21px;border:2.5px solid #ffb547;opacity:0;animation:wlwPulse 2.8s ease-out infinite;pointer-events:none}
  #wlw-launch .wlw-card{position:relative;display:block;width:250px;height:172px;border-radius:16px;overflow:hidden;border:3px solid #ffffff;background:#141516;box-shadow:0 14px 36px rgba(0,0,0,.4),0 2px 8px rgba(0,0,0,.22);transition:transform .22s,box-shadow .22s}
  #wlw-launch:hover .wlw-card{transform:scale(1.04);box-shadow:0 18px 44px rgba(0,0,0,.46),0 3px 10px rgba(0,0,0,.28)}
  #wlw-launch .wlw-card img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
  #wlw-launch.wlw-collapsed{display:none}
  #wlw-launch .wlw-min{position:absolute;top:6px;right:6px;z-index:3;width:22px;height:22px;border-radius:50%;background:rgba(20,21,22,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:#fff;display:grid;place-items:center;cursor:pointer;opacity:.85;transition:opacity .2s,background .2s}
  #wlw-launch .wlw-min:hover{opacity:1;background:rgba(20,21,22,.95)}
  #wlw-launch .wlw-min svg{width:12px;height:12px;stroke:#fff;stroke-width:2.5;stroke-linecap:round}
  #wlw-mini{position:fixed;right:18px;bottom:22px;z-index:9000;display:none;width:56px;height:56px;border-radius:50%;border:2.5px solid #ffffff;overflow:hidden;padding:0;background:#141516;box-shadow:0 8px 22px rgba(0,0,0,.35),0 2px 6px rgba(0,0,0,.2);cursor:pointer;transition:transform .22s}
  #wlw-mini.wlw-shown{display:block;animation:wlwPop .25s ease}
  #wlw-mini:hover{transform:scale(1.1)}
  #wlw-mini img{width:100%;height:100%;object-fit:cover;object-position:50% 22%;display:block}
  #wlw-mini .wlw-mini-dot{position:absolute;top:3px;right:3px;width:9px;height:9px;border-radius:50%;background:#31D158;border:1.5px solid #fff;animation:wlwLiveDot 2s ease-out infinite}
  @keyframes wlwPop{0%{transform:scale(.5);opacity:0}100%{transform:scale(1);opacity:1}}
  #wlw-launch .wlw-live{position:absolute;top:8px;left:8px;display:flex;align-items:center;gap:5px;background:rgba(20,21,22,.72);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:999px;padding:4px 9px 4px 7px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.09em}
  #wlw-launch .wlw-live i{width:8px;height:8px;border-radius:50%;background:#31D158;animation:wlwLiveDot 2s ease-out infinite}
  @keyframes wlwLiveDot{0%{box-shadow:0 0 0 0 rgba(49,209,88,.55)}70%{box-shadow:0 0 0 6px rgba(49,209,88,0)}100%{box-shadow:0 0 0 0 rgba(49,209,88,0)}}
  #wlw-launch .wlw-cap{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:8px;padding:28px 10px 9px;background:linear-gradient(180deg,rgba(20,21,22,0) 0%,rgba(20,21,22,.55) 35%,rgba(20,21,22,.94) 100%);text-align:left}
  #wlw-launch .wlw-cap-txt{flex:1;min-width:0;color:#fff}
  #wlw-launch .wlw-cap-txt strong{display:block;font-weight:800;font-size:14px;line-height:1.1;letter-spacing:.02em;text-transform:uppercase}
  #wlw-launch .wlw-cap-txt span{display:block;font-size:10px;font-weight:500;opacity:.88;margin-top:2px;letter-spacing:.03em;white-space:nowrap}
  #wlw-launch .wlw-play{flex:0 0 auto;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#ffc76a,#f39a25);display:grid;place-items:center;box-shadow:0 3px 10px rgba(0,0,0,.35);transition:transform .22s}
  #wlw-launch:hover .wlw-play{transform:scale(1.12)}
  #wlw-launch .wlw-play svg{width:14px;height:14px;display:block;margin-left:2px}
  @keyframes wlwPulse{0%{transform:scale(.97);opacity:.85}70%{transform:scale(1.09);opacity:0}100%{transform:scale(1.09);opacity:0}}
  @media (max-width:700px){
    #wlw-launch{right:12px;bottom:16px}
    #wlw-launch .wlw-card{width:180px;height:126px;border-radius:12px;border-width:2px}
    #wlw-launch::before{border-radius:17px}
    #wlw-launch .wlw-live{top:6px;left:6px;font-size:9px;padding:3px 7px 3px 6px}
    #wlw-launch .wlw-live i{width:7px;height:7px}
    #wlw-launch .wlw-cap{gap:6px;padding:20px 7px 6px}
    #wlw-launch .wlw-cap-txt strong{font-size:11px}
    #wlw-launch .wlw-cap-txt span{font-size:8px;letter-spacing:.02em}
    #wlw-launch .wlw-play{width:25px;height:25px}
    #wlw-launch .wlw-play svg{width:11px;height:11px}
    #wlw-launch .wlw-min{top:4px;right:4px;width:20px;height:20px}
    #wlw-mini{right:12px;bottom:16px;width:48px;height:48px;border-width:2px}
  }
  @media print{#wlw-launch,#wlw-mini{display:none}}

  #wlw-modal{position:fixed;inset:0;z-index:9500;display:none;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .35s ease}
  #wlw-modal.open{display:flex;opacity:1}
  #wlw-backdrop{position:absolute;inset:0;background:rgba(20,21,22,.6);backdrop-filter:blur(6px) saturate(1.05);-webkit-backdrop-filter:blur(6px) saturate(1.05)}
  #wlw-stage{position:relative;width:100%;max-width:min(980px,94vw);aspect-ratio:980/640;border-radius:14px;overflow:hidden;background:#141516;border:1px solid rgba(255,255,255,.35);box-shadow:0 40px 100px -28px rgba(0,0,0,.8);transform:scale(.96);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
  #wlw-modal.open #wlw-stage{transform:scale(1)}
  #wlw-stage:fullscreen{max-width:none;aspect-ratio:auto;border-radius:0}
  #wlw-stage:-webkit-full-screen{max-width:none;aspect-ratio:auto;border-radius:0}
  #wlw-frame{position:absolute;inset:0}
  #wlw-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:none;display:block}
  .wlw-ctrls{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:5}
  .wlw-ctrl{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:rgba(20,21,22,.65);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#fff;cursor:pointer;display:grid;place-items:center;padding:0;transition:.2s}
  .wlw-ctrl:hover{background:rgba(255,255,255,.22)}
  .wlw-ctrl.close:hover{background:rgba(220,60,60,.5);transform:rotate(90deg)}
  .wlw-ctrl svg{width:17px;height:17px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
  .wlw-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#fff;font-family:"Big Shoulders Display",Impact,sans-serif;font-size:13px;letter-spacing:.06em;background:radial-gradient(ellipse at 50% 40%, rgba(255,181,71,.25), rgba(10,10,11,.97) 70%);text-align:center;padding:24px}
  .wlw-loading .wlw-spin{width:42px;height:42px;border:3px solid rgba(255,255,255,.2);border-top-color:#ffc76a;border-radius:50%;animation:wlwSpin .8s linear infinite}
  @keyframes wlwSpin{to{transform:rotate(360deg)}}
  @media (max-width:700px){
    #wlw-modal{padding:0}
    #wlw-stage{max-width:100%;width:100%;height:100vh;height:100dvh;aspect-ratio:auto;border-radius:0;border-left:0;border-right:0}
    .wlw-ctrls{top:calc(env(safe-area-inset-top, 0px) + 10px);right:10px}
    .wlw-ctrl.fs{display:none}
  }

  #wlw-modal .wlw-ctrl{appearance:none!important;-webkit-appearance:none!important;width:38px!important;height:38px!important;padding:0!important;margin:0!important;border-radius:50%!important;border:1px solid rgba(255,255,255,.3)!important;background:rgba(20,21,22,.7)!important;color:#fff!important;display:grid!important;place-items:center!important;box-shadow:none!important}
  #wlw-modal .wlw-ctrl.close:hover{background:rgba(220,60,60,.6)!important}
  #wlw-launch .wlw-cap-txt strong{font-size:17px;letter-spacing:.08em}
  #wlw-launch .wlw-cap-txt span{font-family:"JetBrains Mono",monospace;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase}
  #wlw-launch .wlw-card{border-color:#ffb547}
  #wlw-launch .wlw-card img{object-position:50% 30%}
  #wlw-launch .wlw-live,#wlw-launch .wlw-cap-txt{font-family:"JetBrains Mono",monospace}
  #wlw-launch .wlw-cap-txt strong{font-family:"Big Shoulders Display",Impact,sans-serif}
  #wlw-launch::before{border-color:#ffb547}
  #wlw-stage{border-color:rgba(255,181,71,.45)}
  @media (max-width:700px){#wlw-launch .wlw-cap-txt strong{font-size:13px}#wlw-launch .wlw-cap-txt span{font-size:7.5px}}
