/* ============================================================
   Onesown Blazor Components – Colorpicker
   Abhängigkeit: theme1.css
   ============================================================ */

.oo-colorpicker {
    display: inline-flex;
    gap: 0.25rem;
    outline: none !important;
    position: relative;
}

    .oo-colorpicker .form--label {
        margin-bottom: 0;
    }

.oo-colorpicker--horizontal {
    flex-direction: row;
}

    .oo-colorpicker--horizontal .form--label {
        align-self: center;
    }

.oo-colorpicker--vertical {
    flex-direction: column;
}

.oo-colorpicker.invalid .oo-colorpicker--button {
    outline: 2px solid var(--oo-danger);
}

.oo-colorpicker.invalid:hover .oo-validation-tooltip {
    display: block;
}

.oo-colorpicker--backdrop {
    position: fixed;
    inset: 0;
    z-index: 1;
}

.oo-colorpicker--anchor {
    position: relative;
    display: inline-block;
    /*z-index: var(--oo-z-modal);*/
}

.oo-colorpicker--button {
    /*display: block;*/
    /*width: 2rem;*/
    /*height: 2rem;*/
    /* Auch gleiche Feld- und Hintergrundfarben bleiben in jedem Theme erkennbar. */
    border: 1px solid color-mix(in srgb, var(--oo-color-text) 50%, var(--oo-color-surface));
    cursor: pointer;
    border-radius: 100%;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    position: relative;
    font-size: inherit;
    height: var(--oo-colorpicker-size, 1.75rem);
    width: var(--oo-colorpicker-size, 1.75rem);
}

/* Unabhängig von gleichen Textgrößen der kleinen Design-Token staffeln. */
.oo-colorpicker.oo-size-xs { --oo-colorpicker-size: 1.25rem; }
.oo-colorpicker.oo-size-sm { --oo-colorpicker-size: 1.5rem; }
.oo-colorpicker.oo-size-lg { --oo-colorpicker-size: 2rem; }
.oo-colorpicker.oo-size-xl { --oo-colorpicker-size: 2.25rem; }

/* AsButton="true": Rahmen kommt aus dem ButtonStyle (--_btn-border, siehe OoColor.ToInlineStyle) */
.oo-colorpicker--button.oo-colorpicker--as-button {
    border: var(--oo-border-width) solid var(--_btn-border, transparent);
}

.oo-colorpicker--dialog {
    display: none;
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    background: var(--oo-color-surface);
    box-shadow: 0 5px 5px -3px rgba(0,0,0,.2), 0 8px 10px 1px rgba(0,0,0,.14), 0 3px 14px 2px rgba(0,0,0,.12);
}

    .oo-colorpicker--dialog.Aktiv {
        display: block;
        width: max-content;
        z-index: calc(var(--oo-z-modal) + 1);
    }

.oo-colorpicker--dialog-inner {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    padding: 0;
}

.oo-colorpicker .oo-colorpicker--ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem;
    list-style: none;
    margin: 0;
    /* Innenabstand innerhalb des Scrollbereichs hält Auswahl- und Fokusring sichtbar. */
    padding: 0.5rem;
}

.oo-colorpicker--li {
    border: 0.0625rem solid var(--oo-color-border-strong);
    border-radius: var(--oo-radius-sm);
    cursor: pointer;
    height: 1.5rem;
    width: 1.5rem;
}

    .oo-colorpicker--li.Selected {
        outline: 2px solid var(--oo-primary);
        outline-offset: 1px;
    }

.oo-colorpicker--button:focus-visible,
.oo-colorpicker--li:focus-visible {
    outline: 2px solid var(--oo-primary);
    outline-offset: 2px;
}

.oo-colorpicker--input {
    cursor: pointer;
    height: 100%;
    left: 0;
    opacity: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 5;
}
