/* Udgoon single-product page — scoped under #udg-product-page.
   Mirrors the approved shop/archive token system; class names are pdp-unique. */

/* Release the theme's boxed content width (same pattern as the shop page). */
#main.udg-pdp-main{
	max-width: none;
	padding: 0;
	margin: 0;
}
#udg-product-page{
	--udg-canvas:#F3EFE6;
	--udg-ink:#102A2B;
	--udg-text-2:#4F5D59;
	--udg-muted:#5D6762;
	--udg-teal:#0F5B59;
	--udg-teal-hover:#0B4948;
	--udg-teal-press:#083F3E;
	--udg-on-action:#FFFDFC;
	--udg-cloud:#E8EEE9;
	--udg-line:#C9D1CC;
	--udg-border:#71817B;
	--udg-error:#A6453D;
	--udg-font-serif:"Bodoni Moda",serif;
	--udg-font-sans:"DM Sans",sans-serif;
}
#udg-product-page *,#udg-product-page *::before,#udg-product-page *::after{ box-sizing: border-box; }
#udg-product-page{
	background: var(--udg-canvas);
	color: var(--udg-ink);
	font-family: var(--udg-font-sans);
	-webkit-font-smoothing: antialiased;
}
#udg-product-page .udg-pdp{
	max-width: 1360px;
	margin: 0 auto;
	padding: 0 40px;
}
@media (max-width: 1099px){ #udg-product-page .udg-pdp{ padding: 0 24px; } }
@media (max-width: 599px){ #udg-product-page .udg-pdp{ padding: 0 16px; } }

/* ---------- notices ---------- */
.udg-pdp-notices{ max-width: 1360px; margin: 0 auto; padding: 16px 40px 0; }
@media (max-width: 1099px){ .udg-pdp-notices{ padding: 16px 24px 0; } }
@media (max-width: 599px){ .udg-pdp-notices{ padding: 16px 16px 0; } }
.udg-pdp-notices:empty{ padding: 0; }
.udg-pdp-notices .woocommerce-message,
.udg-pdp-notices .woocommerce-info,
.udg-pdp-notices .woocommerce-error{
	margin: 0;
	padding: 12px 16px;
	border-radius: 4px;
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 22px;
	list-style: none;
}
.udg-pdp-notices .woocommerce-message{
	background: var(--udg-cloud);
	border: 1px solid var(--udg-line);
	border-top: 2px solid var(--udg-teal);
	color: var(--udg-ink);
}
.udg-pdp-notices .woocommerce-message::before{ content: none; }
.udg-pdp-notices .woocommerce-info{ background: var(--udg-cloud); border: 1px solid var(--udg-line); color: var(--udg-ink); border-top: 2px solid var(--udg-border); }
.udg-pdp-notices .woocommerce-error{
	background: #FBF1EF;
	border: 1px solid #E3C8C4;
	border-top: 2px solid var(--udg-error);
	color: var(--udg-ink);
}
.udg-pdp-notices .woocommerce-error::before,
.udg-pdp-notices .woocommerce-info::before{ content: none; }
.udg-pdp-notices a{ color: var(--udg-teal); }
.udg-pdp-notices .button,
.udg-pdp-notices a.button{
	display: inline-block;
	background: var(--udg-teal);
	color: var(--udg-on-action);
	border: 0;
	border-radius: 4px;
	padding: 8px 16px;
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	margin: 0 12px 0 0;
	float: none;
}

/* ---------- Section A: breadcrumb ---------- */
#udg-product-page .udg-pdp__crumbs{ padding-top: 24px; }
#udg-product-page .udg-pdp__crumbs ol{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	color: var(--udg-muted);
}
#udg-product-page .udg-pdp__crumbs li{ display: inline; }
#udg-product-page .udg-pdp__crumbs li + li::before{
	content: "/";
	margin-right: 8px;
	color: var(--udg-line);
}
#udg-product-page .udg-pdp__crumbs a{ color: var(--udg-text-2); text-decoration: none; }
#udg-product-page .udg-pdp__crumbs a:hover{ color: var(--udg-teal); }
#udg-product-page .udg-pdp__crumbs a:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pdp__crumbs li[aria-current]{ color: var(--udg-muted); }
@media (max-width: 767px){ #udg-product-page .udg-pdp__crumbs{ padding-top: 16px; } }

/* ---------- Section B: main two-column ---------- */
#udg-product-page .udg-pdp__main{
	display: grid;
	grid-template-columns: 56fr 44fr;
	gap: 48px;
	margin-top: 24px;
	align-items: start;
}
@media (min-width: 900px) and (max-width: 1099px){
	#udg-product-page .udg-pdp__main{ grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp__main{ grid-template-columns: 1fr; gap: 28px; margin-top: 20px; }
}
@media (max-width: 599px){
	#udg-product-page .udg-pdp__main{ gap: 24px; }
}

