: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}button:hover{background-color:var(--tertiary-color);transform:scale(1.05)}.divider{border-bottom:2px solid var(--primary-color);margin-bottom:1em;margin-top:.5em}.cart{padding-top:1em;position:relative;text-align:center}.cart svg{width:25px}.cart:hover svg{fill:gray}.cart-count{position:absolute;top:.5em;right:-.3em;background-color:var(--secondary-color);color:#fff;border-radius:50%;width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:.75em;font-weight:700;line-height:1;z-index:10;min-width:18px;transition:all .2s ease}.cart-count.hidden{opacity:0;transform:scale(.8);pointer-events:none}.cart-count.updating{animation:cartBounce .3s ease}@keyframes cartBounce{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.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}.products{margin-top:2rem;padding:1rem}.product-list{display:flex;flex-flow:row wrap;list-style-type:none;justify-content:center}.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:1.5em 0}.card__brand{font-size:var(--small-font)}.card__name{font-size:1em}.product-detail{padding:1em;max-width:600px;margin:auto}.product-detail img{width:100%}.cart-card{display:grid;grid-template-columns:25% auto 15%;font-size:var(--small-font);align-items:center}.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}.checkout-section{margin:.5em 0;padding:1em}@media screen and (max-width: 499px){.checkout-section{margin:1em 0;padding:1.5em .5em}}.checkout{display:flex;flex-direction:column;align-items:center;text-align:center}@media screen and (min-width: 600px){.checkout{flex-direction:row;justify-content:space-between;align-items:center}}.checkout h3{color:var(--dark-grey);margin-bottom:1em}@media screen and (min-width: 600px){.checkout h3{text-align:left;margin-bottom:0}}.checkout-btn{padding:.5em 2em;margin-top:1em;background-color:var(--secondary-color);color:#fff;text-decoration:none;border-radius:4px;font-size:var(--large-font);font-weight:700;display:inline-block;transition:all .3s ease;cursor:pointer}.checkout-btn:hover{background-color:var(--tertiary-color);transform:scale(1.05)}@media screen and (min-width: 600px){.checkout-btn{margin-top:0;align-self:center}}@media screen and (max-width: 499px){.checkout-btn{width:80%;text-align:center}}.checkout-container{display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;padding:1rem}@media screen and (min-width: 768px){.checkout-container{flex-direction:row;gap:3rem}}.order-summary{background:var(--light-grey);padding:1.5rem;border-radius:8px;border:2px solid var(--primary-color);height:fit-content}.order-summary h2{margin-bottom:1rem;color:var(--dark-grey);text-align:center}@media screen and (min-width: 768px){.order-summary{flex:0 0 300px;order:2}}.summary-item{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid #ccc}.summary-item.total{font-weight:700;font-size:1.1em;border-top:2px solid var(--primary-color);border-bottom:none;margin-top:.5rem;padding-top:1rem}@media screen and (min-width: 768px){.checkout-section{flex:1;order:1}}.checkout-section h2{margin-bottom:1.5rem;color:var(--dark-grey)}#checkout-form fieldset{border:1px solid var(--light-grey);border-radius:6px;padding:1.5rem;margin-bottom:1.5rem}#checkout-form fieldset legend{font-weight:700;color:var(--secondary-color);padding:0 .5rem}#checkout-form .form-group{margin-bottom:1rem}#checkout-form .form-group label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--dark-grey)}#checkout-form .form-group input{width:100%;padding:.75rem;border:1px solid #ccc;border-radius:4px;font-size:1rem;transition:border-color .3s ease}#checkout-form .form-group input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #f0a86833}#checkout-form .form-group input:invalid{border-color:#e74c3c}#checkout-form .form-group input:valid{border-color:#27ae60}#checkout-form .form-row{display:flex;gap:1rem}#checkout-form .form-row .form-group{flex:1}@media screen and (max-width: 499px){#checkout-form .form-row{flex-direction:column;gap:0}}#checkout-form .checkout-btn{width:100%;padding:1rem 2rem;margin-top:1.5rem;background-color:var(--secondary-color);color:#fff;border:none;border-radius:6px;font-size:var(--large-font);font-weight:700;cursor:pointer;transition:all .3s ease}#checkout-form .checkout-btn:hover{background-color:var(--tertiary-color);transform:translateY(-2px)}#checkout-form .checkout-btn:disabled{background-color:#ccc;cursor:not-allowed;transform:none}@media screen and (min-width: 600px){body{max-width:1080px;margin:auto}.mission{font-size:1.2em}.cart-card{font-size:inherit;grid-template-columns:150px auto 15%}}.product-category{margin:2rem 0;padding:1rem 0}.product-category h2{text-align:center;margin-bottom:2rem;margin-bottom:1.5rem;font-size:1.5rem;color:var(--dark-grey, #222)}.category-list{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;list-style:none;padding:0;margin:0 auto;max-width:1200px}.category-card{background:#fff;border:1px solid var(--light-grey, #e0e0e0);padding:1.5rem 1rem;width:200px;display:flex;flex-direction:column;align-items:center;transition:border-color .2s,background .2s}.category-card:hover,.category-card:focus-within{border-color:var(--primary, #2a7ae4);background:var(--lightest-grey, #f7f9fa)}.category-card__image{display:flex;justify-content:center;align-items:center;margin-bottom:1rem}.category-card__image img{width:80px;height:80px;object-fit:contain;margin-bottom:1rem}.category-card__name{font-size:1.1rem;color:var(--dark-grey, #222);text-align:center;margin:.5rem 0 0;font-weight:600}.category-card a{text-decoration:none;color:inherit}@media (max-width: 900px){.category-list{gap:1.2rem}.category-card{width:160px;padding:1rem .5rem}.category-card__image img{width:80px;height:60px}}@media (max-width: 600px){.category-list{flex-direction:column;align-items:center;gap:1rem}.category-card{width:60vw;max-width:150px}.category-card__image img{width:60px;height:60px}}.newsletter-signup{background:var(--light-grey);padding:2rem;margin:2rem auto;max-width:500px;text-align:center;border-radius:8px;border:2px solid var(--primary-color);box-shadow:0 2px 8px #0000001a}.newsletter-signup h2{margin-bottom:.5rem;color:var(--dark-grey);font-family:var(--font-headline)}.newsletter-signup p{margin-bottom:1rem;color:var(--dark-grey);padding:0}.newsletter-signup form{display:flex;gap:.5rem;justify-content:center}@media (max-width: 499px){.newsletter-signup form{flex-direction:column;gap:1rem}}.newsletter-signup input{flex:1;padding:.75rem;border:1px solid var(--light-grey);border-radius:4px;font-size:var(--font-base);color:var(--dark-grey)}.newsletter-signup input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px #f0a86833}@media (max-width: 499px){.newsletter-signup input{width:100%}}.newsletter-signup button{background-color:var(--secondary-color);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-size:var(--font-base);font-weight:700;transition:all .3s ease}.newsletter-signup button:hover{background-color:var(--tertiary-color);transform:scale(1.05)}@media (max-width: 499px){.newsletter-signup button{width:100%}}#newsletterMessage{margin-top:1rem;font-size:var(--small-font);color:var(--dark-grey)}#newsletterMessage.success{color:var(--tertiary-color)}#newsletterMessage.error{color:#e74c3c}.hide{display:none}.cart-footer{margin-top:2rem;padding:1rem;background:var(--light-grey);border-top:1px solid #ddd;text-align:right;font-size:var(--large-font);font-weight:medium}footer{font-size:var(--small-font);padding:1em}.success-main{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.success-container{max-width:800px;width:100%;background:#fff;border-radius:16px;box-shadow:0 20px 40px #0000001a;overflow:hidden;animation:slideUp .6s ease-out;@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}}.success-icon{text-align:center;padding:3rem 2rem 1rem;background:linear-gradient(135deg,var(--primary-color),var(--tertiary-color));@keyframes checkmark{0%{opacity:0;transform:scale(.3) rotate(180deg)}to{opacity:1;transform:scale(1) rotate(0)}}}.success-icon svg{animation:checkmark .8s ease-out .3s both}.success-content{padding:2rem}.success-content h1{text-align:center;color:var(--dark-grey);font-family:var(--font-headline);font-size:2.5rem;margin-bottom:1rem}@media (max-width: 600px){.success-content h1{font-size:2rem}}.success-content .success-subtitle{text-align:center;color:#6c757d;font-size:1.1rem;margin-bottom:2rem;padding:0}.order-summary{background:var(--light-grey);border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:2px solid var(--primary-color)}.order-summary h2{color:var(--dark-grey);margin-bottom:1rem;font-family:var(--font-headline);text-align:center}.order-details{display:grid;gap:.75rem}.order-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #dee2e6}.order-item:last-child{border-bottom:none;font-weight:700;color:var(--secondary-color)}.order-item span:first-child{color:#6c757d}.order-item span:last-child{font-weight:600;color:var(--dark-grey)}.success-actions{display:flex;gap:1rem;justify-content:center;margin-bottom:2rem}@media (max-width: 600px){.success-actions{flex-direction:column}}.btn-primary,.btn-secondary{padding:.75rem 2rem;border-radius:8px;text-decoration:none;font-weight:700;text-align:center;transition:all .3s ease;font-size:1rem;border:2px solid transparent}.btn-primary:hover,.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.btn-primary{background-color:var(--secondary-color);color:#fff}.btn-primary:hover{background-color:var(--tertiary-color)}.btn-secondary{background-color:transparent;color:var(--secondary-color);border-color:var(--secondary-color)}.btn-secondary:hover{background-color:var(--secondary-color);color:#fff}.success-info{display:grid;gap:1.5rem;margin-bottom:2rem}@media (min-width: 768px){.success-info{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}.info-card{background:#f8f9fa;border-radius:10px;padding:1.5rem;border-left:4px solid var(--primary-color);transition:transform .2s ease}.info-card:hover{transform:translateY(-2px)}.info-card h3{color:var(--dark-grey);margin-bottom:.5rem;font-size:1.1rem}.info-card p{color:#6c757d;margin:0;padding:0;line-height:1.5}.success-newsletter{margin:0;border:2px solid var(--primary-color)}@media (max-width: 600px){.success-newsletter .newsletter-form{flex-direction:row}}@media (max-width: 768px){.success-main{padding:1rem;min-height:70vh}.success-container{margin:1rem 0}.success-content{padding:1.5rem}.success-icon{padding:2rem 1rem .5rem}}.success-page{max-width:600px;margin:2rem auto;padding:2rem;text-align:center;background:#fff;border-radius:10px;box-shadow:0 4px 15px #0000001a}.success-icon{margin-bottom:2rem}.checkmark{display:inline-block;width:80px;height:80px;background-color:var(--secondary-color);border-radius:50%;color:#fff;font-size:3rem;font-weight:700;line-height:80px;animation:bounce .6s ease-in-out}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.success-page h1{color:var(--dark-grey);margin-bottom:1rem;font-family:var(--font-headline);font-size:2.2rem}.success-message{color:#666;margin-bottom:2rem;line-height:1.6;font-size:1.1rem}.order-info{background:var(--light-grey);border-radius:8px;padding:1.5rem;margin:2rem 0;border:2px solid var(--primary-color)}.order-info h2{margin-bottom:1rem;color:var(--dark-grey)}.order-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #ddd}.order-item:last-child{border-bottom:none}.order-item span:first-child{font-weight:700;color:var(--dark-grey)}.order-item span:last-child{color:var(--secondary-color);font-weight:600}.action-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.action-buttons .button{padding:.75rem 2rem;border-radius:6px;text-decoration:none;font-weight:700;transition:all .3s ease;display:inline-block}.action-buttons .button:not(.secondary){background-color:var(--secondary-color);color:#fff}.action-buttons .button:not(.secondary):hover{background-color:var(--tertiary-color);transform:translateY(-2px)}.action-buttons .button.secondary{background-color:transparent;color:var(--secondary-color);border:2px solid var(--secondary-color)}.action-buttons .button.secondary:hover{background-color:var(--secondary-color);color:#fff;transform:translateY(-2px)}@media (max-width: 768px){.success-page{margin:1rem;padding:1.5rem}.success-page h1{font-size:1.8rem}.action-buttons{flex-direction:column}.action-buttons .button{text-align:center}}.alert{background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:6px;color:#721c24;padding:1rem;margin-bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;position:relative;animation:slideDown .3s ease-out}.checkout-section .alert{margin-top:1rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.alert p{margin:0;padding:0;flex:1;line-height:1.4}.alert-close{background:none;border:none;color:#721c24;font-size:1.5rem;font-weight:700;cursor:pointer;padding:0;margin:0 0 0 1rem;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.alert-close:hover{background-color:#0000001a}.alert-close:focus{outline:2px solid #721c24;outline-offset:2px}.alert.success{background-color:#d4edda;border-color:#c3e6cb;color:#155724}.alert.success .alert-close{color:#155724}.alert.success .alert-close:focus{outline-color:#155724}.alert.warning{background-color:#fff3cd;border-color:#ffeaa7;color:#856404}.alert.warning .alert-close{color:#856404}.alert.warning .alert-close:focus{outline-color:#856404}.alert.info{background-color:#d1ecf1;border-color:#bee5eb;color:#0c5460}.alert.info .alert-close{color:#0c5460}.alert.info .alert-close:focus{outline-color:#0c5460}
