/* ─── Rewards Page ────────────────────────────────────────── */
.jj-rewards-hero {
    text-align: center;
    padding: var(--space-3xl) 0;
    background: linear-gradient(135deg, var(--jj-rose-lighter) 0%, var(--jj-ivory) 100%);
}

.jj-rewards-hero__title {
    font-size: var(--text-3xl);
    margin-bottom: var(--space-md);
}

.jj-rewards-hero__desc {
    color: var(--jj-charcoal-light);
    max-width: 500px;
    margin: 0 auto;
    font-size: var(--text-lg);
}

.jj-rewards-earn {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: var(--space-xl);
}

.jj-rewards-earn__card {
    background: var(--jj-white);
    padding: var(--space-xl);
    border-radius: var(--radius-lg);
    text-align: center;
    box-shadow: var(--shadow-sm);
    transition: transform var(--duration-base) var(--ease-out),
                box-shadow var(--duration-base) var(--ease-out);
}

.jj-rewards-earn__card:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.jj-rewards-earn__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto var(--space-lg);
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--jj-rose-lighter);
    border-radius: var(--radius-circle);
    color: var(--jj-mauve);
}

.jj-rewards-earn__title {
    font-size: var(--text-lg);
    margin-bottom: var(--space-xs);
}

.jj-rewards-earn__points {
    font-size: var(--text-2xl);
    font-family: var(--font-heading);
    color: var(--jj-gold);
    font-weight: 600;
    margin-bottom: var(--space-xs);
}

.jj-rewards-earn__desc {
    font-size: var(--text-sm);
    color: var(--jj-charcoal-light);
}

.jj-rewards-redeem {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xl);
    text-align: center;
    max-width: 800px;
    margin: 0 auto;
}

.jj-rewards-redeem__step {
    position: relative;
}

.jj-rewards-redeem__number {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--jj-mauve);
    color: var(--jj-white);
    border-radius: var(--radius-circle);
    font-weight: 600;
    margin: 0 auto var(--space-md);
}

.jj-rewards-tiers {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--space-xl);
}

.jj-rewards-tier {
    background: var(--jj-white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
    transition: transform var(--duration-base) var(--ease-out);
}

.jj-rewards-tier:hover {
    transform: translateY(-4px);
}

.jj-rewards-tier__header {
    padding: var(--space-xl);
    text-align: center;
}

.jj-rewards-tier:nth-child(1) .jj-rewards-tier__header {
    background: var(--jj-rose-lighter);
}
.jj-rewards-tier:nth-child(2) .jj-rewards-tier__header {
    background: var(--jj-rose);
}
.jj-rewards-tier:nth-child(3) .jj-rewards-tier__header {
    background: linear-gradient(135deg, var(--jj-gold-light), var(--jj-gold));
    color: var(--jj-white);
}

.jj-rewards-tier__name {
    font-size: var(--text-xl);
    font-family: var(--font-heading);
    margin-bottom: var(--space-xs);
}

.jj-rewards-tier__perks {
    padding: var(--space-xl);
}

.jj-rewards-tier__perks ul {
    list-style: none;
}

.jj-rewards-tier__perks li {
    padding: var(--space-sm) 0;
    font-size: var(--text-sm);
    color: var(--jj-charcoal-light);
    display: flex;
    align-items: center;
    gap: var(--space-sm);
}

.jj-rewards-tier__perks li::before {
    content: '';
    width: 6px;
    height: 6px;
    background: var(--jj-mauve);
    border-radius: 50%;
    flex-shrink: 0;
}

.jj-rewards-cta {
    text-align: center;
    padding: var(--space-3xl) 0;
}

@media (max-width: 1024px) {
    .jj-rewards-earn { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 768px) {
    .jj-rewards-earn,
    .jj-rewards-tiers { grid-template-columns: 1fr; }
    .jj-rewards-redeem { grid-template-columns: 1fr; }
}
