
/* Launcher */
.gmf-widget__launcher {
    position: fixed !important;
    bottom: var(--gmf-launcher-bottom, 24px);
    right: var(--gmf-launcher-right, 24px);
    left: var(--gmf-launcher-left);
    z-index: 9999;
}

/* Panel */
.gmf-widget__panel {
    position: fixed !important;
    bottom: var(--gmf-panel-bottom, 80px);
    right: var(--gmf-panel-right, 24px);
    left: var(--gmf-panel-left);
    z-index: 9998;
    width: var(--gmf-panel-width, min(100vw - 48px, 360px));
    overflow: hidden;
    transform-origin: bottom right;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px) scale(0.98);
    transition: opacity 160ms ease, transform 160ms ease;
}

.gmf-widget__panel .form-control:disabled {
	background-color: transparent !important;
}

.gmf-widget__panel--open {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

/* Messages scroll area */
.gmf-widget__messages {
    display: grid;
    gap: 10px;
    max-height: var(--gmf-messages-max-height, 420px);
    overflow-y: auto;
}

/* Loading dots */
@keyframes dots {
    0%   { content: ''; }
    25%  { content: '.'; }
    50%  { content: '..'; }
    75%  { content: '...'; }
    100% { content: ''; }
}

.loading-dots {
    position: relative;
}

.loading-dots::after {
    content: '';
    display: inline-block;
    width: 1.8em;
    text-align: left;
    animation: dots 1.6s steps(1) infinite;
}
