:root{--color-primary:#2d6a4f;--color-primary-dark:#1b4332;--color-primary-light:#40916c;--color-accent:#95d5b2;--color-bg:#f8faf9;--color-surface:#fff;--color-text:#1a1a2e;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-danger:#dc2626;--radius:12px;--shadow:0 1px 3px #00000014, 0 4px 12px #0000000a;--shadow-lg:0 4px 24px #0000001a;--font:"Segoe UI", system-ui, -apple-system, sans-serif}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.6}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}.text-center{text-align:center}.btn{border-radius:var(--radius);justify-content:center;align-items:center;gap:.5rem;padding:.625rem 1.25rem;font-size:.9375rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{border:2px solid var(--color-primary);color:var(--color-primary);background:0 0}.btn-outline:hover{background:var(--color-primary);color:#fff}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.btn-block{width:100%}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:.75rem;height:auto;min-height:72px;padding:.5rem 0;display:flex}.logo{flex-shrink:1;align-items:center;gap:.5rem;min-width:0;font-size:1.125rem;font-weight:700;display:flex}.logo-text-short{display:none}.logo-text-full{display:inline}.logo-icon{font-size:1.5rem}.logo-accent{color:var(--color-primary)}.nav{gap:2rem;display:flex}.nav-link{color:var(--color-text-muted);font-weight:500;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--color-primary)}.cart-btn{min-width:44px;min-height:44px;color:var(--color-text);flex-shrink:0;justify-content:center;align-items:center;padding:.5rem;transition:color .2s;display:inline-flex;position:relative}.cart-btn:hover{color:var(--color-primary)}.header-actions{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.auth-links{align-items:center;gap:.5rem;display:flex}.btn-auth{white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;min-height:44px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;line-height:1.2;transition:all .2s;display:inline-flex}.btn-auth-label-short{display:none}.btn-auth-outline.active{color:var(--color-primary);border-color:var(--color-primary);background:#2d6a4f14}.btn-auth-outline{color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-auth-outline:hover{color:var(--color-primary);border-color:var(--color-primary)}.btn-auth-primary{background:var(--color-primary);color:#fff}.btn-auth-primary:hover{background:var(--color-primary-dark)}.user-menu{align-items:center;gap:.5rem;display:flex}.user-greeting{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-size:.875rem;font-weight:500;overflow:hidden}.btn-logout{min-height:44px;color:var(--color-text-muted);border:1px solid var(--color-border);background:0 0}.btn-logout:hover{color:var(--color-danger);background:#dc262614}.cart-badge{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:.6875rem;font-weight:700;display:flex;position:absolute;top:0;right:0}.main{min-height:calc(100vh - 272px)}.hero{background:linear-gradient(135deg, var(--color-primary-dark) 0%, var(--color-primary) 50%, var(--color-primary-light) 100%);color:#fff;padding:5rem 0}.hero-content{flex-direction:column;gap:3rem;display:flex}.hero-badge{background:#ffffff26;border-radius:999px;margin-bottom:1rem;padding:.375rem 1rem;font-size:.875rem;font-weight:500;display:inline-block}.hero-text h1{margin-bottom:1rem;font-size:clamp(2.5rem,5vw,3.5rem);line-height:1.15}.hero-text p{opacity:.9;max-width:540px;margin-bottom:2rem;font-size:1.125rem}.hero-actions{flex-wrap:wrap;gap:1rem;display:flex}.hero-actions .btn-outline{color:#fff;border-color:#fff}.hero-actions .btn-outline:hover{color:var(--color-primary);background:#fff}.hero-stats{flex-wrap:wrap;gap:3rem;display:flex}.stat{flex-direction:column;display:flex}.stat strong{font-size:2rem;font-weight:700}.stat span{opacity:.8;font-size:.875rem}.section{padding:4rem 0}.section-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.section-header h2{font-size:1.75rem}.link-arrow{color:var(--color-primary);font-weight:600}.link-arrow:hover{text-decoration:underline}.product-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem;display:grid}.product-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.product-image-link{aspect-ratio:1;display:block;position:relative;overflow:hidden}.product-image{object-fit:cover;width:100%;height:100%;transition:transform .3s}.product-card:hover .product-image{transform:scale(1.05)}.out-of-stock-badge{background:var(--color-danger);color:#fff;border-radius:999px;padding:.25rem .625rem;font-size:.75rem;font-weight:600;position:absolute;top:.75rem;right:.75rem}.product-info{flex-direction:column;gap:.375rem;padding:1.25rem;display:flex}.product-category{color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.product-name{font-size:1.0625rem;font-weight:600;transition:color .2s}.product-name:hover{color:var(--color-primary)}.product-price{color:var(--color-primary-dark);margin-bottom:.5rem;font-size:1.125rem;font-weight:700}.features-section{background:var(--color-surface)}.features-section h2{margin-bottom:2.5rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:2rem;display:grid}.feature{text-align:center;padding:1.5rem}.feature-icon{margin-bottom:1rem;font-size:2.5rem;display:block}.feature h3{margin-bottom:.5rem}.feature p{color:var(--color-text-muted);font-size:.9375rem}.shop-page{padding:3rem 0}.page-header{margin-bottom:2rem}.page-header h1{margin-bottom:.25rem;font-size:2rem}.page-header p{color:var(--color-text-muted)}.shop-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.category-filters{flex-wrap:wrap;gap:.5rem;display:flex}.filter-btn{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:999px;padding:.5rem 1rem;font-size:.875rem;font-weight:500;transition:all .2s}.filter-btn:hover,.filter-btn.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.search-input{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);min-width:240px;padding:.625rem 1rem;font-size:.9375rem}.search-input:focus{outline:2px solid var(--color-accent);border-color:var(--color-primary)}.product-detail{padding:3rem 0}.back-link{color:var(--color-text-muted);margin-bottom:2rem;font-weight:500;display:inline-block}.back-link:hover{color:var(--color-primary)}.product-detail-grid{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.product-detail-image{border-radius:var(--radius);background:var(--color-surface);box-shadow:var(--shadow);position:relative;overflow:hidden}.product-detail-image img{aspect-ratio:1;object-fit:cover;width:100%}.product-detail-info h1{margin:.5rem 0;font-size:2rem}.product-detail-price{color:var(--color-primary-dark);margin-bottom:1rem;font-size:1.75rem;font-weight:700}.product-detail-desc{color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.7}.benefits{margin-bottom:2rem}.benefits h3{margin-bottom:.75rem;font-size:1rem}.benefits ul{flex-wrap:wrap;gap:.5rem;list-style:none;display:flex}.benefits li{background:var(--color-accent);color:var(--color-primary-dark);border-radius:999px;padding:.375rem .875rem;font-size:.875rem;font-weight:500}.product-specs{margin-bottom:2rem}.product-specs h3{margin-bottom:.75rem;font-size:1rem}.product-specs table{border-collapse:collapse;width:100%;font-size:.875rem}.product-specs td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:.5rem .75rem}.product-specs td:first-child{color:var(--color-text-muted);white-space:nowrap;width:40%;font-weight:600}.quantity-selector{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.quantity-controls{border:1px solid var(--color-border);border-radius:var(--radius);align-items:center;gap:.75rem;padding:.25rem;display:flex}.quantity-controls button{background:var(--color-bg);border-radius:8px;width:36px;height:36px;font-size:1.125rem;font-weight:600;transition:background .2s}.quantity-controls button:hover{background:var(--color-accent)}.quantity-controls span{text-align:center;min-width:2rem;font-weight:600}.cart-page{padding:3rem 0}.cart-page h1{margin-bottom:2rem}.cart-layout{grid-template-columns:1fr 360px;align-items:start;gap:2rem;display:grid}.cart-items{flex-direction:column;gap:1rem;display:flex}.cart-item{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:80px 1fr auto auto auto;align-items:center;gap:1rem;padding:1rem;display:grid}.cart-item-image{object-fit:cover;border-radius:8px;width:80px;height:80px}.cart-item-info h3{margin-bottom:.25rem;font-size:1rem}.cart-item-info h3:hover{color:var(--color-primary)}.cart-item-price{color:var(--color-text-muted);font-size:.875rem}.cart-item-total{white-space:nowrap;font-weight:700}.remove-btn{color:var(--color-text-muted);padding:.25rem;font-size:1.125rem;transition:color .2s}.remove-btn:hover{color:var(--color-danger)}.cart-summary{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem;position:sticky;top:96px}.cart-summary h2{margin-bottom:1.25rem;font-size:1.25rem}.summary-row{justify-content:space-between;padding:.625rem 0;font-size:.9375rem;display:flex}.summary-total{border-top:2px solid var(--color-border);margin-top:.5rem;padding-top:1rem;font-size:1.125rem;font-weight:700}.free-shipping-note{color:var(--color-primary);background:#2d6a4f14;border-radius:8px;margin:1rem 0;padding:.75rem;font-size:.8125rem}.continue-shopping{text-align:center;color:var(--color-text-muted);margin-top:1rem;font-size:.875rem;display:block}.continue-shopping:hover{color:var(--color-primary)}.checkout-page{padding:3rem 0}.checkout-page h1{margin-bottom:2rem}.checkout-layout{grid-template-columns:1fr 360px;align-items:start;gap:2rem;display:grid}.checkout-form{flex-direction:column;gap:2rem;display:flex}.checkout-form section{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.checkout-form h2{margin-bottom:1.25rem;font-size:1.125rem}.form-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.form-group{flex-direction:column;gap:.375rem;margin-bottom:1rem;display:flex}.form-group:last-child{margin-bottom:0}.form-group label{font-size:.875rem;font-weight:500}.form-group input,.form-group textarea{border:1px solid var(--color-border);border-radius:8px;padding:.625rem .875rem;font-family:inherit;font-size:.9375rem}.form-group input:focus,.form-group textarea:focus{outline:2px solid var(--color-accent);border-color:var(--color-primary)}.checkout-item{border-bottom:1px solid var(--color-border);grid-template-columns:48px 1fr auto;align-items:center;gap:.75rem;padding:.75rem 0;font-size:.875rem;display:grid}.checkout-item img{object-fit:cover;border-radius:6px;width:48px;height:48px}.checkout-item span:last-child{font-weight:600}.empty-state{text-align:center;padding:5rem 0}.empty-cart,.order-success{flex-direction:column;align-items:center;gap:1rem;display:flex}.empty-icon{font-size:4rem}.success-icon{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;font-size:2rem;font-weight:700;display:flex}.auth-page{justify-content:center;align-items:center;min-height:calc(100vh - 272px);padding:3rem 1.5rem;display:flex}.auth-card{background:var(--color-surface);border-radius:var(--radius);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:2.5rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-icon{margin-bottom:.75rem;font-size:2.5rem;display:block}.auth-header h1{margin-bottom:.375rem;font-size:1.75rem}.auth-header p{color:var(--color-text-muted);font-size:.9375rem}.auth-error{color:var(--color-danger);text-align:center;background:#dc262614;border-radius:8px;margin-bottom:1.25rem;padding:.75rem 1rem;font-size:.875rem}.auth-form{flex-direction:column;gap:.25rem;display:flex}.auth-footer{text-align:center;color:var(--color-text-muted);margin-top:1.5rem;font-size:.9375rem}.auth-footer a{color:var(--color-primary);font-weight:600}.auth-footer a:hover{text-decoration:underline}.orders-page{padding:3rem 0}.orders-list{flex-direction:column;gap:1.5rem;display:flex}.order-card{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.order-card-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.25rem 1.5rem;display:flex}.order-id{font-size:1rem;font-weight:700;display:block}.order-date{color:var(--color-text-muted);margin-top:.25rem;font-size:.8125rem;display:block}.order-status{white-space:nowrap;border-radius:999px;padding:.375rem .875rem;font-size:.8125rem;font-weight:600}.status-pending{color:#a16207;background:#eab30826}.status-processing{color:#1d4ed8;background:#3b82f626}.status-shipped{color:var(--color-primary-dark);background:#2d6a4f26}.status-delivered{color:#15803d;background:#22c55e26}.order-items{flex-direction:column;gap:.75rem;padding:1rem 1.5rem;display:flex}.order-item{grid-template-columns:56px 1fr auto;align-items:center;gap:1rem;display:grid}.order-item img{object-fit:cover;border-radius:8px;width:56px;height:56px}.order-item-info{flex-direction:column;gap:.25rem;display:flex}.order-item-info a{font-size:.9375rem;font-weight:600}.order-item-info a:hover{color:var(--color-primary)}.order-item-info span{color:var(--color-text-muted);font-size:.8125rem}.order-item-price{white-space:nowrap;font-weight:600}.order-card-footer{background:var(--color-bg);border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.order-address{color:var(--color-text-muted);max-width:60%;font-size:.875rem}.order-total{font-size:1rem}.order-total strong{color:var(--color-primary-dark)}.footer{background:var(--color-primary-dark);color:#ffffffd9;margin-top:4rem}.footer-inner{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;padding:3rem 1.5rem;display:grid}.footer-brand{flex-direction:column;gap:.5rem;display:flex}.footer-brand .logo-icon{font-size:2rem}.footer-tagline{opacity:.7;font-size:.875rem}.footer-links{flex-direction:column;gap:.5rem;display:flex}.footer-links h4{color:#fff;margin-bottom:.5rem}.footer-links a:hover{color:var(--color-accent)}.footer-bottom{text-align:center;opacity:.6;border-top:1px solid #ffffff1a;padding:1.25rem 0;font-size:.875rem}.auth-form .form-group input{font-size:16px}.auth-form .btn{min-height:48px}@media (width<=768px){.container{padding:0 1rem}.nav,.user-greeting,.logo-text-full{display:none}.logo-text-short{color:var(--color-primary);display:inline}.header-actions,.auth-links,.user-menu{gap:.375rem}.btn-auth{min-height:44px;padding:.5rem .75rem;font-size:.8125rem}.btn-auth-label-full{display:none}.btn-auth-label-short{display:inline}.auth-page{align-items:flex-start;padding:1.5rem 1rem}.auth-card{padding:1.5rem}.auth-header h1{font-size:1.5rem}.product-detail-grid,.cart-layout,.checkout-layout{grid-template-columns:1fr}.cart-item{grid-template-rows:auto auto;grid-template-columns:64px 1fr}.cart-item .quantity-controls,.cart-item-total,.remove-btn{grid-column:2}.form-row{grid-template-columns:1fr}.hero-stats{gap:1.5rem}}@media (width<=380px){.btn-auth{padding:.5rem .625rem;font-size:.75rem}.logo-icon{font-size:1.25rem}}