/* ---------- gallery (native WC markup restyled) ---------- */
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery{
	position: relative;
	opacity: 1 !important;
	max-width: none;
}
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery__wrapper{ margin: 0; }
#udg-product-page .udg-pdp__gallery .flex-viewport{
	border-radius: 10px;
	overflow: hidden;
	background: var(--udg-cloud);
}
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery__image{
	display: block;
	aspect-ratio: 4 / 5;
	position: relative;
}
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery__image a{ display: block; height: 100%; }
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery__image img{
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	display: block;
}
/* thumbnails — WC flex-control-thumbs (generated by flexslider) */
#udg-product-page .udg-pdp__gallery .flex-control-thumbs{
	display: flex;
	gap: 8px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scroll-padding-inline: 8px;
	scrollbar-width: none;
}
#udg-product-page .udg-pdp__gallery .flex-control-thumbs::-webkit-scrollbar{ display: none; }
#udg-product-page .udg-pdp__gallery .flex-control-thumbs li{
	flex: 0 0 64px;
	width: 64px;
	height: 80px;
	margin: 0;
	padding: 0;
	float: none;
	border: 1px solid var(--udg-line);
	border-radius: 4px;
	overflow: hidden;
	background: var(--udg-cloud);
}
@media (max-width: 599px){
	#udg-product-page .udg-pdp__gallery .flex-control-thumbs li{ flex: 0 0 56px; width: 56px; height: 70px; }
}
#udg-product-page .udg-pdp__gallery .flex-control-thumbs img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	opacity: 0.65;
	cursor: pointer;
	display: block;
}
#udg-product-page .udg-pdp__gallery .flex-control-thumbs img.flex-active{
	opacity: 1;
}
#udg-product-page .udg-pdp__gallery .flex-control-thumbs li:has(img.flex-active){
	border: 2px solid var(--udg-teal);
}
/* zoom trigger — 44px target, top/right 12px */
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery__trigger{
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 5;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--udg-canvas);
	border-radius: 4px;
	text-decoration: none;
}
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery__trigger img{ width: 20px; height: 20px; margin: 0; }
#udg-product-page .udg-pdp__gallery .woocommerce-product-gallery__trigger:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
/* flexslider prev/next — subtle 44px affordances inside the media frame */
#udg-product-page .udg-pdp__gallery .flex-direction-nav{ margin: 0; padding: 0; list-style: none; }
#udg-product-page .udg-pdp__gallery .flex-direction-nav a{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 5;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(243,239,230,0.94);
	border-radius: 4px;
	color: var(--udg-ink);
	font-size: 0;
	line-height: 0;
	overflow: hidden;
	opacity: 1;
	text-decoration: none;
}
#udg-product-page .udg-pdp__gallery .flex-direction-nav a::before{
	content: "";
	width: 10px;
	height: 10px;
	border: solid currentColor;
	border-width: 1.5px 1.5px 0 0;
	display: block;
}
#udg-product-page .udg-pdp__gallery .flex-direction-nav .flex-prev{ left: 12px; }
#udg-product-page .udg-pdp__gallery .flex-direction-nav .flex-prev::before{ transform: rotate(-135deg); }
#udg-product-page .udg-pdp__gallery .flex-direction-nav .flex-next{ right: 12px; }
#udg-product-page .udg-pdp__gallery .flex-direction-nav .flex-next::before{ transform: rotate(45deg); }
#udg-product-page .udg-pdp__gallery .flex-direction-nav a:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
/* sale flash — only renders when genuinely on sale */
#udg-product-page .udg-pdp__gallery .onsale{
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 5;
	margin: 0;
	padding: 6px 10px;
	min-height: 0;
	min-width: 0;
	background: var(--udg-teal);
	color: var(--udg-on-action);
	border-radius: 4px;
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0;
}

