@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";
:root{--primary:#1565c0;--primary-dark:#0d47a1;--primary-light:#42a5f5;--primary-surface:#e3f2fd;--accent:#ef4444;--danger:#ef4444;--success:#10b981;--bg:#f5f7fa;--bg-white:#fff;--text:#1a1a2e;--text-secondary:#6b7280;--text-light:#9ca3af;--border:#e5e7eb;--border-light:#f3f4f6;--shadow:0 1px 3px #00000014;--shadow-md:0 4px 6px #0000000f;--shadow-lg:0 10px 25px #00000014;--radius:6px;--radius-sm:4px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;font-family:Inter,-apple-system,sans-serif;font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit;font-size:15px}.top-bar{background:var(--primary-dark);color:#fff;padding:4px 0;font-size:13px}.top-bar .container{justify-content:space-between;align-items:center;display:flex}.top-bar-left{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.top-bar-left span{opacity:.9;white-space:nowrap}.marquee-bar{color:#fff;background:#0077b6;padding:5px 0;font-size:14px;font-weight:500;overflow:hidden}.marquee-content{white-space:nowrap;animation:30s linear infinite marquee;display:inline-block}@keyframes marquee{0%{transform:translate(100vw)}to{transform:translate(-100%)}}.header{border-bottom:2px solid var(--primary);z-index:100;box-shadow:var(--shadow);background:#fff;position:sticky;top:0}.header .container{justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.header-logo{flex-shrink:0;align-items:center;gap:8px;display:flex}.logo-icon{color:#fff;text-align:center;background:linear-gradient(135deg,#1565c0,#0d47a1);border-radius:6px;justify-content:center;align-items:center;width:40px;height:40px;font-size:11px;font-weight:800;line-height:1.1;display:flex}.header-logo h1{color:var(--primary-dark);white-space:nowrap;font-size:16px;font-weight:800;line-height:1.2}.header-logo h1 span{color:var(--text-secondary);font-size:11px;font-weight:400;display:block}.search-bar{border-radius:var(--radius);border:2px solid #ef4444;flex:1;max-width:420px;display:flex;overflow:hidden}.search-bar input{border:none;outline:none;flex:1;min-width:0;padding:7px 12px;font-size:14px}.search-bar button{color:#fff;background:#ef4444;border:none;padding:7px 14px;font-size:14px}.search-bar button:hover{background:#dc2626}.header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.cart-btn{background:var(--primary);color:#fff;border-radius:var(--radius);white-space:nowrap;border:none;align-items:center;gap:4px;padding:6px 12px;font-size:14px;font-weight:600;display:flex;position:relative}.cart-btn:hover{background:var(--primary-dark)}.cart-badge{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;min-width:18px;height:18px;font-size:10px;font-weight:700;display:flex;position:absolute;top:-5px;right:-5px}.container{max-width:1240px;margin:0 auto;padding:0 12px}.main-layout{gap:16px;padding:16px 0;display:flex}.sidebar{flex-shrink:0;width:240px}.main-content{flex:1;min-width:0}.sidebar-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-bottom:12px}.sidebar-title{background:var(--primary);color:#fff;padding:10px 14px;font-size:15px;font-weight:700}.cat-group-label{color:var(--text-secondary);text-transform:uppercase;background:var(--border-light);letter-spacing:.3px;padding:6px 14px;font-size:13px;font-weight:700}.category-item-wrap{position:relative}.category-item{border-bottom:1px solid var(--border-light);color:var(--text);cursor:pointer;justify-content:space-between;align-items:center;padding:8px 14px;font-size:15px;font-weight:600;display:flex}.category-item:hover{background:var(--primary-surface);color:var(--primary)}.cat-count{color:var(--text-light);white-space:nowrap;font-size:12px}.cat-flyout{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:150;background:#fff;min-width:180px;padding:4px 0;position:absolute;top:-1px;left:100%}.cat-flyout-item{color:var(--text);white-space:nowrap;padding:8px 14px;font-size:15px;font-weight:600;display:block}.cat-flyout-item:hover{background:var(--primary-surface);color:var(--primary)}.support-card{padding:12px 14px}.support-item{justify-content:space-between;align-items:center;margin-bottom:8px;font-size:15px;font-weight:600;display:flex}.support-item .phone{color:var(--danger);font-size:15px;font-weight:700}.section-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.section-title{background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:8px 16px;font-size:16px;font-weight:700}.section-link{color:var(--primary);white-space:nowrap;font-size:13px;font-weight:500}.section-link:hover{text-decoration:underline}.product-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.product-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-direction:column;display:flex;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md)}.product-image{aspect-ratio:1;background:#f8f9fa;position:relative;overflow:hidden}.product-image img{object-fit:contain;background:#f9fafb;width:100%;height:100%}.product-badge{z-index:2;border-radius:3px;padding:2px 6px;font-size:11px;font-weight:700;position:absolute;top:6px;left:6px}.badge-sale{background:var(--danger);color:#fff}.badge-new{background:var(--success);color:#fff}.badge-out{color:#fff;background:#6b7280}.product-info{flex-direction:column;flex:1;padding:10px;display:flex}.product-name{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin-bottom:6px;font-size:15px;font-weight:600;line-height:1.3;display:-webkit-box;overflow:hidden}.product-price{margin-top:auto}.price-original{color:var(--text-light);font-size:13px;text-decoration:line-through}.price-current{color:var(--danger);font-size:18px;font-weight:800}.product-actions{gap:4px;padding:0 8px 8px;display:flex}.btn-card{border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;border:none;flex:1;justify-content:center;align-items:center;gap:2px;padding:6px 2px;font-size:12px;font-weight:600;display:flex}.btn-card-primary{background:var(--primary);color:#fff}.btn-card-primary:hover{background:var(--primary-dark)}.btn-card-accent{background:var(--accent);color:#fff}.btn-card-accent:hover{background:#e65100}.btn-card:disabled{opacity:.5;cursor:not-allowed}.btn{border-radius:var(--radius-sm);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:4px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-accent{background:var(--accent);color:#fff}.btn-accent:hover{background:#e65100}.btn-outline{color:var(--primary);border:1px solid var(--primary);background:#fff}.btn-outline:hover{background:var(--primary-surface)}.btn-sm{padding:5px 10px;font-size:11px}.btn-lg{padding:10px 20px;font-size:14px}.btn-full{width:100%}.btn-danger{background:var(--danger);color:#fff}.slider{margin-bottom:16px;position:relative;overflow:hidden}.slider-track{transition:transform .4s;display:flex}.slider-slide{aspect-ratio:2.5;justify-content:center;align-items:center;min-width:100%;display:flex}.slider-content h2{margin-bottom:4px;font-size:20px}.slider-content p{opacity:.9;font-size:14px}.slider-dots{gap:6px;display:flex;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.slider-dot{cursor:pointer;background:#fff6;border-radius:50%;width:8px;height:8px}.slider-dot.active{background:#fff}.footer{background:var(--primary-dark);color:#fff;margin-top:30px;padding:30px 0 16px}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;margin-bottom:20px;display:grid}.footer-col h3{border-bottom:2px solid var(--primary-light);margin-bottom:12px;padding-bottom:6px;font-size:14px;display:inline-block}.footer-col ul{list-style:none}.footer-col li{opacity:.85;margin-bottom:6px;font-size:13px}.footer-col li:hover{opacity:1}.footer-col p{opacity:.85;font-size:13px;line-height:1.7}.footer-bottom{text-align:center;opacity:.6;border-top:1px solid #ffffff26;padding-top:16px;font-size:12px}.breadcrumb{color:var(--text-secondary);flex-wrap:wrap;gap:6px;font-size:13px;display:flex}.breadcrumb a:hover{color:var(--primary)}.product-detail{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;gap:24px;padding:20px;display:flex}.product-gallery{flex:0 0 55%}.product-gallery-main{aspect-ratio:1;border-radius:var(--radius);background:#f8f9fa;margin-bottom:8px;overflow:hidden}.product-gallery-main img{object-fit:contain;width:100%;height:100%}.product-detail-info{flex:1;min-width:0}.product-detail-name{color:var(--text);margin-bottom:10px;font-size:22px;font-weight:800}.product-detail-price{background:var(--bg);border-radius:var(--radius);margin-bottom:12px;padding:12px}.spec-table{border-collapse:collapse;width:100%}.spec-table tr:nth-child(2n){background:var(--bg)}.spec-table td{border-bottom:1px solid var(--border-light);padding:8px 12px;font-size:13px}.spec-table td:first-child{width:40%;color:var(--text-secondary);font-weight:600}.cart-table{border-radius:var(--radius);width:100%;box-shadow:var(--shadow);background:#fff;overflow:hidden}.cart-table th{background:var(--primary);color:#fff;text-align:left;padding:8px 12px;font-size:12px;font-weight:600}.cart-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:10px 12px;font-size:13px}.cart-product{align-items:center;gap:8px;display:flex}.cart-product img{object-fit:cover;border-radius:4px;width:48px;height:48px}.cart-qty{align-items:center;display:flex}.cart-qty button{background:var(--bg);border:1px solid var(--border);cursor:pointer;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;font-weight:700;display:flex}.cart-qty button:hover{background:#e5e7eb}.cart-qty input{text-align:center;border:1px solid var(--border);-moz-appearance:textfield;border-left:none;border-right:none;width:56px;height:34px;font-size:15px;font-weight:600}.cart-qty input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.cart-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cart-summary{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;margin-top:12px;padding:16px}.cart-total{border-top:2px solid var(--primary);justify-content:space-between;align-items:center;margin-top:8px;padding-top:10px;font-size:16px;font-weight:700;display:flex}.cart-total .amount{color:var(--danger)}.checkout-grid{grid-template-columns:1fr 340px;gap:16px;display:grid}.form-group{margin-bottom:12px}.form-group label{margin-bottom:4px;font-size:13px;font-weight:600;display:block}.form-group .required{color:var(--danger)}.form-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;padding:8px 10px;font-size:13px}.form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 2px #1565c01a}textarea.form-input{resize:vertical;min-height:60px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.order-success{text-align:center;border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;max-width:500px;margin:24px auto;padding:30px}.order-success-icon{margin-bottom:12px;font-size:48px}.order-success h1{color:var(--success);margin-bottom:6px;font-size:20px}.order-code{background:var(--primary-surface);color:var(--primary-dark);border-radius:var(--radius);margin:8px 0;padding:6px 16px;font-size:16px;font-weight:700;display:inline-block}.order-notice{color:#92400e;border-radius:var(--radius-sm);background:#fef3c7;margin-top:12px;padding:10px 14px;font-size:13px}.search-results-header{color:var(--text-secondary);margin-bottom:12px;font-size:13px}.pagination{justify-content:center;gap:4px;margin-top:20px;display:flex}.pagination button,.pagination a{border:1px solid var(--border);border-radius:var(--radius-sm);background:#fff;padding:6px 10px;font-size:13px}.pagination button.active,.pagination a.active{background:var(--primary);color:#fff;border-color:var(--primary)}.toast{background:var(--success);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:200;padding:10px 16px;font-size:13px;font-weight:500;animation:.2s slideIn,.2s 2.5s forwards fadeOut;position:fixed;top:70px;right:16px}@keyframes slideIn{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeOut{to{opacity:0;transform:translate(100%)}}.empty-state{text-align:center;color:var(--text-secondary);padding:40px 16px}.empty-state-icon{opacity:.3;margin-bottom:12px;font-size:48px}.empty-state h3{margin-bottom:6px;font-size:16px}@media (max-width:992px){.main-layout{flex-direction:column}.sidebar{width:100%}.category-list{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));display:grid}.category-list .cat-group{display:contents}.cat-group-label{grid-column:1/-1}.cat-flyout{top:100%;left:0}.product-detail{flex-direction:column}.product-gallery,.product-detail-info{flex:1}.checkout-grid{grid-template-columns:1fr}}@media (max-width:768px){.header .container{flex-wrap:wrap;gap:8px}.search-bar{flex-basis:100%;order:3;width:100%;max-width:100%}.header-logo h1{font-size:13px}.header-logo h1 span{font-size:9px}.logo-icon{width:34px;height:34px;font-size:10px}.top-bar-left{gap:8px}.top-bar-left span{font-size:11px}.product-grid{grid-template-columns:repeat(3,1fr);gap:8px}.slider-slide{aspect-ratio:2;padding:16px}.slider-content h2{font-size:16px}.slider-content p{font-size:12px}.footer-grid{grid-template-columns:1fr 1fr}.product-name{min-height:2.4em;font-size:12px}.price-current{font-size:13px}.btn-sm{padding:4px 8px;font-size:10px}.form-row{grid-template-columns:1fr}}@media (max-width:480px){.product-grid{grid-template-columns:repeat(2,1fr);gap:6px}.header-actions{gap:4px}.header-actions .btn-outline{display:none}.cart-table th,.cart-table td{padding:6px 8px;font-size:11px}.cart-product img{width:36px;height:36px}.container{padding:0 8px}.footer-grid{grid-template-columns:1fr}.category-list{grid-template-columns:1fr 1fr}}
