.products-page{background:var(--color-bg);padding:var(--space-10) 5%;margin-top:0}.products-container{display:flex;align-items:flex-start;gap:var(--space-8);max-width:1440px;margin:0 auto;padding-top:0}.filter-sidebar{width:300px;flex:0 0 300px;background:var(--color-surface);padding:var(--space-6);overflow-y:auto;overflow-x:hidden;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);max-height:calc(100vh - var(--space-16) - var(--header-height));position:sticky;top:calc(var(--header-height) + var(--space-2));scrollbar-width:thin;scrollbar-color:var(--color-grey-300) transparent}.filter-sidebar::-webkit-scrollbar{width:6px}.filter-sidebar::-webkit-scrollbar-thumb{background:var(--color-grey-300);border-radius:var(--radius-pill)}.filter-toggle-btn{display:none}.filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.filter-header h2{color:var(--color-text);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin:0}.reset-button{background:transparent;color:var(--color-primary);border:none;padding:var(--space-1) var(--space-2);margin:calc(var(--space-1) * -1) calc(var(--space-2) * -1);border-radius:var(--radius-sm);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.reset-button:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.reset-button:focus-visible{outline:none;box-shadow:var(--focus-ring)}.reset-button:active{background:var(--color-primary-soft-hover)}.filter-section{border-bottom:1px solid var(--color-border)}.filter-section:last-child{border-bottom:none}.filter-section-header{display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:var(--space-4) 0;user-select:none}.filter-section-header h3{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-weight-semibold);margin:0;transition:color var(--transition-fast)}.filter-section-header:hover h3{color:var(--color-primary)}.filter-section h3{color:var(--color-text);font-size:var(--text-base);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3)}.chevron{display:flex;align-items:center;justify-content:center;color:var(--color-text-subtle);transition:transform var(--transition),color var(--transition-fast)}.filter-section-header:hover .chevron{color:var(--color-text-muted)}.chevron.expanded{transform:rotate(180deg);color:var(--color-primary)}.filter-section-content{margin-top:var(--space-2);padding-bottom:var(--space-2);animation:slideDown var(--transition)}@keyframes slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.filter-section-content{animation:none}}.checkbox-label,.radio-label{display:flex;align-items:center;gap:var(--space-3);color:var(--color-text-muted);margin-bottom:var(--space-1);padding:var(--space-2);margin-left:calc(var(--space-2) * -1);margin-right:calc(var(--space-2) * -1);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-base);min-height:40px;box-sizing:border-box;transition:background var(--transition-fast),color var(--transition-fast)}.checkbox-label:hover,.radio-label:hover{color:var(--color-text);background:var(--color-surface-muted)}.checkbox-label input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid var(--color-border-strong);border-radius:var(--radius-sm);margin:0;cursor:pointer;position:relative;transition:border-color var(--transition-fast),background var(--transition-fast);background:var(--color-surface);flex-shrink:0}.checkbox-label input[type=checkbox]:hover{border-color:var(--color-primary)}.checkbox-label input[type=checkbox]:checked{border-color:var(--color-primary);background:var(--color-primary)}.checkbox-label input[type=checkbox]:checked:after{content:"";position:absolute;left:50%;top:48%;width:5px;height:10px;border:solid var(--color-text-on-primary);border-width:0 2px 2px 0;transform:translate(-50%,-60%) rotate(45deg)}.checkbox-label input[type=checkbox]:focus-visible,.radio-label input[type=radio]:focus-visible{outline:none;box-shadow:var(--focus-ring)}.radio-label input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid var(--color-border-strong);border-radius:50%;margin:0;cursor:pointer;position:relative;transition:border-color var(--transition-fast);background:var(--color-surface);flex-shrink:0}.radio-label input[type=radio]:checked,.radio-label input[type=radio]:hover{border-color:var(--color-primary)}.radio-label input[type=radio]:checked:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:9px;height:9px;border-radius:50%;background:var(--color-primary)}.color-swatches{display:flex;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-1) 0}.color-swatch{width:28px;height:28px;border-radius:var(--radius-pill);cursor:pointer;border:1px solid var(--color-border-strong);box-shadow:var(--shadow-xs);transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.color-swatch:hover{transform:scale(1.1)}.color-swatch:focus-visible{outline:none;box-shadow:var(--focus-ring)}.color-swatch.active{border-color:var(--color-surface);box-shadow:0 0 0 2px var(--color-primary)}.products-main{flex:1;min-width:0;background:transparent;padding:0;min-height:calc(100vh - var(--header-height))}.products-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.products-header h2{color:var(--color-text);font-size:var(--text-xl);font-weight:var(--font-weight-semibold);letter-spacing:-.01em;line-height:var(--leading-tight);margin:0}.clear-search-btn{display:inline-flex;align-items:center;justify-content:center;min-height:40px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);cursor:pointer;font:inherit;font-size:var(--text-base);font-weight:var(--font-weight-medium);transition:background var(--transition-fast),border-color var(--transition-fast)}.clear-search-btn:hover{background:var(--color-surface-muted);border-color:var(--color-grey-400)}.clear-search-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.clear-search-btn:active{background:var(--color-grey-200)}.products-grid-container{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);width:100%;align-items:stretch}.products-grid-container .product-card{box-sizing:border-box;width:100%;min-width:0;height:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;align-items:stretch;box-shadow:var(--shadow-sm)}.products-grid-container .product-image{width:100%;height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-4);overflow:hidden;background:var(--color-surface-muted);border-radius:var(--radius-md)}.products-grid-container .product-image img{max-width:100%;max-height:100%;object-fit:contain}.products-grid-container .product-name{color:var(--color-text);font-size:var(--text-md);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-3);text-align:left;word-wrap:break-word;overflow-wrap:break-word;width:100%;line-height:var(--leading-snug)}.products-grid-container .pc-actions{margin-top:auto}.product-skeleton{display:flex;flex-direction:column;box-sizing:border-box;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);box-shadow:var(--shadow-sm)}.product-skeleton__line{display:block;margin-top:var(--space-3)}.products-state{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.products-pagination{display:flex;gap:var(--space-4);margin-top:var(--space-10);padding:var(--space-5) 0}.pagination-btn,.products-pagination{justify-content:center;align-items:center}.pagination-btn{display:inline-flex;min-height:40px;background:var(--color-surface);color:var(--color-primary);border:1px solid var(--color-border-strong);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);font:inherit;font-size:var(--text-base);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.pagination-btn:hover:not(:disabled){background:var(--color-primary-soft);border-color:var(--color-primary)}.pagination-btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.pagination-btn:active:not(:disabled){background:var(--color-primary-soft-hover)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed;color:var(--color-text-subtle)}.pagination-info{color:var(--color-text-muted);font-size:var(--text-base);font-weight:var(--font-weight-medium);min-width:120px;text-align:center}@media (max-width:1024px){.products-grid-container{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-sidebar{width:280px;flex-basis:280px}.products-container{gap:var(--space-6)}}@media (max-width:768px){.products-page{padding:var(--space-6) var(--space-4)}.products-container{display:block}.filter-sidebar{display:none}.filter-toggle-btn{display:inline-flex;align-items:center;gap:var(--space-2);position:fixed;left:50%;transform:translateX(-50%);bottom:var(--space-6);background:var(--color-primary);color:var(--color-text-on-primary);min-height:48px;padding:0 var(--space-5);border-radius:var(--radius-pill);z-index:1200;box-shadow:var(--shadow-lg);border:none;cursor:pointer;font:inherit;font-size:var(--text-base);font-weight:var(--font-weight-semibold);transition:background var(--transition-fast)}.filter-toggle-btn:hover{background:var(--color-primary-hover)}.filter-toggle-btn:focus-visible{outline:none;box-shadow:var(--focus-ring),var(--shadow-lg)}.filter-toggle-btn:active{background:var(--color-primary-active)}.products-grid-container{padding-bottom:var(--space-16)}.products-main{padding:0}.mobile-filter-modal{display:none;position:fixed;inset:0;background:rgba(26,27,35,.55);backdrop-filter:blur(2px);z-index:1500;align-items:center;justify-content:center;padding:var(--space-4)}.mobile-filter-modal.open{display:flex}.mobile-filter-modal__panel{width:min(520px,100%)}.mobile-filter-modal .filter-sidebar{display:block;width:100%;max-height:calc(100vh - var(--space-16));position:relative;top:auto;left:auto;border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-xl);overflow-y:auto}.mobile-filter-modal__close-row{display:flex;justify-content:flex-end;margin-bottom:var(--space-2)}.mobile-filter-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:var(--radius-md);background:var(--color-surface-muted);color:var(--color-text-muted);font-size:var(--text-xl);line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.mobile-filter-close:hover{background:var(--color-grey-200);color:var(--color-text)}.mobile-filter-close:focus-visible{outline:none;box-shadow:var(--focus-ring)}}@media (max-width:480px){.products-grid-container{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3);padding-bottom:var(--space-16)}.products-grid-container .product-card{padding:var(--space-4)}.products-grid-container .product-image{height:140px;margin-bottom:var(--space-3)}.products-grid-container .product-name{font-size:var(--text-base)}.products-header h2{font-size:var(--text-lg)}}@media (max-width:380px){.products-page{padding:var(--space-5) var(--space-3)}.products-grid-container{gap:var(--space-2)}.product-skeleton,.products-grid-container .product-card{padding:var(--space-3)}}.active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);margin:0 0 var(--space-5)}.active-filters__label{font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle);margin-right:var(--space-1)}.filter-chip{display:inline-flex;align-items:center;gap:var(--space-2);min-height:32px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-primary);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.filter-chip:hover{background:var(--color-primary-soft);border-color:var(--color-primary)}.filter-chip:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:var(--focus-ring)}.filter-chip:active{background:var(--color-primary-soft-hover)}.filter-chip__label{line-height:1}.filter-chip__x{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:var(--radius-pill);font-size:var(--text-md);line-height:1;color:var(--color-text-subtle);transition:background var(--transition-fast),color var(--transition-fast)}.filter-chip:hover .filter-chip__x{background:var(--color-primary-soft-hover);color:var(--color-primary)}.filter-chip-clear{display:inline-flex;align-items:center;min-height:32px;padding:var(--space-1) var(--space-3);border:none;background:transparent;color:var(--color-error);font:inherit;font-size:var(--text-sm);font-weight:var(--font-weight-semibold);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.filter-chip-clear:hover{background:var(--color-error-soft)}.filter-chip-clear:focus-visible{outline:none;box-shadow:var(--focus-ring-error)}.filter-chip-clear:active{background:var(--color-error-soft);filter:brightness(.97)}.privacy-page{background:var(--color-bg);color:var(--color-text)}.privacy-body{padding:var(--space-12) var(--space-6) var(--space-16)}.privacy-content{max-width:720px;margin:0 auto}.privacy-header{padding-bottom:var(--space-8);margin-bottom:var(--space-8);border-bottom:1px solid var(--color-border)}.privacy-eyebrow{margin:0 0 var(--space-3);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle)}.privacy-content h1{margin:0 0 var(--space-4);font-size:var(--text-2xl);font-weight:var(--font-weight-bold);line-height:var(--leading-tight);letter-spacing:-.01em;color:var(--color-text)}.privacy-lead{margin:0;font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-text-muted)}.privacy-meta{margin:var(--space-5) 0 0;font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--color-text-subtle)}.privacy-prose h2{margin:var(--space-8) 0 var(--space-3);font-size:var(--text-lg);font-weight:var(--font-weight-semibold);line-height:var(--leading-snug);letter-spacing:-.005em;color:var(--color-text)}.privacy-prose h2:first-child{margin-top:0}.privacy-prose p{margin:0 0 var(--space-5);font-size:var(--text-md);line-height:var(--leading-normal);color:var(--color-text-muted)}.privacy-prose p:last-child{margin-bottom:0}.privacy-prose a{color:var(--color-primary);font-weight:var(--font-weight-medium);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--transition-fast)}.privacy-prose a:hover{color:var(--color-primary-hover);text-decoration:underline;text-underline-offset:2px}.privacy-prose a:focus-visible{outline:none;box-shadow:var(--focus-ring)}@media (max-width:480px){.privacy-body{padding:var(--space-8) var(--space-5) var(--space-12)}.privacy-content h1{font-size:var(--text-xl)}}