.leaflet-pane,.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile-container,.leaflet-pane>svg,.leaflet-pane>canvas,.leaflet-zoom-box,.leaflet-image-layer,.leaflet-layer{position:absolute;top:0;left:0}.leaflet-container{overflow:hidden}.leaflet-tile,.leaflet-marker-icon,.leaflet-marker-shadow{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.leaflet-tile::selection{background:0 0}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{-webkit-transform-origin:0 0;width:1600px;height:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-width:none!important;max-height:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer,.leaflet-container .leaflet-tile{width:auto;padding:0;max-width:none!important;max-height:none!important}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{-ms-touch-action:pan-x pan-y;touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{-ms-touch-action:pinch-zoom;touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{-ms-touch-action:none;touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:#33b5e566}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;z-index:800;width:0;height:0}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{width:1px;height:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{z-index:800;pointer-events:visiblePainted;pointer-events:auto;position:relative}.leaflet-top,.leaflet-bottom{z-index:1000;pointer-events:none;position:absolute}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{float:left;clear:both}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{-webkit-transition:-webkit-transform .25s cubic-bezier(0,0,.25,1);-moz-transition:-moz-transform .25s cubic-bezier(0,0,.25,1);transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-zoom-anim .leaflet-tile,.leaflet-pan-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-popup-pane,.leaflet-control{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-image-layer,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-marker-icon.leaflet-interactive,.leaflet-image-layer.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{outline-offset:1px;background:#ddd}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{text-align:center;color:#000;background-color:#fff;border-bottom:1px solid #ccc;width:26px;height:26px;line-height:26px;text-decoration:none;display:block}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50%;background-repeat:no-repeat;display:block}.leaflet-bar a:hover,.leaflet-bar a:focus{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.leaflet-bar a.leaflet-disabled{cursor:default;color:#bbb;background-color:#f4f4f4}.leaflet-touch .leaflet-bar a{width:30px;height:30px;line-height:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-right-radius:2px;border-bottom-left-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{text-indent:1px;font:700 18px Lucida Console,Monaco,monospace}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(../media/layers.20bhq2yj4r-o7.png);width:36px;height:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(../media/layers-2x.0smrnln2b1gpy.png);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{width:44px;height:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{color:#333;background:#fff;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{padding-right:5px;overflow:hidden scroll}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{font-size:1.08333em;display:block}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(../media/marker-icon.38p7fa7moljse.png)}.leaflet-container .leaflet-control-attribution{background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;padding:0 5px;line-height:1.4}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:hover,.leaflet-control-attribution a:focus{text-decoration:underline}.leaflet-attribution-flag{width:1em;height:.6669em;vertical-align:baseline!important;display:inline!important}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{white-space:nowrap;box-sizing:border-box;text-shadow:1px 1px #fff;background:#fffc;border:2px solid #777;border-top:none;padding:2px 5px 1px;line-height:1.1}.leaflet-control-scale-line:not(:first-child){border-top:2px solid #777;border-bottom:none;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{box-shadow:none}.leaflet-touch .leaflet-control-layers,.leaflet-touch .leaflet-bar{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{text-align:center;margin-bottom:20px;position:absolute}.leaflet-popup-content-wrapper{text-align:left;border-radius:12px;padding:1px}.leaflet-popup-content{min-height:1px;margin:13px 24px 13px 20px;font-size:1.08333em;line-height:1.3}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{pointer-events:none;width:40px;height:20px;margin-top:-1px;margin-left:-20px;position:absolute;left:50%;overflow:hidden}.leaflet-popup-tip{pointer-events:auto;width:17px;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg)}.leaflet-popup-content-wrapper,.leaflet-popup-tip{color:#333;background:#fff;box-shadow:0 3px 14px #0006}.leaflet-container a.leaflet-popup-close-button{text-align:center;color:#757575;background:0 0;border:none;width:24px;height:24px;font:16px/24px Tahoma,Verdana,sans-serif;text-decoration:none;position:absolute;top:0;right:0}.leaflet-container a.leaflet-popup-close-button:hover,.leaflet-container a.leaflet-popup-close-button:focus{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";width:24px;filter:progid:DXImageTransform.Microsoft.Matrix(M11=.707107, M12=.707107, M21=-.707107, M22=.707107);margin:0 auto}.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{color:#222;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;background-color:#fff;border:1px solid #fff;border-radius:3px;padding:6px;position:absolute;box-shadow:0 1px 3px #0006}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-top:before,.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{pointer-events:none;content:"";background:0 0;border:6px solid #0000;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{margin-left:-6px;left:50%}.leaflet-tooltip-top:before{border-top-color:#fff;margin-bottom:-12px;bottom:0}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-top:-12px;margin-left:-6px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;margin-left:-12px;left:0}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;font-size:16px}body{font-family:var(--font-manrope), -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:#2d211f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.005em;background:#fbf8f3;min-height:100vh}::-webkit-scrollbar{width:0;height:0}input,select,button,textarea{font-family:inherit}input:focus,select:focus{outline:none}button{cursor:pointer;-webkit-tap-highlight-color:transparent}:root{--bg:#fbf8f3;--bg-card:#fff;--bg-soft:#eee5d8;--bg-muted:#f5efe7;--ink:#2d211f;--ink-soft:#6f625b;--ink-faint:#9f9188;--sage:#a67c49;--sage-deep:#7d5835;--sage-tint:#f1e6d8;--clay:#9c5349;--clay-tint:#f5e4de;--line:#e7ded3;--line-soft:#efe9e0;--shadow-soft:0 1px 2px #2d211f0a, 0 4px 16px #2d211f0d;--shadow-card:0 1px 3px #2d211f0d, 0 8px 28px #2d211f0f;--shadow-float:0 4px 24px #2d211f14, 0 12px 48px #2d211f0f;--radius:14px;--radius-sm:10px;--radius-pill:999px;--accent:#a67c49;--accent-dark:#7d5835;--accent-bg:#a67c491f;--coral:#9c5349;--coral-dark:#7f4038}.clamp1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes popIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:none}}.fade-up{animation:.42s cubic-bezier(.16,1,.3,1) both fadeUp}.fade-in{animation:.25s both fadeIn}.pop-in{animation:.3s cubic-bezier(.34,1.4,.64,1) both popIn}.slide-up{animation:.36s cubic-bezier(.32,.72,0,1) both slideUp}
.site-header{z-index:100;-webkit-backdrop-filter:blur(20px)saturate(180%);backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--line-soft);background:#fbf8f3e0;position:sticky;top:0}.header-inner{align-items:center;gap:20px;max-width:1400px;height:72px;margin:0 auto;padding:0 28px;display:flex}.header-logo{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);white-space:nowrap;letter-spacing:-.02em;flex-shrink:0;font-size:22px;font-weight:700}.header-logo span{color:var(--sage)}.header-logo-image{object-fit:contain;flex-shrink:0;width:auto;max-width:190px;height:42px;display:block}@media (max-width:640px){.header-logo-image{max-width:142px;height:34px}}.header-search{background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-pill);flex:1;align-items:center;gap:10px;max-width:440px;height:44px;padding:0 18px;transition:border-color .2s,box-shadow .2s;display:flex}.header-search:focus-within{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-tint)}.header-search svg{color:var(--ink-faint);flex-shrink:0}.header-search input{color:var(--ink);letter-spacing:-.01em;background:0 0;border:none;flex:1;font-size:14px;font-weight:400}.header-search input::placeholder{color:var(--ink-faint);font-weight:400}.header-actions{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:flex}.icon-btn{border:1px solid var(--line);background:var(--bg-card);width:44px;height:44px;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:relative}.icon-btn:hover{background:var(--sage-tint);color:var(--sage-deep);border-color:var(--sage-tint)}.badge{background:var(--clay);color:#fff;border:2px solid var(--bg);min-width:18px;height:18px;font-size:10px;font-weight:700;font-family:var(--font-manrope), sans-serif;border-radius:9px;justify-content:center;align-items:center;padding:0 5px;display:flex;position:absolute;top:-2px;right:-2px}.login-btn{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg-card);height:40px;color:var(--ink);letter-spacing:-.01em;padding:0 20px;font-size:13px;font-weight:600;transition:all .2s}.login-btn:hover{border-color:var(--sage);color:var(--sage-deep);background:var(--sage-tint)}.avatar-btn{background:var(--sage);color:#fff;width:40px;height:40px;font-size:14px;font-weight:700;font-family:var(--font-manrope), -apple-system, sans-serif;border:none;border-radius:50%;transition:background .2s}.avatar-btn:hover{background:var(--sage-deep)}
@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.cat-bar{z-index:99;transition:background-color .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s cubic-bezier(.22,.61,.36,1),border-color .22s cubic-bezier(.22,.61,.36,1),margin-bottom .22s cubic-bezier(.22,.61,.36,1);position:sticky;top:72px}.cat-bar-stuck{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft);background:#fbf8f3f2;margin-bottom:34px;box-shadow:0 2px 12px #2d211f0d}.cat-bar-inner{scrollbar-width:none;justify-content:safe center;align-items:center;gap:10px;max-width:1400px;height:auto;margin:0 auto;padding:14px 28px;transition:padding .22s cubic-bezier(.22,.61,.36,1);display:flex;overflow-x:auto}.cat-bar-inner::-webkit-scrollbar{display:none}.cat-bar-stuck .cat-bar-inner{padding:8px 28px}.cat-chip{border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-card);height:64px;color:var(--ink);letter-spacing:-.01em;cursor:pointer;flex-shrink:0;align-items:center;gap:12px;padding:14px 22px 14px 10px;font-size:14px;font-weight:500;transition:all .22s cubic-bezier(.22,.61,.36,1);display:inline-flex;position:relative;overflow:visible}.cat-bar-stuck .cat-chip{gap:8px;height:42px;padding:8px 16px 8px 6px;font-size:12.5px}.cat-chip:hover{background:var(--sage-tint);color:var(--sage-deep);border-color:var(--sage-tint)}.cat-chip.active{background:var(--ink);border-color:var(--ink);color:#fff;box-shadow:0 4px 14px #2d211f2e}.cat-bar-sub{z-index:98;top:136px}.cat-bar-sub .cat-bar-inner{height:52px}.cat-chip-sub{height:36px;padding:0 18px;font-size:12.5px;font-weight:500}.cat-chip-sub.active{background:var(--sage);border-color:var(--sage);color:#fff;box-shadow:0 3px 10px #a67c494d}
.page-body{max-width:1400px;margin:0 auto;padding:36px 28px 100px}.page-title{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.025em;margin-bottom:28px;scroll-margin-top:220px;font-size:36px;font-weight:700;line-height:1.1}.page-title span{color:var(--ink-faint);font-size:17px;font-weight:400;font-family:var(--font-manrope), sans-serif;letter-spacing:-.01em;margin-left:12px}@media (max-width:640px){.page-title{scroll-margin-top:170px;font-size:28px}}.cat-sections{flex-direction:column;gap:56px;display:flex}.cat-section{scroll-margin-top:180px}.cat-section-title{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.02em;margin-bottom:22px;font-size:26px;font-weight:700;line-height:1.2}@media (max-width:640px){.cat-section{scroll-margin-top:140px}.cat-section-title{margin-bottom:16px;font-size:21px}}.product-grid{grid-template-columns:repeat(5,1fr);gap:36px 24px;display:grid}@media (max-width:1200px){.product-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width:1024px){.product-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:860px){.product-grid{grid-template-columns:repeat(2,1fr);gap:28px 16px}}@media (max-width:480px){.product-grid{grid-template-columns:repeat(2,1fr);gap:22px 12px}}@media (max-width:340px){.product-grid{grid-template-columns:1fr}}.top-rail-wrap{margin:4px 0 32px}.top-rail-head{align-items:center;gap:10px;margin-bottom:16px;display:flex}.top-rail-head h2{color:var(--ink);letter-spacing:-.01em;margin:0;font-size:20px;font-weight:800}.top-rail-badge{color:var(--sage-deep);background:var(--sage-tint);white-space:nowrap;border-radius:20px;padding:3px 11px;font-size:12px;font-weight:700}.top-rail{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;align-items:stretch;gap:24px;padding:4px 2px 12px;display:flex;overflow-x:auto}.top-rail::-webkit-scrollbar{height:6px}.top-rail::-webkit-scrollbar-track{background:0 0}.top-rail::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.top-rail-item{scroll-snap-align:start;flex:none;width:210px;display:flex;position:relative}.top-rail-item>.product-item{flex:1;min-width:0}.top-rail-rank{z-index:2;background:var(--sage-deep);color:#fff;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:800;font-family:var(--font-manrope), sans-serif;pointer-events:none;border-radius:6px;align-items:center;gap:4px;padding:4px 8px 4px 6px;display:flex;position:absolute;top:10px;left:10px}@media (max-width:860px){.top-rail{gap:16px}.top-rail-item{width:170px}}@media (max-width:480px){.top-rail-item{width:150px}.top-rail-head h2{font-size:18px}}
.product-item{cursor:pointer;flex-direction:column;gap:0;transition:transform .3s cubic-bezier(.16,1,.3,1);display:flex}.product-item:hover{transform:translateY(-3px)}.product-img-wrap{background:var(--bg-muted);border-radius:var(--radius);aspect-ratio:1;cursor:pointer;justify-content:center;align-items:center;margin-bottom:14px;transition:background .25s,box-shadow .25s;display:flex;position:relative;overflow:hidden}.product-item:hover .product-img-wrap{background:var(--bg-soft);box-shadow:var(--shadow-card)}.product-img-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block}.product-item:hover .product-img-wrap img{transform:scale(1.06)}.product-no-img{opacity:.2;width:56px;height:56px}.stock-out-overlay{border-radius:var(--radius);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fbf8f3c7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stock-out-tag{background:var(--bg-card);color:var(--ink-soft);border-radius:var(--radius-pill);letter-spacing:.04em;text-transform:uppercase;border:1px solid var(--line);box-shadow:var(--shadow-soft);padding:6px 14px;font-size:11px;font-weight:600}.in-cart-dot{background:var(--sage);color:#fff;min-width:22px;height:22px;font-size:11px;font-weight:700;font-family:var(--font-manrope), sans-serif;border-radius:11px;justify-content:center;align-items:center;padding:0 6px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #a67c4966}.product-name{color:var(--ink);letter-spacing:-.01em;margin-bottom:5px;font-size:14px;font-weight:600;line-height:1.4}.product-meta{color:var(--ink-faint);margin-bottom:8px;font-size:12px;font-weight:400;line-height:1.4}.product-price{color:var(--ink);letter-spacing:-.015em;margin-bottom:12px;font-size:17px;font-weight:600;line-height:1.2}.unit-row{align-items:center;gap:8px;margin-bottom:12px;display:flex}.unit-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:500}.unit-select-wrap{position:relative}.unit-select{border:1px solid var(--line);background:var(--bg-card);height:30px;color:var(--ink);appearance:none;cursor:pointer;border-radius:8px;padding:0 26px 0 12px;font-size:12px;font-weight:500;transition:border-color .2s}.unit-select:focus,.unit-select:hover{border-color:var(--sage)}.unit-caret{pointer-events:none;color:var(--ink-faint);position:absolute;top:50%;right:8px;transform:translateY(-50%)}.controls-row{align-items:center;gap:8px;margin-top:auto;display:flex}.qty-wrap{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-card);flex:1;justify-content:space-between;align-items:center;transition:border-color .2s,box-shadow .2s;animation:.28s cubic-bezier(.34,1.56,.64,1) qtyWrapIn;display:flex;overflow:hidden}@media (min-width:641px){.qty-wrap{flex:none;width:68%;margin:0 auto}}.qty-wrap:hover{border-color:var(--sage);box-shadow:0 2px 10px #a67c491a}@keyframes qtyWrapIn{0%{opacity:0;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.qty-btn{width:36px;height:38px;color:var(--ink-soft);background:0 0;border:none;flex:0 0 36px;justify-content:center;align-items:center;padding:8px;font-size:18px;font-weight:400;transition:background .15s,color .15s,transform .12s;display:flex}.qty-btn:hover{background:var(--sage-tint);color:var(--sage-deep)}.qty-btn:active{background:var(--sage-tint);transform:scale(.88)}.qty-num{text-align:center;width:48px;height:38px;color:var(--ink);-moz-appearance:textfield;background:0 0;border:none;outline:none;font-size:14px;font-weight:600;transition:transform .15s,color .15s}.qty-num::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-num::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-num:focus{background:var(--sage-tint);color:var(--sage-deep)}.qty-wrap:has(.qty-btn:active) .qty-num{animation:.22s qtyPop}@keyframes qtyPop{0%{transform:scale(1)}50%{color:var(--sage-deep);transform:scale(1.18)}to{transform:scale(1)}}.add-btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;letter-spacing:-.01em;white-space:nowrap;height:42px;font-size:13px;font-weight:600;font-family:var(--font-manrope), sans-serif;border:none;flex:1;transition:background .2s,box-shadow .2s,transform .22s cubic-bezier(.34,1.56,.64,1),border-radius .22s;box-shadow:0 2px 8px #2d211f26}.add-btn:disabled{background:var(--line);color:var(--ink-faint);box-shadow:none;cursor:not-allowed}@media (hover:hover){.add-btn:hover:not(.btn-added):not(:disabled){background:var(--sage);box-shadow:0 4px 14px #a67c4959}.add-btn:active:not(.btn-added):not(:disabled){border-radius:21px;transform:scaleX(.85)scaleY(.92)}}.add-btn.btn-added{pointer-events:none;background:var(--sage)!important;color:#fff!important;box-shadow:0 2px 10px #a67c4966!important}.skel{background:linear-gradient(90deg, var(--bg-muted) 25%, var(--bg-soft) 50%, var(--bg-muted) 75%);border-radius:var(--radius);background-size:200% 100%;animation:1.6s infinite shimmer}
.state-center{text-align:center;grid-column:1/-1;padding:80px 20px}.state-emoji{margin-bottom:16px;font-size:44px}.state-text{color:var(--ink-soft);font-size:15px;font-weight:400}.fallback-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;text-align:center;margin:0 0 24px;font-size:12px;font-weight:700}
.overlay-bg{z-index:9100;position:fixed;inset:0}.overlay-dim{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2d211f66;position:absolute;inset:0}.bottom-sheet{background:var(--bg);border-radius:24px 24px 0 0;flex-direction:column;max-height:90vh;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 40px #2d211f26}.sheet-handle{background:var(--line);border-radius:2px;width:40px;height:4px;margin:14px auto 4px}.sheet-header{justify-content:space-between;align-items:center;padding:6px 22px 16px;display:flex}.sheet-title{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.02em;font-size:19px;font-weight:600}.close-btn{border:1px solid var(--line);background:var(--bg-card);width:34px;height:34px;color:var(--ink-soft);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex}.close-btn:hover{background:var(--sage-tint);color:var(--sage-deep);border-color:var(--sage-tint)}.sheet-body{flex:1;padding:0 0 8px;overflow-y:auto}.sheet-footer{border-top:1px solid var(--line-soft);padding:14px 22px 34px}
.cart-item{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding:12px 22px;display:flex}.cart-thumb{background:var(--bg-muted);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex;overflow:hidden}.cart-thumb img{object-fit:contain;width:100%;height:100%}.cart-info{flex:1;min-width:0}.cart-name{color:var(--ink);font-size:13px;font-weight:600}.cart-price{color:var(--sage-deep);margin-top:2px;font-size:12px;font-weight:600}.cart-qty-row{flex-shrink:0;align-items:center;gap:6px;display:flex}.mini-btn{border:1px solid var(--line);background:var(--bg-card);width:30px;height:30px;color:var(--ink-soft);border-radius:8px;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.mini-btn:hover{background:var(--sage-tint);color:var(--sage-deep);border-color:var(--sage-tint)}.mini-qty{text-align:center;width:24px;font-size:13px;font-weight:600}
.form-field{flex-direction:column;gap:6px;display:flex}.form-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:600}.form-input{border:1px solid var(--line);border-radius:var(--radius-sm);height:48px;color:var(--ink);background:var(--bg-card);padding:0 16px;font-size:14px;font-weight:400;transition:border-color .15s,box-shadow .15s}.form-input:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-tint);background:var(--bg-card)}.primary-btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;letter-spacing:-.01em;border:none;width:100%;height:50px;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 10px #2d211f33}.primary-btn:hover{background:var(--sage);box-shadow:0 4px 14px #a67c4959}.primary-btn:disabled{background:var(--line);color:var(--ink-faint);box-shadow:none;cursor:not-allowed}.dark-btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;border:none;width:100%;height:48px;font-size:14px;font-weight:600;transition:background .2s}.dark-btn:hover{background:var(--sage)}.err-box{background:var(--clay-tint);color:var(--clay);border-radius:var(--radius-sm);border:1px solid #9c534940;padding:12px 16px;font-size:13px;font-weight:500}.total-row{background:var(--bg-muted);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.total-label{color:var(--ink-soft);font-size:15px;font-weight:500}.total-val{color:var(--ink);letter-spacing:-.015em;font-size:18px;font-weight:600}
.modal-center{z-index:9200;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#2d211f80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg);text-align:center;width:100%;max-width:380px;box-shadow:var(--shadow-float);border-radius:24px;padding:44px 32px}.success-icon{background:var(--sage-tint);border-radius:50%;justify-content:center;align-items:center;width:76px;height:76px;margin:0 auto 22px;font-size:36px;display:flex}
.portal-sheet{background:var(--bg);border-radius:28px 28px 0 0;flex-direction:column;max-width:560px;max-height:88vh;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 40px #2d211f26}.portal-handle{background:var(--line);border-radius:2px;flex-shrink:0;width:40px;height:4px;margin:14px auto 0}.portal-head{flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 22px 0;display:flex}.portal-title{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:600}.portal-logout{border-radius:var(--radius-pill);border:1px solid var(--clay-tint);background:var(--clay-tint);height:34px;color:var(--clay);cursor:pointer;padding:0 16px;font-size:12px;font-weight:600;transition:all .2s}.portal-logout:hover{background:var(--clay);color:#fff;border-color:var(--clay)}.portal-tabs{border-bottom:1px solid var(--line-soft);flex-shrink:0;gap:4px;padding:16px 22px 0;display:flex}.portal-tab{color:var(--ink-faint);cursor:pointer;white-space:nowrap;letter-spacing:-.01em;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 4px 12px;font-size:12px;font-weight:500;transition:all .2s}.portal-tab.active{color:var(--sage-deep);border-bottom-color:var(--sage);font-weight:600}.portal-body{flex-direction:column;flex:1;gap:12px;min-height:0;padding:18px 22px 36px;display:flex;overflow:hidden auto}.portal-profile-card{background:var(--bg-card);border:1px solid var(--line-soft);box-shadow:var(--shadow-soft);border-radius:20px;align-items:center;gap:14px;padding:22px;display:flex}.portal-avatar{background:var(--sage);color:#fff;width:54px;height:54px;font-size:22px;font-weight:700;font-family:var(--font-manrope), -apple-system, sans-serif;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.portal-profile-info{flex:1;min-width:0}.portal-profile-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px;font-size:10px;font-weight:600}.portal-profile-name{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.015em;font-size:17px;font-weight:600;overflow:hidden}.portal-profile-meta{color:var(--ink-soft);margin-top:2px;font-size:12px}.portal-stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.portal-stat{border:1px solid var(--line-soft);background:var(--bg-card);border-radius:14px;padding:16px 18px}.portal-stat.debt{background:var(--clay-tint);border-color:#9c534933}.portal-stat.credit{background:var(--sage-tint);border-color:#a67c4933}.portal-stat-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px;font-size:10px;font-weight:600}.portal-stat-val{color:var(--ink-soft);letter-spacing:-.015em;font-size:17px;font-weight:700}.portal-stat.debt .portal-stat-val{color:var(--clay)}.portal-stat.credit .portal-stat-val{color:var(--sage-deep)}.portal-list-item{border:1px solid var(--line-soft);background:var(--bg-card);border-radius:14px;overflow:hidden}.portal-list-row{cursor:pointer;background:var(--bg-card);justify-content:space-between;align-items:center;min-height:54px;padding:16px 18px;display:flex}.portal-list-no{color:var(--ink);letter-spacing:-.01em;min-height:16px;font-size:13px;font-weight:600}.portal-list-date{color:var(--ink-faint);min-height:14px;margin-top:2px;font-size:11px}.portal-list-total{color:var(--ink);white-space:nowrap;letter-spacing:-.015em;font-size:14px;font-weight:700}.portal-list-detail{border-top:1px solid var(--line-soft);background:var(--bg-muted);flex-direction:column;gap:6px;padding:12px 18px;display:flex}.portal-list-product{color:var(--ink-soft);justify-content:space-between;font-size:12px;display:flex}.portal-status{border-radius:var(--radius-pill);padding:4px 12px;font-size:11px;font-weight:600}.portal-payment-item{border:1px solid var(--line-soft);background:var(--bg-card);border-radius:14px;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.portal-pay-amount{color:var(--sage-deep);letter-spacing:-.015em;font-size:15px;font-weight:700}.portal-pay-date{color:var(--ink-faint);margin-top:2px;font-size:11px}.portal-pay-icon{background:var(--sage-tint);width:38px;height:38px;color:var(--sage-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:700;display:flex}.portal-empty{text-align:center;color:var(--ink-faint);padding:48px 20px;font-size:14px;font-weight:500}.portal-loading{text-align:center;color:var(--ink-faint);padding:48px 20px;font-size:14px}.tab-bar{border-bottom:1px solid var(--line-soft);display:flex}.tab-btn{color:var(--ink-faint);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:12px 4px;font-size:12px;font-weight:500;transition:all .2s}.tab-btn.active{color:var(--sage-deep);border-bottom-color:var(--sage);font-weight:600}
@media (max-width:640px){.header-inner{gap:12px;height:60px;padding:0 16px}.header-logo{font-size:18px}.header-search{height:40px}.page-body{padding:24px 16px 100px}.page-title{margin-bottom:20px;font-size:26px}.cat-bar{top:60px}.cat-bar-sub{top:auto}.cat-bar-inner{gap:12px;padding:10px 16px}.cat-chip{gap:10px;height:58px;padding:10px 18px 10px 8px;font-size:13px}.cat-chip-thumb{width:44px;height:44px}.cat-chip-sub{height:32px;padding:0 14px;font-size:12px}.product-name{font-size:13px}.product-price{font-size:15px}.icon-btn{width:40px;height:40px}.login-btn{height:36px;padding:0 14px;font-size:12px}.avatar-btn{width:36px;height:36px;font-size:13px}.add-btn{height:40px;font-size:12.5px}}@media (max-width:480px){.header-search{display:none}.mobile-search-shown .header-search{max-width:none;display:flex;position:absolute;top:50%;left:16px;right:16px;transform:translateY(-50%)}}
.bottom-nav{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);border:1px solid var(--line-soft);border-radius:var(--radius-pill);z-index:9000;background:#ffffffeb;justify-content:space-between;align-items:center;gap:4px;width:min(100% - 32px,380px);padding:10px 18px;display:flex;position:fixed;bottom:22px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #2d211f1f,0 2px 8px #2d211f0f}.nav-btn{cursor:pointer;color:var(--ink-faint);-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:7px 0 5px;transition:all .25s;display:flex}.nav-icon-wrap{border-radius:17px;justify-content:center;align-items:center;width:52px;height:34px;transition:all .3s;display:flex;position:relative}.nav-btn svg{fill:none;stroke:currentColor;width:22px;height:22px;transition:all .3s}.nav-label{color:currentColor;letter-spacing:.02em;margin-top:4px;font-size:11px;font-weight:650;transition:transform .25s}.nav-btn.nav-active{color:var(--sage-deep)}.nav-btn.nav-active .nav-icon-wrap{background:var(--sage-tint)}.nav-btn:active .nav-icon-wrap{transform:scale(.88)}@media (hover:hover){.nav-btn:hover{color:var(--ink)}.nav-btn:hover .nav-icon-wrap{background:var(--bg-soft);transform:translateY(-2px)}.nav-btn:hover svg{transform:scale(1.1)}.nav-btn.nav-active:hover .nav-icon-wrap{background:var(--sage-tint)}.nav-btn:hover .nav-label{transform:translateY(1px)}}.nav-cart-badge{background:var(--clay);color:#fff;border:2px solid var(--bg);opacity:0;min-width:16px;height:16px;font-size:9px;font-weight:700;font-family:var(--font-manrope), sans-serif;border-radius:8px;justify-content:center;align-items:center;padding:0 4px;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:absolute;top:-3px;right:2px;transform:scale(.5)}.nav-cart-badge.show{opacity:1;transform:scale(1)}@keyframes navBounce{0%{transform:scale(1)}40%{transform:scale(1.4)}60%{transform:scale(.85)}80%{transform:scale(1.1)}to{transform:scale(1)}}.nav-bounce{animation:.5s cubic-bezier(.25,.8,.25,1) navBounce}
.drawer-overlay{z-index:9990;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2d211f66;transition:opacity .3s;position:fixed;inset:0}.drawer-overlay.open{opacity:1;pointer-events:auto}.cat-drawer{-webkit-backdrop-filter:blur(24px)saturate(180%);backdrop-filter:blur(24px)saturate(180%);z-index:9995;visibility:hidden;background:#fbf8f3f7;flex-direction:column;width:86%;max-width:380px;height:100vh;transition:transform .35s cubic-bezier(.4,0,.2,1),visibility .35s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-12px 0 45px #2d211f26}.cat-drawer.open{visibility:visible;transform:translate(0)}.cat-drawer-head{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line-soft);background:#fbf8f3d9;padding:32px 20px 16px}.cat-drawer-head h2{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.025em;margin:0 0 18px;font-size:28px;font-weight:700}.cat-drawer-search{border-radius:var(--radius-pill);position:relative}.cat-drawer-search:before{content:"";background:var(--bg-card);border:1px solid var(--line);border-radius:var(--radius-pill);z-index:1;transition:border-color .2s;position:absolute;inset:0}.cat-drawer-search:focus-within:before{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-tint)}.cat-drawer-search input{z-index:2;border-radius:var(--radius-pill);width:100%;color:var(--ink);box-sizing:border-box;background:0 0;border:none;outline:none;padding:14px 20px;font-size:14px;font-weight:500;position:relative}.cat-drawer-list{flex:1;padding:16px 16px 100px;overflow-y:auto}.drawer-cat-item{background:var(--bg-card);box-shadow:var(--shadow-soft);border:1px solid var(--line-soft);border-radius:16px;margin-bottom:10px;overflow:hidden}.drawer-cat-btn{cursor:pointer;text-align:left;width:100%;color:var(--ink);letter-spacing:-.01em;background:0 0;border:none;align-items:center;padding:16px 18px;font-family:inherit;font-size:14.5px;font-weight:600;transition:background .2s;display:flex}.drawer-cat-btn:hover{background:var(--sage-tint)}.drawer-cat-btn.dc-active{background:var(--sage-tint);color:var(--sage-deep)}.drawer-cat-btn .dc-label{flex:1}.dc-thumb{object-fit:cover;border-radius:10px;flex-shrink:0;width:36px;height:36px;margin-right:12px}.dc-sub .dc-thumb{border-radius:8px;width:28px;height:28px;margin-right:0}.drawer-cat-btn .dc-dot{background:var(--sage);opacity:0;border-radius:50%;flex-shrink:0;width:8px;height:8px;transition:opacity .2s}.drawer-cat-btn.dc-active .dc-dot{opacity:1}.dc-chevron{background:var(--bg-muted);width:26px;height:26px;color:var(--ink-faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:transform .2s,background .2s,color .2s;display:flex}.dc-chevron.open{background:var(--sage);color:#fff;transform:rotate(180deg)}.dc-sub{border:none;border-top:1px solid var(--line-soft);cursor:pointer;text-align:left;width:100%;color:var(--ink-soft);letter-spacing:-.01em;background:0 0;align-items:center;gap:12px;padding:13px 18px;font-family:inherit;font-size:13.5px;font-weight:500;transition:background .15s;display:flex}.dc-sub:hover{background:var(--sage-tint);color:var(--sage-deep)}.dc-sub.dc-active{background:var(--sage-tint);color:var(--sage-deep);font-weight:600}.dc-sub .dc-bar{background:var(--line);border-radius:2px;flex-shrink:0;width:3px;height:16px}.dc-sub.dc-active .dc-bar{background:var(--sage)}.dc-sub .dc-label{flex:1}@media (max-width:640px){.cat-drawer{width:82%;max-width:320px}.cat-drawer-head{padding:22px 16px 12px}.cat-drawer-head h2{margin-bottom:12px;font-size:22px}.cat-drawer-search input{padding:12px 16px;font-size:13px}.cat-drawer-list{padding:12px 12px 90px}.drawer-cat-item{border-radius:14px;margin-bottom:8px}.drawer-cat-btn{padding:13px 15px;font-size:13px}.dc-thumb{border-radius:8px;width:28px;height:28px;margin-right:10px}.dc-sub .dc-thumb{width:22px;height:22px}.dc-sub{gap:10px;padding:11px 15px;font-size:12.5px}.dc-chevron{width:22px;height:22px}}
.magic-orb{z-index:99999;background:var(--sage);pointer-events:none;border-radius:50%;width:18px;height:18px;transition:top .6s cubic-bezier(.5,-.5,.2,1),left .6s cubic-bezier(.2,.8,.2,1),transform .6s,opacity .6s;position:fixed;box-shadow:0 0 15px 5px #a67c4999}.page-body{padding-bottom:110px!important}
.cat-chip-thumb{object-fit:cover;border-radius:10px;flex-shrink:0;width:48px;height:48px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),width .22s cubic-bezier(.22,.61,.36,1),height .22s cubic-bezier(.22,.61,.36,1);box-shadow:0 2px 6px #2d211f14}.cat-bar-stuck .cat-chip-thumb{border-radius:8px;width:28px;height:28px}@media (max-width:640px){.cat-bar-stuck{margin-bottom:26px}.cat-bar-stuck .cat-chip{gap:6px;height:40px;padding:6px 14px 6px 6px;font-size:12px}.cat-bar-stuck .cat-chip-thumb{width:26px;height:26px}}.cat-chip:hover .cat-chip-thumb{transform:scale(1.06)}.cat-chip-arrow{color:var(--ink-faint);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-4px;padding:4px;transition:color .3s,background-color .2s,transform .2s;display:inline-flex}.cat-chip:hover .cat-chip-arrow,.cat-chip.active .cat-chip-arrow{color:var(--ink-soft)}.cat-chip-arrow:hover{background:#2d211f0f}.cat-chip-arrow.open{color:var(--ink);transform:rotate(180deg)}.cat-subdrop-overlay{z-index:150;position:fixed;inset:0}.cat-subdrop{z-index:151;background:var(--bg-card);min-width:220px;box-shadow:var(--shadow-float);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:2px;padding:8px;animation:.22s cubic-bezier(.34,1.4,.64,1) both popIn;display:flex;position:fixed}.cat-subdrop-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:500;transition:background .15s;display:flex}.cat-subdrop-item:hover{background:var(--sage-tint);color:var(--sage-deep)}.cat-subdrop-thumb{object-fit:cover;border-radius:8px;flex-shrink:0;width:30px;height:30px}
.banner-wrap{max-width:1400px;margin:24px auto 48px;padding:0 28px}.banner-viewport{box-shadow:var(--shadow-card);border-radius:20px;position:relative;overflow:hidden}.banner-track{transition:transform .6s cubic-bezier(.4,0,.2,1);display:flex}.banner-slide{aspect-ratio:2.4;background:var(--bg-soft);min-width:100%;position:relative}.banner-slide img{object-fit:cover;width:100%;height:100%;display:block}.banner-slide:after{content:"";pointer-events:none;background:linear-gradient(90deg,#2d211f6b 0%,#2d211f14 48%,#0000 72%);position:absolute;inset:0}.banner-slide.banner-align-right:after{background:linear-gradient(270deg,#2d211f6b 0%,#2d211f14 48%,#0000 72%)}.banner-title{color:#fff;z-index:2;max-width:720px;font-family:var(--font-manrope), -apple-system, sans-serif;letter-spacing:-.035em;text-shadow:0 2px 22px #2d211f47;background:0 0;padding:28px 32px;font-size:clamp(24px,3vw,44px);font-weight:700;line-height:1.2;position:absolute;bottom:0;left:0;right:0}.banner-title.right{text-align:right;left:auto;right:0}.banner-dots{z-index:2;justify-content:center;gap:6px;display:flex;position:absolute;bottom:18px;left:0;right:0}.banner-dot{cursor:pointer;background:#ffffff8c;border:none;border-radius:50%;width:8px;height:8px;padding:0;transition:all .25s}.banner-dot.active{background:#fff;border-radius:4px;width:24px}.banner-arrow{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;z-index:3;background:#ffffff26;border:1px solid #ffffff4d;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.banner-arrow:hover{background:#ffffff47}.banner-arrow.prev{left:18px}.banner-arrow.next{right:18px}@media (max-width:640px){.banner-wrap{margin:14px auto 26px;padding:0 16px}.banner-viewport{border-radius:14px}.banner-slide{aspect-ratio:16/9}.banner-title{max-width:86%;padding:22px 20px 30px;font-size:22px}.banner-arrow{width:36px;height:36px}.banner-arrow.prev{left:12px}.banner-arrow.next{right:12px}}@media (max-width:480px){.bottom-nav{width:calc(100% - 24px);padding:8px 10px;bottom:14px}.nav-icon-wrap{width:48px;height:32px}.nav-label{font-size:10px}}
.detail-overlay{z-index:9300;background:var(--bg);flex-direction:column;width:100%;max-width:100vw;animation:.25s fadeIn;display:flex;position:fixed;inset:0;overflow:hidden auto}.detail-topbar{border-bottom:1px solid var(--line-soft);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:2;background:#fbf8f3f2;justify-content:space-between;align-items:center;padding:18px 24px;display:flex;position:sticky;top:0}.detail-back{color:var(--ink-soft);cursor:pointer;letter-spacing:-.01em;background:0 0;border:none;align-items:center;gap:6px;padding:0;font-size:14px;font-weight:500;transition:color .15s;display:flex}.detail-back:hover{color:var(--ink)}.detail-close-btn{border:1px solid var(--line);background:var(--bg-card);width:36px;height:36px;color:var(--ink-soft);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:16px;transition:all .2s;display:flex}.detail-close-btn:hover{background:var(--sage-tint);color:var(--sage-deep);border-color:var(--sage-tint)}.detail-body{background:var(--bg);justify-content:center;align-items:center;gap:40px;padding:32px 28px 0;display:flex}@media (max-width:640px){.detail-body{flex-direction:column;gap:20px;padding:20px 18px 0}}.detail-img-side{aspect-ratio:1;border-radius:20px;justify-content:center;align-items:center;width:38%;margin:0;display:flex;overflow:hidden}@media (max-width:640px){.detail-img-side{border-radius:16px;width:100%}}.detail-img-side img{object-fit:contain;border-radius:16px;width:78%;height:78%;display:block}.detail-img-side.zoomable{cursor:zoom-in;position:relative}.detail-img-side.zoomable img{pointer-events:none;transition:transform .25s}.detail-img-side.zoomable:hover img{transform:scale(1.04)}.img-zoom-hint{z-index:3;border-radius:var(--radius-pill);color:#fff;letter-spacing:.01em;opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#2d211fb8;align-items:center;gap:6px;padding:7px 12px;font-size:11px;font-weight:600;transition:all .2s;display:flex;position:absolute;bottom:12px;right:12px;transform:translateY(4px)}.img-zoom-hint svg{flex-shrink:0}.detail-img-side.zoomable:hover .img-zoom-hint{opacity:1;transform:translateY(0)}@media (hover:none){.img-zoom-hint{opacity:.85;transform:none}}.card-zoom-btn{z-index:3;border-radius:var(--radius-sm);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-soft);cursor:zoom-in;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fbf8f3eb;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:10px;right:10px;transform:translateY(-3px)}.product-item:hover .card-zoom-btn{opacity:1;transform:translateY(0)}.card-zoom-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff}@media (hover:none){.card-zoom-btn{opacity:.9;width:34px;height:34px;transform:none}}.lb-overlay{z-index:9600;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#18120ff0;flex-direction:column;animation:.18s lbIn;display:flex;position:fixed;inset:0}@keyframes lbIn{0%{opacity:0}to{opacity:1}}.lb-top{color:#ffffffd9;justify-content:space-between;align-items:center;gap:10px;padding:14px 18px;display:flex}.lb-title{color:#ffffffe6;white-space:nowrap;text-overflow:ellipsis;letter-spacing:-.01em;max-width:46vw;font-size:13px;font-weight:600;overflow:hidden}.lb-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.lb-btn{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;transition:all .18s;display:flex}.lb-btn:hover{background:#fff3}.lb-btn:disabled{opacity:.35;cursor:default}.lb-btn:disabled:hover{background:#ffffff14}.lb-zoom-label{text-align:center;cursor:pointer;color:#fffc;letter-spacing:.02em;background:0 0;border:none;min-width:48px;font-family:inherit;font-size:12px;font-weight:700}.lb-zoom-label:hover{color:#fff}.lb-stage{touch-action:none;cursor:zoom-in;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.lb-stage.zoomed{cursor:grab}.lb-stage.dragging{cursor:grabbing}.lb-stage img{object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;transform-origin:50%;border-radius:8px;max-width:min(92vw,1100px);max-height:calc(100vh - 150px);transition:transform .16s;box-shadow:0 24px 80px #0000008c}.lb-stage img.no-anim{transition:none}.lb-bottom{text-align:center;color:#ffffff80;letter-spacing:.01em;padding:10px 16px 18px;font-size:11.5px}@media (max-width:640px){.lb-top{padding:10px 12px}.lb-btn{width:36px;height:36px}.lb-title{max-width:38vw;font-size:12px}.lb-bottom{padding-bottom:14px;font-size:10.5px}.lb-stage img{max-width:96vw;max-height:calc(100vh - 130px)}}.detail-info-side{flex-direction:column;gap:0;width:44%;padding:40px 36px;display:flex}@media (max-width:640px){.detail-info-side{padding:24px 22px calc(28px + env(safe-area-inset-bottom));width:100%}}.detail-cat{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:600}.detail-name{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.025em;margin-bottom:18px;font-size:30px;font-weight:600;line-height:1.2}@media (max-width:640px){.detail-name{font-size:24px}}.detail-price{color:var(--ink);letter-spacing:-.02em;margin-bottom:24px;font-size:26px;font-weight:600}@media (max-width:640px){.detail-price{font-size:23px}}.detail-unit-label{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.08em;margin-bottom:10px;font-size:11px;font-weight:600}.detail-unit-select{flex-wrap:wrap;gap:8px;margin-bottom:24px;display:flex}.detail-unit-chip{border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--bg-card);height:38px;color:var(--ink-soft);cursor:pointer;letter-spacing:-.01em;padding:0 18px;font-size:13px;font-weight:500;transition:all .2s}.detail-unit-chip.active{border-color:var(--sage);background:var(--sage-tint);color:var(--sage-deep);font-weight:600}.detail-controls{align-items:center;gap:10px;margin-bottom:22px;display:flex}.detail-add-btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;letter-spacing:-.01em;border:none;flex:1;justify-content:center;align-items:center;gap:8px;height:52px;font-size:15px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #2d211f33}.detail-add-btn:hover:not(.btn-added):not(:disabled){background:var(--sage);box-shadow:0 4px 14px #a67c4959}.detail-add-btn:disabled{background:var(--line);color:var(--ink-faint);box-shadow:none;cursor:not-allowed}.detail-add-btn.btn-added{background:var(--sage);color:#fff;pointer-events:none;box-shadow:0 4px 14px #a67c4966}.detail-added-badge{background:var(--sage-tint);border-radius:var(--radius-sm);color:var(--sage-deep);border:1px solid #a67c4940;align-items:center;gap:6px;margin-bottom:22px;padding:10px 14px;font-size:13px;font-weight:600;display:inline-flex}.detail-stock{color:var(--ink-faint);margin-bottom:12px;font-size:13px;font-weight:500}.detail-stock.ok{color:var(--sage-deep)}.detail-stock.out{color:var(--clay)}.detail-desc{color:var(--ink-soft);border-top:1px solid var(--line-soft);text-align:justify;margin-top:8px;padding-top:22px;font-size:14px;font-weight:400;line-height:1.7}.detail-similar{width:100%;min-width:0;max-width:1040px;margin:0 auto;padding:8px 28px 100px}@media (max-width:640px){.detail-similar{padding:4px 18px 100px}}.detail-similar-title{color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em;border-top:1px solid var(--line-soft);margin:0 0 18px;padding-top:28px;font-size:12px;font-weight:700}.detail-similar-rail{scroll-snap-type:x proximity;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;justify-content:flex-start;align-items:stretch;gap:20px;width:100%;min-width:0;max-width:100%;padding-bottom:8px;display:flex;overflow:auto hidden}.detail-similar-item{scroll-snap-align:start;flex:0 0 148px;width:148px;display:flex}.detail-similar-item>.product-item{flex:1;min-width:0}@media (max-width:640px){.detail-similar-item{flex-basis:128px;width:128px}}.variant-chip{text-align:left;flex-direction:column;align-items:flex-start;min-width:84px;display:flex;height:auto!important;padding:8px 14px!important}.variant-chip.unavailable{opacity:.5;cursor:not-allowed;border-color:var(--line-soft)!important}.vc-name{font-size:13px;font-weight:600}.vc-price{color:var(--sage-deep);margin-top:2px;font-size:11px}.vc-orig{color:var(--ink-faint);font-size:10px;text-decoration:line-through}.vc-stock{color:var(--ink-faint);font-size:10px}.vc-out{color:var(--clay);margin-top:2px;font-size:10px}.disc-badge{background:var(--clay);color:#fff;vertical-align:middle;letter-spacing:.02em;border-radius:4px;margin-left:6px;padding:2px 6px;font-size:10px;font-weight:700;line-height:1.4;display:inline-block}.price-orig-strike{color:var(--ink-faint);margin-right:6px;font-size:12px;font-weight:400;text-decoration:line-through}.variant-select-btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;letter-spacing:-.01em;border:none;flex:1;justify-content:center;align-items:center;gap:8px;height:52px;font-size:15px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 14px #2d211f33}.variant-select-btn:hover{background:var(--sage)}.detail-qty-wrap{border:1px solid var(--line);background:var(--bg-card);border-radius:12px;flex-shrink:0;align-items:center;height:52px;display:flex;overflow:hidden}.detail-qty-btn{width:46px;height:100%;color:var(--ink-soft);cursor:pointer;background:0 0;border:none;font-size:20px;transition:background .15s}.detail-qty-btn:hover{background:var(--sage-tint);color:var(--sage-deep)}.detail-qty-num{text-align:center;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft);width:42px;color:var(--ink);font-size:16px;font-weight:600}.detail-qty-wrap.weight{gap:4px;padding:0 6px 0 12px}.detail-qty-input{text-align:center;width:80px;height:100%;color:var(--ink);-moz-appearance:textfield;letter-spacing:-.01em;background:0 0;border:none;outline:none;font-size:17px;font-weight:600}.detail-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.detail-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.detail-qty-unit{color:var(--sage-deep);white-space:nowrap;padding-right:6px;font-size:13px;font-weight:600}
.cart-sheet-new{background:var(--bg);border-radius:28px 28px 0 0;flex-direction:column;max-width:560px;max-height:88vh;margin:0 auto;display:flex;position:absolute;bottom:0;left:0;right:0;overflow:hidden;box-shadow:0 -8px 40px #2d211f26}.cart-handle{background:var(--line);border-radius:2px;width:40px;height:4px;margin:14px auto 0}.cart-head-new{justify-content:space-between;align-items:center;padding:14px 22px 18px;display:flex}.cart-title-new{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.02em;font-size:22px;font-weight:600}.cart-count-chip{background:var(--sage-tint);border-radius:var(--radius-pill);color:var(--sage-deep);margin-left:10px;padding:4px 12px;font-size:12px;font-weight:600}.cart-items-list{flex:1;padding:4px 0 8px;overflow-y:auto}.cart-item-new{align-items:center;gap:14px;padding:14px 22px;transition:background .15s;display:flex}.cart-item-new:active{background:var(--bg-muted)}.cart-thumb-new{background:var(--bg-muted);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:62px;height:62px;display:flex;overflow:hidden}.cart-thumb-new img{object-fit:contain;width:100%;height:100%}.cart-info-new{flex:1;min-width:0}.cart-name-new{color:var(--ink);letter-spacing:-.01em;margin-bottom:4px;font-size:14px;font-weight:600}.cart-price-new{color:var(--sage-deep);letter-spacing:-.01em;font-size:13px;font-weight:600}.cart-unit-new{color:var(--ink-faint);font-size:11px;font-weight:400}.cart-qty-ctrl{flex-shrink:0;align-items:center;gap:8px;display:flex}.cqb{border:1px solid var(--line);background:var(--bg-card);width:32px;height:32px;color:var(--ink-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:16px;font-weight:400;transition:all .15s;display:flex}.cqb:hover{background:var(--sage-tint);border-color:var(--sage-tint);color:var(--sage-deep)}.cqb.cqb-del{border-color:var(--clay-tint);color:var(--clay)}.cqb.cqb-del:hover{background:var(--clay-tint)}.cart-qty-input{border:1px solid var(--line);text-align:center;width:60px;height:32px;color:var(--ink);-moz-appearance:textfield;background:var(--bg-card);border-radius:10px;outline:none;font-size:13px;font-weight:600}.cart-qty-input:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-tint)}.cart-qty-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cart-qty-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cqu{color:var(--sage-deep);font-size:11px;font-weight:600}.cqn{text-align:center;width:42px;height:32px;color:var(--ink);border:1px solid var(--line);background:var(--bg-card);-moz-appearance:textfield;border-radius:10px;outline:none;font-size:14px;font-weight:600}.cqn:focus{border-color:var(--sage);box-shadow:0 0 0 3px var(--sage-tint)}.cqn::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cqn::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-divider{background:var(--line-soft);height:1px;margin:0 22px}.cart-footer-new{background:var(--bg);border-top:1px solid var(--line-soft);padding:18px 22px 32px}.cart-total-card{background:var(--sage-tint);border:1px solid #a67c4933;border-radius:16px;justify-content:space-between;align-items:center;margin-bottom:14px;padding:16px 20px;display:flex}.cart-total-lbl{color:var(--sage-deep);letter-spacing:-.01em;font-size:13px;font-weight:600}.cart-total-val{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink);letter-spacing:-.02em;font-size:20px;font-weight:700}.cart-checkout-btn{border-radius:var(--radius-sm);background:var(--ink);color:#fff;cursor:pointer;letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:8px;width:100%;height:54px;font-size:15px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 16px #2d211f33}.cart-checkout-btn:hover{background:var(--sage);box-shadow:0 4px 16px #a67c4959}.cart-checkout-btn:disabled{background:var(--line);color:var(--ink-faint);box-shadow:none;cursor:not-allowed}.cart-empty-new{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:64px 20px;display:flex}.cart-empty-icon{opacity:.5;font-size:52px}.cart-empty-text{font-family:var(--font-manrope), -apple-system, sans-serif;color:var(--ink-soft);font-size:18px;font-weight:600}.cart-empty-sub{color:var(--ink-faint);font-size:13px}
.add-btn{color:#fff!important;background:#2d211f!important;border:none!important;font-weight:600!important;box-shadow:0 2px 8px #2d211f26!important}.add-btn:hover:not(:disabled){background:#a67c49!important;box-shadow:0 4px 14px #a67c4959!important}.add-btn:disabled{color:#9f9188!important;box-shadow:none!important;background:#e7ded3!important}.add-btn.btn-added{color:#fff!important;background:#a67c49!important;box-shadow:0 2px 10px #a67c4966!important}.page-body{padding-bottom:110px!important}.mobile-search-trigger{display:none!important}@media (max-width:640px){.mobile-search-trigger{display:flex!important}.header-search:not(.fade-in){display:none!important}.header-search.fade-in{display:flex!important}}

