/* Leapfrog website chat (chatbot.js). All rules are scoped to .lfc-* so they can't affect the rest of the site. */
.lfc-launcher,.lfc-panel,.lfc-tip{--lfc-green:#356C48;--lfc-deep:#22492F;--lfc-lime:#99C455;--lfc-on-lime:#1E2B23;--lfc-mint:#E6F0E9;--lfc-text:#24262A;--lfc-muted:#4A4D54;--lfc-line:#D6E2DA;--lfc-shadow:0 18px 50px rgba(34,73,47,.22);font-family:'Questrial',system-ui,sans-serif;box-sizing:border-box}
.lfc-launcher *,.lfc-panel *,.lfc-tip *{box-sizing:border-box}
.lfc-launcher{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));width:66px;height:66px;border-radius:50%;border:3px solid #fff;background:var(--lfc-lime);cursor:pointer;box-shadow:var(--lfc-shadow);display:grid;place-items:center;z-index:990;padding:0;transition:transform .2s}
.lfc-launcher:hover{transform:translateY(-3px)}
.lfc-launcher img{width:42px;height:auto;max-width:none}
.lfc-launcher .lfc-x{display:none;color:var(--lfc-on-lime)}
.lfc-launcher[aria-expanded="true"] img{display:none}
.lfc-launcher[aria-expanded="true"] .lfc-x{display:block}
.lfc-launcher:focus-visible,.lfc-panel :focus-visible{outline:3px solid var(--lfc-lime);outline-offset:2px}
.lfc-tip{position:fixed;right:96px;bottom:calc(32px + env(safe-area-inset-bottom,0px));background:#fff;color:var(--lfc-deep);border:2px solid var(--lfc-green);border-radius:18px 18px 4px 18px;padding:9px 14px;font-size:15px;line-height:1.4;box-shadow:var(--lfc-shadow);z-index:989;max-width:230px;cursor:pointer}
.lfc-panel{position:fixed;right:20px;bottom:calc(98px + env(safe-area-inset-bottom,0px));width:min(410px,calc(100vw - 32px));height:min(680px,calc(100vh - 130px));background:#fff;color:var(--lfc-text);border:1px solid var(--lfc-line);border-radius:26px;box-shadow:var(--lfc-shadow);display:flex;flex-direction:column;overflow:hidden;z-index:1100;font-size:16px;line-height:1.55;text-align:left}
.lfc-panel[hidden]{display:none}
.lfc-head{background:var(--lfc-green);color:#fff;padding:14px 10px 0 16px}
.lfc-top{display:flex;align-items:center;gap:11px}
.lfc-avatar{width:42px;height:42px;flex:none;border-radius:50%;background:var(--lfc-lime);display:grid;place-items:center}
.lfc-avatar img{width:28px;height:auto;max-width:none}
.lfc-title{font:700 17px/1.2 'Montserrat',system-ui,sans-serif;color:#fff;margin:0}
.lfc-sub{font-size:13px;opacity:.92;margin:0;color:#fff}
.lfc-actions{margin-left:auto;display:flex}
.lfc-icon{background:transparent;border:0;color:#fff;width:38px;height:38px;border-radius:50%;cursor:pointer;display:grid;place-items:center;padding:0}
.lfc-icon:hover,.lfc-icon[aria-pressed="true"]{background:rgba(255,255,255,.18)}
.lfc-tabs{display:flex;gap:4px;margin-top:10px}
.lfc-tab{font:700 14px 'Montserrat',system-ui,sans-serif;color:#fff;opacity:.78;background:transparent;border:0;border-bottom:4px solid transparent;padding:8px 12px 9px;cursor:pointer;border-radius:0}
.lfc-tab[aria-selected="true"]{opacity:1;border-bottom-color:var(--lfc-lime)}
.lfc-view{flex:1;display:flex;flex-direction:column;min-height:0}
.lfc-view[hidden]{display:none}
.lfc-log{flex:1;overflow-y:auto;padding:18px 16px 8px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.lfc-msg{max-width:88%;padding:11px 15px;border-radius:20px;font-size:15.5px;line-height:1.55;overflow-wrap:anywhere}
.lfc-msg p{margin:0 0 8px;font-size:inherit}.lfc-msg p:last-child{margin:0}
.lfc-msg ul{margin:6px 0 8px;padding-left:20px}.lfc-msg li{margin:3px 0;font-size:inherit}
.lfc-msg strong{font-family:'Montserrat',system-ui,sans-serif;font-weight:700;font-size:.94em}
.lfc-bot{background:var(--lfc-mint);color:var(--lfc-text);align-self:flex-start;border-bottom-left-radius:6px}
.lfc-user{background:var(--lfc-green);color:#fff;align-self:flex-end;border-bottom-right-radius:6px}
.lfc-bot a{color:var(--lfc-green);font-weight:600}
.lfc-typing{display:flex;gap:5px;padding:14px 16px;align-items:center}
.lfc-typing i{width:8px;height:8px;border-radius:50%;background:var(--lfc-green);animation:lfc-blink 1s infinite}
.lfc-typing i:nth-child(2){animation-delay:.15s}.lfc-typing i:nth-child(3){animation-delay:.3s}
.lfc-typing span{font-size:13px;color:var(--lfc-muted);margin-left:6px}
@keyframes lfc-blink{0%,80%,100%{opacity:.3}40%{opacity:1}}
.lfc-chips{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 6px}
.lfc-chip{font:400 15px 'Questrial',system-ui,sans-serif;color:var(--lfc-deep);background:#fff;border:2px solid var(--lfc-green);border-radius:999px;padding:7px 14px;cursor:pointer;text-align:left;line-height:1.3}
.lfc-chip:hover{background:var(--lfc-mint)}
.lfc-chip.lfc-primary{background:var(--lfc-lime);border-color:var(--lfc-lime);color:var(--lfc-on-lime);font:700 14.5px 'Montserrat',system-ui,sans-serif}
.lfc-card{align-self:stretch;border:2px solid var(--lfc-line);border-radius:20px;padding:15px;font-size:14.5px;background:#fff}
.lfc-card-t{font:700 16px 'Montserrat',system-ui,sans-serif;color:var(--lfc-deep);margin:0 0 8px}
.lfc-card p{margin:0 0 10px;font-size:inherit}
.lfc-card dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 10px}
.lfc-card dt{color:var(--lfc-muted)}.lfc-card dd{margin:0;overflow-wrap:anywhere}
.lfc-card pre{white-space:pre-wrap;font:inherit;background:var(--lfc-mint);border-radius:12px;padding:10px;margin:0 0 12px;max-height:160px;overflow:auto}
.lfc-btn{display:block;width:100%;text-align:center;text-decoration:none;font:700 15px 'Montserrat',system-ui,sans-serif;background:var(--lfc-lime);color:var(--lfc-on-lime)!important;border:2px solid var(--lfc-lime);border-radius:999px;padding:12px 16px;margin-top:4px;cursor:pointer}
.lfc-btn.lfc-secondary{background:#fff;border-color:var(--lfc-green);color:var(--lfc-deep)!important}
.lfc-btn + .lfc-btn{margin-top:8px}
.lfc-note{font-size:13px;color:var(--lfc-muted);margin:0 0 12px}
.lfc-foot{border-top:1px solid var(--lfc-line);padding:10px 12px;display:flex;gap:8px;align-items:flex-end;margin:0}
.lfc-foot textarea{flex:1;resize:none;border:2px solid var(--lfc-line);border-radius:22px;padding:10px 15px;font:inherit;font-size:16px;background:#fff;color:var(--lfc-text);max-height:110px;min-height:46px;margin:0}
.lfc-foot textarea:focus{outline:none;border-color:var(--lfc-green)}
.lfc-send{width:46px;height:46px;flex:none;border-radius:50%;border:0;background:var(--lfc-lime);color:var(--lfc-on-lime);cursor:pointer;display:grid;place-items:center;padding:0}
.lfc-send:disabled{opacity:.45;cursor:default}
.lfc-disc{font-size:12px;color:var(--lfc-muted);text-align:center;padding:0 12px 10px;margin:0}
.lfc-faq{flex:1;overflow-y:auto;padding:14px 16px 18px;overscroll-behavior:contain}
.lfc-search{width:100%;border:2px solid var(--lfc-line);border-radius:999px;padding:11px 16px;font:inherit;font-size:16px;background:#fff;color:var(--lfc-text);margin:0 0 6px}
.lfc-search:focus{outline:none;border-color:var(--lfc-green)}
.lfc-group{font:700 14px 'Montserrat',system-ui,sans-serif;color:var(--lfc-deep);margin:20px 0 6px}
.lfc-faq details{border-bottom:1px solid var(--lfc-line)}
.lfc-faq summary{cursor:pointer;padding:11px 28px 11px 0;list-style:none;position:relative;font-size:15.5px}
.lfc-faq summary::-webkit-details-marker{display:none}
.lfc-faq summary::after{content:"+";position:absolute;right:4px;top:8px;font:700 20px 'Montserrat',system-ui,sans-serif;color:var(--lfc-green)}
.lfc-faq details[open] summary::after{content:"–"}
.lfc-ans{font-size:15px;padding:0 0 14px}
.lfc-ans p{margin:0 0 8px;font-size:inherit}.lfc-ans ul{margin:4px 0 8px;padding-left:20px}
.lfc-ans strong{font-family:'Montserrat',system-ui,sans-serif;font-weight:700;font-size:.94em}
.lfc-ans a{color:var(--lfc-green)}
.lfc-empty{color:var(--lfc-muted);font-size:15px;padding:16px 0;margin:0}
.lfc-cta{margin:20px 0 0;font-size:15px;color:var(--lfc-muted)}
.lfc-cta button{font:700 15px 'Montserrat',system-ui,sans-serif;background:none;border:0;color:var(--lfc-green);text-decoration:underline;cursor:pointer;padding:0}
.lfc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:520px){
  .lfc-panel{right:0;left:0;bottom:0;top:0;width:100%;height:100%;border-radius:0;border:0;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
  .lfc-tip{display:none}
  .lfc-launcher{right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px))}
}
html.ls .lfc-launcher,html.ls .lfc-panel{transition:none}
html.ls .lfc-launcher *,html.ls .lfc-panel *{animation:none!important;transition:none!important}
html.ls .lfc-tip{display:none}
@media (prefers-reduced-motion:reduce){.lfc-launcher,.lfc-panel,.lfc-launcher *,.lfc-panel *{animation:none!important;transition:none!important}}
@media print{.lfc-launcher,.lfc-panel,.lfc-tip{display:none!important}}
