/* #region GENERAL */
html {
    scroll-behavior: smooth;
}

:root {
    --accent-color: #afbcfc;
    --block-border: #c9ecef;
    --block-text: #f4f4f4;
}

::selection {
    background: var(--accent-color);
    color: #2f2f2f;
}

::-moz-selection {
    background: var(--accent-color);
    color: #2f2f2f;
}

body {
    &::before {
        background-image: url("../images/main/background_VI.webp");
        content: "";
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-size: cover;
        background-attachment: fixed;
        transform: scale(1.1);
        z-index: -1;
    }

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

    & .block,
    #radioInfo {
        background: radial-gradient(circle 300px at top left, #36395ce3, #402e69e3);

    }

    & footer {
        color: color-mix(in srgb, var(--accent-color) 25%, var(--block-text));
    }
}

.block {

    backdrop-filter: brightness(0.7) blur(12px);
    -webkit-backdrop-filter: brightness(0.7) blur(12px);
    border: 5px solid var(--block-border);
    display: flex;
    flex-direction: row;
    justify-content: space-evenly;

    & .text-container {
        justify-content: left;
        align-items: left;
        color: var(--block-text);

        & h2 {
            font-family: "GTAArtDecoMedium";
            text-align: center;
            line-height: 0.9;
            background-image: linear-gradient(to bottom, #79b3ff, #ff95d6, #ffc37f);
            background-clip: text;
            -webkit-text-fill-color: transparent;
        }

        & .characters-container {

            & .characters-header {
                & h2 {
                    background-image: linear-gradient(to bottom, #8fbaf3, #f5a3d5, #ecc598);
                }

                &::before,
                &::after {
                    background: linear-gradient(90deg, transparent, #ccbdff, transparent);

                }
            }

            & .characters-list {
                & article {
                    &:hover {
                        outline-color: #8cafd6 !important;
                    }

                    & .character-text {
                        & span {
                            color: #b6c3fdd7;
                        }
                    }
                }
            }
        }
    }

}

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

                &.active {
                    color: #81eaf4;
                    background: #3ecce932;

                    &::before {
                        background-color: #81eaf4;
                    }
                }

                &:active {
                    background: #3ecce956;

                    &::before {
                        background-color: #81eaf4;
                    }
                }
            }
        }

        & .right-content-footer {
            & .footer-settings:first-of-type {
                opacity: 0.2;
                cursor: not-allowed !important;
            }
        }
    }
}

.hidden {
    opacity: 0;
    pointer-events: none;
}

/* #endregion */

/* #region FICHA TÉCNICA */
.ficha-tecnica {
    border-color: #acdaf3 !important;
    background: radial-gradient(circle at bottom right, #4b60c7ac, #b64cbbac, #e57da5ac, #e89b58ac);
    color: #ffffff;

    & table {
        & tr {
            border-color: #e69df0;
        }
    }
}

.ficha-tecnica th,
span.table-platforms {
    font-family: "GTAArtDecoRegular";
}

span.table-platforms {
    color: #acdaf3;
}

/* #endregion */

/* #region LÍNEA DE TIEMPO */

.block.timeline {
    margin-inline: auto;
    max-width: 1250px;

    & #timelineContainer {
        & .timeline-last-updated {
            font-size: 0.75em;
            color: rgba(200, 190, 255, 0.8);
            letter-spacing: 0.5px;
            text-transform: uppercase;
            text-align: center;
            margin-block: 0.5em 3em;
        }

        & article {
            padding: 0 3em;
            margin: 0 auto 4em auto;

            & p {
                color: #f3f3f3;
                margin: 0.5em 0 1em 0;
                padding-left: 1.5em;
                text-align: left;
                position: relative;
                text-wrap: wrap;
                font-family: "GTAArtDecoRegular";
                max-width: 100%;
                font-size: 1.3rem;
                text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3);

                &::before {
                    content: "";
                    height: 100%;
                    width: 1px;
                    position: absolute;
                    left: 0;
                    background-color: #9277e9;
                }

                & .timeline-icon {
                    color: #60d9fa;
                    filter: drop-shadow(0 0 5px rgba(96, 217, 250, 0.6));
                    margin-right: 0.4em;
                    vertical-align: middle;
                }

                &+p {
                    margin-top: -0.5em;
                    font-size: 1.15em;
                    color: #d9d9f8;

                    &::before {
                        background-color: #9277e9b7;
                    }
                }

            }

            & h3 {
                text-align: left;
                font-size: 1.3em;
                background-image: linear-gradient(to bottom, #61a6ff, #a19bff);
                background-clip: text;
                -webkit-text-fill-color: transparent;
                font-weight: 600;
                background-size: 100% 90%;

            }

            & h4 {
                text-align: left;
                color: #91c1ffd5;
                font-weight: 100;
                font-size: 0.9em;
            }

            & img {
                align-items: center;
                max-width: 40vw;
                display: block;
                max-height: 45vh;
                height: auto;
                margin: 25px auto 50px auto;
                border-radius: 20px;
                border: 3px solid #d6aaff;
                cursor: pointer;
                box-shadow: 0 8px 25px rgba(168, 85, 247, 0.4);
                transition: all 0.3s ease;

                &:hover {
                    border-color: #c084fc;
                    box-shadow: 0 12px 35px rgba(168, 85, 247, 0.6);
                    transform: scale(1.02);
                }
            }

            & a {
                text-decoration: none;
                color: #79b3ff;
                transition: color 0.15s ease-in-out;
                font-weight: 500;

                &:hover {
                    color: #fbbf24;
                    text-shadow: 0 0 8px rgba(251, 191, 36, 0.5);
                }

                &:active {
                    color: #ec4899;
                }
            }
        }


        & .timeline-divider {
            height: 2px;
            border-radius: 1em;
            width: 100%;
            background: linear-gradient(90deg, transparent, #ff9ecf, #79b3ff, transparent);
            margin-bottom: 2em;
        }
    }
}

.timeline-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: fixed;
    bottom: 10px;
    right: 30px;
    background: rgba(187, 99, 255, 0.9);
    border: 1px solid rgba(0, 0, 0, 0.7);
    padding: 0.7em;
    border-radius: 100%;
    color: #ffffff;
    cursor: pointer;
    transition: background 0.15s ease, scale 0.4s ease, border-color 0.2s ease;
    box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.5);

    &:active {
        background: rgba(145, 26, 236, 0.802);
        scale: 0.85;
    }

    &:hover {
        border-color: #c084fc;
    }
}

/* #endregion */

/* #region MEDIA QUERIES */
@media screen and (max-width: 1350px) {

    body {
        &::before {
            background-image: url("../images/main/background_VI-mobile.webp");
        }
    }

    .block::before {
        content: "";
        position: absolute;
        inset: 0;
        z-index: -1;
    }

    .block.timeline {
        & #timelineContainer {

            & .timeline-last-updated {
                font-size: 0.7em;
                font-weight: 100;
            }

            & article {
                padding: 0;

                & .timeline-icon {
                    font-size: 1em;
                }

                & p {
                    padding-inline: 0.7em;
                    font-size: 1.1em;
                    text-wrap: balance;
                    margin: 1em auto;
                    text-align: center;
                }

                & h3 {
                    text-align: center;
                    font-size: 1.5em;
                }

                & h4 {
                    text-align: center;
                    font-size: 1.35em;
                }

                & img {
                    max-width: 90%;
                }
            }
        }
    }

    .timeline-arrow {
        bottom: 40px;
        z-index: 10000;
    }
}

/* #endregion */