/* General Body & Typography */
body {
    font-family: 'Poppins', sans-serif;
    background-color: #f8f9fa; /* Lighter background */
    color: #212529; /* Bootstrap's default body color */
    font-size: 1rem;
    line-height: 1.6;
}

/* Custom Container */
.container {
    max-width: 1280px;
}

/* Header Customization */
.header {
    /* Bootstrap utility classes will handle this now */
}

.header .logo {
    font-size: 1.8em;
    font-weight: 700;
    color: #343a40;
}

.header .cart-link {
    font-weight: 500;
}

/* Hero Section */
.hero-section {
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.05' fill-rule='evenodd'%3E%3Cpath d='M3 17h2v-2H3v2zm4 0h2v-2H7v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM3 13h2v-2H3v2zm4 0h2v-2H7v2zm4 0h2v-2h-2v2zm4 0h2v-2h-2v2zM3 9h2V7H3v2zm4 0h2V7H7v2zm4 0h2V7h-2v2zm4 0h2V7h-2v2zM3 5h2V3H3v2zm4 0h2V3H7v2zm4 0h2V3h-2v2zm4 0h2V3h-2v2z'/%3E%3C/g%3E%3C/svg%3E"), linear-gradient(120deg, #2980b9, #8e44ad);
    color: #fff;
    padding: 2rem 1rem;
    border-radius: 1rem;
    box-shadow: 0 10px 20px rgba(0,0,0,0.1);
}

.hero-title {
    font-size: 1.5rem;
    font-weight: 700;
}

.hero-subtitle {
    font-size: 0.85rem;
    opacity: 0.9;
}

.stat-item {
    background: rgba(255, 255, 255, 0.1);
    padding: 1.5rem;
    border-radius: 0.5rem;
}

.stat-item h3 {
    font-size: 2.5rem;
    margin: 0;
    color: #fff;
}

.stat-item p {
    margin: 5px 0 0 0;
    opacity: 0.8;
}

/* Product Card Customization */
.product-card {
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
    background-color: #fff;
}

.product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

.product-card .card-title {
    font-size: 1rem; /* h5 is 1.25rem */
}

.product-card .card-text {
    font-size: 0.8rem; /* .small is 0.875em */
}

.product-card .card-img-top {
    height: 220px;
    object-fit: cover;
}

.product-card .price {
    font-size: 1.5rem;
    font-weight: 600;
    color: #198754; /* Bootstrap success green */
}

.product-card .original-price {
    color: #6c757d; /* Bootstrap secondary text color */
    text-decoration: line-through;
    font-size: 0.9em;
}

.discount-badge {
    position: absolute;
    top: 15px;
    right: 15px;
    font-size: 0.85rem;
    z-index: 10;
}

/* Footer */
.footer {
    background-color: transparent;
    color: #6c757d;
    padding: 40px 0;
    border-top: 1px solid #dee2e6;
}

.footer a {
    color: #0d6efd;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .hero-title {
        font-size: 1.3rem;
    }
    .hero-section {
        padding: 1.5rem 1rem;
    }
}

/* Mobile Product View Adjustments (2 columns) */
@media (max-width: 768px) {
    .product-card .card-img-top {
        height: 140px; /* Smaller image height */
    }
    .product-card .card-body {
        padding: 0.5rem; /* Reduce padding */
    }
    .product-card .card-title {
        font-size: 0.9rem; /* Smaller title */
        margin-bottom: 0.25rem !important;
    }
    .product-card .price {
        font-size: 1rem; /* Smaller price */
    }
    .product-card .btn {
        padding: 0.25rem 0.5rem; /* Smaller buttons */
        font-size: 0.75rem;
    }
    .product-card .original-price {
        font-size: 0.8em;
    }
}
