.m-audio-container--locked {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    white-space: nowrap;
    cursor: not-allowed;
}

.m-audio-container--locked * {
    pointer-events: none;
}

.m-audio-container--locked p,
.m-audio-container--locked .me-8 {
    margin: 0 !important;
    line-height: 1;
    font-size: 14px !important;
}

.m-audio-container__locked-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    color: currentColor;
    flex: 0 0 24px;
}

.m-audio-container__locked-icon svg {
    display: block;
    width: 24px;
    height: 24px;
}

/* Generated locked button */
.nac-gspeech-locked-generated {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    white-space: nowrap;
}

/* Fallback row if there is no normal category/listen row */
.nac-gspeech-locked-row {
    display: flex;
    align-items: center;
    margin-bottom: 8px;
}

/* Cards with category controls */
.m-article-default__categ-controls .nac-gspeech-locked-generated {
    margin-left: auto;
}

/* Date row fallback for cards without category controls */
.nac-gspeech-date-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}

.nac-gspeech-date-row .m-article-default__date-post {
    margin: 0;
    min-width: 0;
}

.nac-gspeech-locked-generated--compact {
    flex: 0 0 auto;
    gap: 0;
}

.nac-gspeech-locked-generated--compact > span:not(.m-audio-container__locked-icon) {
    display: none !important;
}

.nac-gspeech-locked-generated--compact .m-audio-container__locked-icon {
    width: 24px;
    height: 24px;
}

/* Single article listen button */
.o-single-article__rich-text__listen.m-audio-container--locked {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    width: fit-content;
    max-width: 100%;
    white-space: nowrap;
}

/* Icon on the left inside article content */
.o-single-article__rich-text__listen.m-audio-container--locked .m-audio-container__locked-icon {
    order: -1;
}

/* Hide all GSpeech players / floating elements for guests */
body:not(.logged-in) .gsp_circle_player,
body:not(.logged-in) .gsp_button_player,
body:not(.logged-in) .gsp_full_player,
body:not(.logged-in) .ssplayer_wrapper,
body:not(.logged-in) .ssblock,
body:not(.logged-in) #gsp_data_html,
body:not(.logged-in) #gspeech_cloud_widget,
body:not(.logged-in) .rht_icon_wrapper_element,
body:not(.logged-in) .rht_icon_wrapper,
body:not(.logged-in) .rht_icon_banner {
    display: none !important;
    pointer-events: none !important;
}

/* Custom interactive tooltip */
.nac-gspeech-tooltip {
    position: fixed;
    left: -9999px;
    top: -9999px;
    z-index: 1085;

    display: flex;
    align-items: center;
    gap: 5px;

    max-width: 300px;
    padding: 15px 10px;

    color: #ffffff;
    background: #212121;
    border-radius: 6px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);

    font-size: 14px;
    line-height: 1.4;
    white-space: normal;

    opacity: 0;
    visibility: hidden;
    pointer-events: none;

    transform: translateY(3px);
    transition:
            opacity 0.15s ease,
            transform 0.15s ease,
            visibility 0.15s ease;
}

.nac-gspeech-tooltip.is-visible {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
}

.nac-gspeech-tooltip__text {
    display: inline;
}

.nac-gspeech-tooltip__login {
    display: inline;
    flex: 0 0 auto;

    color: #ffffff;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.nac-gspeech-tooltip__login:hover,
.nac-gspeech-tooltip__login:focus {
    color: #ffffff;
    text-decoration-thickness: 2px;
}

/* Tooltip arrow */
.nac-gspeech-tooltip::after {
    position: absolute;
    left: var(--nac-tooltip-arrow-left, 50%);
    width: 0;
    height: 0;
    content: "";
    transform: translateX(-50%);
}

.nac-gspeech-tooltip[data-placement="top"]::after {
    top: 100%;
    border-top: 6px solid #212121;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
}

.nac-gspeech-tooltip[data-placement="bottom"]::after {
    bottom: 100%;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #212121;
    border-left: 6px solid transparent;
}
