/* The existing concierge wears its live face, with chat in its one menu. */
.ns-concierge__host-menu {
    position: relative;
    pointer-events: auto;
    color: var(--ns-text-primary, var(--ns-text));
}
.ns-concierge__host-menu summary {
    position: relative;
    display: grid;
    place-items: center;
    width: 56px;
    height: 56px;
    cursor: pointer;
    list-style: none;
}
.ns-concierge__host-menu summary::-webkit-details-marker { display: none; }
.ns-connect-marketplace-host .ns-concierge__face {
    margin: 0;
    font: 600 9px/1.15 ui-monospace, monospace;
    color: inherit;
    white-space: pre;
    pointer-events: none;
}
.ns-concierge__menu-mark {
    position: absolute;
    right: 0;
    bottom: 0;
    opacity: 0;
}
.ns-concierge__host-menu:is(:hover, :focus-within, [open]) .ns-concierge__menu-mark { opacity: 1; }
.ns-concierge__host-actions {
    position: absolute;
    right: 0;
    bottom: 100%;
    min-width: 9rem;
    padding: .5rem;
    background: var(--ns-bg-surface, var(--ns-card));
    border: 1px solid var(--ns-border);
    border-radius: var(--ns-radius-md, 12px);
}
.ns-concierge__host-actions button {
    display: block;
    width: 100%;
    min-height: 44px;
    padding: .5rem;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: start;
}
.ns-concierge__host-menu summary:focus-visible,
.ns-concierge__host-actions button:focus-visible {
    outline: 2px solid var(--ns-accent);
    outline-offset: 2px;
}
.ns-connect-marketplace-host .ns-concierge__header {
    position: relative;
    z-index: 2;
    flex-shrink: 0;
    background: var(--ns-bg-surface, var(--ns-card));
    color: var(--ns-text-primary, var(--ns-text));
}
.ns-connect-marketplace-host .ns-concierge__body {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: var(--ns-bg-surface, var(--ns-card));
}
.ns-connect-marketplace-host .ns-concierge__chat .ns-chat-frame.is-embed {
    position: relative;
    inset: auto;
    z-index: auto;
    width: 100%;
    height: 100%;
    max-height: 100%;
}

@media (max-width: 575.98px) {
    /* A narrow stage beside the form keeps the face clear at every scroll position. */
    body:has(.ns-connect-marketplace-host:not([hidden])) #main-content {
        border-right: 72px solid transparent;
        box-sizing: border-box;
        min-width: 0;
    }
    body .ns-connect-marketplace-host {
        right: 8px;
        bottom: calc(var(--ns-thumbbar-h, 56px) + 12px + env(safe-area-inset-bottom, 0px));
        width: 56px;
        max-width: 56px;
    }
    .ns-connect-marketplace-host .ns-owner-live-host__face { width: 56px; height: 56px; }
    /* Keep the greeting in the live region; it no longer paints a card over a form. */
    .ns-connect-marketplace-host :is(.ns-concierge__tooltip, .ns-owner-live-host__caption) {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip-path: inset(50%);
        white-space: nowrap;
        border: 0;
        pointer-events: none;
    }
}
