:root{--sp-bg:#f6f1e6;--sp-surface:#fdfbf5;--sp-ink:#2b2a24;--sp-muted:#7c7460;--sp-green:#3b5a34;--sp-green-2:#4e7343;--sp-green-bg:#3b5a3414;--sp-gold:#b9812a;--sp-gold-soft:#ebd9a6;--sp-rind:#d8c6a3;--sp-line:#e7decb;--sp-danger:#a3502f;--sp-shadow:0 1px 2px #2b2a240a, 0 10px 30px #2b2a2412;--sp-shadow-hover:0 2px 4px #2b2a240f, 0 18px 44px #2b2a241f;--sp-display:"Spectral", Georgia, "Times New Roman", serif;--sp-ui:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--bs-body-bg:var(--sp-bg);--bs-body-color:var(--sp-ink);--bs-body-font-family:var(--sp-ui);--bs-border-color:var(--sp-line);--bs-link-color:var(--sp-green);--bs-link-hover-color:var(--sp-green-2)}body{background:radial-gradient(1200px 500px at 85% -10%, #ebd9a659, transparent 60%), var(--sp-bg);-webkit-font-smoothing:antialiased}.font-display{font-family:var(--sp-display);font-weight:600}.text-sp-muted{color:var(--sp-muted)!important}.text-sp-green{color:var(--sp-green)!important}.text-sp-gold{color:var(--sp-gold)!important}:focus-visible{outline:2px solid var(--sp-green);outline-offset:2px}.sp-header{-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--sp-line);background:#f6f1e6d1}.sp-brand{line-height:1.05}.sp-brand .name{font-family:var(--sp-display);font-size:1.15rem;font-weight:600}.sp-brand small{letter-spacing:.2em;text-transform:uppercase;color:var(--sp-muted);margin-top:2px;font-size:.56rem;font-weight:700;display:block}.sp-nav .nav-link{color:var(--sp-muted);border-radius:.6rem;padding:.45rem .8rem;font-size:.9rem;font-weight:600}.sp-nav .nav-link:hover{color:var(--sp-ink);background:var(--sp-green-bg)}.sp-nav .nav-link.active{color:var(--sp-green);background:var(--sp-green-bg)}.sp-search .form-control{background:var(--sp-surface);border-color:var(--sp-rind);border-radius:.7rem;height:42px;padding-left:2.4rem}.sp-search .form-control:focus{border-color:var(--sp-green);box-shadow:0 0 0 .2rem #3b5a341f}.sp-search .bi{color:var(--sp-muted);position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.btn-sp{--bs-btn-bg:var(--sp-green);--bs-btn-border-color:var(--sp-green);--bs-btn-hover-bg:var(--sp-green-2);--bs-btn-hover-border-color:var(--sp-green-2);--bs-btn-active-bg:var(--sp-green-2);--bs-btn-active-border-color:var(--sp-green-2);--bs-btn-color:#fff;--bs-btn-hover-color:#fff;--bs-btn-active-color:#fff;--bs-btn-border-radius:.7rem;font-weight:700}.btn-sp-outline{--bs-btn-color:var(--sp-green);--bs-btn-border-color:var(--sp-green);--bs-btn-hover-bg:var(--sp-green);--bs-btn-hover-border-color:var(--sp-green);--bs-btn-hover-color:#fff;--bs-btn-active-bg:var(--sp-green);--bs-btn-active-color:#fff;--bs-btn-border-radius:.7rem;font-weight:700}.btn-gold{--bs-btn-bg:var(--sp-gold);--bs-btn-border-color:var(--sp-gold);--bs-btn-hover-bg:#c98f35;--bs-btn-hover-border-color:#c98f35;--bs-btn-color:#241a08;--bs-btn-hover-color:#241a08;--bs-btn-active-color:#241a08;--bs-btn-active-bg:#c98f35;--bs-btn-active-border-color:#c98f35;--bs-btn-border-radius:.7rem;font-weight:800}.btn-cart{position:relative}.btn-cart .cart-count{background:var(--sp-gold);color:#241a08;border-radius:20px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;font-weight:800;display:inline-flex}.btn-cart .cart-count.empty{display:none}.sp-hero{background:radial-gradient(700px 300px at 10% 0%, #3b5a3412, transparent 65%), var(--sp-surface);border-bottom:1px solid var(--sp-line);overflow:hidden}.sp-hero h1{font-family:var(--sp-display);letter-spacing:-.01em;font-weight:600}.fresh-pill{background:var(--sp-green-bg);color:var(--sp-green);border-radius:2rem;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.8rem;font-weight:700;display:inline-flex}.fresh-pill .dot{background:var(--sp-green);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.fresh-pill .dot{animation:none}}.hero-fact .num{font-family:var(--sp-display);font-size:1.35rem;font-weight:600}.hero-fact .lbl{color:var(--sp-muted);font-size:.78rem}.chip{border:1px solid var(--sp-rind);background:var(--sp-surface);color:var(--sp-ink);border-radius:2rem;padding:.5rem 1.05rem;font-size:.88rem;font-weight:600;transition:all .15s}.chip:hover{border-color:var(--sp-green);color:var(--sp-green)}.chip.active{border-color:var(--sp-green);background:var(--sp-green);color:#fff}.chip-tag{color:var(--sp-muted);padding:.34rem .85rem;font-size:.8rem}.chip-tag:hover{border-color:var(--sp-gold);color:var(--sp-gold)}.chip-tag.active{border-color:var(--sp-gold);background:var(--sp-gold);color:#fff}.tag-badge{letter-spacing:.02em;background:var(--sp-gold-soft);color:#6e4c13;border-radius:2rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-block}.product-card{background:var(--sp-surface);border:1px solid var(--sp-line);cursor:pointer;box-shadow:var(--sp-shadow);border-radius:1rem;transition:transform .18s,box-shadow .18s,border-color .18s;overflow:hidden}.product-card:hover{box-shadow:var(--sp-shadow-hover);border-color:var(--sp-rind);transform:translateY(-4px)}.product-card .thumb{aspect-ratio:4/3;background:var(--sp-surface);position:relative;overflow:hidden}.product-card .thumb svg{width:100%;height:100%;transition:transform .25s;display:block}.product-card:hover .thumb svg{transform:scale(1.05)}.badge-stock{letter-spacing:.04em;color:var(--sp-green);background:#fdfbf5eb;border:1px solid #3b5a3438;border-radius:2rem;padding:.3rem .6rem;font-size:.68rem;font-weight:700;position:absolute;top:.7rem;left:.7rem}.badge-stock.out{color:#8a6a3a;border-color:#8a6a3a4d}.product-card .cat{letter-spacing:.09em;text-transform:uppercase;color:var(--sp-gold);font-size:.68rem;font-weight:700}.product-card h3{font-family:var(--sp-display);margin:0;font-size:1.08rem;font-weight:600}.product-card .desc{color:var(--sp-muted);min-height:2.4em;font-size:.8rem}.product-card .price{font-family:var(--sp-display);font-size:1.15rem;font-weight:600}.product-card .price .unit{font-family:var(--sp-ui);color:var(--sp-muted);font-size:.75rem;font-weight:600}.btn-add{border:1px solid var(--sp-green);width:40px;height:40px;color:var(--sp-green);background:0 0;border-radius:.7rem;justify-content:center;align-items:center;transition:all .15s;display:inline-flex}.btn-add:hover{background:var(--sp-green);color:#fff}.btn-add:disabled{opacity:.35;border-color:var(--sp-rind);color:var(--sp-muted)}.modal-content{background:var(--sp-surface);border:1px solid var(--sp-line);border-radius:1.1rem}.pdp-media{background:var(--sp-surface);border:1px solid var(--sp-line);aspect-ratio:3/2;border-radius:.9rem;padding:.75rem;overflow:hidden}.pdp-media svg{width:100%;height:100%}.pdp-thumbs{gap:.5rem;margin-top:.5rem;display:flex}.pdp-thumb{aspect-ratio:4/3;border:1px solid var(--sp-line);background:var(--sp-surface);border-radius:.6rem;flex:none;width:84px;padding:.2rem;transition:all .15s;overflow:hidden}.pdp-thumb img{object-fit:contain;width:100%;height:100%;display:block}.pdp-thumb:hover{border-color:var(--sp-rind)}.pdp-thumb.active{border-color:var(--sp-green);box-shadow:0 0 0 2px var(--sp-green-bg)}.wchip{border:1px solid var(--sp-rind);background:var(--sp-bg);color:var(--sp-ink);border-radius:.7rem;padding:.55rem 1.1rem;font-size:.9rem;font-weight:700;transition:all .15s}.wchip:hover{border-color:var(--sp-green)}.wchip.active{border-color:var(--sp-green);background:var(--sp-green-bg);color:var(--sp-green)}.qty-box{border:1px solid var(--sp-rind);background:var(--sp-bg);border-radius:.7rem;align-items:center;display:inline-flex;overflow:hidden}.qty-box button{width:42px;height:48px;color:var(--sp-ink);background:0 0;border:none;font-size:1.2rem}.qty-box button:hover{background:var(--sp-green-bg)}.qty-box span{text-align:center;min-width:40px;font-weight:700}.spec-row{border-bottom:1px dashed var(--sp-line);justify-content:space-between;gap:1rem;padding:.45rem 0;font-size:.85rem;display:flex}.spec-row .k{color:var(--sp-muted)}.spec-row .v{text-align:right;font-weight:600}.sp-panel{background:var(--sp-surface);border:1px solid var(--sp-line);box-shadow:var(--sp-shadow);border-radius:1rem}.page-title{font-family:var(--sp-display);font-weight:600}.cart-line .lthumb{border:1px solid var(--sp-line);background:#f0e8d6;border-radius:.6rem;flex:none;width:82px;height:66px;overflow:hidden}.cart-line .lthumb svg{width:100%;height:100%}.cart-line h4{font-family:var(--sp-display);margin:0;font-size:1rem;font-weight:600}.qty-sm{border:1px solid var(--sp-rind);border-radius:.55rem;align-items:center;display:inline-flex;overflow:hidden}.qty-sm button{width:30px;height:30px;color:var(--sp-ink);background:0 0;border:none;font-size:1rem}.qty-sm button:hover{background:var(--sp-green-bg)}.qty-sm span{text-align:center;min-width:30px;font-size:.9rem;font-weight:700}.btn-remove{color:var(--sp-muted);background:0 0;border:none;padding:0;font-size:.8rem;font-weight:600}.btn-remove:hover{color:var(--sp-danger)}.deliv-option{border:1px solid var(--sp-rind);cursor:pointer;border-radius:.7rem;align-items:center;gap:.75rem;padding:.8rem .85rem;transition:all .15s;display:flex}.deliv-option:hover{border-color:var(--sp-green)}.deliv-option.sel{border-color:var(--sp-green);background:var(--sp-green-bg)}.deliv-option .form-check-input{margin:0}.form-check-input:checked{background-color:var(--sp-green);border-color:var(--sp-green)}.form-check-input:focus{border-color:var(--sp-green);box-shadow:0 0 0 .2rem #3b5a3426}.pill-status{white-space:nowrap;border-radius:2rem;padding:.4rem .8rem;font-size:.78rem;font-weight:700}.pill-status.accepted{color:#6a6350;background:#7c746021}.pill-status.packing{color:#8a5f14;background:#b9812a29}.pill-status.transit{color:var(--sp-green);background:#3b5a3424}.pill-status.done{color:#8a8474;background:#7c74601a}.pill-status.pending_payment{color:#8a5f14;background:#b9812a29}.pill-status.cancelled{color:#9c3b32;background:#a03c321a}.steps{flex:1;max-width:400px;display:flex}.step{flex-direction:column;flex:1;align-items:center;gap:.4rem;display:flex;position:relative}.step .node{background:var(--sp-line);border:2px solid var(--sp-line);z-index:1;border-radius:50%;width:12px;height:12px}.step.on .node{background:var(--sp-green);border-color:var(--sp-green)}.step.on.cur .node{background:var(--sp-gold);border-color:var(--sp-gold);box-shadow:0 0 0 4px #b9812a33}.step .slabel{color:var(--sp-muted);text-align:center;font-size:.66rem;font-weight:600}.step.on .slabel{color:var(--sp-ink)}.step:before{content:"";background:var(--sp-line);width:100%;height:2px;position:absolute;top:5px;left:-50%}.step:first-child:before{display:none}.step.on:before{background:var(--sp-green)}.avatar-lg{background:var(--sp-green);color:#fff;width:72px;height:72px;font-family:var(--sp-display);border-radius:50%;justify-content:center;align-items:center;font-size:1.5rem;font-weight:600;display:inline-flex}.stat-tile .num{font-family:var(--sp-display);font-size:1.6rem;font-weight:600}.stat-tile .lbl{color:var(--sp-muted);font-size:.78rem}.form-control,.form-select{background:var(--sp-bg);border-color:var(--sp-rind);border-radius:.6rem}.form-control:focus,.form-select:focus{background:var(--sp-bg);border-color:var(--sp-green);box-shadow:0 0 0 .2rem #3b5a341f}.form-switch .form-check-input{cursor:pointer}.fav-chip{background:var(--sp-green-bg);color:var(--sp-green);border-radius:2rem;align-items:center;gap:.4rem;padding:.4rem .85rem;font-size:.82rem;font-weight:700;display:inline-flex}.empty-state{text-align:center;padding:4.5rem 1rem}.empty-state .stamp{opacity:.5;margin-bottom:1.2rem}.empty-state h3{font-family:var(--sp-display);font-weight:600}.toast{background:var(--sp-ink);color:#fff;border:none;border-radius:.7rem;font-weight:600}.sp-footer{border-top:1px solid var(--sp-line);color:var(--sp-muted);font-size:.8rem}.sp-thumb-img{object-fit:contain;width:100%;height:100%;transition:transform .25s;display:block}.product-card:hover .sp-thumb-img{transform:scale(1.05)}.sp-thumb-ph{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.product-card .thumb .sp-thumb-ph svg,.pdp-media .sp-thumb-ph svg{opacity:.4;width:72px;height:72px}
