.product-rating{font-family:var(--font-body);color:var(--plum);justify-content:center;align-items:center;gap:.35rem;font-size:.875rem;line-height:1;display:flex}.product-rating-link{cursor:pointer;text-decoration:none;transition:opacity .2s}.product-rating-link:hover{opacity:.8}.rating-stars-wrapper{line-height:1;display:inline-flex;position:relative}.rating-stars-empty{color:#421a2133;display:flex}.rating-stars-filled{color:#f5a623;white-space:nowrap;display:flex;position:absolute;top:0;bottom:0;left:0;overflow:hidden}.star-icon{font-variation-settings:"FILL" 1;font-size:1.1rem}.rating-score{margin-left:.25rem;font-weight:700}.rating-count{color:#421a2199;font-size:.8rem}.product-rating-empty{opacity:.8;cursor:pointer;transition:opacity .2s}.product-rating-empty:hover{opacity:1}.rating-star-empty{color:#421a2133;font-variation-settings:"FILL" 0}.rating-empty-text{text-underline-offset:3px;font-size:.8rem;-webkit-text-decoration:underline #421a214d;text-decoration:underline #421a214d}.product-rating-grid-empty{opacity:.5}.grid-empty-stars .star-icon{font-variation-settings:"FILL" 0}.rating-grid-empty-text{margin-left:.25rem;font-size:.8rem}@media (max-width:767px){.products-grid .product-rating{white-space:nowrap;gap:.2rem}.products-grid .star-icon{font-size:.95rem}.products-grid .rating-score{margin-left:.15rem;font-size:.8rem}.products-grid .rating-count{font-size:.75rem}.products-grid .rating-grid-empty-text{display:none}}
.products-section{padding:var(--space-6) 0;background-color:var(--page-background)}.products-section.homepage-featured{padding-top:var(--space-4)}.products-header{text-align:center;max-width:40rem;margin:0 auto var(--space-5)}.products-eyebrow{margin-bottom:var(--space-2);color:#421a21a6;letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:700}.products-heading{letter-spacing:0;font-size:clamp(2rem,4vw,3rem)}.products-intro{margin-top:var(--space-3);color:#421a21c7;font-size:1rem}.products-empty{padding:var(--space-7) 0;color:var(--sage);text-align:center;font-size:1.1rem}.products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;display:grid}.products-cta{margin-top:var(--space-5);justify-content:center;display:flex}@media (min-width:768px){.products-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}}@media (min-width:1024px){.products-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.product-card{--card-radius:32px;--card-padding:1rem;--card-content-px:1.25rem;background-color:var(--cream);border-radius:var(--card-radius);border:1px solid #421a2126;flex-direction:column;height:100%;padding-bottom:1.25rem;transition:transform .3s,box-shadow .3s;display:flex;overflow:hidden}.product-card:hover{box-shadow:var(--shadow-md)}.product-link{color:inherit;cursor:pointer;flex-direction:column;flex:1;text-decoration:none;display:flex}.product-link:hover .product-image{transform:scale(1.05)}.product-actions{padding:0 var(--card-content-px);margin-top:auto}.product-image-wrapper{aspect-ratio:1;padding:var(--card-padding);position:relative;overflow:hidden}.product-badge{z-index:10;background-color:var(--sage);color:var(--white);border-radius:var(--radius-pill);font-family:var(--font-body);letter-spacing:.05em;text-transform:uppercase;border:1px solid var(--plum);padding:.25rem .75rem;font-size:.625rem;font-weight:700;position:absolute;top:1rem;left:1rem}.product-image{object-fit:cover;border-radius:max(0px, calc(var(--card-radius) - var(--card-padding)));width:100%;height:100%;transition:transform .5s,opacity .35s}.product-image.secondary-image{top:var(--card-padding);left:var(--card-padding);width:calc(100% - calc(var(--card-padding) * 2));height:calc(100% - calc(var(--card-padding) * 2));opacity:0;position:absolute}@media (hover:hover) and (pointer:fine){.product-link:hover .product-image.primary-image{opacity:0}.product-link:hover .product-image.secondary-image{opacity:1}}.product-image-placeholder{color:#421a21a6;text-align:center;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;font-size:.875rem;display:flex}.product-info{text-align:center;padding:1.25rem var(--card-content-px) 1rem;flex-direction:column;align-items:center;gap:.375rem;display:flex}.product-title{font-family:var(--font-header);text-transform:uppercase;letter-spacing:-.02em;color:var(--plum);font-size:1.25rem;line-height:1.1}.product-price{font-family:var(--font-body);color:var(--plum);font-weight:500}.price-original{color:#421a2180;margin-right:.5rem;text-decoration:line-through}.add-to-cart-btn{background-color:var(--plum);width:100%;color:var(--cream);border:2px solid var(--plum);border-radius:var(--radius-pill);font-family:var(--font-body);text-transform:uppercase;letter-spacing:.05em;justify-content:center;align-items:center;gap:.5rem;padding:.75rem;font-size:.75rem;font-weight:700;transition:all .2s;display:flex}.add-to-cart-icon{font-size:18px}.add-to-cart-btn:hover{color:var(--cream);box-shadow:var(--shadow-sm);background-color:#000;border-color:#000;transform:translateY(-2px)}@media (max-width:768px){.products-section{padding:var(--space-5) 0}.products-section.homepage-featured{padding-top:var(--space-3)}.products-header{margin-bottom:1.5rem}.products-grid{gap:1rem}.product-card{--card-radius:20px;--card-padding:.625rem;--card-content-px:.75rem;border:1px solid #421a210d;padding-bottom:.75rem;box-shadow:0 8px 24px #421a2105}.product-info{padding:.75rem var(--card-content-px) .625rem;gap:.25rem}.product-title{font-size:1rem;line-height:1.2}.product-price{font-size:.875rem}.product-actions{padding:0 var(--card-content-px)}.add-to-cart-btn{white-space:nowrap;border:none;gap:.35rem;width:100%;margin:0;padding:.625rem;font-size:.7rem}.add-to-cart-icon{font-size:15px}}