/* ---------- Section B2: summary ---------- */
#udg-product-page .udg-pdp__cat{ margin: 0; }
#udg-product-page .udg-pdp__cat a{
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	font-weight: 500;
	color: var(--udg-text-2);
	text-decoration: none;
}
#udg-product-page .udg-pdp__cat a:hover{ color: var(--udg-teal); }
#udg-product-page .udg-pdp__cat a:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pdp__title{
	font-family: var(--udg-font-serif);
	font-weight: 500;
	font-size: 44px;
	line-height: 48px;
	letter-spacing: -0.02em;
	color: var(--udg-ink);
	margin: 12px 0 0;
}
@media (min-width: 900px) and (max-width: 1099px){
	#udg-product-page .udg-pdp__title{ font-size: 38px; line-height: 42px; }
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp__title{ font-size: 32px; line-height: 36px; }
}
#udg-product-page .udg-pdp__price{ margin-top: 16px; }
#udg-product-page .udg-pdp__price .price{
	font-family: var(--udg-font-sans);
	font-size: 22px;
	line-height: 28px;
	font-weight: 500;
	color: var(--udg-ink);
	margin: 0;
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp__price .price{ font-size: 20px; line-height: 26px; }
}
#udg-product-page .udg-pdp__price .price del{ color: var(--udg-muted); margin-right: 8px; }
#udg-product-page .udg-pdp__price .price ins{ text-decoration: none; }
#udg-product-page .udg-pdp__excerpt{
	margin-top: 20px;
	max-width: 560px;
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 26px;
	color: var(--udg-text-2);
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp__excerpt{ font-size: 15px; line-height: 24px; }
}
#udg-product-page .udg-pdp__excerpt p{ margin: 0; }
#udg-product-page .udg-pdp__excerpt p + p{ margin-top: 12px; }
#udg-product-page .udg-pdp__excerpt a{ color: var(--udg-teal); text-decoration: underline; text-underline-offset: 3px; }
#udg-product-page .udg-pdp__stock{ margin-top: 16px; }
#udg-product-page .udg-pdp__stock .stock{
	margin: 0;
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 20px;
	color: var(--udg-text-2);
}
#udg-product-page .udg-pdp__stock .stock.out-of-stock,
#udg-product-page .udg-pdp__stock .stock.available-on-backorder{ color: var(--udg-error); }

