/* #region FUENTES */

@font-face {
    font-family: "Helvetica Neue";
    src: url("/assets/fonts/HelveticaNeue.woff2") format("woff2");
    font-display: swap;
}

/* #endregion */

/* #region GENERAL */
:root {
    --font-title: "Helvetica Neue";
    --block-color: #090909f6;
    --block-text: #f4f4f4;
    --block-shadow: #ececec4b;
    --block-border: #b8b8b8;
    --title-color: #e2e2e2;
    --accent-color: #c7c7c7;
    --map-background: #747474;
}


::selection {
    background: #ffffff;
    color: #1a2a1a;
}

::-moz-selection {
    background: #ffffff;
    color: #1a2a1a;
}

body.custom-cursor * {
    cursor: url("/assets/cursors/IV.cur") 0 0, auto !important;
}

body {
    background-image: url("/assets/images/main/backgrounds/background_IV.webp");
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: scroll;

    @media (min-width: 768px) {
        background-attachment: fixed;
    }

    &::after {
        content: "";
        position: fixed;
        bottom: 0;
        width: 100%;
        height: 80px;
        background: linear-gradient(to bottom, transparent, color-mix(in srgb, var(--block-border) 10%, var(--block-color)));
    }

    & .block,
    #radioInfo {
        background: linear-gradient(135deg,
                #000000f5 0%,
                #141414f5 50%,
                #000000f5 100%);

    }
}

body.home {
    & .text-container {
        margin-bottom: 8em;
        padding-top: 25px;


        &:nth-of-type(1) {
            border-top: none;
            padding-top: 0;


        }

        &:nth-of-type(2) {
            --title-color: #fd9c9cd3;
            --accent-color: #fc3737;
            position: relative;

            &::after {
                content: "";
                height: 2px;
                background: linear-gradient(to left, var(--accent-color), transparent);
                width: 100%;
                position: absolute;
                top: 0;
            }

            &+.ficha-tecnica {
                --accent-color: #fc3737c0;
                background-color: color-mix(in srgb, rgba(243, 47, 47, 0.4), transparent 60%);
            }

        }

        &:nth-of-type(3) {
            --title-color: #FF99BF;
            --accent-color: #4cd5f7;
            position: relative;

            &::after {
                content: "";
                height: 2px;
                background: linear-gradient(to left, var(--accent-color), transparent);
                width: 100%;
                position: absolute;
                top: 0;
            }

            &+.ficha-tecnica {
                --accent-color: #4cd5f7;
                background: linear-gradient(135deg, #f1ec87b6, #C8477Ab6, #42A2B2b6);
            }
        }

        &.dlc {
            font-size: 0.85em;
        }
    }
}

.text-container {
    & h1 {
        text-shadow: 3px 3px 10px #000000;
    }
}

#rightContent {
    & .right-content-nav {
        & .right-content-links {
            & a {
                font-family: "Helvetica Neue";

                &.active {
                    color: #f2f2f2;
                    background: #eedeed32;

                    &::before {
                        background-color: #f2f2f2;
                    }
                }

                &:active {
                    background: #eedeed56;

                    &::before {
                        background-color: #f2f2f2;
                    }
                }
            }
        }
    }
}

