.us-product-page { padding: 40px 24px 80px; }
.us-single-product-wrap {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 56px;
}

/* Gallery ------------------------------------------------------------------- */
.us-gallery-main {
	position: relative;
	aspect-ratio: 4/5;
	border-radius: var(--us-radius-md);
	overflow: hidden;
	background: var(--us-grey-50);
	cursor: zoom-in;
}
.us-gallery-main-img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.15s ease; }
.us-gallery-main.is-zoomed .us-gallery-main-img { transform: scale(1.8); }

.us-gallery-thumbs { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.us-gallery-thumb {
	width: 72px; height: 90px;
	border: 2px solid transparent;
	border-radius: var(--us-radius-sm);
	overflow: hidden;
	background: none; padding: 0;
}
.us-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.us-gallery-thumb.is-active { border-color: var(--us-black); }

/* Info column ----------------------------------------------------------------- */
.us-product-info-col .product_title { font-size: clamp(24px, 3vw, 34px); margin-bottom: 10px; }
.us-product-info-col .price { font-size: 20px; font-weight: 700; display: block; margin-bottom: 18px; }
.us-product-info-col .price del { color: var(--us-grey-500); font-weight: 400; margin-right: 10px; }
.us-product-info-col .price ins { text-decoration: none; color: var(--us-red); }

.us-product-info-col .woocommerce-product-details__short-description { color: var(--us-grey-700); margin-bottom: 24px; }

/* Variations form (size/color) */
.variations { width: 100%; margin-bottom: 20px; }
.variations tr { display: block; margin-bottom: 16px; }
.variations td.label { display: block; font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 8px; }
.variations td.value select {
	width: 100%; max-width: 320px;
	padding: 12px 14px;
	border: 1px solid var(--us-grey-300);
	border-radius: var(--us-radius-sm);
	font-family: var(--us-font-body);
}
.reset_variations { display: inline-block; margin-top: 8px; font-size: 12px; text-decoration: underline; color: var(--us-grey-500); }

.quantity { display: inline-flex; align-items: center; border: 1px solid var(--us-grey-300); border-radius: var(--us-radius-sm); margin-right: 12px; }
.quantity input.qty { width: 52px; border: none; text-align: center; padding: 12px 0; font-family: var(--us-font-body); }

.single_add_to_cart_button {
	background: var(--us-red); color: var(--us-white);
	border: none; padding: 16px 32px;
	font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
	border-radius: var(--us-radius-sm);
	font-size: 14px;
}
.single_add_to_cart_button:hover { background: var(--us-red-dark); }

.product_meta { margin-top: 24px; font-size: 13px; color: var(--us-grey-500); }

/* Accordion (tabs replacement) --------------------------------------------------- */
.us-product-accordion { margin-top: 32px; border-top: 1px solid var(--us-grey-100); }
.us-accordion-item { border-bottom: 1px solid var(--us-grey-100); }
.us-accordion-header {
	width: 100%;
	display: flex; align-items: center; justify-content: space-between;
	background: none; border: none;
	padding: 18px 0;
	font-weight: 700; font-size: 14px; text-transform: uppercase; letter-spacing: 0.04em;
}
.us-accordion-icon { font-size: 20px; font-weight: 400; }
.us-accordion-panel { padding: 0 0 20px; color: var(--us-grey-700); font-size: 14px; line-height: 1.7; }

/* Related products */
.us-related-products { max-width: var(--us-container-max); margin: 60px auto 0; padding: 0 24px; }
.us-related-products h2 { font-size: 26px; margin-bottom: 24px; }
.us-related-products ul.products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
