/* Mobile-only primary navigation. Loaded last to isolate it from legacy shop rules. */
.ts-mobile-bottom-nav {
    display: none;
}

@media (max-width: 767px) {
    :root {
        --ts-mobile-nav-height: 72px;
        --ts-mobile-nav-primary: #0d6efd;
        --ts-mobile-nav-primary-light: #258cff;
        --ts-mobile-nav-text: #1f2937;
        --ts-mobile-nav-inactive: #6b7280;
        --ts-mobile-nav-border: #e5e7eb;
    }

    body {
        padding-bottom: calc(var(--ts-mobile-nav-height) + 24px + env(safe-area-inset-bottom)) !important;
    }

    .ts-mobile-bottom-nav {
        position: fixed !important;
        inset: auto 0 0 !important;
        z-index: 10000 !important;
        box-sizing: border-box !important;
        width: 100% !important;
        height: calc(var(--ts-mobile-nav-height) + env(safe-area-inset-bottom)) !important;
        display: grid !important;
        grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
        align-items: stretch !important;
        padding: 0 max(8px, env(safe-area-inset-left)) env(safe-area-inset-bottom) max(8px, env(safe-area-inset-right)) !important;
        border: 0 !important;
        border-top: 0 !important;
        border-radius: 18px 18px 0 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        font-family: "Segoe UI", Tahoma, sans-serif !important;
        isolation: isolate;
    }

    .ts-mobile-bottom-nav::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: -1 !important;
        border-radius: 18px 18px 0 0 !important;
        background: #fff !important;
        box-shadow: 0 -6px 22px rgba(31, 41, 55, .11) !important;
        pointer-events: none !important;
        -webkit-mask-image: radial-gradient(circle 38px at 50% 0, transparent 0 35px, #000 36px);
        mask-image: radial-gradient(circle 38px at 50% 0, transparent 0 35px, #000 36px);
    }

    .ts-mobile-bottom-nav::after {
        content: "" !important;
        position: absolute !important;
        top: -1px !important;
        left: 0 !important;
        right: 0 !important;
        z-index: -1 !important;
        height: 1px !important;
        background:
            linear-gradient(to right,
                var(--ts-mobile-nav-border) 0,
                var(--ts-mobile-nav-border) calc(50% - 42px),
                transparent calc(50% - 42px),
                transparent calc(50% + 42px),
                var(--ts-mobile-nav-border) calc(50% + 42px),
                var(--ts-mobile-nav-border) 100%) !important;
        pointer-events: none !important;
    }

    .ts-mobile-bottom-nav__item {
        position: relative !important;
        box-sizing: border-box !important;
        min-width: 0 !important;
        width: 100% !important;
        min-height: 72px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        margin: 0 !important;
        padding: 7px 2px 5px !important;
        border: 0 !important;
        border-radius: 12px !important;
        background: transparent !important;
        color: var(--ts-mobile-nav-inactive) !important;
        font: inherit !important;
        line-height: 1 !important;
        text-align: center !important;
        text-decoration: none !important;
        box-shadow: none !important;
        appearance: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        transition: color .18s ease, transform .18s ease, background-color .18s ease !important;
    }

    .ts-mobile-bottom-nav__item:is(:hover, :focus-visible, .is-active) {
        color: var(--ts-mobile-nav-primary) !important;
        text-decoration: none !important;
    }

    .ts-mobile-bottom-nav__item:focus-visible {
        outline: 2px solid rgba(13, 110, 253, .32) !important;
        outline-offset: -4px !important;
    }

    .ts-mobile-bottom-nav__item:active {
        background: rgba(13, 110, 253, .08) !important;
        transform: scale(.95) !important;
    }

    .ts-mobile-bottom-nav__icon {
        position: static !important;
        box-sizing: border-box !important;
        width: 26px !important;
        height: 26px !important;
        display: grid !important;
        flex: 0 0 26px !important;
        place-items: center !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        border-radius: 0 !important;
        background: transparent !important;
        color: currentColor !important;
        box-shadow: none !important;
        transform: none !important;
    }

    .ts-mobile-bottom-nav__icon svg {
        width: 24px !important;
        height: 24px !important;
        display: block !important;
        fill: none !important;
        stroke: currentColor !important;
        stroke-width: 1.9 !important;
        stroke-linecap: round !important;
        stroke-linejoin: round !important;
    }

    .ts-mobile-bottom-nav__label {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 68px !important;
        display: block !important;
        flex: 0 0 auto !important;
        overflow: hidden !important;
        margin: 0 !important;
        padding: 0 !important;
        color: currentColor !important;
        font-size: 12px !important;
        font-weight: 500 !important;
        line-height: 14px !important;
        letter-spacing: 0 !important;
        text-align: center !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
    }

    .ts-mobile-bottom-nav__item.is-active .ts-mobile-bottom-nav__label {
        font-weight: 600 !important;
    }

    .ts-mobile-bottom-nav__item.is-featured {
        justify-content: center !important;
        gap: 0 !important;
        padding-top: 40px !important;
        padding-bottom: 5px !important;
        color: var(--ts-mobile-nav-text) !important;
        transform: none !important;
    }

    .ts-mobile-bottom-nav__item.is-featured .ts-mobile-bottom-nav__icon {
        position: absolute !important;
        top: -20px !important;
        left: 50% !important;
        width: 56px !important;
        height: 56px !important;
        display: grid !important;
        flex-basis: 56px !important;
        place-items: center !important;
        border: 3px solid #fff !important;
        border-radius: 50% !important;
        background: linear-gradient(180deg, var(--ts-mobile-nav-primary-light), var(--ts-mobile-nav-primary)) !important;
        color: #fff !important;
        box-shadow: 0 7px 18px rgba(13, 110, 253, .32) !important;
        transform: translateX(-50%) !important;
    }

    .ts-mobile-bottom-nav__item.is-featured .ts-mobile-bottom-nav__icon svg {
        width: 25px !important;
        height: 25px !important;
        fill: currentColor !important;
        stroke: none !important;
        transform: translateX(1px) !important;
    }

    .ts-mobile-bottom-nav__item.is-featured .ts-mobile-bottom-nav__label {
        color: var(--ts-mobile-nav-text) !important;
        font-weight: 500 !important;
    }

    .ts-mobile-bottom-nav__item.is-featured.is-active .ts-mobile-bottom-nav__label {
        color: var(--ts-mobile-nav-primary) !important;
        font-weight: 600 !important;
    }

    .ts-mobile-bottom-nav__item.is-featured:active {
        background: transparent !important;
        transform: scale(.95) !important;
    }

    .contact-box-bottom,
    .contact-box-bottom.animate__backInRight {
        bottom: calc(96px + env(safe-area-inset-bottom)) !important;
    }

    .ts-scroll-top {
        bottom: calc(158px + env(safe-area-inset-bottom)) !important;
    }
}

@media (max-width: 340px) {
    .ts-mobile-bottom-nav {
        padding-right: max(4px, env(safe-area-inset-right)) !important;
        padding-left: max(4px, env(safe-area-inset-left)) !important;
    }

    .ts-mobile-bottom-nav__label {
        max-width: 60px !important;
        font-size: 11px !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .ts-mobile-bottom-nav__item {
        transition: none !important;
    }
}
