/* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html { font-size: 16px; scroll-behavior: smooth; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif; line-height: 1.6; color: #333; background-color: #fff; } img { max-width: 100%; height: auto; } a { color: #0066cc; text-decoration: none; } a:hover { color: #0052a3; text-decoration: underline; } button { cursor: pointer; border: none; background: none; font-family: inherit; } ul, ol { list-style: none; } /* Container */ .container { max-width: 1200px; margin: 0 auto; padding: 0 20px; } /* Buttons */ .btn { display: inline-block; padding: 10px 20px; border-radius: 4px; font-weight: 600; text-align: center; transition: all 0.3s ease; text-decoration: none; cursor: pointer; } .btn-primary { background-color: #0066cc; color: white; } .btn-primary:hover { background-color: #0052a3; color: white; text-decoration: none; } .btn-secondary { background-color: #f1f1f1; color: #333; border: 1px solid #ddd; } .btn-secondary:hover { background-color: #e1e1e1; color: #333; text-decoration: none; } /* Header */ .header { background-color: #fff; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); position: sticky; top: 0; z-index: 100; } .header-content { display: flex; align-items: center; justify-content: space-between; padding: 15px 0; } .logo img { height: 40px; } .main-nav ul { display: flex; gap: 20px; } .main-nav a { font-weight: 500; color: #333; } .main-nav a:hover, .main-nav a.active { color: #0066cc; } .search form { display: flex; align-items: center; background-color: #f5f5f5; border-radius: 4px; overflow: hidden; } .search input { padding: 10px 15px; border: none; background: none; outline: none; width: 200px; } .search button { padding: 10px 15px; background-color: #0066cc; color: white; } .mobile-menu-toggle { display: none; flex-direction: column; gap: 4px; } .mobile-menu-toggle span { width: 25px; height: 3px; background-color: #333; } /* Breadcrumbs */ .breadcrumbs { padding: 15px 0; background-color: #f9f9f9; } .breadcrumbs ol { display: flex; gap: 10px; font-size: 14px; } .breadcrumbs li:not(:last-child)::after { content: "›"; margin-left: 10px; color: #999; } /* Page Header */ .page-header { padding: 40px 0; text-align: center; background-color: #f5f5f5; } .page-header h1 { font-size: 2.5rem; margin-bottom: 10px; } .page-header p { font-size: 1.2rem; color: #666; max-width: 700px; margin: 0 auto; } /* Hero Section */ .hero { padding: 60px 0; background-color: #f9f9f9; } .hero .container { display: flex; align-items: center; gap: 40px; } .hero-content { flex: 1; } .hero-content h1 { font-size: 2.5rem; margin-bottom: 20px; line-height: 1.2; } .hero-content p { font-size: 1.2rem; margin-bottom: 30px; color: #666; } .hero-image { flex: 1; } /* Categories Section */ .categories { padding: 60px 0; } .categories h2 { text-align: center; font-size: 2rem; margin-bottom: 40px; } .category-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 30px; } .category-card { display: block; padding: 30px; background-color: #f9f9f9; border-radius: 8px; text-align: center; transition: transform 0.3s ease, box-shadow 0.3s ease; } .category-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); text-decoration: none; color: inherit; } .category-icon { font-size: 3rem; margin-bottom: 15px; } .category-card h3 { font-size: 1.5rem; margin-bottom: 10px; } .category-card p { color: #666; } /* Product Grid */ .featured-products, .related-products { padding: 60px 0; } .featured-products h2, .related-products h2 { text-align: center; font-size: 2rem; margin-bottom: 40px; } .product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 30px; margin-bottom: 40px; } .product-card { background-color: #fff; border-radius: 8px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); transition: transform 0.3s ease, box-shadow 0.3s ease; } .product-card:hover { transform: translateY(-5px); box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1); } .product-image { height: 200px; overflow: hidden; } .product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.5s ease; } .product-card:hover .product-image img { transform: scale(1.05); } .product-info { padding: 20px; } .product-info h3 { font-size: 1.2rem; margin-bottom: 10px; } .product-info h3 a { color: #333; text-decoration: none; } .product-info h3 a:hover { color: #0066cc; } .product-price { font-size: 1.3rem; font-weight: 600; color: #0066cc; margin-bottom: 10px; } .product-description { color: #666; margin-bottom: 15px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .text-center { text-align: center; } /* Newsletter Section */ .newsletter { padding: 60px 0; background-color: #f5f5f5; text-align: center; } .newsletter h2 { font-size: 2rem; margin-bottom: 15px; } .newsletter p { font-size: 1.2rem; margin-bottom: 30px; color: #666; max-width: 600px; margin-left: auto; margin-right: auto; } .newsletter form { display: flex; max-width: 500px; margin: 0 auto; } .newsletter input { flex: 1; padding: 12px 20px; border: 1px solid #ddd; border-radius: 4px 0 0 4px; font-size: 1rem; } .newsletter button { padding: 12px 25px; background-color: #0066cc; color: white; font-size: 1rem; font-weight: 600; border-radius: 0 4px 4px 0; } /* Footer */ .footer { background-color: #333; color: #fff; padding: 60px 0 20px; } .footer-content { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; margin-bottom: 40px; } .footer-section h3 { font-size: 1.2rem; margin-bottom: 20px; position: relative; padding-bottom: 10px; } .footer-section h3::after { content: ''; position: absolute; left: 0; bottom: 0; width: 50px; height: 2px; background-color: #0066cc; } .footer-section p { margin-bottom: 20px; color: #ccc; } .footer-section ul li { margin-bottom: 10px; } .footer-section ul li a { color: #ccc; transition: color 0.3s ease; } .footer-section ul li a:hover { color: #fff; } .social-links { display: flex; gap: 15px; } .social-links a { color: #ccc; transition: color 0.3s ease; } .social-links a:hover { color: #0066cc; } .footer-bottom { border-top: 1px solid #444; padding-top: 20px; text-align: center; color: #ccc; } /* Category Page Styles */ .category-content { padding: 40px 0; } .category-layout { display: grid; grid-template-columns: 250px 1fr; gap: 30px; } .filters { background-color: #f9f9f9; padding: 25px; border-radius: 8px; height: fit-content; position: sticky; top: 100px; } .filters h2 { font-size: 1.5rem; margin-bottom: 20px; } .filter-group { margin-bottom: 30px; } .filter-group h3 { font-size: 1.1rem; margin-bottom: 15px; color: #333; } .filter-group ul li { margin-bottom: 10px; } .filter-group ul li a { color: #666; transition: color 0.3s ease; } .filter-group ul li a:hover, .filter-group ul li a.active { color: #0066cc; } .sort-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 25px; } .sort-options { display: flex; align-items: center; gap: 10px; } .sort-options select { padding: 8px 12px; border: 1px solid #ddd; border-radius: 4px; background-color: #fff; } .pagination { display: flex; justify-content: center; gap: 10px; margin-top: 40px; } .pagination a { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 4px; border: 1px solid #ddd; color: #666; transition: all 0.3s ease; } .pagination a:hover { background-color: #f5f5f5; color: #333; } .pagination a.active { background-color: #0066cc; color: white; border-color: #0066cc; } .pagination span { display: flex; align-items: center; color: #666; } .pagination-arrow { font-size: 1.2rem; } /* Product Detail Page Styles */ .product-detail { padding: 40px 0; } .product-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; } .product-images { position: sticky; top: 100px; height: fit-content; } .main-image { margin-bottom: 20px; border: 1px solid #ddd; border-radius: 8px; overflow: hidden; } .main-image img { width: 100%; height: auto; display: block; } .thumbnail-images { display: flex; gap: 10px; } .thumbnail { border: 1px solid #ddd; border-radius: 4px; overflow: hidden; cursor: pointer; opacity: 0.7; transition: opacity 0.3s ease; } .thumbnail:hover, .thumbnail.active { opacity: 1; border-color: #0066cc; } .product-info h1 { font-size: 2rem; margin-bottom: 15px; } .rating { display: flex; align-items: center; gap: 10px; margin-bottom: 20px; } .stars { color: #ffc107; } .rating-value { font-weight: 600; } .review-count { color: #666; } .price-section { margin-bottom: 25px; } .price { font-size: 2rem; font-weight: 600; color: #0066cc; margin-bottom: 5px; } .price-info { color: #666; font-size: 0.9rem; } .product-description { margin-bottom: 25px; } .product-features { margin-bottom: 25px; } .product-features h3 { font-size: 1.2rem; margin-bottom: 15px; } .product-features ul { list-style-type: disc; padding-left: 20px; } .product-features li { margin-bottom: 8px; } .retailers { margin-bottom: 25px; } .retailers h3 { font-size: 1.2rem; margin-bottom: 15px; } .retailer-options { display: flex; flex-direction: column; gap: 10px; } .retailer-btn { display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; border: 1px solid #ddd; border-radius: 4px; background-color: #fff; transition: all 0.3s ease; } .retailer-btn:hover { border-color: #0066cc; background-color: #f5f9ff; } .retailer-name { font-weight: 600; } .retailer-price { color: #0066cc; font-weight: 600; } .product-meta { padding-top: 20px; border-top: 1px solid #eee; } .product-meta p { margin-bottom: 5px; color: #666; } /* Product Tabs */ .product-tabs { padding: 40px 0; background-color: #f9f9f9; } .tabs { display: flex; border-bottom: 1px solid #ddd; margin-bottom: 30px; } .tab-btn { padding: 15px 20px; background: none; border: none; font-size: 1rem; font-weight: 600; color: #666; cursor: pointer; border-bottom: 3px solid transparent; transition: all 0.3s ease; } .tab-btn.active { color: #0066cc; border-bottom-color: #0066cc; } .tab-content { display: none; } .tab-content.active { display: block; } .tab-content h3 { font-size: 1.5rem; margin-bottom: 20px; } .specs-table { width: 100%; border-collapse: collapse; margin-top: 20px; } .specs-table th, .specs-table td { padding: 12px 15px; text-align: left; border-bottom: 1px solid #ddd; } .specs-table th { background-color: #f5f5f5; width: 30%; } .reviews-summary { display: grid; grid-template-columns: 200px 1fr; gap: 30px; margin-bottom: 30px; } .overall-rating { text-align: center; } .rating-number { font-size: 3rem; font-weight: 600; display: block; margin-bottom: 10px; } .rating-bars { display: flex; flex-direction: column; gap: 8px; } .rating-bar { display: grid; grid-template-columns: 60px 1fr 40px; gap: 10px; align-items: center; } .bar-container { height: 10px; background-color: #eee; border-radius: 5px; overflow: hidden; } .bar { height: 100%; background-color: #ffc107; } .reviews-list { margin-bottom: 30px; } .review { padding: 20px 0; border-bottom: 1px solid #eee; } .review-header { display: flex; justify-content: space-between; margin-bottom: 10px; } .reviewer-info { display: flex; align-items: center; gap: 10px; } .reviewer-name { font-weight: 600; } .review-date { color: #666; font-size: 0.9rem; } .review-content { color: #555; } .load-more { text-align: center; } /* About Page Styles */ .about-content { padding: 40px 0; } .about-layout { display: grid; grid-template-columns: 2fr 1fr; gap: 40px; margin-bottom: 60px; } .about-text h2 { font-size: 1.8rem; margin-bottom: 20px; color: #333; } .about-text p { margin-bottom: 20px; color: #555; } .about-text ul { list-style-type: disc; padding-left: 20px; margin-bottom: 20px; } .about-text li { margin-bottom: 10px; color: #555; } .about-image img { width: 100%; border-radius: 8px; } .team { padding: 60px 0; background-color: #f9f9f9; } .team h2 { text-align: center; font-size: 2rem; margin-bottom: 40px; } .team-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; } .team-member { background-color: #fff; padding: 30px; border-radius: 8px; text-align: center; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); } .member-photo { width: 150px; height: 150px; border-radius: 50%; overflow: hidden; margin: 0 auto 20px; } .member-photo img { width: 100%; height: 100%; object-fit: cover; } .team-member h3 { font-size: 1.3rem; margin-bottom: 5px; } .member-title { color: #0066cc; font-weight: 600; margin-bottom: 15px; } .member-bio { color: #666; font-size: 0.9rem; } .values { padding: 60px 0; } .values h2 { text-align: center; font-size: 2rem; margin-bottom: 40px; } .values-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 30px; } .value-card { background-color: #f9f9f9; padding: 30px; border-radius: 8px; text-align: center; } .value-icon { font-size: 3rem; margin-bottom: 20px; } .value-card h3 { font-size: 1.3rem; margin-bottom: 15px; } .value-card p { color: #666; } /* Contact Page Styles */ .contact-content { padding: 40px 0; } .contact-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; } .contact-info h2 { font-size: 1.8rem; margin-bottom: 20px; } .contact-info p { margin-bottom: 30px; color: #555; } .contact-methods { display: flex; flex-direction: column; gap: 30px; } .contact-method h3 { font-size: 1.3rem; margin-bottom: 10px; } .contact-method p { margin-bottom: 5px; } .contact-form { background-color: #f9f9f9; padding: 30px; border-radius: 8px; } .contact-form h2 { font-size: 1.8rem; margin-bottom: 20px; } .form-group { margin-bottom: 20px; } .form-group label { display: block; margin-bottom: 8px; font-weight: 500; } .form-group input, .form-group select, .form-group textarea { width: 100%; padding: 12px 15px; border: 1px solid #ddd; border-radius: 4px; font-size: 1rem; } .form-group textarea { resize: vertical; } .checkbox-group { display: flex; align-items: center; gap: 10px; } .checkbox-group input { width: auto; } .faq { padding: 60px 0; background-color: #f9f9f9; } .faq h2 { text-align: center; font-size: 2rem; margin-bottom: 40px; } .faq-list { max-width: 800px; margin: 0 auto; } .faq-item { background-color: #fff; padding: 25px; border-radius: 8px; margin-bottom: 20px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05); } .faq-item h3 { font-size: 1.3rem; margin-bottom: 15px; color: #333; } .faq-item p { color: #555; } /* Responsive Styles */ @media (max-width: 992px) { .product-layout { grid-template-columns: 1fr; } .product-images { position: static; margin-bottom: 30px; } .about-layout { grid-template-columns: 1fr; } .contact-layout { grid-template-columns: 1fr; } .reviews-summary { grid-template-columns: 1fr; } } @media (max-width: 768px) { .main-nav { display: none; position: absolute; top: 100%; left: 0; width: 100%; background-color: #fff; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); z-index: 100; } .main-nav.active { display: block; } .main-nav ul { flex-direction: column; padding: 20px; } .main-nav li { margin-bottom: 10px; } .mobile-menu-toggle { display: flex; } .search { display: none; } .hero .container { flex-direction: column; text-align: center; } .hero-content { order: 2; } .hero-image { order: 1; margin-bottom: 30px; } .category-layout { grid-template-columns: 1fr; } .filters { position: static; margin-bottom: 30px; } .sort-bar { flex-direction: column; align-items: flex-start; gap: 15px; } .product-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); } .retailer-options { flex-direction: column; } .tabs { overflow-x: auto; } .team-grid { grid-template-columns: 1fr; } .values-grid { grid-template-columns: 1fr; } .footer-content { grid-template-columns: 1fr; gap: 30px; } } @media (max-width: 576px) { .page-header h1 { font-size: 2rem; } .hero-content h1 { font-size: 2rem; } .hero-content p { font-size: 1rem; } .product-grid { grid-template-columns: 1fr; } .newsletter form { flex-direction: column; } .newsletter input { border-radius: 4px; margin-bottom: 10px; } .newsletter button { border-radius: 4px; } .pagination { flex-wrap: wrap; } }