/* === Reset & Base === */ *, *::before, *::after { box-sizing: border-box; } body { margin: 0; padding: 0; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; background: #f8f9fa; color: #333; line-height: 1.6; } /* === Header === */ .header { background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%); color: white; padding: 20px 0; box-shadow: 0 2px 10px rgba(0,0,0,0.15); } .header-inner { max-width: 1100px; margin: 0 auto; padding: 0 20px; text-align: center; } .logo { font-size: 28px; margin: 0; font-weight: 700; letter-spacing: -0.5px; } .tagline { font-size: 14px; color: rgba(255,255,255,0.7); margin: 5px 0 0; } /* === Container === */ .container { max-width: 1100px; margin: 0 auto; padding: 20px; } /* === Hero === */ .hero { text-align: center; padding: 30px 0 20px; } .hero h2 { font-size: 24px; color: #1a1a2e; margin: 0 0 8px; } .hero p { color: #666; font-size: 15px; margin: 0; } /* === Product List (Grid) === */ .product-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 24px; margin: 20px 0; } /* === Product Card === */ .product-card { background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 2px 12px rgba(0,0,0,0.06); transition: transform 0.2s, box-shadow 0.2s; border: 1px solid #eee; } .product-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(0,0,0,0.1); } .product-card a { text-decoration: none; color: inherit; display: block; } .product-card-img { width: 100%; aspect-ratio: 1; overflow: hidden; background: #f0f0f0; display: flex; align-items: center; justify-content: center; } .product-card-img img { width: 100%; height: 100%; object-fit: cover; } .product-card-img.placeholder { background: #f8f9fa; font-size: 48px; color: #ccc; } .product-card-body { padding: 16px; } .product-card-body h3 { font-size: 16px; font-weight: 600; color: #222; margin: 0 0 6px; line-height: 1.4; } .prod-desc { font-size: 13px; color: #666; margin: 0 0 10px; line-height: 1.5; } .prod-price { font-size: 20px; font-weight: 700; color: #c0392b; margin: 0 0 8px; } .prod-price .old-price { font-size: 14px; color: #999; text-decoration: line-through; font-weight: 400; margin-left: 8px; } .prod-status { display: inline-block; font-size: 12px; padding: 3px 10px; border-radius: 20px; } .prod-status.còn-hàng { background: #e8f5e9; color: #27ae60; } /* === Placeholder card === */ .product-card-placeholder .product-card-body h3 { color: #aaa; } /* === Footer === */ .footer { background: #1a1a2e; color: rgba(255,255,255,0.7); margin-top: 40px; padding: 30px 0 0; } .footer-inner { max-width: 1100px; margin: 0 auto; padding: 0 20px; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 30px; } .footer h4 { color: white; margin: 0 0 10px; font-size: 15px; } .footer p { font-size: 13px; margin: 4px 0; line-height: 1.6; } .copyright { text-align: center; padding: 20px; margin-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); font-size: 13px; } /* === Responsive === */ @media (max-width: 600px) { .product-list { grid-template-columns: 1fr; } .logo { font-size: 22px; } }