/* =========================================================
   LACASE — VERSION TÉLÉPHONE
========================================================= */

.mobile-menu-toggle {
    display: none;
}

@media (max-width: 760px) {
    html,
    body {
        min-height: 100%;
        min-height: 100dvh;
    }

    /* En-tête et menu plein écran */

    .site-header {
        z-index: 1000;
        padding: 20px 18px;
        align-items: center;
    }

    .logo {
        position: relative;
        z-index: 1002;
        font-size: 12px;
        letter-spacing: 0.34em;
    }

    .mobile-menu-toggle {
        position: relative;
        z-index: 1002;
        pointer-events: auto;
        display: grid;
        place-items: center;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, 0.18);
        border-radius: 50%;
        background: rgba(0, 0, 0, 0.34);
        color: #fff;
        backdrop-filter: blur(14px);
    }

    .mobile-menu-toggle span,
    .mobile-menu-toggle::before,
    .mobile-menu-toggle::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 1px;
        background: currentColor;
        transition: transform 0.3s ease, opacity 0.3s ease;
    }

    .mobile-menu-toggle::before {
        transform: translateY(-5px);
    }

    .mobile-menu-toggle::after {
        transform: translateY(5px);
    }

    .mobile-menu-toggle.is-open span {
        opacity: 0;
    }

    .mobile-menu-toggle.is-open::before {
        transform: rotate(45deg);
    }

    .mobile-menu-toggle.is-open::after {
        transform: rotate(-45deg);
    }

    .navigation {
        position: fixed;
        inset: 0;
        z-index: 1001;
        display: flex !important;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 30px;
        padding: 90px 24px 50px;
        background:
            radial-gradient(
                circle at 72% 30%,
                rgba(255, 59, 47, 0.16),
                transparent 34%
            ),
            rgba(4, 4, 4, 0.98);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transform: translate3d(0, -24px, 0);
        transition:
            opacity 0.35s ease,
            visibility 0.35s ease,
            transform 0.35s ease;
    }

    .navigation.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translate3d(0, 0, 0);
    }

    .navigation a {
        font-size: 17px;
        letter-spacing: 0.22em;
    }

    body.mobile-menu-open {
        overflow: hidden !important;
    }

    /* Lecteurs : la totalité de l'image reste visible sur téléphone */

    .player-container {
        inset: auto 0 auto 0;
        top: 50%;
        width: 100vw;
        height: 56.25vw;
        overflow: hidden;
        transform: translateY(-50%);
        background:
            radial-gradient(
                circle at 50% 48%,
                rgba(255, 59, 47, 0.13),
                #000 68%
            );
    }

    #player,
    #youtube-player {
        /*
           Léger zoom : les bords de l'iframe YouTube (titre, logo
           et commandes) sortent de la fenêtre visible.
        */
        width: 116vw;
        height: 65.25vw;
        min-width: 0;
        min-height: 0;
    }

    #clip-local-player {
        inset: 0;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
        transform: none;
        object-fit: cover;
    }

    #player,
    #youtube-player {
        transition-duration: 0.5s;
    }

    body.local-video-active .player-container {
        inset: 0;
        width: 100vw;
        height: 100dvh;
        transform: none;
    }

    #local-player {
        width: 100vw;
        height: 100dvh;
        min-width: 0;
        min-height: 0;
        object-fit: contain;
    }

    .player-container::after {
        background:
            linear-gradient(
                to bottom,
                rgba(0, 0, 0, 0.44) 0%,
                transparent 25%,
                transparent 66%,
                rgba(0, 0, 0, 0.68) 100%
            );
    }

    /* Informations et commandes */

    .clip-overlay {
        left: 18px;
        right: 82px;
        bottom: 82px;
    }

    .clip-number {
        margin-bottom: 8px;
        font-size: 10px;
    }

    #clip-title {
        max-width: 100%;
        font-size: clamp(28px, 9vw, 42px);
        line-height: 0.96;
    }

    #clip-song {
        margin-top: 8px;
        font-size: 10px;
        line-height: 1.4;
        letter-spacing: 0.16em;
    }

    .controls {
        right: 14px;
        bottom: 16px;
        gap: 8px;
    }

    .controls button {
        width: 42px;
        height: 42px;
        font-size: 14px;
        background: rgba(0, 0, 0, 0.55);
    }

    .video-arrow {
        top: 50%;
        width: 40px;
        height: 68px;
        color: rgba(255, 255, 255, 0.72);
    }

    .video-arrow-left {
        left: 0;
    }

    .video-arrow-right {
        right: 0;
    }

    /* Pages HOME, COMMERCIALS et ABOUT */

    .page-content {
        min-height: 100dvh;
        padding: 104px 20px 30px;
    }

    .home-page .page-content {
        min-height: 100dvh;
    }

    .page-eyebrow {
        margin-bottom: 14px;
        font-size: 9px;
        line-height: 1.6;
    }

    .page-title {
        max-width: 100%;
        font-size: clamp(52px, 20vw, 88px);
        line-height: 0.86;
    }

    .page-description {
        max-width: 92%;
        margin-top: 22px;
        font-size: 14px;
        line-height: 1.55;
    }

    .page-link {
        margin-top: 26px;
        font-size: 10px;
    }

    .projects-intro {
        padding-top: 24px;
        margin-bottom: 34px;
    }

    .project-grid {
        gap: 14px;
    }

    .project-card {
        min-height: 280px;
    }

    .about-layout {
        gap: 34px;
    }

    .about-information {
        padding-bottom: 24px;
    }

    /* Sélecteur tactile */

    .video-picker {
        padding-top: 78px;
    }

    .video-picker__item {
        grid-template-columns: 104px minmax(0, 1fr);
        gap: 12px;
    }

    .video-picker__thumb {
        width: 104px;
    }
}
