.page-header{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);padding:4rem 0;text-align:center;color:#fff}.page-header h1{font-size:3rem;margin-bottom:1rem;font-weight:700}.page-header p{font-size:1.25rem;opacity:.9;max-width:600px;margin:0 auto}.products-catalog{padding:4rem 0;background-color:var(--background-color)}.filters{margin-bottom:3rem;text-align:center}.filters h3{color:var(--text-primary);margin-bottom:1rem;font-size:1.25rem}.filter-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.filter-btn{padding:.75rem 1.5rem;background-color:var(--surface-color);color:var(--text-primary);border:2px solid var(--border-color);border-radius:25px;cursor:pointer;transition:all .3s ease;font-weight:500}.filter-btn:hover,.filter-btn.active{background-color:var(--primary-color);color:#fff;border-color:var(--primary-color)}.products-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem}.infoproducts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;padding:2rem 0}.infoproduct-card{background: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}.infoproduct-card:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000001f}.card-image{position:relative;width:100%;height:220px;overflow:hidden;background:linear-gradient(135deg,var(--background-color) 0%,var(--surface-color) 100%)}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.infoproduct-card:hover .card-image img{transform:scale(1.05)}.featured-badge{position:absolute;top:1rem;left:1rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:.5rem 1rem;border-radius:100px;font-size:.8125rem;font-weight:600;box-shadow:0 4px 12px #00000026}.free-badge{position:absolute;top:1rem;right:1rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:.5rem 1rem;border-radius:100px;font-size:.8125rem;font-weight:700;box-shadow:0 4px 12px #00000026}.card-content{padding:1.5rem;display:flex;flex-direction:column;gap:.875rem;flex:1}.card-type{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}.card-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin:0;line-height:1.4;transition:color .2s ease}.card-title:hover{color:var(--primary-color)}.card-description{color:var(--text-secondary);font-size:.9375rem;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex-grow:1}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:.5rem}.card-price{display:flex;flex-direction:column;gap:.25rem}.price-current{font-size:1.5rem;font-weight:800;color:var(--text-primary);letter-spacing:-.5px}.price-old{font-size:.9rem;color:var(--text-secondary);text-decoration:line-through}.price-free{font-size:1.25rem;font-weight:800;color:#22c55e}.btn-view-details{padding:.75rem 1.25rem;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s ease;font-size:.9375rem;white-space:nowrap}.btn-view-details:hover{background:var(--primary-hover);transform:scale(1.02)}.btn-view-details:active{transform:scale(.98)}.btn-view-details:disabled{opacity:.7;cursor:not-allowed;transform:none}.loading-state,.error-state,.empty-state{text-align:center;padding:4rem 2rem;color:var(--text-secondary)}.loading-spinner{width:50px;height:50px;border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{to{transform:rotate(360deg)}}.btn-retry{margin-top:1rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;font-weight:600}@media (max-width: 768px){.page-header h1{font-size:2.5rem}.page-header p{font-size:1rem}.infoproducts-grid{grid-template-columns:1fr}.card-footer{flex-direction:column;gap:1rem;align-items:stretch}.btn-view-details{width:100%}}
