@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Instrument+Serif:ital@0;1&display=swap";:root{--brand:#d52b1e;--brand-dark:#b91c1c;--brand-light:#fee2e2;--teal:#0d9488;--dark:#111827;--gray-900:#1f2937;--gray-700:#374151;--gray-500:#6b7280;--gray-300:#d1d5db;--gray-100:#f3f4f6;--gray-50:#f9fafb;--white:#fff;--success:#059669;--warning:#d97706;--danger:#dc2626;--radius:10px;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 10px 30px #0000001a}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--gray-50);color:var(--dark);min-height:100vh;font-family:Plus Jakarta Sans,system-ui,Segoe UI,sans-serif}#root{text-align:left;border:none;flex-direction:column;width:100%;max-width:100%;min-height:100vh;margin:0;display:flex}.topbar{background:var(--dark);color:#fff;text-align:center;letter-spacing:.5px;padding:6px 0;font-size:12px}.topbar span{opacity:.7}nav.main-nav{background:var(--white);border-bottom:1px solid var(--gray-300);z-index:100;height:64px;box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:0 40px;display:flex;position:sticky;top:0}.nav-logo{color:var(--brand);cursor:pointer;align-items:center;gap:8px;font-family:Instrument Serif,serif;font-size:28px;text-decoration:none;display:flex}.nav-logo .dot{background:var(--brand);border-radius:50%;width:8px;height:8px}.nav-links{align-items:center;gap:28px;display:flex}.nav-links a,.nav-links span{color:var(--gray-700);cursor:pointer;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links span:hover{color:var(--brand)}.nav-links a.active,.nav-links span.active{color:var(--brand);font-weight:600}.nav-cart-btn{background:var(--gray-100);border:1px solid var(--gray-300);border-radius:var(--radius);cursor:pointer;align-items:center;gap:8px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:flex;position:relative}.nav-cart-btn:hover{border-color:var(--brand);color:var(--brand)}.cart-badge{background:var(--brand);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px}.nav-user{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--brand-light);width:34px;height:34px;color:var(--brand);border-radius:50%;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.user-name{color:var(--gray-700);font-size:13px;font-weight:600}.logout-btn{color:var(--gray-500);cursor:pointer;background:0 0;border:none;font-family:inherit;font-size:12px;text-decoration:underline}.breadcrumb-bar{background:var(--white);border-bottom:1px solid var(--gray-100);padding:12px 40px}.breadcrumb{align-items:center;gap:8px;font-size:13px;display:flex}.breadcrumb a,.breadcrumb span{color:var(--gray-500);cursor:pointer;text-decoration:none}.breadcrumb a:hover{color:var(--brand)}.breadcrumb .sep{color:var(--gray-300)}.breadcrumb .current{color:var(--dark);cursor:default;font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-fade-in{animation:.3s forwards fadeIn}.container{max-width:1100px;margin:0 auto;padding:32px 40px}.btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:11px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--brand);color:#fff}.btn-primary:hover{background:var(--brand-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-outline{border:1.5px solid var(--gray-300);color:var(--gray-700);background:0 0}.btn-outline:hover{border-color:var(--brand);color:var(--brand)}.btn-success{background:var(--success);color:#fff}.btn-success:hover{background:#047857}.btn-full{width:100%}.btn-sm{padding:8px 16px;font-size:13px}.btn-lg{padding:14px 32px;font-size:16px}.form-group{margin-bottom:18px}.form-group label{color:var(--gray-700);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input,.form-group select,.form-group textarea{border:1.5px solid var(--gray-300);background:var(--white);border-radius:8px;width:100%;padding:10px 14px;font-family:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #d52b1e14}.form-group .error-text{color:var(--danger);margin-top:4px;font-size:12px;display:none}.form-group.has-error input{border-color:var(--danger)}.form-group.has-error .error-text{display:block}.alert{border-radius:8px;align-items:center;gap:8px;margin-bottom:16px;padding:12px 16px;font-size:13px;font-weight:500;display:flex}.alert-danger{background:var(--brand-light);color:var(--danger);border:1px solid #fecaca}.alert-success{color:var(--success);background:#d1fae5;border:1px solid #a7f3d0}.toast-container{z-index:9999;flex-direction:column;gap:8px;display:flex;position:fixed;top:80px;right:24px}.toast{background:var(--dark);color:#fff;border-radius:var(--radius);box-shadow:var(--shadow-lg);align-items:center;gap:10px;min-width:280px;padding:14px 20px;font-size:14px;font-weight:500;animation:.3s toastIn,.3s 2.5s forwards toastOut;display:flex}.toast-success{border-left:4px solid var(--success)}.toast-error{border-left:4px solid var(--danger)}@keyframes toastIn{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes toastOut{0%{opacity:1}to{opacity:0;transform:translate(40px)}}.login-page{min-height:calc(100vh - 64px);display:flex}.login-left{background:linear-gradient(135deg, var(--dark), #1e293b);color:#fff;flex-direction:column;flex:1;justify-content:center;padding:60px;display:flex;position:relative;overflow:hidden}.login-left:before{content:"";background:radial-gradient(circle,#d52b1e26,#0000 60%);border-radius:50%;width:400px;height:400px;position:absolute;top:-100px;right:-100px}.login-left h1{margin-bottom:16px;font-family:Instrument Serif,serif;font-size:48px;line-height:1.1}.login-left h1 em{color:var(--brand);font-style:italic}.login-left p{color:#fff9;max-width:400px;font-size:16px;line-height:1.6}.login-right{background:var(--white);flex:0 0 480px;justify-content:center;align-items:center;padding:40px;display:flex}.login-form{width:100%;max-width:380px}.login-form h2{margin-bottom:6px;font-size:24px;font-weight:700}.login-form .subtitle{color:var(--gray-500);margin-bottom:28px;font-size:14px}.form-footer{text-align:center;color:var(--gray-500);margin-top:20px;font-size:13px}.form-footer a{color:var(--brand);cursor:pointer;font-weight:600;text-decoration:none}.search-hero{background:linear-gradient(135deg, var(--dark), #1e293b);padding:36px 40px}.search-hero-inner{align-items:center;gap:20px;max-width:1100px;margin:0 auto;display:flex}.search-hero h2{color:#fff;flex-shrink:0;font-family:Instrument Serif,serif;font-size:28px}.search-wrapper{flex:1;position:relative}.search-wrapper input{border-radius:var(--radius);color:#fff;background:#ffffff14;border:2px solid #ffffff26;width:100%;padding:12px 18px 12px 44px;font-family:inherit;font-size:15px;transition:all .2s}.search-wrapper input::placeholder{color:#fff6}.search-wrapper input:focus{border-color:var(--brand);background:#ffffff1f;outline:none}.search-wrapper .search-icon{color:#fff6;font-size:18px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-filters{flex-wrap:wrap;align-items:center;gap:12px;max-width:1100px;margin:0 auto;padding:16px 40px;display:flex}.filter-chip{border:1px solid var(--gray-300);background:var(--white);color:var(--gray-700);cursor:pointer;border-radius:20px;padding:6px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.filter-chip:hover,.filter-chip.active{background:var(--brand);color:#fff;border-color:var(--brand)}.product-grid{grid-template-columns:repeat(3,1fr);gap:24px;padding:24px 0;display:grid}.product-card{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-100);cursor:pointer;transition:all .25s;position:relative;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-lg);border-color:var(--gray-300);transform:translateY(-4px)}.card-img{background:var(--gray-100);justify-content:center;align-items:center;height:200px;font-size:64px;display:flex;position:relative}.card-badge{background:var(--brand);color:#fff;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:700;position:absolute;top:12px;left:12px}.card-body{padding:16px}.card-category{color:var(--teal);text-transform:uppercase;letter-spacing:1px;margin-bottom:4px;font-size:11px;font-weight:600}.card-title{color:var(--dark);margin-bottom:6px;font-size:16px;font-weight:700;line-height:1.3}.card-rating{color:var(--gray-500);align-items:center;gap:4px;margin-bottom:8px;font-size:13px;display:flex}.card-rating .stars{color:#f59e0b}.card-footer{justify-content:space-between;align-items:center;display:flex}.card-price{color:var(--dark);font-size:20px;font-weight:800}.card-price .original{color:var(--gray-500);margin-left:6px;font-size:14px;font-weight:400;text-decoration:line-through}.no-results{text-align:center;padding:60px 20px}.no-results h2{color:var(--gray-700);margin-bottom:8px;font-size:20px}.no-results p{color:var(--gray-500);font-size:14px}.detail-grid{grid-template-columns:1fr 1fr;gap:48px;padding:32px 0;display:grid}.detail-image{background:var(--gray-100);border-radius:var(--radius);justify-content:center;align-items:center;height:420px;font-size:120px;display:flex;position:relative}.detail-badge{background:var(--brand);color:#fff;border-radius:6px;padding:6px 14px;font-size:12px;font-weight:700;position:absolute;top:16px;left:16px}.detail-thumbnails{gap:10px;margin-top:12px;display:flex}.detail-thumbnails .thumb{background:var(--gray-100);border:2px solid var(--gray-300);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:72px;height:72px;font-size:28px;transition:border-color .2s;display:flex}.detail-thumbnails .thumb:hover,.detail-thumbnails .thumb.active{border-color:var(--brand)}.product-title{margin-bottom:8px;font-size:28px;font-weight:800;line-height:1.2}.product-meta{color:var(--gray-500);align-items:center;gap:16px;margin-bottom:16px;font-size:14px;display:flex}.product-meta .rating-stars{color:#f59e0b}.product-price-display{color:var(--brand);margin-bottom:4px;font-size:32px;font-weight:800}.original-price{color:var(--gray-500);margin-left:8px;font-size:18px;font-weight:400;text-decoration:line-through}.product-savings{color:var(--success);margin-bottom:20px;font-size:13px;font-weight:600}.product-desc{color:var(--gray-700);margin-bottom:24px;font-size:14px;line-height:1.7}.qty-selector{align-items:center;gap:4px;margin-bottom:20px;display:flex}.qty-selector label{color:var(--gray-700);margin-right:8px;font-size:13px;font-weight:600}.qty-selector button{border:1px solid var(--gray-300);background:var(--white);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-family:inherit;font-size:18px;transition:all .2s;display:flex}.qty-selector button:hover{border-color:var(--brand);color:var(--brand)}.qty-val{text-align:center;width:48px;font-size:16px;font-weight:700}.detail-actions{gap:12px;margin-bottom:24px;display:flex}.detail-specs{border-top:1px solid var(--gray-100);padding-top:20px}.detail-specs h3{margin-bottom:12px;font-size:15px;font-weight:700}.spec-row{border-bottom:1px solid var(--gray-100);padding:8px 0;font-size:13px;display:flex}.spec-label{width:140px;color:var(--gray-500);font-weight:500}.spec-value{color:var(--dark);font-weight:600}.cart-layout{grid-template-columns:1fr 360px;gap:32px;padding:32px 0;display:grid}.cart-items{background:var(--gray-100);border-radius:var(--radius);flex-direction:column;gap:1px;display:flex;overflow:hidden}.cart-item-row{background:var(--white);align-items:center;gap:20px;padding:20px;transition:background .2s;display:flex}.cart-item-row:hover{background:var(--gray-50)}.cart-item-img{background:var(--gray-100);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:80px;height:80px;font-size:36px;display:flex}.cart-item-info{flex:1}.item-name{color:var(--dark);margin-bottom:2px;font-size:15px;font-weight:700}.item-sku{color:var(--gray-500);font-size:12px}.cart-item-qty{align-items:center;gap:6px;display:flex}.cart-item-qty button{border:1px solid var(--gray-300);background:var(--white);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;font-family:inherit;font-size:14px;display:flex}.cart-item-qty button:hover{border-color:var(--brand);color:var(--brand)}.cart-item-qty .qty{text-align:center;width:32px;font-size:14px;font-weight:700}.cart-item-price{color:var(--dark);text-align:right;width:80px;font-size:16px;font-weight:800}.cart-item-remove{color:var(--gray-500);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;transition:color .2s}.cart-item-remove:hover{color:var(--danger)}.cart-summary{background:var(--white);border-radius:var(--radius);border:1px solid var(--gray-100);height:fit-content;padding:24px;position:sticky;top:80px}.cart-summary h3{border-bottom:1px solid var(--gray-100);margin-bottom:20px;padding-bottom:16px;font-size:18px;font-weight:700}.summary-row{justify-content:space-between;margin-bottom:12px;font-size:14px;display:flex}.summary-row .label{color:var(--gray-500)}.summary-row .value{font-weight:600}.summary-row.total{border-top:2px solid var(--gray-100);margin-top:16px;padding-top:16px;font-size:18px;font-weight:800}.summary-row.total .label{color:var(--dark)}.summary-row.savings{color:var(--success);font-weight:600}.promo-input{gap:8px;margin:16px 0;display:flex}.promo-input input{border:1.5px solid var(--gray-300);border-radius:8px;flex:1;padding:10px 14px;font-family:inherit;font-size:13px}.empty-cart{text-align:center;padding:80px 20px}.empty-cart h2{margin-bottom:8px;font-size:20px}.empty-cart p{color:var(--gray-500);margin-bottom:20px}.reg-container{max-width:640px;margin:0 auto;padding:40px}.reg-container h2{margin-bottom:6px;font-size:26px;font-weight:800}.reg-subtitle{color:var(--gray-500);margin-bottom:32px;font-size:14px}.reg-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.reg-grid .full-span{grid-column:1/-1}.reg-section-title{color:var(--gray-700);border-bottom:1px solid var(--gray-100);grid-column:1/-1;margin-top:8px;margin-bottom:12px;padding:12px 0 8px;font-size:14px;font-weight:700}.password-strength{background:var(--gray-100);border-radius:2px;height:4px;margin-top:6px;overflow:hidden}.password-strength .bar{border-radius:2px;width:0;height:100%;transition:width .3s,background .3s}.terms-check{color:var(--gray-700);grid-column:1/-1;align-items:flex-start;gap:10px;margin:8px 0;font-size:13px;display:flex}.terms-check input[type=checkbox]{accent-color:var(--brand);margin-top:2px}.tab-bar{border-bottom:2px solid var(--gray-100);margin-bottom:20px;display:flex}.tab-bar .tab{color:var(--gray-500);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 20px;font-family:inherit;font-size:14px;font-weight:600;transition:all .2s}.tab-bar .tab:hover{color:var(--dark)}.tab-bar .tab.active{color:var(--brand);border-bottom-color:var(--brand)}.review-card{border-bottom:1px solid var(--gray-100);padding:20px 0}.review-header{align-items:center;gap:12px;margin-bottom:8px;display:flex}.review-avatar{background:var(--gray-100);width:36px;height:36px;color:var(--gray-500);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.review-name{font-size:14px;font-weight:600}.review-date{color:var(--gray-500);font-size:12px}.review-stars{color:#f59e0b;margin-bottom:6px;font-size:13px}.review-text{color:var(--gray-700);font-size:14px;line-height:1.6}.related-section{border-top:1px solid var(--gray-100);margin-top:40px;padding-top:32px}.related-section h2{margin-bottom:20px;font-size:20px;font-weight:700}.related-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}
