/* Mobile category list only; desktop catalog and purchase dialog keep their existing styles. */
.neon-category-scroll-hint,
.neon-category-scroll-rail { display: none; }
@media (max-width: 700px) {
    .neon-category-body { position: relative; padding: 3px 14px 13px; }
    .neon-category-list {
        display: block;
        max-height: min(290px, 44vh);
        max-height: min(290px, 44svh);
        overflow-y: auto;
        overflow-x: hidden;
        scrollbar-color: #70b8eb transparent;
        -webkit-overflow-scrolling: touch;
        touch-action: pan-y;
    }
    .neon-category-body.has-category-overflow .neon-category-list { padding-right: 30px; }
    .neon-category-list .neon-category-item {
        width: 100%;
        min-height: 46px;
        padding: 9px 8px 9px calc(8px + var(--category-depth, 0) * 10px);
        gap: 9px;
        border-radius: 8px;
        font-size: 14px;
        font-weight: 500;
    }
    .neon-category-list .neon-category-item.is-active { font-weight: 700; }
    .neon-category-list .neon-item-icon,
    .neon-category-list .neon-item-icon img { width: 23px; height: 23px; flex-basis: 23px; }
    .neon-category-list .neon-category-count {
        min-width: 28px;
        padding: 0 7px;
        border: 1px solid #a6e6f5;
        border-radius: 999px;
        background: #ddf7ff;
        color: #2995b3;
        font-size: 12px;
        font-weight: 600;
        line-height: 26px;
        box-shadow: inset 0 1px 0 rgba(255,255,255,.7);
    }
    .neon-category-list .neon-category-item.is-active .neon-category-count { box-shadow: 0 0 0 3px rgba(255,255,255,.85); }
    .neon-category-body.is-category-enhanced .neon-category-list { scrollbar-width: none; }
    .neon-category-body.is-category-enhanced .neon-category-list::-webkit-scrollbar { display: none; }
    .neon-category-scroll-hint {
        appearance: none;
        position: absolute;
        top: 50%;
        right: 12px;
        z-index: 1;
        display: flex;
        align-items: center;
        gap: 5px;
        padding: 7px 4px;
        border: 1px solid rgba(255,255,255,.8);
        border-radius: 12px;
        background: rgba(255,255,255,.9);
        color: #448fd8;
        box-shadow: 0 2px 8px rgba(64,135,197,.08);
        font: inherit;
        font-size: 11px;
        font-weight: 600;
        line-height: 1.2;
        writing-mode: vertical-rl;
        transform: translateY(-50%);
        cursor: pointer;
    }
    .neon-category-scroll-hint:focus-visible { outline: 2px solid #1682ed; outline-offset: 2px; }
    .neon-category-scroll-arrow { display: inline-block; writing-mode: horizontal-tb; text-orientation: upright; font-family: Arial,sans-serif; font-size: 16px; line-height: 1; }
    .neon-category-scroll-rail {
        position: absolute;
        top: 7px;
        right: 7px;
        bottom: 17px;
        display: block;
        width: 4px;
        border-radius: 999px;
        background: rgba(126,191,237,.22);
        pointer-events: none;
    }
    .neon-category-scroll-thumb {
        display: block;
        width: 100%;
        height: var(--category-thumb-height, 30%);
        border-radius: inherit;
        background: #73b9ed;
        transform: translateY(var(--category-thumb-offset, 0px));
    }
    .neon-category-scroll-hint[hidden], .neon-category-scroll-rail[hidden] { display: none; }
}
