:root {
            --kt-maroon: #7A1826;
            --kt-maroon-dark: #5A0E18;
            --kt-gold: #8C6D17;
            --kt-dark: var(--kt-maroon);
            --kt-gray: #857B78;
            --kt-bg: #fdfdfd;
            --kt-border: #E4E4EA;
            --kt-shadow: 0 15px 40px rgba(58,8,14, 0.12);
        }
.ktl-chat{ font-family: var(--tla-sans) !important; box-sizing: border-box !important; }
.ktl-chat *{ box-sizing: border-box !important; }
.ktl-off { display: none !important; opacity: 0 !important; pointer-events: none !important; }
.ktl-messages::-webkit-scrollbar { width: 4px !important; }
.ktl-messages::-webkit-scrollbar-track { background: transparent !important; }
.ktl-messages::-webkit-scrollbar-thumb { background: var(--kt-maroon) !important; border-radius: 10px !important; }
.ktl-chat { position: fixed !important; bottom: 25px !important; left: 25px !important; width: 360px !important; background: #fff !important; border-radius: 20px !important; z-index: 999999 !important; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.1) !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) !important; max-height: 550px !important; }
.ktl-chat.ktl-minimized { width: 64px !important; height: 64px !important; border-radius: 50% !important; cursor: pointer !important; overflow: visible !important; background: #fff !important; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important; transition: transform 0.3s ease, box-shadow 0.3s ease !important; }
.ktl-chat.ktl-minimized:hover { transform: translateY(-5px) !important; box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2) !important; }
.ktl-chat.ktl-minimized .ktl-messages,.ktl-chat.ktl-minimized .ktl-chat-footer,.ktl-chat.ktl-minimized .ktl-typing,.ktl-chat.ktl-minimized .ktl-info{ display: none !important; }
.ktl-chat.ktl-minimized .ktl-chat-header { padding: 0 !important; height: 100% !important; width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: #ffffff !important; border: 2px solid var(--kt-maroon) !important; border-radius: 50% !important; }
.ktl-chat.ktl-minimized .ktl-avatar { width: 100% !important; height: 100% !important; border: none !important; padding: 10px !important; border-radius: 50% !important; display: flex !important; align-items: center !important; justify-content: center !important; background: transparent !important; }
.ktl-chat.ktl-minimized .ktl-avatar img { width: 100% !important; height: auto !important; max-height: 100% !important; object-fit: contain !important; }
.ktl-chat-header { background: var(--kt-maroon) !important; padding: 12px 18px !important; color: #fff !important; display: flex !important; justify-content: space-between !important; align-items: center !important; cursor: pointer; }
.ktl-agent { display: flex !important; align-items: center !important; gap: 12px !important; }
.ktl-avatar { width: 40px; height: 40px; background: #fff; border-radius: 50%; padding: 4px; position: relative; box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1); display: flex; align-items: center; justify-content: center; }
.ktl-avatar img { width: 100%; height: auto; max-height: 100%; object-fit: contain; }
.ktl-online { position: absolute; bottom: 1px; right: 1px; width: 10px; height: 10px; background: #1f7a4d; border: 2px solid #fff; border-radius: 50%; animation: ktPulse 2s infinite; }
.ktl-info strong { display: block; font-size: 14px; font-weight: 700; color: #fff; }
.ktl-info span { font-size: 10px; opacity: 0.8; display: block; color: #fff; }
.ktl-messages { height: 320px !important; padding: 15px !important; overflow-y: auto !important; background: #fcfcfc !important; display: flex !important; flex-direction: column !important; gap: 12px !important; }
.ktl-msg { padding: 12px 16px !important; border-radius: 16px !important; font-size: 14px; max-width: 85%; line-height: 1.5; animation: ktFadeUp 0.4s ease-out; }
.ktl-bot { background: #fff !important; border: 1px solid var(--kt-border) !important; align-self: flex-start !important; border-bottom-left-radius: 4px !important; color: var(--kt-maroon) !important; }
.ktl-user { background: var(--kt-maroon) !important; color: #fff !important; align-self: flex-end !important; border-bottom-right-radius: 4px !important; }
.ktl-typing { padding: 8px 15px !important; display: flex; gap: 4px; align-items: center; margin-bottom: 10px; }
.ktl-typing .dot { width: 5px; height: 5px; background: #D3D3DA; border-radius: 50%; animation: ktBounce 1.4s infinite ease-in-out both; }
.ktl-typing .dot:nth-child(1) { animation-delay: -0.32s; }
.ktl-typing .dot:nth-child(2) { animation-delay: -0.16s; }
.ktl-option { width: 100% !important; border: 1.5px solid var(--kt-maroon) !important; color: var(--kt-maroon) !important; background: #fff !important; padding: 10px 14px !important; border-radius: 50px !important; margin-top: 8px !important; cursor: pointer !important; text-align: center !important; font-size: 13px !important; font-weight: 600 !important; transition: 0.2s !important; }
.ktl-option:hover { background: var(--kt-maroon) !important; color: #fff !important; }
.ktl-chat-footer { padding: 12px 15px !important; background: #fff !important; border-top: 1px solid var(--kt-border) !important; display: flex !important; gap: 10px !important; }
.ktl-chat-footer input { flex: 1 !important; border: 1.5px solid var(--kt-border) !important; padding: 10px 16px !important; border-radius: 25px !important; outline: none; background: #FAFAFB; font-size: 13px; color: var(--kt-maroon) !important; }
.ktl-chat-footer button { width: 36px; height: 36px; background: var(--kt-maroon); border: none; border-radius: 50%; color: #fff; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: 0.3s; }
@keyframes ktBounce {

            0%,
            80%,
            100% {
                transform: scale(0);
            }

            40% {
                transform: scale(1);
            }
        }
@keyframes ktSlideIn {
            from {
                transform: translateX(100%);
                opacity: 0;
            }

            to {
                transform: translateX(0);
                opacity: 1;
            }
        }
@keyframes ktFadeIn {
            from {
                opacity: 0;
            }

            to {
                opacity: 1;
            }
        }
@keyframes ktFadeUp {
            from {
                transform: translateY(15px);
                opacity: 0;
            }

            to {
                transform: translateY(0);
                opacity: 1;
            }
        }
@keyframes ktPopIn {
            from {
                transform: scale(0.9);
                opacity: 0;
            }

            to {
                transform: scale(1);
                opacity: 1;
            }
        }
@keyframes ktPulse {

            0%,
            100% {
                opacity: 1;
                transform: scale(1);
            }

            50% {
                opacity: 0.5;
                transform: scale(0.9);
            }
        }
@media (max-width: 768px) {
.ktl-chat:not(.ktl-minimized) {
                width: calc(100% - 40px) !important;
                left: 20px !important;
                bottom: 20px !important;
            }
}

.ktl-chat.ktl-minimized .ktl-messages, .ktl-chat.ktl-minimized .ktl-chat-footer, .ktl-chat.ktl-minimized .ktl-typing, .ktl-chat.ktl-minimized .ktl-info, .ktl-chat.ktl-minimized .ktl-close-chat { display: none !important; }
.ktl-close-chat { background: transparent; border: none; color: #fff; font-size: 20px; cursor: pointer; width: 28px; height: 28px; display: flex; align-items: center; justify-content: center; opacity: 0.7; transition: 0.3s; }
.ktl-close-chat:hover { opacity: 1; transform: rotate(90deg); }
/* 2026-10-30: real buttons, country picker, error rows */
.ktl-chat-header{position:relative !important}
.ktl-open{all:unset;display:flex;align-items:center;flex:1;min-width:0;cursor:pointer}
.ktl-open::before{content:"";position:absolute;inset:0}
.ktl-close-chat{position:relative;z-index:1}
.ktl-open:focus-visible::before{outline:3px solid #D9B44A;outline-offset:-3px;border-radius:inherit}
.ktl-close-chat:focus-visible,.ktl-chat-footer button:focus-visible,.ktl-option:focus-visible{outline:3px solid #D9B44A !important;outline-offset:2px !important}
.ktl-minimized .ktl-typing{display:none !important}
#ktl-country{flex:0 0 96px !important;width:96px !important;min-width:0 !important;padding:0 6px !important;border:1px solid #ddd !important;border-radius:12px !important;background:#fff !important;font-size:13px !important;color:#1a1a1a !important}
.ktl-msg:empty{display:none !important}
.ktl-option[disabled]{opacity:.55 !important;cursor:default !important;transform:none !important}
.ktl-reach{margin:10px 0 0 !important;font-size:13px !important}
.ktl-reach a{color:#5A0E18 !important;font-weight:600 !important;text-decoration:underline !important}
.ktl-chat-footer input[aria-invalid="true"]{border-color:#B3261E !important}
/* phone boxes and error lines on page forms */
.tla-phone{display:flex;gap:8px;align-items:stretch}
.tla-phone input{flex:1;min-width:0}
.tla-phone__cc{flex:0 0 92px;width:92px;min-height:44px;padding:0 6px;border:1px solid #cfcfd6;border-radius:6px;background:#fff;font-size:14px;color:#1a1a1a}
.tla-lead-err{margin:10px 0;padding:10px 12px;border-left:3px solid #B3261E;background:#FDF1F0;color:#7A1320;font-size:14px;line-height:1.45}
input[aria-invalid="true"]{border-color:#B3261E !important}
