/* ── Shop page styles ────────────────────────────────────────────────── */
.shop-hero {
    background: linear-gradient(135deg, #1A535C 0%, #0A3D62 100%);
    padding: 4rem 1.5rem 3rem;
    text-align: center;
}
.shop-hero__title { color: white; font-weight: 800; margin-bottom: 0.5rem; }
.shop-hero__sub   { color: rgba(255,255,255,0.8); max-width: 480px; margin: 0 auto; }

.shop-filter-bar  {
    background: white;
    border-bottom: 1px solid #E8E8E8;
    padding: 0.75rem 0;
    position: sticky; top: 6rem; z-index: 10;
}

.shop-container { padding-top: 2rem; padding-bottom: 4rem; }

.shop-card {
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid #E8E8E8;
    cursor: pointer;
    transition: box-shadow 0.2s, transform 0.15s;
}
.shop-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.1); transform: translateY(-2px); }

.shop-card__img-wrap { position: relative; height: 200px; overflow: hidden; }
.shop-card__img      { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.3s; }
.shop-card:hover .shop-card__img { transform: scale(1.04); }

.shop-card__sold-out {
    position: absolute; inset: 0;
    background: rgba(0,0,0,0.5);
    color: white; font-weight: 700; font-size: 1.1rem;
    display: flex; align-items: center; justify-content: center;
}
.shop-card__category-chip {
    position: absolute; bottom: 0.5rem; left: 0.5rem;
    background: rgba(0,0,0,0.65); color: white;
    font-size: 0.65rem; padding: 0.15rem 0.5rem; border-radius: 4px;
}

.shop-card__body   { padding: 1rem; }
.shop-card__name   { font-weight: 700; margin-bottom: 0.25rem; }
.shop-card__desc   { color: #9E9E9E; display: block; margin-bottom: 0.75rem; }
.shop-card__footer { display: flex; align-items: center; justify-content: space-between; }
.shop-card__price  { color: var(--antologa-primary); font-weight: 700; }
.shop-card__btn    { flex-shrink: 0; }

/* ── Buy dialog ─────────────────────────────────────────────────────── */
.shop-buy-wrap  { display: flex; flex-direction: column; gap: 0.75rem; }
.shop-buy-img   { width: 100%; height: 200px; object-fit: cover; border-radius: 0.75rem; display: block; }
.shop-buy-title { font-weight: 700; }
.shop-buy-desc  { color: #616161; }
.shop-buy-meta  { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
.shop-buy-quantity { display: flex; align-items: center; justify-content: space-between; }
.shop-buy-total { display: flex; align-items: center; justify-content: space-between; }
