:root{--blue:#4a7fc1;--blue-lt:#dce9f7;--blue-dk:#2f5d96;--ink:#222831;--sub:#7a8596;--line:#e8ecf2;--bg:#f5f7fa;--white:#fff;--red:#e05a5a;--primary:var(--blue);--primary-dark:var(--blue-dk);--primary-light:var(--blue-lt);--accent:#e8943a;--accent-dark:#c4722a;--success:#2e9b5e;--success-light:#e8f5ee;--warning:#c58a00;--warning-light:#fff8e6;--danger:var(--red);--danger-light:#fef0f0;--info:var(--blue);--info-light:var(--blue-lt);--text-primary:var(--ink);--text-secondary:var(--sub);--text-muted:#94a3b8;--text-inverse:#fff;--bg-body:var(--white);--bg-white:var(--white);--bg-card:var(--white);--bg-hover:var(--bg);--bg-input:var(--bg);--bg-overlay:rgba(0,0,0,.4);--border-color:var(--line);--border-light:var(--bg);--border-focus:var(--blue);--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-full:9999px;--shadow-sm:0 1px 2px rgba(0,0,0,.05);--shadow-md:0 4px 20px rgba(74,127,193,.1);--shadow-lg:0 8px 30px rgba(0,0,0,.12);--shadow-xl:0 20px 60px rgba(0,0,0,.15);--serif:"DM Serif Display",Georgia,serif;--sans:"Outfit","Noto Sans TC",sans-serif;--font-sans:var(--sans);--font-serif:var(--serif);--transition:.2s ease;--transition-slow:.4s ease;--container-max:1200px;--header-height:60px}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-body);color:var(--text-primary);font-family:var(--font-sans);font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none;transition:color var(--transition)}a:hover{color:var(--primary)}img{display:block;max-width:100%}button{background:none;cursor:pointer}button,input,select,textarea{border:none;font-family:inherit;font-size:inherit;outline:none}ol,ul{list-style:none}.container{margin:0 auto;max-width:var(--container-max);padding:0 24px}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0}.hdr{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--bg-white);background:#fffffff2;border-bottom:1px solid var(--border-color);height:var(--header-height);position:sticky;top:0;z-index:1000}.hdr .container{align-items:center;display:flex;height:100%;justify-content:space-between}.logo-wrapper{align-items:flex-end;display:flex;gap:16px}.logo{align-items:center;cursor:pointer;display:flex;flex-direction:column;gap:4px}.logo-tagline{color:#396ab3;font-family:var(--font-sans);font-size:11px;font-weight:400;letter-spacing:2px;margin-top:4px}.logo-icon{color:#396ab3;height:19px;width:38px}.logo-text{font-family:var(--font-serif);font-size:26px;font-weight:400;letter-spacing:0;line-height:1;text-transform:lowercase}.logo-text-dark{color:#396ab3}.logo-text-light{color:#7a9fc9}.logo-block{background:var(--primary);border-radius:var(--radius-sm);color:#fff;font-family:var(--font-sans);font-size:16px;font-weight:600;height:32px;justify-content:center;width:32px}.hnav,.logo-block{align-items:center;display:flex}.hnav{gap:32px}.hnav a{color:var(--text-secondary);font-size:14px;font-weight:500;padding:4px 0;position:relative;transition:color var(--transition)}.hnav a.active,.hnav a:hover{color:var(--primary)}.hnav a.active:after{background:var(--primary);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.hicons{gap:8px}.hicon-btn,.hicons{align-items:center;display:flex}.hicon-btn{border-radius:var(--radius-full);color:var(--text-secondary);height:40px;justify-content:center;position:relative;transition:background var(--transition);width:40px}.hicon-btn:hover{background:var(--bg-hover);color:var(--primary)}.hicon-btn svg{fill:none;height:20px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8;width:20px}.cart-badge{background:var(--primary);color:#fff;display:flex;font-size:10px;font-weight:600;height:18px;min-width:18px;padding:0 4px;position:absolute;right:2px;top:2px}.cart-badge,.hmenu-btn{align-items:center;border-radius:var(--radius-full);justify-content:center}.hmenu-btn{color:var(--text-primary);display:none;height:40px;width:40px}.hmenu-btn svg{fill:none;height:22px;stroke:currentColor;stroke-linecap:round;stroke-width:2;width:22px}.mobile-nav-overlay{background:var(--bg-overlay);display:none;top:0;right:0;bottom:0;left:0;opacity:0;position:fixed;transition:opacity var(--transition);z-index:2000}.mobile-nav-overlay.active{opacity:1}.mobile-nav{background:var(--bg-white);display:flex;flex-direction:column;gap:24px;height:100vh;padding:24px;position:fixed;right:-300px;top:0;transition:right var(--transition-slow);width:280px;z-index:2001}.mobile-nav.active{right:0}.mobile-nav-close{align-items:center;align-self:flex-end;border-radius:var(--radius-full);color:var(--text-secondary);display:flex;height:36px;justify-content:center;width:36px}.mobile-nav-close:hover{background:var(--bg-hover)}.mobile-nav-links{display:flex;flex-direction:column;gap:4px}.mobile-nav-links a{border-radius:var(--radius-md);color:var(--text-primary);font-size:15px;font-weight:500;padding:12px 16px;transition:background var(--transition)}.mobile-nav-links a.active,.mobile-nav-links a:hover{background:var(--primary-light);color:var(--primary)}.banner{background:#eef3fb;min-height:500px;overflow:hidden;position:relative}.banner-slides{display:flex;transition:transform .7s cubic-bezier(.4,0,.2,1)}.banner-slide{align-items:center;display:flex;justify-content:center;min-width:100%;padding:72px 24px 80px;position:relative}.banner-bg{top:0;right:0;bottom:0;left:0;position:absolute;z-index:0}.banner-bg-img{filter:blur(4px) saturate(.3);height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;opacity:.06;width:100%}.banner-bg-overlay{background:linear-gradient(105deg,#eef3fb 42%,#eef3fbe6 65%,#eef3fb80);top:0;right:0;bottom:0;left:0;position:absolute}.banner-inner{align-items:center;display:flex;gap:64px;margin:0 auto;max-width:var(--container-max);position:relative;width:100%;z-index:1}.banner-text{flex:1;max-width:520px}.banner-tag{align-items:center;background:var(--primary);border-radius:var(--radius-full);color:#fff;display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:1.5px;margin-bottom:20px;padding:5px 14px;text-transform:uppercase}.banner-title{color:var(--ink);font-family:var(--font-serif);font-size:50px;font-weight:400;line-height:1.15;margin-bottom:16px}.banner-title em{color:var(--primary);font-style:italic}.banner-desc{color:var(--sub);font-size:15px;line-height:1.8;margin-bottom:24px;max-width:420px}.banner-price-row{align-items:baseline;display:flex;gap:10px;margin-bottom:32px}.banner-price-label{color:var(--sub);font-size:12px;letter-spacing:1px;text-transform:uppercase}.banner-price{color:var(--blue-dk);font-size:30px;font-weight:700;letter-spacing:-.5px}.banner-actions{align-items:center;display:flex;gap:20px}.banner-cta{align-items:center;background:var(--primary);border-radius:8px;box-shadow:0 4px 20px #4a7fc159;color:#fff;display:inline-flex;font-size:15px;font-weight:600;gap:10px;letter-spacing:.3px;padding:14px 28px;text-decoration:none;transition:all .2s ease}.banner-cta:hover{background:var(--blue-dk);box-shadow:0 8px 28px #4a7fc173;color:#fff;transform:translateY(-2px)}.banner-cta svg{transition:transform .2s ease}.banner-cta:hover svg{transform:translate(4px)}.banner-link{border-bottom:1px solid var(--line);color:var(--sub);font-size:14px;padding-bottom:1px;text-decoration:none;transition:color .2s,border-color .2s}.banner-link:hover{border-color:var(--primary);color:var(--primary)}.banner-visual{align-items:center;display:flex;flex-shrink:0;justify-content:center}.banner-img-frame{background:var(--bg);border-radius:20px;box-shadow:0 16px 48px #4a7fc126,0 0 0 1px var(--line);height:420px;overflow:hidden;position:relative;width:380px}.banner-img-frame img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .6s ease;width:100%}.banner:hover .banner-img-frame img{transform:scale(1.04)}.banner-arrow{align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);color:var(--sub);display:flex;height:40px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .2s ease;width:40px;z-index:10}.banner-arrow:hover{background:var(--primary);border-color:var(--primary);box-shadow:var(--shadow-md);color:#fff}.banner-arrow svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.banner-arrow.prev{left:24px}.banner-arrow.next{right:24px}.banner-dots{background:#eef3fb;display:flex;gap:8px;justify-content:center;padding:18px 0 24px}.banner-dot{background:var(--line);border-radius:var(--radius-full);cursor:pointer;height:6px;transition:all .3s ease;width:6px}.banner-dot.active{background:var(--primary);width:24px}.strip{background:var(--primary);padding:18px 0}.strip .container{gap:0;justify-content:center}.strip .container,.strip-item{align-items:center;display:flex}.strip-item{color:#fffffff2;font-size:17px;font-weight:500;gap:10px;letter-spacing:.5px;padding:0 28px;white-space:nowrap}.strip-icon{flex-shrink:0;height:20px;opacity:.85;width:20px}.strip-divider{background:#ffffff4d;flex-shrink:0;height:16px;width:1px}.section{padding:64px 0}.section-head{margin-bottom:40px;text-align:center}.section-tag{align-items:center;color:var(--primary);display:inline-flex;font-size:12px;font-weight:600;gap:6px;letter-spacing:1px;margin-bottom:12px;text-transform:uppercase}.section-title{color:var(--text-primary);font-family:var(--font-serif);font-size:32px;font-weight:400;margin-bottom:8px}.section-desc{color:var(--text-secondary);font-size:14px;margin:0 auto;max-width:500px}.cat-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.cat-card{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:inherit;cursor:pointer;display:flex;gap:20px;padding:32px 28px;text-decoration:none;transition:all var(--transition)}.cat-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.cat-icon{align-items:center;background:linear-gradient(135deg,var(--primary-light) 0,#f5f8fc 100%);border-radius:50%;box-shadow:0 2px 6px #4a7fc11f;display:flex;flex-shrink:0;height:56px;justify-content:center;transition:all .2s ease;width:56px}.cat-icon svg{fill:none;height:28px;stroke:var(--primary);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;width:28px}.cat-card:hover .cat-icon{background:var(--primary);transform:scale(1.08)}.cat-card:hover .cat-icon svg{stroke:#fff}.cat-info{flex:1;min-width:0}.cat-name{color:var(--text);font-size:15px;font-weight:400;margin-bottom:4px}.cat-count{font-size:13px}.cat-arrow,.cat-count{color:var(--text-muted)}.cat-arrow{align-items:center;background:var(--bg-hover);border-radius:var(--radius-full);display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:0;transition:all var(--transition);width:28px}.cat-card:hover .cat-arrow{background:var(--primary);color:#fff;opacity:1}.cat-arrow svg{fill:none;height:14px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:14px}.prod-grid{display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.prod-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;overflow:hidden;transition:all var(--transition)}.prod-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.prod-img{aspect-ratio:1/1;background:var(--bg-hover);overflow:hidden;position:relative}.prod-img img{height:100%;-o-object-fit:cover;object-fit:cover;transition:transform var(--transition-slow);width:100%}.prod-card:hover .prod-img img{transform:scale(1.05)}.prod-img-placeholder{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:var(--text-muted);display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.prod-badge{border-radius:var(--radius-full);font-size:11px;font-weight:600;left:12px;letter-spacing:.5px;padding:4px 10px;position:absolute;text-transform:uppercase;top:12px}.prod-badge.sale{background:var(--danger);color:#fff}.prod-badge.new{background:var(--success);color:#fff}.prod-badge.hot{background:var(--accent);color:#fff}.prod-quick{background:var(--primary);border-radius:var(--radius-md);bottom:12px;box-shadow:0 2px 10px #4a7fc166;color:#fff;font-size:13px;font-weight:600;font-weight:500;left:12px;letter-spacing:.02em;opacity:0;padding:10px;position:absolute;right:12px;text-align:center;transform:translateY(60px);transition:all var(--transition)}.prod-card:hover .prod-quick{opacity:1;transform:translateY(0)}.prod-quick:hover{background:var(--primary-dark);box-shadow:0 4px 16px #4a7fc180}.prod-body{padding:16px}.prod-brand{color:var(--primary);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.prod-name{color:var(--text-primary);display:-webkit-box;font-size:14px;font-weight:500;-webkit-line-clamp:2;line-height:1.4;margin-bottom:8px;-webkit-box-orient:vertical;overflow:hidden}.prod-rating{align-items:center;display:flex;gap:4px;margin-bottom:8px}.prod-stars{color:var(--accent);display:flex;font-size:12px;gap:2px}.prod-stars svg{fill:currentColor;height:14px;width:14px}.prod-stars .empty{color:var(--border-color)}.prod-rating-count{color:var(--text-muted);font-size:12px}.prod-pricing{align-items:center;display:flex;gap:8px}.prod-price{color:var(--text-primary);font-size:17px;font-weight:600}.prod-price-orig{color:var(--text-muted);font-size:13px;text-decoration:line-through}.prod-discount{background:var(--danger-light);border-radius:var(--radius-sm);color:var(--danger);font-size:11px;font-weight:600;padding:2px 6px}.pd-wrap{padding:32px 0}.pd-container{align-items:start;display:grid;gap:48px;grid-template-columns:1fr 1fr}.pd-gallery{position:sticky;top:calc(var(--header-height) + 24px)}.pd-main-img{aspect-ratio:1/1;background:var(--bg-hover);border-radius:var(--radius-lg);margin-bottom:12px;overflow:hidden;width:100%}.pd-main-img img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.pd-main-img-placeholder{align-items:center;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:var(--text-muted);display:flex;font-size:80px;height:100%;justify-content:center;width:100%}.pd-thumbs{display:flex;gap:8px}.pd-thumb{background:var(--bg-hover);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;height:72px;overflow:hidden;transition:border-color var(--transition);width:72px}.pd-thumb.active,.pd-thumb:hover{border-color:var(--primary)}.pd-thumb img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.pd-info{padding:8px 0}.pd-breadcrumb{align-items:center;color:var(--text-muted);display:flex;font-size:13px;gap:6px;margin-bottom:16px}.pd-breadcrumb a:hover{color:var(--primary)}.pd-breadcrumb span{color:var(--text-muted)}.pd-brand{color:var(--primary);font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:8px;text-transform:uppercase}.pd-title{color:var(--text-primary);font-family:var(--font-serif);font-size:28px;font-weight:400;line-height:1.3;margin-bottom:12px}.pd-rating{align-items:center;display:flex;gap:8px;margin-bottom:20px}.pd-rating .prod-stars{font-size:14px}.pd-rating-text{color:var(--text-muted);font-size:13px}.pd-pricing{align-items:baseline;border-bottom:1px solid var(--border-color);display:flex;gap:12px;margin-bottom:24px;padding-bottom:24px}.pd-price{color:var(--primary);font-size:28px;font-weight:600}.pd-price-orig{color:var(--text-muted);font-size:16px;text-decoration:line-through}.pd-discount{background:var(--danger-light);border-radius:var(--radius-full);color:var(--danger);font-size:12px;font-weight:600;padding:4px 10px}.pd-section{margin-bottom:24px}.pd-section-label{color:var(--text-secondary);font-size:13px;font-weight:500;margin-bottom:10px}.pd-colors{display:grid;gap:8px;grid-template-columns:repeat(5,1fr);max-width:220px}.pd-color-btn{border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;height:36px;padding:3px;transition:all var(--transition);width:36px}.pd-color-btn.active{border-color:var(--primary)}.pd-color-btn span{border-radius:var(--radius-full);display:block;height:100%;width:100%}.pd-sizes{display:flex;gap:8px}.pd-size-btn{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;font-weight:500;height:40px;justify-content:center;min-width:44px;padding:0 12px;transition:all var(--transition)}.pd-size-btn:hover{border-color:var(--primary);color:var(--primary)}.pd-size-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.pd-size-btn{flex-direction:column;gap:2px;height:auto;min-height:40px;padding:8px 12px}.pd-size-price{font-size:11px;font-weight:400;opacity:.8}.pd-size-btn.active .pd-size-price{opacity:1}.pd-qty{border:1px solid var(--border-color);border-radius:var(--radius-md);gap:0;overflow:hidden;width:-moz-fit-content;width:fit-content}.pd-qty,.pd-qty button{align-items:center;display:flex}.pd-qty button{color:var(--text-secondary);font-size:18px;height:40px;justify-content:center;transition:all var(--transition);width:40px}.pd-qty button:hover{background:var(--bg-hover);color:var(--primary)}.pd-qty input{background:transparent;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);font-weight:500;height:40px;text-align:center;width:56px}.pd-actions{display:flex;gap:12px;margin-top:28px}.pd-desc-plain{color:var(--sub);font-size:14px;line-height:1.7}.pd-content,.pd-desc-plain{margin-bottom:24px}.pd-content .pd-overview{color:var(--sub);font-size:14px;line-height:1.8;margin-bottom:16px}.pd-content .pd-section-block{margin-bottom:16px}.pd-content .pd-section-heading{border-left:3px solid var(--primary);color:var(--ink);font-size:13px;font-weight:600;letter-spacing:.05em;margin-bottom:8px;padding-left:8px;text-transform:uppercase}.pd-content ol,.pd-content ul{display:flex;flex-direction:column;gap:4px;padding-left:18px}.pd-content li{line-height:1.6}.pd-content li,.pd-content p{color:var(--sub);font-size:13.5px}.pd-content p{line-height:1.7}.pd-shipping{background:var(--bg-hover);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:10px;margin-top:24px;padding:16px}.pd-ship-row{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;gap:10px}.pd-ship-row svg{color:var(--primary);fill:none;flex-shrink:0;height:18px;stroke:currentColor;stroke-width:1.8;width:18px}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.01em;padding:12px 24px;transition:all var(--transition);white-space:nowrap}.btn-primary{background:var(--primary);box-shadow:0 2px 8px #4a7fc14d;color:#fff}.btn-primary:hover{background:var(--primary-dark);box-shadow:0 4px 16px #4a7fc166;color:#fff;transform:translateY(-1px)}.btn-outline{background:transparent;border:1.5px solid var(--primary);color:var(--primary)}.btn-outline:hover{background:var(--primary);border-color:var(--primary-dark);color:#fff}.btn-ghost{background:var(--bg-hover);color:var(--text-primary)}.btn-ghost:hover{background:var(--border-color);color:var(--text-primary)}.btn-danger{background:var(--danger);box-shadow:0 2px 8px #e05a5a4d;color:#fff}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 16px #e05a5a66;color:#fff}.btn-success{background:var(--success);box-shadow:0 2px 8px #2e9b5e4d;color:#fff}.btn-success:hover{background:#059669;box-shadow:0 4px 16px #2e9b5e66;color:#fff}.btn-lg{font-size:15px;padding:14px 32px}.btn-sm{font-size:13px;padding:8px 16px}.btn-full{width:100%}.btn svg{fill:none;height:18px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2;width:18px}.btn-icon{border-radius:var(--radius-md);height:40px;padding:0;width:40px}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);display:block;font-size:13px;font-weight:500;margin-bottom:6px}.form-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;height:44px;padding:0 14px;transition:all var(--transition);width:100%}.form-input:focus{background:var(--bg-white);border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.form-input::-moz-placeholder{color:var(--text-muted)}.form-input::placeholder{color:var(--text-muted)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-input);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%2394a3b8' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;height:44px;padding:0 36px 0 14px;transition:all var(--transition);width:100%}.form-select:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.form-textarea{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;min-height:100px;padding:12px 14px;resize:vertical;transition:all var(--transition);width:100%}.form-textarea:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.form-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}.form-check{align-items:center;cursor:pointer;display:flex;gap:8px}.form-check input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;flex-shrink:0;height:18px;transition:all var(--transition);width:18px}.form-check input[type=checkbox]:checked{background:var(--primary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' viewBox='0 0 24 24'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;border-color:var(--primary)}.form-check label{color:var(--text-secondary);cursor:pointer;font-size:13px}.form-error{color:var(--danger);font-size:12px;margin-top:4px}.cart-wrap{padding:32px 0 64px}.cart-layout{align-items:start;display:grid;gap:32px;grid-template-columns:1fr 380px}.cart-main{display:flex;flex-direction:column;gap:16px}.cart-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.cart-title{font-family:var(--font-serif);font-size:28px;font-weight:400}.cart-count{color:var(--text-muted);font-size:14px}.cart-item{align-items:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);display:flex;gap:16px;padding:20px}.cart-item-img{background:var(--bg-hover);border-radius:var(--radius-md);flex-shrink:0;height:100px;overflow:hidden;width:100px}.cart-item-img img{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.cart-item-img-placeholder{align-items:center;display:flex;font-size:32px;height:100%;justify-content:center;width:100%}.cart-item-info{flex:1;min-width:0}.cart-item-brand{color:var(--primary);font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.cart-item-name{font-size:14px;font-weight:500;margin-bottom:4px}.cart-item-variant{color:var(--text-muted);font-size:12px;margin-bottom:8px}.cart-item-qty{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-sm);display:flex;gap:0;overflow:hidden;width:-moz-fit-content;width:fit-content}.cart-item-qty button{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;height:32px;justify-content:center;transition:background var(--transition);width:32px}.cart-item-qty button:hover{background:var(--bg-hover)}.cart-item-qty span{border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);font-size:13px;font-weight:500;height:32px;line-height:32px;text-align:center;width:40px}.cart-item-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.cart-item-price{color:var(--text-primary);font-size:16px;font-weight:600}.cart-item-remove{align-items:center;border-radius:var(--radius-full);color:var(--text-muted);display:flex;height:32px;justify-content:center;transition:all var(--transition);width:32px}.cart-item-remove:hover{background:var(--danger-light);color:var(--danger)}.cart-item-remove svg{fill:none;height:16px;stroke:currentColor;stroke-width:2;width:16px}.order-summary{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;position:sticky;top:calc(var(--header-height) + 24px)}.order-summary-title{border-bottom:1px solid var(--border-color);font-family:var(--font-serif);font-size:20px;font-weight:400;margin-bottom:20px;padding-bottom:16px}.order-row{align-items:center;display:flex;font-size:14px;justify-content:space-between;padding:8px 0}.order-row-label{color:var(--text-secondary)}.order-row-value{font-weight:500}.order-row.total{border-top:1px solid var(--border-color);font-size:16px;margin-top:8px;padding-top:16px}.order-row.total .order-row-label{color:var(--text-primary);font-weight:600}.order-row.total .order-row-value{color:var(--primary);font-size:20px;font-weight:700}.order-summary .btn{margin-top:20px}.order-free-ship{align-items:center;color:var(--success);display:flex;font-size:12px;gap:8px;margin-top:12px}.order-free-ship svg{fill:none;height:16px;stroke:currentColor;stroke-width:2;width:16px}.checkout-wrap{padding:32px 0 64px}.checkout-layout{align-items:start;display:grid;gap:32px;grid-template-columns:1fr 380px}.checkout-main{display:flex;flex-direction:column;gap:24px}.checkout-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.checkout-section-title{align-items:center;border-bottom:1px solid var(--border-color);display:flex;font-size:16px;font-weight:600;gap:8px;margin-bottom:20px;padding-bottom:12px}.checkout-section-title svg{fill:none;height:20px;stroke:var(--primary);stroke-width:1.8;width:20px}.pay-options{display:flex;flex-direction:column;gap:10px}.pay-option{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;gap:14px;padding:14px 16px;transition:all var(--transition)}.pay-option.active,.pay-option:hover{border-color:var(--primary)}.pay-option.active{background:var(--primary-light)}.pay-option input[type=radio]{accent-color:var(--primary);flex-shrink:0;height:18px;width:18px}.pay-option-icon{align-items:center;border-radius:4px;display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:28px;justify-content:center;width:40px}.pay-option-icon.linepay{background:#06c755;color:#fff}.pay-option-icon.atm{background:var(--text-primary);color:#fff}.pay-option-info{flex:1}.pay-option-name{font-size:14px;font-weight:500}.pay-option-desc{color:var(--text-muted);font-size:12px}.inv-options{display:grid;gap:10px;grid-template-columns:1fr 1fr}.inv-option{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;display:flex;flex-direction:column;gap:8px;padding:16px 12px;text-align:center;transition:all var(--transition)}.inv-option.active,.inv-option:hover{border-color:var(--primary)}.inv-option.active{background:var(--primary-light)}.inv-option-icon{font-size:24px}.inv-option-name{font-size:13px;font-weight:500}.auth-wrap{display:flex;min-height:calc(100vh - var(--header-height))}.auth-visual{align-items:center;background:linear-gradient(135deg,var(--primary) 0,#7c3aed 100%);display:flex;flex:1;justify-content:center;overflow:hidden;padding:48px;position:relative}.auth-visual:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'%3E%3Cpath fill='%23fff' fill-opacity='.05' fill-rule='evenodd' d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2zm0-30V0h-2v4h-4v2h4v4h2V6h4V4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2zM6 4V0H4v4H0v2h4v4h2V6h4V4z'/%3E%3C/svg%3E");content:"";top:0;right:0;bottom:0;left:0;position:absolute}.auth-visual-content{color:#fff;position:relative;text-align:center;z-index:1}.auth-visual-title{font-family:var(--font-serif);font-size:36px;margin-bottom:16px}.auth-visual-desc{font-size:15px;line-height:1.6;max-width:360px;opacity:.85}.auth-form-side{align-items:center;background:var(--bg-white);display:flex;flex:1;justify-content:center;padding:48px}.auth-form-container{max-width:400px;width:100%}.auth-form-title{font-family:var(--font-serif);font-size:28px;margin-bottom:8px}.auth-form-subtitle{color:var(--text-secondary);font-size:14px;margin-bottom:28px}.auth-social-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:24px}.auth-social-btn{align-items:center;border:1px solid var(--border-color);border-radius:var(--radius-md);display:flex;font-size:14px;font-weight:500;gap:10px;height:44px;justify-content:center;transition:all var(--transition);width:100%}.auth-social-btn.facebook{background:#1877f2;border-color:#1877f2;color:#fff}.auth-social-btn.facebook:hover{background:#1565d8}.auth-social-btn.google{background:#fff;color:var(--text-primary)}.auth-social-btn.google:hover{background:var(--bg-hover)}.auth-social-btn.line{background:#06c755;border-color:#06c755;color:#fff}.auth-social-btn.line:hover{background:#05b34d}.auth-divider{align-items:center;display:flex;gap:12px;margin-bottom:24px}.auth-divider:after,.auth-divider:before{background:var(--border-color);content:"";flex:1;height:1px}.auth-divider span{color:var(--text-muted);font-size:12px;white-space:nowrap}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-form-footer{align-items:center;display:flex;justify-content:space-between;margin-top:4px}.auth-form-link{color:var(--primary);font-size:13px;font-weight:500}.auth-form-link:hover{text-decoration:underline}.auth-form-bottom{color:var(--text-muted);font-size:13px;margin-top:24px;text-align:center}.auth-form-bottom a{color:var(--primary);font-weight:500}.auth-form-bottom a:hover{text-decoration:underline}.account-wrap{padding:32px 0 64px}.account-header{margin-bottom:32px}.account-title{font-family:var(--font-serif);font-size:28px;font-weight:400;margin-bottom:8px}.account-subtitle{color:var(--text-secondary);font-size:14px}.account-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.account-card-title{border-bottom:1px solid var(--border-color);font-size:16px;font-weight:600;margin-bottom:20px;padding-bottom:12px}.admin-layout{display:flex;min-height:100vh}.admin-sidebar{background:var(--text-primary);bottom:0;color:#fff;display:flex;flex-direction:column;left:0;position:fixed;top:0;width:240px;z-index:100}.admin-sidebar-logo{align-items:center;border-bottom:1px solid hsla(0,0%,100%,.1);color:#fff;display:flex;font-family:var(--font-serif);font-size:20px;font-weight:400;gap:10px;padding:20px 24px;text-transform:lowercase}.admin-sidebar-logo .logo-icon{color:var(--primary);height:13px;width:26px}.admin-sidebar-logo .logo-text-dark{color:#fff}.admin-sidebar-logo .logo-text-light{color:#ffffffb3}.admin-sidebar-logo .logo-block{font-size:14px;height:28px;width:28px}.admin-sidebar-logo span{font-family:var(--font-serif);font-size:18px}.admin-sidebar-tag{background:var(--primary);border-radius:var(--radius-sm);color:#fff;font-size:10px;margin-left:4px;padding:2px 6px}.admin-nav{display:flex;flex:1;flex-direction:column;gap:2px;padding:16px 12px}.admin-nav-item{align-items:center;border-radius:var(--radius-md);color:#fff9;cursor:pointer;display:flex;font-size:13px;font-weight:400;gap:10px;padding:10px 12px;transition:all var(--transition)}.admin-nav-item:hover{background:#ffffff14;color:#fff}.admin-nav-item.active{background:var(--primary);color:#fff}.admin-nav-item svg{fill:none;flex-shrink:0;height:18px;stroke:currentColor;stroke-width:1.8;width:18px}.admin-main{background:var(--bg-body);flex:1;margin-left:240px;min-height:100vh}.admin-topbar{align-items:center;background:var(--bg-white);border-bottom:1px solid var(--border-color);display:flex;height:60px;justify-content:space-between;padding:0 24px}.admin-topbar-title{font-size:16px;font-weight:600}.admin-topbar-user{color:var(--text-secondary);gap:8px}.admin-topbar-avatar,.admin-topbar-user{align-items:center;display:flex;font-size:13px}.admin-topbar-avatar{background:var(--primary-light);border-radius:var(--radius-full);color:var(--primary);font-weight:600;height:32px;justify-content:center;width:32px}.admin-user-menu{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:0 8px 24px #0000001f;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:200}.admin-user-menu-info{padding:14px 16px}.admin-user-menu-divider{background:var(--border-color);height:1px}.admin-user-menu-item{align-items:center;background:none;border:none;color:var(--danger);cursor:pointer;display:flex;font-size:14px;gap:8px;padding:11px 16px;text-align:left;transition:background .15s;width:100%}.admin-user-menu-item:hover{background:var(--bg-hover)}.admin-content{padding:24px}.kpi-grid{display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:24px}.kpi-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.kpi-header{justify-content:space-between;margin-bottom:12px}.kpi-header,.kpi-icon{align-items:center;display:flex}.kpi-icon{border-radius:var(--radius-md);font-size:18px;height:40px;justify-content:center;width:40px}.kpi-icon.blue{background:var(--primary-light);color:var(--primary)}.kpi-icon.green{background:var(--success-light);color:var(--success)}.kpi-icon.yellow{background:var(--warning-light);color:var(--warning)}.kpi-icon.red{background:var(--danger-light);color:var(--danger)}.kpi-change{border-radius:var(--radius-full);font-size:12px;font-weight:600;padding:2px 8px}.kpi-change.up{background:var(--success-light);color:var(--success)}.kpi-change.down{background:var(--danger-light);color:var(--danger)}.kpi-value{font-size:24px;font-weight:600;margin-bottom:4px}.kpi-label{color:var(--text-muted);font-size:13px}.admin-charts{display:grid;gap:16px;grid-template-columns:2fr 1fr;margin-bottom:24px}.admin-chart-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px}.admin-chart-title{font-size:15px;font-weight:600;margin-bottom:16px}.chart-placeholder{align-items:flex-end;display:flex;gap:12px;height:220px;padding:0 8px}.chart-bar{background:var(--primary-light);border-radius:4px 4px 0 0;flex:1;position:relative;transition:background var(--transition)}.chart-bar:hover{background:var(--primary)}.chart-bar-label{bottom:-20px;color:var(--text-muted);font-size:10px;left:50%;position:absolute;transform:translate(-50%);white-space:nowrap}.donut-placeholder{background:conic-gradient(var(--primary) 0 45%,var(--success) 45% 75%,var(--accent) 75% 90%,var(--border-color) 90% 100%);border-radius:50%;height:180px;margin:0 auto;position:relative;width:180px}.donut-placeholder:after{background:var(--bg-card);border-radius:50%;content:"";top:40px;right:40px;bottom:40px;left:40px;position:absolute}.donut-legend{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:16px}.donut-legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:12px;gap:6px}.donut-legend-dot{border-radius:50%;height:8px;width:8px}.tbl-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.tbl-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.tbl-title{font-size:15px;font-weight:600}.tbl-actions{display:flex;gap:8px}.tbl{border-collapse:collapse;width:100%}.tbl th{background:var(--bg-hover);border-bottom:1px solid var(--border-color);color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.5px;padding:12px 20px;text-align:left;text-transform:uppercase}.tbl td{border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:13px;padding:14px 20px}.tbl tr:last-child td{border-bottom:none}.tbl tr:hover td{background:var(--bg-hover)}.tbl-actions-cell{display:flex;gap:4px}.badge{align-items:center;border-radius:var(--radius-full);display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 10px;white-space:nowrap}.badge-green,.badge-paid{background:var(--success-light);color:var(--success)}.badge-pending,.badge-yellow{background:var(--warning-light);color:var(--accent-dark)}.badge-blue,.badge-shipping{background:var(--info-light);color:var(--info)}.badge-cancelled,.badge-red{background:var(--danger-light);color:var(--danger)}.badge-gray{background:var(--bg-hover);color:var(--text-muted)}.login-provider-badge{align-items:center;border-radius:20px;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:2px 8px;white-space:nowrap}.footer{background:var(--text-primary);color:#fff9;padding:48px 0 24px}.footer-grid{display:grid;gap:40px;grid-template-columns:2fr 1fr 1fr;margin-bottom:32px}.footer-brand{align-items:center;color:#fff;display:flex;flex-direction:column;gap:4px;margin-bottom:16px}.footer-brand .logo-icon{color:#fff;height:19px;width:38px}.footer-brand .logo-text-dark{color:#fff}.footer-brand .logo-text-light{color:#ffffffb3}.footer-brand .logo-block{font-size:13px;height:28px;width:28px}.footer-brand span{font-family:var(--font-serif);font-size:20px}.footer-desc{font-size:13px;line-height:1.7;max-width:300px}.footer-socials{display:flex;gap:10px;margin-top:16px}.footer-social-btn{align-items:center;background:#ffffff14;border:1px solid hsla(0,0%,100%,.12);border-radius:var(--radius-full);color:#ffffffb3;display:flex;height:36px;justify-content:center;text-decoration:none;transition:all .2s ease;width:36px}.footer-social-btn:hover{background:#ffffff2e;border-color:#ffffff4d;color:#fff}.footer-col-title{color:#fff;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:16px;text-transform:uppercase}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-contact{gap:6px}.footer-contact a,.footer-contact p{line-height:1.4}.footer-links a{color:#ffffff80;font-size:13px;transition:color var(--transition)}.footer-links a:hover{color:#fff}.footer-bottom{border-top:1px solid hsla(0,0%,100%,.1);font-size:12px;padding-top:20px;text-align:center}.toast-container{display:flex;flex-direction:column;gap:8px;position:fixed;right:16px;top:calc(var(--header-height) + 16px);z-index:9999}.toast{align-items:center;animation:toastSlideIn .3s ease;background:var(--bg-white);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;font-size:14px;gap:10px;max-width:400px;min-width:280px;padding:14px 18px}.toast.leaving{animation:toastSlideOut .3s ease forwards}.toast-icon{flex-shrink:0;height:20px;width:20px}.toast.success{border-left:3px solid var(--success)}.toast.success .toast-icon{color:var(--success)}.toast.error{border-left:3px solid var(--danger)}.toast.error .toast-icon{color:var(--danger)}.toast.info{border-left:3px solid var(--info)}.toast.info .toast-icon{color:var(--info)}.toast.warning{border-left:3px solid var(--warning)}.toast.warning .toast-icon{color:var(--warning)}.toast-message{flex:1;font-size:13px}.toast-close{align-items:center;border-radius:var(--radius-full);color:var(--text-muted);display:flex;flex-shrink:0;height:20px;justify-content:center;width:20px}.toast-close:hover{background:var(--bg-hover);color:var(--text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastSlideOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.products-wrap{padding:32px 0 64px}.products-layout{display:grid;gap:32px;grid-template-columns:240px 1fr}.products-sidebar{align-self:start;position:sticky;top:calc(var(--header-height) + 24px)}.products-filter-group{margin-bottom:24px}.products-filter-title{color:var(--text-primary);font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:10px;text-transform:uppercase}.products-filter-list{display:flex;flex-direction:column;gap:4px}.products-filter-item{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:8px 12px;transition:all var(--transition)}.products-filter-item.active,.products-filter-item:hover{background:var(--primary-light);color:var(--primary)}.products-filter-count{background:var(--bg-hover);border-radius:var(--radius-full);color:var(--text-muted);font-size:11px;padding:2px 8px}.products-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.products-result-count{color:var(--text-muted);font-size:14px}.products-search{position:relative;width:260px}.products-search input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:13px;height:40px;padding:0 14px 0 36px;width:100%}.products-search input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #2563eb1a}.products-search svg{fill:none;height:16px;left:12px;position:absolute;stroke:var(--text-muted);stroke-width:2;top:50%;transform:translateY(-50%);width:16px}.pagination{gap:4px;margin-top:32px}.pagination,.pagination a,.pagination button{align-items:center;display:flex;justify-content:center}.pagination a,.pagination button{border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;font-weight:500;height:36px;transition:all var(--transition);width:36px}.pagination a:hover,.pagination button:hover{background:var(--bg-hover);border-color:var(--border-color)}.pagination .active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination svg{fill:none;height:16px;stroke:currentColor;stroke-width:2;width:16px}.empty-state{padding:64px 24px;text-align:center}.empty-state-icon{font-size:48px;margin-bottom:16px}.empty-state-title{font-size:18px;font-weight:600;margin-bottom:8px}.empty-state-desc{color:var(--text-muted);font-size:14px;margin-bottom:20px}.skeleton{animation:skeleton-pulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border-light) 50%,var(--bg-hover) 75%);background-size:200% 100%;border-radius:var(--radius-md)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.modal-overlay{background:var(--bg-overlay);padding:24px;z-index:5000}.modal{background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);max-height:90vh;max-width:560px;overflow-y:auto;width:100%}.modal-header{align-items:center;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:20px 24px}.modal-title{font-size:16px}.modal-close{align-items:center;border-radius:var(--radius-full);color:var(--text-muted);display:flex;height:32px;justify-content:center;transition:all var(--transition);width:32px}.modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-body{padding:24px}.modal-footer{border-top:1px solid var(--border-color);display:flex;gap:8px;justify-content:flex-end;padding:16px 24px}.orders-list{display:flex;flex-direction:column;gap:12px}.order-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.order-card-header{align-items:center;background:var(--bg-hover);border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;padding:16px 20px}.order-card-id{font-size:14px;font-weight:600}.order-card-date{color:var(--text-muted);font-size:12px}.order-card-body{padding:16px 20px}.order-card-items{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.order-card-item{align-items:center;display:flex;font-size:13px;gap:12px}.order-card-item-img{align-items:center;background:var(--bg-hover);border-radius:var(--radius-sm);display:flex;flex-shrink:0;font-size:20px;height:48px;justify-content:center;overflow:hidden;width:48px}.order-card-footer{align-items:center;border-top:1px solid var(--border-color);display:flex;justify-content:space-between;padding:12px 20px}.order-card-total{font-size:15px;font-weight:600}@media(max-width:1024px){.banner-inner{gap:40px}.banner-title{font-size:38px}.banner-img-frame{height:340px;width:300px}.cat-grid{grid-template-columns:repeat(2,1fr)}.prod-grid{grid-template-columns:repeat(3,1fr)}.pd-container{gap:32px}.cart-layout,.checkout-layout{grid-template-columns:1fr 320px}.footer-grid{gap:24px;grid-template-columns:1fr 1fr}.kpi-grid{grid-template-columns:repeat(2,1fr)}.admin-charts{grid-template-columns:1fr}.products-layout{gap:24px;grid-template-columns:200px 1fr}}@media(max-width:768px){:root{--header-height:56px}.hnav,.logo-tagline{display:none}.hmenu-btn{display:flex}.banner-inner{flex-direction:column-reverse;gap:20px;text-align:center}.banner-text{max-width:100%}.banner-title{font-size:30px}.banner-desc{font-size:14px;margin:0 auto 20px}.banner-actions,.banner-price-row{justify-content:center}.banner-img-frame{border-radius:16px;height:280px;max-width:100%;width:100%}.banner-arrow{height:36px;width:36px}.banner-bg-img{filter:blur(2px) saturate(.5);opacity:.12}.banner-bg-overlay{background:linear-gradient(180deg,#eef3fb66,#eef3fb 75%)}.strip .container{flex-wrap:wrap;gap:12px 0;justify-content:center}.strip-item{font-size:13px;padding:0 16px}.strip-divider{display:none}.cat-grid{grid-template-columns:1fr}.prod-grid{gap:12px;grid-template-columns:repeat(2,1fr)}.pd-container{grid-template-columns:1fr}.pd-gallery{position:static}.cart-layout,.checkout-layout{grid-template-columns:1fr}.order-summary{position:static}.auth-wrap{flex-direction:column}.auth-visual{min-height:200px;padding:32px}.auth-visual-title{font-size:24px}.auth-form-side{padding:32px 24px}.footer-grid{gap:24px;grid-template-columns:1fr}.admin-sidebar{transform:translate(-100%);transition:transform var(--transition)}.admin-sidebar.open{transform:translate(0)}.admin-main{margin-left:0}.products-layout{grid-template-columns:1fr}.products-sidebar{position:static}.products-filter-list{flex-direction:row;flex-wrap:wrap;gap:6px}.products-filter-item{border:1px solid var(--border-color);border-radius:var(--radius-full);font-size:12px;padding:6px 12px}.products-header{align-items:stretch;flex-direction:column;gap:12px}.products-search{width:100%}.inv-options{grid-template-columns:1fr 1fr}.form-row{grid-template-columns:1fr}.section-title{font-size:26px}}@media(max-width:480px){.container{padding:0 16px}.banner-slide{padding:36px 16px 44px}.banner-title{font-size:26px}.banner-img-frame{height:240px}.banner-price{font-size:22px}.banner-actions{align-items:center;flex-direction:column;gap:12px}.banner-cta{justify-content:center;width:100%}.prod-grid{grid-template-columns:1fr}.pd-price,.pd-title{font-size:22px}.pd-actions{flex-direction:column}.pd-actions .btn{width:100%}.cart-item{align-items:flex-start;flex-direction:column}.cart-item-actions{align-items:center;flex-direction:row;justify-content:space-between;width:100%}.section-title{font-size:22px}.auth-form-side{padding:24px 16px}.kpi-grid{grid-template-columns:1fr}.tbl{font-size:12px}.tbl td,.tbl th{padding:10px 12px}.inv-options{grid-template-columns:1fr}}::-webkit-scrollbar{height:6px;width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.page-enter-active,.page-leave-active{transition:opacity .2s ease}.page-enter-from,.page-leave-to{opacity:0}.policy-wrap{min-height:60vh;padding:60px 0 80px}.policy-box{margin:0 auto;max-width:720px}.policy-title{color:var(--ink);font-family:var(--serif);font-size:36px;margin:0 0 6px}.policy-subtitle{color:var(--sub);font-size:14px;margin:0 0 32px}.policy-notice{align-items:flex-start;background:#fff8e6;border:1px solid #f0d080;border-radius:12px;color:#7a5c00;display:flex;gap:14px;margin-bottom:36px;padding:18px 20px}.policy-notice svg{color:#d4a017;flex-shrink:0;margin-top:2px}.policy-notice p{font-size:14px;line-height:1.7;margin:0}.policy-section{margin-bottom:36px}.policy-section h2{border-bottom:1px solid var(--line);color:var(--ink);font-size:17px;font-weight:600;margin:0 0 12px;padding-bottom:10px}.policy-section p{color:var(--text);font-size:15px;line-height:1.8;margin:0 0 10px}.policy-section ul{color:var(--text);font-size:15px;line-height:2;margin:8px 0 0;padding-left:20px}.policy-contact-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.policy-contact-btn{align-items:center;background:var(--blue-lt);border:1px solid var(--blue);border-radius:8px;color:var(--blue-dk);display:inline-flex;font-size:14px;font-weight:500;gap:8px;padding:10px 20px;text-decoration:none;transition:background .2s,color .2s}.policy-contact-btn:hover{background:var(--blue);color:#fff}.policy-footer-note{border-radius:10px;font-size:14px;line-height:1.7;padding:16px 20px}.policy-example,.policy-footer-note{background:var(--bg);color:var(--sub)}.policy-example{align-items:flex-start;border-radius:8px;display:flex;font-size:13px;gap:8px;line-height:1.6;margin-top:12px;padding:12px 16px}.policy-example svg{color:var(--blue);flex-shrink:0;margin-top:1px}.policy-footer-note a{color:var(--blue);text-decoration:underline}.faq-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.faq-tab{background:#fff;border:1px solid var(--line);border-radius:20px;color:var(--sub);cursor:pointer;font-size:14px;font-weight:500;padding:8px 18px;transition:all .2s}.faq-tab:hover{border-color:var(--blue);color:var(--blue)}.faq-tab.active{background:var(--blue);border-color:var(--blue);color:#fff}.faq-item{border-bottom:1px solid var(--line)}.faq-q{align-items:center;background:none;border:none;color:var(--ink);cursor:pointer;display:flex;font-size:15px;font-weight:500;gap:16px;justify-content:space-between;line-height:1.5;padding:18px 0;text-align:left;width:100%}.faq-q:hover{color:var(--blue)}.faq-chevron{color:var(--sub);flex-shrink:0;transition:transform .25s}.faq-item.open .faq-chevron{transform:rotate(180deg)}.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .25s ease}.faq-item.open .faq-a{grid-template-rows:1fr}.faq-a-inner{color:var(--text);font-size:14px;line-height:1.8;overflow:hidden;padding-bottom:0;transition:padding-bottom .25s}.faq-item.open .faq-a-inner{padding-bottom:18px}.faq-a-inner ul{line-height:2;margin:6px 0 0;padding-left:20px}.faq-toggle-row{display:flex;justify-content:flex-end;margin-bottom:16px}.faq-toggle-btn{align-items:center;background:none;border:1px solid var(--line);border-radius:20px;color:var(--sub);cursor:pointer;display:inline-flex;font-size:13px;gap:6px;padding:6px 14px;transition:all .2s}.faq-toggle-btn:hover{border-color:var(--blue);color:var(--blue)}.form-required{color:#e74c3c;margin-left:2px}.input-error{background:#fff8f8!important;border-color:#e74c3c!important}.form-error-msg{color:#e74c3c}.form-error-msg,.form-hint{font-size:12px;margin:4px 0 0}.form-hint{color:var(--sub)}.inv-fields{display:flex;flex-direction:column;gap:12px;margin-top:16px}.success-icon-wrap{align-items:center;background:linear-gradient(135deg,var(--blue-lt) 0,#dce9f7 100%);border:2px solid var(--blue);border-radius:50%;color:var(--blue-dk);display:flex;height:72px;justify-content:center;margin:0 auto 20px;width:72px}.addr-selector{display:flex;flex-direction:column;gap:12px}.addr-row{display:grid;gap:12px;grid-template-columns:1fr 1fr}@media(max-width:480px){.addr-row{grid-template-columns:1fr}}.confirm-icon-wrap{align-items:center;border:2px solid;border-radius:50%;display:flex;height:72px;justify-content:center;margin:0 auto 20px;width:72px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.modal-overlay{align-items:center;background:#0006;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:20px;position:fixed;z-index:200}.modal-box{background:#fff;border-radius:12px;box-shadow:0 8px 40px #00000026;max-width:420px;padding:28px;width:100%}.modal-title{color:var(--ink);font-size:17px;font-weight:600;margin:0 0 8px}.error-page[data-v-25bf7b54]{align-items:center;display:flex;justify-content:center;min-height:60vh;text-align:center}.error-box[data-v-25bf7b54]{max-width:400px}.error-code[data-v-25bf7b54]{color:var(--sub,#7a8596);font-size:5rem;font-weight:600;line-height:1;margin:0}.error-msg[data-v-25bf7b54]{color:var(--ink,#222831);font-size:1.125rem;margin:1rem 0 2rem}
