*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#faf8f5;--bg2:#f0ece4;--surface:#fff;--border:#0000001a;--text:#1a1208;--muted:#6b6354;--accent:#c8481a;--green:#2a5c3f;--shadow:0 2px 16px #00000014;--radius:12px;--font-head:"Playfair Display", serif;--font-body:"DM Sans", sans-serif}body{font-family:var(--font-body);background:var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.main-content{min-height:calc(100vh - 64px)}.btn{width:100%;font-family:var(--font-body);cursor:pointer;text-align:center;border:none;border-radius:8px;padding:9px 16px;font-size:.875rem;font-weight:600;transition:all .2s;display:block}.btn-primary{background:var(--text);color:#fff}.btn-primary:hover{background:var(--accent)}.btn-outline{color:var(--text);border:1.5px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent)}.btn-large{padding:13px 20px;font-size:1rem}.error-banner{color:var(--accent);background:#fdf0ee;border:1px solid #f5c2b8;border-radius:8px;align-items:flex-start;gap:10px;margin:1.5rem 2rem;padding:1rem 1.5rem;font-size:.9rem;display:flex}.error-banner strong{margin-bottom:4px;display:block}.page-loader{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:5rem;display:flex}.spinner{border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:36px;height:36px;animation:.8s linear infinite spin}.skeleton{background:linear-gradient(90deg, var(--bg2) 25%, var(--surface) 50%, var(--bg2) 75%);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);overflow:hidden}.skeleton-img{height:200px;display:block}.skeleton-body{padding:1rem}.skeleton-line{border-radius:4px;width:100%;height:12px;margin-bottom:10px}.empty-state{text-align:center;color:var(--muted);padding:5rem 2rem}.empty-icon{margin-bottom:1rem;font-size:3rem}.empty-state h3{font-family:var(--font-head);color:var(--text);margin-bottom:.5rem;font-size:1.5rem}.header{background:var(--surface);border-bottom:1px solid var(--border);z-index:100;justify-content:space-between;align-items:center;height:64px;padding:0 2rem;display:flex;position:sticky;top:0}.logo{font-family:var(--font-head);color:var(--text);letter-spacing:-.5px;font-size:1.5rem;font-weight:700}.logo-accent{color:var(--accent)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-link{color:var(--muted);font-size:.875rem;font-weight:500;transition:color .2s;position:relative}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-4px;left:0;right:0}.cart-icon-btn{background:var(--text);color:#fff;font-family:var(--font-body);cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 18px;font-size:.875rem;font-weight:500;transition:background .2s;display:flex;position:relative}.cart-icon-btn:hover{background:var(--accent)}.cart-badge{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:.7rem;font-weight:700;display:flex}.product-list-page{padding-bottom:3rem}.search-bar-wrap{background:var(--surface);border-bottom:1px solid var(--border);align-items:center;gap:.75rem;padding:1.25rem 2rem;display:flex;position:relative}.search-input{border:1.5px solid var(--border);width:100%;font-family:var(--font-body);background:var(--bg);color:var(--text);border-radius:50px;outline:none;flex:1;padding:10px 20px;font-size:.9rem;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.search-input::placeholder{color:var(--muted)}.clear-search{border:1px solid var(--border);cursor:pointer;width:32px;height:32px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;font-size:.8rem;transition:all .2s}.clear-search:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.products-header{justify-content:space-between;align-items:baseline;padding:1.75rem 2rem .75rem;display:flex}.section-title{font-family:var(--font-head);font-size:1.8rem;font-weight:700}.products-count{color:var(--muted);font-size:.85rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;padding:1rem 2rem 2rem;display:grid}.product-card{background:var(--surface);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.product-card-link{display:block}.product-img{aspect-ratio:1;object-fit:contain;background:var(--bg2);width:100%;padding:1rem;display:block}.product-info{flex:1;padding:1rem}.product-category{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:4px;font-size:.7rem;font-weight:600}.product-title{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:.9rem;font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.product-rating{color:var(--muted);align-items:center;gap:5px;margin-bottom:6px;font-size:.8rem;display:flex}.stars{color:#e4a11b}.rating-num{color:var(--muted)}.product-price{font-family:var(--font-head);color:var(--accent);font-size:1.2rem;font-weight:700}.product-card-footer{padding:0 1rem 1rem}.detail-page{max-width:960px;margin:0 auto;padding:2rem}.back-btn{cursor:pointer;font-family:var(--font-body);color:var(--muted);background:0 0;border:none;align-items:center;gap:6px;margin-bottom:1.5rem;padding:0;font-size:.9rem;transition:color .2s;display:inline-flex}.back-btn:hover{color:var(--text)}.detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.detail-img-wrap{background:var(--bg2);border-radius:var(--radius);aspect-ratio:1;justify-content:center;align-items:center;padding:2rem;display:flex}.detail-img{object-fit:contain;max-width:100%;max-height:100%}.detail-loading{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:1rem;padding:4rem;display:flex}.detail-category{text-transform:uppercase;letter-spacing:1px;color:var(--accent);margin-bottom:8px;font-size:.75rem;font-weight:600}.detail-title{font-family:var(--font-head);margin-bottom:12px;font-size:1.8rem;font-weight:700;line-height:1.2}.detail-price{font-family:var(--font-head);color:var(--accent);margin-bottom:16px;font-size:2rem;font-weight:700}.detail-desc{color:var(--muted);margin-bottom:1.25rem;font-size:.9rem;line-height:1.7}.detail-stats{background:var(--bg2);border-radius:8px;flex-wrap:wrap;gap:1.5rem;margin-bottom:1.5rem;padding:1rem;display:flex}.stat-item{text-align:center}.stat-label{text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:2px;font-size:.7rem;font-weight:600}.stat-value{color:var(--text);font-size:.95rem;font-weight:600}.stat-value.stars-col{color:#e4a11b}.stat-value.green{color:var(--green)}.cart-page{max-width:960px;margin:0 auto;padding:2rem}.page-title{font-family:var(--font-head);margin-bottom:1.5rem;font-size:2rem;font-weight:700}.cart-layout{grid-template-columns:1fr 300px;align-items:start;gap:2rem;display:grid}.cart-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;transition:box-shadow .2s;display:flex}.cart-item:hover{box-shadow:var(--shadow)}.cart-item-img{object-fit:contain;background:var(--bg2);border-radius:8px;flex-shrink:0;width:80px;height:80px;padding:8px}.cart-item-info{flex:1;min-width:0}.cart-item-title{line-clamp:2;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:4px;font-size:.9rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.cart-item-price{font-family:var(--font-head);color:var(--accent);margin-bottom:8px;font-size:1.05rem;font-weight:700}.qty-controls{align-items:center;gap:8px;display:flex}.qty-btn{border:1.5px solid var(--border);background:var(--bg2);cursor:pointer;width:28px;height:28px;color:var(--text);border-radius:50%;justify-content:center;align-items:center;font-size:1rem;transition:all .2s;display:flex}.qty-btn:hover{background:var(--text);color:#fff;border-color:var(--text)}.qty-btn:disabled{opacity:.35;cursor:not-allowed}.qty-num{text-align:center;min-width:24px;font-size:.95rem;font-weight:600}.item-subtotal{color:var(--muted);margin-left:4px;font-size:.8rem}.remove-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;flex-shrink:0;padding:4px;font-size:1.1rem;transition:color .2s}.remove-btn:hover{color:var(--accent)}.order-summary{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;position:sticky;top:80px}.summary-title{font-family:var(--font-head);border-bottom:1px solid var(--border);margin-bottom:1rem;padding-bottom:1rem;font-size:1.1rem;font-weight:700}.summary-row{color:var(--muted);justify-content:space-between;margin-bottom:8px;font-size:.875rem;display:flex}.free-tag{color:var(--green);font-weight:600}.summary-total{border-top:1px solid var(--border);color:var(--text);justify-content:space-between;margin-top:1rem;padding-top:1rem;font-size:1.05rem;font-weight:700;display:flex}.checkout-btn{background:var(--text);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;text-align:center;border:none;border-radius:10px;margin-top:1rem;padding:13px;font-size:.95rem;font-weight:600;transition:background .2s;display:block}.checkout-btn:hover{background:var(--accent)}.checkout-page{max-width:860px;margin:0 auto;padding:2rem}.checkout-grid{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.form-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem}.form-title{font-family:var(--font-head);border-bottom:1px solid var(--border);margin-bottom:1.25rem;padding-bottom:.75rem;font-size:1rem;font-weight:700}.form-group{margin-bottom:1rem}.form-label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:.75rem;font-weight:600;display:block}.form-input{border:1.5px solid var(--border);width:100%;font-family:var(--font-body);background:var(--bg);color:var(--text);border-radius:8px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.form-input:focus{border-color:var(--accent)}.form-row{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.place-order-btn{background:var(--green);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;letter-spacing:.3px;border:none;border-radius:10px;margin-top:1.5rem;padding:14px;font-size:1rem;font-weight:700;transition:filter .2s}.place-order-btn:hover{filter:brightness(1.1)}.checkout-summary-item{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 0;font-size:.85rem;display:flex}.checkout-summary-item:last-of-type{border-bottom:none}.checkout-item-img{object-fit:contain;background:var(--bg2);border-radius:6px;flex-shrink:0;width:44px;height:44px;padding:4px}.checkout-item-name{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;flex:1;line-height:1.3;display:-webkit-box;overflow:hidden}.checkout-item-subtotal{color:var(--accent);flex-shrink:0;font-weight:600}.order-success{text-align:center;padding:5rem 2rem;animation:.5s fadeInUp}.success-icon{width:80px;height:80px;color:var(--green);background:#e8f5ee;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 1.5rem;font-size:2.5rem;font-weight:700;display:flex}.success-title{font-family:var(--font-head);color:var(--green);margin-bottom:.75rem;font-size:2rem;font-weight:700}.success-msg{color:var(--muted);max-width:420px;margin:0 auto;font-size:1rem;line-height:1.7}.notfound-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:70vh;padding:4rem 2rem;display:flex}.notfound-code{font-family:var(--font-head);color:var(--bg2);text-shadow:0 2px 0 var(--border);margin-bottom:0;font-size:7rem;font-weight:700;line-height:1}.notfound-title{font-family:var(--font-head);margin-bottom:.75rem;font-size:2rem;font-weight:700}.notfound-msg{color:var(--muted);max-width:420px;margin-bottom:1.5rem;font-size:1rem;line-height:1.7}.notfound-details{background:var(--surface);border:1px solid var(--border);text-align:left;color:var(--muted);border-radius:8px;margin-bottom:2rem;padding:1rem 1.5rem;font-size:.875rem;line-height:1.8}.notfound-details code{background:var(--bg2);color:var(--accent);border-radius:4px;padding:1px 8px;font-size:.85rem}.notfound-details strong{color:var(--text)}.notfound-actions{gap:1rem;display:flex}.notfound-actions .btn{width:auto;padding:11px 28px}.toast-overlay{z-index:1000;animation:.4s ease-out slideUpAmazon;position:fixed;bottom:30px;left:50%;transform:translate(-50%)}@keyframes slideInDown{0%{opacity:0;transform:translate(-50%,-100px)}to{opacity:1;transform:translate(-50%,-50%)}}.toast-message{background:var(--green);color:#fff;border-radius:10px;align-items:center;gap:10px;padding:14px 20px;font-size:.95rem;font-weight:500;animation:.3s ease-in 2.7s forwards fadeOut;display:flex;box-shadow:0 4px 20px #2a5c3f40}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.toast-icon{font-size:1.2rem;font-weight:700}@media (width<=768px){.cart-layout,.checkout-grid,.detail-grid{grid-template-columns:1fr}.products-grid{grid-template-columns:repeat(2,1fr);gap:1rem}.header{padding:0 1rem}.search-bar-wrap,.products-header,.products-grid{padding-left:1rem;padding-right:1rem}}@media (width<=480px){.nav-links{display:none}.products-grid{grid-template-columns:1fr}.logo{font-size:1.2rem}.section-title{font-size:1.4rem}.notfound-code{font-size:5rem}.detail-stats{flex-direction:column}.form-row{grid-template-columns:1fr}}.auth-page{background:var(--bg);justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:2rem;display:flex}.auth-form{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;width:100%;max-width:400px;padding:2.5rem;animation:.4s fadeInUp;display:flex}.auth-form h1{font-family:var(--font-head);text-align:center;margin-bottom:1.5rem;font-size:1.8rem;font-weight:700}.auth-form label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;margin-top:1rem;margin-bottom:6px;font-size:.75rem;font-weight:600}.auth-form label:first-of-type{margin-top:0}.auth-form input{border:1.5px solid var(--border);width:100%;font-family:var(--font-body);background:var(--bg);color:var(--text);border-radius:8px;outline:none;padding:10px 14px;font-size:.9rem;transition:border-color .2s}.auth-form input:focus{border-color:var(--accent)}.auth-form button{margin-top:1.75rem}.auth-form p{text-align:center;color:var(--muted);margin-top:1.25rem;font-size:.85rem}.auth-form p a{color:var(--accent);font-weight:600}.auth-form p a:hover{text-decoration:underline}.auth-form .error-banner{margin:0 0 1rem;padding:.75rem 1rem}
