.hero{background:linear-gradient(135deg,var(--surface-color) 0%,var(--background-color) 100%);padding:6rem 0;text-align:center}.hero.hero--left-aligned{text-align:left}.hero.hero--split{display:grid;grid-template-columns:1fr 1fr;gap:2rem;text-align:left}.hero h1{font-size:3.5rem;color:var(--text-primary);margin-bottom:1.5rem;font-weight:700}.hero p{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin:0 auto 3rem;line-height:1.6}.hero--left-aligned p,.hero--split p{margin-left:0}.hero-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.hero--left-aligned .hero-actions,.hero--split .hero-actions{justify-content:flex-start}.cta-button{display:inline-block;padding:1rem 2rem;border-radius:8px;font-weight:600;text-decoration:none;transition:all .3s ease;font-size:1.1rem}.cta-button.primary{background-color:var(--primary-color);color:#fff}.cta-button.primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.cta-button.secondary{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.cta-button.secondary:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-2px)}.featured-products{padding:5rem 0;background-color:var(--background-color)}.featured-products h2{text-align:center;font-size:2.5rem;color:var(--text-primary);margin-bottom:3rem;font-weight:600}.section-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.view-all{text-align:center}.view-all-link{color:var(--primary-color);font-weight:600;font-size:1.1rem;text-decoration:none;transition:color .3s ease}.view-all-link:hover{color:var(--primary-hover)}.loading-message{grid-column:1 / -1;text-align:center;padding:3rem;color:var(--text-secondary);font-style:italic}.features{padding:5rem 0;background-color:var(--surface-color)}.features .section-title{text-align:center;font-size:2rem;color:var(--text-primary);margin-bottom:3rem}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:3rem}.feature{text-align:center;padding:2rem}.feature-icon{font-size:3rem;color:var(--primary-color);margin-bottom:1rem}.feature h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem;font-weight:600}.feature p{color:var(--text-secondary);line-height:1.6}.cta-section{padding:5rem 0;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);text-align:center}.cta-section h2{color:#fff;font-size:2.5rem;margin-bottom:1rem}.cta-section p{color:#ffffffe6;font-size:1.2rem;margin-bottom:2rem}.cta-section .cta-button.primary{background-color:#fff;color:var(--primary-color)}.cta-section .cta-button.primary:hover{background-color:#ffffffe6}.text-block{padding:4rem 0;background-color:var(--background-color)}.text-block h2{color:var(--text-primary);font-size:2rem;margin-bottom:1.5rem}.text-content{color:var(--text-secondary);line-height:1.8;font-size:1.1rem}.text-content p{margin-bottom:1rem}.image-banner{position:relative;width:100%;overflow:hidden}.image-banner img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.image-banner-link{display:block}.testimonials{padding:5rem 0;background-color:var(--surface-color)}.testimonials h2{text-align:center;color:var(--text-primary);font-size:2rem;margin-bottom:3rem}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.testimonial-card{background:var(--background-color);border-radius:12px;padding:2rem;border:1px solid var(--border-color)}.testimonial-quote{margin-bottom:1.5rem}.testimonial-quote i{color:var(--primary-color);font-size:1.5rem;margin-bottom:1rem;display:block}.testimonial-quote p{color:var(--text-secondary);font-style:italic;line-height:1.6}.testimonial-author{display:flex;align-items:center;gap:1rem}.author-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover}.author-info strong{color:var(--text-primary);display:block}.author-info span{color:var(--text-secondary);font-size:.9rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.product-card{background-color:var(--surface-color);border-radius:20px;overflow:hidden;border:1px solid var(--border-color);box-shadow:0 4px 20px #0000000f;transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column;position:relative}.product-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.product-card a{text-decoration:none;display:block;position:relative;overflow:hidden}.product-card img{width:100%;height:220px;object-fit:cover;display:block;background:linear-gradient(135deg,var(--background-color) 0%,var(--surface-color) 100%);transition:transform .4s ease}.product-card:hover img{transform:scale(1.05)}.product-info{padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;flex:1}.product-type-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .875rem;background:linear-gradient(135deg,rgba(var(--primary-rgb, 0, 102, 204),.08),rgba(var(--primary-rgb, 0, 102, 204),.15));color:var(--primary-color);border-radius:100px;font-size:.8125rem;font-weight:600;width:fit-content;letter-spacing:.2px}.product-info h3{color:var(--text-primary);margin:0;font-size:1.25rem;font-weight:700;line-height:1.4;transition:color .2s ease}.product-info h3 a{color:inherit;text-decoration:none}.product-info h3 a:hover{color:var(--primary-color)}.product-info p{color:var(--text-secondary);margin:0;line-height:1.6;font-size:.9375rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-grow:1}.product-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:auto;padding-top:.5rem}.product-price{font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.5px;line-height:1}.add-to-cart{padding:.75rem 1.25rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9375rem;letter-spacing:.2px;white-space:nowrap}.add-to-cart:hover{background-color:var(--primary-hover);transform:scale(1.02)}.add-to-cart:active{transform:scale(.98)}.add-to-cart:disabled{opacity:.7;cursor:not-allowed;transform:none}@media (max-width: 768px){.hero h1{font-size:2.5rem}.hero p{font-size:1rem}.hero-actions{flex-direction:column;align-items:center}.cta-button{width:100%;max-width:300px}.hero.hero--split{grid-template-columns:1fr}.products-grid{grid-template-columns:1fr;gap:1.25rem}.product-card{border-radius:16px}.product-card img{height:180px}.product-info{padding:1.25rem;gap:.75rem}.product-info h3{font-size:1.125rem}.product-price{font-size:1.25rem}.add-to-cart{padding:.625rem 1rem;font-size:.875rem}.features-grid{grid-template-columns:1fr;gap:2rem}}@media (max-width: 400px){.product-card-footer{flex-direction:column;align-items:stretch;gap:.75rem}.product-price{text-align:center}.add-to-cart{width:100%}}
