:root{--font-body: Arial, Helvetica, sans-serif;--font-headline: Haettenschweiler, "Arial Narrow Bold", sans-serif;--primary-color: #f0a868;--secondary-color: #525b0f;--tertiary-color: #a4b8c4;--light-grey: #d0d0d0;--dark-grey: #303030;--white: #ffffff;--success: #0b5c3b;--danger: #b30000;--font-base: 18px;--small-font: .8em;--large-font: 1.2em;--border-radius: 8px;--shadow-soft: 0 2px 8px rgba(0, 0, 0, .08);--shadow-hover: 0 6px 16px rgba(0, 0, 0, .12)}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);font-size:var(--font-base);color:var(--dark-grey);background-color:var(--white);line-height:1.4}img{max-width:100%;display:block}main{min-height:60vh}a{color:inherit}header{display:flex;justify-content:space-between;align-items:center;padding:0 10px}footer{font-size:var(--small-font);padding:1em}.divider{border-bottom:2px solid var(--primary-color)}.logo{line-height:60px;width:245px;overflow:hidden;display:flex;align-items:center;gap:.35rem;font-size:30px;text-align:right;font-family:var(--font-headline)}.logo img{width:60px;height:60px;flex-shrink:0}.logo a{text-decoration:none;color:var(--dark-grey);display:flex;align-items:center;gap:.25rem}.logo--square{font-size:var(--small-font);width:110px;height:80px;flex-direction:column;justify-content:center;align-items:center;line-height:1;background-color:var(--white);box-shadow:1px 1px 4px var(--light-grey)}.logo--square img{width:90px;height:90px;margin-top:-1.3em}.logo--square>div{margin-top:-1.7em}.highlight{color:var(--tertiary-color)}.title{text-transform:capitalize}.hero{position:relative}.hero .logo{position:absolute;left:calc(50% - 60px);bottom:-10px;background-color:var(--white)}button,.checkout-button{padding:.7em 1.5em;background-color:var(--secondary-color);color:var(--white);display:inline-block;border:0;border-radius:6px;font-size:1rem;cursor:pointer;text-decoration:none;transition:background-color .2s ease,transform .2s ease}button:hover,.checkout-button:hover{background-color:#657116;transform:translateY(-1px)}button:active,.checkout-button:active{transform:translateY(0)}.mission{padding:0 .75em;line-height:1.5;max-width:600px;margin:auto}.products{padding:.75em}.cart{padding-top:1.2em;position:relative;text-align:center}.cart a{display:inline-block}.cart svg{width:25px;transition:fill .2s ease,transform .2s ease}.cart:hover svg{fill:gray;transform:scale(1.05)}.cart-badge{position:absolute;top:-2px;right:-8px;background-color:#f0a30a;color:var(--white);border-radius:50%;padding:2px 6px;font-size:.75em;font-weight:700;z-index:5;min-width:18px;text-align:center}.cart-badge:empty{display:none}.product-grid{list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;justify-items:center;text-align:center;color:var(--dark-grey);padding:0;margin:0}.product-grid>li{width:100%;max-width:170px;padding:.5em}.product-grid a{text-decoration:none;color:var(--dark-grey);display:flex;flex-direction:column;align-items:center;gap:.5rem}.product-grid a:visited{color:var(--dark-grey)}.product-grid a:hover{text-decoration:underline}.product-grid img{width:5rem}.product-grid h2{margin:0;font-size:1.1em}.product-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;list-style-type:none;padding:0;margin:0}.product-list a{text-decoration:none;color:var(--dark-grey)}.product-card{flex:1 1 220px;max-width:250px;margin:0;padding:.75em;border:1px solid var(--light-grey);border-radius:var(--border-radius);background:var(--white);box-shadow:var(--shadow-soft);position:relative;transition:transform .2s ease,box-shadow .2s ease}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-hover)}.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__price{font-weight:700}.card__price{text-decoration:line-through;color:gray;margin-right:.5rem}.sale__price{color:var(--danger);font-weight:700;margin-right:.5rem}.discount__badge{display:inline-block;position:absolute;top:.5rem;left:.5rem;background-color:var(--danger);color:var(--white);padding:.2rem .45rem;font-size:.8rem;border-radius:4px;font-weight:700}.product-detail{padding:1em;max-width:700px;margin:auto}.product-detail img{width:100%;border-radius:var(--border-radius)}.product__color,.product__description,.product-detail__add{margin-top:1rem}.product-detail__add button{margin:0}.cart-summary,.chckout-summary,.order-summary{margin-top:1.25rem;padding:1rem 1.25rem;border:1px solid var(--light-grey);background:#f9f9f9;box-shadow:var(--shadow-soft)}.cart-total{font-weight:700;font-size:1.1rem;margin-bottom:1rem}.cart-empty{text-align:center;padding:1.5rem;color:#666}.product-list{list-style-type:none;padding:0;margin:0}.cart-card{width:100%;display:grid;grid-template-columns:110px 1fr auto;grid-template-areas:"image name remove" "image color price" "image quantity price";gap:.35rem 1rem;align-items:center;padding:1rem;border-bottom:2px solid var(--primary-color);background:var(--white);position:relative}.cart-card__image{grid-area:image;display:flex;align-items:center;justify-content:center;width:100%}.cart-card__image img{width:100%;max-width:95px;border-radius:6px;object-fit:contain}.cart-card .card__name{grid-area:name;margin:0;font-size:1rem;font-weight:700;line-height:1.25}.cart-card a{text-decoration:none;color:var(--dark-grey)}.cart-card__color{grid-area:color;margin:0;color:#666;font-size:.95rem}.cart-card__quantity{grid-area:quantity;margin:0;font-size:.95rem;color:var(--dark-grey)}.cart-card__price{grid-area:price;margin:0;align-self:center;justify-self:end;font-weight:700;font-size:1.05rem;white-space:nowrap}.cart-card__remove{grid-area:remove;justify-self:end;align-self:start;cursor:pointer;color:#e2574c;font-weight:700;font-size:1.4rem;line-height:1;padding:.15rem .35rem;border-radius:4px;transition:color .2s ease,background-color .2s ease}.cart-card__remove:hover{color:var(--danger);background-color:#ff4d4d14}@media screen and (max-width:700px){.cart-card{grid-template-columns:80px 1fr;grid-template-areas:"image remove" "image name" "image color" "image quantity" "image price";gap:.35rem .75rem;padding:.85rem 0}.cart-card__image img{max-width:72px}.cart-card__price{justify-self:start}}.checkout-grid,.checkout-form{display:block}.checkout-form fieldset{border:1px solid var(--light-grey);border-radius:var(--border-radius);padding:1rem;margin-bottom:1rem}.checkout-form legend{padding:0 .5rem;font-weight:700}.checkout-form label{display:block;margin-bottom:.75rem}.checkout-form input{width:100%;padding:.6rem;margin-top:.25rem;border:1px solid var(--light-grey);border-radius:4px;font-size:1rem}.login-form{max-width:450px;margin:2rem auto;border:1px solid var(--light-grey);border-radius:var(--border-radius);padding:1rem}.login-form p{margin-bottom:1rem}.login-form input{width:100%;padding:.6rem;margin-top:.25rem;border:1px solid var(--light-grey);border-radius:4px;font-size:1rem}#orders{width:100%;border-collapse:collapse;margin-top:1rem}#orders th,#orders td{border:1px solid var(--light-grey);padding:.6rem;text-align:left}#orders th{background-color:#f6f6f6}.alert-message{background:var(--primary-color);color:var(--dark-grey);padding:.8rem 1rem;font-weight:700;text-align:center;box-shadow:var(--shadow-soft)}.alert-list{margin-bottom:1rem;overflow:hidden}.alert-list p{padding:1em;margin:0;font-weight:700;text-align:center}.alert-item{position:relative;padding:1em 2.5em 1em 3em;margin:0;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.5em;text-align:center;border-bottom:1px solid rgba(0,0,0,.1);opacity:1;transition:opacity .3s ease}.alert-icon{font-size:1.2em;display:flex;align-items:center}.alert-close{position:absolute;right:10px;top:50%;transform:translateY(-50%);cursor:pointer;font-weight:700;padding:0 5px}.fade-out{opacity:0}.slide-down{animation:slideDown .4s ease-out}@keyframes cart-bounce{0%{transform:scale(1)}25%{transform:scale(1.2) rotate(10deg)}50%{transform:scale(1.2) rotate(-10deg)}75%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1)}}.animate-cart{animation:cart-bounce .4s ease-in-out}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@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 18%}}@media screen and (min-width:768px){.product-grid{grid-template-columns:repeat(4,1fr)}.checkout-grid{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:start}}
