/* Native catalogue/product components. Keep forms, gallery nodes and tab behavior intact. */
.mh-device-search-reset, .mh-device-search-help a { display: inline-flex; align-items: center; min-height: 44px; }
.woocommerce ul.products li.product {
    padding: 1.25rem; border: 1px solid var(--wp--preset--color--surface);
    border-block-start: 3px solid var(--wp--preset--color--primary); border-radius: .75rem;
    background: var(--wp--preset--color--base);
    box-shadow: 0 4px 16px rgb(0 48 79 / 14%);
}
/* Neutral photo surfaces blend white-backed photos and transparent assets without recolouring devices. */
.woocommerce ul.products li.product a img { background: var(--wp--preset--color--base, #fff); border-radius: .4rem; }
.woocommerce ul.products[class*="columns-"] li.product { width: auto; margin: 0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 1.2rem; line-height: 1.4; overflow-wrap: anywhere; }
.woocommerce.single-product div.product {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(1.5rem, 3vw, 2.5rem); align-items: start;
}
.woocommerce.single-product div.product::before, .woocommerce.single-product div.product::after { content: none; }
.woocommerce.single-product div.product > div.images,
.woocommerce.single-product div.product > div.summary { float: none; width: auto; min-width: 0; margin: 0; }
.woocommerce.single-product div.product > .woocommerce-tabs,
.woocommerce.single-product div.product > section { grid-column: 1 / -1; min-width: 0; }
.woocommerce.single-product div.product > .summary {
    padding: clamp(1.25rem, 3vw, 2rem); background: var(--wp--preset--color--surface);
    border-block-start: 3px solid var(--wp--preset--color--primary); border-radius: .75rem;
}
.woocommerce div.product .product_title { font-size: clamp(2rem, 3vw, 2.75rem); margin-block: 0 1.25rem; }
.mh-product-kicker { color: var(--wp--preset--color--muted); font-size: .875rem; font-weight: 600; margin-block: 0 .75rem; }
.mh-product-guidance { margin-block: 1.25rem; }
.mh-product-contact a { display: inline-flex; align-items: center; min-height: 44px; overflow-wrap: anywhere; }
.woocommerce div.product form.cart { padding-block: 1rem; border-block: 1px solid var(--wp--preset--color--primary); margin-block: 1.5rem; }
.woocommerce div.product form.cart .quantity { margin: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex-grow: 1; }
.woocommerce div.product .product_meta { font-size: .875rem; color: var(--wp--preset--color--muted); }
.woocommerce div.product .woocommerce-product-gallery__image img { aspect-ratio: 4 / 3; object-fit: contain; background: var(--wp--preset--color--base, #fff); }
.woocommerce div.product div.images .mh-product-media-placeholder {
    aspect-ratio: 4 / 3; padding: 1.5rem; display: flex; flex-direction: column;
    justify-content: center; align-items: center; text-align: center;
    border: 1px dashed var(--wp--preset--color--primary); border-radius: .75rem;
    background: var(--wp--preset--color--surface); color: var(--wp--preset--color--secondary);
}
.mh-product-media-placeholder p { margin-block: .25rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; margin-bottom: 1rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-bottom-color: var(--wp--preset--color--primary); }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: var(--wp--preset--color--surface); border: 0; border-radius: .4rem .4rem 0 0; margin: 0 .5rem 0 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { content: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-block-start: 3px solid var(--wp--preset--color--primary); background: var(--wp--preset--color--base); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height: 44px; display: inline-flex; align-items: center; padding: .75rem 1rem; color: var(--wp--preset--color--secondary); }
.woocommerce div.product .woocommerce-tabs .panel { padding: 1.25rem; border: 1px solid var(--wp--preset--color--surface); border-radius: .5rem; overflow-wrap: anywhere; }
.mh-device-specs { margin: 0; border: 1px solid var(--wp--preset--color--surface); border-radius: .5rem; overflow: hidden; }
.mh-device-specs > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); border-block-end: 1px solid var(--wp--preset--color--surface); }
.mh-device-specs > div:last-child { border-block-end: 0; }
.mh-device-specs dt, .mh-device-specs dd { margin: 0; padding: 1rem; min-width: 0; line-height: 1.6; overflow-wrap: anywhere; }
.mh-device-specs dt { background: var(--wp--preset--color--surface); color: var(--wp--preset--color--secondary); font-weight: 600; }
.mh-device-specs dd { background: var(--wp--preset--color--base); }
.mh-device-specs dt > :first-child, .mh-device-specs dd > :first-child { margin-block-start: 0; }
.mh-device-specs dt > :last-child, .mh-device-specs dd > :last-child { margin-block-end: 0; }
@media (max-width: 800px) {
    .woocommerce.single-product div.product { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .woocommerce ul.products { grid-template-columns: minmax(0, 1fr); }
    .mh-device-specs > div { grid-template-columns: minmax(0, 1fr); }
}
.mediaheld-device-review-notice { margin-block: 1rem; padding: 1rem; background: var(--wp--preset--color--surface); border-inline-start: 4px solid var(--wp--preset--color--primary); border-radius: .5rem; }
.mediaheld-device-review-notice p { margin-block: .75rem 0; }
.mh-selection-feedback { margin-block: 1rem; padding: .75rem 1rem; border-inline-start: 3px solid var(--wp--preset--color--primary); color: var(--wp--preset--color--secondary); background: var(--wp--preset--color--base); border-radius: var(--wp--custom--button--radius, .25rem); }
.mh-selection-feedback p { margin: 0; }
.mh-selection-feedback p + p { margin-block-start: .5rem; }
.mh-selection-feedback a { display: inline-flex; align-items: center; min-height: 44px; }
.woocommerce ul.products li.product a.added_to_cart { display: flex; align-items: center; width: fit-content; max-width: 100%; min-height: 44px; margin-block-start: .5rem; padding: .5rem 0; color: var(--wp--preset--color--primary-dark); white-space: normal; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: .2em; }
.woocommerce ul.products li.product a.added_to_cart:hover { text-decoration-thickness: 2px; }
.woocommerce ul.products li.product a.added_to_cart:active { color: var(--wp--preset--color--secondary); }
