@import url(web.css);
@import url(playlist.css);
@import url(sound.css);


html,
body,
* {
    cursor: none !important;
    max-width: 100vw;
}

a,
button,
input,
textarea,
select,
label {
    cursor: none !important;
}

body {
    background-image: url("https://agenzia.studio42-media.com/wp-content/uploads/2026/03/background-test.png");
    background-size: cover;
    background-repeat: no-repeat;
    padding: 0;
    margin: 0;
    overflow-x: hidden;
    max-width: 100vw;
    overflow-x: hidden;

}

.play-button {
    width: 5vw;
    position: absolute;
    top: 6%;
    right: 15px;
    cursor: pointer;
    transition: transform 0.1s ease, filter 0.2s ease;
    cursor: none !important;
}

.link-home {
    width: 7rem;
    position: fixed;
    top: 6%;
    left: 15px;
}

.link-home img {
    width: 6rem;
}

/* effet pression */
.play-button:active {
    transform: scale(0.92);
    filter: brightness(0.8);
    cursor: none !important;
}

.fake-cursor {
    position: fixed;
    left: 0;
    top: 0;
    width: 70px;
    height: 70px;
    pointer-events: none;
    /* ne bloque pas les clics */
    z-index: 999999;
    transform: translate(-2px, -2px);
    /* ajuste le "hotspot" */
    will-change: transform;
}

.banner-fp {
    background-color: #f4ebe9;
    padding: 1rem 0;
    margin: 0;
    transform: skewY(-3.2deg);
    font-size: 3rem;
    white-space: nowrap;
    position: absolute;
    top: 33.2%;
    max-width: 100vw;
    overflow-x: hidden;
}

/* .text-banner-fp {
    background-color: #f4ebe9;
    padding: 1rem 0;
    margin: 0;
    transform: skewY(1.2deg);
    font-size: 3rem;
    white-space: nowrap;
    position: absolute;
    bottom: 1.2%;
    max-width: 100vw;
    overflow-x: hidden;
    z-index: -1;
}

.text-banner-fp .track {
    animation: scrollText2 50s linear infinite;
    animation-delay: 0s;
} */

.track {
    display: inline-block;
    animation: scrollText 50s linear infinite;
    animation-delay: 0s;
    font-family: "cc-spaghetti-western-sans", sans-serif;
    font-weight: 900;
    font-style: bold;
    transform: translateX(45%);
}

@keyframes scrollText {
    from {
        transform: translateX(45%);
    }

    to {
        transform: translateX(-100%);
    }
}

/* @keyframes scrollText2 {
    from {
        transform: translateX(-100%);
    }

    to {
        transform: translateX(45%);
    }
} */


/* cursor custom */


.title {
    font-size: clamp(48px, 8vw, 110px);
    font-weight: 900;
    letter-spacing: 0.01em;
    font-family: "zeplin-vf", sans-serif;
    font-variation-settings: "CONX" 1000, "CONY" 1000;
    font-size: 17rem;
    margin: 0;
    color: #16be97;
    text-shadow: -9px 9px #eb2e4e;
    text-align: center;
}

.frase {
    text-align: center;
    font-family: "cc-spaghetti-western-sans", sans-serif;
    font-weight: 900;
    font-style: bold;
    color: white;
    margin: 0;
    transform: translateY(-30px);
    z-index: 20;
    font-size: 2.3rem;

}

/* chaque lettre */
.title .char {
    display: inline-block;
    position: relative;
    transform-origin: 50% 80%;
    will-change: transform;
    cursor: default;
    line-height: 1;
}

/* Animation "cartoon" au hover */
.title .char:hover {
    animation: bounceToon 520ms cubic-bezier(.2, .8, .2, 1), tilt 520ms ease;
}

/* Petite "bouche" (un arc) qui apparaît au hover */


.title .char:hover::after {
    opacity: 1;
    animation: mouthPop 520ms cubic-bezier(.2, .8, .2, 1);
}

/* Rebonds squash/stretch */
@keyframes bounceToon {
    0% {
        transform: translateY(0) scaleX(1) scaleY(1);
    }

    20% {
        transform: translateY(0) scaleX(1.18) scaleY(0.82);
    }

    /* squash */
    45% {
        transform: translateY(-0.22em) scaleX(0.88) scaleY(1.18);
    }

    /* stretch + up */
    65% {
        transform: translateY(0) scaleX(1.10) scaleY(0.90);
    }

    /* re-squash */
    82% {
        transform: translateY(-0.08em) scaleX(0.96) scaleY(1.06);
    }

    /* petit rebond */
    100% {
        transform: translateY(0) scaleX(1) scaleY(1);
    }
}

@keyframes mouthPop {
    0% {
        transform: translateX(-50%) scale(0);
        opacity: 0;
    }

    25% {
        transform: translateX(-50%) scale(1.2);
        opacity: 1;
    }

    55% {
        transform: translateX(-50%) scale(0.95);
        opacity: 1;
    }

    100% {
        transform: translateX(-50%) scale(1);
        opacity: 1;
    }
}

@keyframes tilt {
    0% {
        rotate: 0deg;
    }

    35% {
        rotate: -6deg;
    }

    70% {
        rotate: 4deg;
    }

    100% {
        rotate: 0deg;
    }
}

.container-infoBulle {
    margin-top: 10%;
    padding: 1rem 3rem;
    box-sizing: border-box;

    display: flex;
    /* aligne en ligne */
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    /* espace entre les bulles */
}

.infoBulle {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.infoBulle img {
    width: 18vw;
    display: block;
    /* IMPORTANT */
}

.infoBulle:hover img {
    filter: drop-shadow(0 0 20px rgb(255, 255, 255));

}

.infoBulle h3 {
    position: absolute;
    color: white;
    /* exemple */
    text-align: center;
    word-break: break-word;
    width: 70%;
    letter-spacing: 0.03em;
    font-family: "zeplin-vf", sans-serif;
    font-variation-settings: "CONX" 1000, "CONY" 1000;
    font-size: 2.7rem;
    transition: text-shadow 0.3s ease, transform 0.3s ease;
    text-shadow: -2px 2px #16be97;

}

.infoBulle:hover h3 {
    text-shadow: -8px 8px #16be97;
}

.infoBulle[data-index="3"] {
    transform: translateY(-70px);
}

.infoBulle[data-index="1"] {
    transform: translateY(-70px);
}

.infoBulle[data-index="2"] {
    transform: translateY(70px);
}
@media (max-width: 667px) {
    .title {
        font-size: 6rem;
        letter-spacing: 0.03em;
        text-shadow: -7px 7px #eb2e4e;
        width: 32%;
        line-height: 0;
    }
}