/* ─────────────────────────────────────────────────────────────────────────────
   Floating pill tab bar — mobile client shell
   ───────────────────────────────────────────────────────────────────────────── */

.m-tabbar__spacer {
    height: var(--m-tabbar-clearance);
    flex-shrink: 0;
}

/* The floating pill */
.m-tabbar__nav {
    position: fixed;
    bottom: calc(14px + env(safe-area-inset-bottom, 0px));
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 32px);
    max-width: 380px;
    height: 64px;
    background: #ffffff;
    border-radius: 22px;
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.12),
        0 2px 8px  rgba(0, 0, 0, 0.06);
    display: flex;
    align-items: stretch;
    padding: 0 8px;
    z-index: 1200;
    /* Subtle inner border for definition on white pages */
    outline: 1px solid rgba(0, 0, 0, 0.05);
}

/* ─── Tab item ──────────────────────────────────────────────────────────────── */

.m-tabbar__item {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-decoration: none;
    color: #b0b0b0;
    padding: 6px 4px 10px;
    position: relative;
    border-radius: 14px;
    -webkit-tap-highlight-color: transparent;
    transition: color 0.2s ease;
}

/* ─── Icon wrapper ──────────────────────────────────────────────────────────── */

.m-tabbar__icon {
    width: 46px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    position: relative;
    transition: background 0.2s ease, transform 0.15s ease;
}

.m-tabbar__icon i {
    font-size: 22px;
    line-height: 1;
    display: block;
    transition: color 0.2s ease;
}

.m-tabbar__icon .asmo-svg-icon {
    width: 22px;
    height: 22px;
    display: block;
    flex-shrink: 0;
    transition: color 0.2s ease;
    shape-rendering: geometricPrecision;
}

/* ─── Label ─────────────────────────────────────────────────────────────────── */

.m-tabbar__label {
    font-size: 9.5px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    letter-spacing: 0.1px;
}

/* ─── Active state ──────────────────────────────────────────────────────────── */

.m-tabbar__item.is-active {
    color: #FF5E00;
}

/* Soft card background behind active icon */
.m-tabbar__item.is-active .m-tabbar__icon {
    background: rgba(255, 94, 0, 0.09);
}

.m-tabbar__item.is-active .m-tabbar__label {
    font-weight: 700;
}

/* Pill indicator below the icon card */
.m-tabbar__item.is-active .m-tabbar__icon::after {
    content: '';
    position: absolute;
    bottom: -5px;
    left: 50%;
    transform: translateX(-50%);
    width: 20px;
    height: 3px;
    background: #FF5E00;
    border-radius: 2px;
    animation: tabPillIn 0.25s ease forwards;
}

@keyframes tabPillIn {
    from { width: 0;   opacity: 0; }
    to   { width: 20px; opacity: 1; }
}

/* ─── FlashSale — always orange icon to stand out ───────────────────────────── */

.m-tabbar__item--flash .m-tabbar__icon i,
.m-tabbar__item--flash .m-tabbar__icon .asmo-svg-icon--flash {
    color: #FF5E00;
}

.m-tabbar__item--flash .m-tabbar__icon .asmo-svg-icon--flash {
    width: 24px;
    height: 24px;
}

.m-tabbar__item--flash.is-active .m-tabbar__icon {
    background: rgba(255, 94, 0, 0.12);
}

/* ─── Press / tap feedback ──────────────────────────────────────────────────── */

.m-tabbar__item:active .m-tabbar__icon {
    background: rgba(0, 0, 0, 0.06);
    transform: scale(0.90);
}

.m-tabbar__item.is-active:active .m-tabbar__icon {
    background: rgba(255, 94, 0, 0.16);
    transform: scale(0.90);
}

/* ─── Responsive: very small screens (≤ 340px) ──────────────────────────────── */

@media (max-width: 340px) {
    .m-tabbar__nav {
        padding: 0 4px;
        border-radius: 18px;
    }
    .m-tabbar__icon {
        width: 38px;
        height: 30px;
    }
    .m-tabbar__icon i,
    .m-tabbar__icon .asmo-svg-icon {
        width: 19px;
        height: 19px;
    }
    .m-tabbar__label {
        font-size: 8.5px;
    }
