.cart-overlay{z-index:999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;pointer-events:none;opacity:1;pointer-events:auto;background:#1c1c1c33;width:100%;height:100%;transition:opacity .4s;position:fixed;top:0;left:0}.cart-drawer{background:var(--background);z-index:1000;width:100%;max-width:420px;height:100%;box-shadow:var(--shadow-hover);flex-direction:column;transition:right .5s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:-100%}.cart-drawer.open{right:0}.cart-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;display:flex}.cart-header h2{font-family:var(--font-display);color:var(--foreground);letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:800}.close-btn{background:var(--background-alt);width:32px;height:32px;color:var(--foreground-dim);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex}.close-btn:hover{background:var(--foreground);color:#fff;transform:rotate(90deg)}.cart-items{flex-direction:column;flex:1;gap:1.5rem;padding:2rem;display:flex;overflow-y:auto}.empty-cart{text-align:center;color:var(--foreground-dim);flex-direction:column;align-items:center;gap:1.5rem;padding:4rem 0;display:flex}.empty-cart p{margin:0;font-size:1.1rem}.cart-item{border-bottom:1px solid var(--border-light);gap:1.25rem;padding-bottom:1.5rem;display:flex}.cart-item-image{background:var(--background-alt);border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:90px;height:110px;padding:.5rem;display:flex;position:relative;overflow:hidden}.item-img{object-fit:contain;mix-blend-mode:multiply}.cart-item-details{flex-direction:column;flex:1;justify-content:center;display:flex}.item-title{color:var(--foreground);margin:0 0 .25rem;font-size:1rem;font-weight:700;line-height:1.3}.item-price{color:var(--primary-dark);margin:0 0 .75rem;font-size:.95rem;font-weight:600}.item-actions{justify-content:space-between;align-items:center;margin-top:auto;font-size:.85rem;display:flex}.item-qty{color:var(--foreground-dim);background:var(--background-alt);border-radius:var(--radius-pill);padding:.3rem .8rem;font-weight:600}.remove-btn{color:var(--foreground-muted);cursor:pointer;text-transform:uppercase;letter-spacing:.05em;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:none;transition:color .2s}.remove-btn:hover{color:#d17575}.remove-btn:disabled{opacity:.5;cursor:not-allowed}.cart-footer{background:var(--surface-card);border-top:1px solid var(--border-light);padding:2rem;box-shadow:0 -10px 30px #00000005}.cart-total{color:var(--foreground);justify-content:space-between;margin-bottom:.5rem;font-size:1.2rem;font-weight:800;display:flex}.cart-taxes{color:var(--foreground-dim);margin-bottom:1.5rem;font-size:.85rem}.checkout-btn{background:var(--brand-gradient);color:#fff;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius-pill);cursor:pointer;width:100%;box-shadow:var(--shadow-blue);border:none;justify-content:center;align-items:center;padding:1.1rem;font-size:.9rem;font-weight:800;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex}.checkout-btn:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 12px 32px #7ab8cc73}@media (max-width:480px){.cart-header,.cart-items,.cart-footer{padding:1.5rem}}
.announcement-bar{z-index:200;background:var(--foreground);color:#fff;text-align:center;letter-spacing:2px;text-transform:uppercase;justify-content:center;align-items:center;height:40px;padding:0 1.5rem;font-size:.7rem;font-weight:500;display:flex;position:relative;overflow:hidden}.announcement-bar:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#9dc4d526,#0000);width:200px;height:100%;animation:3.5s infinite shimmer;position:absolute;top:0;left:-200px}@keyframes shimmer{0%{left:-200px}to{left:110%}}.announcement-bar a{color:var(--accent);text-decoration:none;transition:color .2s}.announcement-bar a:hover{color:#fff}
:root{--background:#fff;--background-alt:#faf6f3;--background-surface:#f3ede8;--foreground:#1c1c1c;--foreground-dim:#6b7280;--foreground-muted:#9ca3af;--primary:#7ab8cc;--primary-light:#a3cbd3;--primary-mid:#9fc4d7;--primary-dark:#5a9ab5;--primary-glow:#7ab8cc26;--brand-gradient:linear-gradient(135deg, #a3cbd3 0%, #9fc4d7 50%, #9bbeda 100%);--lavender:#9bbeda;--lavender-light:#c5d8ed;--surface-glass:#ffffffd9;--surface-card:#fff;--surface-hover:#f8fcfd;--border-subtle:#7ab8cc33;--border-glow:#7ab8cc73;--border-light:#1c1c1c14;--font-sans:var(--font-sans), "Nunito", sans-serif;--font-display:var(--font-sans), "Nunito", sans-serif;--shadow-soft:0 2px 20px #1c1c1c0d;--shadow-card:0 4px 20px #1c1c1c0f;--shadow-hover:0 12px 40px #7ab8cc33, 0 2px 8px #1c1c1c0f;--shadow-blue:0 6px 24px #7ab8cc59;--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-xl:30px;--radius-pill:9999px}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--background);max-width:100vw;color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.03em;color:var(--foreground);font-weight:800}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:var(--font-sans);background:0 0;border:none}.container{max-width:1280px;margin:0 auto;padding:0 2rem}.glass-card{background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:all .4s cubic-bezier(.16,1,.3,1)}.glass-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-glow)}.text-gradient{background:linear-gradient(120deg, var(--primary) 0%, var(--primary-light) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.btn-primary{background:var(--brand-gradient);color:#fff;letter-spacing:.5px;text-transform:uppercase;font-size:.8rem;font-weight:700;font-family:var(--font-sans);border-radius:var(--radius-pill);box-shadow:var(--shadow-blue);border:none;justify-content:center;align-items:center;gap:.6rem;padding:.875rem 2.25rem;transition:all .35s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary:hover{filter:brightness(1.05);transform:translateY(-3px);box-shadow:0 12px 32px #7ab8cc73}.btn-outline{color:var(--foreground);letter-spacing:.5px;text-transform:uppercase;border:1.5px solid var(--border-light);font-size:.8rem;font-weight:700;font-family:var(--font-sans);border-radius:var(--radius-pill);background-color:#0000;justify-content:center;align-items:center;gap:.6rem;padding:.875rem 2.25rem;transition:all .35s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-outline:hover{border-color:var(--primary);color:var(--primary-dark);background-color:var(--primary-glow);transform:translateY(-2px)}.product-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}@media (min-width:640px){.product-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width:1024px){.product-grid{grid-template-columns:repeat(4,1fr);gap:2rem}}.product-card{cursor:pointer;background:var(--surface-card);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:1rem;transition:all .45s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-glow);transform:translateY(-8px)}.product-image-container{aspect-ratio:4/5;background:var(--background-alt);border-radius:var(--radius-lg);margin-bottom:1.25rem;position:relative;overflow:hidden}.product-image{object-fit:cover;transition:transform 1.4s cubic-bezier(.16,1,.3,1)}.product-card:hover .product-image{transform:scale(1.05)}.product-badge{background:var(--primary);text-transform:uppercase;letter-spacing:1.5px;z-index:2;color:#fff;font-size:.65rem;font-weight:700;font-family:var(--font-sans);border-radius:var(--radius-pill);padding:.3rem .75rem;position:absolute;top:.875rem;left:.875rem}.product-info{flex-direction:column;gap:.4rem;padding:.25rem .5rem .5rem;display:flex}.brand{text-transform:uppercase;letter-spacing:2.5px;color:var(--primary);font-size:.62rem;font-weight:600;font-family:var(--font-sans)}.product-name{font-family:var(--font-display);color:var(--foreground);font-size:1.2rem;font-weight:600;line-height:1.2}.price{color:var(--foreground);font-size:1.05rem;font-weight:600}
