/* E2Oil Manager - bottoni in stile E2 Group */

:root {
    --e2-dark-1: #07090f;
    --e2-dark-2: #111827;
    --e2-amber-1: #b96f05;
    --e2-amber-2: #d98508;
    --e2-amber-3: #a55f03;
    --e2-text-on-dark: #f8fafc;
}

/* Base bottoni */
.fi-btn {
    border-radius: 0.9rem;
    padding-inline: 1.05rem;
    padding-block: 0.62rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    border: 1px solid transparent;
    box-shadow:
        0 12px 24px -16px rgba(17, 24, 39, 0.55),
        0 6px 12px -10px rgba(17, 24, 39, 0.45);
    transition:
        transform 140ms ease,
        box-shadow 160ms ease,
        filter 140ms ease,
        background-color 140ms ease,
        border-color 140ms ease;
}

.fi-btn:hover {
    transform: translateY(-1px);
    filter: saturate(1.06);
}

.fi-btn:active {
    transform: translateY(0);
    box-shadow:
        0 10px 20px -16px rgba(17, 24, 39, 0.55),
        0 4px 10px -10px rgba(17, 24, 39, 0.45);
}

/* Primario: nero profondo + accento ambrato */
.fi-btn.fi-color-primary {
    color: var(--e2-text-on-dark) !important;
    background-image: linear-gradient(135deg, var(--e2-dark-1), var(--e2-dark-2)) !important;
    border-color: rgba(255, 255, 255, 0.06) !important;
}

.fi-btn.fi-color-primary:hover {
    background-image: linear-gradient(135deg, #0b0f1a, #182236) !important;
}

.fi-btn.fi-color-primary:focus-visible {
    box-shadow:
        0 0 0 2px rgba(255, 255, 255, 0.9),
        0 0 0 6px rgba(185, 111, 5, 0.35);
}

/* Secondario: chiaro ma non "bootstrap" */
.fi-btn.fi-color-gray {
    background-color: #f8fafc !important;
    color: #0f172a !important;
    border-color: rgba(15, 23, 42, 0.08) !important;
    box-shadow:
        0 8px 18px -16px rgba(15, 23, 42, 0.45),
        0 4px 10px -12px rgba(15, 23, 42, 0.35);
}

.fi-btn.fi-color-gray:hover {
    background-color: #f1f5f9 !important;
    border-color: rgba(15, 23, 42, 0.12) !important;
}

/* Warning/success come accento ambrato */
.fi-btn.fi-color-warning,
.fi-btn.fi-color-success {
    color: #1a0f03 !important;
    background-image: linear-gradient(135deg, var(--e2-amber-1), var(--e2-amber-2)) !important;
    border-color: rgba(255, 255, 255, 0.22) !important;
}

.fi-btn.fi-color-warning:hover,
.fi-btn.fi-color-success:hover {
    background-image: linear-gradient(135deg, var(--e2-amber-2), #e09414) !important;
}

/* Danger più elegante */
.fi-btn.fi-color-danger {
    background-image: linear-gradient(135deg, #991b1b, #7f1d1d) !important;
    color: #fff7f7 !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

.fi-btn.fi-color-danger:hover {
    background-image: linear-gradient(135deg, #a61f1f, #8f1f1f) !important;
}

/* Overlay/popup Filament: devono stare sopra la sidebar */
:root {
    --e2-overlay-z: 1600;
}

[data-floating-ui-portal],
.tippy-box,
.tippy-content,
.choices__list--dropdown,
.choices[data-type*="select-one"] .choices__list,
.flatpickr-calendar,
.pac-container,
.filepond--root .filepond--panel-root,
.filepond--root .filepond--list-scroller {
    z-index: var(--e2-overlay-z) !important;
}

.fi-modal,
.fi-dropdown-panel {
    z-index: calc(var(--e2-overlay-z) + 10) !important;
}

/* Modal Filament (window + overlay) sopra sidebar anche dentro tab/relation managers */
.fi-modal > .fi-modal-close-overlay,
.fi-modal > .fi-modal-window-ctn {
    z-index: calc(var(--e2-overlay-z) + 20) !important;
}

/* Fix stacking context del tema Awin: i tab non devono bloccare i modali */
.fi-tabs {
    z-index: auto !important;
}

/* Quando un modal è aperto, la sidebar non deve mai stare sopra */
body.fi-body:has(.fi-modal.fi-modal-open) .fi-sidebar,
body.fi-body:has(.fi-modal.fi-modal-open) .fi-sidebar-close-overlay {
    z-index: 1 !important;
}

body.fi-body:has(.fi-modal.fi-modal-open) .fi-topbar {
    z-index: 2 !important;
}

/* Form Filament: sotto 960px forza layout a una colonna */
@media (max-width: 960px) {
    .fi-grid:not(.fi-grid-direction-col),
    .fi-grid:not(.fi-grid-direction-col).lg\:fi-grid-cols,
    .fi-grid:not(.fi-grid-direction-col).md\:fi-grid-cols,
    .fi-grid:not(.fi-grid-direction-col).xl\:fi-grid-cols,
    .fi-grid:not(.fi-grid-direction-col).\32xl\:fi-grid-cols {
        --cols-lg: repeat(1, minmax(0, 1fr)) !important;
        --cols-md: repeat(1, minmax(0, 1fr)) !important;
        --cols-xl: repeat(1, minmax(0, 1fr)) !important;
        --cols-2xl: repeat(1, minmax(0, 1fr)) !important;
        --cols-default: repeat(1, minmax(0, 1fr)) !important;
        grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    }

    .fi-grid.fi-grid-direction-col {
        --cols-lg: 1 !important;
        --cols-md: 1 !important;
        --cols-xl: 1 !important;
        --cols-2xl: 1 !important;
        --cols-default: 1 !important;
        columns: 1 !important;
    }
}
