.loading-container.svelte-acb1ez{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3xl);text-align:center}.loading-spinner.svelte-acb1ez{width:32px;height:32px;border:2px solid var(--color-border);border-radius:50%;border-top-color:var(--color-primary);animation:svelte-acb1ez-spin 1s linear infinite;margin-bottom:var(--space-md)}@keyframes svelte-acb1ez-spin{to{transform:rotate(360deg)}}.no-results.svelte-acb1ez{text-align:center;padding:var(--space-3xl);color:var(--color-text-light)}.no-results-icon.svelte-acb1ez{margin-bottom:var(--space-md);color:var(--color-border)}.no-results.svelte-acb1ez h3:where(.svelte-acb1ez){margin-bottom:var(--space-sm);color:var(--color-text)}.fabric-grid.svelte-acb1ez{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-xl);padding:var(--space-lg)}.fabric-card.svelte-acb1ez{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);box-shadow:var(--shadow-sm);position:relative;display:flex;flex-direction:column}@media (hover: hover){.fabric-card.svelte-acb1ez:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}}.favorite-wrapper.svelte-acb1ez{position:absolute;top:12px;right:12px;z-index:10}.favorite-wrapper.svelte-acb1ez .favorite-button{position:relative;top:auto;right:auto}.fabric-image.svelte-acb1ez{position:relative;aspect-ratio:4 / 3;overflow:hidden;background:var(--color-light);cursor:pointer}.fabric-image.svelte-acb1ez img:where(.svelte-acb1ez){width:100%;height:100%;object-fit:cover;transition:transform var(--transition-base)}.fabric-info.svelte-acb1ez{padding:var(--space-lg);display:flex;flex-direction:column;flex:1}.fabric-header.svelte-acb1ez{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md);gap:var(--space-sm)}.fabric-name.svelte-acb1ez{font-size:var(--text-lg);color:var(--color-dark);margin:0}.fabric-cost.svelte-acb1ez{font-size:var(--text-lg);font-weight:600;color:var(--color-primary);white-space:nowrap;line-height:normal}.fabric-details.svelte-acb1ez{margin-bottom:var(--space-lg);flex:1}.detail-row.svelte-acb1ez{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-xs);font-size:var(--text-sm)}.detail-row.color-row.svelte-acb1ez{display:flex;justify-content:space-between;gap:var(--space-sm);align-items:flex-start}.detail-row.svelte-acb1ez:last-child{margin-bottom:0}.detail-label.svelte-acb1ez{color:var(--color-text-light);font-weight:500;white-space:nowrap;flex-shrink:0}.detail-value.svelte-acb1ez{color:var(--color-text);font-weight:400;text-align:right}.color-info.svelte-acb1ez{display:flex;align-items:center;gap:var(--space-xs);justify-content:flex-end;flex:1;max-width:75%}.color-list.svelte-acb1ez{color:var(--color-text);font-weight:400;text-align:right;word-wrap:break-word}.color-dot.svelte-acb1ez{width:16px;height:16px;border-radius:50%;border:1px solid var(--color-border)}.fabric-actions.svelte-acb1ez{border-top:1px solid var(--color-border);padding-top:var(--space-md);margin-top:auto}.add-to-cart-btn.svelte-acb1ez{width:100%;padding:var(--space-md);background:var(--color-primary);color:var(--color-light);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:all var(--transition-base)}@media (hover: hover){.add-to-cart-btn.svelte-acb1ez:hover:not(:disabled){background:var(--color-dark);transform:translateY(-1px)}}.fabric-grid.compact.svelte-acb1ez{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:var(--space-md)}.fabric-grid.compact.svelte-acb1ez .fabric-image:where(.svelte-acb1ez){aspect-ratio:1 / 1}.fabric-grid.compact.svelte-acb1ez .fabric-info:where(.svelte-acb1ez){padding:var(--space-sm) var(--space-md)}.fabric-grid.compact.svelte-acb1ez .fabric-header:where(.svelte-acb1ez){margin-bottom:var(--space-xs)}.fabric-grid.compact.svelte-acb1ez .fabric-name:where(.svelte-acb1ez){font-size:var(--text-sm)}.fabric-grid.compact.svelte-acb1ez .fabric-cost:where(.svelte-acb1ez){font-size:var(--text-sm)}.fabric-grid.compact.svelte-acb1ez .fabric-details:where(.svelte-acb1ez){margin-bottom:var(--space-sm)}.fabric-grid.compact.svelte-acb1ez .detail-row:where(.svelte-acb1ez){font-size:var(--text-xs)}.fabric-grid.compact.svelte-acb1ez .fabric-actions:where(.svelte-acb1ez){padding-top:var(--space-sm)}.fabric-grid.compact.svelte-acb1ez .add-to-cart-btn:where(.svelte-acb1ez){padding:var(--space-sm);font-size:var(--text-xs)}.fabric-grid.list.svelte-acb1ez{grid-template-columns:1fr;gap:var(--space-md)}.fabric-grid.list.svelte-acb1ez .fabric-card:where(.svelte-acb1ez){flex-direction:row;align-items:stretch}.fabric-grid.list.svelte-acb1ez .fabric-image:where(.svelte-acb1ez){width:240px;height:240px;min-width:240px;flex-shrink:0;padding:var(--space-md);background:transparent}.fabric-grid.list.svelte-acb1ez .fabric-image:where(.svelte-acb1ez) img:where(.svelte-acb1ez){border-radius:var(--radius-md)}.fabric-grid.list.svelte-acb1ez .fabric-header:where(.svelte-acb1ez){justify-content:flex-start}.fabric-grid.list.svelte-acb1ez .fabric-info:where(.svelte-acb1ez){flex:1;justify-content:center}.fabric-grid.list.svelte-acb1ez .fabric-actions:where(.svelte-acb1ez){border-top:none;padding-top:0;margin-top:var(--space-sm);display:flex;justify-content:flex-end}.fabric-grid.list.svelte-acb1ez .add-to-cart-btn:where(.svelte-acb1ez){width:auto}@media (max-width: 767px){.fabric-grid.svelte-acb1ez:not(.compact):not(.list){grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-lg);padding:var(--space-md)}.fabric-grid.svelte-acb1ez:not(.compact):not(.list) .fabric-header:where(.svelte-acb1ez){align-items:flex-start}.fabric-grid.svelte-acb1ez:not(.compact):not(.list) .fabric-cost:where(.svelte-acb1ez){align-self:flex-end}}@media (min-width: 768px) and (max-width: 1023px){.fabric-grid.svelte-acb1ez:not(.compact):not(.list){grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}}@media (min-width: 1024px){.fabric-grid.svelte-acb1ez:not(.compact):not(.list){grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media (max-width: 767px){.fabric-grid.compact.svelte-acb1ez{grid-template-columns:repeat(2,1fr);gap:var(--space-sm);padding:var(--space-sm)}.fabric-grid.compact.svelte-acb1ez .detail-color:where(.svelte-acb1ez),.fabric-grid.compact.svelte-acb1ez .detail-repeat:where(.svelte-acb1ez){display:none}.fabric-grid.compact.svelte-acb1ez .fabric-details:where(.svelte-acb1ez){margin-bottom:var(--space-xs)}}@media (min-width: 768px) and (max-width: 1023px){.fabric-grid.compact.svelte-acb1ez{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (min-width: 1024px){.fabric-grid.compact.svelte-acb1ez{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}@media (max-width: 767px){.fabric-grid.list.svelte-acb1ez{padding:var(--space-sm)}.fabric-grid.list.svelte-acb1ez .fabric-image:where(.svelte-acb1ez){width:110px;height:110px;min-width:110px;padding:var(--space-sm)}.fabric-grid.list.svelte-acb1ez .fabric-info:where(.svelte-acb1ez){padding:var(--space-sm) var(--space-md)}.fabric-grid.list.svelte-acb1ez .fabric-name:where(.svelte-acb1ez){font-size:var(--text-md)}.fabric-grid.list.svelte-acb1ez .fabric-cost:where(.svelte-acb1ez){font-size:var(--text-md)}.fabric-grid.list.svelte-acb1ez .detail-row:where(.svelte-acb1ez){font-size:var(--text-xs)}.fabric-grid.list.svelte-acb1ez .detail-color:where(.svelte-acb1ez),.fabric-grid.list.svelte-acb1ez .detail-repeat:where(.svelte-acb1ez),.fabric-grid.list.svelte-acb1ez .detail-type:where(.svelte-acb1ez){display:none}.fabric-grid.list.svelte-acb1ez .add-to-cart-btn:where(.svelte-acb1ez){padding:var(--space-sm);font-size:var(--text-xs)}}@media (min-width: 768px) and (max-width: 1023px){.fabric-grid.list.svelte-acb1ez .fabric-image:where(.svelte-acb1ez){width:210px;min-width:210px}}.image-modal-overlay.svelte-acb1ez{position:fixed;top:0;left:0;right:0;bottom:0;background:#faf8f5f2;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-xl)}.image-modal-content.svelte-acb1ez{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.image-modal-img.svelte-acb1ez{max-width:100%;max-height:80vh;object-fit:contain;border-radius:var(--radius-md);box-shadow:0 12px 48px #3d332859,0 4px 16px #3d332833}.image-modal-name.svelte-acb1ez{color:var(--color-text);font-size:var(--text-lg);margin-top:var(--space-md);text-align:center}.image-modal-close.svelte-acb1ez{position:absolute;top:-40px;right:-4px;background:none;border:none;color:var(--color-text);cursor:pointer;padding:var(--space-xs);opacity:.8;transition:opacity var(--transition-base)}@media (hover: hover){.image-modal-close.svelte-acb1ez:hover{opacity:1}}.fabrics-page.svelte-1xda40t{position:relative;min-height:100vh}.sidebar-overlay.svelte-1xda40t{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:499}.page-container.svelte-1xda40t{display:flex;min-height:calc(100vh - 140px);position:relative}.main-content.svelte-1xda40t{flex:1;width:100%}.page-header.svelte-1xda40t{background:var(--color-light);padding:var(--space-2xl) 0 var(--space-xl) 0;border-bottom:1px solid var(--color-border)}.page-eyebrow.svelte-1xda40t{font-size:var(--text-xs);font-weight:500;letter-spacing:.35em;text-transform:uppercase;color:var(--color-accent);margin-bottom:var(--space-sm);text-align:center}.page-header.svelte-1xda40t h1:where(.svelte-1xda40t){font-size:var(--text-4xl);font-weight:400;color:var(--color-dark);margin-bottom:var(--space-sm);text-align:center}.header-ornament.svelte-1xda40t{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.ornament-diamond.svelte-1xda40t{width:6px;height:6px;background:var(--color-accent);transform:rotate(45deg)}.ornament-line.svelte-1xda40t{width:48px;height:1px;background:var(--color-secondary)}.page-subtitle.svelte-1xda40t{font-size:var(--text-lg);font-style:italic;color:var(--color-text-light);text-align:center;max-width:600px;margin:0 auto;line-height:1.6}.pagination-section.svelte-1xda40t{background:var(--color-light);border-top:1px solid var(--color-border);margin-top:var(--space-2xl)}@media (min-width: 1024px){.sidebar-overlay.svelte-1xda40t{display:none}.page-container.svelte-1xda40t{max-width:1400px;margin:0 auto;display:flex;gap:0;align-items:flex-start}.sidebar-wrapper.svelte-1xda40t{position:sticky;top:140px;height:calc(100vh - 140px);width:280px;flex-shrink:0}.main-content.svelte-1xda40t{margin-left:0;flex:1}.page-header.svelte-1xda40t{padding:var(--space-3xl) 0 var(--space-2xl) 0}.page-header.svelte-1xda40t h1:where(.svelte-1xda40t){font-size:var(--text-4xl)}}.floating-filter-wrapper.svelte-1xda40t{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:100;animation:svelte-1xda40t-slideIn .3s ease-out forwards}.floating-filter-wrapper.hiding.svelte-1xda40t{animation:svelte-1xda40t-slideOut .3s ease-out forwards;pointer-events:none}.floating-filter-btn.svelte-1xda40t{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-primary);color:var(--color-light);border:none;border-radius:50px;box-shadow:0 4px 12px #00000026,0 2px 4px #0000001a;font-size:var(--text-base);font-weight:500;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}@media (hover: hover){.floating-filter-btn.svelte-1xda40t:hover{transform:scale(1.05);box-shadow:0 6px 16px #0003,0 3px 6px #00000026}}.floating-filter-btn.svelte-1xda40t:active{transform:scale(.98)}.floating-filter-btn.svelte-1xda40t svg:where(.svelte-1xda40t){flex-shrink:0}@keyframes svelte-1xda40t-slideIn{0%{transform:translateY(100px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes svelte-1xda40t-slideOut{0%{transform:translateY(0);opacity:1}to{transform:translateY(100px);opacity:0}}@media (max-width: 767px){.sidebar-wrapper.svelte-1xda40t{display:contents}.page-header.svelte-1xda40t{padding:var(--space-xl) 0}.page-header.svelte-1xda40t h1:where(.svelte-1xda40t){font-size:var(--text-3xl)}.page-subtitle.svelte-1xda40t{font-size:var(--text-base)}}@media (min-width: 1024px){.floating-filter-wrapper.svelte-1xda40t{display:none}}@media (min-width: 768px) and (max-width: 1023px){.sidebar-wrapper.svelte-1xda40t{display:contents}.main-content.svelte-1xda40t{width:100%}.sidebar-overlay.svelte-1xda40t{display:block}}
