/* stylelint-disable selector-class-pattern */
.fs-player-bar-module-container {
    background: rgb(0 0 0 / 40%) !important;
    backdrop-filter: blur(2rem);
}

.fs-poster-card-module-image {
    border-radius: 18px !important;
}

.fs-grid-card-controls-module-grid-card-controls-container {
    border-radius: 18px;
    backdrop-filter: blur(5px);
}

.fsplayer-text {
    font-size: 45px;
    text-align: left;
}

.fs-full-screen-player-image-module-metadata-container {
    width: 100%;
}

.fs-full-screen-player-queue-module-grid-container::before {
    border-radius: 18px !important;
}

.mantine-Modal-overlay {
    backdrop-filter: blur(3px);
}

.fs-modal-module-content,
.fs-select-module-dropdown,
.fs-popover-module-dropdown,
.fs-dialog-module-root,
.fs-context-menu-module-content,
.fs-dropdown-menu-module-menu-dropdown,
.fs-accordion-module-panel {
    background: rgb(4 4 9 / 50%) !important;
    border: 0;
    backdrop-filter: blur(2rem);

    button,
    input,
    .fs-multi-select-module-input,
    a {
        border-radius: 12px;
    }
}

.fs-context-menu-module-content,
.fs-dropdown-menu-module-menu-dropdown {
    border-radius: 18px;
}

.fs-accordion-module-panel {
    border-radius: 18px;
    backdrop-filter: none !important;
}

.fs-accordion-module-control {
    background-color: transparent;
}

.fs-modal-module-header {
    background: rgb(4 4 9 / 80%) !important;
    border-radius: 18px;
}

.fs-select-module-dropdown,
.fs-popover-module-dropdown {
    border-radius: 18px;
}

.mantine-Center-root img {
    border-radius: 18px;
}

.ag-header {
    background-color: transparent !important;
    border-radius: 8px 8px 0 0;
}

.fs-left-controls-module-playerbar-image {
    border-radius: 8px !important;
}

.favorite_icon .mantine-ActionIcon-icon {
    justify-content: left;
}

.fork-header svg {
    padding-left: 2px;
    margin-left: 5px;
}

.fs-button-module-root[data-variant='outline'] {
    border-radius: 1rem;
}

.fs-poster-card-module-image-container {
    border-radius: 8px !important;
}

.mantine-Table-th {
    background-color: transparent !important;
}

table {
    border: 0 !important;
}

.fs-sidebar-module-accordion-content a {
    border-radius: 8px;
}

/*
.fs-main-content-module-main-content-container {
    height: 100vh;
}
*/

.fs-main-content-module-main-content-body {
    height: 100vh;
}

:has(.fs-window-bar-module-window-bar) .fs-main-content-module-main-content-container {
    height: calc(100vh - 30px);
}

.mantine-Tabs-root {
    input {
        border-radius: 18px;
    }

    button:not(.mantine-focus-never) {
        border-radius: 8px;
    }
}

.mantine-Slider-track::before {
    background-color: var(--theme-colors-surface);
}

/* stylelint-disable selector-not-notation */
.fs-image-module-image:not(.ag-cell *):not(.fs-left-controls-module-image *):not(
        .fs-sidebar-playlist-list-module-row-group *
    ) {
    border-radius: 18px;
}

/* stylelint-enable selector-not-notation */

.fs-left-controls-module-image {
    border-radius: 12px;
}

.fork-server-selector {
    .mantine-SegmentedControl-indicator,
    .fs-segmented-control-module-root,
    input,
    button {
        border-radius: 12px;
    }
}

.fs-text-input-module-input,
[cmdk-item][data-selected] {
    background: rgb(4 4 9 / 50%) !important;
    border: 0;
    border-radius: 18px;
}

.fs-modal-module-content [cmdk-separator] {
    display: none;
}

/* Button fixes */
.fs-button-module-root[data-variant='filled'] {
    border-radius: 12px;
}

.mantine-Accordion-label {
    button,
    a {
        border-radius: 8px;
    }
}

.mantine-Grid-col button {
    border-radius: 8px;
}

/* share dialog */
.fs-modal-module-body {
    .fs-textarea-module-input {
        border-radius: 12px;
    }

    .fs-accordion-module-panel {
        background-color: transparent;
    }
}

.fs-feature-carousel-module-image-column {
    align-items: normal !important;
}

.mantine-Badge-root {
    background: rgb(1 1 5 / 45%);
}

.fs-sidebar-module-image-container img {
    border-radius: 18px;
}

.fs-expanded-list-item-module-container {
    position: relative;
    bottom: 90px;
    border-radius: 18px;
}

.fs-sidebar-play-queue-module-lyrics-section {
    bottom: 90px;
}

.fs-page-header-module-container {
    background-color: transparent;
}

.fs-tabs-module-tab {
    border-radius: 0 !important;
}

.fs-full-screen-player-module-container .mantine-Group-root button {
    border-radius: 100%;
}

.fs-full-screen-player-image-module-image {
    border-radius: 18px;
}

.fs-segmented-control-module-root {
    border-radius: 18px;
}

.fs-segmented-control-module-label[data-active='true'],
.mantine-SegmentedControl-control {
    border-radius: 8px;
}

.fs-table-config-module-group {
    border-radius: 8px;
}

.fs-server-selector-module-button-group {
    border-radius: 18px;
}

.fs-full-screen-player-module-container {
    height: 100vh !important;

    .fs-full-screen-player-module-responsive-container {
        height: calc(100% - 250px);
    }
}

.fs-skeleton-module-skeleton,
.fs-select-module-root div input {
    border-radius: 18px;
}

.mantine-Modal-content {
    border: 0;
    border-radius: 18px;
}

.fs-item-card-controls-module-container {
    background: #03010186;
    border-radius: 18px;
    box-shadow: none;
    backdrop-filter: blur(6px);
    transition: linear backdrop-filter 0.25s;

    button {
        border-radius: 100% !important;
    }
}

.fs-item-card-module-image-container::before {
    display: none;
}

.fs-action-bar-module-container .mantine-Input-input {
    background-color: var(--theme-colors-surface) !important;
}

.fs-library-background-overlay-module-background-overlay {
    border-radius: 18px;
}

/* i really wanted to make this transparent but does not seem to be possible :( */
.query-editor-container {
    padding-bottom: 120px;
}

.fs-full-screen-player-queue-module-queue-container img {
    border-radius: 8px !important;
}

/* attempt to patch the server selector, possible unintended consequences */

.mantine-Accordion-root .mantine-Accordion-item {
    background-color: transparent;
    border: 0;
}

.fs-item-table-list-module-height-100 {
    padding-bottom: 65px !important;
}
