/* Alta Clinic product pages. Reuse the site's font, with no additional assets. */
#Content .altaclinic-product-page {
	--ac-ink: #202726;
	--ac-body: #454b49;
	--ac-muted: #626966;
	--ac-line: #dedfdb;
	font-size: 16px;
	line-height: 1.65;
	letter-spacing: 0;
	color: var(--ac-body);
}

#Content .altaclinic-product-page > .product_wrapper {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 4vw, 64px);
	align-items: start;
	padding: 16px 0 0;
	margin-bottom: 44px;
}
#Content .altaclinic-product-page > .product_wrapper::before,
#Content .altaclinic-product-page > .product_wrapper::after {
	display: none;
}
#Content .altaclinic-product-page > .product_wrapper > .product_image_wrapper,
#Content .altaclinic-product-page > .product_wrapper > .summary {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0;
	float: none !important;
	margin: 0;
}
#Content .altaclinic-product-page > .product_wrapper > .share-simple-wrapper {
	grid-column: 1 / -1;
}
#Content .altaclinic-product-page .product_image_wrapper .woocommerce-product-gallery {
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	background: #fff;
	opacity: 1 !important;
}
/* Show the first illustration immediately, before the gallery script is ready. */
#Content .altaclinic-product-page .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:not(:first-child) {
	display: none;
}
#Content .altaclinic-product-page .product_image_wrapper .woocommerce-product-gallery__image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	transform: none;
}
#Content .altaclinic-product-page .product_image_wrapper .flex-control-thumbs {
	margin: 16px 0 0;
}
#Content .altaclinic-product-page .product_image_wrapper .flex-control-thumbs li {
	box-sizing: border-box;
	padding: 4px;
}
#Content .altaclinic-product-page .product_image_wrapper .flex-control-thumbs img {
	border: 1px solid var(--ac-line);
	object-fit: contain;
}
#Content .altaclinic-product-page .summary.entry-summary {
	color: var(--ac-body);
	font-size: 16px;
	line-height: 1.65;
}
#Content .altaclinic-product-page .summary h1.product_title {
	width: auto;
	float: none;
	margin: 0 0 18px;
	padding: 0;
	font-size: clamp(28px, 3vw, 38px);
	font-weight: 600;
	line-height: 1.18;
	letter-spacing: -0.025em;
	color: var(--ac-ink);
	overflow-wrap: anywhere;
}
#Content .altaclinic-product-page .summary h1.product_title::after {
	display: none;
}
#Content .altaclinic-product-page .summary > .price,
#Content .altaclinic-product-page .summary .single_variation .price {
	float: none;
	margin: 0 0 24px;
	padding: 0;
	font-size: 32px !important;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--ac-ink);
}
#Content .altaclinic-product-page .summary .price del {
	font-size: 20.16px;
	font-weight: 400;
	color: var(--ac-muted);
	opacity: 1;
}
#Content .altaclinic-product-page .summary .price ins {
	background: none;
	color: var(--ac-ink);
	text-decoration: none;
}
#Content .altaclinic-product-page .summary .woocommerce-product-details__short-description {
	width: 100%;
	float: none;
	margin: 0 0 26px;
	font-size: 16px;
	line-height: 1.7;
	letter-spacing: 0;
}
#Content .altaclinic-product-page .woocommerce-product-details__short-description p {
	margin: 0 0 14px;
}
#Content .altaclinic-product-page .woocommerce-product-details__short-description p:has(> em:only-child),
#Content .altaclinic-product-page .altaclinic-vat-note {
	font-size: 15px;
	line-height: 1.7;
	color: var(--ac-muted);
	text-align: left !important;
}
#Content .altaclinic-product-page .altaclinic-vat-note {
	margin-top: 18px;
	padding-top: 14px;
	border-top: 1px solid var(--ac-line);
}
#Content .altaclinic-product-page .woocommerce-product-details__short-description a,
#Content .altaclinic-product-page .altaclinic-product-description a {
	color: var(--ac-ink);
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* Native WooCommerce forms and events remain in place. */
#Content .altaclinic-product-page .summary > form.cart {
	float: none;
	max-width: none;
	margin: 24px 0 !important;
	padding-top: 24px;
	border-top: 1px solid var(--ac-line);
}
#Content .altaclinic-product-page .summary .variations {
	width: 100%;
	margin: 0 0 18px;
	padding: 0;
	background: none;
}
#Content .altaclinic-product-page .summary .variations tr,
#Content .altaclinic-product-page .summary .variations th,
#Content .altaclinic-product-page .summary .variations td {
	display: block;
	width: 100%;
	box-sizing: border-box;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}
