.skeleton-card{background:#fff;background:var(--text-light,#fff);border:1px solid #e5e7eb;border:1px solid var(--border-color,#e5e7eb);border-radius:12px;overflow:hidden;padding-bottom:1rem}.skeleton-thumb{aspect-ratio:4/3;width:100%}.skeleton-line,.skeleton-thumb{background:#e5e7eb;background:var(--border-color,#e5e7eb)}.skeleton-line{border-radius:6px;height:12px;margin:.75rem 1rem 0}.skeleton-line-sm{width:30%}.skeleton-line-md{width:55%}.skeleton-line-lg{width:80%}.skeleton-line,.skeleton-thumb{overflow:hidden;position:relative}.skeleton-line:after,.skeleton-thumb:after{animation:skeleton-shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff9,#0000);bottom:0;content:"";left:0;position:absolute;right:0;top:0;transform:translateX(-100%)}@keyframes skeleton-shimmer{to{transform:translateX(100%)}}@media (prefers-reduced-motion:reduce){.skeleton-line:after,.skeleton-thumb:after{animation:none}}.request-cta{align-items:center;background:var(--primary-soft);border:1px solid var(--primary-tint);border-left:4px solid var(--primary-color);border-radius:var(--radius);display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5)}.request-cta-icon{color:var(--primary-color);flex-shrink:0;font-size:1.75rem}.request-cta-text{flex:1 1;min-width:0}.request-cta-text strong{color:var(--text-heading);display:block;font-family:var(--font-heading);font-size:1.05rem;font-weight:600}.request-cta-text p{color:var(--text-gray);font-size:.92rem;margin:2px 0 0}.request-cta-btn{flex-shrink:0}@media (max-width:640px){.request-cta{align-items:stretch;flex-direction:column;text-align:center}.request-cta-icon{align-self:center}.request-cta-btn{width:100%}}.product-list-page{min-height:80vh;padding:var(--space-6) 0 var(--space-10)}.page-header{margin-bottom:var(--space-6)}.breadcrumb{align-items:center;display:flex;font-size:.875rem;gap:8px;margin-bottom:12px}.breadcrumb a{color:var(--text-gray);text-decoration:none}.breadcrumb a:hover{color:var(--primary-color)}.breadcrumb span{color:var(--text-gray)}.breadcrumb span:last-child{color:var(--text-dark);font-weight:600}.page-header h1{color:var(--text-heading);font-family:var(--font-heading);font-size:clamp(1.6rem,3vw,2rem);font-weight:700;margin:0 0 6px}.page-header p{color:var(--text-gray);margin:0}.filter-bar{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-5);padding:14px 18px}.filter-bar,.search-box{align-items:center;display:flex}.search-box{background:var(--surface-alt);border-radius:var(--radius-sm);flex:1 1;gap:12px;max-width:420px;padding:10px 16px}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-box input{background:none;border:none;color:var(--text-dark);flex:1 1;font-size:16px;outline:none}.clear-search{align-items:center;background:none;border:none;color:var(--text-gray);cursor:pointer;display:flex;justify-content:center;padding:4px}.clear-search:hover{color:var(--primary-color)}.filter-actions{gap:12px}.filter-actions,.filter-toggle{align-items:center;display:flex}.filter-toggle{background:var(--surface-alt);border:1.5px solid #0000;border-radius:var(--radius-sm);cursor:pointer;font-size:.95rem;font-weight:600;gap:8px;padding:10px 16px;position:relative;transition:border-color var(--transition),color var(--transition)}.filter-toggle.active,.filter-toggle:hover{border-color:var(--primary-color);color:var(--primary-color)}.filter-badge{background:var(--primary-color);border-radius:50%;height:10px;position:absolute;right:-4px;top:-4px;width:10px}.sort-select{align-items:center;background:var(--surface-alt);border-radius:var(--radius-sm);display:flex;gap:8px;padding:8px 14px}.sort-select svg{color:var(--text-muted)}.sort-select select{background:none;border:none;color:var(--text-dark);cursor:pointer;font-size:16px;font-weight:600;outline:none}.filter-panel{animation:slideDown .2s ease;background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);box-shadow:var(--shadow-sm);display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-5);padding:var(--space-5)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-group{display:flex;flex-direction:column;gap:6px;min-width:180px}.filter-group label{color:var(--text-gray);font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.filter-group select{background:var(--surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:16px;outline:none;padding:11px 12px;transition:border-color var(--transition)}.filter-group select:focus{border-color:var(--primary-color)}.clear-filters{align-items:center;align-self:flex-end;background:none;border:none;color:var(--primary-color);cursor:pointer;display:flex;font-weight:600;gap:6px;margin-left:auto;padding:10px 16px}.clear-filters:hover{text-decoration:underline}.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:var(--space-5)}.filter-tag{align-items:center;background:var(--primary-tint);border-radius:var(--radius-pill);color:var(--primary-color);display:inline-flex;font-size:.85rem;font-weight:600;gap:8px;padding:6px 14px}.filter-tag button{background:none;border:none;color:var(--primary-color);cursor:pointer;display:flex;opacity:.7;padding:2px}.filter-tag button:hover{opacity:1}.products-grid{grid-gap:var(--space-5);display:grid;gap:var(--space-5);grid-template-columns:repeat(4,1fr);margin-bottom:var(--space-8)}.pagination{gap:8px}.page-btn,.pagination{align-items:center;display:flex;justify-content:center}.page-btn{background:var(--surface);border:1.5px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-weight:600;height:40px;min-width:40px;padding:0 12px;transition:all var(--transition)}.page-btn:hover:not(:disabled):not(.disabled){border-color:var(--primary-color);color:var(--primary-color)}.page-btn.active{background:var(--primary-color);border-color:var(--primary-color);color:var(--text-light)}.page-btn:disabled{cursor:not-allowed;opacity:.5}a.page-btn{color:inherit;text-decoration:none}.page-btn.disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.empty-state{background:var(--surface);border:1px solid var(--border-light);border-radius:var(--radius);padding:var(--space-10) var(--space-5);text-align:center}.empty-state svg{color:var(--border-color);font-size:3rem;margin-bottom:var(--space-5)}.empty-state h3{color:var(--text-heading);font-family:var(--font-heading);font-size:1.25rem;margin:0 0 8px}.empty-state p{color:var(--text-gray);margin:0 0 var(--space-5) 0}.empty-state-cta{border-top:1px solid var(--border-light);margin-top:var(--space-6);padding-top:var(--space-6)}.empty-state-cta p{color:var(--text-gray);margin-bottom:var(--space-4)}.empty-state-cta .market-btn-secondary{align-items:center;display:inline-flex;gap:.5rem}.product-list-cta{background:linear-gradient(120deg,var(--secondary-color),var(--accent-color));border-radius:var(--radius-xl);color:var(--text-light);margin-top:var(--space-8);padding:var(--space-6) var(--space-8)}.product-list-cta .cta-content{align-items:center;display:flex;gap:var(--space-5);margin:0 auto;max-width:900px}.product-list-cta .cta-icon{color:var(--primary-light);flex-shrink:0;font-size:2.5rem}.product-list-cta .cta-text{flex:1 1}.product-list-cta .cta-text h3{font-family:var(--font-heading);font-size:1.25rem;margin-bottom:.25rem}.product-list-cta .cta-text p{margin:0;opacity:.85}.product-list-cta .market-btn-primary{background:var(--surface);color:var(--primary-color);white-space:nowrap}.product-list-cta .market-btn-primary:hover{background:var(--bg-light)}@media (max-width:1024px){.products-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.filter-bar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filter-actions{justify-content:space-between}.filter-panel{flex-direction:column}.filter-group{min-width:100%}.clear-filters{align-self:flex-start;margin-left:0}.products-grid{grid-template-columns:repeat(2,1fr)}.page-header h1{font-size:1.5rem}.product-list-cta .cta-content{flex-direction:column;text-align:center}}@media (max-width:480px){.products-grid{grid-template-columns:1fr}.filter-actions{flex-direction:column}.filter-toggle,.sort-select{justify-content:center;width:100%}}.product-list-request{margin-bottom:var(--space-5)}
