/* Shared overlay control grammar. Feature classes remain available for layout and state hooks. */
.selection-control-close,
.selection-control-back {
    appearance: none;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--studio-text-muted);
    font: inherit;
    font-size: var(--studio-type-ui-label-size);
    padding: 8px 10px;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}

.selection-control-close:hover,
.selection-control-back:hover:not(:disabled) {
    color: var(--studio-text-primary);
    background: rgba(255, 255, 255, .04);
}

.selection-control-action {
    appearance: none;
    border: 1px solid var(--color-border-default);
    border-radius: 6px;
    background: transparent;
    color: var(--studio-text-secondary);
    font: inherit;
    font-size: var(--studio-type-ui-label-size);
    padding: 8px 10px;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.selection-control-action:hover:not(:disabled) {
    border-color: var(--color-border-strong);
    background: rgba(255, 255, 255, .04);
    color: var(--studio-text-primary);
}

.selection-control-action.is-danger {
    border-color: rgba(255, 105, 97, .34);
    color: var(--studio-text-danger);
}

.selection-control-action.is-danger:hover:not(:disabled) {
    border-color: rgba(255, 105, 97, .56);
    background: rgba(255, 105, 97, .10);
}

.selection-control-primary {
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid var(--studio-gold, #d4b483);
    border-radius: 6px;
    background: transparent;
    color: var(--studio-text-accent);
    font: inherit;
    font-size: var(--studio-type-ui-label-size);
    padding: 8px 10px;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.selection-control-primary:hover:not(:disabled) {
    border-color: var(--studio-gold, #d4b483);
    background: var(--studio-gold, #d4b483);
    color: #06090c;
    box-shadow: 0 0 12px rgba(212, 180, 131, .25);
}

.selection-control-action:disabled,
.selection-control-primary:disabled { opacity: .45; cursor: not-allowed; }

.selection-control-close:focus-visible,
.selection-control-primary:focus-visible,
.selection-control-action:focus-visible,
.selection-control-back:focus-visible,
.selection-control-input:focus-visible {
    outline: 2px solid var(--studio-gold, #d4b483);
    outline-offset: 2px;
}

.selection-control-input {
    width: 100%;
    height: 44px;
    padding: 0 var(--space-4);
    border: 1px solid var(--color-border-default);
    border-radius: var(--radius-medium);
    background: var(--color-bg-input);
    color: var(--studio-text-primary);
    font: inherit;
}

.selection-control-form { max-width: 520px; }
.selection-control-form label { display: block; margin-bottom: var(--space-2); color: var(--studio-text-muted); }
.selection-control-form-actions { display: flex; align-items: center; justify-content: flex-end; gap: var(--space-3); margin-top: var(--space-5); }

@media (prefers-reduced-motion: reduce) {
    .selection-control-close,
    .selection-control-action,
    .selection-control-back,
    .selection-control-primary { transition: none; }
}
