*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--clr-bg:#f5f5f3;--clr-surface:#fff;--clr-border:#e5e5e1;--clr-border-soft:#eeede9;--clr-text:#111;--clr-muted:#666;--clr-muted2:#999;--clr-accent:#2563eb;--clr-accent-hover:#1d4ed8;--clr-buy:#e85c26;--clr-buy-hover:#c94e1e;--clr-cart:#fff;--clr-cart-border:#e85c26;--clr-tag-bg:#f0f0ed;--clr-tag-text:#555;--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow-card:0 1px 2px #0000000a, 0 4px 12px #0000000d;--shadow-card-hover:0 4px 16px #0000001a, 0 12px 32px #00000014;--shadow-panel:0 1px 3px #0000000d, 0 6px 20px #00000012;--transition:.18s ease;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--max-w:1200px}html{font-family:var(--font);color:var(--clr-text);background:var(--clr-bg);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.6}body{flex-direction:column;min-height:100dvh;display:flex}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;background:0 0;border:none}h1,h2,h3{letter-spacing:-.02em;font-weight:700;line-height:1.25}#app{flex-direction:column;width:100%;min-height:100dvh;display:flex}.site-header{z-index:100;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--clr-border);background:#f5f5f3f0;position:sticky;top:0}.header-inner{max-width:var(--max-w);align-items:center;gap:1.5rem;height:60px;margin:0 auto;padding:0 1.5rem;display:flex}.header-brand{flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:flex}.brand-icon{font-size:1.3rem}.brand-name{letter-spacing:-.025em;color:var(--clr-text);font-size:1rem;font-weight:700}.search-wrapper{flex:1;min-width:180px;max-width:480px}.search-bar{align-items:center;display:flex;position:relative}.search-icon{width:.95rem;height:.95rem;color:var(--clr-muted);pointer-events:none;position:absolute;left:.85rem}.search-input{border:1.5px solid var(--clr-border);background:var(--clr-surface);width:100%;color:var(--clr-text);transition:border-color var(--transition), box-shadow var(--transition);border-radius:999px;outline:none;padding:.55rem 2.5rem .55rem 2.4rem;font-size:.875rem}.search-input:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px #2563eb1a}.search-input::placeholder{color:var(--clr-muted2)}.search-clear{color:var(--clr-muted);transition:color var(--transition);border-radius:50%;padding:.15rem .3rem;font-size:1rem;line-height:1;position:absolute;right:.7rem}.search-clear:hover{color:var(--clr-text)}.site-main{flex:1;padding:2.5rem 1.5rem}.site-main.no-pad{padding:0}.container{max-width:var(--max-w);margin:0 auto}.products-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}.results-label{color:var(--clr-muted);font-size:.875rem}.results-label strong{color:var(--clr-text)}.sort-control{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.sort-label{color:var(--clr-muted);white-space:nowrap;font-size:.8rem;font-weight:500}.sort-select{font:inherit;color:var(--clr-text);background-color:var(--clr-surface);border:1.5px solid var(--clr-border);border-radius:var(--radius-sm);cursor:pointer;appearance:none;transition:border-color var(--transition), box-shadow var(--transition);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .55rem center;background-repeat:no-repeat;background-size:.7rem;outline:none;padding:.35rem 2rem .35rem .65rem;font-size:.8rem;font-weight:500}.sort-select:hover{border-color:#bbb}.sort-select:focus{border-color:var(--clr-accent);box-shadow:0 0 0 3px #2563eb1a}.empty-state{text-align:center;color:var(--clr-muted);padding:4rem 1rem}.empty-state svg{opacity:.35;width:2.75rem;height:2.75rem;margin:0 auto 1rem}.empty-state p{margin-bottom:0}.empty-state .btn-clear-search{font-size:inherit;color:var(--clr-accent);background:0 0;border:none;padding:0;font-weight:500;text-decoration:underline;display:inline}.not-found{text-align:center;padding:5rem 1rem}.not-found h2{margin-bottom:.5rem}.not-found p{color:var(--clr-muted);margin-bottom:1.5rem}.btn-clear-search{border:1.5px solid var(--clr-border);color:var(--clr-text);transition:background var(--transition);border-radius:999px;padding:.5rem 1.25rem;font-size:.85rem;display:inline-block}.btn-clear-search:hover{background:var(--clr-border)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:1.5rem;margin-bottom:2rem;display:grid}.product-card{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);flex-direction:column;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-card-hover);border-color:#d5d5d1;transform:translateY(-2px)}.product-thumb{aspect-ratio:4/3;background:#f7f7f5;display:block;position:relative;overflow:hidden}.product-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.product-card:hover .product-thumb img{transform:scale(1.04)}.image-count{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:999px;padding:.15rem .45rem;font-size:.68rem;font-weight:500;position:absolute;bottom:.55rem;right:.55rem}.product-body{flex-direction:column;flex:1;gap:.4rem;padding:1rem 1.1rem 1.1rem;display:flex}.product-price{color:var(--clr-buy);letter-spacing:-.01em;font-size:.95rem;font-weight:700}.product-title{letter-spacing:-.01em;font-size:.975rem;font-weight:650;line-height:1.35}.product-title a{color:inherit}.product-title a:hover{color:var(--clr-accent)}.product-desc{color:var(--clr-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.825rem;line-height:1.55;display:-webkit-box;overflow:hidden}.product-tags{flex-wrap:wrap;gap:.3rem;margin-top:.1rem;display:flex}.tag{background:var(--clr-tag-bg);color:var(--clr-tag-text);letter-spacing:.01em;border-radius:999px;padding:.18rem .55rem;font-size:.7rem;font-weight:500}.product-actions{gap:.5rem;margin-top:auto;padding-top:.8rem;display:flex}.btn-detail{border-radius:var(--radius-sm);border:1.5px solid var(--clr-border);color:var(--clr-text);background:var(--clr-surface);transition:background var(--transition), border-color var(--transition);white-space:nowrap;text-align:center;flex:1;justify-content:center;align-items:center;padding:.5rem .9rem;font-size:.82rem;font-weight:500;display:inline-flex}.btn-detail:hover{background:var(--clr-bg);border-color:#bbb}.btn-affiliate{border-radius:var(--radius-sm);background:var(--clr-buy);color:#fff;transition:background var(--transition);white-space:nowrap;flex:1;justify-content:center;align-items:center;padding:.5rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.btn-affiliate:hover{background:var(--clr-buy-hover)}.pagination{border-top:1px solid var(--clr-border-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.5rem;padding-top:1.5rem;display:flex}.pagination-info{color:var(--clr-muted);font-size:.82rem}.pagination-controls{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.page-btn,.page-num{border-radius:var(--radius-sm);border:1.5px solid var(--clr-border);min-width:2rem;height:2rem;color:var(--clr-text);background:var(--clr-surface);transition:background var(--transition), border-color var(--transition), color var(--transition);cursor:pointer;padding:0 .55rem;font-size:.82rem;font-weight:500}.page-btn:hover:not(:disabled),.page-num:hover{background:var(--clr-bg);border-color:#bbb}.page-btn:disabled{opacity:.3;cursor:default}.page-num.active{background:var(--clr-accent);border-color:var(--clr-accent);color:#fff}.page-ellipsis{color:var(--clr-muted2);padding:0 .2rem;font-size:.82rem}.site-footer{border-top:1px solid var(--clr-border);text-align:center;color:var(--clr-muted);padding:1.25rem 1.5rem;font-size:.78rem}.breadcrumb{color:var(--clr-muted);flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1.5rem;font-size:.8rem;display:flex}.crumb{color:var(--clr-muted);transition:color var(--transition)}.crumb:hover{color:var(--clr-accent);text-decoration:underline}.crumb-current{color:var(--clr-text);font-weight:500}.crumb-sep{color:var(--clr-muted2)}.detail-hero{background:var(--clr-surface);border-bottom:1px solid var(--clr-border);padding:2.5rem 1.5rem}.detail-layout{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.detail-gallery{flex-direction:column;gap:.75rem;display:flex}.main-image-wrap{aspect-ratio:1;border-radius:var(--radius-lg);border:1px solid var(--clr-border);background:#f7f7f5;overflow:hidden}.main-image{object-fit:cover;width:100%;height:100%;transition:opacity .2s}.thumb-row{flex-wrap:wrap;gap:.55rem;display:flex}.thumb-btn{border-radius:var(--radius-sm);width:72px;height:72px;transition:border-color var(--transition), transform var(--transition);cursor:pointer;background:#f7f7f5;border:2px solid #0000;flex-shrink:0;padding:0;overflow:hidden}.thumb-btn img{object-fit:cover;width:100%;height:100%}.thumb-btn:hover{border-color:var(--clr-muted2);transform:translateY(-1px)}.thumb-btn.active{border-color:var(--clr-buy)}.detail-info{flex-direction:column;gap:1rem;padding-top:.25rem;display:flex}.detail-title{letter-spacing:-.03em;color:var(--clr-text);font-size:1.55rem;font-weight:700;line-height:1.2}.detail-price{color:var(--clr-buy);letter-spacing:-.03em;font-size:1.75rem;font-weight:800;line-height:1}.detail-short-desc{color:var(--clr-muted);border-top:1px solid var(--clr-border-soft);padding-top:.85rem;font-size:.9rem;line-height:1.65}.detail-actions{flex-wrap:wrap;gap:.75rem;display:flex}.btn-cart{border-radius:var(--radius-sm);border:2px solid var(--clr-buy);background:var(--clr-cart);color:var(--clr-buy);transition:background var(--transition), color var(--transition);white-space:nowrap;text-align:center;flex:1;justify-content:center;align-items:center;gap:.5rem;min-width:0;padding:.75rem 1.5rem;font-size:.9rem;font-weight:600;display:inline-flex}.btn-cart svg{flex-shrink:0;width:1rem;height:1rem}.btn-cart:hover{background:#fff4f0}.btn-buynow{border-radius:var(--radius-sm);background:var(--clr-buy);color:#fff;transition:background var(--transition);white-space:nowrap;text-align:center;flex:1;justify-content:center;align-items:center;min-width:0;padding:.75rem 1.5rem;font-size:.9rem;font-weight:700;display:inline-flex}.btn-buynow:hover{background:var(--clr-buy-hover)}.detail-meta{border-top:1px solid var(--clr-border-soft);flex-direction:column;gap:.4rem;padding-top:.85rem;display:flex}.meta-row{gap:.75rem;font-size:.825rem;display:flex}.meta-label{color:var(--clr-muted);min-width:70px;font-weight:500}.meta-value{color:var(--clr-text)}.detail-body{padding:2.5rem 1.5rem}.detail-bottom{grid-template-columns:1fr 300px;align-items:start;gap:2.5rem;display:grid}.section-heading{letter-spacing:-.015em;color:var(--clr-text);border-bottom:2px solid var(--clr-text);margin-bottom:1rem;padding-bottom:.6rem;font-size:1rem;font-weight:700;display:inline-block}.detail-description-col{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;gap:1.5rem;padding:1.75rem;display:flex}.detail-description{color:var(--clr-muted);font-size:.9rem;line-height:1.8}.detail-description p{margin-bottom:.9rem}.detail-description p:last-child{margin-bottom:0}.detail-description h1,.detail-description h2,.detail-description h3{color:var(--clr-text);letter-spacing:-.015em;margin:1.25rem 0 .5rem;font-weight:700}.detail-description h2{font-size:1.05rem}.detail-description h3{font-size:.95rem}.detail-description ul,.detail-description ol{margin-bottom:.9rem;padding-left:1.35rem}.detail-description li{margin-bottom:.3rem}.detail-description a{color:var(--clr-accent);text-decoration:underline}.detail-description strong{color:var(--clr-text);font-weight:650}.detail-video .section-heading{display:block}.video-wrapper{border-radius:var(--radius);aspect-ratio:16/9;overflow:hidden}.video-wrapper iframe{width:100%;height:100%;display:block}.detail-related-col{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.5rem;position:sticky;top:80px}.related-list{flex-direction:column;gap:1rem;display:flex}.no-related{color:var(--clr-muted);font-size:.85rem}.related-card{border-radius:var(--radius);border:1px solid var(--clr-border-soft);background:var(--clr-bg);transition:border-color var(--transition), background var(--transition);color:inherit;align-items:flex-start;gap:.75rem;padding:.75rem;text-decoration:none;display:flex}.related-card:hover{background:#f8f8f6;border-color:#ccc}.related-thumb{border-radius:var(--radius-sm);background:#eee;flex-shrink:0;width:64px;height:64px;overflow:hidden}.related-thumb img{object-fit:cover;width:100%;height:100%}.related-body{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.related-title{color:var(--clr-text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.82rem;font-weight:650;line-height:1.35;display:-webkit-box;overflow:hidden}.related-desc{color:var(--clr-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.75rem;line-height:1.4;display:-webkit-box;overflow:hidden}@media (width<=900px){.detail-layout{grid-template-columns:1fr;gap:2rem}.detail-bottom{grid-template-columns:1fr}.detail-related-col{position:static}.thumb-btn{width:60px;height:60px}}@media (width<=640px){.products-toolbar{gap:.5rem}.site-main{padding:1.5rem 1rem}.detail-hero{padding:1.5rem 1rem 2rem}.detail-body{padding:1.5rem 1rem}.detail-title{font-size:1.2rem}.detail-price{font-size:1.4rem}.product-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.pagination{flex-direction:column;align-items:flex-start}.detail-actions{flex-direction:column}.btn-cart,.btn-buynow{flex:none;width:100%}.header-inner{gap:.75rem;padding:0 1rem}}@media (width<=480px){.product-grid{grid-template-columns:1fr}.detail-description-col{padding:1.25rem}}
