/* Buttons: navy main ones, white grey ones, the ones in the dark heading, and choice buttons (toggle buttons). */

/* Buttons: pills; the main ones navy with a light-blue edge and the light sweeping over them on hover. */
.fi-panel-app .fi-btn {
    border-radius: 999px;
    font-weight: 600;
}

.fi-panel-app .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link) {
    position: relative;
    overflow: hidden;
    background-color: var(--ambex-navy);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(90, 165, 255, 0.65), 0 6px 16px -8px rgba(0, 0, 0, 0.55);
    transition: transform 0.25s ease, box-shadow 0.3s ease;
}

.fi-panel-app .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: -70%;
    width: 45%;
    background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: skewX(-20deg);
    transition: left 0.7s ease;
    pointer-events: none;
}

.fi-panel-app .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link):hover {
    background-color: var(--ambex-navy);
    transform: translateY(-2px);
    box-shadow: 0 0 0 1px rgba(90, 165, 255, 0.8), 0 14px 28px -12px rgba(0, 0, 0, 0.7);
}

.fi-panel-app .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link):hover::before {
    left: 130%;
}

.fi-panel-app .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link) .fi-icon {
    color: #ffffff;
}

.dark .fi-panel-app .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link),
.dark .fi-panel-app .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link):hover {
    background-color: var(--ambex-blue);
}

/* Secondary (grey) buttons: white with a clear light-blue edge and dark text, like the site's light "ghost" button. */
.fi-panel-app .fi-btn.fi-color-gray:not(.fi-outlined):not(.fi-link) {
    background-color: #ffffff;
    color: var(--ambex-navy);
    box-shadow: 0 0 0 1px var(--ambex-rule-strong);
}

.fi-panel-app .fi-btn.fi-color-gray:not(.fi-outlined):not(.fi-link):hover {
    background-color: var(--ambex-tint);
    box-shadow: 0 0 0 1px var(--ambex-blue);
}

.fi-panel-app .fi-btn.fi-color-gray:not(.fi-outlined):not(.fi-link) .fi-icon {
    color: var(--ambex-blue);
}

.dark .fi-panel-app .fi-btn.fi-color-gray:not(.fi-outlined):not(.fi-link) {
    background-color: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(90, 165, 255, 0.35);
}

.dark .fi-panel-app .fi-btn.fi-color-gray:not(.fi-outlined):not(.fi-link) .fi-icon {
    color: var(--ambex-sky);
}

/* The main button in the dark heading: white with navy text, so it stands out from the dark hero (navy on navy disappears). */
.fi-panel-app .fi-header .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link),
.dark .fi-panel-app .fi-header .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link) {
    background-color: #ffffff;
    color: var(--ambex-navy);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.9), 0 8px 22px -8px rgba(90, 165, 255, 0.55);
}

.fi-panel-app .fi-header .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link):hover,
.dark .fi-panel-app .fi-header .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link):hover {
    background-color: #eaf3fd;
    box-shadow: 0 0 0 1px #ffffff, 0 14px 28px -10px rgba(90, 165, 255, 0.7);
}

.fi-panel-app .fi-header .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)::before {
    background: linear-gradient(100deg, transparent, rgba(90, 165, 255, 0.35), transparent);
}

.fi-panel-app .fi-header .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link) .fi-icon {
    color: var(--ambex-blue);
}

/* Grey buttons in the dark heading: the site's outlined "ghost" button. */
.fi-panel-app .fi-header .fi-btn.fi-color-gray {
    background: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(90, 165, 255, 0.5);
}

.fi-panel-app .fi-header .fi-btn.fi-color-gray:hover {
    background: rgba(90, 165, 255, 0.12);
}

.fi-panel-app .fi-header .fi-btn.fi-color-gray .fi-icon {
    color: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
    .fi-panel-app .fi-btn.fi-color-primary,
    .fi-panel-app .fi-btn.fi-color-primary::before {
        transition: none;
    }

    .fi-panel-app .fi-btn.fi-color-primary:hover {
        transform: none;
    }
}

/*
    Choice buttons (Filament toggle buttons, e.g. "Publish now" / "Schedule"): every option has the
    primary colour and only aria-pressed tells the chosen one, so the navy style above would paint
    both alike. The options not chosen look like the white grey buttons; the chosen one is light blue
    with a blue ring, so the window's own navy button (Confirm) stays the only main action.
*/
.fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="true"] {
    background-color: var(--ambex-tint);
    color: var(--ambex-navy);
    box-shadow: inset 0 0 0 2px var(--ambex-blue);
    transform: none;
}

.fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="true"]::before {
    display: none;
}

.fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="true"] .fi-icon {
    color: var(--ambex-blue);
}

.dark .fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="true"] {
    background-color: rgba(90, 165, 255, 0.16);
    color: #ffffff;
    box-shadow: inset 0 0 0 2px var(--ambex-sky);
}

.dark .fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="true"] .fi-icon {
    color: var(--ambex-sky);
}
.fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="false"] {
    background-color: #ffffff;
    color: var(--ambex-navy);
    box-shadow: 0 0 0 1px var(--ambex-rule-strong);
    transform: none;
}

.fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="false"]:hover {
    background-color: var(--ambex-tint);
    box-shadow: 0 0 0 1px var(--ambex-blue);
}

.fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="false"]::before {
    display: none;
}

.fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="false"] .fi-icon {
    color: var(--ambex-blue);
}

.dark .fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="false"] {
    background-color: rgba(255, 255, 255, 0.04);
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(90, 165, 255, 0.35);
}

.dark .fi-panel-app .fi-fo-toggle-buttons .fi-btn.fi-color-primary:not(.fi-outlined):not(.fi-link)[aria-pressed="false"] .fi-icon {
    color: var(--ambex-sky);
}