/* ---------- purchase row ---------- */
#udg-product-page .udg-pdp__purchase{ margin-top: 24px; }
#udg-product-page .udg-pdp__purchase form.cart{
	display: flex;
	gap: 12px;
	align-items: stretch;
	margin: 0;
}
#udg-product-page .udg-pdp__purchase .quantity{
	position: relative;
	display: flex;
	align-items: center;
	flex: 0 0 112px;
	width: 112px;
	margin: 0;
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp__purchase .quantity{ flex: 0 0 100px; width: 100px; }
}
#udg-product-page .udg-pdp__purchase .quantity input.qty{
	width: 100%;
	height: 44px;
	margin: 0;
	padding: 0 30px;
	border: 1px solid var(--udg-border);
	border-radius: 4px;
	background: transparent;
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 20px;
	color: var(--udg-ink);
	text-align: center;
	appearance: textfield;
	-moz-appearance: textfield;
}
#udg-product-page .udg-pdp__purchase .quantity input.qty::-webkit-outer-spin-button,
#udg-product-page .udg-pdp__purchase .quantity input.qty::-webkit-inner-spin-button{ -webkit-appearance: none; margin: 0; }
#udg-product-page .udg-pdp__purchase .quantity input.qty:focus{ outline: 2px solid var(--udg-teal); outline-offset: 2px; }
/* JS-added stepper buttons */
#udg-product-page .udg-pdp__qty-btn{
	position: absolute;
	top: 0;
	width: 30px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	color: var(--udg-ink);
	font-family: var(--udg-font-sans);
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}
#udg-product-page .udg-pdp__qty-btn--minus{ left: 0; }
#udg-product-page .udg-pdp__qty-btn--plus{ right: 0; }
#udg-product-page .udg-pdp__qty-btn:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 2px; }
#udg-product-page .udg-pdp__qty-btn:disabled{ opacity: 0.4; cursor: default; }
/* native ATC button restyled to the approved family */
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button,
#udg-product-page .udg-pdp__purchase form.cart .button{
	flex: 1 1 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	height: 44px;
	margin: 0;
	padding: 0 24px;
	border: 0;
	border-radius: 4px;
	background: var(--udg-teal);
	color: var(--udg-on-action);
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 220ms ease;
	float: none;
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp__purchase .single_add_to_cart_button{ padding: 0 12px; }
}
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button:hover{ background: var(--udg-teal-hover); }
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button:active{ background: var(--udg-teal-press); }
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button.disabled,
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button[disabled]{ pointer-events: none; opacity: 0.75; }
/* variable/external native forms keep their own structure */
#udg-product-page .udg-pdp__purchase table.variations{
	margin: 0 0 16px;
	border-collapse: collapse;
	width: 100%;
}
#udg-product-page .udg-pdp__purchase table.variations td,
#udg-product-page .udg-pdp__purchase table.variations th{
	display: block;
	text-align: left;
	padding: 0;
	border: 0;
}
#udg-product-page .udg-pdp__purchase table.variations .label{
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	color: var(--udg-ink);
	margin-bottom: 6px;
}
#udg-product-page .udg-pdp__purchase table.variations select{
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--udg-border);
	border-radius: 4px;
	background: var(--udg-canvas);
	font-family: var(--udg-font-sans);
	font-size: 14px;
	color: var(--udg-ink);
}
#udg-product-page .udg-pdp__purchase .reset_variations{
	display: inline-block;
	margin-top: 8px;
	font-size: 12px;
	color: var(--udg-text-2);
	text-decoration: underline;
	text-underline-offset: 3px;
}
#udg-product-page .udg-pdp__purchase .single_variation_wrap .woocommerce-variation-price .price,
#udg-product-page .udg-pdp__purchase .woocommerce-variation-price .price{
	font-family: var(--udg-font-sans);
	font-size: 20px;
	font-weight: 500;
	color: var(--udg-ink);
}
#udg-product-page .udg-pdp__purchase .single_variation_wrap{ margin-bottom: 12px; }
/* non-JS add-to-cart feedback + AJAX inline note */
#udg-product-page .udg-pdp__cart-note{
	display: none;
	margin-top: 12px;
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 20px;
	color: var(--udg-ink);
}
#udg-product-page .udg-pdp__cart-note.is-visible{ display: block; }
#udg-product-page .udg-pdp__cart-note a{ color: var(--udg-teal); font-weight: 500; text-decoration: underline; text-underline-offset: 3px; }
#udg-product-page .udg-pdp__cart-note.is-error{ color: var(--udg-error); }
/* YITH/native duplicated button must not render inside our summary */
#udg-product-page .yith-add-to-wishlist-button-block,
#udg-product-page .yith-wcwl-add-to-wishlist{ display: none !important; }

