@import"https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,600;0,9..144,700;1,9..144,300;1,9..144,400&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;1,9..40,300&display=swap";:root{--forest: #0f2419;--forest-mid: #1a3d28;--forest-light: #2d6a45;--green: #3a8c5c;--green-soft: #5aad7a;--cream: #faf8f3;--cream-dark: #f0ece0;--amber: #c97c2e;--amber-soft: #f5a623;--red: #c0392b;--ink: #1a1814;--ink-mid: #3d3a34;--ink-soft: #7a776e;--ink-faint: #b8b4aa;--border: #e4dfd4;--border-dark: #c8c2b5;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 3px rgba(15,36,25,.08), 0 1px 2px rgba(15,36,25,.06);--shadow-md: 0 4px 12px rgba(15,36,25,.1), 0 2px 4px rgba(15,36,25,.06);--shadow-lg: 0 12px 32px rgba(15,36,25,.12), 0 4px 8px rgba(15,36,25,.08)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}body{font-family:DM Sans,sans-serif;background:var(--cream);color:var(--ink);line-height:1.6}h1,h2,h3{font-family:Fraunces,serif;font-weight:600;line-height:1.15;letter-spacing:-.02em}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--cream-dark)}::-webkit-scrollbar-thumb{background:var(--border-dark);border-radius:3px}.font-display{font-family:Fraunces,serif}.text-ink{color:var(--ink)}.text-mid{color:var(--ink-mid)}.text-soft{color:var(--ink-soft)}.text-faint{color:var(--ink-faint)}.text-green{color:var(--green)}.text-amber{color:var(--amber)}.text-red{color:var(--red)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 20px;border-radius:var(--radius-md);font-family:DM Sans,sans-serif;font-size:14px;font-weight:500;cursor:pointer;border:none;transition:all .18s cubic-bezier(.4,0,.2,1);text-decoration:none;white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--forest);color:#fff}.btn-primary:hover{background:var(--forest-mid);box-shadow:0 4px 12px #0f24194d}.btn-green{background:var(--green);color:#fff}.btn-green:hover{background:var(--forest-light)}.btn-secondary{background:#fff;color:var(--ink);border:1.5px solid var(--border)}.btn-secondary:hover{border-color:var(--border-dark);background:var(--cream)}.btn-ghost{background:transparent;color:var(--ink-soft)}.btn-ghost:hover{background:var(--cream-dark);color:var(--ink)}.btn-amber{background:var(--amber);color:#fff}.btn-amber:hover{background:#a86824}.btn-danger{background:#fff0ee;color:var(--red);border:1.5px solid #fad0ca}.btn-danger:hover{background:#ffe0db}.btn-sm{padding:6px 14px;font-size:13px;border-radius:var(--radius-sm)}.btn-lg{padding:14px 28px;font-size:16px;border-radius:var(--radius-lg)}.btn-icon{width:38px;height:38px;padding:0;border-radius:var(--radius-md)}.btn-icon-sm{width:30px;height:30px;padding:0;border-radius:var(--radius-sm)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.card{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border)}.card-sm{background:#fff;border-radius:var(--radius-md);border:1px solid var(--border)}.card-forest{background:var(--forest);color:#fff;border-radius:var(--radius-lg)}.card-cream{background:var(--cream-dark);border-radius:var(--radius-lg);border:1px solid var(--border)}.input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-md);font-family:DM Sans,sans-serif;font-size:14px;color:var(--ink);background:#fff;outline:none;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--forest-light);box-shadow:0 0 0 3px #2a6e451f}.input::-moz-placeholder{color:var(--ink-faint)}.input::placeholder{color:var(--ink-faint)}.input-sm{padding:8px 12px;font-size:13px}select.input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%237a776e' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;letter-spacing:.02em}.badge-green{background:#e8f5ee;color:#1a5c38}.badge-amber{background:#fef3e2;color:#92570e}.badge-red{background:#fdf0ee;color:#b5291b}.badge-blue{background:#eef4fd;color:#1a4fa3}.badge-gray{background:#f2f0ec;color:var(--ink-soft)}.badge-forest{background:var(--forest);color:#fff}.divider{border:none;border-top:1px solid var(--border);margin:0}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skeleton{background:linear-gradient(90deg,var(--cream-dark) 25%,var(--cream) 50%,var(--cream-dark) 75%);background-size:400px 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.anim-fade-up{animation:fadeUp .35s cubic-bezier(.4,0,.2,1) forwards}.anim-fade-in{animation:fadeIn .25s ease forwards}.anim-scale-in{animation:scaleIn .2s cubic-bezier(.4,0,.2,1) forwards}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:60ms}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.24s}.stagger>*:nth-child(6){animation-delay:.3s}.stagger>*:nth-child(7){animation-delay:.36s}.stagger>*:nth-child(8){animation-delay:.42s}.page-enter{animation:fadeUp .3s cubic-bezier(.4,0,.2,1)}.toast-container{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}@media (min-width: 640px){.toast-container{bottom:24px}}.qty-stepper{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.qty-stepper button{width:36px;height:36px;background:transparent;border:none;cursor:pointer;font-size:18px;color:var(--ink-soft);transition:all .15s;display:flex;align-items:center;justify-content:center}.qty-stepper button:hover{background:var(--cream-dark);color:var(--ink)}.qty-stepper span{min-width:40px;text-align:center;font-weight:500;font-size:15px;padding:0 4px}.stars{display:flex;gap:2px}.star{color:var(--border);font-size:14px}.star.filled{color:var(--amber-soft)}.progress-track{height:4px;background:var(--cream-dark);border-radius:2px;overflow:hidden}.progress-fill{height:100%;border-radius:2px;background:var(--green);transition:width .4s cubic-bezier(.4,0,.2,1)}.toggle{position:relative;width:44px;height:24px}.toggle input{opacity:0;width:0;height:0;position:absolute}.toggle-track{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--border);border-radius:12px;cursor:pointer;transition:background .2s}.toggle input:checked+.toggle-track{background:var(--green)}.toggle-thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s cubic-bezier(.4,0,.2,1);box-shadow:var(--shadow-sm);pointer-events:none}.toggle input:checked~.toggle-thumb{transform:translate(20px)}.notif-dot{width:8px;height:8px;background:var(--red);border-radius:50%;border:2px solid #fff}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px;opacity:.6}.empty-state h3{font-size:20px;margin-bottom:8px}.empty-state p{color:var(--ink-soft);font-size:14px;max-width:300px}.product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 640px){.product-grid{grid-template-columns:repeat(3,1fr);gap:16px}}@media (min-width: 1024px){.product-grid{grid-template-columns:repeat(4,1fr)}}@media (min-width: 1280px){.product-grid{grid-template-columns:repeat(5,1fr)}}.drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f241966;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}.drawer{position:fixed;right:0;top:0;bottom:0;width:min(400px,100vw);background:#fff;z-index:51;box-shadow:var(--shadow-lg);animation:slideFromRight .25s cubic-bezier(.4,0,.2,1);overflow-y:auto}@keyframes slideFromRight{0%{transform:translate(100%)}to{transform:translate(0)}}.sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f241966;z-index:50;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .2s ease}.sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:var(--radius-xl) var(--radius-xl) 0 0;z-index:51;animation:slideFromBottom .25s cubic-bezier(.4,0,.2,1);max-height:90vh;overflow-y:auto}@keyframes slideFromBottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-handle{width:36px;height:4px;background:var(--border);border-radius:2px;margin:12px auto 0}.tooltip{position:relative}.tooltip-content{position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);background:var(--ink);color:#fff;font-size:12px;padding:5px 10px;border-radius:var(--radius-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s;z-index:100}.tooltip:hover .tooltip-content{opacity:1}mark{background:#fff3c4;color:inherit;border-radius:2px;padding:0 2px}@media (max-width: 640px){.hide-mobile{display:none!important}.btn-lg{padding:12px 22px;font-size:15px}}@media (min-width: 641px){.hide-desktop{display:none!important}}@media print{nav,.btn,.bottom-nav{display:none!important}}
