/* =========================
   FLUENT GUEST
========================= */

.fluent-guest {
    position: relative;
    width: 100%;
}

/* CONTROL */
.fluent-guest__control {
    position: relative;
}

.fluent-guest__input {
    width: 100%;
    padding: var(--ms-space-sm) var(--ms-space-lg);
    padding-right: 36px;

    border-radius: var(--ms-radius-md);
    border: 1px solid var(--ms-color-border-default);

    background: var(--ms-color-bg-canvas);
    cursor: pointer;
}

.fluent-guest__icon {
    position: absolute;
    right: var(--ms-space-sm);
    top: 50%;
    transform: translateY(-50%);
}

/* DROPDOWN */
.fluent-guest__dropdown {
    position: absolute;
    top: calc(100% + var(--ms-space-xs));
    left: 0;

    width: 100%;
    max-width: 100%;

    background: var(--ms-color-bg-canvas);
    border: 1px solid var(--ms-color-border-subtle);
    border-radius: var(--ms-radius-lg);

    box-shadow: var(--ms-shadow-8);
    padding: var(--ms-space-md);

    display: none;
    z-index: var(--ms-z-dropdown);
}

.fluent-guest.is-open .fluent-guest__dropdown {
    display: block;
}

/* ROW */
.fluent-guest__row {
    display: flex;
    justify-content: space-between;
    align-items: center;

    padding: var(--ms-space-sm) 0;
}

/* TEXT */
.fluent-guest__label {
    font-size: var(--ms-font-size-body);
    font-weight: var(--ms-font-weight-medium);
}

.fluent-guest__desc {
    font-size: var(--ms-font-size-caption);
    color: var(--ms-color-text-muted);
}

/* STEPPER */
.fluent-guest__stepper {
    display: flex;
    align-items: center;
    gap: var(--ms-space-sm);
}

.fluent-guest__stepper button {
    width: 28px;
    height: 28px;

    border-radius: var(--ms-radius-pill);
    border: 1px solid var(--ms-color-border-default);

    background: var(--ms-color-bg-canvas);
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: background var(--ms-motion-fast);
}

.fluent-guest__stepper button:hover {
    background: var(--ms-color-neutral-100);
}

/* DISABLED BUTTON */
.fluent-guest__stepper button:disabled {
    opacity: var(--ms-opacity-disabled);
    cursor: not-allowed;
}

/* ACTIVE PRESS */
.fluent-guest__stepper button:active {
    transform: scale(0.95);
}

.fluent-guest__input:focus,
.fluent-guest__input:focus-visible {
    outline: none;
    border-color: var(--ms-color-border-focus);
    box-shadow: 0 0 0 var(--ms-focus-ring-width) var(--ms-color-overlay-subtle);
}