.cart{padding:2rem 1rem 0}.cart__container{width:inherit;max-width:960px;margin:0 auto;position:relative}.cart__title{font-size:2rem;font-weight:700;margin-bottom:1.5rem;font-family:var(--font-headers--family)}.cart__items{list-style:none;margin:0;padding:0}.cart__item{display:grid;grid-template-columns:120px 1fr auto;grid-template-areas:"image details price" "image qty price" "image extra price" "fitment fitment fitment";gap:1rem;align-items:start;border-bottom:1px solid #ccc;padding-bottom:1.5rem;margin-bottom:1.5rem}.cart__image{grid-area:image}.cart__details{grid-area:details}.quantity-wrapper{grid-area:qty}.cart__line-price{grid-area:price;text-align:right;flex-shrink:0;margin-left:auto;align-self:start;display:flex;flex-direction:column;width:auto}@media(max-width:600px){.cart__item{display:grid;grid-template-columns:80px 1fr;grid-template-areas:"image details" "extra extra" "fitment fitment" "qty qty" "price price";gap:.75rem 1rem;align-items:start}.cart__image{grid-area:image}.cart__details{grid-area:details}.quantity-wrapper{grid-area:qty;justify-content:flex-start}.cart__line-price{grid-area:price;text-align:right;align-self:center}.fitment-notice{grid-area:fitment;grid-column:1 / -1}.fitment-notice{font-weight:700;color:#444;display:flex;align-items:center;gap:.5rem;padding:0;margin:0}}@media(max-width:400px){.quantity-wrapper{display:flex;flex-wrap:wrap;gap:.5rem;min-width:0}.cart__line-price{min-width:4rem;word-break:break-word;overflow-wrap:break-word}}.cart__image{display:flex;justify-content:center;align-items:center;width:auto;border-radius:.5rem;overflow:hidden;background:#fff;aspect-ratio:1 / 1;object-fit:contain;object-position:center;font-size:.75rem}@media(min-width:600px){.cart__image{font-size:1.1rem}}.cart__image>div>img,.cart__image>a>img{aspect-ratio:1 / 1;object-fit:cover}.cart__details{flex:1 1 300px;max-width:calc(100vw - 120px)}@media(min-width:600px){.cart__details{max-width:calc(100vw - 350px)}}.cart__product-title{display:block;font-size:1.2rem;font-weight:700;text-transform:uppercase;margin-bottom:.25rem;font-family:var(--font-headers--family);color:var(--color-highlight)}a.cart__view-link{color:inherit;text-decoration:none}a.cart__view-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background-color:var(--color-highlight);opacity:0;transform:scaleX(0);transform-origin:left;transition:transform .2s ease,opacity .2s ease;z-index:-1}a.cart__view-link:hover{text-decoration:underline;color:var(--color-highlight)}a.cart__view-link:hover:after{opacity:1;transform:scaleX(1)}.cart__variant{font-size:.9rem;color:#666;margin-bottom:.5rem}.cart__unit-price{font-size:.9rem;color:#444;margin-top:.5rem}.cart__unit-price--zero{color:#999;font-style:italic}.cart__remove{font-size:.85rem;color:#900;text-decoration:none;display:inline-block}.cart__quantity-price{display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;min-width:120px;text-align:right}.cart__line-price{font-size:1.3rem;font-weight:700;display:flex;flex-direction:row;justify-content:flex-end;width:-webkit-fill-available;gap:1rem}@media(min-width:600px){.cart__line-price{flex-direction:column}}.cart__line-price--surcharge{grid-area:extra}@media(min-width:600px){.cart__line-price--surcharge{grid-area:price}}.cart__line-price-details{display:flex;flex-direction:column;justify-content:center;flex:1}.cart__line-price-value,.cart__line-price-final{text-align:right;flex-shrink:0;margin-left:auto}.cart__line-price-value{font-weight:400;font-size:1.3rem}.cart__line-price-final{font-weight:700;font-size:1.4rem}.cart__checkout-button:disabled{opacity:.5;cursor:not-allowed}.quantity-wrapper{display:flex;padding:0;gap:.5rem;align-items:center;width:auto;justify-content:space-between}@media(min-width:600px){.quantity-wrapper{width:auto;justify-content:start}}.cart__checkout-button.is-disabled{opacity:.5;pointer-events:none;cursor:not-allowed}.cart__note{margin-top:1rem;padding:.2rem}.cart__note.editable{padding:.2rem}.cart__note-contents{font-weight:700}.cart__note label{display:block;font-weight:700;margin-bottom:.5rem}.cart__note textarea{width:100%;padding:.75rem;font-size:1rem;border:1px solid #ccc;resize:vertical}.cart__note textarea:focus{border-color:var(--color-highlight);outline-color:var(--color-highlight)}.cart__tax-note{font-size:.9rem;color:#555;margin-top:1rem}.cart__footer{display:flex;justify-content:space-between;align-items:center;padding-top:1.5rem}.cart__total-label{font-size:1.2rem;font-weight:700}.cart__total-value{font-size:1.4rem;font-weight:700;text-align:right}.cart__submit{margin-top:2rem;text-align:right}.cart__checkout-button{background:var(--color-highlight);color:#fff;padding:.75rem 1.5rem;border:none;font-size:1rem;cursor:pointer;text-transform:uppercase;font-weight:700}.cart__checkout-button:hover{background:var(--color-foreground)}.cart__empty{font-size:1.1rem;padding-top:1rem}.cart__loading{margin-left:1rem;font-size:.9rem;color:#555}.cart__loader-banner{position:fixed;top:100px;left:50%;transform:translate(-50%);background:var(--color-background);border:1px solid var(--color-highlight);color:var(--color-highlight);padding:1rem 1.25rem;font-weight:700;z-index:10;pointer-events:none;transition:opacity .3s ease}.cart__loader-banner.is-visible{opacity:1;pointer-events:auto}.cart__fitment-options h2{text-align:center}.cart__fitment-options p{padding:.75rem 0;max-width:640px;margin:0 auto;text-align:justify}.fitment-notice{grid-area:fitment;padding:0;font-weight:700;color:#444;display:flex;align-items:center;gap:.75rem}.fitment-notice:before{content:"🛠️";font-size:1.5rem}.cart__vat{display:flex;align-items:flex-start;justify-content:space-between;margin:1.5rem 0 0;min-height:30px;flex-direction:column;gap:1rem}@media(min-width:600px){.cart__vat{flex-direction:row}.vat-input{max-width:280px}}.vat-input{width:100%;display:block;padding:.2rem}.vat-input:focus{border-color:var(--color-highlight);outline-color:var(--color-highlight)}@media(max-width:600px){.cart__quantity-price{align-items:flex-start;text-align:left;width:100%}.cart__total-value{margin-top:.25rem}.cart__submit{width:100%;text-align:left}}.cart__gear-limit-notice{max-width:unset;grid-area:fitment}@media(min-width:500px){.cart__gear-limit-notice{max-width:200px}}
