.support-chat-fab {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background: #0d6efd;
    color: #fff;
    border: none;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
    font-size: 1.5rem;
    cursor: pointer;
    z-index: 1055;
    display: flex;
    align-items: center;
    justify-content: center;
}
.support-chat-fab:hover { background: #0b5ed7; }

/* На мобильном кнопка заказа лодки уже сидит в правом нижнем углу — двигаем чат влево. */
@media (max-width: 991.98px) {
    .support-chat-fab { right: auto; left: 1rem; }
    .support-chat-panel { right: auto !important; left: 1rem !important; }
}

.support-chat-panel {
    position: fixed;
    right: 1rem;
    bottom: 5rem;
    width: 360px;
    max-width: calc(100vw - 2rem);
    height: 500px;
    max-height: calc(100vh - 7rem);
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
    z-index: 1056;
    display: none;
    flex-direction: column;
    overflow: hidden;
}
.support-chat-panel.is-open { display: flex; }

.support-chat-header {
    background: #0d6efd;
    color: #fff;
    padding: .75rem 1rem;
    display: flex;
    align-items: center;
}
.support-chat-header strong { flex-grow: 1; }
.support-chat-header button {
    background: transparent;
    border: none;
    color: #fff;
    font-size: 1.25rem;
    cursor: pointer;
    padding: 0 .25rem;
}

.support-chat-messages {
    flex-grow: 1;
    overflow-y: auto;
    padding: .75rem;
    background: #f8f9fa;
    display: flex;
    flex-direction: column;
    gap: .5rem;
}
.support-chat-msg {
    max-width: 80%;
    padding: .5rem .75rem;
    border-radius: 12px;
    font-size: .875rem;
    word-wrap: break-word;
    white-space: pre-wrap;
}
.support-chat-msg-mine { background: #0d6efd; color: #fff; align-self: flex-end; border-bottom-right-radius: 4px; }
.support-chat-msg-them { background: #fff; color: #212529; align-self: flex-start; border: 1px solid #dee2e6; border-bottom-left-radius: 4px; }
.support-chat-msg-meta { font-size: .7rem; opacity: .7; margin-top: 2px; }

.support-chat-guest-form {
    padding: .5rem .75rem;
    background: #fff3cd;
    border-bottom: 1px solid #ffe69c;
    font-size: .8rem;
}
.support-chat-guest-form input {
    width: 100%;
    margin-bottom: .25rem;
    font-size: .8rem;
    padding: .25rem .5rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
}

.support-chat-input {
    padding: .5rem;
    border-top: 1px solid #dee2e6;
    background: #fff;
    display: flex;
    gap: .5rem;
}
.support-chat-input textarea {
    flex-grow: 1;
    border: 1px solid #ced4da;
    border-radius: 6px;
    padding: .5rem;
    resize: none;
    font-size: .875rem;
    min-height: 40px;
    max-height: 100px;
}
.support-chat-input button {
    background: #0d6efd;
    color: #fff;
    border: none;
    border-radius: 6px;
    padding: 0 1rem;
    cursor: pointer;
}
.support-chat-input button:disabled { opacity: .5; cursor: not-allowed; }
