@import url("https://use.typekit.net/txe6knc.css");

:root {
    --primary-color: #000;
    --secondary-color: #fff;

    --link-color: #fff;
    --link-hover-color: #fff;

    --link-color: #222;
    --link-hover-color: #000;

    --headings-color: #fff;
}

* {
    box-sizing: border-box;
}

body {
    font-family: "Unitext", sans-serif;
    background-image: url("img/bg.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    margin: 0;
    font-size: 14px;
}

@media screen and (max-width: 768px) {
    html {
        height: 100%;
        overflow: hidden; /* Prevent scrolling on the html element */
    }
    body {
        height: 100%;
        overflow-y: auto; /* Enable scrolling on the body */
        -webkit-overflow-scrolling: touch; /* Smooth scrolling for iOS */
        background-attachment: fixed;
        position: fixed; /* Fix the background */
        width: 100%;
    }
    #content-wrapper { /* Add this wrapper around your main content */
        position: relative;
        z-index: 1;
    }
}

:where(h1, h2, h3, h4, h5, h6) {
    color: var(--headings-color);
    line-height: 1;
}

img {
    max-width: 100%;
}

a {
    color: var(--link-color);
    text-decoration: none;
    &:hover {
        color: var(--link-hover-color);
        text-decoration: underline;
    }
}

blockquote {
    font-style: italic;
    margin-block: 1rem;
    margin-inline: 0;
    padding: 1rem;
    background-color: #ffffff50;
    line-height: 1.2;

    display: flex;
    gap: 1rem;

    &::before {
        content: '"';
        display: block;
        transform: translateY(1rem);
        font-size: 2.5rem;
        line-height: 0.5;
        color: #00000090;
        font-family: "west-end-decorate-shadow", sans-serif;
    }

    & p {
        margin-block: 0;
    }
}

header {

    width: 100%;

    & .logo-ch {
        width: 120px;
        display: block;
        margin-top: 3rem;
        margin-inline: auto;
        filter: drop-shadow(-2px 2px 2px rgba(0, 0, 0, 0.2));
        & path {
            fill: #fff;
        }
    }

    & #main-menu {
        & ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;
            justify-content: space-between;
            width: 100%;

            & a {
                --link-color: #333;
                display: block;
                text-decoration: none;
                font-size: 1.4rem;
                font-weight: bold;
            }
        }

        & .socials {
            
            display: flex;
            flex-direction: column;
            gap: 1rem;
            justify-content: flex-start;
            margin-top: 1.3rem;

            & li {
                & a {
                    & svg {
                        width: 24px;
                        height: 24px;
                        fill: #fff;
                    }
                }
            }
        }
    }
    
}

@media (max-width: 768px) {

    #page-homepage {
        & .logo-ch {
            width: 230px;
        }
    }
    header {

        & .logo-ch {
            margin-top: 1rem;
        }
        
        & .menu-toggle {
            position: fixed;
            z-index: 1000;
            top: 1rem;
            right: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 1rem;
            margin-inline: auto;
            background-color: #ffffff80;
            padding: .4rem;
            border-radius: 50%;
            
            & svg {
                width: 24px;
                height: 24px;
                fill: #777;
            }
        }

        & .menu-close {
            position: fixed;
            z-index: 100;
            top: 0;
            right: 11px;
            display: block;
            font-size: 2rem;
            & svg {
                width: 24px;
                height: 24px;
                fill: #777;
            }
        }

        & #main-menu {

            padding-top: 2rem;
    
            position: fixed;
            inset: 1.8rem 1.7rem 5rem;
            /* background-color: #ffffff95; */
            background: rgb(255,255,255);
            background: radial-gradient(circle, rgb(255 255 255 / 40%) 0%, rgb(186 222 233 / 50%) 100%);
            backdrop-filter: blur(5px);
            border-radius: 1rem;
            z-index: 1100;
            transform: translateY(-100vh);
            opacity: 0;
            transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
            border: 1px solid rgba(255, 255, 255, 0.29);
    
            &.active {
                transform: translateY(0);
                opacity: 1;
            }

            & ul {
                padding: 1rem;
                flex-direction: column;
                align-items: center;
                gap: 1rem;
            }

            & .socials {
                flex-direction: row;
                justify-content: space-around;
                & svg path {
                    fill: #222;
                }
            }
        }
    }
}

main {
    padding: 2rem;
    flex: 1;
}

@media (min-width: 768px) {
    header {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: flex-start;
        width: 240px;
        position: fixed;
        top: 2rem;
        left: 0;
        z-index: 100;

        & .logo-ch {
            margin-inline: 0;
            width: 200px;
            margin-top: 0;
        }

        & .menu-toggle,
        & .menu-close {
            display: none;
        }
        
        & #main-menu {
            position: static;
            transform: none;
            opacity: 1;
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            margin-left: 70px;
            font-size: 1.1rem;
            background-color: transparent;
            backdrop-filter: none;

            & ul {
                flex-direction: column;
            }
        }
    
    }

    main {
        margin-top: 150px;
        margin-left: 200px;
        max-width: 800px;
    }
}

footer {
    & .copyright {
        font-size: 0.8rem;
        color: #aaa;
        margin-left: 1rem;
    }
}

