/* Styles for the Coming Soon page */

@font-face {
    font-family: 'GTAmerica';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/GT-America/GT-America-Regular.otf') format('opentype');
}

@font-face {
    font-family: 'GTAmerica Bold';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/GT-America/GT-America-Bold.otf') format('opentype');
}

@font-face {
    font-family: 'GTAmerica Compressed';
    font-style: normal;
    font-weight: 700;
    src: url('../fonts/GT-America/GT-America-Compressed-Bold.otf') format('opentype');
}

@font-face {
    font-family: 'GTAmerica Mono';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/GT-America/GT-America-Mono-Regular-Trial.otf') format('opentype');
}

html {
    background-color: black;
}

html,
body,
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* BOTH PHASES */
body.live-mas {
    background: radial-gradient(ellipse 100% 100% at center 150%, rgba(147, 70, 215, 0.8) 0%, rgba(147, 70, 215, 0.1) 100%) no-repeat fixed;
    color: white;
    font-size: 14px;
    margin-top: 0 !important;
    min-height: -webkit-fill-available;
    overscroll-behavior: none;
    padding-left: 0 !important;
    min-height: 100dvh;

    .content-wrapper {
        align-items: center;
        display: flex;
        flex-direction: column;
        font-family: 'GT America', sans-serif;
        max-height: 100dvh;
        width: 100%;

        /* Disabled scroll bars where possible */
        -ms-overflow-style: none; /* Internet Explorer 10+ */
        scrollbar-width: none; /* Firefox, Safari 18.2+, Chromium 121+ */

        &::-webkit-scrollbar {
            display: none; /* Older Safari and Chromium */
        }
    }

    .live-mas-button {
        background-color: rgba(147, 70, 215, 1);
        border-radius: 0.5rem;
        color: white;
        padding: 1.5rem 3rem;
        text-transform: uppercase;

        &:hover {
            background-color: rgba(157, 80, 225, 1);
            cursor: pointer;
        }

        &:link,
        &:visited {
            text-decoration: none;
        }

        &.disabled,
        &.disabled:hover {
            background-color: gray;
            pointer-events: none;
        }
    }
}

/* PHASE 1 STYLES */
body.phase-1 {
    overflow: hidden;
    position: relative;
    z-index: 0;

    #bg-video {
        height: 100dvh;
        width: 100dvw;
        /* inset: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); */
        object-fit: cover;
        position: absolute;
        inset: 0;
        filter: brightness(50%);
    }

    .content-wrapper {
        justify-content: space-between;
        padding-bottom: 1rem;
        pointer-events: none;
        position: absolute;
        inset: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
        z-index: +1;

        a {
            pointer-events: auto;
        }
    }

    .logo {
        align-items: center;
        display: flex;
        flex: 1 1 100%;
        flex-direction: column;
        height: 100%;
        justify-content: center;
        min-height: fit-content;
        width: auto;

        img {
            max-height: unset;
            height: 120px;
            width: auto;
        }
    }

    .countdown {
        align-items: center;
        justify-content: center;
        display: flex;
        flex: 0 0 0%;
        flex-direction: column;
        height: 0px;
        width: 100%;

        &::before {
            content: 'LAUNCHING IN';
            font-size: max(16px, 1.5vw);
            font-weight: 700;
        }

        .timer {
            font-family: 'GTAmerica Bold', sans-serif;
            font-size: max(40px, 5vw);
            font-weight: 700;
        }
    }

    .presented_full {
        text-transform: uppercase;
        transition: opacity 1s ease-in-out;
        text-align: center;

        figure {
            display: inline-block;
            margin: 0;
        }
    }

    &.loaded {
        overflow: hidden;

        #bg-video {
            opacity: 1;
            transition: opacity 1s ease-in-out;
        }

        .logo {
            flex: 1 1 20%;
            transition: all 1s ease-in-out;

            img {
                transform: scale(75%);
                transition: all 1s ease-in-out;
            }
        }

        .countdown {
            flex: 1 1 100%;
            opacity: 1;
            visibility: visible;
            transition: flex 1s ease-in-out, opacity 1s ease-in-out 1s;
        }

        .presented_initial {
            opacity: 0;
        }
    }
}

/* PHASE 2 STYLES */