/* ---------- wishlist bridge control ---------- */
#udg-product-page .udg-pdp__wish{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 44px;
	margin-top: 12px;
	padding: 0 16px;
	background: transparent;
	border: 1px solid var(--udg-border);
	border-radius: 4px;
	color: var(--udg-ink);
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	transition: border-color 220ms ease, background-color 220ms ease;
}
#udg-product-page .udg-pdp__wish:hover{ border-color: var(--udg-ink); background: var(--udg-cloud); }
#udg-product-page .udg-pdp__wish:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pdp__wish svg{ flex: 0 0 22px; color: var(--udg-ink); }
#udg-product-page .udg-pdp__wish.is-saved svg,
#udg-product-page .udg-pdp__wish.is-wishlisted svg{ color: var(--udg-teal); }
#udg-product-page .udg-pdp__wish.is-saved svg path,
#udg-product-page .udg-pdp__wish.is-wishlisted svg path{ fill: var(--udg-teal); }

/* ---------- SKU ---------- */
#udg-product-page .udg-pdp__sku{
	margin: 20px 0 0;
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	color: var(--udg-muted);
}
#udg-product-page .udg-pdp__sku-label{ font-weight: 500; }

/* ---------- approved dot animation ---------- */
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button::after,
#udg-product-page .udg-pcard__cta::after,
#udg-product-page .udg-pdp-reviews #respond .form-submit .submit::after{
	content: "";
	display: inline-block;
	position: static;
	flex: 0 0 auto;
	width: 0;
	height: 4px;
	margin: 0;
	border-radius: 50%;
	background: currentColor;
	opacity: 1;
	transform: none;
	transition: width .25s, margin-left .25s;
}
#udg-product-page .udg-pdp__purchase .single_add_to_cart_button:focus-visible::after,
#udg-product-page .udg-pcard__cta:focus-visible::after,
#udg-product-page .udg-pdp-reviews #respond .form-submit .submit:focus-visible::after{
	width: 4px;
	margin-left: 8px;
}
@media (hover:hover) and (pointer:fine){
	#udg-product-page .udg-pdp__purchase .single_add_to_cart_button:hover::after,
	#udg-product-page .udg-pcard__cta:hover::after,
	#udg-product-page .udg-pdp-reviews #respond .form-submit .submit:hover::after{
		width: 4px;
		margin-left: 8px;
	}
}
@media (prefers-reduced-motion:reduce){
	#udg-product-page .udg-pdp__purchase .single_add_to_cart_button::after,
	#udg-product-page .udg-pcard__cta::after,
	#udg-product-page .udg-pdp-reviews #respond .form-submit .submit::after{ transition: none; }
}

