.modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100vw;height:100vh;overflow:auto;background-color:#00000080;justify-content:center;align-items:center}.modal.show{display:flex}.modal-content{background:#fff;margin:auto;padding:2rem;border-radius:10px;max-width:500px;width:90vw;position:relative;box-shadow:0 4px 16px #0003;animation:fadeIn .2s}.close-modal{position:absolute;top:1rem;right:1rem;font-size:2rem;color:#888;cursor:pointer}#modalProductDetails img{max-width:100%;margin-bottom:1rem}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}:root{--font-body: Arial, Helvetica, sans-serif;--font-headline: Haettenschweiler, "Arial Narrow Bold", sans-serif;--primary-color: #f0a868;--secondary-color: #525b0f;--tertiary-color: #8a470c;--light-grey: #d0d0d0;--dark-grey: #303030;--font-base: 18px;--small-font: .8em;--large-font: 1.2em}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--font-base);color:var(--dark-grey)}img{max-width:100%}header{display:flex;justify-content:space-between;padding:.5rem}p{padding:.75rem}.logo{line-height:60px;width:245px;overflow:hidden;display:flex;font-size:30px;text-align:right;font-family:var(--font-headline)}.logo img{width:60px;height:60px}.logo a{text-decoration:none;color:var(--font-body)}.hero{position:relative}.hero .logo{position:absolute;left:calc(50% - 60px);bottom:-15px;background-color:#fff}.logo--square{font-size:var(--small-font);width:110px;height:80px;flex-direction:column;align-items:flex-end;box-shadow:1px 1px 4px var(--light-grey);justify-content:center;align-items:center;line-height:1}.logo--square img{width:90px;height:90px;margin-top:-1.3em}.logo--square>div{margin-top:-1.7em}.highlight{color:var(--tertiary-color)}button{padding:.5em 2em;background-color:var(--secondary-color);color:#fff;margin:auto;display:block;border:0;font-size:var(--large-font);cursor:pointer}.divider{border-bottom:2px solid var(--primary-color)}.cart{padding-top:1em;position:relative;text-align:center}.cart svg{width:25px}.cart:hover svg{fill:gray}.mission{position:absolute;top:1rem;left:0;right:0;line-height:1.3;width:100%;background-color:var(--dark-grey);color:var(--light-grey);opacity:.8}.mission p{margin:0 auto;width:50%;text-align:center}.categories{padding:2rem 1rem;text-align:center}.categories h2{font-family:var(--font-headline);font-size:2rem;margin-bottom:2rem;color:var(--secondary-color)}.category-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;list-style:none;max-width:1200px;margin:0 auto}.category-list li{transition:transform .3s ease}.category-list li:hover{transform:translateY(-5px)}.category-list a{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem 1rem;background:#fff;border-radius:12px;text-decoration:none;color:var(--dark-grey);box-shadow:0 4px 6px #0000001a;transition:all .3s ease;min-height:240px}.category-list a:hover{box-shadow:0 8px 12px #00000026;transform:translateY(-2px)}.category-list img{width:120px;height:120px;margin-bottom:1rem;object-fit:contain;transition:transform .3s ease;padding:1rem;background:#fff;border-radius:8px;flex-shrink:0}.category-list a:hover img{transform:scale(1.05)}.category-list span{font-size:1.2rem;font-weight:700;font-family:var(--font-headline);text-transform:uppercase;letter-spacing:1px;text-align:center;line-height:1.2;min-height:2.4em;display:flex;align-items:center;justify-content:center}.products{margin-top:2rem;padding:1rem}.product-list{display:flex;flex-flow:row wrap;list-style-type:none;justify-content:center}.loading-message,.error-message{width:100%;text-align:center;padding:2rem;font-size:1.1rem;color:var(--dark-grey)}.loading-message{color:var(--secondary-color)}.error-message{color:#c00}.product-list a{text-decoration:none;color:var(--dark-grey)}.product-card{flex:1 1 45%;margin:.25em;padding:.5em;border:1px solid var(--light-grey);max-width:250px}.product-card h2,.product-card h3,.product-card p{margin:.5em 0}.card__brand{font-size:var(--small-font)}.card__name{font-size:1em}.quick-view-btn{width:100%;padding:.5em;margin-top:.5em;background-color:var(--primary-color);color:var(--dark-grey);border:none;border-radius:4px;cursor:pointer;font-size:.9em;transition:background-color .2s}.quick-view-btn:hover{background-color:var(--tertiary-color);color:#fff}.product-detail{padding:1em;max-width:500px;margin:auto}.product-detail img{width:100%}.cart-card{display:grid;grid-template-columns:25% auto 15% 50px;font-size:var(--small-font);align-items:center;gap:.5rem;position:relative}.cart-card__image{grid-row:1/3;grid-column:1}.cart-card p{margin-top:0}.cart-card .card__name{grid-row:1;grid-column:2}.cart-card__color{grid-row:2;grid-column:2}.cart-card__quantity{grid-row:1;grid-column:3}.cart-card__price{grid-row:2;grid-column:3}.cart-card__remove{grid-row:1/3;grid-column:4;background:#dc3545;border:none;border-radius:8px;padding:.5rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;height:40px;width:40px}.cart-card__remove svg{width:20px;height:20px;color:#fff}.cart-card__remove:hover{background:#c82333;transform:scale(1.1)}.cart-card__remove:active{transform:scale(.95)}@media screen and (min-width:500px){body{max-width:1080px;margin:auto}.mission{font-size:1.2em}.cart-card{font-size:inherit;grid-template-columns:150px auto 15%}}.search-container{margin:2rem 0;padding:0 1rem}.search-wrapper{position:relative;max-width:600px;margin:0 auto;display:flex;align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a,0 1px 3px #00000014;transition:all .3s ease;border:2px solid transparent}.search-wrapper:focus-within{box-shadow:0 8px 16px #f0a8684d,0 2px 6px #f0a86833;border-color:var(--primary-color);transform:translateY(-2px)}.search-icon{position:absolute;left:16px;width:20px;height:20px;color:var(--tertiary-color);pointer-events:none;transition:color .3s ease}.search-wrapper:focus-within .search-icon{color:var(--primary-color)}.search-input{width:100%;padding:14px 50px;border:none;border-radius:12px;font-size:16px;font-family:var(--font-body);color:var(--dark-grey);background:transparent;outline:none;transition:all .3s ease}.search-input::placeholder{color:#999;font-style:italic}.clear-search{position:absolute;right:12px;width:28px;height:28px;border:none;background:#f0a8681a;border-radius:50%;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;transition:all .2s ease}.clear-search:hover{background:#f0a86833;transform:scale(1.1)}.clear-search:active{transform:scale(.95)}.clear-search svg{width:14px;height:14px;color:var(--tertiary-color)}.clear-search.active{display:flex}.search-results{text-align:center;margin-top:1rem;font-size:.95em;color:var(--secondary-color);font-weight:500;padding:.5rem;background:linear-gradient(135deg,#f0a8681a,#525b0f0d);border-radius:8px;display:none}.search-results.active{display:block;animation:fadeIn .3s ease}.no-results{text-align:center;padding:3rem 2rem;margin:2rem auto;max-width:500px;background:linear-gradient(135deg,#f0a8680d,#525b0f0d);border-radius:16px;border:2px dashed var(--light-grey)}.no-results-icon{width:60px;height:60px;color:var(--tertiary-color);opacity:.5;margin:0 auto 1.5rem;display:block}.no-results h3{color:var(--tertiary-color);font-size:1.5em;margin-bottom:.5rem;font-family:var(--font-headline)}.no-results p{color:var(--dark-grey);opacity:.7;line-height:1.6;max-width:400px;margin:0 auto}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.product-list{transition:opacity .3s ease}.product-list.filtering{opacity:.5}@media screen and (max-width:768px){.search-container{padding:0 .5rem}.search-input{font-size:14px;padding:12px 45px}.search-icon{left:12px;width:18px;height:18px}.no-results{padding:2rem 1rem}.no-results h3{font-size:1.3em}}.checkout__form{display:grid;grid-template-columns:1fr;gap:.5rem;margin-bottom:1rem}.checkout__form label{margin-top:.5rem;font-weight:700}.checkout__form input{padding:.5rem;border:1px solid var(--light-grey);border-radius:4px;font-size:1rem}fieldset{border:1px solid var(--light-grey);border-radius:4px;padding:1rem;margin-bottom:1rem}legend{padding:0 .5rem;font-weight:700;color:var(--secondary-color)}.checkout-summary ul{list-style:none;padding:0}.checkout-summary li{display:flex;justify-content:space-between;margin-bottom:.5rem;padding:.5rem 0;border-bottom:1px solid var(--light-grey)}.checkout-summary li:last-child{border-bottom:none;font-size:1.2em;margin-top:1rem;border-top:2px solid var(--primary-color)}#checkoutSubmit{width:100%;margin-top:1rem;padding:1rem;font-size:1.2rem}@media screen and (min-width:500px){.checkout__form{grid-template-columns:1fr 1fr;align-items:center}.checkout__form label{margin-top:0}.checkout__form input{grid-column:2}}.cart-footer{margin-top:2em;padding:1em;border-top:2px solid var(--primary-color);display:flex;justify-content:space-between;align-items:center}.cart-footer.hide{display:none}.cart-total{font-size:1.5em;font-weight:700;color:var(--dark-grey)}.checkout-btn{padding:.8em 2em;background-color:var(--secondary-color);color:#fff;text-decoration:none;border-radius:4px;font-size:1.2em;transition:background-color .3s}.checkout-btn:hover{background-color:var(--tertiary-color)}.alert{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;padding:1rem;margin-bottom:1rem;position:relative;display:flex;justify-content:space-between;align-items:center;animation:slideDown .3s ease}.alert p{margin:0;padding:0;flex-grow:1}.alert.success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.close-alert{cursor:pointer;font-weight:700;font-size:1.5rem;line-height:1;color:inherit;opacity:.5;transition:opacity .2s;padding:0 .5rem}.close-alert:hover{opacity:1}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.success-message{text-align:center;padding:3rem 2rem;max-width:600px;margin:2rem auto;background:linear-gradient(135deg,#d4edda4d,#c3e6cb4d);border-radius:16px;border:2px solid #c3e6cb}.success-message h2{color:#155724;font-size:2.5rem;margin-bottom:1rem;font-family:var(--font-headline)}.success-message p{color:var(--dark-grey);font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.success-actions{margin-top:2rem}.success-actions .button{display:inline-block;padding:.8em 2em;background-color:var(--secondary-color);color:#fff;text-decoration:none;border-radius:4px;font-size:1.2em;transition:background-color .3s}.success-actions .button:hover{background-color:var(--tertiary-color)}
