.layout{flex-direction:column;min-height:100vh;display:flex}.site-header{background:var(--color-surface);border-bottom:2px solid var(--color-purple);z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.header-content{align-items:center;gap:1.5rem;max-width:1200px;margin:0 auto;padding:.75rem 1.5rem;display:flex}.header-logo-link{flex-shrink:0}.header-logo{border-radius:8px;width:auto;height:50px}.header-nav{flex-wrap:wrap;flex:1;justify-content:center;gap:1rem;display:flex}.header-nav a{color:var(--color-text);border-radius:8px;padding:.4rem .8rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s}.header-nav a:hover{background:var(--color-purple);color:#fff}.cart-link{color:var(--color-text);border-radius:8px;align-items:center;padding:.5rem;transition:background .2s;display:flex;position:relative}.cart-link:hover{background:var(--color-surface-hover)}.cart-icon{width:28px;height:28px}.cart-badge{background:var(--color-pink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-2px;right:-2px}.site-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.site-footer{background:var(--color-surface);border-top:2px solid var(--color-purple);margin-top:auto}.footer-content{text-align:center;max-width:1200px;margin:0 auto;padding:2rem 1.5rem}.footer-brand h3{font-family:var(--font-display);background:var(--gradient-rainbow);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.25rem;font-size:1.3rem}.footer-brand p{color:var(--color-text-muted);font-size:.9rem}.footer-social{justify-content:center;gap:1rem;margin:1rem 0;display:flex}.footer-social a{color:var(--color-text-muted);transition:color .2s}.footer-social a:hover{color:var(--color-pink)}.footer-social svg{width:24px;height:24px}.footer-copy{color:var(--color-text-muted);margin-top:1rem;font-size:.8rem}@media (width<=768px){.header-content{flex-wrap:wrap;justify-content:center;gap:.75rem}.header-nav{order:3;justify-content:center;gap:.5rem;width:100%}.header-nav a{padding:.3rem .6rem;font-size:.85rem}.header-logo{height:40px}}.home{flex-direction:column;align-items:center;gap:3rem;display:flex}.hero-section{text-align:center;padding:1rem 0 2rem}.hero-title{font-family:var(--font-display);background:var(--gradient-rainbow);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2rem;font-weight:700;animation:3s ease-in-out infinite shimmer}@keyframes shimmer{0%,to{background-position:0%}50%{background-position:100%}}.hero-subtitle{color:var(--color-purple-light);letter-spacing:.5px;margin-bottom:1.5rem;font-size:1.1rem;font-weight:600}.hero-logo{border-radius:16px;width:100%;max-width:700px;height:auto;box-shadow:0 8px 40px #8b5cf64d}.category-nav{grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%;max-width:600px;display:grid}.category-btn{border:2px solid #0000;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:2rem 1.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:flex}.category-btn:hover{transform:translateY(-4px)scale(1.02);box-shadow:0 8px 30px #8b5cf64d}.category-icon{font-size:2.5rem}.category-label{font-family:var(--font-display)}.category-3d{color:#fff;background:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%)}.category-resin{color:#fff;background:linear-gradient(135deg,#ec4899 0%,#8b5cf6 100%)}.category-events{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#ef4444 100%)}.category-contact{color:#fff;background:linear-gradient(135deg,#10b981 0%,#3b82f6 100%)}.home-features{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;width:100%;max-width:800px;display:grid}.feature{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}.feature-icon{margin-bottom:.75rem;font-size:2rem;display:block}.feature h3{font-family:var(--font-display);color:var(--color-text);margin-bottom:.5rem;font-size:1rem}.feature p{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}@media (width<=500px){.category-nav{grid-template-columns:1fr;max-width:300px}.hero-logo{max-width:280px}.hero-tagline{font-size:1.1rem}}.product-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.product-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #8b5cf633}.product-image-wrapper{aspect-ratio:1;background:var(--color-bg);position:relative;overflow:hidden}.product-image{object-fit:cover;width:100%;height:100%;transition:opacity .3s}.carousel-btn{color:#fff;cursor:pointer;opacity:0;z-index:2;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;transition:opacity .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.product-card:hover .carousel-btn{opacity:1}.carousel-btn:hover{background:#000000d9}.carousel-prev{left:8px}.carousel-next{right:8px}.carousel-dots{z-index:2;gap:5px;display:flex;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.dot{cursor:pointer;background:#fff6;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:background .2s,transform .2s}.dot.active{background:#fff;transform:scale(1.3)}.dot:hover{background:#fffc}.out-of-stock-badge{color:#fff;z-index:2;background:#ef4444e6;border-radius:20px;padding:.25rem .75rem;font-size:.75rem;font-weight:700;position:absolute;top:12px;right:12px}.product-info{flex-direction:column;flex:1;padding:1.25rem;display:flex}.product-name{font-family:var(--font-display);color:var(--color-text);margin-bottom:.5rem;font-size:1.1rem}.product-description{color:var(--color-text-muted);flex:1;margin-bottom:1rem;font-size:.85rem;line-height:1.5}.variant-selector{margin-bottom:1rem}.variant-dropdown{border:1px solid var(--color-border);background:var(--color-bg);width:100%;color:var(--color-text);font-size:.85rem;font-family:var(--font-body);cursor:pointer;border-radius:8px;padding:.6rem .8rem;transition:border-color .2s}.variant-dropdown:focus{border-color:var(--color-purple);outline:none;box-shadow:0 0 0 3px #8b5cf626}.product-footer{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.product-price{color:var(--color-green);font-size:1.25rem;font-weight:700}.product-stock{color:var(--color-text-muted);font-size:.8rem}.add-to-cart-btn{cursor:pointer;background:var(--gradient-rainbow);color:#fff;border:none;border-radius:10px;width:100%;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;transition:opacity .2s,transform .1s}.add-to-cart-btn:hover:not(:disabled){opacity:.9;transform:scale(1.02)}.add-to-cart-btn:active:not(:disabled){transform:scale(.98)}.add-to-cart-btn:disabled{background:var(--color-border);cursor:not-allowed;opacity:.5}.add-to-cart-btn.added{background:var(--color-green)}@media (width<=768px){.carousel-btn{opacity:1}}.product-page{flex-direction:column;gap:2rem;display:flex}.page-header{text-align:center}.page-title{font-family:var(--font-display);background:var(--gradient-rainbow);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.2rem}.page-subtitle{color:var(--color-text-muted);font-size:1.05rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.empty-state{text-align:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:16px;padding:4rem 2rem}.empty-icon{margin-bottom:1rem;font-size:3rem;display:block}.empty-state p{color:var(--color-text-muted);font-size:1.1rem}.loading-state{text-align:center;padding:4rem 2rem}.loading-spinner{margin-bottom:1rem;font-size:2.5rem;animation:1.5s ease-in-out infinite pulse;display:block}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.loading-state p{color:var(--color-text-muted);font-size:1rem}.error-state{text-align:center;background:var(--color-surface);border:1px solid #ef44444d;border-radius:16px;padding:3rem 2rem}.error-state p{color:#f87171;font-size:1rem}@media (width<=600px){.product-grid{grid-template-columns:1fr}.page-title{font-size:1.8rem}}.events-page{flex-direction:column;gap:2rem;display:flex}.events-page .page-header{text-align:center}.events-page .page-title{font-family:var(--font-display);background:var(--gradient-rainbow);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.2rem}.events-page .page-subtitle{color:var(--color-text-muted);font-size:1.05rem}.events-list{flex-direction:column;gap:1.25rem;display:flex}.event-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;align-items:flex-start;gap:1.5rem;padding:1.5rem;display:flex}.event-date{background:var(--gradient-rainbow);color:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-width:70px;padding:.75rem;display:flex}.event-month{text-transform:uppercase;font-size:.75rem;font-weight:700}.event-day{font-size:1.5rem;font-weight:700;line-height:1}.event-details h3{font-family:var(--font-display);color:var(--color-text);margin-bottom:.5rem;font-size:1.1rem}.event-details p{color:var(--color-text-muted);margin-bottom:.75rem;font-size:.9rem;line-height:1.5}.event-social-links{flex-wrap:wrap;gap:1rem;display:flex}.event-social-links a{color:var(--color-purple-light);font-size:.9rem;font-weight:600;text-decoration:none;transition:color .2s}.event-social-links a:hover{color:var(--color-pink)}.events-cta{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:2.5rem}.events-cta h2{font-family:var(--font-display);color:var(--color-text);margin-bottom:.75rem;font-size:1.4rem}.events-cta p{color:var(--color-text-muted);max-width:500px;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}.events-cta-btn{background:var(--gradient-rainbow);color:#fff;border-radius:10px;padding:.75rem 2rem;font-weight:700;text-decoration:none;transition:opacity .2s,transform .1s;display:inline-block}.events-cta-btn:hover{opacity:.9;transform:scale(1.02)}@media (width<=500px){.event-card{flex-direction:column;align-items:stretch}.event-date{flex-direction:row;gap:.5rem;min-width:auto}}.contact-page{flex-direction:column;gap:2rem;display:flex}.contact-page .page-header{text-align:center}.contact-page .page-title{font-family:var(--font-display);background:var(--gradient-rainbow);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:2.2rem}.contact-page .page-subtitle{color:var(--color-text-muted);font-size:1.05rem}.contact-content{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.contact-form{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;flex-direction:column;gap:1.25rem;padding:2rem;display:flex}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:var(--color-text);font-size:.9rem;font-weight:600}.form-group input,.form-group select,.form-group textarea{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:.95rem;font-family:var(--font-body);border-radius:10px;padding:.75rem 1rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-purple);outline:none;box-shadow:0 0 0 3px #8b5cf626}.form-group textarea{resize:vertical;min-height:120px}.submit-btn{background:var(--gradient-rainbow);color:#fff;cursor:pointer;border:none;border-radius:10px;padding:.85rem 2rem;font-size:1rem;font-weight:700;transition:opacity .2s,transform .1s}.submit-btn:hover{opacity:.9;transform:scale(1.02)}.contact-info{flex-direction:column;gap:1.25rem;display:flex}.info-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem}.info-card h3{font-family:var(--font-display);color:var(--color-text);margin-bottom:.75rem;font-size:1rem}.info-card p{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.info-card ul{flex-direction:column;gap:.5rem;padding:0;list-style:none;display:flex}.info-card a{color:var(--color-purple-light);font-size:.9rem;text-decoration:none;transition:color .2s}.info-card a:hover{color:var(--color-pink)}.contact-success{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:3rem}.success-icon{margin-bottom:1rem;font-size:3rem;display:block}.contact-success h2{font-family:var(--font-display);color:var(--color-text);margin-bottom:.75rem}.contact-success p{color:var(--color-text-muted);margin-bottom:1rem}.email-link{color:var(--color-purple-light);margin-bottom:1.5rem;font-weight:600;text-decoration:none;display:block}.reset-btn{border:2px solid var(--color-purple);color:var(--color-purple-light);cursor:pointer;background:0 0;border-radius:10px;padding:.7rem 1.5rem;font-weight:600;transition:background .2s}.reset-btn:hover{background:var(--color-purple);color:#fff}@media (width<=768px){.contact-content{grid-template-columns:1fr}}.cart-page{flex-direction:column;gap:2rem;display:flex}.cart-page .page-header{text-align:center}.cart-page .page-title{font-family:var(--font-display);background:var(--gradient-rainbow);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.2rem}.cart-empty{text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:4rem 2rem}.empty-cart-icon{margin-bottom:1rem;font-size:3.5rem;display:block}.cart-empty h2{font-family:var(--font-display);color:var(--color-text);margin-bottom:.5rem}.cart-empty p{color:var(--color-text-muted);margin-bottom:1.5rem}.empty-cart-links{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.shop-link{background:var(--gradient-rainbow);color:#fff;border-radius:10px;padding:.7rem 1.5rem;font-weight:600;text-decoration:none;transition:opacity .2s}.shop-link:hover{opacity:.9}.cart-content{grid-template-columns:1fr 360px;align-items:start;gap:2rem;display:grid}.cart-items{flex-direction:column;gap:1rem;display:flex}.cart-item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;align-items:center;gap:1rem;padding:1rem;display:flex}.cart-item-image{object-fit:cover;background:var(--color-bg);border-radius:10px;width:80px;height:80px}.cart-item-details{flex:1}.cart-item-name{font-family:var(--font-display);color:var(--color-text);margin-bottom:.25rem;font-size:1rem}.cart-item-price{color:var(--color-text-muted);font-size:.85rem}.cart-item-controls{align-items:center;gap:1rem;display:flex}.quantity-control{border:1px solid var(--color-border);border-radius:8px;align-items:center;gap:0;display:flex;overflow:hidden}.qty-btn{background:var(--color-surface-hover);width:32px;height:32px;color:var(--color-text);cursor:pointer;border:none;justify-content:center;align-items:center;font-size:1.1rem;transition:background .2s;display:flex}.qty-btn:hover{background:var(--color-purple);color:#fff}.qty-display{text-align:center;width:36px;color:var(--color-text);font-size:.95rem;font-weight:600}.cart-item-subtotal{color:var(--color-green);text-align:right;min-width:60px;font-weight:700}.remove-btn{width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;font-size:1rem;transition:background .2s,color .2s}.remove-btn:hover{color:#ef4444;background:#ef44441a}.summary-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;position:sticky;top:120px}.summary-card h3{font-family:var(--font-display);color:var(--color-text);border-bottom:1px solid var(--color-border);margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1.1rem}.summary-line{color:var(--color-text-muted);justify-content:space-between;margin-bottom:.75rem;font-size:.95rem;display:flex}.summary-total{color:var(--color-text);border-top:1px solid var(--color-border);margin-top:.5rem;padding-top:.75rem;font-size:1.15rem;font-weight:700}.checkout-btn{color:#fff;cursor:pointer;background:#008cff;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;margin-top:1.5rem;padding:1rem;font-size:1rem;font-weight:700;transition:background .2s,transform .1s;display:flex}.checkout-btn:hover{background:#006fcc;transform:scale(1.02)}.venmo-icon{width:20px;height:20px}.checkout-note{color:var(--color-text-muted);text-align:center;margin-top:1rem;font-size:.8rem;line-height:1.4}@media (width<=768px){.cart-content{grid-template-columns:1fr}.cart-item{flex-wrap:wrap}.cart-item-controls{justify-content:space-between;width:100%;margin-top:.5rem}.summary-card{position:static}}:root{--color-bg:#0f0f1a;--color-surface:#1a1a2e;--color-surface-hover:#252540;--color-border:#2d2d4a;--color-text:#f0f0f5;--color-text-muted:#a0a0b8;--color-purple:#7c3aed;--color-purple-light:#a78bfa;--color-pink:#ec4899;--color-blue:#3b82f6;--color-green:#10b981;--color-orange:#f59e0b;--gradient-rainbow:linear-gradient(135deg, #f59e0b 0%, #ef4444 15%, #ec4899 30%, #8b5cf6 50%, #3b82f6 70%, #10b981 85%, #f59e0b 100%);--gradient-purple-pink:linear-gradient(135deg, #7c3aed, #ec4899);--gradient-blue-purple:linear-gradient(135deg, #3b82f6, #7c3aed);--font-display:"Fredoka", sans-serif;--font-body:"Nunito", sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font-family:var(--font-body)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-purple);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-purple-light)}:focus-visible{outline:2px solid var(--color-purple-light);outline-offset:2px}
