/* ==========================================================================
   Navigation mobile basse — dock hybride, compact à la descente
   ========================================================================== */

.mobile-bottom-nav {
    display: none;
}

@media (max-width: 1023.98px) {
    .mobile-bottom-nav {
        position: fixed;
        z-index: 80;
        right: max(10px, env(safe-area-inset-right, 0px));
        bottom: max(8px, env(safe-area-inset-bottom, 0px));
        left: max(10px, env(safe-area-inset-left, 0px));
        display: block;
        height: 58px;
        pointer-events: none;
        transition: height 260ms cubic-bezier(.22, 1, .36, 1);
    }

    .mobile-bottom-nav__dock {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        width: 100%;
        max-width: 560px;
        height: 100%;
        padding: 5px 6px;
        margin: 0 auto;
        overflow: hidden;
        pointer-events: auto;
        background:
            linear-gradient(180deg, rgba(22, 25, 34, .92), rgba(8, 10, 16, .96));
        border: 1px solid rgba(170, 174, 255, .2);
        border-radius: 19px;
        box-shadow:
            0 16px 38px rgba(0, 0, 0, .36),
            inset 0 1px 0 rgba(255, 255, 255, .08);
        backdrop-filter: blur(18px) saturate(125%);
        -webkit-backdrop-filter: blur(18px) saturate(125%);
        transition:
            max-width 280ms cubic-bezier(.22, 1, .36, 1),
            border-radius 260ms ease,
            background-color 260ms ease,
            box-shadow 260ms ease;
    }

    .mobile-bottom-nav__link {
        position: relative;
        display: flex;
        min-width: 0;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        gap: 2px;
        padding: 3px 2px;
        color: rgba(203, 207, 220, .68);
        border-radius: 13px;
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
        transition:
            color 180ms ease,
            background-color 180ms ease,
            transform 180ms ease;
    }

    .mobile-bottom-nav__link i {
        display: grid;
        width: 22px;
        height: 22px;
        place-items: center;
        font-size: 1.05rem;
        line-height: 1;
        transition: transform 220ms cubic-bezier(.22, 1, .36, 1);
    }

    .mobile-bottom-nav__label {
        max-height: 13px;
        overflow: hidden;
        font-size: .58rem;
        font-weight: 600;
        line-height: 1.15;
        letter-spacing: .01em;
        white-space: nowrap;
        opacity: .88;
        transform: translateY(0);
        transition:
            max-height 220ms ease,
            opacity 160ms ease,
            transform 220ms ease;
    }

    .mobile-bottom-nav__link:hover,
    .mobile-bottom-nav__link:active {
        color: #f4f2ff;
        background: rgba(145, 139, 255, .1);
    }

    .mobile-bottom-nav__link:active {
        transform: scale(.96);
    }

    .mobile-bottom-nav__link:focus-visible {
        color: #fff;
        outline: 2px solid #9894ff;
        outline-offset: -2px;
        background: rgba(145, 139, 255, .12);
    }

    .mobile-bottom-nav__link--quiz {
        color: #ff8a3d;
    }

    .mobile-bottom-nav__link--quiz::before {
        position: absolute;
        top: 2px;
        width: 18px;
        height: 2px;
        content: "";
        background: #ff7a23;
        border-radius: 999px;
        box-shadow: 0 0 12px rgba(255, 122, 35, .5);
    }

    .mobile-bottom-nav__link--quiz:hover,
    .mobile-bottom-nav__link--quiz:active,
    .mobile-bottom-nav__link--quiz:focus-visible {
        color: #ff9b5a;
        background: rgba(255, 122, 35, .09);
    }

    .mobile-bottom-nav.is-compact {
        height: 46px;
    }

    .mobile-bottom-nav.is-compact .mobile-bottom-nav__dock {
        max-width: 318px;
        padding-top: 1px;
        padding-bottom: 1px;
        border-radius: 17px;
        background:
            linear-gradient(180deg, rgba(19, 22, 31, .9), rgba(7, 9, 14, .94));
        box-shadow:
            0 12px 30px rgba(0, 0, 0, .32),
            inset 0 1px 0 rgba(255, 255, 255, .07);
    }

    .mobile-bottom-nav.is-compact .mobile-bottom-nav__link {
        min-height: 42px;
        gap: 0;
    }

    .mobile-bottom-nav.is-compact .mobile-bottom-nav__link i {
        transform: translateY(1px);
    }

    .mobile-bottom-nav.is-compact .mobile-bottom-nav__label {
        max-height: 0;
        opacity: 0;
        transform: translateY(5px);
    }

    .mobile-bottom-nav.is-compact .mobile-bottom-nav__link--quiz::before {
        top: 1px;
    }

    .light .mobile-bottom-nav__dock {
        color: #303444;
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 244, 239, .96));
        border-color: rgba(83, 77, 167, .2);
        box-shadow:
            0 15px 34px rgba(46, 41, 66, .18),
            inset 0 1px 0 rgba(255, 255, 255, .94);
    }

    .light .mobile-bottom-nav__link {
        color: rgba(47, 51, 67, .67);
    }

    .light .mobile-bottom-nav__link:hover,
    .light .mobile-bottom-nav__link:active,
    .light .mobile-bottom-nav__link:focus-visible {
        color: #312d6f;
        background: rgba(91, 82, 190, .08);
    }

    .light .mobile-bottom-nav__link--quiz,
    .light .mobile-bottom-nav__link--quiz:hover,
    .light .mobile-bottom-nav__link--quiz:active,
    .light .mobile-bottom-nav__link--quiz:focus-visible {
        color: #da641b;
    }

    .light .mobile-bottom-nav.is-compact .mobile-bottom-nav__dock {
        background:
            linear-gradient(180deg, rgba(255, 255, 255, .92), rgba(247, 245, 241, .94));
    }

    /* Le bouton WhatsApp reste toujours au-dessus du dock, jamais dessus. */
    .floating-whatsapp {
        right: max(12px, env(safe-area-inset-right, 0px));
        bottom: calc(78px + env(safe-area-inset-bottom, 0px));
        transition:
            bottom 260ms cubic-bezier(.22, 1, .36, 1),
            opacity .2s ease,
            transform .2s ease,
            box-shadow .2s ease;
    }

    body.mobile-nav-compact .floating-whatsapp {
        bottom: calc(62px + env(safe-area-inset-bottom, 0px));
    }
}

@media (max-width: 359px) {
    .mobile-bottom-nav {
        right: max(6px, env(safe-area-inset-right, 0px));
        left: max(6px, env(safe-area-inset-left, 0px));
    }

    .mobile-bottom-nav__dock {
        padding-right: 3px;
        padding-left: 3px;
    }

    .mobile-bottom-nav__label {
        font-size: .54rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .mobile-bottom-nav,
    .mobile-bottom-nav *,
    .floating-whatsapp {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
}
