/* Page Hero */
.page-hero-section { height: 50vh; padding: 0; position: relative; display: flex; align-items: center; justify-content: center; text-align: center; background-size: cover; background-position: center; }
.hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); }
.hero-text { position: relative; z-index: 5; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,0.5); }
.hero-text h1 { font-size: 3.5rem; font-weight: bold; margin-bottom: 0.5rem; }
.hero-text p { font-size: 1.3rem; }

/* Main Content */
.main-content { padding: 60px 0; }
.product-grid-main {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
}

.product-card-main {
    background: #fff; 
    border-radius: 10px; 
    overflow: hidden; 
    box-shadow: 0 5px 20px rgba(0,0,0,0.07); 
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.product-card-main:hover { 
    transform: translateY(-10px); 
    box-shadow: 0 15px 30px rgba(0,0,0,0.12); 
}
.product-card-main a { text-decoration: none; color: inherit; }
.product-image-wrapper { overflow: hidden; }
.product-card-main img { width: 100%; height: 220px; object-fit: cover; transition: transform 0.4s ease; }
.product-card-main:hover img { transform: scale(1.1); }
.product-info-main { padding: 25px; }
.product-info-main h3 { font-size: 1.3rem; margin-bottom: 10px; color: var(--primary-red); }
.product-info-main p { font-size: 1rem; margin-bottom: 1rem; color: #555; }
.btn-view-main { font-size: 1rem; color: var(--primary-red); font-weight: bold; transition: color 0.3s; }
.product-card-main:hover .btn-view-main { color: var(--dark-red); }

/* Pagination */
.pagination { text-align: center; margin-top: 3rem; }
.pagination a { color: var(--primary-red); padding: 10px 18px; text-decoration: none; border: 2px solid #ddd; margin: 0 5px; transition: all 0.3s; border-radius: 5px; font-weight: bold; }
.pagination a.active { background: var(--primary-red); color: white; border-color: var(--primary-red); }
.pagination a:hover:not(.active) { background-color: #f4f4f4; border-color: var(--primary-red); }

/* Animation */
.animate-on-scroll { opacity: 0; transform: translateY(30px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.animate-on-scroll.is-visible { opacity: 1; transform: translateY(0); }

/* Responsive */
@media (max-width: 768px) {
    .hero-text h1 { font-size: 2.5rem; }
}
