#kl-contact{--kl-color:#484543;--kl-offset:20px;position:fixed;bottom:calc(var(--kl-offset) + env(safe-area-inset-bottom,0px));z-index:999990;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#242424;text-align:left;letter-spacing:normal}
#kl-contact.kl-right{right:16px}#kl-contact.kl-left{left:16px}#kl-contact *{box-sizing:border-box}#kl-contact [hidden]{display:none!important}
#kl-contact button,#kl-contact input,#kl-contact textarea{font:inherit;letter-spacing:normal;text-transform:none;box-shadow:none;margin:0}
#kl-contact button{cursor:pointer;min-height:44px}#kl-contact button:disabled{opacity:.65;cursor:wait}#kl-contact button:focus-visible,#kl-contact input:focus-visible,#kl-contact textarea:focus-visible,#kl-contact a:focus-visible{outline:3px solid #399cd9;outline-offset:3px}
#kl-contact .kl-launch{display:flex;align-items:center;gap:8px;background:var(--kl-color);color:#fff;border:0;border-radius:24px;height:44px;min-height:44px;padding:0 14px;box-shadow:0 5px 24px #0003;font-weight:600}
#kl-contact #kl-panel{position:absolute;bottom:74px;width:350px;max-width:calc(100vw - 32px);max-height:calc(100dvh - var(--kl-offset) - 110px);max-height: min(680px,calc(100dvh - var(--kl-offset) - 110px));overflow:auto;background:#fff;border-radius:18px;box-shadow:0 8px 40px #0004;border:1px solid #0002;overscroll-behavior:contain}
#kl-contact.kl-right #kl-panel{right:0}#kl-contact.kl-left #kl-panel{left:0}
#kl-contact header{position:relative;background:var(--kl-color);color:#fff;padding:25px 23px 22px}#kl-contact h2{font:600 20px/1.3 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#fff;margin:0 24px 12px 0;padding:0;letter-spacing:normal;text-transform:none}
#kl-contact p{font:inherit;margin:0;white-space:pre-line}#kl-contact .kl-close{position:absolute;right:7px;top:7px;width:40px;padding:0;border:0;background:transparent;color:#fff;font-size:28px;line-height:1}
#kl-contact .kl-form{padding:20px;margin:0;background:#fff}#kl-contact label{display:block;font-size:14px;font-weight:500;margin:0 0 13px;padding:0;color:#292929}
#kl-contact input,#kl-contact textarea{display:block;min-height:44px;width:100%;max-width:100%;margin-top:5px;padding:10px 12px;border:1px solid #a9a9a9;border-radius:9px;background:#fff;color:#222;font-size:16px;line-height:1.4}
#kl-contact textarea{resize:vertical;min-height:95px}#kl-contact .kl-submit{display:block;width:100%;padding:12px 16px;border-radius:10px;background:var(--kl-color);color:#fff;border:0;font-weight:600}
#kl-contact .kl-privacy{font-size:12px;line-height:1.5;color:#555;margin-bottom:15px}#kl-contact a{color:#245a85;text-decoration:underline}#kl-contact .kl-status{font-size:14px;color:#242424;overflow-wrap:anywhere;margin-top:12px}#kl-contact .kl-status:empty{display:none}#kl-contact .kl-retry{margin-top:10px;border:1px solid #777;border-radius:8px;background:#fff;color:#333;padding:8px 12px}
#kl-contact .kl-hp{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none}
@media(max-width:480px){#kl-contact .kl-launch span{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#kl-contact #kl-panel{bottom:70px}#kl-contact header{padding:20px}#kl-contact .kl-form{padding:16px}}
@supports not (height:100dvh){#kl-contact #kl-panel{max-height:calc(100vh - var(--kl-offset) - 110px)}}

/* Compact launcher; keep form controls large enough for comfortable input. */
#kl-contact .kl-launch svg{width:20px;height:20px;flex-shrink:0}
#kl-contact .kl-launch.kl-icon-only{width:44px;padding:0;justify-content:center;border-radius:50%}
#kl-contact .kl-launch span:empty{display:none}
#kl-contact #kl-panel{bottom:60px}
@media(max-width:480px){
 #kl-contact .kl-launch{height:40px;min-height:40px;font-size:14px;padding:0 12px}
 #kl-contact .kl-launch.kl-icon-only{width:40px;padding:0}
 #kl-contact .kl-launch svg{width:18px;height:18px}
 #kl-contact #kl-panel{bottom:56px}
}

/* Full-width submit bar aligned with the panel header. */
#kl-contact .kl-form{--kl-form-padding:20px;padding-bottom:0}
#kl-contact .kl-submit{
 width:calc(100% + var(--kl-form-padding) + var(--kl-form-padding));
 max-width:none;
 margin-left:calc(0px - var(--kl-form-padding));
 margin-right:calc(0px - var(--kl-form-padding));
 border-radius:0;
}
#kl-contact .kl-status:not(:empty){padding-bottom:var(--kl-form-padding)}
#kl-contact .kl-retry{margin-bottom:var(--kl-form-padding)}
@media(max-width:480px){#kl-contact .kl-form{--kl-form-padding:16px;padding-bottom:0}}
