/* Torneos Cuba · menú inferior móvil */
.tcmm-wrap {
    display: none;
}

@media (max-width: 768px) {
    :root {
        --tcmm-height: 68px;
    }

    body {
        padding-bottom: calc(var(--tcmm-height) + env(safe-area-inset-bottom, 0px));
    }

    .tcmm-wrap {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 99980;
        min-height: var(--tcmm-height);
        padding: 5px max(8px, env(safe-area-inset-right, 0px)) calc(5px + env(safe-area-inset-bottom, 0px)) max(8px, env(safe-area-inset-left, 0px));
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        align-items: stretch;
        gap: 4px;
        background: rgba(255, 255, 255, 0.96);
        border-top: 1px solid rgba(15, 23, 42, 0.10);
        box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.08);
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        opacity: 1;
        transform: translate3d(0, 0, 0);
        visibility: visible;
        transition: transform 240ms ease, opacity 200ms ease, visibility 0s linear 0s;
        will-change: transform, opacity;
    }

    /* Efecto opcional: ocultar suavemente al bajar y reaparecer al subir. */
    .tcmm-wrap.tcmm-is-scroll-hidden {
        opacity: 0;
        transform: translate3d(0, 110%, 0);
        visibility: hidden;
        pointer-events: none;
        transition: transform 240ms ease, opacity 180ms ease, visibility 0s linear 240ms;
    }

    .tcmm-item,
    .tcmm-item:visited,
    .tcmm-item:hover,
    .tcmm-item:focus,
    .tcmm-item:active {
        min-width: 0;
        min-height: 56px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 3px;
        padding: 4px 6px;
        border-radius: 11px;
        color: #374151;
        background: transparent;
        text-decoration: none;
        box-shadow: none;
        outline: none;
        -webkit-tap-highlight-color: transparent;
    }

    .tcmm-item:active {
        transform: scale(.98);
    }

    .tcmm-item.is-active {
        color: #111827;
        background: rgba(15, 23, 42, 0.065);
    }

    .tcmm-icon {
        width: var(--tcmm-icon-size, 23px);
        height: var(--tcmm-icon-size, 23px);
        display: grid;
        place-items: center;
        line-height: 1;
    }

    .tcmm-icon svg {
        width: var(--tcmm-icon-size, 23px);
        height: var(--tcmm-icon-size, 23px);
        display: block;
        fill: currentColor;
    }

    .tcmm-label {
        display: block;
        max-width: 100%;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: var(--tcmm-font-size, 13px);
        line-height: 1.15;
        font-weight: 700;
        letter-spacing: 0;
    }

    .tcmm-wrap.tcmm-no-icons .tcmm-icon {
        display: none;
    }

    .tcmm-wrap.tcmm-no-icons .tcmm-item {
        gap: 0;
    }

    /* Si una página de partida añade esta clase al body, el menú se oculta. */
    body.tcmm-hide-mobile-nav .tcmm-wrap {
        display: none !important;
    }

    body.tcmm-hide-mobile-nav {
        padding-bottom: 0 !important;
    }
}

@media (max-width: 768px) and (prefers-reduced-motion: reduce) {
    .tcmm-wrap,
    .tcmm-wrap.tcmm-is-scroll-hidden {
        transition: none;
    }
}
