*{margin:0;padding:0;box-sizing:border-box}body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:#333;background:#fadadd;min-height:100vh}.container{max-width:95%;margin:0 auto;padding:0 15px}header{background:rgba(255,255,255,.95);backdrop-filter:blur(10px);padding:2rem 0;text-align:center;box-shadow:0 2px 20px rgba(0,0,0,.1);position:sticky;top:0;z-index:100;transition:padding .3s ease}header.scrolled{padding:.6rem 0}header h1{font-size:3rem;font-weight:700;color:#b94765!important;margin-bottom:.5rem;opacity:1;transform:translateY(0)}header.scrolled h1{display:none;margin:0;height:0}.subtitle{font-size:1.2rem;color:#000;font-weight:700;padding:.6rem 0;display:flex;align-items:center;justify-content:center;gap:.5rem}.cart-icon{width:1.5rem;height:1.5rem;color:#f90;flex-shrink:0}header.scrolled .subtitle{padding:0}main{padding:3rem 0 0 0;min-height:calc(100vh - 200px)}.gallery{display:grid;gap:25px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem;padding:0}@media (min-width:2000px){.gallery{grid-template-columns:repeat(6,1fr);gap:32px}.container{max-width:97%;padding:0 22px}}@media (min-width:1800px) and (max-width:1999px){.gallery{grid-template-columns:repeat(6,1fr);gap:30px}.container{max-width:96%;padding:0 20px}}@media (min-width:1400px) and (max-width:1799px){.gallery{grid-template-columns:repeat(5,1fr);gap:28px}.container{max-width:95%;padding:0 18px}}@media (min-width:1200px) and (max-width:1399px){.gallery{grid-template-columns:repeat(4,1fr);gap:25px}.container{max-width:94%;padding:0 16px}}@media (min-width:900px) and (max-width:1199px){.gallery{grid-template-columns:repeat(3,1fr);gap:22px}.container{max-width:93%;padding:0 15px}}@media (min-width:600px) and (max-width:899px){.gallery{grid-template-columns:repeat(2,1fr);gap:18px}.container{max-width:92%;padding:0 12px}}@media (max-width:599px){.gallery{grid-template-columns:repeat(2,1fr);gap:12px;padding:0}.container{max-width:95%;padding:0 8px}header{padding:1rem 0}header.scrolled{padding:.425rem 0}header h1{font-size:1.8rem;margin-bottom:.2rem}header.scrolled h1{display:none;margin:0;height:0}.subtitle{font-size:.85rem;margin:0;padding:.425rem 0;display:flex;align-items:center;justify-content:center;gap:.3rem}.cart-icon{width:1rem;height:1rem}header.scrolled .subtitle{padding:0}}.product-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.12);transition:all .4s cubic-bezier(.4, 0, .2, 1);cursor:pointer;position:relative;aspect-ratio:1;display:flex;flex-direction:column}.product-card:hover{transform:translateY(-12px) scale(1.02);box-shadow:0 20px 60px rgba(0,0,0,.25)}.product-card::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(102,126,234,.15),rgba(118,75,162,.15));opacity:0;transition:opacity .4s ease;z-index:1;border-radius:20px}.product-card:hover::before{opacity:1}.product-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.product-card:hover .product-image{transform:scale(1.08)}.loading{text-align:center;padding:2rem;display:none}.loading.show{display:block}.spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}@keyframes spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.loading p{color:#fff;font-size:1.1rem;font-weight:300}footer{background:rgba(0,0,0,.8);color:#fff;padding:1rem 0;margin-top:0}.footer-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.copyright{margin:0;font-size:.9rem}.disclaimer{margin:0;font-size:.8rem;color:#ccc;font-style:italic;text-align:right}@media (max-width:768px){.footer-content{flex-direction:column;text-align:center;gap:.5rem}.disclaimer{text-align:center}footer{padding:.8rem 0}}.product-card:focus{outline:3px solid #667eea;outline-offset:2px}html{scroll-behavior:smooth}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.product-card.fade-in{animation:fadeInUp .6s ease-out}.error-message{text-align:center;padding:3rem;color:#fff;font-size:1.2rem}.error-message h2{margin-bottom:1rem;font-size:2rem}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;animation:loading 1.5s infinite}@keyframes loading{0%{background-position:200% 0}100%{background-position:-200% 0}}.end-message{text-align:center;padding:3rem 2rem;margin:2rem 0 2rem 0;opacity:0;transform:translateY(20px);transition:all .6s ease-out}.end-message.fade-in{opacity:1;transform:translateY(0)}.end-content{background:rgba(255,255,255,.95);border-radius:25px;padding:2rem 2rem;box-shadow:0 15px 50px rgba(0,0,0,.15);max-width:500px;margin:0 auto;backdrop-filter:blur(10px);border:2px solid rgba(185,71,101,.2)}.end-content h3{font-size:1.6rem;color:#b94765;margin-bottom:.8rem;font-weight:600;line-height:1.4}.end-content p{font-size:1.1rem;color:#666;margin-bottom:0;line-height:1.6;font-weight:400}@media (max-width:768px){.end-message{padding:2rem 1rem;margin:1.5rem 0 1.5rem 0}.end-content{padding:1.5rem 1.5rem;border-radius:20px}.end-content h3{font-size:1.3rem;margin-bottom:.6rem}.end-content p{font-size:1rem;margin-bottom:0}}.error-message.enhanced{background:rgba(255,255,255,.95);border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.1);margin:2rem;backdrop-filter:blur(10px);border:2px solid rgba(255,107,157,.2)}.error-content{padding:2rem;max-width:600px;margin:0 auto}.error-icon{font-size:4rem;margin-bottom:1rem;animation:bounce 2s infinite}.error-message.enhanced h2{color:#2c3e50;font-size:1.8rem;margin-bottom:1rem}.error-description{font-size:1.2rem;color:#666;margin-bottom:1.5rem;line-height:1.6}.network-warning{background:linear-gradient(45deg,#ff9a9e,#fecfef);border-radius:15px;padding:1rem;margin:1rem 0;display:flex;align-items:center;gap:.5rem}.warning-icon{font-size:1.5rem}.network-warning p{margin:0;color:#333;font-weight:500}.error-actions{display:flex;gap:1rem;justify-content:center;margin:1.5rem 0;flex-wrap:wrap}.refresh-button,.retry-button{background:linear-gradient(45deg,#ff6b9d,#c44569);color:#fff;border:none;padding:12px 24px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .3s ease;box-shadow:0 4px 15px rgba(255,107,157,.3)}.refresh-button:hover,.retry-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,107,157,.4)}.refresh-button:disabled,.retry-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.retry-icon.spinning{animation:spin 1s linear infinite}.troubleshooting{margin-top:2rem;border:1px solid #ddd;border-radius:10px;overflow:hidden}.troubleshooting summary{background:#f8f9fa;padding:1rem;cursor:pointer;font-weight:600;color:#2c3e50;border-bottom:1px solid #ddd}.troubleshooting summary:hover{background:#e9ecef}.troubleshooting-content{padding:1rem}.troubleshooting ul{margin:0 0 1rem 0;padding-left:1.5rem}.troubleshooting li{margin:.5rem 0;color:#666}.technical-details{background:#f8f9fa;border-radius:8px;padding:1rem;margin-top:1rem;font-family:'Courier New',monospace;font-size:.9rem}.technical-details p{margin:.5rem 0;color:#555}.network-status{position:fixed;top:20px;right:20px;padding:1rem 1.5rem;border-radius:10px;color:#fff;font-weight:600;z-index:1000;animation:slideInRight .3s ease-out}.network-status.success{background:linear-gradient(45deg,#56ab2f,#a8e6cf)}.network-status.error{background:linear-gradient(45deg,#ff416c,#ff4b2b)}@keyframes slideInRight{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.image-error{filter:grayscale(100%);opacity:.7}.image-error-indicator{position:absolute;bottom:5px;left:5px;right:5px;background:rgba(255,0,0,.8);color:#fff;font-size:.8rem;padding:.3rem;border-radius:5px;text-align:center}.image-loaded{animation:imageLoadSuccess .5s ease-out}@keyframes imageLoadSuccess{from{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.error-message.enhanced{margin:1rem}.error-content{padding:1.5rem}.error-icon{font-size:3rem}.error-message.enhanced h2{font-size:1.5rem}.error-description{font-size:1.1rem}.error-actions{flex-direction:column;align-items:center}.refresh-button,.retry-button{width:100%;max-width:250px;justify-content:center}.network-status{top:10px;right:10px;left:10px;text-align:center}}