#Content .altaclinic-product-page .summary .variations label {
	display: block;
	margin: 0 0 8px;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
	color: var(--ac-ink);
}
#Content .altaclinic-product-page .summary .variations select {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	min-height: 48px;
	margin: 0 0 10px;
	padding: 12px;
	border: 1px solid #858b88;
	border-radius: 0;
	background-color: #fff;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.4;
	color: var(--ac-ink);
}
#Content .altaclinic-product-page .summary .reset_variations {
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}
#Content .altaclinic-product-page .summary .quantity {
	float: left;
	margin: 0 12px 12px 0;
}
#Content .altaclinic-product-page .summary .quantity .qty {
	box-sizing: border-box;
	width: 72px;
	min-height: 50px;
	margin: 0;
	padding: 10px 6px;
	border: 1px solid #858b88;
	border-radius: 0;
	font-size: 16px;
	line-height: 28px;
	color: var(--ac-ink);
	background: #fff;
}
#Content .altaclinic-product-page .summary form.cart .single_add_to_cart_button {
	box-sizing: border-box;
	float: none;
	min-height: 50px;
	max-width: 100%;
	margin: 0 0 12px !important;
	padding: 12px 24px !important;
	border: 1px solid var(--ac-ink) !important;
	border-radius: 0;
	background: var(--ac-ink) !important;
	color: #fff !important;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	letter-spacing: 0;
	white-space: normal;
	box-shadow: none;
}
#Content .altaclinic-product-page .summary form.cart .single_add_to_cart_button:hover {
	background: #000 !important;
}
#Content .altaclinic-product-page .summary form.cart .single_add_to_cart_button.disabled {
	opacity: 0.5;
}
#Content .altaclinic-product-page :is(button, a, select, input):focus-visible {
	outline: 2px solid var(--ac-ink);
	outline-offset: 4px;
}
#Content .altaclinic-product-page .summary #gift-this-product {
	clear: both;
	margin: 24px 0 0;
	padding: 24px;
	background: #f9f9f9;
	letter-spacing: 0;
}
#Content .altaclinic-product-page #gift-this-product .gift-this-product-heading {
	font-size: 21px;
	color: var(--ac-ink);
}
#Content .altaclinic-product-page #gift-this-product .gift-this-product-title-message {
	font-size: 15px;
	line-height: 1.65;
	color: var(--ac-body);
}
#Content .altaclinic-product-page #gift-this-product #give-as-present {
	border-radius: 0;
	font-weight: 600;
}

/* Keep the square, fine black frames requested for the lower sections. */
#Content .altaclinic-product-page .altaclinic-product-description {
	margin: 0 0 36px;
	padding: 28px;
	color: var(--ac-body);
	font-size: 16px;
	line-height: 1.7;
}
#Content .altaclinic-product-page .altaclinic-product-description__title,
#Content .altaclinic-product-page > :is(.related, .upsells).products > h2 {
	margin: 0 0 24px;
	font-size: 24px;
	line-height: 1.3;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--ac-ink);
	text-align: center;
}
#Content .altaclinic-product-page .altaclinic-product-description__content {
	max-width: 920px;
	margin: 0 auto;
	padding: 0;
}
#Content .altaclinic-product-page .altaclinic-product-description__content > :last-child {
	margin-bottom: 0;
}
#Content .altaclinic-product-page > :is(.related, .upsells).products {
	padding: 28px 0 0;
	margin: 36px 0 0;
	border: 0;
	border-top: 0.5px solid #000;
}
#Content .altaclinic-product-page > :is(.related, .upsells).products ul.products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
	margin: 0;
}
#Content .altaclinic-product-page > :is(.related, .upsells).products ul.products::before,
#Content .altaclinic-product-page > :is(.related, .upsells).products ul.products::after {
	display: none;
}
#Content .altaclinic-product-page > :is(.related, .upsells).products ul.products li.product {
	width: 100% !important;
	min-width: 0;
	margin: 0 !important;
	float: none;
	text-align: center;
}
#Content .altaclinic-product-page > :is(.related, .upsells).products li.product .desc {
	padding: 16px 0;
}
#Content .altaclinic-product-page > :is(.related, .upsells).products li.product h4 {
	font-size: 17px;
	line-height: 1.4;
	font-weight: 600;
	letter-spacing: 0;
}
#Content .altaclinic-product-page > :is(.related, .upsells).products li.product h4 a {
	color: var(--ac-ink);
}
#Content .altaclinic-product-page > :is(.related, .upsells).products li.product .price {
	font-size: 16px;
	line-height: 1.5;
	color: var(--ac-ink);
}

@media (max-width: 767px) {
	#Content .altaclinic-product-page > .product_wrapper {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
		padding-top: 0;
		margin-bottom: 28px;
	}
	#Content .altaclinic-product-page .product_image_wrapper .woocommerce-product-gallery {
		padding: 0;
	}
	#Content .altaclinic-product-page .summary h1.product_title {
		font-size: 30px;
	}
	#Content .altaclinic-product-page .summary > .price {
		font-size: 28px !important;
	}
	#Content .altaclinic-product-page .summary form.cart .single_add_to_cart_button {
		width: calc(100% - 84px);
		padding: 12px 10px !important;
		font-size: 15px;
	}
	#Content .altaclinic-product-page .summary #gift-this-product,
	#Content .altaclinic-product-page .altaclinic-product-description {
		padding: 22px 16px;
	}
	#Content .altaclinic-product-page > :is(.related, .upsells).products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}
	#Content .altaclinic-product-page > :is(.related, .upsells).products li.product h4 {
		font-size: 15px;
	}
}
@media (max-width: 359px) {
	#Content .altaclinic-product-page > :is(.related, .upsells).products ul.products {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Preserve the approved crossed-out price size while strengthening the current price. */
@media(max-width:767px) {
 #Content .altaclinic-product-page .summary .price del { font-size:18px; }
 #Content .altaclinic-product-page .summary .single_variation .price { font-size:28px!important; }
}
