@import"https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;500;600;700&family=Libre+Baskerville:wght@400;700&family=DM+Sans:wght@400;500;600&display=swap";@-webkit-keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@keyframes notyf-fadeinup{0%{opacity:0;transform:translateY(25%)}to{opacity:1;transform:translateY(0)}}@-webkit-keyframes notyf-fadeinleft{0%{opacity:0;transform:translate(25%)}to{opacity:1;transform:translate(0)}}@keyframes notyf-fadeinleft{0%{opacity:0;transform:translate(25%)}to{opacity:1;transform:translate(0)}}@-webkit-keyframes notyf-fadeoutright{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(25%)}}@keyframes notyf-fadeoutright{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(25%)}}@-webkit-keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@keyframes notyf-fadeoutdown{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(25%)}}@-webkit-keyframes ripple{0%{transform:scale(0) translateY(-45%) translate(13%)}to{transform:scale(1) translateY(-45%) translate(13%)}}@keyframes ripple{0%{transform:scale(0) translateY(-45%) translate(13%)}to{transform:scale(1) translateY(-45%) translate(13%)}}.notyf{position:fixed;top:0;left:0;height:100%;width:100%;color:#fff;z-index:9999;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;pointer-events:none;box-sizing:border-box;padding:20px}.notyf__icon--error,.notyf__icon--success{height:21px;width:21px;background:#fff;border-radius:50%;display:block;margin:0 auto;position:relative}.notyf__icon--error:after,.notyf__icon--error:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px;left:9px;height:12px;top:5px}.notyf__icon--error:after{transform:rotate(-45deg)}.notyf__icon--error:before{transform:rotate(45deg)}.notyf__icon--success:after,.notyf__icon--success:before{content:"";background:currentColor;display:block;position:absolute;width:3px;border-radius:3px}.notyf__icon--success:after{height:6px;transform:rotate(-45deg);top:9px;left:6px}.notyf__icon--success:before{height:11px;transform:rotate(45deg);top:5px;left:10px}.notyf__toast{display:block;overflow:hidden;pointer-events:auto;-webkit-animation:notyf-fadeinup .3s ease-in forwards;animation:notyf-fadeinup .3s ease-in forwards;box-shadow:0 3px 7px #00000040;position:relative;padding:0 15px;border-radius:2px;max-width:300px;transform:translateY(25%);box-sizing:border-box;flex-shrink:0}.notyf__toast--disappear{transform:translateY(0);-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s}.notyf__toast--disappear .notyf__icon,.notyf__toast--disappear .notyf__message{-webkit-animation:notyf-fadeoutdown .3s forwards;animation:notyf-fadeoutdown .3s forwards;opacity:1;transform:translateY(0)}.notyf__toast--disappear .notyf__dismiss{-webkit-animation:notyf-fadeoutright .3s forwards;animation:notyf-fadeoutright .3s forwards;opacity:1;transform:translate(0)}.notyf__toast--disappear .notyf__message{-webkit-animation-delay:.05s;animation-delay:.05s}.notyf__toast--upper{margin-bottom:20px}.notyf__toast--lower{margin-top:20px}.notyf__toast--dismissible .notyf__wrapper{padding-right:30px}.notyf__ripple{height:400px;width:400px;position:absolute;transform-origin:bottom right;right:0;top:0;border-radius:50%;transform:scale(0) translateY(-51%) translate(13%);z-index:5;-webkit-animation:ripple .4s ease-out forwards;animation:ripple .4s ease-out forwards}.notyf__wrapper{display:flex;align-items:center;padding-top:17px;padding-bottom:17px;padding-right:15px;border-radius:3px;position:relative;z-index:10}.notyf__icon{width:22px;text-align:center;font-size:1.3em;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.3s;animation-delay:.3s;margin-right:13px}.notyf__dismiss{position:absolute;top:0;right:0;height:100%;width:26px;margin-right:-15px;-webkit-animation:notyf-fadeinleft .3s forwards;animation:notyf-fadeinleft .3s forwards;-webkit-animation-delay:.35s;animation-delay:.35s;opacity:0}.notyf__dismiss-btn{background-color:#00000040;border:none;cursor:pointer;transition:opacity .2s ease,background-color .2s ease;outline:none;opacity:.35;height:100%;width:100%}.notyf__dismiss-btn:after,.notyf__dismiss-btn:before{content:"";background:#fff;height:12px;width:2px;border-radius:3px;position:absolute;left:calc(50% - 1px);top:calc(50% - 5px)}.notyf__dismiss-btn:after{transform:rotate(-45deg)}.notyf__dismiss-btn:before{transform:rotate(45deg)}.notyf__dismiss-btn:hover{opacity:.7;background-color:#00000026}.notyf__dismiss-btn:active{opacity:.8}.notyf__message{vertical-align:middle;position:relative;opacity:0;-webkit-animation:notyf-fadeinup .3s forwards;animation:notyf-fadeinup .3s forwards;-webkit-animation-delay:.25s;animation-delay:.25s;line-height:1.5em}@media only screen and (max-width:480px){.notyf{padding:0}.notyf__ripple{height:600px;width:600px;-webkit-animation-duration:.5s;animation-duration:.5s}.notyf__toast{max-width:none;border-radius:0;box-shadow:0 -2px 7px #00000021;width:100%}.notyf__dismiss{width:56px}}:root{--color-ink: #1a1a1a;--color-ink-light: #4a4a4a;--color-ink-muted: #8a8a8a;--color-paper: #faf9f7;--color-paper-warm: #f5f3ef;--color-cream: #ece8e1;--color-accent: #c4956a;--color-accent-dark: #a67c52;--color-forest: #2d4a3e;--color-forest-light: #3d5f4f;--color-error: #c45c4b;--font-display: "Libre Baskerville", Georgia, serif;--font-body: "DM Sans", -apple-system, sans-serif;--radius-sm: 4px;--radius-md: 8px}*{box-sizing:border-box}.demo-toolbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:8px 20px;background:#1a1a2e;font-family:Work Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.demo-toolbar a{display:flex;align-items:center;gap:10px;text-decoration:none;color:#5fa6a6;font-size:1.25rem}.demo-toolbar a:hover{opacity:.8}.demo-toolbar .logo{height:40px;width:auto}.demo-toolbar .brand-wf{font-weight:520}.demo-toolbar .brand-js{font-weight:700}.demo-toolbar .demo-info{font-size:12px;color:#ffffffb3;text-align:right}.demo-toolbar .demo-info strong{color:#fff}body{font-family:var(--font-body);margin:0;padding:58px 0 0;background:var(--color-paper);color:var(--color-ink);line-height:1.5;-webkit-font-smoothing:antialiased}header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 2.5rem;background:var(--color-ink);color:var(--color-paper)}header h1{margin:0;font-family:var(--font-display);font-size:1.75rem;font-weight:500;letter-spacing:.02em}.header-actions{display:flex;gap:1rem;align-items:center}.cart-btn{background:transparent;color:var(--color-paper);border:1px solid rgba(255,255,255,.3);padding:.6rem 1.25rem;border-radius:2px;cursor:pointer;font-family:var(--font-body);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.6rem;transition:all .2s ease;letter-spacing:.03em;text-transform:uppercase}.cart-btn:hover{background:#ffffff1a;border-color:#ffffff80}.cart-badge{background:var(--color-accent);color:var(--color-ink);padding:.15rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.filter-bar{background:var(--color-paper-warm);padding:1rem 2.5rem;border-bottom:1px solid var(--color-cream);display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}.filter-bar label{font-size:.8rem;font-weight:500;color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.08em}.filter-bar select{padding:.6rem .75rem;border:1px solid var(--color-cream);border-radius:2px;font-size:.9rem;font-family:var(--font-body);background:var(--color-paper);color:var(--color-ink);cursor:pointer}.filter-bar select:focus{outline:none;border-color:var(--color-accent)}.filter-bar input[type=text]{padding:.6rem .75rem;border:1px solid var(--color-cream);border-radius:2px;font-size:.9rem;font-family:var(--font-body);width:220px;background:var(--color-paper)}.filter-bar input[type=text]:focus{outline:none;border-color:var(--color-accent)}main{padding:2.5rem;max-width:1400px;margin:0 auto}.product-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.product-card{background:var(--color-paper);border:1px solid var(--color-cream);overflow:hidden;transition:all .3s ease;position:relative;border-radius:var(--radius-md)}.product-card:hover{border-color:var(--color-ink-muted)}.product-card:hover .product-image{transform:scale(1.02)}.product-image{height:140px;background:var(--color-paper-warm);display:flex;align-items:center;justify-content:center;font-size:3.5rem;transition:transform .4s ease;overflow:hidden}.product-image.apparel{background:linear-gradient(145deg,#f0ebe4,#e8e0d5)}.product-image.accessories{background:linear-gradient(145deg,#e4e8eb,#d5dce0)}.product-image.drinkware{background:linear-gradient(145deg,#e4ebe8,#d5e0dc)}.product-info{padding:1.5rem}.product-info h3{margin:0 0 .5rem;font-family:var(--font-display);font-size:1.35rem;font-weight:500;color:var(--color-ink);letter-spacing:.01em}.product-info .description{color:var(--color-ink-light);font-size:.875rem;margin:0 0 .75rem;line-height:1.6}.product-info .category-tag{display:inline-block;background:transparent;color:var(--color-ink-muted);padding:0;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.75rem;font-weight:500}.product-info .price{color:var(--color-ink);font-family:var(--font-display);font-weight:500;font-size:1.5rem;margin:.75rem 0;letter-spacing:.02em}.product-actions{display:flex;gap:.75rem;margin-top:1.25rem}.product-actions button{flex:1;padding:.75rem 1rem;border:none;cursor:pointer;font-family:var(--font-body);font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;transition:all .2s ease}.btn-add{background:var(--color-forest);color:var(--color-paper);border-radius:var(--radius-sm)}.btn-add:hover{background:var(--color-forest-light)}.btn-view{background:transparent;color:var(--color-ink);border:1px solid var(--color-cream)!important;border-radius:var(--radius-sm)}.btn-view:hover{border-color:var(--color-ink)!important}.in-cart-badge{position:absolute;top:1rem;right:1rem;background:var(--color-accent);color:var(--color-ink);padding:.35rem .7rem;font-size:.75rem;font-weight:600;letter-spacing:.02em;border-radius:var(--radius-sm);z-index:2}.product-detail{background:var(--color-paper);padding:3rem;max-width:800px;margin:0 auto;border:1px solid var(--color-cream)}.product-detail .back-btn{background:none;border:none;color:var(--color-ink-muted);cursor:pointer;font-family:var(--font-body);font-size:.85rem;margin-bottom:2rem;padding:0;letter-spacing:.03em;transition:color .2s ease}.product-detail .back-btn:hover{color:var(--color-ink)}.product-detail h1{margin:0 0 1rem;font-family:var(--font-display);font-size:2.5rem;font-weight:500;color:var(--color-ink);letter-spacing:.01em}.product-detail .price{color:var(--color-ink);font-family:var(--font-display);font-weight:500;font-size:2rem;margin:1.5rem 0;letter-spacing:.02em}.product-detail .description{color:var(--color-ink-light);line-height:1.8;font-size:1.05rem}.product-detail .add-btn{background:var(--color-forest);color:var(--color-paper);border:none;padding:1rem 2.5rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;margin-top:2rem;transition:background .2s ease;border-radius:var(--radius-sm)}.product-detail .add-btn:hover{background:var(--color-forest-light)}.cart-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a66;z-index:99;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cart-drawer{position:fixed;right:0;top:0;width:420px;max-width:100%;height:100vh;background:var(--color-paper);box-shadow:-8px 0 32px #0000001f;z-index:100;display:flex;flex-direction:column}.cart-header{padding:1.75rem 1.5rem;border-bottom:1px solid var(--color-cream);display:flex;justify-content:space-between;align-items:center}.cart-header h2{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:500;color:var(--color-ink)}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-ink-muted);line-height:1;transition:color .2s ease}.close-btn:hover{color:var(--color-ink)}.cart-items{flex:1;overflow-y:auto;padding:1.25rem}.cart-empty{text-align:center;padding:4rem 1.5rem;color:var(--color-ink-muted)}.cart-empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.cart-item{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--color-paper-warm);margin-bottom:.75rem;border:1px solid var(--color-cream)}.cart-item-info{flex:1}.cart-item-info .name{font-weight:500;color:var(--color-ink);margin:0 0 .3rem;font-size:.95rem}.cart-item-info .price{color:var(--color-ink-light);font-size:.875rem}.cart-item-qty{display:flex;align-items:center;gap:.5rem}.cart-item-qty button{width:30px;height:30px;border:1px solid var(--color-cream);background:var(--color-paper);cursor:pointer;font-size:1rem;color:var(--color-ink);transition:all .15s ease}.cart-item-qty button:hover{background:var(--color-cream)}.cart-item-qty span{min-width:28px;text-align:center;font-weight:500;font-size:.9rem}.cart-item-remove{background:none;border:none;color:var(--color-ink-muted);cursor:pointer;font-size:.8rem;font-family:var(--font-body);letter-spacing:.02em;transition:color .2s ease}.cart-item-remove:hover{color:var(--color-error)}.cart-footer{padding:1.5rem;border-top:1px solid var(--color-cream);background:var(--color-paper-warm)}.cart-total{display:flex;justify-content:space-between;font-size:1.1rem;margin-bottom:1.25rem;color:var(--color-ink)}.cart-total span:last-child{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.checkout-btn{width:100%;background:var(--color-ink);color:var(--color-paper);border:none;padding:1rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease;border-radius:var(--radius-sm)}.checkout-btn:hover{background:var(--color-ink-light)}.checkout-btn:disabled{background:var(--color-cream);color:var(--color-ink-muted);cursor:not-allowed}.checkout-view{background:var(--color-paper);padding:3rem;max-width:600px;margin:0 auto;border:1px solid var(--color-cream)}.checkout-view h2{margin:0 0 2rem;font-family:var(--font-display);font-size:2rem;font-weight:500;color:var(--color-ink)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-size:.75rem;font-weight:500;color:var(--color-ink-muted);text-transform:uppercase;letter-spacing:.1em}.form-group input,.form-group textarea{width:100%;padding:.875rem 1rem;border:1px solid var(--color-cream);background:var(--color-paper);font-family:var(--font-body);font-size:1rem;color:var(--color-ink);transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-ink)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.order-summary{background:var(--color-paper-warm);padding:1.5rem;border:1px solid var(--color-cream);margin:2rem 0}.order-summary h3{margin:0 0 1.25rem;font-family:var(--font-display);font-size:1.15rem;font-weight:500;color:var(--color-ink)}.order-line{display:flex;justify-content:space-between;margin-bottom:.6rem;color:var(--color-ink-light);font-size:.95rem}.order-line.total{font-weight:500;font-size:1.1rem;color:var(--color-ink);border-top:1px solid var(--color-cream);padding-top:.75rem;margin-top:.75rem}.btn-row{display:flex;gap:1rem;margin-top:2rem}.btn-back{background:transparent;color:var(--color-ink);border:1px solid var(--color-cream);padding:1rem 2rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:all .2s ease;border-radius:var(--radius-sm)}.btn-back:hover{border-color:var(--color-ink)}.btn-place-order{flex:1;background:var(--color-forest);color:var(--color-paper);border:none;padding:1rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease;border-radius:var(--radius-sm)}.btn-place-order:hover{background:var(--color-forest-light)}.confirmation{text-align:center;padding:4rem 2rem}.confirmation-icon{font-size:4rem;color:var(--color-forest);margin-bottom:1.5rem}.confirmation h2{font-family:var(--font-display);font-size:2rem;font-weight:500;color:var(--color-ink);margin-bottom:.75rem}.confirmation p{color:var(--color-ink-light);margin-bottom:2.5rem;font-size:1.05rem}.btn-continue{background:var(--color-ink);color:var(--color-paper);border:none;padding:1rem 2.5rem;font-family:var(--font-body);font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .2s ease}.btn-continue:hover{background:var(--color-ink-light)}.no-results{text-align:center;padding:4rem;color:var(--color-ink-muted)}.no-results-icon{font-size:2.5rem;margin-bottom:1rem;opacity:.5}.form-group input.invalid,.form-group textarea.invalid{border-color:var(--color-error);background:#fdf6f5}.error-message{display:none;color:var(--color-error);font-size:.8rem;margin-top:.35rem;font-weight:500}.form-group input:focus.invalid{border-color:var(--color-error);box-shadow:0 0 0 2px #c45c4b1a}
