.category-page{background-color:var(--color-ivory);width:100%;padding-bottom:var(--space-24)}.cp__header{padding-top:var(--space-10);padding-bottom:var(--space-6);gap:var(--space-5);flex-direction:column;display:flex}.cp__back-btn{align-items:center;gap:var(--space-2);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);transition:color var(--duration-fast) var(--ease-smooth);background:0 0;border:none;width:fit-content;padding:0;display:inline-flex}.cp__back-btn:hover{color:var(--color-forest)}.cp__header-text{gap:var(--space-2);flex-direction:column;display:flex}.cp__heading{font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:var(--weight-light);color:var(--color-text-primary);line-height:var(--leading-snug);margin:0}.cp__subheading{font-family:var(--font-display);font-style:italic;font-size:var(--text-base);color:var(--color-text-muted);margin:0}.cp__controls{justify-content:space-between;align-items:center;gap:var(--space-4);padding-bottom:var(--space-2);flex-wrap:wrap;display:flex}.cp__search-wrapper{flex:1;align-items:center;max-width:420px;display:flex;position:relative}.cp__search-icon{left:var(--space-3);color:var(--color-text-muted);pointer-events:none;align-items:center;display:flex;position:absolute}.cp__search-input{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-3) + 24px);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-linen);border-radius:var(--radius-sm);transition:border-color var(--duration-fast) var(--ease-smooth), background var(--duration-fast) var(--ease-smooth);border:1px solid #0000;outline:none}.cp__search-input::placeholder{color:var(--color-text-muted)}.cp__search-input:focus{background:var(--color-ivory);border-color:#8b77654d}.cp__search-clear{right:var(--space-2);border-radius:var(--radius-full);cursor:pointer;width:22px;height:22px;color:var(--color-text-muted);transition:background var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth);background:#8b776526;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.cp__search-clear:hover{color:var(--color-text-primary);background:#8b776547}.cp__sort-area{align-items:center;gap:var(--space-4);flex-shrink:0;display:flex}.cp__count{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap}.cp__count strong{font-weight:var(--weight-semibold);color:var(--color-text-primary)}.cp__dropdown-wrapper{position:relative}.cp__sort-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-primary);border:var(--border-thin);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;transition:background var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth), border-color var(--duration-fast) var(--ease-smooth);background:0 0;display:inline-flex}.cp__sort-btn:hover{background:var(--color-linen);color:var(--color-forest)}.cp__sort-btn.has-filters{border-color:var(--color-forest);color:var(--color-forest)}.cp__sort-btn-label{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.cp__sort-prefix{font-size:.58rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted);line-height:1}.cp__sort-current{font-size:var(--text-sm);font-weight:var(--weight-regular);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:160px;line-height:1.2;overflow:hidden}.cp__filter-count{background:var(--color-forest);min-width:18px;height:18px;color:var(--color-ivory);font-size:10px;font-weight:var(--weight-semibold);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;padding:0 4px;display:inline-flex}.cp__sort-chevron{color:var(--color-text-muted);transition:transform var(--duration-normal) var(--ease-smooth);flex-shrink:0;align-items:center;display:inline-flex}.cp__sort-chevron.open{transform:rotate(180deg)}.cp__dropdown{background:var(--color-ivory);border-radius:var(--radius-lg);min-width:210px;z-index:var(--z-overlay);border:1px solid #8b776524;animation:.18s cubic-bezier(.16,1,.3,1) both cp-dropdown-in;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden;box-shadow:0 4px 6px -1px #0000000a,0 16px 40px #0000001a,inset 0 1px #fffc}@keyframes cp-dropdown-in{0%{opacity:0;transform:translateY(-6px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.cp__dropdown-section-title{font-family:var(--font-body);font-size:.62rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-widest);text-transform:uppercase;color:var(--color-text-muted);padding:var(--space-3) var(--space-4) var(--space-2);margin:0}.cp__dropdown-option{text-align:left;width:100%;padding:var(--space-2) var(--space-4);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.cp__dropdown-option:hover{color:var(--color-text-primary);background:#8b776512}.cp__dropdown-option--active{color:var(--color-forest);font-weight:var(--weight-medium)}.cp__dropdown-footer{padding:var(--space-3) var(--space-4);border-top:1px solid #8b77651a}.cp__dropdown-reset{width:100%;padding:var(--space-2) 0;color:var(--color-text-muted);border:var(--border-thin);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;cursor:pointer;transition:color var(--duration-fast) var(--ease-smooth), background var(--duration-fast) var(--ease-smooth);background:0 0}.cp__dropdown-reset:hover{background:var(--color-linen);color:var(--color-text-primary)}.cp__tabs-wrapper{background-color:var(--color-ivory);border-bottom:var(--border-thin);width:100%;top:var(--navbar-height);z-index:var(--z-raised);box-shadow:var(--shadow-xs);margin-bottom:var(--space-8);position:sticky}.cp__tabs-scroll{scrollbar-width:none;-ms-overflow-style:none;align-items:center;display:flex;overflow-x:auto}.cp__tabs-scroll::-webkit-scrollbar{display:none}.cp__tab{padding:var(--space-4) var(--space-5);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-text-muted);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-smooth), border-color var(--duration-fast) var(--ease-smooth);background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;margin-bottom:-1px;display:inline-flex}.cp__tab:hover{color:var(--color-forest)}.cp__tab--active{color:var(--color-text-primary);border-bottom-color:var(--color-text-primary);font-weight:var(--weight-semibold)}.cp__grid-section{padding-bottom:var(--space-10)}.cp__grid{gap:var(--space-12) var(--space-8);grid-template-columns:repeat(3,1fr);display:grid}.cp__empty{text-align:center;padding:var(--space-16) 0;align-items:center;gap:var(--space-4);flex-direction:column;grid-column:1/-1;display:flex}.cp__empty-text{font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);color:var(--color-text-muted)}.cp__empty-reset{font-family:var(--font-body);font-size:var(--text-sm);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-forest);border:1px solid var(--color-forest);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-5);cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth), color var(--duration-fast) var(--ease-smooth);background:0 0}.cp__empty-reset:hover{background:var(--color-forest);color:var(--color-ivory)}.cp__card{transform:rotate(var(--card-rotate,0deg));transition:transform var(--duration-normal) var(--ease-spring), filter var(--duration-normal) var(--ease-smooth);cursor:pointer;filter:drop-shadow(2px 5px 16px #1e1e1421);flex-direction:column;margin-top:18px;display:flex;position:relative}.cp__card:hover{z-index:var(--z-raised);filter:drop-shadow(4px 12px 28px #1e1e1433);transform:rotate(0)translateY(-6px)}.cp__card-tape{opacity:.68;z-index:2;border-radius:2px;width:78px;height:31px;position:absolute;top:-14px;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0000001f}.cp__card-img-wrapper{aspect-ratio:1;background:var(--color-linen);border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:6px solid var(--color-ivory);box-sizing:border-box;border-bottom:none;width:100%;position:relative;overflow:hidden}.cp__card-img{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform var(--duration-slow) var(--ease-smooth)}.cp__card:hover .cp__card-img{transform:scale(1.05)}.cp__badge{top:var(--space-2);left:var(--space-2);font-family:var(--font-body);font-size:.6rem;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-ivory);padding:3px var(--space-2);border-radius:var(--radius-sm);position:absolute}.cp__badge--bestseller{background:var(--color-terracotta)}.cp__badge--new{background:var(--color-gold)}.cp__badge--limited{background:var(--color-forest)}.cp__badge--exclusive{background:var(--color-text-primary)}.cp__badge--sale{background:var(--color-terracotta)}.cp__wishlist-btn{top:var(--space-2);right:var(--space-2);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(4px);width:32px;height:32px;color:var(--color-text-muted);cursor:pointer;box-shadow:var(--shadow-xs);transition:color var(--duration-fast) var(--ease-smooth), transform var(--duration-fast) var(--ease-spring);background:#faf7f2e6;border:none;justify-content:center;align-items:center;display:flex;position:absolute}.cp__wishlist-btn:hover{color:var(--color-terracotta);transform:scale(1.12)}.cp__wishlist-btn--active{color:var(--color-terracotta)}.cp__wishlist-btn--active svg{fill:var(--color-terracotta);stroke:var(--color-terracotta)}.cp__card-info{background:var(--color-ivory);padding:var(--space-3) var(--space-4) var(--space-6);border:6px solid var(--color-ivory);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-sizing:border-box;border-top:none;box-shadow:inset 0 1px #0000000d}.cp__card-name{font-family:var(--font-display);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-primary);line-height:var(--leading-snug);margin-bottom:2px}.cp__card-craft{font-family:var(--font-body);font-size:.68rem;font-weight:var(--weight-regular);letter-spacing:var(--tracking-wide);color:var(--color-text-muted);margin-bottom:var(--space-3)}.cp__card-footer{justify-content:space-between;align-items:center;display:flex}.cp__card-price{align-items:baseline;gap:var(--space-2);display:flex}.cp__price-current{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary)}.cp__price-original{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-muted);text-decoration:line-through}.cp__card-rating{align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-secondary);display:flex}.cp__bespoke-wrapper{padding-top:var(--space-8)}.cp__bespoke{border-radius:var(--radius-lg);padding:var(--space-16) var(--space-12);text-align:center;background:#9b3e2a;position:relative;overflow:hidden}.cp__bespoke-watermark{font-family:var(--font-display);font-size:clamp(4rem,14vw,11rem);font-weight:var(--weight-semibold);color:#ffffff0a;letter-spacing:var(--tracking-widest);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cp__bespoke-eyebrow{font-family:var(--font-display);font-style:italic;font-size:var(--text-base);color:var(--color-gold);margin-bottom:var(--space-4);z-index:1;line-height:1;position:relative}.cp__bespoke-heading{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,3.5rem);font-weight:var(--weight-light);color:var(--color-ivory);line-height:var(--leading-snug);margin-bottom:var(--space-5);z-index:1;position:relative}.cp__bespoke-heading em{font-style:italic;font-weight:var(--weight-light)}.cp__bespoke-body{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-light);color:#faf7f29e;line-height:var(--leading-loose);max-width:440px;margin:0 auto var(--space-8);z-index:1;position:relative}.cp__bespoke-btn{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);background:var(--color-gold);color:var(--color-ivory);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;border-radius:var(--radius-sm);cursor:pointer;z-index:1;transition:background var(--duration-normal) var(--ease-smooth), transform var(--duration-normal) var(--ease-spring);border:none;display:inline-flex;position:relative}.cp__bespoke-btn:hover{background:var(--color-gold-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cp__not-found{justify-content:center;align-items:center;gap:var(--space-6);min-height:50vh;font-family:var(--font-display);font-style:italic;font-size:var(--text-xl);color:var(--color-text-muted);flex-direction:column;display:flex}@media (max-width:1024px){.cp__grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:860px){.cp__tabs-wrapper{top:var(--navbar-height-mobile)}.cp__controls{flex-direction:column;align-items:stretch}.cp__search-wrapper{max-width:100%}.cp__sort-area{justify-content:space-between}}@media (max-width:600px){.cp__grid{gap:var(--space-10) var(--space-4);grid-template-columns:repeat(2,1fr)}.cp__card-name{font-size:var(--text-sm)}.cp__bespoke{padding:var(--space-10) var(--space-5);border-radius:var(--radius-md)}.cp__bespoke-heading{font-size:var(--text-2xl)}.cp__bespoke-btn{padding:var(--space-3) var(--space-6);font-size:var(--text-xs)}.cp__dropdown{left:0;right:auto}}@media (max-width:400px){.cp__grid{gap:var(--space-10);grid-template-columns:1fr}.cp__card{max-width:320px;margin:18px auto 0}}
