/* Hide elements in unsupported browsers */
html.no-speech-recognition .voice-recognition-container,
html.no-speech-recognition .msgr-voice-recognition-container,
html.no-speech-recognition .voice-recognition-button,
html.no-speech-recognition .voice-recognition-description {
    display: none !important;
}

/* Styles for regular container */
.voice-recognition-container {
    position: relative;
    margin: 10px 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.voice-recognition-container .voice-recognition-description {
    display: none;
}

.voice-recognition-container .voice-recognition-controls {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 1;
    margin: 0;
    padding: 0;
}

/* Button styles */
.voice-recognition-button {
    position: absolute;
    right: 10px;
    bottom: -50px;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    border: none;
    background-color: #25D366;
    color: white;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    margin: 0;
    opacity: 0.9;
    z-index: 1;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.voice-recognition-button:hover {
    background-color: #128C7E;
    transform: scale(1.05);
    opacity: 1;
}

.voice-recognition-button.recording {
    background-color: #dc3545;
    animation: pulse 1.5s infinite;
}

.voice-recognition-button.recording:hover {
    background-color: #c82333;
}

/* Microphone icon styles */
.microphone-icon {
    width: 24px;
    height: 24px;
    position: relative;
    transition: all 0.3s ease;
}

.microphone-icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

/* Pulse animation */
@keyframes pulse {
    0% {
        transform: scale(1);
    }
    50% {
        transform: scale(1.1);
    }
    100% {
        transform: scale(1);
    }
}

/* Messenger styles */
#message-box {
    position: relative !important;
}

#message-box .msgr-voice-recognition-container {
    position: absolute !important;
    right: 10px !important;
    top: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
}

#message-box .msgr-voice-recognition-container .voice-recognition-description {
    display: none !important;
}

#message-box .msgr-voice-recognition-container .voice-recognition-controls {
    position: static !important;
    margin: 0 !important;
    padding: 0 !important;
}

#message-box .msgr-voice-recognition-container .voice-recognition-button {
    position: static !important;
    bottom: auto !important;
    margin: 0 !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    border: none !important;
    background-color: #25D366 !important;
    color: white !important;
    cursor: pointer !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2) !important;
    opacity: 0.9 !important;
    z-index: 1 !important;
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
}

#message-box .msgr-voice-recognition-container .voice-recognition-button:hover {
    background-color: #128C7E !important;
    transform: scale(1.05) !important;
    opacity: 1 !important;
}

#message-box .msgr-voice-recognition-container .voice-recognition-button.recording {
    background-color: #dc3545 !important;
    animation: pulse 1.5s infinite !important;
}

#message-box .msgr-voice-recognition-container .voice-recognition-button.recording:hover {
    background-color: #c82333 !important;
}

#message-box .msgr-voice-recognition-container .microphone-icon {
    width: 24px !important;
    height: 24px !important;
}

#message-box .msgr-voice-recognition-container .microphone-icon svg {
    width: 100% !important;
    height: 100% !important;
    fill: currentColor !important;
}

/* MChat styles */
.mchat-input-container .voice-recognition-container {
    position: absolute !important;
    right: 15px !important;
    top: 31px !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
}

.mchat-input-container .voice-recognition-container .voice-recognition-controls {
    margin: 0 !important;
    padding: 0 !important;
    right: 10px !important;
    top: -30px !important;
}

.mchat-input-container .voice-recognition-container .voice-recognition-button {
    position: static !important;
    bottom: auto !important;
    margin: 0 !important;
    width: 28px !important;
    height: 28px !important;
}

.mchat-input-container .voice-recognition-container .microphone-icon {
    width: 18px !important;
    height: 18px !important;
}

/* Desktop media query */
@media screen and (min-width: 768px) {
    /* Full reply styles */
    #postform .voice-recognition-controls {
        right: 21%;
    }
}

/* Mobile media query */
@media screen and (max-width: 767px) {
    [id*="msgr"] .voice-recognition-container,
    [class*="msgr"] .voice-recognition-container {
        right: 10px !important;
    }
}

/* Quick Reply button styles */
#qr_postform .msgr-voice-recognition-container .voice-recognition-button {
	position: absolute !important;
    width: 30px !important;
    height: 30px !important;
    background-color: #25D366 !important;
	right: 10px !important;
	top: 10px !important;
    transition: all 0.3s ease !important;
}

/* Fixed Quick Reply button styles */
#qr_postform.qr_fixed_form .msgr-voice-recognition-container .voice-recognition-button {
    right: 60px !important;
    top: 7px !important;
}

#qr_postform .msgr-voice-recognition-container {
    position: absolute !important;
    right: 0 !important;
    top: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 1 !important;
}

#qr_postform .msgr-voice-recognition-container .microphone-icon svg {
    width: 100% !important;
    height: 100% !important;
    fill: currentColor !important;
}

#qr_postform .msgr-voice-recognition-container .voice-recognition-button:hover {
    background-color: #128C7E !important;
    transform: scale(1.05) !important;
    opacity: 1 !important;
}

#qr_postform .msgr-voice-recognition-container .voice-recognition-button.recording {
    background-color: #dc3545 !important;
    animation: pulse 1.5s infinite !important;
}

#qr_postform .msgr-voice-recognition-container .microphone-icon {
    width: 24px !important;
    height: 24px !important;
}