body.phase-2 {
    h1,
    h2,
    h3 {
        line-height: 1;
    }

    h1,
    .city {
        font-size: clamp(3rem, 5vw, 8rem);
    }
    h2 {
        font-size: clamp(2.5rem, 4vw, 6rem);
    }
    h3 {
        font-size: 1.5rem;
    }
    p {
        font-size: 1.25rem;
    }

    .content-wrapper {
        max-height: 100dvh;
        overflow: hidden auto;

        .content {
            display: grid;
            grid-template-columns: max(100%, 100dvw);

            > section {
                max-width: 100dvw;
                padding: 4rem 2rem;
                overflow: hidden;
                width: 100%;

                @media screen and (max-width: 1023px) {
                    &.full-height {
                        height: 100dvh;
                    }

                    &.half-height {
                        height: 75vh;
                        max-height: 75dvh;
                    }
                }

                @media screen and (min-width: 1024px) {
                    &.full-height {
                        min-height: 100dvh;
                    }

                    &.half-height {
                        min-height: 75dvh;
                    }
                }
            }
        }
    }

    .intro {
        align-items: center;
        background-image: url('/wp-content/uploads/2025/12/live_mas-intro.jpg');
        background-size: cover;
        background-position: center;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        text-align: center;
        text-transform: uppercase;

        .logo {
            width: min(50vw, 120px);
        }
    }

    .interstitial {
        align-items: center;
        display: flex;
        flex-direction: column;
        height: 100%;
        justify-content: space-around;
        text-align: center;
        text-transform: uppercase;
        margin: 0 auto;

        h2 {
            margin-block: 4rem;
        }

        .fans {
            position: relative;
            overflow: visible;

            &::before {
                background-image: url('/wp-content/themes/tacobell/assets/images/live_mas/live_mas-circle.png');
                background-position: center;
                background-repeat: no-repeat;
                background-size: 95%;
                content: '';
                position: absolute;
                inset: -1rem;
                z-index: -1;
            }
        }
    }

    .ffm {
        padding: unset !important;
        overflow: visible !important;
        height: 750dvh !important;
        margin-bottom: 10vw;

        /* view-timeline-name: --section-panels; */
        view-timeline-axis: block;

        .animation-container {
            overflow-x: hidden;
            padding: unset;
            height: 100dvh;
            position: sticky;
            width: 100dvw;
            top: 0;

            .animation-panels {
                align-items: center;
                display: grid;
                grid-template-rows: min-content min-content 1fr;
                justify-content: flex-start;
                width: fit-content;

                height: 100dvh;

                .animation-panel {
                    display: grid;
                    grid-row: 1 / -1;
                    grid-template-columns: subgrid;
                    grid-template-rows: subgrid;

                    h3,
                    p {
                        margin-block: unset;
                        margin-inline: 2rem;
                        padding: 2rem 2rem 2rem 0;
                    }

                    h3 {
                        --progress: 0;
                        border-bottom: 2px solid rgba(157, 80, 225, 0.8);
                        position: relative;
                        text-transform: uppercase;

                        &::after {
                            border-bottom: 2px solid white;
                            bottom: -2px;
                            content: '';
                            display: none;
                            left: 0;
                            position: absolute;
                            width: var(--progress);
                        }
                    }

                    figure {
                        position: relative;

                        img {
                            display: block;
                            height: 100%;
                            object-position: center;
                            object-fit: cover;
                            overflow: hidden;
                            position: absolute;
                            width: 100%;
                        }
                    }

                    &.active {
                        h3::after {
                            display: block;
                        }
                    }
                }
            }

            /* mobile / tablet */
            @media screen and (max-width: 1023px) {
                .animation-panels {
                    grid-template-columns: repeat(3, 100dvw);

                    .animation-panel {
                        opacity: 1;

                        figure {
                            overflow: hidden;
                            position: relative;
                            width: 100%;
                        }
                    }
                }
            }

            /* desktop */
            @media screen and (min-width: 1024px) {
                .animation-panels {
                    grid-template-columns: 2rem 1fr 1fr 1fr 2rem;

                    grid-template-areas:
                        'margin-l header-1-1 header-2-1 header-3-1 margin-r'
                        'margin-l header-1-2 header-2-2 header-3-2 margin-r'
                        'image image image image image';

                    .animation-panel {
                        grid-template-areas: subgrid;
                        grid-column: 1 / -1;
                        opacity: 1;

                        > h3,
                        > p {
                            opacity: 0.5;
                            margin-inline: unset;
                        }

                        figure {
                            opacity: 0;
                            transition: opacity 0.5s;
                        }

                        &.active {
                            > h3,
                            > p,
                            figure {
                                opacity: 1;
                            }
                        }

                        &:nth-child(1) {
                            h3 {
                                grid-area: header-1-1;
                            }
                            p {
                                grid-area: header-1-2;
                            }
                        }

                        &:nth-child(2) {
                            h3 {
                                grid-area: header-2-1;
                            }
                            p {
                                grid-area: header-2-2;
                            }
                        }

                        &:nth-child(3) {
                            h3 {
                                grid-area: header-3-1;
                            }
                            p {
                                grid-area: header-3-2;
                            }
                        }

                        figure {
                            grid-area: image;
                        }
                    }
                }
            }
        }
    }

    .neck_deep-1 {
        padding: unset !important;
        position: relative;

        video {
            filter: brightness(50%);
            object-fit: cover;
            object-position: center;
            height: 150dvh;
            width: 100%;
        }

        .overlay {
            align-items: center;
            display: flex;
            flex-direction: column;
            position: absolute;
            top: 75dvh;
            /* transform: translateY(-50% ); */
            transform-origin: center;
            left: 0;
            width: 100%;

            > figure {
                margin-bottom: 1rem;
                flex: 0 1 100%;
                position: relative;

                img {
                    display: block;
                    height: auto;
                    width: 100%;
                }
            }
        }
    }

    .neck_deep-2 {
        background-image: url('/wp-content/uploads/2025/12/live_mas-crowd.jpg');
        background-size: cover;
        background-position: center;

        display: flex;
        flex-direction: column;
        gap: 4rem;
        height: unset !important;
        justify-content: space-around;
        max-height: unset !important;

        h2 {
            text-align: center;
            text-wrap: balance;
            text-transform: uppercase;

            img {
                display: inline-block;
                height: 1.8ex;
                width: auto;
            }
        }

        .early {
            position: relative;
            overflow: visible;

            &::before {
                background-image: url('/wp-content/themes/tacobell/assets/images/live_mas/live_mas-scribble.png');
                background-position: center;
                background-repeat: no-repeat;
                background-size: 100%;
                content: '';
                left: 0;
                position: absolute;
                bottom: -60%;
                /* z-index: -1; */
                width: 100%;
                height: 100%;
            }
        }

        h3,
        p {
            margin-bottom: 2rem;
            text-align: left;
        }

        .side-by-side {
            display: grid;
            grid-template-columns: 1fr;
            gap: 2rem;
        }

        .shows {
            position: relative;

            &::after {
                /* border: 1px solid yellow; */
                background-image: url('/wp-content/themes/tacobell/assets/images/live_mas/wrapped.png');
                background-position: center;
                background-size: 100%;
                background-repeat: no-repeat;
                content: '';
                display: block;
                inset: 0;
                position: absolute;
            }
        }

        .city,
        .date-venue {
            display: block;
            font-weight: bold;
            text-transform: uppercase;
            line-height: 1;
        }

        .date-venue {
            margin-bottom: 2rem;
        }

        .live-mas-button {
            justify-self: center;
            width: fit-content;
        }
    }

    .guestlist {
        align-items: center;

        background-image: url('/wp-content/uploads/2025/12/live_mas-fire.jpg');
        background-size: cover;
        background-position: center;

        display: flex;
        flex-direction: column;
        height: 100%;
        justify-content: space-between;
        text-align: center;
        text-transform: uppercase;

        .signup {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 3rem;
        }

        .impressum {
            display: flex;
            flex-direction: row;
            flex-wrap: wrap;
            gap: 0.25rem;
            justify-content: space-between;

            p {
                font-size: 0.65rem;
                text-align: left;
            }

            > figure {
                margin-bottom: 1rem;
                flex: 0 1 100%;
                position: relative;

                img {
                    display: block;
                    height: auto;
                    width: 100%;
                }
            }

            .socials {
                align-self: end;

                a {
                    height: 1rem;
                }
            }
        }
    }

    /* Desktop Image / Font Replacements */
    @media screen and (min-width: 1024px) {
        .intro {
            background-image: url('/wp-content/uploads/2025/12/live_mas-intro-wide.jpg');
            .logo {
                width: min(50vw, 200px);
            }
        }

        .neck_deep-2 {
            background-image: url('/wp-content/uploads/2025/12/live_mas-crowd-wide.jpg');
            padding: 10vw !important;

            h3,
            p {
                margin-bottom: 4rem;
            }

            .side-by-side {
                display: grid;
                gap: 6rem;
                grid-template-columns: 1fr 1fr;
                grid-template-rows: auto 1fr;
                justify-items: start;
                margin: 4rem auto;
                max-width: 1280px;
            }

            .shows {
                grid-row: span 2;
            }

            .live-mas-button {
                align-self: start;
                justify-self: unset;
            }
        }

        .guestlist {
            background-image: url('/wp-content/uploads/2025/12/live_mas-fire-wide.jpg');
        }
    }
}