/* ---------- Section C: accordions ---------- */
#udg-product-page .udg-pdp-acc{
	margin-top: 56px;
	border-top: 1px solid var(--udg-line);
}
@media (max-width: 899px){ #udg-product-page .udg-pdp-acc{ margin-top: 40px; } }
#udg-product-page .udg-pdp-acc__row{ border-bottom: 1px solid var(--udg-line); }
#udg-product-page .udg-pdp-acc__head{
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 60px;
	padding: 0 44px 0 0;
	cursor: pointer;
	list-style: none;
	position: relative;
}
@media (max-width: 899px){ #udg-product-page .udg-pdp-acc__head{ min-height: 56px; } }
#udg-product-page .udg-pdp-acc__head::-webkit-details-marker{ display: none; }
#udg-product-page .udg-pdp-acc__head:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pdp-acc__label{
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--udg-ink);
}
#udg-product-page .udg-pdp-acc__icon{
	position: absolute;
	right: 13px;
	top: 50%;
	width: 18px;
	height: 18px;
	transform: translateY(-50%);
}
#udg-product-page .udg-pdp-acc__icon::before,
#udg-product-page .udg-pdp-acc__icon::after{
	content: "";
	position: absolute;
	background: var(--udg-ink);
}
#udg-product-page .udg-pdp-acc__icon::before{ left: 0; top: 8px; width: 18px; height: 1.5px; }
#udg-product-page .udg-pdp-acc__icon::after{ left: 8px; top: 0; width: 1.5px; height: 18px; }
#udg-product-page .udg-pdp-acc__row[open] .udg-pdp-acc__icon::after{ display: none; }
#udg-product-page .udg-pdp-acc__panel{ padding: 0 0 24px; }
@media (max-width: 899px){ #udg-product-page .udg-pdp-acc__panel{ padding-bottom: 20px; } }
#udg-product-page .udg-pdp-acc__content{
	max-width: 800px;
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 26px;
	color: var(--udg-text-2);
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp-acc__content{ font-size: 15px; line-height: 24px; }
}
#udg-product-page .udg-pdp-acc__content p:first-child{ margin-top: 0; }
#udg-product-page .udg-pdp-acc__content p:last-child{ margin-bottom: 0; }
#udg-product-page .udg-pdp-acc__content p{ margin: 12px 0; }
#udg-product-page .udg-pdp-acc__content a{ color: var(--udg-teal); text-decoration: underline; text-underline-offset: 3px; }
#udg-product-page .udg-pdp-acc__content ul,
#udg-product-page .udg-pdp-acc__content ol{ margin: 12px 0; padding-left: 20px; }
#udg-product-page .udg-pdp-acc__content li{ margin: 4px 0; }

/* attributes table -> two-column dl */
#udg-product-page .udg-pdp-attrs{ margin: 0; max-width: 800px; }
#udg-product-page .udg-pdp-attrs__row{
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid var(--udg-line);
}
#udg-product-page .udg-pdp-attrs__row:last-child{ border-bottom: 0; }
@media (max-width: 599px){
	#udg-product-page .udg-pdp-attrs__row{ grid-template-columns: 110px 1fr; }
}
#udg-product-page .udg-pdp-attrs__label{
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 22px;
	font-weight: 500;
	color: var(--udg-ink);
	margin: 0;
}
#udg-product-page .udg-pdp-attrs__value{
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 22px;
	color: var(--udg-text-2);
	margin: 0;
	overflow-wrap: anywhere;
}
#udg-product-page .udg-pdp-attrs__value p{ margin: 0; }

