:root{--jn-bg: #ffffff;--jn-surface: #ffffff;--jn-surface-raised: #f8faf8;--jn-border: #e8ede8;--jn-text: #1a1a1a;--jn-text-secondary: #6b7b6b;--jn-text-muted: #9aaa9a;--jn-teal: #2F5D5A;--jn-teal-hover: #234a47;--jn-sage: #8BA888;--jn-sage-light: #e8f0e8;--jn-cream: #F7F4EF;--jn-danger: #c0392b;--jn-shadow-sm: 0 2px 8px rgba(0,0,0,.04);--jn-shadow: 0 8px 32px rgba(0,0,0,.06);--jn-shadow-lg: 0 16px 48px rgba(0,0,0,.08);--jn-radius-sm: 10px;--jn-radius: 20px;--jn-radius-pill: 999px;--jn-transition: all .25s cubic-bezier(.4,0,.2,1);--jn-transition-slow: all .4s cubic-bezier(.16,1,.3,1)}[data-theme=dark]{--jn-bg: #0f1210;--jn-surface: #1a1f1c;--jn-surface-raised: #222a25;--jn-border: #2a332a;--jn-text: #f0f4f0;--jn-text-secondary: #9aaa9a;--jn-text-muted: #6b7b6b;--jn-teal: #5a9e9a;--jn-teal-hover: #4a8e8a;--jn-sage: #7a9a77;--jn-sage-light: #1e2e1e;--jn-cream: #3E4742;--jn-shadow-sm: 0 2px 8px rgba(0,0,0,.2);--jn-shadow: 0 8px 32px rgba(0,0,0,.3);--jn-shadow-lg: 0 16px 48px rgba(0,0,0,.4)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color:var(--jn-text);background:var(--jn-bg);line-height:1.5;transition:background .3s ease,color .3s ease}button,a,input{font-family:inherit;color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 16px}.row{display:flex;flex-wrap:wrap;margin:0 -8px}.col,[class*=col-]{padding:0 8px;flex:1 0 0%}.col-1{flex:0 0 8.333%;max-width:8.333%}.col-2{flex:0 0 16.666%;max-width:16.666%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.333%;max-width:33.333%}.col-6{flex:0 0 50%;max-width:50%}.col-8{flex:0 0 66.666%;max-width:66.666%}.col-9{flex:0 0 75%;max-width:75%}.col-12{flex:0 0 100%;max-width:100%}@media(min-width:640px){.col-sm-4{flex:0 0 33.333%;max-width:33.333%}.col-sm-6{flex:0 0 50%;max-width:50%}}@media(min-width:768px){.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.333%;max-width:33.333%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-8{flex:0 0 66.666%;max-width:66.666%}}@media(min-width:1024px){.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.333%;max-width:33.333%}.col-lg-6{flex:0 0 50%;max-width:50%}}.d-none{display:none!important}.d-flex{display:flex!important}.d-block{display:block!important}.d-inline-flex{display:inline-flex!important}@media(min-width:768px){.d-md-flex{display:flex!important}.d-md-none{display:none!important}.d-md-block{display:block!important}}@media(min-width:1024px){.d-lg-flex{display:flex!important}.d-lg-none{display:none!important}.d-lg-block{display:block!important}}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.align-center{align-items:center}.align-start{align-items:flex-start}.flex-column{flex-direction:column}.flex-wrap{flex-wrap:wrap}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-5{gap:24px}.m-0{margin:0}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-5{margin-bottom:24px}.mb-6{margin-bottom:32px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-5{margin-top:24px}.mt-6{margin-top:32px}.p-3{padding:12px}.p-4{padding:16px}.p-5{padding:24px}.w-100{width:100%}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;border-radius:var(--jn-radius-pill);transition:var(--jn-transition);border:none;cursor:pointer;font-family:inherit;line-height:1}.btn-primary{background:var(--jn-teal);color:#fff}.btn-primary:hover{background:var(--jn-teal-hover);transform:translateY(-1px);box-shadow:var(--jn-shadow)}.btn-outline{background:transparent;color:var(--jn-teal);border:1.5px solid var(--jn-border)}.btn-outline:hover{border-color:var(--jn-teal);background:var(--jn-sage-light)}.btn-ghost{background:transparent;color:var(--jn-text-secondary)}.btn-ghost:hover{color:var(--jn-teal);background:var(--jn-sage-light)}.btn-lg{padding:16px 32px;font-size:14px}.btn-sm{padding:8px 16px;font-size:11px}.btn-icon{width:44px;height:44px;padding:0;border-radius:50%}.card{background:var(--jn-surface);border-radius:var(--jn-radius);border:1px solid var(--jn-border);transition:var(--jn-transition);overflow:hidden}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--jn-shadow);border-color:transparent}.card-img-top{width:100%;aspect-ratio:1 / 1;object-fit:cover;background:var(--jn-cream)}.card-body{padding:16px}.card-title{font-size:15px;font-weight:600;color:var(--jn-text);margin-bottom:6px;line-height:1.3}.card-text{font-size:13px;color:var(--jn-text-secondary);line-height:1.5;margin-bottom:12px}.card-price{font-size:18px;font-weight:700;color:var(--jn-teal);font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:4px 12px;border-radius:var(--jn-radius-pill);font-size:10px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase}.badge-teal{background:var(--jn-sage-light);color:var(--jn-teal)}.badge-outline{background:transparent;color:var(--jn-text-muted);border:1px solid var(--jn-border)}.form-control{width:100%;padding:12px 16px;border-radius:var(--jn-radius-sm);border:1.5px solid var(--jn-border);background:var(--jn-surface);color:var(--jn-text);font-size:14px;transition:var(--jn-transition);font-family:inherit}.form-control:focus{outline:none;border-color:var(--jn-teal);box-shadow:0 0 0 3px var(--jn-sage-light)}.fade-in{animation:fadeIn .5s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--jn-bg)}::-webkit-scrollbar-thumb{background:var(--jn-border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--jn-text-muted)}.product-card{background:var(--jn-surface);border-radius:var(--jn-radius);overflow:hidden;border:1px solid var(--jn-border);transition:var(--jn-transition);cursor:pointer}.product-card:hover{transform:translateY(-6px);box-shadow:var(--jn-shadow);border-color:transparent}.product-card .img-wrap{position:relative;aspect-ratio:4 / 5;overflow:hidden;background:var(--jn-cream)}.product-card .img-wrap img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-card:hover .img-wrap img{transform:scale(1.05)}.product-card .cat-tag{position:absolute;top:12px;left:12px;z-index:2}.product-card .info{padding:20px}.product-card .name{font-size:16px;font-weight:600;color:var(--jn-text);margin-bottom:6px}.product-card .desc{font-size:13px;color:var(--jn-text-secondary);line-height:1.5;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.product-card .footer{display:flex;align-items:center;justify-content:space-between}.product-card .price{font-size:20px;font-weight:700;color:var(--jn-teal);font-variant-numeric:tabular-nums}.product-card .add-btn{width:44px;height:44px;border-radius:50%;background:var(--jn-teal);color:#fff;font-size:20px;display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:var(--jn-transition);font-family:inherit}.product-card .add-btn:hover{background:var(--jn-teal-hover);transform:scale(1.1)}.jn-image-fallback{width:100%;height:100%;min-height:100px;display:flex;align-items:center;justify-content:center;background:var(--jn-cream)}.jn-image-fallback span{font-size:64px;line-height:1}
