body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.header{background:#2c3e50;box-shadow:0 2px 10px #0003;color:#fff;left:0;padding:1rem 0;position:fixed;right:0;top:0;transition:box-shadow .3s ease;width:100%;z-index:1000}.header-container{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.logo h1{font-size:1.8rem;margin:0}.logo a{color:#fff;text-decoration:none}.nav-links{display:flex;gap:2rem}.nav-links a{color:#fff;text-decoration:none;transition:color .3s}.nav-links a:hover{color:#3498db}.header-right{align-items:center}.auth-buttons,.header-right{display:flex;gap:1rem}.btn-login,.btn-register{border-radius:5px;padding:.5rem 1rem;text-decoration:none;transition:all .3s}.btn-login{border:1px solid #fff;color:#fff}.btn-login:hover{background:#fff;color:#2c3e50}.btn-register{background:#3498db;color:#fff}.btn-register:hover{background:#2980b9}.user-menu{position:relative}.user-button{background:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:.5rem 1rem}.dropdown{background:#fff;border-radius:5px;box-shadow:0 2px 10px #0000001a;margin-top:.5rem;min-width:150px;position:absolute;right:0;top:100%}.dropdown a,.dropdown button{background:none;border:none;color:#2c3e50;cursor:pointer;display:block;padding:.75rem 1rem;text-align:left;text-decoration:none;width:100%}.dropdown a:hover,.dropdown button:hover{background:#f8f9fa}.cart-icon{font-size:1.5rem;position:relative;text-decoration:none}.cart-count{align-items:center;background:#e74c3c;border-radius:50%;color:#fff;display:flex;font-size:.75rem;height:20px;justify-content:center;position:absolute;right:-8px;top:-8px;width:20px}.mobile-menu-toggle{background:none;border:none;color:#fff;cursor:pointer;display:none;font-size:1.8rem;line-height:1;padding:.5rem}@media (max-width:768px){.mobile-menu-toggle{display:block;order:2}.header-container{flex-wrap:wrap;padding:0 1rem}.logo h1{font-size:1.4rem}.nav-links{background:#34495e;border-radius:5px;display:none;flex-direction:column;gap:0;margin-top:1rem;order:3;width:100%}.nav-links.active{display:flex}.nav-links a{border-bottom:1px solid #ffffff1a;padding:.75rem 1rem}.nav-links a:last-child{border-bottom:none}.auth-buttons,.header-right{gap:.5rem}.btn-login,.btn-register,.user-button{font-size:.9rem;padding:.4rem .8rem}.cart-icon{font-size:1.3rem}}@media (max-width:480px){.logo h1{font-size:1.2rem}.btn-login,.btn-register,.user-button{font-size:.85rem;padding:.3rem .6rem}.user-button{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}.footer{background:#1a1a1a;color:#b8b8b8;margin-top:0;padding:4rem 0 1rem}.footer-container{grid-gap:4rem;align-items:start;display:grid;gap:4rem;grid-template-columns:2fr 1fr 1.5fr;margin:0 auto;max-width:1200px;padding:0 2rem}.footer-brand{max-width:100%}.footer-logo h2{color:#fff;font-size:2rem;font-weight:700;margin-bottom:1rem}.footer-description{color:#b8b8b8;font-size:.95rem;line-height:1.8;margin-bottom:1.5rem}.social-icons{gap:1rem}.social-icons,.social-icons a{align-items:center;display:flex}.social-icons a{background:#2a2a2a;border-radius:50%;color:#b8b8b8;font-weight:700;height:40px;justify-content:center;text-decoration:none;transition:all .3s;width:40px}.social-icons a:hover{background:#3498db;color:#fff;transform:translateY(-3px)}.social-icon{font-size:.9rem;font-style:normal}.footer-section h3{color:#fff;font-size:1.2rem;font-weight:600;margin-bottom:1.5rem;margin-top:0}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:.75rem}.footer-section a{color:#b8b8b8;display:inline-block;font-size:.95rem;text-decoration:none;transition:all .3s}.footer-section a:hover{color:#fff;padding-left:5px}.contact-info p{color:#b8b8b8;font-size:.95rem;line-height:1.8}.footer-social{align-items:center;border-top:1px solid #ffffff1a;display:flex;margin:3rem auto 0;max-width:1200px;padding:2rem 2rem 0}.footer-social,.footer-social .social-icons{justify-content:center}.footer-bottom{color:#888;font-size:.9rem;margin-top:2rem;padding:1.5rem 0;text-align:center}@media (max-width:1024px){.footer-container{gap:3rem;grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1;max-width:100%;text-align:center}.social-icons{justify-content:center}}@media (max-width:768px){.footer{padding:3rem 0 1rem}.footer-container{gap:2.5rem;grid-template-columns:1fr;padding:0 1rem}.footer-brand{max-width:100%}.footer-brand,.footer-section{text-align:center}.footer-social{padding:2rem 1rem 0}.social-icons{justify-content:center}.footer-section a:hover{padding-left:0}}@media (max-width:480px){.footer{padding:2rem 0 .5rem}.footer-logo h2{font-size:1.5rem}.footer-description{font-size:.9rem}.social-icons a{height:35px;width:35px}.footer-section h3{font-size:1.1rem}.footer-section a,.footer-section p{font-size:.9rem}.footer-bottom{margin-top:2rem;padding:1rem 0}.footer-bottom p{font-size:.85rem}}.install-pwa-banner{animation:slideUp .3s ease-out;background:linear-gradient(135deg,#667eea,#764ba2);bottom:0;box-shadow:0 -4px 12px #00000026;color:#fff;left:0;padding:1rem;position:fixed;right:0;z-index:9999}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.install-pwa-content{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;margin:0 auto;max-width:1200px}.install-pwa-icon{font-size:2rem}.install-pwa-text{flex:1 1;min-width:200px}.install-pwa-text strong{display:block;font-size:1.1rem;margin-bottom:.25rem}.install-pwa-text p{font-size:.9rem;margin:0;opacity:.9}.install-pwa-actions{align-items:center;display:flex;gap:.5rem}.install-btn{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .3s ease}.install-btn:hover{box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.dismiss-btn{align-items:center;background:#0000;border:2px solid #ffffff80;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:36px;justify-content:center;transition:all .3s ease;width:36px}.dismiss-btn:hover{background:#fff3;border-color:#fff}@media (max-width:768px){.install-pwa-banner{padding:.75rem}.install-pwa-content{gap:.75rem}.install-pwa-icon{font-size:1.5rem}.install-pwa-text strong{font-size:1rem}.install-pwa-text p{font-size:.85rem}.install-btn{font-size:.9rem;padding:.6rem 1.2rem}.dismiss-btn{height:32px;width:32px}}.toast{align-items:center;animation:slideIn .3s ease-out;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:flex;gap:1rem;max-width:500px;min-width:300px;padding:1rem 1.5rem;position:fixed;right:20px;top:100px;z-index:10000}@keyframes slideIn{0%{opacity:0;transform:translateX(400px)}to{opacity:1;transform:translateX(0)}}.toast-success{border-left:4px solid #27ae60}.toast-error{border-left:4px solid #e74c3c}.toast-warning{border-left:4px solid #f39c12}.toast-info{border-left:4px solid #3498db}.toast-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:30px;justify-content:center;width:30px}.toast-success .toast-icon{background:#27ae60;color:#fff}.toast-error .toast-icon{background:#e74c3c;color:#fff}.toast-warning .toast-icon{background:#f39c12;color:#fff}.toast-info .toast-icon{background:#3498db;color:#fff}.toast-message{color:#2c3e50;flex:1 1;font-size:.95rem;line-height:1.4}.toast-close{align-items:center;background:none;border:none;color:#95a5a6;cursor:pointer;display:flex;flex-shrink:0;font-size:1.5rem;height:24px;justify-content:center;padding:0;transition:color .3s;width:24px}.toast-close:hover{color:#2c3e50}@media (max-width:768px){.toast{left:10px;max-width:none;min-width:auto;right:10px;top:90px}}@media (max-width:480px){.toast{font-size:.9rem;padding:.75rem 1rem}.toast-icon{font-size:1rem;height:26px;width:26px}.toast-message{font-size:.9rem}}.product-card{background:#fff;border:1px solid #ddd;border-radius:8px;overflow:hidden;transition:transform .3s,box-shadow .3s}.product-card:hover{box-shadow:0 5px 20px #0000001a;transform:translateY(-5px)}.product-card img{height:250px;object-fit:cover;width:100%}.product-info{padding:1rem}.product-info h3{font-size:1.2rem;margin:0 0 .5rem}.price-section{margin:.5rem 0 .75rem}.unit-price{color:#27ae60;font-size:1.3rem;font-weight:700;margin:0}.weight-label{font-size:.9rem}.per-unit,.weight-label{color:#777;font-weight:400}.per-unit{font-size:.85rem}.variant-selector{margin:.75rem 0}.variant-selector label{color:#2c3e50;display:block;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.variant-selector select{background:#fff;border:2px solid #ddd;border-radius:5px;color:#2c3e50;cursor:pointer;font-size:.95rem;padding:.6rem;transition:all .3s;width:100%}.variant-selector select:hover{border-color:#3498db}.variant-selector select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.product-card.out-of-stock{opacity:.7;position:relative}.product-card.out-of-stock .product-image-link{position:relative}.stock-badge{border-radius:5px;box-shadow:0 2px 5px #0003;font-size:.85rem;font-weight:700;padding:.5rem 1rem;position:absolute;right:10px;top:10px;z-index:10}.out-of-stock-badge{background:#e74c3c;color:#fff}.product-card.out-of-stock img{filter:grayscale(50%)}.product-card.out-of-stock .btn-add-to-cart{background:#95a5a6;cursor:not-allowed}.product-card.out-of-stock .qty-btn:disabled,.product-card.out-of-stock input:disabled{cursor:not-allowed;opacity:.5}.total-price{background:#f8f9fa;border-radius:5px;color:#2c3e50;font-size:1.1rem;font-weight:700;margin:.5rem 0 0;padding:.5rem;text-align:center}.price{color:#27ae60;font-size:1.5rem;font-weight:700;margin:.5rem 0}.btn-view{background:#3498db;border-radius:5px;color:#fff;display:block;margin-top:1rem;padding:.75rem;text-align:center;text-decoration:none;transition:background .3s;width:100%}.btn-view:hover{background:#2980b9}.product-image-link{display:block}.product-title-link{color:inherit;text-decoration:none}.product-title-link:hover h3{color:#3498db}.product-actions{margin:1rem 0}.quantity-selector{gap:.5rem}.qty-btn,.quantity-selector{align-items:center;display:flex;justify-content:center}.qty-btn{background:#fff;border:1px solid #ddd;border-radius:5px;color:#2c3e50;cursor:pointer;font-size:1.2rem;font-weight:700;height:35px;transition:all .3s;width:35px}.qty-btn:hover:not(:disabled){background:#3498db;border-color:#3498db;color:#fff}.qty-btn:disabled{cursor:not-allowed;opacity:.5}.quantity-selector input{border:1px solid #ddd;border-radius:5px;font-size:1rem;font-weight:700;height:35px;text-align:center;width:50px}.quantity-selector input::-webkit-inner-spin-button,.quantity-selector input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.button-row{display:flex;gap:.5rem;margin-top:1rem}.btn-add-to-cart{background:#27ae60;border:none;border-radius:5px;color:#fff;cursor:pointer;flex:1 1;font-size:1rem;font-weight:700;padding:.75rem;transition:all .3s}.btn-add-to-cart:hover:not(:disabled){background:#229954;box-shadow:0 4px 8px #27ae604d;transform:translateY(-2px)}.btn-add-to-cart:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.btn-view-details{align-items:center;background:#0000;border:2px solid #3498db;border-radius:5px;color:#3498db;display:flex;flex:1 1;font-size:1rem;font-weight:700;justify-content:center;padding:.75rem;text-align:center;text-decoration:none;transition:all .3s}.btn-view-details:hover{background:#3498db;box-shadow:0 4px 8px #3498db4d;color:#fff;transform:translateY(-2px)}@media (max-width:480px){.product-card img{height:200px}.product-info{padding:.75rem}.product-info h3{font-size:1rem}.unit-price{font-size:1.1rem}.per-unit{font-size:.75rem}.total-price{font-size:1rem;padding:.4rem}.price{font-size:1.3rem}.qty-btn{font-size:1rem;height:32px;width:32px}.quantity-selector input{font-size:.95rem;height:32px;width:45px}.button-row{gap:.4rem}.btn-add-to-cart,.btn-view-details{font-size:.9rem;padding:.65rem}}.home{min-height:calc(100vh - 200px)}.hero-slider{height:600px;overflow:hidden;position:relative;width:100%}.slider-container{height:100%;position:relative;width:100%}.slide{background-position:50%;background-repeat:no-repeat;background-size:cover;height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity 1s ease-in-out;width:100%}.slide.active{opacity:1}.slide-overlay{background:#0006;height:100%;left:0;position:absolute;top:0;width:100%}.slide-content{align-items:center;color:#fff;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;position:relative;text-align:center;z-index:2}.slide-content h1{animation:slideInDown .8s ease-out;font-size:3.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px #00000080}.slide-content h2{animation:slideInDown .8s ease-out .2s both;font-size:2rem;margin-bottom:1rem;text-shadow:2px 2px 4px #00000080}.slide-content p{animation:slideInDown .8s ease-out .4s both;font-size:1.3rem;margin-bottom:2rem;max-width:600px;text-shadow:1px 1px 3px #00000080}.btn-hero{animation:slideInUp .8s ease-out .6s both;background:#fff;border-radius:50px;box-shadow:0 4px 15px #0003;color:#2c3e50;display:inline-block;font-size:1.1rem;font-weight:700;padding:1rem 2.5rem;text-decoration:none;transition:all .3s}.btn-hero:hover{background:#3498db;box-shadow:0 6px 20px #0000004d;color:#fff;transform:translateY(-3px)}.slider-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffff4d;border:none;color:#fff;cursor:pointer;font-size:2rem;padding:1rem 1.5rem;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s;z-index:10}.slider-btn:hover{background:#ffffff80}.slider-btn.prev{border-radius:0 5px 5px 0;left:20px}.slider-btn.next{border-radius:5px 0 0 5px;right:20px}.slider-dots{bottom:30px;display:flex;gap:10px;left:50%;position:absolute;transform:translateX(-50%);z-index:10}.dot{background:#ffffff80;border:none;border-radius:50%;cursor:pointer;height:12px;transition:all .3s;width:12px}.dot.active{background:#fff;border-radius:6px;width:30px}@keyframes slideInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.home-about{background:#f8f9fa;padding:5rem 2rem}.about-container{margin:0 auto;max-width:1200px}.about-content{margin-bottom:3rem;text-align:center}.about-content h2{color:#2c3e50;font-size:2.5rem;margin-bottom:1.5rem}.about-content p{color:#555;font-size:1.1rem;line-height:1.8;margin:0 auto 1rem;max-width:800px}.btn-learn-more{background:#3498db;border-radius:5px;color:#fff;display:inline-block;margin-top:1rem;padding:.8rem 2rem;text-decoration:none;transition:all .3s}.btn-learn-more:hover{background:#2980b9;transform:translateY(-2px)}.about-features{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:3rem}.feature-box{background:#fff;border-radius:10px;box-shadow:0 3px 10px #0000001a;padding:2rem;text-align:center;transition:all .3s}.feature-box:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-box h3{color:#2c3e50;font-size:1.3rem;margin-bottom:.5rem}.feature-box p{color:#777;font-size:.95rem}.featured-products{background:#fff;margin:4rem auto;max-width:1200px;padding:4rem 2rem}.featured-products h2{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem;text-align:center}.section-subtitle{color:#777;font-size:1.1rem;margin-bottom:3rem;text-align:center}.products-grid{margin-bottom:2rem}.btn-view-all{background:#3498db;border-radius:5px;color:#fff;display:block;margin:2rem auto;padding:1rem 2rem;text-decoration:none;transition:background .3s;width:-webkit-fit-content;width:fit-content}.btn-view-all:hover{background:#2980b9}@media (max-width:768px){.hero-slider{height:450px}.slide-content h1{font-size:2rem}.slide-content h2{font-size:1.5rem}.slide-content p{font-size:1rem}.btn-hero{font-size:.95rem;padding:.8rem 1.5rem}.slider-btn{align-items:center;border-radius:5px;display:flex;font-size:1.3rem;height:40px;justify-content:center;padding:.6rem .9rem;width:40px}.slider-btn.prev{left:10px}.slider-btn.next{right:10px}.home-about{padding:3rem 1rem}.about-content h2{font-size:2rem}.about-content p{font-size:1rem}.about-features{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.feature-box{padding:1.5rem}.featured-products{padding:3rem 1rem}.featured-products h2{font-size:2rem}.products-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:480px){.hero-slider{height:400px}.slide-content h1{font-size:1.5rem}.slide-content h2{font-size:1.2rem}.slide-content p{font-size:.9rem;padding:0 1rem}.btn-hero{font-size:.9rem;padding:.7rem 1.2rem}.slider-btn{align-items:center;border-radius:5px;display:flex;font-size:1rem;height:35px;justify-content:center;padding:.4rem .6rem;width:35px}.slider-btn.prev{left:5px}.slider-btn.next{right:5px}.slider-dots{bottom:15px}.dot{height:8px;width:8px}.dot.active{width:20px}.home-about{padding:2rem .5rem}.about-content h2{font-size:1.5rem}.about-content p{font-size:.95rem}.about-features{gap:1rem;grid-template-columns:1fr}.feature-box{padding:1.25rem}.feature-icon{font-size:2.5rem}.feature-box h3{font-size:1.1rem}.featured-products{padding:2rem .5rem}.featured-products h2{font-size:1.5rem}.section-subtitle{font-size:.95rem}.products-grid{gap:1rem;grid-template-columns:1fr}}.products-page{margin:2rem auto;max-width:1200px;min-height:calc(100vh - 300px);padding:0 2rem}.products-page h1{font-size:2.5rem;margin-bottom:1rem;text-align:center}.products-count{color:#777;font-size:1rem;margin-bottom:2rem;text-align:center}.loading-text{color:#777;font-size:1.1rem;padding:3rem;text-align:center}.products-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-bottom:3rem}.pagination{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin:3rem 0}.pagination-btn{background:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:all .3s}.pagination-btn:hover:not(:disabled){background:#2980b9;transform:translateY(-2px)}.pagination-btn:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.pagination-numbers{align-items:center;display:flex;gap:.5rem}.pagination-numbers button{background:#fff;border:2px solid #ddd;border-radius:5px;color:#2c3e50;cursor:pointer;font-size:1rem;font-weight:500;height:40px;transition:all .3s;width:40px}.pagination-numbers button:hover{border-color:#3498db;color:#3498db;transform:scale(1.1)}.pagination-numbers button.active{background:#3498db;border-color:#3498db;color:#fff}.pagination-numbers span{color:#777;padding:0 .5rem}@media (max-width:768px){.products-page{padding:0 1rem}.products-page h1{font-size:2rem}.products-grid{gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width:480px){.products-page h1{font-size:1.5rem}.products-count{font-size:.9rem}.products-grid{gap:1rem;grid-template-columns:1fr}.pagination{gap:.5rem}.pagination-btn{font-size:.9rem;padding:.6rem 1rem}.pagination-numbers button{font-size:.9rem;height:35px;width:35px}}.product-details{margin:2rem auto;max-width:1200px;min-height:calc(100vh - 300px);padding:2rem}.product-container{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.product-image img{border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%}.product-info h1{font-size:2rem;margin-bottom:1rem}.product-info .price-section{margin:1rem 0}.product-info .unit-price{color:#27ae60;font-size:2rem;font-weight:700;margin:0}.product-info .per-unit{color:#777;font-size:1rem;font-weight:400}.product-info .total-price{background:#f8f9fa;border-left:4px solid #27ae60;border-radius:8px;color:#2c3e50;font-size:1rem;font-weight:700}.product-info .price{color:#27ae60;font-size:2rem;font-weight:700;margin:1rem 0}.product-info .description{color:#555;font-size:1.05rem;line-height:1.6;margin:1.5rem 0}.quantity-section{background:#f8f9fa;border-radius:8px;margin:2rem 0;padding:1.5rem}.quantity-section label{color:#2c3e50;display:block;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.quantity-section .quantity-selector{align-items:center;display:flex;gap:1rem}.quantity-section .qty-btn{align-items:center;background:#fff;border:2px solid #3498db;border-radius:8px;color:#3498db;cursor:pointer;display:flex;font-size:1.5rem;font-weight:700;height:45px;justify-content:center;transition:all .3s;width:45px}.quantity-section .qty-btn:hover:not(:disabled){background:#3498db;color:#fff;transform:scale(1.05)}.quantity-section .qty-btn:disabled{border-color:#ddd;color:#999;cursor:not-allowed;opacity:.4}.quantity-section input{border:2px solid #ddd;border-radius:8px;color:#2c3e50;font-size:1.3rem;font-weight:700;height:45px;text-align:center;width:80px}.quantity-section input::-webkit-inner-spin-button,.quantity-section input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.variant-selector-detail{background:#f8f9fa;border-left:4px solid #3498db;border-radius:8px;margin:2rem 0;padding:1.5rem}.variant-selector-detail label{color:#2c3e50;display:block;font-size:1.1rem;font-weight:600;margin-bottom:1rem}.variant-selector-detail select{background:#fff;border:2px solid #ddd;border-radius:8px;color:#2c3e50;cursor:pointer;font-size:1rem;padding:.75rem;transition:all .3s;width:100%}.variant-selector-detail select:hover{border-color:#3498db}.variant-selector-detail select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.product-image.out-of-stock{position:relative}.product-image.out-of-stock img{filter:grayscale(50%);opacity:.7}.product-image .stock-badge{border-radius:8px;box-shadow:0 4px 10px #0000004d;font-size:1rem;font-weight:700;padding:.75rem 1.5rem;position:absolute;right:20px;top:20px;z-index:10}.product-image .out-of-stock-badge{background:#e74c3c;color:#fff}.product-actions{display:flex;gap:1rem}.btn-add-cart,.btn-back{border:none;border-radius:5px;cursor:pointer;font-size:1rem;padding:1rem 2rem;transition:all .3s}.btn-add-cart{background:#27ae60;color:#fff;flex:1 1}.btn-add-cart:hover:not(:disabled){background:#229954}.btn-add-cart:disabled{background:#95a5a6;cursor:not-allowed;opacity:.6}.btn-back{background:#95a5a6;color:#fff}.btn-back:hover{background:#7f8c8d}@media (max-width:768px){.product-details{padding:1rem}.product-container{gap:2rem;grid-template-columns:1fr}.product-info .unit-price,.product-info h1{font-size:1.5rem}.product-info .per-unit{font-size:.9rem}.product-info .total-price{font-size:1.3rem;padding:.6rem}.product-info .price{font-size:1.5rem}.quantity-section{padding:1.25rem}.quantity-section .qty-btn{font-size:1.3rem;height:40px;width:40px}.quantity-section input{font-size:1.2rem;height:40px;width:70px}.product-actions{flex-direction:column}.btn-add-cart,.btn-back{width:100%}}@media (max-width:480px){.product-details{padding:.5rem}.product-container{gap:1.5rem}.product-info .unit-price,.product-info h1{font-size:1.3rem}.product-info .per-unit{font-size:.85rem}.product-info .total-price{font-size:1.2rem;padding:.5rem}.product-info .price{font-size:1.3rem}.product-info .description{font-size:.95rem}.quantity-section{margin:1.5rem 0;padding:1rem}.quantity-section label{font-size:1rem}.quantity-section .qty-btn{font-size:1.2rem;height:36px;width:36px}.quantity-section input{font-size:1.1rem;height:36px;width:60px}.btn-add-cart,.btn-back{font-size:.95rem;padding:.8rem 1.5rem}}.cart-page{margin:2rem auto;max-width:1200px;min-height:calc(100vh - 300px);padding:2rem}.cart-page h1{margin-bottom:2rem}.cart-empty{padding:4rem 2rem;text-align:center}.cart-empty h2{margin-bottom:2rem}.btn-shop{background:#3498db;border-radius:5px;color:#fff;display:inline-block;padding:1rem 2rem;text-decoration:none}.cart-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.cart-items{display:flex;flex-direction:column;gap:1rem}.cart-item{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;display:flex;gap:1rem;padding:1rem}.cart-item img{border-radius:5px;height:100px;object-fit:cover;width:100px}.item-details{flex:1 1}.item-details h3{margin:0 0 .5rem}.item-price{color:#27ae60;font-weight:700}.quantity-controls{align-items:center;display:flex;gap:.5rem}.quantity-controls button{background:#fff;border:1px solid #ddd;border-radius:5px;cursor:pointer;height:30px;width:30px}.quantity-controls button:hover{background:#f8f9fa}.item-total{font-size:1.2rem;font-weight:700}.btn-remove{background:#e74c3c;border:none;border-radius:5px;color:#fff;cursor:pointer;padding:.5rem 1rem}.btn-remove:hover{background:#c0392b}.cart-summary{background:#f8f9fa;border-radius:8px;height:-webkit-fit-content;height:fit-content;padding:1.5rem}.cart-summary h2{margin-top:0}.summary-row{display:flex;justify-content:space-between;margin:1rem 0}.summary-row.total{border-top:2px solid #ddd;font-size:1.3rem;font-weight:700;padding-top:1rem}.btn-checkout{background:#27ae60;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:1rem;width:100%}.btn-checkout:hover{background:#229954}@media (max-width:768px){.cart-page{padding:1rem}.cart-page h1{font-size:1.8rem}.cart-container{gap:1.5rem;grid-template-columns:1fr}.cart-item{flex-wrap:wrap;padding:.75rem}.cart-item img{height:80px;width:80px}.item-details h3{font-size:1rem}.quantity-controls{justify-content:center;margin-top:.5rem;order:4;width:100%}.item-total{order:3}.btn-remove{margin-top:.5rem;order:5;width:100%}}@media (max-width:480px){.cart-page{padding:.5rem}.cart-page h1{font-size:1.5rem}.cart-item{align-items:flex-start;flex-direction:column}.cart-item img{height:200px;margin-bottom:.5rem;width:100%}.item-details{width:100%}.item-total{margin-top:.5rem;text-align:left;width:100%}.cart-summary{padding:1rem}.cart-summary h2{font-size:1.3rem}}.checkout-page{margin:2rem auto;max-width:1200px;min-height:calc(100vh - 300px);padding:2rem}.checkout-page h1{margin-bottom:2rem}.checkout-container{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.checkout-form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.checkout-form h2{margin-top:0}.form-group input,.form-group select,.form-group textarea{background-color:#fff;border:1px solid #ddd;border-radius:5px;font-size:1rem;padding:.75rem;width:100%}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1.2em;cursor:pointer;padding-right:2.5rem}.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.btn-submit{background:#27ae60;margin-top:1rem}.btn-submit:hover{background:#229954}.field-info{color:#27ae60;display:block;font-size:.85rem;font-weight:500;margin-top:.5rem}.form-group input::placeholder,.form-group textarea::placeholder{color:#999;font-size:.95rem}.form-group input:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.order-summary{background:#f8f9fa;border-radius:8px;height:-webkit-fit-content;height:fit-content;padding:1.5rem}.order-summary h2{margin-top:0}.summary-item{border-bottom:1px solid #ddd;margin:1rem 0;padding-bottom:.5rem}.summary-item,.summary-total{display:flex;justify-content:space-between}.summary-total{border-top:2px solid #ddd;font-size:1.3rem;margin-top:1.5rem;padding-top:1rem}@media (max-width:768px){.checkout-page{padding:1rem}.checkout-page h1{font-size:1.8rem}.checkout-container{gap:1.5rem;grid-template-columns:1fr}.checkout-form{padding:1.5rem}.checkout-form h2{font-size:1.3rem}.form-row{grid-template-columns:1fr}.order-summary{padding:1rem}.order-summary h2{font-size:1.3rem}}@media (max-width:480px){.checkout-page{padding:.5rem}.checkout-page h1{font-size:1.5rem}.checkout-form{padding:1rem}.checkout-form h2{font-size:1.2rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{font-size:.95rem;padding:.6rem}.form-group select{background-size:1em;padding-right:2rem}.btn-submit{font-size:.95rem;padding:.8rem}.summary-item{font-size:.9rem}.summary-total{font-size:1.1rem}}.auth-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:2rem}.auth-container{background:#fff;border-radius:8px;box-shadow:0 5px 20px #0003;max-width:550px;padding:2rem;width:100%}.auth-container h1{color:#2c3e50;margin-bottom:1.5rem;text-align:center}.error-message{background:#fee;border-radius:5px;color:#c33;margin-bottom:1rem;padding:.75rem;text-align:center}.form-group input{border:1px solid #ddd;border-radius:5px;font-size:1rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#3498db;outline:none}.btn-submit{transition:background .3s}.btn-submit:disabled{background:#95a5a6;cursor:not-allowed}.auth-link{color:#555;margin-top:1.5rem;text-align:center}.auth-link a{color:#3498db;text-decoration:none}.auth-link a:hover{text-decoration:underline}.password-input-wrapper{align-items:center;display:flex;position:relative}.password-input-wrapper input{padding-right:45px}.password-toggle{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;padding:5px;position:absolute;right:10px;transition:opacity .3s}.password-toggle:hover{opacity:.7}.validation-hint{color:#f39c12;display:block;font-size:.85rem;margin-top:.5rem}.validation-error{color:#e74c3c}.validation-error,.validation-success{display:block;font-size:.85rem;font-weight:500;margin-top:.5rem}.validation-success{color:#27ae60}.input-error,.input-error:focus{border-color:#e74c3c!important}.input-error:focus{box-shadow:0 0 0 2px #e74c3c33}.password-requirements{background:#f8f9fa;border-left:3px solid #3498db;border-radius:5px;margin-top:.5rem;padding:.75rem}.password-requirements small{color:#666;display:block;font-size:.8rem;margin:.25rem 0}.password-requirements small:first-child{color:#2c3e50;font-weight:600;margin-bottom:.5rem}.password-requirements small.req-met{color:#27ae60;font-weight:500}.password-requirements small.req-met:before{content:"✓ "}@media (max-width:768px){.auth-page{padding:1rem}.auth-container{padding:1.5rem}.auth-container h1{font-size:1.8rem}}@media (max-width:480px){.auth-page{padding:.5rem}.auth-container{padding:1rem}.auth-container h1{font-size:1.5rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem}.form-group input{font-size:.95rem;padding:.6rem}.btn-submit{font-size:.95rem;padding:.8rem}.auth-link{font-size:.9rem}}.profile-page{margin:2rem auto;max-width:800px;min-height:calc(100vh - 300px);padding:2rem}.profile-container{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.profile-container h1{color:#2c3e50;margin-bottom:2rem;text-align:center}.profile-info{align-items:center;display:flex;flex-direction:column}.profile-avatar{margin-bottom:2rem}.avatar-circle{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:3rem;font-weight:700;height:120px;justify-content:center;width:120px}.profile-details{max-width:500px;width:100%}.detail-item{background:#f8f9fa;border-radius:5px;margin-bottom:1.5rem;padding:1rem}.detail-item label{color:#3498db;display:block;font-weight:700;margin-bottom:.5rem}.detail-item p{color:#2c3e50;font-size:1.1rem;margin:0}@media (max-width:768px){.profile-page{padding:1rem}.profile-container{padding:1.5rem}.profile-container h1{font-size:1.8rem}.avatar-circle{font-size:2.5rem;height:100px;width:100px}.profile-details{max-width:100%}}@media (max-width:480px){.profile-page{padding:.5rem}.profile-container{padding:1rem}.profile-container h1{font-size:1.5rem}.avatar-circle{font-size:2rem;height:80px;width:80px}.detail-item{margin-bottom:1rem;padding:.75rem}.detail-item label{font-size:.9rem}.detail-item p{font-size:1rem}}.about-page{margin:2rem auto;min-height:calc(100vh - 300px);padding:2rem}.about-container h1{color:#2c3e50;font-size:2.5rem;margin-bottom:2rem;text-align:center}.about-section{margin-bottom:3rem}.about-section h2{color:#3498db;margin-bottom:1rem}.about-section p{color:#555;font-size:1.1rem;line-height:1.8}.services-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:2rem}.service-card{background:#f8f9fa;border-radius:8px;padding:1.5rem;text-align:center;transition:transform .3s}.service-card:hover{box-shadow:0 5px 15px #0000001a;transform:translateY(-5px)}.service-card h3{color:#2c3e50;margin-bottom:.5rem}.service-card p{color:#666}@media (max-width:768px){.about-page{padding:1rem}.about-container h1{font-size:2rem}.about-section h2{font-size:1.5rem}.about-section p{font-size:1rem}.services-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.service-card{padding:1.25rem}}@media (max-width:480px){.about-page{padding:.5rem}.about-container h1{font-size:1.5rem}.about-section{margin-bottom:2rem}.about-section h2{font-size:1.3rem}.about-section p{font-size:.95rem}.services-grid{gap:1rem;grid-template-columns:1fr}.service-card{padding:1rem}.service-card h3{font-size:1.1rem}.service-card p{font-size:.9rem}}.contact-page{margin:2rem auto;max-width:1200px;min-height:calc(100vh - 300px);padding:2rem}.contact-container h1{color:#2c3e50;font-size:2.5rem;margin-bottom:2rem;text-align:center}.contact-content{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.contact-form-section h2,.contact-info-section h2{color:#3498db;margin-bottom:1.5rem}.success-message{background:#d4edda;border-radius:5px;color:#155724;margin-bottom:1rem;padding:1rem;text-align:center}.contact-form-section form{background:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:2rem}.form-group{margin-bottom:1.5rem}.form-group label{color:#2c3e50;display:block;font-weight:500;margin-bottom:.5rem}.form-group input,.form-group textarea{border:1px solid #ddd;border-radius:5px;font-size:1rem;padding:.75rem;width:100%}.btn-submit{background:#3498db;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:1rem;padding:1rem;width:100%}.btn-submit:hover{background:#2980b9}.contact-info-section{background:#f8f9fa;border-radius:8px;padding:2rem}.info-item{margin-bottom:2rem}.info-item h3{color:#2c3e50;margin-bottom:.5rem}.info-item p{color:#555;line-height:1.6}.map-container{border-radius:8px;margin-top:2rem;overflow:hidden}@media (max-width:768px){.contact-page{padding:1rem}.contact-container h1{font-size:2rem}.contact-content{gap:2rem;grid-template-columns:1fr}.contact-form-section form,.contact-info-section{padding:1.5rem}}@media (max-width:480px){.contact-page{padding:.5rem}.contact-container h1{font-size:1.5rem}.contact-content{gap:1.5rem}.contact-form-section h2,.contact-info-section h2{font-size:1.3rem}.contact-form-section form{padding:1rem}.form-group{margin-bottom:1rem}.form-group label{font-size:.9rem}.form-group input,.form-group textarea{font-size:.95rem;padding:.6rem}.btn-submit{font-size:.95rem;padding:.8rem}.contact-info-section{padding:1rem}.info-item h3{font-size:1rem}.info-item p{font-size:.9rem}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f9fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{display:flex;flex-direction:column;min-height:100vh}main{flex:1 1;padding-top:70px}main.no-header{padding-top:0}.error,.loading{font-size:1.2rem;padding:4rem 2rem;text-align:center}.error{color:#e74c3c}@media (max-width:768px){body{font-size:14px}.error,.loading{font-size:1.1rem;padding:3rem 1rem}}@media (max-width:480px){body{font-size:13px}.error,.loading{font-size:1rem;padding:2rem .5rem}}img{height:auto;max-width:100%}body,html{overflow-x:hidden;width:100%}@media (max-width:768px){.btn-add-cart,.btn-checkout,.btn-submit,a.btn-hero,a.btn-view,button{min-height:10px;min-width:10px}}
/*# sourceMappingURL=main.da98c1ae.css.map*/