/* guests — personen-/gastenkiezer.
 *
 * Defaults in @layer mm — unlayered site-CSS wint altijd, ongeacht laadvolgorde.
 */

@layer mm {
    .mm-guests-popup {
        --mm-guests-bg:             var(--color-bg-elev);
        --mm-guests-border:         var(--color-border);
        --mm-guests-fg:             var(--color-fg);
        --mm-guests-muted:          var(--color-fg-muted);
        --mm-guests-accent:         var(--color-primary);
        --mm-guests-accent-text:    var(--color-primary-fg);
        --mm-guests-accent-hover:   color-mix(in srgb, var(--color-primary) 15%, transparent);
        --mm-guests-btn-bg:         var(--color-bg-soft);
        --mm-guests-btn-border:     var(--color-border);
        --mm-guests-radius:         var(--radius-lg);
        --mm-guests-shadow:         var(--shadow-2);
    }
}

.mm-guests-popup {
    min-width: 18rem;
    background: var(--mm-guests-bg);
    border: 1px solid var(--mm-guests-border);
    border-radius: var(--mm-guests-radius);
    box-shadow: var(--mm-guests-shadow);
    color: var(--mm-guests-fg);
    font: inherit;
    overflow: hidden;
}

/* ── Rows ───────────────────────────────────────────────────────────────── */

.mm-guests-rows {
    padding: .375rem 0;
}

.mm-guests-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: .6rem 1rem;
}

.mm-guests-row + .mm-guests-row {
    border-top: 1px solid var(--mm-guests-border);
}

.mm-guests-row__label {
    flex: 1;
    min-width: 0;
}

.mm-guests-row__name {
    display: block;
    font-size: .9rem;
    font-weight: 600;
}

.mm-guests-row__sub {
    display: block;
    font-size: .78rem;
    color: var(--mm-guests-muted);
    margin-top: .1rem;
}

.mm-guests-row__ctrls {
    display: flex;
    align-items: center;
    gap: .5rem;
}

/* ── ± knoppen ──────────────────────────────────────────────────────────── */

.mm-guests-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--mm-guests-btn-border);
    border-radius: 50%;
    background: var(--mm-guests-btn-bg);
    color: var(--mm-guests-fg);
    font: inherit;
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    user-select: none;
    transition: background .15s, border-color .15s;
}

.mm-guests-btn:hover:not(:disabled) {
    background: var(--mm-guests-accent-hover);
    border-color: var(--mm-guests-accent);
}

.mm-guests-btn:focus-visible {
    outline: 2px solid var(--mm-guests-accent);
    outline-offset: 2px;
}

.mm-guests-btn:disabled {
    opacity: .3;
    cursor: not-allowed;
}

.mm-guests-count {
    min-width: 1.5rem;
    text-align: center;
    font-size: .9rem;
    font-weight: 600;
}

/* ── Footer (optioneel — data-mm-guests-footer="1") ─────────────────────── */

.mm-guests-footer {
    display: flex;
    gap: .5rem;
    padding: .6rem 1rem;
    border-top: 1px solid var(--mm-guests-border);
}

.mm-guests-footer__btn {
    flex: 1;
    padding: .45rem .75rem;
    border-radius: calc(var(--mm-guests-radius) - 4px);
    font: inherit;
    font-size: .875rem;
    font-weight: 500;
    cursor: pointer;
    transition: opacity .15s;
}

.mm-guests-footer__btn:hover { opacity: .85; }

.mm-guests-footer__btn:focus-visible {
    outline: 2px solid var(--mm-guests-accent);
    outline-offset: 2px;
}

.mm-guests-footer__btn--secondary {
    background: transparent;
    border: 1px solid var(--mm-guests-btn-border);
    color: var(--mm-guests-muted);
}

.mm-guests-footer__btn--primary {
    background: var(--mm-guests-accent);
    border: 1px solid transparent;
    color: var(--mm-guests-accent-text);
}
