.lead-chat-button{
    position:fixed;
    right:max(20px, env(safe-area-inset-right));
    bottom:max(20px, env(safe-area-inset-bottom));
    z-index:2147483646;
    display:inline-flex;
    align-items:center;
    gap:.5rem;
    border:0;
    border-radius:999px;
    padding:.9rem 1.15rem;
    font-weight:700;
    cursor:pointer;
    touch-action:manipulation;
    background:var(--lc-bg, var(--primary-color));
    border-color:var(--lc-bg, var(--primary-color));
    color:#fff;
    box-shadow:0 8px 26px rgba(0,0,0,.25);
    transition:transform .15s ease, box-shadow .25s ease, background .2s ease;
}
.lead-chat-button:hover{
    transform:translateY(-2px);
    box-shadow:0 12px 32px rgba(0,0,0,.28);
    background:var(--lc-bg-hover, var(--primary-color-dark));
    border-color:var(--lc-bg-hover, var(--primary-color-dark));
}
.lead-chat-button:focus-visible{
    outline:2px solid rgba(255,255,255,.85);
    outline-offset:2px;
}
.lead-chat-button *{ pointer-events:none; }

.lead-chat-button.only-icon{
    width:60px; height:60px; padding:0;
    border-radius:50%;
    display:grid; place-items:center;
}
.lead-chat-button.only-icon .lc-icon{ width:28px; height:28px; }
.lead-chat-button .lc-icon{ width:24px; height:24px; display:inline-block; }
.lead-chat-button i{ font-size:20px; line-height:1; }
.lead-chat-button.only-icon i{ font-size:28px; line-height:1; }
.lead-chat-button span{ display:inline-block; vertical-align:middle; line-height:1; }

.lead-chat-panel{
    position:fixed;
    right:max(16px, env(safe-area-inset-right));
    bottom:calc(max(16px, env(safe-area-inset-bottom)) + 64px);
    width:min(380px, calc(100vw - 32px));
    max-height:min(72vh, 680px);
    background:#fff; color:#0f172a;
    border:1px solid #E5E7EB; border-radius:14px;
    box-shadow:0 14px 40px rgba(0,0,0,.25);
    transform:translateY(10px); opacity:0; visibility:hidden;
    z-index:2147483647;
    transition:transform .22s ease, opacity .22s ease, visibility .22s ease;
    overflow:hidden;
    overscroll-behavior:contain;
}
.lead-chat-panel.open{ transform:translateY(0); opacity:1; visibility:visible; }

.lead-chat-header{
    display:flex; align-items:center; justify-content:space-between; gap:.5rem;
    padding:.75rem 1rem; background:#f8fafc; border-bottom:1px solid #E5E7EB;
}
.lead-chat-header h2{ margin:0; font-size:1rem; font-weight:700; }
.lead-chat-close{ border:0; background:transparent; font-size:1.25rem; cursor:pointer; color:#6B7280; }

.lead-chat-form{ padding:1rem; overflow:auto; max-height:calc(72vh - 56px); -webkit-overflow-scrolling:touch; }
.lead-chat-form *{ box-sizing:border-box; }

.lead-chat-form input[type="text"],
.lead-chat-form input[type="email"],
.lead-chat-form input[type="tel"],
.lead-chat-form textarea{
    width:100% !important; border:1px solid #E5E7EB; border-radius:10px;
    padding:.65rem .8rem; margin-bottom:.75rem; font-size:.95rem;
    background:#fff !important; color:#0f172a !important; caret-color:#0f172a !important; opacity:1 !important;
}
.lead-chat-form input::placeholder,
.lead-chat-form textarea::placeholder{ color:#9CA3AF !important; opacity:1 !important; }

.lead-chat-form input:-webkit-autofill,
.lead-chat-form input:-webkit-autofill:hover,
.lead-chat-form input:-webkit-autofill:focus{
    -webkit-text-fill-color:#0f172a !important;
    box-shadow:0 0 0 1000px #fff inset !important;
    transition:background-color 99999s ease-in-out 0s;
}

.lead-chat-consent{ display:grid; grid-template-columns:20px 1fr; gap:.5rem; align-items:start; margin:.25rem 0 1rem; }
.lead-chat-consent input{ margin-top:.25rem; }

.lead-chat-submit{
    width:100%; border:0; border-radius:10px; padding:.85rem 1rem; font-weight:800; color:#fff;
    background:rgb(var(--primary-color-dark-rgb));
}

.lead-chat-submit:hover{ background:var(--primary-color-dark); }
.lead-chat-status{ margin-top:.5rem; font-size:.85rem; min-height:1.2em; }

.lead-chat-form .is-invalid{ border-color:#dc2626 !important; }
.lead-chat-error{ color:#dc2626; font-size:.8rem; margin-top:-.5rem; margin-bottom:.6rem; }

[data-bs-theme="dark"] .lead-chat-panel{ background:#0b1220; color:#e5e7eb; border-color:#1f2937; }
[data-bs-theme="dark"] .lead-chat-form input,
[data-bs-theme="dark"] .lead-chat-form textarea{ background:#0b1220 !important; color:#e5e7eb !important; border-color:#1f2937 !important; }
[data-bs-theme="dark"] .lead-chat-form input::placeholder,
[data-bs-theme="dark"] .lead-chat-form textarea::placeholder{ color:#94a3b8 !important; }
[data-bs-theme="dark"] .lead-chat-form input:-webkit-autofill{ -webkit-text-fill-color:#e5e7eb !important; box-shadow:0 0 0 1000px #0b1220 inset !important; }

#back-to-top, .back-to-top, .scroll-top, #scrollUp{
    position:fixed;
    right:calc(max(16px, env(safe-area-inset-right)) + 88px);
    bottom:max(16px, env(safe-area-inset-bottom));
    z-index:2147483005;
    transition:right .25s ease, bottom .25s ease;
}

@media (prefers-reduced-motion: reduce){
    .lead-chat-button, .lead-chat-panel{ transition:none !important; }
}

.lead-chat-button:active,
.lead-chat-button:focus,
.lead-chat-button:focus-visible{
    transform: translateY(-1px);
    background: var(--lc-bg-hover, var(--primary-color-dark)) !important;
    border-color: var(--lc-bg-hover, var(--primary-color-dark)) !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.28) !important;
}

.lead-chat-button.btn:active,
.lead-chat-button.btn-primary:active,
.lead-chat-button.show,
.lead-chat-button:active:focus{
    background: var(--lc-bg-hover, var(--primary-color-dark)) !important;
    border-color: var(--lc-bg-hover, var(--primary-color-dark)) !important;
    color: #fff !important;
    box-shadow: 0 12px 32px rgba(0,0,0,.28) !important;
}

