/* LaosScore floating WhatsApp contact. Eligibility comes only from the server. */
.ls-floating-contact {position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;max-width:110px;font-family:inherit}
.ls-floating-contact[hidden] {display:none!important}
.ls-floating-contact > .ls-wa-link {display:flex;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:110px;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.ls-wa-bubble {position:relative;isolation:isolate;display:grid;place-items:center;flex:none;width:56px;height:56px;border:2px solid #FFFFFF;border-radius:50%;background:#25D366;box-shadow:0 5px 18px #10234738;transition:transform .18s ease,box-shadow .18s ease}
.ls-wa-bubble::before {content:'';position:absolute;inset:-6px;z-index:-1;border:2px solid #25D36655;border-radius:50%;pointer-events:none;animation:lsWaHalo 3.2s ease-out infinite}
.ls-wa-bubble img {display:block;width:33px;height:33px;object-fit:contain}
.ls-wa-caption {display:block;max-width:110px;padding:5px 8px;border:1px solid var(--line,#D6E1EE);border-radius:8px;background:var(--card,#FFFFFF);color:var(--text,#182235);box-shadow:0 3px 12px #1023471A;font-size:11px;font-weight:600;line-height:1.65;text-align:center;white-space:normal;overflow-wrap:anywhere}
.ls-wa-link:hover .ls-wa-bubble {transform:translateY(-2px);box-shadow:0 7px 22px #10234745}
.ls-wa-link:focus-visible {outline:3px solid var(--blue,#CE263B);outline-offset:7px;border-radius:12px}
.ls-wa-paused .ls-wa-bubble::before {animation-play-state:paused}
/* Existing notices own the lower viewport; dialogs already sit above z-index 60. */
body:has(.toast.on,.sndbar.on) .ls-floating-contact {visibility:hidden;pointer-events:none}
body:has(.toast.on,.sndbar.on) .ls-wa-bubble::before {animation-play-state:paused}
.ui-mobile .ls-floating-contact {right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
.ui-mobile .ls-wa-bubble {width:48px;height:48px}
.ui-mobile .ls-wa-bubble img {width:29px;height:29px}
@media(max-width:700px) {
  .ls-floating-contact {right:calc(14px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}
  .ls-wa-bubble {width:48px;height:48px}
  .ls-wa-bubble img {width:29px;height:29px}
}
@keyframes lsWaHalo {0%,100%{opacity:0;transform:scale(.96)}15%{opacity:.65}75%{opacity:0;transform:scale(1.16)}}
@media(prefers-reduced-motion:reduce) {
  .ls-wa-bubble,.ls-wa-link:hover .ls-wa-bubble {transition:none;transform:none}
  .ls-wa-bubble::before {animation:none!important;display:none}
}
