.gt-textarea-enhanced {
    resize: both;
}

.gt-textarea-wrapper {
    position: relative;
}

.gt-textarea-overlay {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: flex-end;
    align-items: center;
    gap: 0.35rem;
    margin-bottom: 0.25rem;
    width: 100%;
    position: relative;
    z-index: 2;
}

/* Keine absolute Positionierung in der Toolbar (Seiten-CSS / alte Inline-Styles) */
.gt-textarea-overlay > .btn,
.gt-textarea-overlay > button,
.gt-textarea-overlay .gt-textarea-action-btn,
.gt-textarea-overlay [data-voice-input-btn] {
    position: static !important;
    top: auto !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    float: none !important;
    flex-shrink: 0;
    margin: 0 !important;
}

.gt-textarea-overlay .btn {
    line-height: 1;
    padding: 0;
}

.gt-textarea-action-btn {
    width: 30px;
    height: 30px;
    min-width: 30px;
    min-height: 30px;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
}

.voice-recording-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    background-color: #fff;
    border-radius: 50%;
    margin-left: 3px;
    animation: gtPulse 1.4s ease-in-out infinite;
}

@keyframes gtPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(0.8); }
}

/* Am PC ohne Chrome: Mikro-Slash-Icon (kein ::after – sonst Layout-Bruch) */
.gt-voice-desktop-unsupported {
    opacity: 1;
    cursor: not-allowed;
    color: #6c757d;
    overflow: hidden;
}

