/* Late single-product adjustments for native WooCommerce markup. */
body.single-product div.product .summary p.price,
body.single-product div.product .summary p.price .woocommerce-Price-amount,
body.single-product div.product .summary p.price bdi,
body.single-product div.product .summary p.price .woocommerce-Price-currencySymbol {
    color: #173e2d !important;
}

body.single-product div.product .summary form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem 0.75rem;
}

body.single-product div.product .summary form.cart > .nta-woo-products-button {
    flex: 0 0 100% !important;
    margin-top: .5rem !important;
}

/* Keep the product description readable and visually balanced on desktop. */
body.single-product div.product .woocommerce-tabs ul.tabs {
    width: min(100%, 75ch);
    margin-inline: auto;
}

body.single-product div.product .woocommerce-tabs .panel {
    width: min(100%, 75ch);
    margin-inline: auto;
}

body.single-product div.product .woocommerce-tabs .panel table {
    width: 100%;
    table-layout: fixed;
}

/* Contain the main product photograph without cropping the original image. */
@media (min-width: 769px) {
    body.single-product div.product div.images .woocommerce-product-gallery__image img {
        width: auto;
        max-width: 100%;
        max-height: 38rem;
        margin-inline: auto;
        object-fit: contain;
    }
}

/* Related products: four cards on wide desktop, two on tablet, one on mobile. */
@media (min-width: 1024px) {
    body.single-product div.product .related.products > ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (min-width: 621px) and (max-width: 1023px) {
    body.single-product div.product .related.products > ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

body.single-product div.product .related.products > ul.products > li.product {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

body.single-product div.product .related.products > ul.products > li.product > a.woocommerce-LoopProduct-link {
    display: flex;
    min-width: 0;
    flex: 1 1 auto;
    flex-direction: column;
}

body.single-product div.product .related.products > ul.products > li.product > a.woocommerce-LoopProduct-link img {
    width: 100%;
    height: clamp(14rem, 24vw, 20rem);
    margin-bottom: 1rem;
    object-fit: contain;
}

body.single-product div.product .related.products > ul.products > li.product .woocommerce-loop-product__title {
    min-height: 3.25rem;
}

body.single-product div.product .related.products > ul.products > li.product > .button {
    width: 100%;
    margin-top: auto;
}

@media (max-width: 620px) {
    body.single-product div.product .related.products > ul.products > li.product > a.woocommerce-LoopProduct-link img {
        height: 18rem;
    }
}
