*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd{margin-block-end:0}body{min-height:100vh;-webkit-font-smoothing:antialiased}img,picture{max-width:100%;display:block}input,button,textarea,select{font:inherit}textarea:not([rows]){min-height:10em}:has(:target){scroll-behavior:smooth;scroll-padding-top:3rem}img{border-radius:.5rem}@font-face{font-family:Red Hat;src:url(/product-list-with-cart-main/assets/fonts/RedHatText-VariableFont_wght.ttf)}*{font-family:Red Hat,sans-serif}.heading-lg{font-size:2.5rem;line-height:1.2}.heading-md{font-size:1.5rem;line-height:1.25}.text-md{font-size:1rem;line-height:1.5}.text-sm{font-size:.875rem;line-height:1.5}.text-rose-900{color:#260f08}.text-rose-500{color:#87635a}.text-red{color:#c73b0f}.bold{font-weight:700}.semi-bold{font-weight:600}.medium{font-weight:500}.normal{font-weight:400}.light{font-weight:300}.italic{font-style:italic}.normal{font-style:normal}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.sr-only:not(:focus):not(:active){clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.grid-bleed{display:grid;grid-template-columns:1fr calc(100% - 3rem) 1fr}@media (min-width: 48rem){.grid-bleed{grid-template-columns:1fr calc(100% - 5rem) 1fr}}@media (min-width: 70rem){.grid-bleed{grid-template-columns:1fr calc(100% - 6rem) 1fr}}@media (min-width: 92rem){.grid-bleed{grid-template-columns:1fr min(100% - 28rem,120rem) 1fr}}.grid-bleed>*{grid-column:2}.grid-auto-fit--sml{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr))}.grid-auto-fit--med{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.grid-auto-fit--lrg{display:grid;grid-template-columns:repeat(auto-fit,minmax(30rem,1fr))}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:50rem;font-weight:600}.button--white{border:1px solid #AD8A85;color:#260f08;background-color:#fff}.button--white svg{color:#c73b0f}.button--red{border:1px solid transparent;color:#fff;background-color:#c73b0f}.button--red svg{color:#fff}.button--med{width:10rem;height:2.75rem;font-size:.875rem}.button--lrg{padding:1rem 1.5rem;font-size:1rem}.product{display:grid;gap:1rem}.product__image{position:relative;display:grid;justify-items:center;margin-bottom:-1.425rem}.product__image button{position:relative;bottom:1.425rem}.product__image-highlight{border:2px solid transparent}.product__image-highlight--active{border:2px solid #C73B0F}.product__description{display:grid;gap:.25rem}.add-to-cart-button{display:inline-flex;align-items:center;justify-content:space-between;gap:.5rem;width:10rem;height:2.75rem;padding:.75rem;border:1px solid #AD8A85;border-radius:50rem;font-size:.875rem;font-weight:600;color:#fff;background-color:#c73b0f}.add-to-cart-button img{width:1.25rem;height:1.25rem;padding:.15rem;border:2px solid #FFFFFF;border-radius:50%}.cart{display:grid;gap:2rem;padding:1.5rem;border-radius:.75rem;background-color:#fff}.cart-item{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cart-item__cost{display:grid;grid-template-columns:.25fr 1fr 1fr;gap:.75rem;min-width:12rem}.cart-item__description{display:grid;gap:.5rem}.cart-item__remove-icon{width:1.25rem;height:1.25rem;padding:.15rem;border:2px solid #AD8A85;border-radius:50%;color:#ad8a85}.cart-item__remove-icon:hover{border:2px solid #260F08;color:#260f08}.cart-item__item-divider{border:.5px solid #F5EEEC}.cart-list{display:grid;gap:1rem}.cart-list__order-total{display:flex;justify-content:space-between}.cart-list__carbon-neutral{display:flex;justify-content:center;gap:1rem;padding:1rem;border-radius:.5rem;background-color:#fcf8f6}.empty-cart{display:grid;justify-items:center;gap:1rem;padding:1rem 0}.product-list{min-height:100vh;padding:1.5rem 0;background-color:#fcf8f6}@media (min-width: 48rem){.product-list{padding:2.5rem 0}}@media (min-width: 70rem){.product-list{padding:5.5rem 0}}.product-list__contents{display:grid;gap:2rem}@media (min-width: 48rem){.product-list__contents{align-content:flex-start}}@media (min-width: 70rem){.product-list__contents{grid-template:max-content 1fr/1.5fr 1fr}}@media (min-width: 92rem){.product-list__contents{grid-template:max-content 1fr/2fr 1fr}}@media (min-width: 70rem){.product-list__header{grid-area:1/1}}@media (min-width: 70rem){.product-list__products-container{grid-area:2/1}}.product-list__products{display:grid;row-gap:2rem;column-gap:1.5rem}@media (min-width: 48rem){.product-list__products{grid-template-columns:1fr 1fr 1fr}}@media (min-width: 70rem){.product-list__cart{grid-row:1/-1}}.cart-modal{z-index:2;bottom:0;left:50%;overflow:scroll;display:grid;align-content:flex-start;gap:2rem;width:100%;height:100%;padding:2.5rem 1.5rem 1.5rem;border-radius:.75rem .75rem 0 0;background-color:#fff;scrollbar-width:none;-ms-overflow-style:none}@media (min-width: 70rem){.cart-modal{overflow:unset;width:min(100% - 2.5rem,43rem);height:unset;padding:2.5rem;border-radius:.75rem}}.cart-modal__background{position:fixed;z-index:1;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;width:100%;height:100%;padding-top:6rem;background-color:#00000080;top:0;right:0;bottom:0;left:0}@media (min-width: 70rem){.cart-modal__background{align-items:flex-start;padding:10vh 0}}.cart-modal__header{display:grid;gap:1.5rem}.cart-modal__header-text{display:grid;gap:.5rem}.cart-modal__product-list-container{display:grid;gap:1.5rem;padding:1.5rem;background-color:#fcf8f6}.cart-modal__product-list{display:grid;gap:1rem}.cart-modal__order-total{display:flex;justify-content:space-between}.cart-modal-item{display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.cart-modal-item__main-content{display:flex;align-items:center;gap:1rem}.cart-modal-item__image{width:3rem;height:3rem}.cart-modal-item__item-description{display:grid;gap:.25rem}.cart-modal-item__item-description>h3{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cart-modal-item__cost{display:flex;gap:1rem}.cart-modal-item__item-divider{border:.5px solid #F5EEEC}
