:root{--color-primary: #008060;--color-primary-dark: #006e52;--color-primary-light: #e6f4f1;--color-text: #202223;--color-text-secondary: #6d7175;--color-text-light: #8c9196;--color-bg: #ffffff;--color-bg-secondary: #f6f6f7;--color-bg-tertiary: #f1f2f3;--color-border: #e1e3e5;--color-border-dark: #c9cccf;--color-success: #008060;--color-error: #d72c0d;--color-warning: #ffc453;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .35s ease}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-dark)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:var(--spacing-md);color:var(--color-text)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary)}.container{width:100%;max-width:1280px;margin:0 auto;padding:0 var(--spacing-lg)}.container-narrow{max-width:960px}.section{padding:var(--spacing-3xl) 0}.section-sm{padding:var(--spacing-2xl) 0}.grid{display:grid;gap:var(--spacing-lg)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:1024px){.grid-4{grid-template-columns:repeat(3,1fr)}}@media(max-width:768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{flex-direction:column}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;font-size:var(--font-size-base);font-weight:500;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-decoration:none;font-family:var(--font-family);white-space:nowrap}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-primary-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{background-color:var(--color-bg-tertiary);border-color:var(--color-border-dark)}.btn-outline{background-color:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover{background-color:var(--color-primary);color:#fff}.btn-sm{padding:.5rem 1rem;font-size:var(--font-size-sm)}.btn-lg{padding:1rem 2rem;font-size:var(--font-size-lg)}.btn:disabled{opacity:.5;cursor:not-allowed}.card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-base)}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.card-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.card-body{margin-bottom:var(--spacing-md)}.card-footer{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.form-group{margin-bottom:var(--spacing-lg)}.form-label{display:block;margin-bottom:var(--spacing-sm);font-weight:500;color:var(--color-text);font-size:var(--font-size-sm)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;font-size:var(--font-size-base);font-family:var(--font-family);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);transition:all var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-textarea{resize:vertical;min-height:100px}.form-error{color:var(--color-error);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.badge{display:inline-flex;align-items:center;justify-content:center;padding:.25rem .75rem;font-size:var(--font-size-xs);font-weight:600;border-radius:9999px;text-transform:uppercase;letter-spacing:.5px}.badge-primary{background-color:var(--color-primary-light);color:var(--color-primary-dark)}.badge-success{background-color:#e6f4f1;color:var(--color-success)}.badge-error{background-color:#fef1f0;color:var(--color-error)}.header{background-color:var(--color-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;box-shadow:var(--shadow-sm)}.header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0}.logo{font-size:var(--font-size-xl);font-weight:700;color:var(--color-text);letter-spacing:-.5px}.nav{display:flex;gap:var(--spacing-xl);align-items:center}.nav-link{color:var(--color-text-secondary);font-weight:500;font-size:var(--font-size-sm);transition:color var(--transition-fast)}.nav-link:hover,.nav-link.active{color:var(--color-primary)}.cart-icon{position:relative;cursor:pointer;padding:.5rem;transition:transform var(--transition-fast)}.cart-icon:hover{transform:scale(1.1)}.cart-badge{position:absolute;top:0;right:0;background-color:var(--color-primary);color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .4rem;border-radius:9999px;min-width:1.2rem;text-align:center}.hero{position:relative;background:linear-gradient(135deg,var(--color-primary-light) 0%,var(--color-bg-secondary) 100%);padding:var(--spacing-3xl) 0;text-align:center;overflow:hidden}.hero-content{position:relative;z-index:2;max-width:800px;margin:0 auto}.hero h1{font-size:var(--font-size-4xl);margin-bottom:var(--spacing-lg);color:var(--color-text)}.hero p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl)}.product-card{background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;transition:all var(--transition-base);cursor:pointer}.product-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}.product-image{width:100%;aspect-ratio:1;object-fit:cover;background-color:var(--color-bg-secondary);transition:transform var(--transition-slow)}.product-card:hover .product-image{transform:scale(1.05)}.product-info{padding:var(--spacing-lg)}.product-category{font-size:var(--font-size-xs);color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-xs)}.product-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-sm)}.product-price{font-size:var(--font-size-xl);font-weight:700;color:var(--color-primary)}.footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--spacing-3xl) 0 var(--spacing-xl);margin-top:var(--spacing-3xl)}.footer-content{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-2xl);margin-bottom:var(--spacing-2xl)}.footer-section h4{margin-bottom:var(--spacing-md);color:var(--color-text)}.footer-links{list-style:none}.footer-links li{margin-bottom:var(--spacing-sm)}.footer-links a{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.footer-bottom{text-align:center;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border);color:var(--color-text-light);font-size:var(--font-size-sm)}@media(max-width:768px){.footer-content{grid-template-columns:1fr;gap:var(--spacing-xl)}.nav{display:none}.hero h1{font-size:var(--font-size-2xl)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.hidden{display:none}.spinner{border:3px solid var(--color-bg-tertiary);border-top:3px solid var(--color-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-base)}.modal{background-color:var(--color-bg);border-radius:var(--radius-xl);padding:var(--spacing-2xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:slideUp var(--transition-base)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.cart-item{display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.cart-item-image{width:100px;height:100px;object-fit:cover;border-radius:var(--radius-sm)}.cart-item-details{flex:1}.cart-item-title{font-weight:600;margin-bottom:var(--spacing-xs)}.cart-item-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.quantity-controls{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-sm)}.quantity-btn{width:32px;height:32px;border:1px solid var(--color-border);background-color:var(--color-bg);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all var(--transition-fast)}.quantity-btn:hover{background-color:var(--color-bg-secondary);border-color:var(--color-primary)}.quantity-value{min-width:40px;text-align:center;font-weight:600}@keyframes bounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.bounce{animation:bounce .3s ease}
