.products-main{min-height:calc(100vh - 108px);padding-bottom:80px}.products-hero{background:linear-gradient(135deg,#fef6e4,#fff);padding:40px 20px;text-align:center}html.dark .products-hero{background:linear-gradient(135deg,#2c2c2e,#1c1c1e)}.products-hero h1{font-size:32px;font-weight:700;color:var(--color-text-primary);margin:0 0 12px}.products-intro{max-width:620px;margin:0 auto;font-size:16px;line-height:1.6;color:var(--color-text-secondary)}.products-loading{display:flex;justify-content:center;padding:80px 0}.products-category-section{max-width:1200px;margin:0 auto;padding:48px 20px 0}.products-category-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:24px;flex-wrap:wrap}.products-category-title{font-size:22px;font-weight:700;color:var(--color-text-primary);margin:0 0 6px}.products-category-desc{font-size:14px;color:var(--color-text-secondary);margin:0;max-width:560px;line-height:1.5}.products-retailer-badge{flex-shrink:0;font-size:12px;font-weight:600;color:var(--color-accent);background:#ff6b3514;border:1px solid rgba(255,107,53,.2);padding:6px 12px;border-radius:20px;white-space:nowrap}.products-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (min-width: 640px){.products-grid{grid-template-columns:repeat(3,1fr);gap:20px}}@media (min-width: 1024px){.products-grid{grid-template-columns:repeat(4,1fr)}}.product-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #00000012,0 2px 8px #0000000d;transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column}@media (hover: hover) and (pointer: fine){.product-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #0000001a,0 2px 6px #0000000f}}.product-image-wrapper{width:100%;aspect-ratio:1 / 1;overflow:hidden;background:#f5f3ef;position:relative}.product-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.product-image--contain{object-fit:contain;object-position:center}.product-card:hover .product-image{transform:scale(1.04)}.product-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#ccc}.product-size-badge{position:absolute;bottom:8px;left:8px;background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:11px;font-weight:600;color:var(--color-text-secondary);padding:3px 8px;border-radius:10px}.product-content{padding:14px;display:flex;flex-direction:column;flex:1;gap:6px}.product-name{font-size:14px;font-weight:700;color:var(--color-text-primary);margin:0;line-height:1.3}.product-price{font-size:16px;font-weight:700;color:var(--color-accent)}.product-description{font-size:12px;line-height:1.5;color:var(--color-text-secondary);margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;flex:1}.product-buy-button{display:block;text-align:center;background:var(--color-text-primary);color:#fff;padding:10px 16px;border-radius:24px;font-size:13px;font-weight:600;text-decoration:none;transition:background .2s ease,transform .15s ease;margin-top:8px}@media (hover: hover) and (pointer: fine){.product-buy-button:hover{background:var(--color-accent);transform:translateY(-1px)}}.products-cta{max-width:600px;margin:64px auto 0;padding:48px 20px;text-align:center;border-top:1px solid var(--color-divider)}.products-cta h2{font-size:24px;font-weight:700;color:var(--color-text-primary);margin:0 0 10px}.products-cta p{font-size:15px;color:var(--color-text-secondary);margin:0 0 24px}.products-cta-button{display:inline-block;background:var(--color-accent);color:#fff;padding:14px 32px;border-radius:32px;font-size:15px;font-weight:700;text-decoration:none;transition:opacity .2s ease,transform .15s ease}@media (hover: hover) and (pointer: fine){.products-cta-button:hover{opacity:.9;transform:translateY(-2px)}}@media (max-width: 639px){.products-hero{padding:32px 16px}.products-hero h1{font-size:26px}.products-category-section{padding:36px 16px 0}.products-category-header{flex-direction:column;gap:8px}.products-grid{gap:12px}.product-content{padding:12px}.product-name{font-size:13px}}
