/* Single-product presentation; native WooCommerce gallery, forms and tabs remain authoritative. */
.vs360-product-page .site-main { display: block !important; overflow-x: clip; }
.vs360-product-page .site-main > :where(.ct-container, .ct-container-full, .content-area),
.vs360-product-page .site-main :where(.content-area, article, .entry-content, .woocommerce) {
	box-sizing: border-box !important;
	display: block !important;
	grid-column: 1 / -1 !important;
	inline-size: 100% !important;
	max-inline-size: none !important;
	min-inline-size: 0 !important;
	margin-inline: 0 !important;
	padding-inline: 0 !important;
}
.vs360-product-page .site-main :where(.product.type-product, .woocommerce-breadcrumb) {
	box-sizing: border-box;
	grid-column: 1 / -1 !important;
	inline-size: min(calc(100% - 2rem), 76rem) !important;
	justify-self: center !important;
	margin-inline: auto !important;
	max-inline-size: 76rem !important;
}
.vs360-product-page div.product { display: block !important; }
.vs360-product-page div.product :where(.ct-product-container, .product-entry-wrapper) { box-sizing: border-box; inline-size: 100% !important; max-inline-size: none !important; min-inline-size: 0 !important; }
.vs360-product-page div.product .product-entry-wrapper { align-items: start; display: grid !important; gap: clamp(1.5rem, 3vw, 2rem) !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; }
.vs360-product-page div.product .woocommerce-product-gallery { float: none !important; grid-column: 1 !important; inline-size: 100% !important; margin: 0 !important; min-inline-size: 0; }
.vs360-product-page div.product .summary { float: none !important; grid-column: 2 !important; inline-size: 100% !important; margin: 0 !important; min-inline-size: 0; }
.vs360-product-page .woocommerce-product-gallery__wrapper { border: 1px solid var(--vs360-color-border); border-radius: .75rem; overflow: hidden; }
.vs360-product-page .woocommerce-product-gallery__image img { aspect-ratio: 1; block-size: auto; inline-size: 100%; max-block-size: 38rem; object-fit: contain; }
.vs360-product-page .flex-control-thumbs { display: flex; gap: .65rem; margin-block-start: .75rem !important; overflow-x: auto; }
.vs360-product-page .flex-control-thumbs li { flex: 0 0 5rem; }
.vs360-product-page .flex-control-thumbs img { aspect-ratio: 1; border: 1px solid var(--vs360-color-border); border-radius: .4rem; object-fit: contain; }
.vs360-product-page .summary .product_title { color: var(--vs360-color-primary); font-size: clamp(2rem, 3vw, 2.5rem); line-height: 1.08; overflow-wrap: anywhere; }
.vs360-product-page .woocommerce-product-rating { align-items: center; display: flex; gap: .5rem; }
.vs360-product-page .summary .price { color: var(--vs360-color-secondary); font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 850; }
.vs360-product-page .summary .price del { color: var(--vs360-color-muted); font-size: .65em; font-weight: 500; }
.vs360-product-page .summary .price ins { text-decoration: none; }
.vs360-product-metrics { display: flex; flex-wrap: wrap; gap: .65rem; margin-block: .75rem; }
.vs360-product-metrics span { background: var(--vs360-color-light); border-radius: 999px; color: var(--vs360-color-primary); font-size: .875rem; padding: .45rem .75rem; }
.vs360-product-page form.cart { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; }
.vs360-product-page form.cart .quantity .qty { border: 1px solid var(--vs360-color-border); border-radius: .4rem; min-block-size: 48px; min-inline-size: 5rem; }
.vs360-product-page form.cart .single_add_to_cart_button { background: var(--vs360-color-secondary); border-radius: .45rem; color: #fff; flex: 1 1 15rem; min-block-size: 48px; }
.vs360-product-page table.variations { inline-size: 100%; }
.vs360-product-page table.variations :where(select, a) { min-block-size: 44px; }
.vs360-product-support > a { align-items: center; border: 1px solid var(--vs360-color-secondary); border-radius: .45rem; color: var(--vs360-color-secondary); display: flex; justify-content: center; min-block-size: 46px; text-decoration: none; }
.vs360-product-financing { background: var(--vs360-color-light); border-inline-start: 4px solid var(--vs360-color-secondary); border-radius: .4rem; color: var(--vs360-color-primary); padding: .75rem; }
.vs360-product-support ul { border: 1px solid var(--vs360-color-border); border-radius: .65rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; margin: .75rem 0; padding: 0; }
.vs360-product-support li { color: var(--vs360-color-primary); min-block-size: 44px; padding: .75rem; }
.vs360-product-page .woocommerce-tabs, .vs360-product-page .related { grid-column: 1 / -1; inline-size: 100%; }
.vs360-product-page .woocommerce-tabs { border: 1px solid var(--vs360-color-border); border-radius: .75rem; padding: 1rem; }
.vs360-product-page .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 !important; }
.vs360-product-page .woocommerce-tabs ul.tabs li { border-radius: .4rem !important; min-block-size: 44px; }
.vs360-product-page .related > h2 { color: var(--vs360-color-primary); text-align: center; }
.vs360-product-page .related ul.products { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vs360-product-page .related li.product { border: 1px solid var(--vs360-color-border); border-radius: .75rem; inline-size: auto !important; margin: 0 !important; padding: 1rem; }
.vs360-product-page :where(a, button, input, select, textarea):focus-visible { outline: 3px solid var(--vs360-color-discount); outline-offset: 3px; }
@media (max-width: 63.9375rem) { .vs360-product-page div.product .product-entry-wrapper { grid-template-columns: 1fr 1fr !important; } }
@media (max-width: 47.9375rem) {
	body.vs360-product-page { overflow-x: hidden; }
	.vs360-product-page .site-main :where(.product.type-product, .woocommerce-breadcrumb) { inline-size: calc(100% - 1.25rem); }
	.vs360-product-page div.product { padding-block-end: max(4rem, env(safe-area-inset-bottom)); }
	.vs360-product-page div.product .product-entry-wrapper { display: block !important; }
	.vs360-product-page div.product :where(.woocommerce-product-gallery, .summary) { grid-column: auto !important; }
	.vs360-product-page div.product > .summary { margin-block-start: 1rem; }
	.vs360-product-page .summary .product_title { font-size: 1.8rem; }
	.vs360-product-page form.cart { align-items: stretch; flex-direction: column; }
	.vs360-product-page form.cart .quantity, .vs360-product-page form.cart .quantity .qty, .vs360-product-page form.cart .single_add_to_cart_button { inline-size: 100%; }
	.vs360-product-page .woocommerce-tabs ul.tabs { align-items: stretch; flex-direction: column; }
	.vs360-product-page .woocommerce-tabs ul.tabs li { inline-size: 100%; }
	.vs360-product-page .related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (prefers-reduced-motion: reduce) { .vs360-product-page * { transition: none !important; } }
