:root {
    --grain: radial-gradient(circle at 1px 1px, rgba(15, 23, 42, 0.05) 1px, transparent 0);
    --bg-soft: #f8fafc;
    --bg-alt: #eef2f7;
    --ink: #0f172a;
}

html {
    scroll-behavior: smooth;
}

.store-body {
    font-family: "Manrope", "Segoe UI", sans-serif;
    color: var(--ink);
    background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.store-bg {
    background-image: var(--grain);
    background-size: 14px 14px;
}

.store-title {
    font-family: "Sora", "Segoe UI", sans-serif;
    letter-spacing: -0.02em;
}

.store-kicker {
    font-family: "Sora", "Segoe UI", sans-serif;
    font-size: 0.72rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 700;
    color: #0f766e;
}

.store-feature {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    border: 1px solid #e2e8f0;
    background: #ffffff;
    border-radius: 0.75rem;
    padding: 0.72rem 0.78rem;
    font-size: 0.92rem;
    color: #334155;
}

.store-dot {
    width: 0.58rem;
    height: 0.58rem;
    border-radius: 999px;
    background: #14b8a6;
    box-shadow: 0 0 0 4px rgba(20, 184, 166, 0.12);
}

.store-card {
    animation: card-in 340ms ease-out both;
}

.category-btn-active {
    background: #0f172a;
    border-color: #0f172a;
    color: #ffffff;
}

@media (max-width: 640px) {
    .store-title {
        letter-spacing: -0.01em;
    }
}

@keyframes card-in {
    from {
        opacity: 0;
        transform: translateY(8px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}