.hero-section { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); color: white; padding: 80px 20px; text-align: center; margin-bottom: 50px; border-radius: 0 0 20px 20px; position: relative; overflow: hidden; } .hero-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url('data:image/svg+xml,'); background-size: cover; background-position: bottom; } .hero-content { position: relative; z-index: 1; max-width: 800px; margin: 0 auto; } .hero-title { font-size: 3.5em; font-weight: 700; margin-bottom: 20px; text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3); } .hero-subtitle { font-size: 1.3em; margin-bottom: 30px; opacity: 0.9; line-height: 1.6; } .hero-search { max-width: 600px; margin: 30px auto 0; position: relative; } .hero-search-input { width: 100%; padding: 18px 60px 18px 25px; border: none; border-radius: 50px; font-size: 1.1em; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2); } .hero-search-button { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); background: #ff6b6b; color: white; border: none; border-radius: 50%; width: 45px; height: 45px; cursor: pointer; transition: all 0.3s; } .hero-search-button:hover { background: #ff5252; transform: translateY(-50%) scale(1.1); } .categories-section { padding: 40px 20px; margin-bottom: 50px; } .section-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 30px; } .section-title { font-size: 2em; color: #333; font-weight: 600; } .view-all-link { color: #007bff; text-decoration: none; font-weight: 500; display: flex; align-items: center; gap: 5px; } .view-all-link:hover { text-decoration: underline; } .categories-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 25px; } .category-card { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); transition: all 0.3s; cursor: pointer; text-decoration: none; color: inherit; } .category-card:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15); } .category-image { height: 180px; background: #f8f9fa; display: flex; align-items: center; justify-content: center; font-size: 3em; } .category-name { padding: 20px; text-align: center; font-weight: 600; color: #333; font-size: 1.1em; } .category-count { display: block; font-size: 0.9em; color: #666; font-weight: normal; margin-top: 5px; } .featured-section { padding: 40px 20px; background: #f8f9fa; border-radius: 20px; margin-bottom: 50px; } .products-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 30px; } .product-card-home { background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); transition: all 0.3s; position: relative; } .product-card-home:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); } .product-badge { position: absolute; top: 15px; left: 15px; background: #ff6b6b; color: white; padding: 5px 12px; border-radius: 20px; font-size: 0.8em; font-weight: 600; z-index: 1; } .product-image-home { height: 200px; background: #f8f9fa; display: flex; align-items: center; justify-content: center; padding: 20px; position: relative; } .product-image-home img { max-width: 100%; max-height: 100%; object-fit: contain; } .product-info-home { padding: 20px; } .product-title-home { font-size: 1.1em; font-weight: 600; color: #333; margin-bottom: 10px; line-height: 1.4; } .product-price-home { font-size: 1.3em; font-weight: 700; color: #007bff; margin-bottom: 10px; } .product-rating-home { display: flex; align-items: center; gap: 5px; margin-bottom: 15px; } .stars { color: #ffc107; } .rating-count { color: #666; font-size: 0.9em; } .product-meta-home { display: flex; justify-content: space-between; align-items: center; font-size: 0.9em; color: #666; margin-top: 15px; padding-top: 15px; border-top: 1px solid #e9ecef; } .promo-banner { background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%); color: white; padding: 60px 40px; border-radius: 15px; margin: 50px 20px; text-align: center; position: relative; overflow: hidden; } .promo-content h2 { font-size: 2.5em; margin-bottom: 20px; font-weight: 700; } .promo-content p { font-size: 1.2em; margin-bottom: 30px; opacity: 0.9; } .promo-button { display: inline-block; background: white; color: #4facfe; padding: 15px 40px; border-radius: 50px; text-decoration: none; font-weight: 600; font-size: 1.1em; transition: all 0.3s; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); } .promo-button:hover { transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3); color: #4facfe; } .benefits-section { padding: 60px 20px; margin-bottom: 50px; } .benefits-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; } .benefit-card { text-align: center; padding: 30px; background: white; border-radius: 12px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); transition: all 0.3s; } .benefit-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15); } .benefit-icon { font-size: 3em; margin-bottom: 20px; display: block; } .benefit-title { font-size: 1.3em; font-weight: 600; color: #333; margin-bottom: 15px; } .benefit-description { color: #666; line-height: 1.6; } .newsletter-section { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); color: white; padding: 60px 20px; border-radius: 15px; margin: 50px 20px; text-align: center; } .newsletter-content { max-width: 600px; margin: 0 auto; } .newsletter-content h2 { font-size: 2.2em; margin-bottom: 20px; font-weight: 700; } .newsletter-content p { font-size: 1.1em; margin-bottom: 30px; opacity: 0.9; } .newsletter-form { display: flex; gap: 10px; max-width: 500px; margin: 0 auto; } .newsletter-input { flex: 1; padding: 15px 20px; border: none; border-radius: 50px; font-size: 1em; } .newsletter-button { padding: 15px 30px; background: #333; color: white; border: none; border-radius: 50px; font-weight: 600; cursor: pointer; transition: all 0.3s; } .newsletter-button:hover { background: #000; } @media (max-width: 768px) { .hero-title { font-size: 2.5em; } .hero-subtitle { font-size: 1.1em; } .section-title { font-size: 1.5em; } .categories-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 15px; } .category-image { height: 140px; font-size: 2.5em; } .products-grid { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 20px; } .promo-content h2 { font-size: 2em; } .newsletter-form { flex-direction: column; } .newsletter-input, .newsletter-button { width: 100%; } }