*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,sans-serif;background:#FFFAF5;color:#333;line-height:1.6}
.hero{text-align:center;padding:40px 20px;background:#FFF0F5}
.hero img{width:80px;height:80px;border-radius:50%;object-fit:cover;margin-bottom:12px}
.hero h1{font-size:1.4rem;margin-bottom:6px}
.hero p{color:#666;font-size:0.95rem}
.container{max-width:1400px;margin:0 auto;padding:30px 20px}
h2{font-size:1.1rem;margin:24px 0 12px;color:#555}
.cat-title{font-size:0.95rem;margin:20px 0 10px;color:#333;padding-left:4px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;align-items:stretch}
.prod{background:white;border-radius:12px;padding:12px;text-align:center;box-shadow:0 2px 8px rgba(0,0,0,0.05);display:flex;flex-direction:column;height:100%;min-width:0;word-break:break-word}
.prod img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:8px;margin-bottom:8px;background:#FFF}
.prod .no-img{font-size:2rem;margin-bottom:8px}
.prod h4{font-size:0.9rem;margin-bottom:4px;min-height:36px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod .empresa{font-size:0.75rem;color:#999;margin-bottom:4px}
.prod .beneficio{font-size:0.8rem;color:var(--color);font-style:italic;margin-bottom:4px}
.prod .descripcion{font-size:0.78rem;color:#555;margin-bottom:6px}
.prod .precio{color:var(--color);font-weight:700;font-size:1.1rem;margin-top:auto;margin-bottom:8px}
.prod a{display:inline-block;background:var(--color);color:white;padding:6px 14px;border-radius:20px;text-decoration:none;font-size:0.8rem;font-weight:600}
.empty{text-align:center;padding:40px;color:#999}
.cta{background:linear-gradient(135deg,var(--color),#C4B5E0);color:white;text-align:center;padding:30px;border-radius:16px;margin:30px 0}
.cta h3{margin-bottom:6px}
.cta p{opacity:0.9;margin-bottom:12px}
.cta a{display:inline-block;background:white;color:var(--color);padding:10px 24px;border-radius:30px;text-decoration:none;font-weight:700}
.vender{background:white;border:2px dashed #A8D5BA;border-radius:16px;padding:24px;text-align:center;margin:20px 0}
.vender h3{color:#2E7D6B;margin-bottom:6px}
.vender p{color:#666;margin-bottom:12px;font-size:0.9rem}
.vender a{display:inline-block;background:#2E7D6B;color:white;padding:10px 20px;border-radius:30px;text-decoration:none;font-weight:600;font-size:0.9rem}
.footer{text-align:center;padding:30px;color:#999;font-size:0.8rem}
.footer a{color:var(--color)}
.grid-sets{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;margin-bottom:24px}
.set-card{background:white;border-radius:16px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,0.08);display:flex;flex-direction:column;max-width:400px}
.set-img{width:100%;aspect-ratio:1;background:#FFF0F5;display:flex;align-items:center;justify-content:center;overflow:hidden}
.set-img img{width:100%;height:100%;object-fit:cover}
.set-info{padding:20px;flex:1;display:flex;flex-direction:column;justify-content:center}
.set-info h3{font-size:1.1rem;margin-bottom:6px}
.set-desc{font-size:0.85rem;color:#666;margin-bottom:6px}
.set-count{font-size:0.8rem;color:#999;margin-bottom:8px}
.set-precio{font-size:1.3rem;font-weight:700;color:var(--color);margin-bottom:12px}
.set-btn{display:inline-block;background:var(--color);color:white;padding:10px 20px;border-radius:25px;text-decoration:none;font-weight:700;font-size:0.9rem}
.set-productos{display:flex;flex-direction:column;gap:6px;margin:12px 0;max-height:200px;overflow-y:auto}
.set-prod-item{display:flex;align-items:center;gap:8px;padding:6px 8px;background:#f9fafb;border-radius:8px;font-size:0.8rem}
.set-prod-item img{width:36px;height:36px;border-radius:6px;object-fit:cover;flex-shrink:0}
.set-prod-item span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.set-prod-price{color:var(--color);font-weight:600;flex-shrink:0}
.cart-float{position:fixed;bottom:20px;right:20px;background:var(--color);color:white;width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,0.2);z-index:100}
.cart-float span{position:absolute;top:-4px;right:-4px;background:white;color:var(--color);width:20px;height:20px;border-radius:50%;font-size:0.7rem;display:flex;align-items:center;justify-content:center;font-weight:700}
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;z-index:200;padding:20px}
.cart-panel{background:white;border-radius:16px;padding:24px;max-width:400px;width:100%;max-height:90vh;overflow-y:auto}
.cart-panel h3{margin-bottom:16px}
.cart-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}
.cart-rm{color:#B91C1C;cursor:pointer}
.cart-subtotal,.cart-envio,.cart-total{margin:12px 0;font-size:0.95rem}
.cart-total{font-size:1.1rem;color:var(--color)}
.cart-panel input,.cart-panel select{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;margin-bottom:8px;font-size:0.95rem}
.cart-pay{width:100%;padding:14px;background:var(--color);color:white;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:8px}
.cart-close{width:100%;padding:10px;background:none;border:1px solid #ddd;border-radius:10px;font-size:0.9rem;cursor:pointer;margin-top:8px}
.set-btn-cart{display:inline-block;background:white;color:var(--color);border:2px solid var(--color);padding:8px 16px;border-radius:25px;font-weight:600;font-size:0.85rem;cursor:pointer;margin-top:6px}
@media(max-width:600px){.grid{grid-template-columns:1fr 1fr!important;gap:10px}.prod{padding:10px}.prod img{border-radius:6px}}
@media(max-width:500px){.set-card{max-width:none}.set-img{flex:none;width:100%;height:auto;aspect-ratio:1}}

.filters{display:flex;gap:8px;overflow-x:auto;padding:8px 0 16px;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filter-btn{padding:8px 16px;border-radius:20px;border:1px solid #E5E7EB;background:white;font-size:0.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all 0.2s}
.filter-btn:hover{border-color:var(--color);color:var(--color)}
.filter-btn.active{background:var(--color);color:white;border-color:var(--color)}