.card {
    --card-bg: #ffffff99;
    --headings-color: #415150;
    background-color: var(--card-bg);
    padding: 2rem;
    border-radius: 6px;
    /* backdrop-filter: blur(5px); */
    margin-bottom: 2rem;
    box-shadow: -2px 1px 4px rgba(0, 0, 0, 0.3);

    & .card-header {
        margin-bottom: 2rem;
    }

    & h1 {
        margin-block: 0;
    }

    & > :first-child {
        margin-top: 0;
    }
}

.platforms-links {

    position: relative;
    top: 1rem;
    padding-inline: 1rem;

    & ul {
        list-style: none;
        padding: 0;
        margin: 0 auto;
        display: flex;
        justify-content: space-between;
        gap: 2rem;
    }

    & li {
        height: 24px;
        & img {
            height: 100%;
        }
    }
    
}

@media (max-width: 768px) {

    body {
        padding-bottom: 200px;
    }
    .platforms-links {
        position: fixed;
        z-index: 1000;
        bottom: 0;
        top: auto;
        width: 100vw;
        padding: 1rem 2rem;
        background: #fff;
        box-shadow: -2px -2px 4px rgba(0, 0, 0, 0.3);
    }
}

@media (min-width: 768px) {
    .platforms-links {
        position: absolute;
        top: 1rem;
        left: auto;
        right: 2rem;

        & ul {
            width: auto;
        }
    }
}

.actu {
    & .actu-header {
        display: flex;
        gap: 2rem;
    }

    & .actu-cover {
        width: 200px;
        & img {
            width: 100%;
            height: auto;
            box-shadow: -2px 1px 4px rgba(0, 0, 0, 0.3);
        }
    }

    & .actu-content {
        flex: 1;
    }

    & .actu-title {
        color: #415150;
        font-size: 1.4rem;
        & small {
            font-size: 1.5rem;
        }
    }
}

.btn {
    --link-color: #fff;
    --link-hover-color: #fff;
    --btn-bg: #415150;
    --btn-hover-bg: #577776;
    --btn-color: #fff;
    --btn-hover-color: #fff;
    padding: .2rem .6rem;
    border-radius: 4px;
    background-color: var(--btn-bg);
    transition: background-color 0.3s ease-in-out;
    color: var(--btn-color);
    text-decoration: none;
    &:hover {
        background-color: var(--btn-hover-bg);
        color: var(--btn-hover-color);
        text-decoration: none;
    }
}

@media (max-width: 768px) {

    .card {
        /* --card-bg: #ffffff50; */
    }

    .actu {
        & .actu-header {
            flex-direction: column;
            gap: 1rem;
        }
        & .actu-cover {
            width: 100%;
        }
    }
}

.album-title {
    font-size: clamp(2rem, 10vw, 4rem);
    text-transform: uppercase;
    margin: 0;
    font-family: "Playfair Display", serif;
    font-weight: 600;
    line-height: 1;
    color: #415150;
}

.page-album {
    & .platforms-links {
        position: static;
        margin-block: 2rem;

        & li {
            height: 36px;
        }
    }

    .duration {
        font-size: .8rem;
        color: #666;
    }
}

@media (max-width: 768px) {
    .page-album {
        & .platforms-links {
            display: none;
        }
    }
}

.actu {
    padding: 1rem;
    margin-bottom: 2rem;
    cursor: pointer;
    transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;

    &:hover {
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    }

    & .actu-title {
        & .actu-date {
            font-size: .75rem;
            line-height: 1;
        }
        & h3 {
            line-height: 1;
            margin: 0 0 .2rem;
        }
    }

    & .btn {
        margin-top: .5rem;
    }
}

.homepage {
    & .actu {
        margin-top: 0.3rem;
        display: inline-block;
    }
}

.song {
    & h2 {
        margin: 0;
    }
}

.song-page {
    & .actu-text {
        font-style: italic;
        margin-bottom: 2rem;
    }
}

.card-song-lyrics {
    /* --card-bg: #ffffff70; */
}

.song-title {
    margin-bottom: 0;
}

.song-author {
    font-size: .8rem;
    color: #666;
    font-style: normal;

    &::before {
        content: "Paroles et musique : ";
    }
}

.card-bio {
    display: flex;
    flex-direction: row;
    gap: 2rem;

    & .actu-cover {
        flex: 1;
    }
    & .actu-content {
        flex: 2;
    }
}

.kit-item {
    display: flex;
    gap: 1rem;
    margin-bottom: 3rem;
    & h2, & h3 {
        margin-block: 0;
    }

    & ul {
        margin-block: .4rem;
        padding-left: 1rem;
    }

    & a {
        --link-color: #333;
        --link-hover-color: #444;
        /* text-decoration: underline; */
    }

    & .kit-item-cover {
        width: 100px;
        & img {
            width: 100%;
            height: auto;
        }
    }
}

@media (max-width: 768px) {
    .kit-item {
        & .kit-item-cover {
            display: none;
        }
    }
}

#page-contact main .socials {
    display: flex;
    flex-direction: row;
    list-style: none;
    margin: 1rem 0;
    padding: 0;
    gap: 1rem;

    & > li {
        & svg {
            width: 24px;
            height: 24px;
            & path {
                fill: #415150;
            }
        }
    }
}