: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%}a{text-decoration:none}button{padding:.5em 2em;background-color:var(--secondary-color);color:#fff;margin:auto;display:block;border:0;font-size:var(--large-font);cursor:pointer}.btn-primary{display:inline-block;background-color:#c23c33;color:#fff;padding:.8rem 1.5rem;font-size:1rem;border:none;border-radius:8px;cursor:pointer;transition:background .3s ease}.btn-primary:hover{background-color:#a0322a}.highlight{color:var(--tertiary-color)}.divider{border-bottom:2px solid var(--primary-color)}header{display:flex;justify-content:space-between;padding:.5rem}.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{color:var(--dark-grey)}.logo--square{font-size:var(--small-font);width:110px;height:80px;flex-direction:column;justify-content:center;align-items:center;box-shadow:1px 1px 4px var(--light-grey);line-height:1}.logo--square img{width:90px;height:90px;margin-top:-1.3em}.logo--square>div{margin-top:-1.7em}.hero{position:relative}.hero .logo{position:absolute;left:calc(50% - 60px);bottom:-15px;background-color:#fff}.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}.cart{position:relative;display:inline-block}.cart svg{width:25px}.cart:hover svg{fill:gray}.cart-count{position:absolute;top:-6px;right:-10px;background:red;color:#fff;font-size:12px;font-weight:700;padding:2px 6px;border-radius:50%;line-height:1;min-width:18px;text-align:center}.products,.categories{margin-top:2rem;padding:1rem}.product-list{display:flex;flex-flow:row wrap;list-style-type:none;justify-content:center;gap:.5rem;padding:0}.product-list a{color:var(--dark-grey)}.product-card{flex:1 1 45%;margin:.25em;padding:.5em;border:1px solid var(--light-grey);max-width:250px;min-width:180px;background-color:#fff;transition:all .3s ease-in-out}.product-card h2,.product-card h3,.product-card p{margin:.5em 0}.card__brand{font-size:var(--small-font)}.card__name{font-size:1em}.product-card:hover{box-shadow:0 4px 12px #0003;transform:scale(1.03);border-color:var(--primary-color)}.product-detail{padding:1em;max-width:500px;margin:auto}.product-detail img{width:100%}.categories h2{text-align:center;margin-bottom:1.5rem}.category-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.category-card{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#333;border:1px solid #ddd;padding:1rem;border-radius:8px;background-color:#fff;transition:transform .2s,box-shadow .2s}.category-card:hover{transform:translateY(-5px);box-shadow:0 4px 10px #0000001a}.category-card img{width:80px;height:80px;margin-bottom:.5rem}.category-card span{font-weight:700;text-align:center}footer{font-size:var(--small-font);padding:1em}.cart-page .product-list{display:flex;flex-direction:column;gap:1rem;list-style:none;padding:0;margin:0 auto;max-width:800px}.cart-item{display:grid;grid-template-columns:80px 1fr minmax(110px,160px) 90px;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #e6e6e6}.cart-item-image{width:80px;height:80px;object-fit:cover;border-radius:8px}.cart-item-details{flex:1}.cart-item-quantity{display:flex;align-items:center;gap:.5rem}.qty-btn{color:#fff;border:none;padding:.4rem .8rem;font-size:1rem;cursor:pointer;border-radius:6px;transition:background .3s}.qty-btn:hover{background:#a32f28}.remove-btn{grid-column:4;justify-self:start;background:none;border:none;color:#c23c33;font-weight:700;cursor:pointer;padding:10px}.cart-item-price{grid-column:3;justify-self:end;text-align:right;min-width:110px;font-weight:700;color:#222}.cart-summary{display:grid;grid-template-columns:80px 1fr minmax(110px,160px) 90px;align-items:center;margin-top:1rem;padding:1rem 0;border-top:2px solid #333;font-size:1.2rem}.cart-summary-label{font-weight:700;font-size:1.2rem;margin-right:.4rem}.cart-summary-price{grid-column:3;justify-self:end;font-weight:700;font-size:1.3rem}.product-listing-page .product-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;list-style:none;padding:0;margin:0 auto}.checkout-container{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:500px;margin:0 auto}.checkout-inner{display:flex;flex-wrap:wrap;gap:2rem}.checkout-form{flex:2}.order-summary{flex:1;margin-left:2rem}.checkout-form fieldset{border:none;margin-bottom:1.5rem}.checkout-form legend{font-weight:700;font-size:1.2rem;margin-bottom:.75rem;display:block}.checkout-form label{display:block;margin-bottom:1rem;font-size:.95rem}.checkout-form input{width:100%;padding:.6rem;margin-top:.4rem;border:1px solid #ccc;border-radius:8px;font-size:1rem;box-sizing:border-box}.checkout-form input:focus{border-color:#2a7ae2;outline:none;box-shadow:0 0 0 2px #2a7ae233}.order-summary{flex:1 1 250px;border:1px solid #ccc;background-color:#f8f8f8;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px #0000001a;height:fit-content}.order-summary h3{margin-top:0;margin-bottom:1rem;font-size:1.25rem;border-bottom:1px solid #ccc;padding-bottom:.25rem}.order-summary p,.order-summary-total{display:flex;justify-content:space-between;flex-wrap:wrap;margin:.5rem 0;font-size:1rem;gap:.5rem}.order-summary p span,.order-summary-total span{min-width:100px;text-align:right}.order-summary-total{font-weight:700;font-size:1.1rem}@media (min-width: 500px){body{max-width:1080px;margin:auto}.mission{font-size:1.2em}}@media (min-width: 768px){.checkout-container{max-width:1080px;margin:1rem;gap:1rem}.checkout-inner{flex-direction:row;align-items:flex-start}.checkout-form{flex:2}.order-summary{flex:1;margin-left:1rem}}@media (max-width: 767px){.checkout-inner{flex-direction:column;align-items:center}.checkout-form,.order-summary{flex:1 1 100%;max-width:500px;margin:0 auto}.order-summary{text-align:center}.order-summary p,.order-summary-total{justify-content:right}.order-summary p span,.order-summary-total span{text-align:center;min-width:auto}.checkout-container{margin:.5rem;gap:.8rem}}@media (min-width: 1080px){.product-listing-page .product-list{grid-template-columns:repeat(4,1fr)}}@media (max-width: 600px){body{font-size:16px}.mission p{width:90%;font-size:.9rem}.category-card img{width:60px;height:60px}.category-card span{font-size:.9rem}}.alert-container{width:100%;margin-bottom:1rem}.alert{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;margin-bottom:.5rem;border-radius:4px;background-color:#f0a868;color:#222;font-weight:500;box-shadow:0 2px 6px #00000026}.alert.success{background-color:#28a745}.alert .alert-close{background:none;border:none;font-size:1.2rem;cursor:pointer;color:#222;line-height:1}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}