/* ---------- reviews ---------- */
#udg-product-page .udg-pdp-reviews .comment-reply-title{
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--udg-ink);
}
#udg-product-page .udg-pdp-reviews .woocommerce-Reviews-title{
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 24px;
	font-weight: 500;
	color: var(--udg-ink);
}
#udg-product-page .udg-pdp-reviews ol.commentlist{
	margin: 0 0 20px;
	padding: 0;
	list-style: none;
}
#udg-product-page .udg-pdp-reviews li.review{
	border-bottom: 1px solid var(--udg-line);
	padding: 16px 0;
}
#udg-product-page .udg-pdp-reviews .comment_container{ display: flex; gap: 12px; }
#udg-product-page .udg-pdp-reviews .avatar{
	width: 40px;
	height: 40px;
	border-radius: 50%;
	flex: 0 0 40px;
}
#udg-product-page .udg-pdp-reviews .comment-text{
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 22px;
	color: var(--udg-text-2);
	border: 0;
	padding: 0;
	margin: 0;
}
#udg-product-page .udg-pdp-reviews .comment-text p{ margin: 8px 0 0; }
#udg-product-page .udg-pdp-reviews .meta{ font-size: 12px; color: var(--udg-muted); }
#udg-product-page .udg-pdp-reviews .star-rating{ color: var(--udg-teal); }
#udg-product-page .udg-pdp-reviews #review_form_wrapper{ margin-top: 20px; }
#udg-product-page .udg-pdp-reviews #respond{ max-width: 680px; }
#udg-product-page .udg-pdp-reviews #respond label{
	display: block;
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	color: var(--udg-ink);
	margin: 0 0 6px;
}
#udg-product-page .udg-pdp-reviews #respond p{ margin: 0 0 16px; }
#udg-product-page .udg-pdp-reviews #respond input[type=text],
#udg-product-page .udg-pdp-reviews #respond input[type=email],
#udg-product-page .udg-pdp-reviews #respond input[type=url]{
	width: 100%;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--udg-border);
	border-radius: 4px;
	background: var(--udg-canvas);
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 20px;
	color: var(--udg-ink);
}
#udg-product-page .udg-pdp-reviews #respond textarea{
	width: 100%;
	min-height: 140px;
	padding: 12px;
	border: 1px solid var(--udg-border);
	border-radius: 4px;
	background: var(--udg-canvas);
	font-family: var(--udg-font-sans);
	font-size: 16px;
	line-height: 24px;
	color: var(--udg-ink);
	resize: vertical;
}
#udg-product-page .udg-pdp-reviews #respond input:focus,
#udg-product-page .udg-pdp-reviews #respond textarea:focus{
	outline: 2px solid var(--udg-teal);
	outline-offset: 2px;
}
#udg-product-page .udg-pdp-reviews #respond .form-submit .submit{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 24px;
	border: 0;
	border-radius: 4px;
	background: var(--udg-teal);
	color: var(--udg-on-action);
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: background-color 220ms ease;
}
#udg-product-page .udg-pdp-reviews #respond .form-submit .submit:hover{ background: var(--udg-teal-hover); }
#udg-product-page .udg-pdp-reviews #respond .form-submit .submit:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pdp-reviews p.stars a{ color: var(--udg-ink); }

/* ---------- Section D: related ---------- */
#udg-product-page .udg-pdp-related{ margin-top: 64px; }
@media (max-width: 1099px){ #udg-product-page .udg-pdp-related{ margin-top: 48px; } }
#udg-product-page .udg-pdp-related__title{
	font-family: var(--udg-font-serif);
	font-weight: 500;
	font-size: 36px;
	line-height: 40px;
	letter-spacing: -0.02em;
	color: var(--udg-ink);
	margin: 0 0 28px;
}
@media (max-width: 899px){
	#udg-product-page .udg-pdp-related__title{ font-size: 28px; line-height: 32px; margin-bottom: 24px; }
}
#udg-product-page .udg-pdp-related__grid{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 20px;
	row-gap: 40px;
	margin: 0;
	padding: 0;
	list-style: none;
}
@media (max-width: 1099px){
	#udg-product-page .udg-pdp-related__grid{ grid-template-columns: repeat(2, 1fr); column-gap: 20px; row-gap: 32px; }
}
@media (max-width: 599px){
	#udg-product-page .udg-pdp-related__grid{ column-gap: 12px; }
}

