@charset "utf-8";
/* Product detail pages. Scoped to .product-detail; shared stylesheet rules are unchanged.
   Loaded after personal-use.css, which supplies the shared .page-main container, font and footer image rules. */
.page-main.product-detail .master-title { overflow-wrap: anywhere; }
.page-main.product-detail .product-detail-container { display: flex; flex-direction: column; gap: 1.5rem; padding: 3rem 0; }

.product-detail-notice { padding: 0.5rem 1rem; font-size: 0.8rem; line-height: 1.2rem; background-color: rgba(180, 165, 130, 0.25); border-left: solid 4px #ca7a2c; overflow-wrap: anywhere; }

.product-detail-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.5rem; }
.product-detail-back { font-weight: 600; }
.page-main.product-detail .product-detail-cat { display: inline-block; }

.product-detail-layout { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: 3rem; align-items: start; }
.product-detail-media { aspect-ratio: 1 / 1; background-color: rgba(180, 165, 130, 0.25); overflow: hidden; }
.product-detail-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product-detail-info { min-width: 0; }
.product-detail-desc { line-height: 1.5rem; overflow-wrap: anywhere; }

.product-detail-buy { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; padding: 1rem 0; border-top: solid 2px rgba(0, 50, 63, 0.25); border-bottom: solid 2px rgba(0, 50, 63, 0.25); }
.product-detail-price { margin-right: auto; font-size: 1.25rem; line-height: 1.5rem; font-weight: 600; }
.product-detail-price-label { font-size: 0.8rem; font-weight: 400; margin-right: 0.5rem; }
.product-detail-icon { font-size: 1.5rem; line-height: 1; }
.product-detail-icon:hover { text-decoration: none; }
.product-detail-heart:hover .ri-heart-3-line { display: none; }
.product-detail-heart:hover .ri-heart-3-fill { display: inline-block; }

.product-detail-facts { margin-top: 1.5rem; }
.product-detail-fact { padding: 0.5rem 0; border-bottom: solid 2px rgba(0, 50, 63, 0.25); }
.product-detail-fact dt { font-size: 0.8rem; line-height: 1.2rem; font-weight: 600; }
.product-detail-fact dd { line-height: 1.5rem; overflow-wrap: anywhere; }
.product-detail-recipes { margin-top: 1.5rem; font-weight: 600; }

.product-detail-used { margin-top: 1.5rem; }
.product-detail-used-title { padding-bottom: 0.5rem; border-bottom: solid 2px rgba(0, 50, 63, 0.25); font-size: 1rem; line-height: 1.5rem; font-weight: 600; overflow-wrap: anywhere; }
.product-detail-used-list li { padding: 0.5rem 0; border-bottom: solid 2px rgba(0, 50, 63, 0.25); line-height: 1.5rem; overflow-wrap: anywhere; }

@media (max-width: 43.75em) {
    .product-detail-layout { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
    .product-detail-media { max-width: 24rem; }
}
