: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)}.title{font-size:2.2rem;font-variant:small-caps;text-shadow:0 0 .5em #777}button{padding:.5em 2em;background-color:var(--secondary-color);color:#fff;display:block;border:0;font-size:var(--large-font);cursor:pointer}button:hover{background-color:#1a252f}.divider{border-bottom:1px solid var(--primary-color)}.cart{padding-top:1em;position:relative;text-align:center}.cart svg{width:25px}.cart:hover svg{fill:gray}@keyframes cart-animation{0%{transform:scale(1)}30%{transform:scale(1.2)}60%{transform:scale(.9)}to{transform:scale(1)}}.cart-icon{display:inline-block;will-change:transform}.cart-icon.animate{animation:cart-animation .4s ease!important}.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;text-align:center}.categories h2{font-size:2rem;margin-bottom:1.5rem}.category-list{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;list-style:none;padding:0;margin:0 auto;max-width:1000px}.category-list li{background:#f7f7f7;border-radius:12px;padding:1rem;transition:transform .2s ease;box-shadow:0 2px 6px #0000000d}.category-list li:hover{transform:translateY(-4px)}.category-list img{width:80px;height:auto;margin-bottom:.5rem}.category-list h3{font-size:1.1rem;margin:0;color:#333}.product-grid{columns:4;column-gap:1rem;list-style-type:none;text-align:center}.product-grid a{text-decoration:none;color:var(--dark-grey);font-size:var(--small-font)}.product-grid img{width:min(100px,90%)}.products{margin-top:2rem;padding:1rem}.products h2{margin-bottom:1em}.products .btn-primary{display:block;width:120px;background-color:#525b0f;color:#fff;padding:.75rem;text-decoration:none;border:none;text-align:center;font-size:1rem;cursor:pointer;transition:background-color .2s}.products .btn-primary:hover{background-color:#1a252f}.product-list{display:flex;flex-flow:row wrap;list-style-type:none;align-items:stretch}.product-list a{text-decoration:none;color:var(--dark-grey)}.product-card{flex:1 1 100%;margin:.25em;padding:1em;border:1px solid var(--light-grey);max-width:250px;text-align:center}.product-card h3,.product-card p{margin:.5em 0}.card__brand{font-size:var(--small-font)}.card__name{font-size:1em}.product-detail{width:max(500px,90%);margin:1em auto;padding:1em;display:grid;grid-template-columns:1fr 1fr;align-items:center;grid-gap:2em}.product-detail h2{grid-column:1/3;padding:.5em;text-align:center;background-color:var(--dark-grey);color:#fff}.product-detail img{width:100%}.product-detail h2{margin-bottom:.5em}#p-price{font-size:1.5em;color:var(--secondary-color)}.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}@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%}}.checkout-container{max-width:800px;margin:2rem auto;padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 0 10px #0000001a}.checkout-section h2{text-align:center;margin-bottom:2rem}fieldset{margin-bottom:2rem;border:1px solid #ddd;padding:1rem;border-radius:6px}legend{color:var(--secondary-color);font-weight:700;padding:0 .5rem}.field-grid{display:grid;grid-template-columns:1fr 1fr}.field-grid label{display:block;padding-top:1rem;color:var(--tertiary-color);font-size:.9rem}.field-grid input{grid-column:span 2;padding:.75rem;background-color:#eee;display:block;border:1px solid #999;border-radius:4px;color:#555}.field-grid input:required{border-left:solid 8px red}.field-grid input:required:valid{border-left:solid 8px green}.summary-grid{display:grid;grid-template-columns:1fr auto;gap:.5rem 1rem;font-size:1rem;margin-top:1rem}.summary-total{font-weight:700;font-size:1.1rem}.btn-primary{display:block;width:100%;background-color:#525b0f;color:#fff;padding:.75rem;border:none;font-size:1rem;cursor:pointer;transition:background-color .2s}.btn-primary:hover{background-color:#1a252f}footer{font-size:var(--small-font);border-top:1px solid var(--tertiary-color);padding:1em}
