.snap-product-page { width: min(calc(100% - 80px), 1240px); margin: auto; padding: 28px 0 56px; color: #171717; }
.snap-product-page .snap-product-logo { display: block; width: 150px; margin-bottom: 30px; }
.snap-product-page .woocommerce-breadcrumb { margin-bottom: 28px; color: #777; font-size: 13px; line-height: 1.6; }
.snap-product-page div.product { display: flow-root; }
.snap-product-page div.product div.images { width: 47%; }
.snap-product-page div.product div.summary { width: 47%; }
.snap-product-page .woocommerce-product-gallery__image { background: #f3f3f1; border-radius: 8px; }
.snap-product-page .woocommerce-product-gallery__image img { width: 100%; height: auto; max-height: 750px; object-fit: contain; }
.snap-product-page .woocommerce-product-gallery .flex-control-thumbs { margin-top: 12px; gap: 8px; display: flex; flex-wrap: wrap; }
.snap-product-page .woocommerce-product-gallery .flex-control-thumbs li { width: calc(25% - 6px); }
.snap-product-page .product_title { margin: 0 0 22px; font-size: clamp(28px, 3vw, 44px); font-weight: 800; line-height: 1.1; letter-spacing: -.04em; overflow-wrap: anywhere; }
.snap-product-page .snap-product-prices { background: #f4f4f2; padding: 22px; border-radius: 8px; margin: 24px 0; }
.snap-product-page .snap-product-prices h2, .snap-product-page .snap-product-specs h2 { margin: 0 0 18px; font-size: 12px; letter-spacing: .1em; font-weight: 700; }
.snap-product-page dl { margin: 0; }
.snap-product-page .snap-price-row + .snap-price-row { margin-top: 18px; padding-top: 18px; border-top: 1px solid #d9d9d6; }
.snap-product-page .snap-price-row dt { font-size: 14px; color: #626262; line-height: 1.5; }
.snap-product-page .snap-price-row dd { margin: 7px 0 0; font-size: clamp(22px, 2.2vw, 30px); line-height: 1.3; font-weight: 700; }
.snap-product-page .snap-price-row ins { text-decoration: none; background: transparent; }
.snap-product-page .snap-price-row del { color: #777; font-size: .7em; }
.snap-product-page .woocommerce-product-details__short-description { color: #626262; font-size: 16px; line-height: 1.6; }
.snap-product-page .snap-product-specs { margin: 28px 0; }
.snap-product-page .snap-spec-row { display: grid; grid-template-columns: minmax(100px, .8fr) minmax(0, 1.4fr); gap: 20px; padding: 13px 0; border-top: 1px solid #e1e1e1; }
.snap-product-page .snap-spec-row dt { font-size: 11px; line-height: 1.6; font-weight: 600; text-transform: uppercase; color: #737373; }
.snap-product-page .snap-spec-row dd { margin: 0; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.snap-product-page .button, .snap-product-page button.button.alt { background: #171717; color: #fff; border-radius: 6px; padding: 16px 22px; font-weight: 700; }
.snap-product-page button.button.alt:hover { background: #333; }
.snap-product-page .quantity input, .snap-product-page select { min-height: 48px; border: 1px solid #ccc; border-radius: 6px; padding: 8px; font-size: 16px; }
.snap-product-page .product_meta { color: #666; font-size: 13px; line-height: 1.7; }
.snap-product-page .woocommerce-tabs { clear: both; padding-top: 32px; }
.snap-product-page .woocommerce-tabs .panel { line-height: 1.65; }
.snap-product-page a:focus-visible, .snap-product-page button:focus-visible, .snap-product-page input:focus-visible, .snap-product-page select:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
@media (max-width: 1024px) { .snap-product-page { width: calc(100% - 48px); } }
@media (max-width: 767px) {
 .snap-product-page { width: calc(100% - 32px); padding-bottom: 36px; }
 .snap-product-page .snap-product-logo { width: 125px; }
 .snap-product-page div.product div.images, .snap-product-page div.product div.summary { width: 100%; float: none; }
 .snap-product-page .snap-product-prices { padding: 18px; }
 .snap-product-page .snap-spec-row { grid-template-columns: minmax(86px, .8fr) minmax(0, 1.5fr); gap: 12px; }
}
/* Explicit columns also work when WooCommerce's optional stylesheet is disabled. */
.snap-product-page div.product div.images { float: left; }
.snap-product-page div.product div.summary { float: right; }
@media (max-width: 767px) { .snap-product-page div.product div.images, .snap-product-page div.product div.summary { float: none; } }

@media (max-width: 767px) {
 .snap-product-page div.product { display: flex; flex-direction: column; }
 .snap-product-page div.product div.summary { display: contents; }
 .snap-product-page div.product > *, .snap-product-page .summary > * { min-width: 0; }
 .snap-product-page .product_title { order: -3; font-size: clamp(28px, 7vw, 36px); margin-bottom: 16px; }
 .snap-product-page div.product div.images { order: -2; margin-bottom: 20px; }
 .snap-product-page .snap-product-specs { order: -1; margin: 0 0 20px; }
 .snap-product-page .snap-product-prices { margin: 0 0 20px; }
 .snap-product-page .woocommerce-product-gallery__image img { max-height: 440px; object-fit: contain; }
 .snap-product-page .button, .snap-product-page button.button.alt { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; padding: 14px 16px; }
 .snap-product-page .woocommerce-tabs { padding-top: 24px; }
 .snap-product-page .related ul.products { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 0; }
 .snap-product-page .related ul.products::before, .snap-product-page .related ul.products::after { content: none; }
 .snap-product-page .related ul.products li.product { width: 100%; float: none; margin: 0; }
 .snap-product-page .related ul.products li.product img { width: 100%; height: auto; object-fit: contain; }
}