.card-selector {
    display: flex;
    width: 95%;
    gap: 12px;
    margin-inline: auto;
    margin-block: 20px 10px;

    & button {
        border: none;
        background: none;
        padding: 0;
        cursor: pointer;
        flex: 1;
        transition: all 0.2s ease-in-out;

        & .tab-card {
            position: relative;
            border-radius: 12px;
            overflow: hidden;
            height: 150px;
            transition: all 0.25s ease-in-out;

            & img {
                width: 100%;
                height: 100%;
                object-fit: cover;

                @media (max-width: 1300px) {
                    object-position: left;
                }
            }

            & .tab-overlay {
                position: absolute;
                inset: 0;
                transition: 0.25s;
            }
        }

        &:not(.active) {
            opacity: 0.4;
            filter: brightness(0.8);

            &:hover {
                opacity: 0.8;
                filter: brightness(1);

                & .tab-card {
                    outline: 1px solid color-mix(in srgb, var(--outline-card) 50%, transparent);
                }
            }
        }

        &.active {
            & .tab-card {
                outline: 2px solid var(--outline-card);
                transform: scale(1.02);
            }
        }

        &[data-game="iv"],
        &[data-seccion="iv"] {
            --outline-card: #fdfdfd;

            & .tab-overlay {
                background: linear-gradient(to top left, #000, transparent);
            }

            &.active {

                & .tab-overlay {
                    background: linear-gradient(to top, #bbbbbb46, transparent);
                }
            }
        }

        &[data-game="tlad"],
        &[data-seccion="tlad"] {
            --outline-card: #f8746f;

            & .tab-overlay {
                background: linear-gradient(to top left, #000, transparent);
            }

            &.active {

                & .tab-overlay {
                    background: linear-gradient(to top, #f7242446, transparent);
                }
            }
        }

        &[data-game="tbogt"],
        &[data-seccion="tbogt"] {
            --outline-card: #f075e0;

            & .tab-overlay {
                background: linear-gradient(to top left, #000, transparent);
            }

            &.active {

                & .tab-overlay {
                    background: linear-gradient(to top, #f075e046, transparent);
                }
            }
        }
    }
}

/* #endregion */

/* #region FICHA TÉCNICA */

/* #endregion */

/* #region 100% CHECKLIST */

.checklist-container[data-active-game="iv"] {
    & .progress-bar-fill {
        background: linear-gradient(to right, var(--accent-color), var(--block-text));
    }
}

.checklist-container[data-active-game="tlad"] {

    & .progress-bar-fill {
        background: linear-gradient(to right, #B7352F, #e2645b);
    }

    & article:is(.section-complete) {
        background: linear-gradient(to bottom right, rgba(253, 121, 121, 0.4), rgba(230, 34, 34, 0.4));
    }
}

.checklist-container[data-active-game="tbogt"] {

    & .progress-bar-fill {
        background: linear-gradient(to right, #E8E887, #D06A92, #75C0DE);
    }

    & article:is(.section-complete) {
        background: linear-gradient(to bottom right, rgba(232, 232, 135, 0.4), rgba(208, 106, 147, 0.4), rgba(117, 192, 222, 0.5));
    }
}


/* #endregion */

/* #region HERRAMIENTAS Y MODS */

details.mod summary img {
    border-radius: 50%;
    background: #fff;
}

.mods-container {
    & details {
        &[open] {
            & .mod-expanded {
                & nav {
                    & a {
                        & span {
                            color: color-mix(in srgb, var(--accent-color) 75%, var(--block-text));
                        }

                        &.active {
                            border: 2px solid color-mix(in srgb, var(--block-border) 45%, transparent);
                            background: color-mix(in srgb, var(--block-border) 60%, transparent);
                        }
                    }
                }
            }
        }
    }
}

.tab-content[data-content="info"].active .btn-info,
.tab-content[data-content="download"].active .btn-download {
    background: color-mix(in srgb, var(--block-border) 80%, transparent);

    & .material-symbols-rounded {
        color: color-mix(in srgb, var(--accent-color) 40%, var(--block-text));
    }
}

/* #endregion */

/* #region RADIO */
.radio-container {
    & .radio-grid {
        gap: 0.3em 0.1em;

        & img {
            width: 120px;
            aspect-ratio: 1;
            object-position: center;
        }
    }
}

.radio-footer {
    & .footer-left {
        & .footer-album {
            & img {
                object-fit: contain;
                object-position: center;
            }
        }
    }
}

#radioInfo {
    & #playlistSelector {
        margin-bottom: 1em;
        gap: 1em;

        & button {
            background: none;
            color: #F0F0F0;
            font-size: 1.2em;
            font-weight: 100;

            &:hover {
                opacity: 0.7;
            }


            &.active {
                font-weight: 800;
                color: #E5A13B;
                position: relative;

                &::before {
                    content: "";
                    top: 100%;
                    z-index: -1;
                    width: 100%;
                    height: 4px;
                    border-radius: 100vw;
                    position: absolute;
                    background: color-mix(in srgb, #E5A13B 80%, transparent);
                }
            }
        }
    }
}

/* #endregion */

/* #region MAPA */
.map-wrapper {
    background: linear-gradient(135deg, rgba(36, 34, 35, 0.685) 5%, rgb(0, 0, 0));
}

/* #endregion */

/* #region TRUCOS */
.platform-selector {
    display: none;
}

/* #endregion */

/* #region MEDIA QUERIES  */

@media (max-width: 1350px) {

    body {
        background: radial-gradient(circle at top, rgba(255, 255, 255, 0.8), rgba(117, 117, 117, 0.95));
    }


    #cheatsContainer {
        min-width: 250px;
    }


}

@media (max-width: 900px) {

    body.home {
        & .text-container {
            &::after {
                display: none;
            }
        }
    }

    .card-selector {
        flex-direction: column;
    }
}


/* #endregion */