/* related card — mirrors the approved shop card */
#udg-product-page .udg-pcard__inner{
	display: flex;
	flex-direction: column;
	height: 100%;
}
#udg-product-page .udg-pcard__frame{ position: relative; }
#udg-product-page .udg-pcard__media{
	display: block;
	position: relative;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 10px;
	background: var(--udg-cloud);
	text-decoration: none;
}
#udg-product-page .udg-pcard__media:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pcard__img{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}
#udg-product-page .udg-pcard__img--secondary{
	opacity: 0;
	transition: opacity 250ms ease;
}
@media (hover:hover) and (pointer:fine){
	#udg-product-page .udg-pcard__media:hover .udg-pcard__img--secondary,
	#udg-product-page .udg-pcard__media:focus-visible .udg-pcard__img--secondary{ opacity: 1; }
}
@media (prefers-reduced-motion:reduce){
	#udg-product-page .udg-pcard__img--secondary{ transition: none; }
}
#udg-product-page .udg-pcard__noimg{ display: block; width: 100%; height: 100%; }
#udg-product-page .udg-pcard__wish{
	position: absolute;
	top: 8px;
	right: 8px;
	z-index: 5;
	width: 44px;
	height: 44px;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--udg-ink);
	cursor: pointer;
}
#udg-product-page .udg-pcard__wish:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pcard__wish svg{ width: 22px; height: 22px; }
#udg-product-page .udg-pcard__wish.is-saved svg,
#udg-product-page .udg-pcard__wish.is-wishlisted svg{ color: var(--udg-teal); }
#udg-product-page .udg-pcard__wish.is-saved svg path,
#udg-product-page .udg-pcard__wish.is-wishlisted svg path{ fill: var(--udg-teal); }
#udg-product-page .udg-pcard__title{
	font-family: var(--udg-font-serif);
	font-weight: 500;
	font-size: 24px;
	line-height: 28px;
	letter-spacing: -0.02em;
	margin: 12px 0 0;
}
@media (min-width: 768px) and (max-width: 1099px){
	#udg-product-page .udg-pcard__title{ font-size: 22px; line-height: 26px; }
}
@media (max-width: 767px){
	#udg-product-page .udg-pcard__title{ font-size: 18px; line-height: 22px; }
}
#udg-product-page .udg-pcard__title a{
	font: inherit;
	color: var(--udg-ink);
	text-decoration: none;
}
#udg-product-page .udg-pcard__title a:hover{ color: var(--udg-teal); }
#udg-product-page .udg-pcard__title a:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pcard__cat{
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	color: var(--udg-text-2);
	margin: 6px 0 0;
}
@media (max-width: 767px){
	#udg-product-page .udg-pcard__cat{ font-size: 11px; line-height: 16px; }
}
#udg-product-page .udg-pcard__price{
	font-family: var(--udg-font-sans);
	font-size: 14px;
	line-height: 20px;
	font-weight: 500;
	color: var(--udg-ink);
	margin: 6px 0 0;
}
@media (max-width: 767px){
	#udg-product-page .udg-pcard__price{ font-size: 13px; }
}
#udg-product-page .udg-pcard__price del{ color: var(--udg-muted); margin-right: 6px; }
#udg-product-page .udg-pcard__price ins{ text-decoration: none; }
#udg-product-page .udg-pcard__cta{
	display: flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	margin-top: auto;
	padding: 0 12px;
	border-radius: 4px;
	background: var(--udg-teal);
	color: var(--udg-on-action);
	font-family: var(--udg-font-sans);
	font-size: 12px;
	line-height: 18px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background-color 220ms ease;
}
@media (min-width: 1100px){ #udg-product-page .udg-pcard__cta{ height: 42px; } }
#udg-product-page .udg-pcard__cta:hover{ background: var(--udg-teal-hover); }
#udg-product-page .udg-pcard__cta:active{ background: var(--udg-teal-press); }
#udg-product-page .udg-pcard__cta:focus-visible{ outline: 2px solid var(--udg-teal); outline-offset: 3px; }
#udg-product-page .udg-pcard__cta[data-state="adding"]{ pointer-events: none; opacity: 0.75; }
#udg-product-page .udg-pcard__title,
#udg-product-page .udg-pcard__cat,
#udg-product-page .udg-pcard__price{ flex: 0 0 auto; }
#udg-product-page .udg-pcard__price{ margin-bottom: 16px; }
@media (max-width: 767px){ #udg-product-page .udg-pcard__price{ margin-bottom: 14px; } }
#udg-product-page .udg-pcard__oos{
	font-size: 13px;
	line-height: 20px;
	color: var(--udg-muted);
	margin: auto 0 0;
	padding-top: 16px;
}
#udg-product-page .udg-pcard__oos a{ color: var(--udg-teal); }

/* status live region (visually hidden) */
#udg-product-page .udg-pdp__status{
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
}

/* end gap to footer */
#udg-product-page .udg-pdp{ padding-bottom: 64px; }
@media (max-width: 1099px){ #udg-product-page .udg-pdp{ padding-bottom: 48px; } }
