/* ===== GLOBAL ===== */
:root {
    --brand-primary: #0d6efd;
}

body {
    font-family: 'Segoe UI', sans-serif;
}

/* ===== HERO BANNER ===== */
.hero-banner-img {
    height: 420px;
    object-fit: cover;
}
@media (max-width: 768px) {
    .hero-banner-img { height: 220px; }
}

/* ===== CATEGORIES ===== */
.category-scroll::-webkit-scrollbar { height: 4px; }
.category-scroll::-webkit-scrollbar-track { background: #f1f1f1; }
.category-scroll::-webkit-scrollbar-thumb { background: #ccc; border-radius: 10px; }

.category-chip { min-width: 80px; }
.category-icon-wrap {
    width: 65px;
    height: 65px;
    border-radius: 50%;
    overflow: hidden;
    background: #f0f0f0;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid #e9ecef;
    transition: border-color 0.2s;
}
.category-chip:hover .category-icon-wrap {
    border-color: var(--brand-primary);
}
.category-icon-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ===== PRODUCT CARD ===== */
.product-card {
    transition: transform 0.25s, box-shadow 0.25s;
    border-radius: 12px !important;
    overflow: hidden;
}
.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.12) !important;
}
.product-img-wrap {
    height: 180px;
    overflow: hidden;
    background: #f8f9fa;
}
.product-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}
.product-card:hover .product-img {
    transform: scale(1.05);
}

/* ===== STORE CARD ===== */
.store-card {
    border-radius: 12px !important;
    transition: transform 0.25s, box-shadow 0.25s;
}
.store-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 12px 30px rgba(0,0,0,0.1) !important;
}

/* ===== CAMPAIGN CARD ===== */
.campaign-card {
    border-radius: 12px !important;
    transition: transform 0.25s;
}
.campaign-card:hover {
    transform: translateY(-4px);
}

/* ===== VARIATION OPTIONS ===== */
.variation-option input:checked + span {
    background-color: var(--brand-primary) !important;
    color: white !important;
}

/* ===== CART BADGE ===== */
.cart-count { font-size: 0.65rem; }
