*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color:#2ca7f8;--primary-dark:#1a8cd8;--secondary-color:#6c6cff;--background-color:#f8f9fa;--surface-color:#fff;--text-color:#333;--text-secondary:#666;--border-color:#e0e0e0;--shadow-color:rgba(0,0,0,.1);--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--discount-color:#ff4081;--card-radius:12px;--element-radius:8px;--transition-speed:0.3s}[data-theme=dark]{--primary-color:#2ca7f8;--primary-dark:#1a8cd8;--secondary-color:#8a8aff;--background-color:#1a1a1a;--surface-color:#252525;--text-color:#e0e0e0;--text-secondary:#a0a0a0;--border-color:#404040;--shadow-color:rgba(0,0,0,.3);--success-color:#4caf50;--warning-color:#ff9800;--error-color:#f44336;--discount-color:#ff4081}body{font-family:Inter,sans-serif;background-color:var(--background-color);color:var(--text-color);transition:background-color var(--transition-speed),color var(--transition-speed);line-height:1.6}#app{min-height:100vh;display:flex;flex-direction:column}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.header{background-color:var(--surface-color);box-shadow:0 2px 10px var(--shadow-color);position:sticky;top:0;z-index:100;padding:15px 0}.header .container{display:flex;justify-content:space-between;align-items:center}.logo i{margin-right:10px;font-size:1.8rem}.nav{display:flex;gap:30px}.nav-link{text-decoration:none;color:var(--text-color);font-weight:500;padding:8px 0;position:relative;transition:color var(--transition-speed)}.nav-link.active,.nav-link:hover{color:var(--primary-color)}.nav-link.active:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background-color:var(--primary-color)}.nav-link span{background-color:var(--primary-color);color:#fff;border-radius:50%;font-size:.8rem;padding:2px 6px;margin-left:5px}.header-actions{display:flex;align-items:center;gap:15px}.promo-banner{background:linear-gradient(135deg,var(--discount-color),#ff79a9);color:#fff;padding:8px 15px;border-radius:var(--element-radius);font-weight:600;font-size:.9rem;box-shadow:0 3px 10px rgba(255,64,129,.3);animation:pulse 2s infinite}@keyframes pulse{0%{box-shadow:0 3px 10px rgba(255,64,129,.3)}50%{box-shadow:0 3px 15px rgba(255,64,129,.5)}to{box-shadow:0 3px 10px rgba(255,64,129,.3)}}.theme-toggle{background:none;border:none;font-size:1.2rem;color:var(--text-color);cursor:pointer;padding:8px;border-radius:var(--element-radius);transition:background-color var(--transition-speed)}.theme-toggle:hover{background-color:var(--border-color)}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;color:var(--text-color);cursor:pointer;padding:5px}.mobile-menu{display:none;flex-direction:column;background-color:var(--surface-color);position:fixed;top:70px;left:0;width:100%;z-index:99;padding:20px;box-shadow:0 5px 10px var(--shadow-color)}.mobile-menu.active{display:flex}.mobile-nav-link{padding:15px 0;text-decoration:none;color:var(--text-color);font-weight:500;border-bottom:1px solid var(--border-color)}.mobile-nav-link:last-child{border-bottom:none}.mobile-nav-link.active{color:var(--primary-color)}.mobile-theme-toggle{margin-top:20px;padding:12px;background-color:var(--border-color);border:none;color:var(--text-color);font-weight:500;display:flex;gap:10px}.btn,.mobile-theme-toggle{border-radius:var(--element-radius);cursor:pointer;align-items:center;justify-content:center}.btn{padding:12px 24px;font-weight:600;transition:all var(--transition-speed);border:none;font-size:1rem;display:inline-flex;gap:8px}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-dark);transform:translateY(-2px);box-shadow:0 5px 15px var(--shadow-color)}.btn-primary:disabled{cursor:not-allowed}.btn-primary:disabled,.btn-primary:disabled:hover{background-color:#ccc;transform:none;box-shadow:none}.btn-outline{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color)}.btn-outline:hover{background-color:var(--primary-color);color:#fff}.btn-block{width:100%}.hero{padding:80px 0;background:linear-gradient(135deg,var(--primary-color) 0,var(--secondary-color) 100%);color:#fff;margin-bottom:60px}.hero .container{display:flex;align-items:center;justify-content:space-between;gap:40px}.hero-content{flex:1}.hero h1{font-size:3rem;margin-bottom:20px;line-height:1.2}.hero p{font-size:1.2rem;margin-bottom:30px;opacity:.9}.hero-image{flex:1;text-align:center}.hero-image img{width:100%;max-width:500px;border-radius:var(--card-radius);box-shadow:0 15px 30px rgba(0,0,0,.2)}.section-title{font-size:2.5rem;margin-bottom:15px;text-align:center}.section-subtitle{font-size:1.1rem;color:var(--text-secondary);text-align:center;margin-bottom:40px}.about-section,.cart-section,.products-section{padding:60px 0}.products-filter{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;margin-bottom:40px}.filter-btn{padding:10px 20px;background-color:transparent;border:2px solid var(--border-color);border-radius:30px;color:var(--text-color);font-weight:500;cursor:pointer;transition:all var(--transition-speed)}.filter-btn.active,.filter-btn:hover{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.products-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:30px;margin-bottom:60px}.product-card{background-color:var(--surface-color);border-radius:var(--card-radius);overflow:hidden;box-shadow:0 5px 15px var(--shadow-color);transition:transform var(--transition-speed);position:relative}.product-card:hover{transform:translateY(-10px)}.product-badge{position:absolute;top:15px;left:15px;z-index:2}.discount-badge{background-color:var(--discount-color);color:#fff;padding:5px 12px;border-radius:20px;font-size:.9rem;font-weight:700;display:flex;align-items:center;gap:5px;box-shadow:0 3px 8px rgba(0,0,0,.2)}.product-image{width:100%;height:200px;-o-object-fit:cover;object-fit:cover}.product-info{padding:20px}.product-name{font-size:1.3rem;font-weight:600;margin-bottom:10px}.product-description{color:var(--text-secondary);font-size:.95rem;margin-bottom:15px;line-height:1.5}.product-pricing{margin-bottom:15px;min-height:50px}.original-price{text-decoration:line-through;color:var(--text-secondary);font-size:.95rem;margin-bottom:3px}.discounted-price,.product-price{font-size:1.5rem;font-weight:700;color:var(--primary-color);line-height:1.2}.product-price{margin-bottom:10px}.product-stock{display:flex;align-items:center;gap:5px;margin-bottom:15px;font-size:.9rem}.stock-badge{padding:4px 10px;border-radius:20px;font-size:.8rem;font-weight:600}.stock-in{background-color:rgba(76,175,80,.1);color:var(--success-color);border:1px solid rgba(76,175,80,.3)}.stock-low{background-color:rgba(255,152,0,.1);color:var(--warning-color);border:1px solid rgba(255,152,0,.3)}.stock-out{background-color:rgba(244,67,54,.1);color:var(--error-color);border:1px solid rgba(244,67,54,.3)}.variant-selector{margin-bottom:15px}.variant-selector label{display:block;margin-bottom:8px;font-weight:500}.variant-buttons{display:flex;flex-wrap:wrap;gap:8px}.variant-btn{padding:8px 15px;background-color:transparent;border:1px solid var(--border-color);border-radius:var(--element-radius);color:var(--text-color);cursor:pointer;transition:all var(--transition-speed);position:relative}.variant-btn:hover:not(:disabled){border-color:var(--primary-color);color:var(--primary-color)}.variant-btn.active{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff}.variant-btn:disabled{opacity:.5;cursor:not-allowed;position:relative;overflow:hidden}.variant-btn:disabled:after{content:"Habis";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--error-color);color:#fff;font-size:.7rem;padding:2px 5px;border-radius:3px;font-weight:600}.stock-info{font-size:.7rem;position:absolute;bottom:-8px;right:2px;background:#fff;padding:0 4px;color:var(--text-secondary)}.variant-btn:disabled .stock-info{color:var(--error-color)}.add-to-cart-btn{width:100%;padding:12px;margin-top:5px}.cart-container{display:grid;grid-template-columns:2fr 1fr;gap:30px}.cart-items{background-color:var(--surface-color);border-radius:var(--card-radius);padding:25px;box-shadow:0 5px 15px var(--shadow-color)}.empty-cart{text-align:center;padding:50px 20px}.empty-cart i{font-size:4rem;color:var(--border-color);margin-bottom:20px}.empty-cart p{font-size:1.2rem;margin-bottom:25px;color:var(--text-secondary)}.cart-item{display:flex;padding:20px 0;border-bottom:1px solid var(--border-color)}.cart-item:last-child{border-bottom:none}.cart-item-image{width:100px;height:100px;-o-object-fit:cover;object-fit:cover;border-radius:var(--element-radius);margin-right:20px}.cart-item-details{flex:1}.cart-item-name{font-size:1.2rem;font-weight:600;margin-bottom:8px}.cart-item-variant{color:var(--text-secondary);margin-bottom:10px}.cart-item-pricing{margin-bottom:15px}.cart-item-price{font-weight:700;color:var(--primary-color)}.cart-item-original-price{text-decoration:line-through;color:var(--text-secondary);font-size:.9rem;margin-left:8px}.cart-item-discount{background-color:var(--discount-color);color:#fff;padding:2px 6px;border-radius:4px;font-size:.8rem;margin-left:8px;font-weight:600}.cart-item-actions{display:flex;align-items:center;gap:15px}.quantity-control{display:flex;align-items:center;gap:10px}.quantity-btn{width:30px;height:30px;border-radius:50%;background-color:var(--border-color);border:none;color:var(--text-color);cursor:pointer;display:flex;align-items:center;justify-content:center}.quantity-btn:disabled{opacity:.5;cursor:not-allowed}.quantity{font-weight:600;min-width:30px;text-align:center}.remove-item{background:none;border:none;color:var(--error-color);cursor:pointer;font-weight:500;padding:5px 10px;border-radius:var(--element-radius)}.remove-item:hover{background-color:rgba(244,67,54,.1)}.cart-summary{background-color:var(--surface-color);border-radius:var(--card-radius);padding:25px;box-shadow:0 5px 15px var(--shadow-color);height:-moz-fit-content;height:fit-content;position:sticky;top:100px}.cart-summary h3{font-size:1.5rem;margin-bottom:20px;padding-bottom:15px;border-bottom:1px solid var(--border-color)}.summary-item{display:flex;justify-content:space-between;margin-bottom:15px}.summary-item.discount{color:var(--discount-color)}.summary-item.total{font-size:1.3rem;font-weight:700;margin-top:20px;padding-top:20px;border-top:1px solid var(--border-color)}.about-content{display:flex;align-items:center;gap:50px}.about-text{flex:1}.about-text p{margin-bottom:20px;font-size:1.1rem}.features{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}.feature{display:flex;align-items:center;gap:10px;background-color:var(--surface-color);padding:15px;border-radius:var(--element-radius);box-shadow:0 3px 10px var(--shadow-color);flex:1;min-width:150px}.feature i{font-size:1.5rem;color:var(--primary-color)}.about-image{flex:1;text-align:center}.about-image img{width:100%;max-width:500px;border-radius:var(--card-radius);box-shadow:0 10px 25px var(--shadow-color)}.footer{background-color:var(--surface-color);padding:50px 0 20px;margin-top:auto;box-shadow:0 -5px 15px var(--shadow-color)}.footer-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px;flex-wrap:wrap;gap:40px}.footer-logo i{margin-right:10px;font-size:1.8rem}.footer-info p{margin-bottom:10px;display:flex;align-items:center;gap:10px}.footer-info i{color:var(--primary-color);width:20px}.footer-social{display:flex;gap:15px}.footer-social a{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background-color:var(--border-color);border-radius:50%;color:var(--text-color);text-decoration:none;font-size:1.2rem;transition:all var(--transition-speed)}.footer-social a:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-3px)}.footer-bottom{text-align:center;padding-top:20px;border-top:1px solid var(--border-color);color:var(--text-secondary)}.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.7);z-index:1000;align-items:center;justify-content:center;padding:20px}.modal.active{display:flex}.modal-content{background-color:var(--surface-color);border-radius:var(--card-radius);width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.3)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:25px;border-bottom:1px solid var(--border-color)}.modal-header h3{font-size:1.8rem}.modal-close{background:none;border:none;font-size:2rem;color:var(--text-color);cursor:pointer;line-height:1}.modal-body{padding:25px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:12px 15px;border:1px solid var(--border-color);border-radius:var(--element-radius);background-color:var(--background-color);color:var(--text-color);font-family:Inter,sans-serif;font-size:1rem;transition:border-color var(--transition-speed)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color)}.order-summary{margin:30px 0;padding:20px;background-color:var(--background-color);border-radius:var(--element-radius)}.order-summary h4{margin-bottom:15px;padding-bottom:10px;border-bottom:1px solid var(--border-color)}.order-item{display:flex;justify-content:space-between;margin-bottom:10px}.order-item:last-child{margin-bottom:0}.payment-methods{margin-top:20px}.payment-category{margin-bottom:25px}.payment-category h4{font-size:1.1rem;margin-bottom:15px;color:var(--text-color);padding-bottom:8px;border-bottom:1px solid var(--border-color)}.payment-options{display:flex;flex-direction:column;gap:12px}.payment-option{display:block;cursor:pointer}.payment-option input[type=radio]{display:none}.payment-card{display:flex;align-items:center;padding:15px;background-color:var(--surface-color);border:2px solid var(--border-color);border-radius:var(--element-radius);transition:all var(--transition-speed)}.payment-card:hover{border-color:var(--primary-color);transform:translateY(-2px)}.payment-option input[type=radio]:checked+.payment-card{border-color:var(--primary-color);background-color:rgba(44,167,248,.1);box-shadow:0 5px 15px var(--shadow-color)}.payment-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background-color:var(--primary-color);color:#fff;border-radius:8px;margin-right:15px;font-size:1.2rem}.payment-info{flex:1;display:flex;flex-direction:column}.payment-name{font-weight:600;font-size:1rem;margin-bottom:4px}.payment-desc{font-size:.9rem;color:var(--text-secondary)}.modal-body .form-group{margin-bottom:25px}.form-actions{display:flex;gap:15px}.notification{position:fixed;bottom:20px;right:20px;background-color:var(--success-color);color:#fff;padding:15px 25px;border-radius:var(--element-radius);box-shadow:0 5px 15px rgba(0,0,0,.2);transform:translateY(100px);opacity:0;transition:transform .4s,opacity .4s;z-index:1001}.notification.active{transform:translateY(0);opacity:1}.notification.warning{background-color:var(--warning-color)}.notification.error{background-color:var(--error-color)}.payment-method-display{padding-top:15px;border-top:2px dashed var(--border-color);margin-top:15px}@media (max-width:992px){.hero .container{text-align:center}.about-content,.hero .container{flex-direction:column}.cart-container{grid-template-columns:1fr}.cart-summary{position:static}}@media (max-width:768px){.header-actions .btn-outline,.nav{display:none}.mobile-menu-btn{display:block}.hero h1{font-size:2.2rem}.section-title{font-size:2rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.footer-content{align-items:center;text-align:center}.footer-content,.form-actions{flex-direction:column}.promo-banner{display:none}}@media (max-width:576px){.products-grid{grid-template-columns:1fr}.cart-item{flex-direction:column}.cart-item-image{width:100%;height:200px;margin-right:0;margin-bottom:15px}.features{flex-direction:column}.products-filter{justify-content:flex-start;overflow-x:auto;padding-bottom:10px}}.logo{display:flex;align-items:center;font-size:1.5rem;font-weight:700;color:var(--primary-color)}.logo-image{width:40px;height:40px;margin-right:10px;-o-object-fit:contain;object-fit:contain}.footer-logo{display:flex;align-items:center;font-size:1.5rem;font-weight:700;color:var(--primary-color)}