/*
 * PDP styles — USR-0264 / /products/retatrutide / 1440 / default.
 * Figma: file ZtWAfDvuLH1kToY0Bg8EuN, frame 35:4341.
 * All measured values are taken from the frame JSON (1440 canvas,
 * container 1348 @ x46, two 644px buy columns with a 60px gap).
 */

.usr-pdp {
	margin-top: 11px; /* chrome→breadcrumb gap is 51px; .usr-main pads 40px */
}

/* =========================================================================
   BUY AREA — two columns 644 / 644, gap 60
   ========================================================================= */
.usr-pdp-buy {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 60px;
	align-items: start;
}

/* ------------------------------------------------------------ gallery ---- */
.usr-pdp-gallery__main {
	aspect-ratio: 1 / 1;
	border: 1px solid rgba(19, 38, 107, 0.07);
	border-radius: 20px;
	background: radial-gradient(120% 120% at 50% 0%, #FFFFFF 0%, #F1F5FF 100%);
	box-shadow: 0 34px 74px rgba(19, 38, 107, 0.10);
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
.usr-pdp-gallery__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply; /* keeps white-background product shots on the tinted field */
}
.usr-pdp-gallery__thumbs {
	display: flex;
	gap: 11px;
	margin-top: 14px;
	flex-wrap: wrap;
}
.usr-pdp-thumb {
	width: 66px;
	height: 66px;
	padding: 6px;
	border: 1px solid rgba(19, 38, 107, 0.12);
	border-radius: 12px;
	background: #FFFFFF;
	cursor: pointer;
	overflow: hidden;
}
.usr-pdp-thumb__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.usr-pdp-thumb:hover { border-color: rgba(19, 38, 107, 0.35); }
.usr-pdp-thumb.is-active {
	border-color: var(--usr-red);
	box-shadow: 0 4px 12px rgba(181, 23, 47, 0.18);
}

/* ------------------------------------------------------------ buy box ---- */
.usr-pdp-breadcrumb {
	margin: 0 0 19px;
	font-size: 11px;
	line-height: 17px;
	color: #5B6B86;
}
.usr-pdp-breadcrumb a { color: #5B6B86; }
.usr-pdp-breadcrumb a:hover { color: var(--usr-link-blue); }

.usr-pdp-title {
	margin: 0 0 13px;
	font-size: 43.2px;
	line-height: 1.1;
	font-weight: 500;
	letter-spacing: var(--usr-ls-heading);
	color: var(--usr-navy);
}

.usr-pdp-flag {
	display: inline-block;
	margin: 0 0 27px;
	padding: 8px 14px;
	border: 1px solid #BFE3CD;
	border-radius: var(--usr-radius-pill);
	background: #EAF6EF;
	color: #1A7F46;
	font-size: 11.8px;
	line-height: 14.5px;
	font-weight: 700;
	letter-spacing: 0.36px;
	text-transform: uppercase;
}

.usr-pdp-desc {
	margin: 0 0 11px;
	max-width: 629px;
	color: var(--usr-secondary);
	font-size: 14.1px;
	line-height: 22.6px;
}
.usr-pdp-desc p { margin: 0 0 0.6em; }
.usr-pdp-desc p:last-child { margin-bottom: 0; }

.usr-pdp-checks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}
.usr-pdp-checks li {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 6px 12px 6px 9px;
	border-radius: var(--usr-radius-pill);
	background: #F1F5FF; /* v2: navy tint */
	color: #13266B;
	font-size: 11px;
	line-height: 15.5px;
	font-weight: 500;
}
.usr-pdp-checks__mark { color: #13266B; } /* v2 */

.usr-pdp-option-label {
	margin: 0 0 18px;
	color: var(--usr-secondary);
	font-size: 11px;
	line-height: 15.5px;
	font-weight: 700;
	letter-spacing: 0.77px;
	text-transform: uppercase;
}

.usr-pdp-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 12px;
}
.usr-pdp-pill {
	display: inline-flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 86px;
	min-height: 56px;
	padding: 8px 21px;
	border: 1px solid rgba(19, 38, 107, 0.12);
	border-radius: 12px;
	background: #FFFFFF;
	color: var(--usr-ink);
	font-size: 14.1px;
	line-height: 16.5px;
	font-weight: 500;
	cursor: pointer;
}
.usr-pdp-pill:hover { border-color: rgba(19, 38, 107, 0.35); }
.usr-pdp-pill.is-active {
	border-color: var(--usr-red);
	background: rgba(181, 23, 47, 0.06);
	color: var(--usr-red);
	box-shadow: 0 8px 20px rgba(181, 23, 47, 0.14);
}
.usr-pdp-pill__note {
	margin-top: 2px;
	font-size: 9.9px;
	line-height: 11px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: #B26A00;
}

.usr-pdp-price-row {
	display: flex;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 44px;
}
.usr-pdp-price {
	color: var(--usr-navy);
	font-size: 35.2px;
	line-height: 43.5px;
	font-weight: 500;
	letter-spacing: var(--usr-ls-heading);
}
.usr-pdp-price .woocommerce-Price-amount { font-weight: inherit; }
.usr-pdp-price del { opacity: 0.5; margin-right: 6px; font-size: 0.6em; }
.usr-pdp-price ins { text-decoration: none; }
.usr-pdp-price__unit {
	color: var(--usr-secondary);
	font-size: 12px;
	line-height: 17.5px;
	font-weight: 500;
	letter-spacing: -0.18px;
}

/* ----------------------------------------------------- purchase options -- */
.usr-pdp-purchase {
	margin: 0 0 20px;
	padding: 9px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 16px;
	background: var(--usr-tint-blue);
}
.usr-pdp-purchase__opt {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 16px 14px 17px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 12px;
	background: #FFFFFF;
	cursor: pointer;
}
.usr-pdp-purchase__opt + .usr-pdp-purchase__opt { margin-top: 8px; }
.usr-pdp-purchase__opt.is-selected {
	border-color: var(--usr-red);
	box-shadow: 0 14px 34px rgba(181, 23, 47, 0.10);
}
.usr-pdp-purchase__radio {
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	border: 1.5px solid rgba(19, 38, 107, 0.25);
	border-radius: 50%;
	background: #FFFFFF;
	position: relative;
}
.usr-pdp-purchase__opt.is-selected .usr-pdp-purchase__radio { border-color: var(--usr-red); }
.usr-pdp-purchase__opt.is-selected .usr-pdp-purchase__radio::after {
	content: "";
	position: absolute;
	inset: 3px;
	border-radius: 50%;
	background: var(--usr-red);
}
.usr-pdp-purchase__text { display: flex; flex-direction: column; gap: 3px; }
.usr-pdp-purchase__title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--usr-ink);
	font-size: 12.6px;
	line-height: 15px;
	font-weight: 700;
}
.usr-pdp-purchase__badge {
	display: inline-block;
	padding: 3px 8px;
	border-radius: var(--usr-radius-pill);
	background: var(--usr-red);
	color: #FFFFFF;
	font-size: 11.5px;
	line-height: 13.8px;
	font-weight: 700;
	letter-spacing: 0.23px;
	text-transform: uppercase;
	box-shadow: 0 3px 9px rgba(181, 23, 47, 0.30);
}
.usr-pdp-purchase__sub {
	color: var(--usr-secondary);
	font-size: 12.8px;
	line-height: 15px;
}
.usr-pdp-purchase__sub .woocommerce-Price-amount { font-weight: inherit; }

/* ------------------------------------------------------- volume pricing -- */
.usr-pdp-volume {
	margin: 0 0 22px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 14px;
	background: #FFFFFF;
	overflow: hidden;
}
.usr-pdp-volume__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	background: var(--usr-navy);
	color: var(--usr-cream);
}
.usr-pdp-volume__title {
	margin: 0;
	color: var(--usr-cream);
	font-size: 16px;
	line-height: 24.8px;
	font-weight: 700;
	letter-spacing: 0.16px;
}
.usr-pdp-volume__note { font-size: 11.8px; line-height: 18.4px; }
.usr-pdp-volume__table {
	width: 100%;
	border-collapse: collapse;
}
.usr-pdp-volume__table th,
.usr-pdp-volume__table td {
	padding: 11px 16px;
	text-align: left;
	border-bottom: 1px solid rgba(19, 38, 107, 0.08);
}
.usr-pdp-volume__table th {
	color: var(--usr-secondary);
	font-size: 11.5px;
	line-height: 17.9px;
	font-weight: 700;
	letter-spacing: 0.46px;
	text-transform: uppercase;
}
.usr-pdp-volume__table td {
	padding-top: 14px;
	padding-bottom: 14px;
	color: var(--usr-ink);
	font-size: 12px;
	line-height: 17.5px;
}
.usr-pdp-volume__table th:nth-child(1),
.usr-pdp-volume__table td:nth-child(1) { width: 42%; }
.usr-pdp-volume__table th:nth-child(2),
.usr-pdp-volume__table td:nth-child(2) { width: 32%; }
.usr-pdp-volume__save { color: var(--usr-red); font-weight: 700; }
.usr-pdp-volume__foot {
	margin: 0;
	padding: 12px 16px;
	background: var(--usr-cream);
	color: var(--usr-ink);
	font-size: 10.9px;
	line-height: 15.5px;
}

/* ----------------------------------------------------------- qty + add -- */
.usr-pdp-form { margin: 0; }
.usr-pdp-qty-row {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 0 0 22px;
}
.usr-pdp-qty {
	display: inline-flex;
	align-items: stretch;
	width: 145px; /* v2: 48px minus/plus hit areas */
	height: 49px;
	border: 1px solid rgba(19, 38, 107, 0.12);
	border-radius: 12px;
	background: #FFFFFF;
	overflow: hidden;
}
.usr-pdp-qty__btn {
	flex: 0 0 48px; /* v2 */
	width: 48px;
	border: 0;
	background: none;
	color: var(--usr-ink);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
.usr-pdp-qty__btn:hover { background: var(--usr-tint-blue); }
.usr-pdp-qty__input {
	width: 47px;
	border: 0;
	padding: 0;
	background: rgba(19, 38, 107, 0.04);
	color: var(--usr-ink);
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	-moz-appearance: textfield;
	appearance: textfield;
}
.usr-pdp-qty__input::-webkit-outer-spin-button,
.usr-pdp-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.usr-pdp-sku {
	color: var(--usr-secondary);
	font-size: 11.5px;
	line-height: 17px;
}

.usr-pdp-add {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 52px;
	margin: 0 0 14px;
	padding: 0 24px;
	border: 0;
	border-radius: var(--usr-radius-pill);
	background: var(--usr-red);
	color: #FFFFFF;
	font-size: 16px;
	line-height: 19.5px;
	font-weight: 500;
	cursor: pointer;
	box-shadow: 0 16px 38px rgba(181, 23, 47, 0.25);
	transition: background-color 0.15s ease;
}
.usr-pdp-add:hover, .usr-pdp-add:focus { background: #971327; color: #FFFFFF; }
.usr-pdp-add[disabled], .usr-pdp-add.disabled {
	background: var(--usr-muted);
	box-shadow: none;
	cursor: not-allowed;
}

/* ------------------------------------------------------------ guarantee -- */
.usr-pdp-guarantee {
	display: flex;
	gap: 12px;
	margin: 0 0 26px;
	padding: 15px 16px;
	border: 1px solid rgba(21, 127, 75, 0.25);
	border-radius: 11px;
	background: #F0F8F2;
}
.usr-pdp-guarantee__icon { flex-shrink: 0; color: #157F4B; }
.usr-pdp-guarantee__title {
	margin: 0 0 5px;
	color: var(--usr-ink);
	font-size: 12px;
	line-height: 17.5px;
	font-weight: 700;
}
.usr-pdp-guarantee__text {
	margin: 0;
	color: #40584A;
	font-size: 11.6px;
	line-height: 18px;
}

/* ------------------------------------------------------------ trust rows -- */
.usr-pdp-trust {
	list-style: none;
	margin: 0;
	padding: 0;
}
.usr-pdp-trust li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 13px;
	color: #2C2C2C;
	font-size: 12.6px;
	line-height: 18px;
}
.usr-pdp-trust li:last-child { margin-bottom: 0; }
.usr-pdp-trust__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 21px;
	height: 21px;
	border-radius: 50%;
	background: var(--usr-success);
	color: #FFFFFF;
	font-size: 11px;
}
.usr-pdp-trust__coa-link { color: #2C2C2C; }
.usr-pdp-trust__coa-link:hover { color: var(--usr-link-blue); }

/* =========================================================================
   FREQUENTLY BOUGHT TOGETHER — full-width card, white→tint-blue gradient
   ========================================================================= */
.usr-pdp-fbt {
	margin-top: 52px;
	padding: 23px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 16px;
	background: linear-gradient(180deg, #FFFFFF 0%, #F1F5FF 100%);
}
.usr-pdp-fbt__title {
	margin: 0;
	color: var(--usr-ink);
	font-size: 20px;
	line-height: 22px;
	font-weight: 700;
	letter-spacing: var(--usr-ls-heading);
}
.usr-pdp-fbt__sub {
	margin: 3px 0 0;
	color: var(--usr-secondary);
	font-size: 12.6px;
	line-height: 18px;
}
.usr-pdp-fbt__row {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 22px;
}
.usr-pdp-fbt__card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 140px;
	min-height: 201px;
	padding: 15px 12px 12px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 12px;
	background: #FFFFFF;
	text-align: center;
	cursor: pointer;
}
.usr-pdp-fbt__card--current {
	background: var(--usr-tint-blue);
	border-style: dashed;
	cursor: default;
}
.usr-pdp-fbt__card.is-selected {
	border-color: var(--usr-red);
	box-shadow: 0 6px 18px rgba(181, 23, 47, 0.10);
}
.usr-pdp-fbt__check {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.usr-pdp-fbt__box {
	position: absolute;
	top: 14px;
	left: 15px;
	width: 17px;
	height: 17px;
	border: 1px solid rgba(19, 38, 107, 0.30);
	border-radius: 4px;
	background: #FFFFFF;
}
.usr-pdp-fbt__check:checked + .usr-pdp-fbt__box {
	border-color: var(--usr-red);
	background: var(--usr-red);
}
.usr-pdp-fbt__check:checked + .usr-pdp-fbt__box::after {
	content: "✓";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 11px;
	font-weight: 700;
}
.usr-pdp-fbt__check:focus-visible + .usr-pdp-fbt__box {
	outline: 2px solid var(--usr-link-blue);
	outline-offset: 2px;
}
.usr-pdp-fbt__media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 0 15px;
}
.usr-pdp-fbt__img { max-width: 64px; max-height: 64px; object-fit: contain; }
.usr-pdp-fbt__name {
	color: var(--usr-ink);
	font-size: 12.8px;
	line-height: 16px;
	font-weight: 500;
}
.usr-pdp-fbt__meta {
	margin-top: 5px;
	color: var(--usr-secondary);
	font-size: 10.9px;
	line-height: 15.5px;
	font-weight: 500;
}
.usr-pdp-fbt__meta .woocommerce-Price-amount { font-weight: inherit; }
.usr-pdp-fbt__required {
	margin-top: auto;
	padding: 4px 7px;
	border-radius: 20px;
	background: rgba(181, 23, 47, 0.09);
	color: var(--usr-red);
	font-size: 9.6px;
	line-height: 12px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.usr-pdp-fbt__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-top: 18px;
	padding-top: 10px;
	border-top: 1px solid rgba(19, 38, 107, 0.10);
}
.usr-pdp-fbt__total-label {
	margin: 0;
	color: var(--usr-secondary);
	font-size: 12.5px;
	line-height: 15px;
}
.usr-pdp-fbt__total-price {
	margin: 3px 0 0;
	color: var(--usr-ink);
	font-size: 20.8px;
	line-height: 25px;
	font-weight: 700;
}
.usr-pdp-fbt__total-price .woocommerce-Price-amount { font-weight: inherit; }
.usr-pdp-fbt__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 47px;
	padding: 0 32px;
	border: 0;
	border-radius: var(--usr-radius-pill);
	background: var(--usr-navy);
	color: var(--usr-cream);
	font-size: 15.7px;
	line-height: 19px;
	font-weight: 500;
	cursor: pointer;
}
.usr-pdp-fbt__add:hover, .usr-pdp-fbt__add:focus { background: #0E1D52; }
.usr-pdp-fbt__add[disabled] { background: var(--usr-muted); cursor: not-allowed; }

/* =========================================================================
   TECHNICAL OVERVIEW + SPEC TABLE — copy 742 / card 545, gap 61
   ========================================================================= */
.usr-pdp-detail {
	display: grid;
	grid-template-columns: minmax(0, 742fr) minmax(0, 545fr);
	gap: 61px;
	align-items: start;
	margin-top: 42px;
	padding-top: 46px;
	border-top: 1px solid rgba(19, 38, 107, 0.08);
}
.usr-pdp-detail__h {
	margin: 0 0 26px;
	color: var(--usr-navy);
	font-size: 19.2px;
	line-height: 21.1px;
	font-weight: 500;
	letter-spacing: var(--usr-ls-heading);
}
.usr-pdp-detail__text {
	margin: 0 0 30px;
	color: var(--usr-secondary);
	font-size: 16px;
	line-height: 25.9px;
}
.usr-pdp-detail__text p { margin: 0 0 0.75em; }
.usr-pdp-detail__text p:last-child { margin-bottom: 0; }
.usr-pdp-detail__notice { color: #41506A; margin-bottom: 0; }
.usr-pdp-detail__notice strong { font-weight: 700; }

.usr-pdp-specs {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid rgba(19, 38, 107, 0.08);
	border-radius: 16px;
	background: #FFFFFF;
	box-shadow: 0 22px 54px rgba(19, 38, 107, 0.08);
	overflow: hidden;
	border-spacing: 0;
}
.usr-pdp-specs tr:nth-child(even) { background: var(--usr-tint-blue); }
.usr-pdp-specs tr + tr th,
.usr-pdp-specs tr + tr td { border-top: 1px solid rgba(19, 38, 107, 0.06); }
.usr-pdp-specs th,
.usr-pdp-specs td {
	padding: 16px 20px;
	text-align: left;
	vertical-align: top;
}
.usr-pdp-specs th {
	width: 235px;
	color: var(--usr-muted);
	font-size: 12px;
	line-height: 17.5px;
	font-weight: 500;
}
.usr-pdp-specs td {
	color: var(--usr-ink);
	font-size: 14.4px;
	line-height: 21.3px;
	font-weight: 500;
	overflow-wrap: anywhere;
}
.usr-pdp-specs td.usr-mono { font-size: 12.6px; }
.usr-pdp-specs__slot { color: var(--usr-muted); }

/* Rounded corners on the first/last row cells (table can't clip itself) */
.usr-pdp-specs tr:first-child th { border-top-left-radius: 16px; }
.usr-pdp-specs tr:first-child td { border-top-right-radius: 16px; }
.usr-pdp-specs tr:last-child th { border-bottom-left-radius: 16px; }
.usr-pdp-specs tr:last-child td { border-bottom-right-radius: 16px; }

/* =========================================================================
   SECTION SCAFFOLD — eyebrow + h2 (docs / bundles / faq / library / related)
   ========================================================================= */
.usr-pdp-section { margin-top: 21px; }
.usr-pdp-eyebrow {
	margin: 0 0 16px;
	color: var(--usr-red);
	font-size: 11.5px;
	line-height: 17.9px;
	font-weight: 700;
	letter-spacing: 2.53px;
	text-transform: uppercase;
}
.usr-pdp-h2 {
	margin: 0 0 14px;
	color: var(--usr-navy);
	font-size: 24px;
	line-height: 29.5px;
	font-weight: 500;
	letter-spacing: var(--usr-ls-heading);
}
.usr-pdp-docs { margin-top: 27px; }

/* --------------------------------------------------------- COA / SDS rows */
.usr-pdp-docs__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.usr-pdp-docs__list li + li { margin-top: 9px; }
.usr-pdp-doc {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 50px;
	padding: 8px 15px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 10px;
	background: var(--usr-cream);
	color: var(--usr-ink);
	text-decoration: none;
}
.usr-pdp-doc:hover, .usr-pdp-doc:focus {
	border-color: rgba(19, 38, 107, 0.35);
	text-decoration: none;
	color: var(--usr-ink);
}
.usr-pdp-doc[aria-disabled="true"] { cursor: default; }
.usr-pdp-doc__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px; /* v2 badge dimensions */
	height: 26px;
	border-radius: 6px;
	color: #FFFFFF;
	font-size: 14px;
	line-height: 18px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}
.usr-pdp-doc__badge--coa { background: var(--usr-navy); }
.usr-pdp-doc__badge--sds { background: var(--usr-red); }
.usr-pdp-doc__label {
	font-size: 14.1px;
	line-height: 21.8px;
	font-weight: 500;
}

/* ------------------------------------------------------------ bundle card */
.usr-pdp-bundle {
	display: grid;
	grid-template-columns: 132px minmax(0, 1fr);
	max-width: 720px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 18px;
	background: #FFFFFF;
	box-shadow: 0 12px 34px rgba(19, 38, 107, 0.10);
	overflow: hidden;
}
.usr-pdp-bundle__media {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #F1F5FF 0%, #E4ECFF 100%);
	padding: 14px;
}
.usr-pdp-bundle__img { max-width: 104px; max-height: 104px; object-fit: contain; }
.usr-pdp-bundle__body { padding: 13px 19px 18px; }
.usr-pdp-bundle__eyebrow {
	margin: 0 0 10px;
	color: var(--usr-red);
	font-size: 11.5px;
	line-height: 17.9px;
	font-weight: 700;
	letter-spacing: 0.92px;
	text-transform: uppercase;
}
.usr-pdp-bundle__name {
	margin: 0 0 9px;
	font-size: 18.9px;
	line-height: 20.8px;
	font-weight: 500;
	letter-spacing: var(--usr-ls-heading);
}
.usr-pdp-bundle__name a { color: var(--usr-navy); text-decoration: none; }
.usr-pdp-bundle__name a:hover { color: var(--usr-link-blue); }
.usr-pdp-bundle__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
}
.usr-pdp-bundle__chips li {
	padding: 6px 11px;
	border-radius: var(--usr-radius-pill);
	background: var(--usr-tint-blue);
	color: var(--usr-ink);
	font-size: 11px;
	line-height: 15.5px;
	font-weight: 500;
}
.usr-pdp-bundle__desc {
	margin: 0 0 15px;
	max-width: 488px;
	color: var(--usr-secondary);
	font-size: 12.4px;
	line-height: 18.8px;
}
.usr-pdp-bundle__buy {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.usr-pdp-bundle__price {
	color: var(--usr-ink);
	font-size: 19.2px;
	line-height: 23px;
	font-weight: 700;
}
.usr-pdp-bundle__price .woocommerce-Price-amount { font-weight: inherit; }
.usr-pdp-bundle__add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 47px;
	padding: 0 28px;
	border-radius: var(--usr-radius-pill);
	background: var(--usr-red);
	color: #FFFFFF;
	font-size: 15.7px;
	line-height: 19px;
	font-weight: 500;
	text-decoration: none;
	box-shadow: 0 14px 34px rgba(181, 23, 47, 0.22);
}
.usr-pdp-bundle__add:hover, .usr-pdp-bundle__add:focus {
	background: #971327;
	color: #FFFFFF;
	text-decoration: none;
}

/* -------------------------------------------------------------------- FAQ */
.usr-pdp-faq__list {
	max-width: 820px;
	margin: 0 auto;
}
.usr-pdp-faq__item {
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: 14px;
	background: #FFFFFF;
}
.usr-pdp-faq__item + .usr-pdp-faq__item { margin-top: 12px; }
.usr-pdp-faq__h { margin: 0; }
.usr-pdp-faq__q {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	padding: 22px 23px;
	border: 0;
	background: none;
	color: var(--usr-navy);
	font-size: 14px;
	line-height: 21px;
	font-weight: 500;
	text-align: left;
	cursor: pointer;
}
.usr-pdp-faq__icon {
	flex-shrink: 0;
	color: var(--usr-red);
	font-size: 21.2px;
	line-height: 1;
	font-weight: 500;
	transition: transform 0.15s ease;
}
.usr-pdp-faq__item.is-open .usr-pdp-faq__icon { transform: rotate(45deg); }
.usr-pdp-faq__a {
	padding: 0 23px 20px;
	color: var(--usr-secondary);
	font-size: 13.5px;
	line-height: 21px;
}
.usr-pdp-faq__a p { margin: 0; }

/* --------------------------------------------------------- research links */
.usr-pdp-library__links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.usr-pdp-library__link {
	display: inline-flex;
	align-items: center;
	min-height: 39px;
	padding: 8px 15px;
	border: 1px solid rgba(19, 38, 107, 0.10);
	border-radius: var(--usr-radius);
	background: #FFFFFF;
	color: var(--usr-ink);
	font-size: 11.5px;
	line-height: 17px;
	font-weight: 500;
	text-decoration: none;
}
.usr-pdp-library__link:hover, .usr-pdp-library__link:focus {
	border-color: rgba(19, 38, 107, 0.35);
	color: var(--usr-ink);
	text-decoration: none;
}

/* ------------------------------------------------- related product grid --- */
.usr-pdp-related__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 26px;
}
.usr-pdp-related__links {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
}
.usr-pdp-related__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 52px;
	padding: 0 34px;
	border-radius: var(--usr-radius-pill);
	background: var(--usr-navy);
	color: var(--usr-cream);
	font-size: 15.7px;
	line-height: 19px;
	font-weight: 500;
	text-decoration: none;
}
.usr-pdp-related__link:hover, .usr-pdp-related__link:focus {
	background: #0E1D52;
	color: var(--usr-cream);
	text-decoration: none;
}

/* v2 card — dimensions are based on the 315px inner width of a 317×659 card.
   Container units preserve the same proportions in the two-column mobile grid. */
.usr-pdp .usr-card {
	background: #FFFFFF;
	border: 1px solid rgba(19, 38, 107, 0.07);
	border-radius: 30px;
	box-shadow: 0 1px 2px rgba(10, 18, 32, 0.04);
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	aspect-ratio: 317 / 659;
	overflow: hidden;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
	width: 100%;
}

.usr-pdp .usr-card:hover,
.usr-pdp .usr-card:focus-within {
	box-shadow: 0 10px 28px rgba(19, 38, 107, 0.12);
	transform: translateY(-2px);
}

.usr-pdp .usr-card__media {
	aspect-ratio: 1 / 1;
	background: linear-gradient(180deg, #FFFFFF 0%, #F1F5FF 100%);
	border-bottom: 1px solid rgba(19, 38, 107, 0.05);
	display: block;
	flex: none;
	padding: 0;
	position: relative;
}

.usr-pdp .usr-card__image-inner {
	aspect-ratio: 1 / 1;
	left: 6.984127%;
	position: absolute;
	top: 6.984127%;
	width: 86.031746%;
}

.usr-pdp .usr-card__image-inner img {
	border-radius: 8.254cqw;
	display: block;
	height: 112.546125%;
	left: -6.273063%;
	max-width: none;
	object-fit: contain;
	position: absolute;
	top: -6.273063%;
	width: 112.546125%;
}

.usr-pdp .usr-card__badges {
	display: flex;
	flex-direction: column;
	gap: 6px;
	left: 14px;
	position: absolute;
	top: 14px;
	z-index: 1;
}

.usr-pdp .usr-card__badge {
	border-radius: 7px;
	box-shadow: 0 2px 6px rgba(10, 18, 32, 0.18);
	font-size: 10.2px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 15.9px;
	padding: 5px 11px;
	text-transform: uppercase;
	width: fit-content;
}

.usr-pdp .usr-card__badge--preorder {
	background: var(--usr-red, #B5172F);
	color: #FFFFFF;
}

.usr-pdp .usr-card__badge--sale {
	background: var(--usr-red, #B5172F);
	color: #FFFFFF;
}

.usr-pdp .usr-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0;
	min-height: 0;
	padding: 8.254cqw 6.984cqw 11.746cqw;
}

.usr-pdp .usr-card__name {
	color: #191919;
	display: -webkit-box;
	font-size: 8.254cqw;
	font-weight: 700;
	height: 24.127cqw;
	letter-spacing: 0;
	line-height: 12.063cqw;
	margin: 0;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.usr-pdp .usr-card__name a { color: inherit; text-decoration: none; }
.usr-pdp .usr-card__name a:hover,
.usr-pdp .usr-card__name a:focus { color: var(--usr-navy, #13266B); }

.usr-pdp .usr-card__subtitle {
	color: #4A4A4A;
	font-size: 6.349cqw;
	font-weight: 400;
	line-height: 9.524cqw;
	margin: 3.175cqw 0 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.usr-pdp .usr-card__price {
	align-items: flex-start;
	color: #13266B;
	display: flex;
	flex: none;
	font-weight: 500;
	gap: 3.81cqw;
	height: 13.968cqw;
	line-height: 13.968cqw;
	margin: auto 0 0;
	min-height: 0;
	padding: 0;
	white-space: nowrap;
}

.usr-pdp .usr-card__price-from {
	color: #4A4A4A;
	font-size: 6.984cqw;
	font-weight: 500;
	line-height: 9.524cqw;
	margin-top: 6.032cqw;
}

.usr-pdp .usr-card__price-amount {
	color: #13266B;
	font-size: 10.159cqw;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 13.968cqw;
}

.usr-pdp .usr-card__price-amount .woocommerce-Price-amount,
.usr-pdp .usr-card__price-amount .woocommerce-Price-currencySymbol { color: inherit; font: inherit; }

.usr-pdp .usr-card__btn {
	align-items: center;
	background: #13266B;
	border: 0;
	border-radius: 8.254cqw;
	color: #FFFFFF;
	cursor: pointer;
	display: flex;
	flex: none;
	font-family: inherit;
	font-size: 8.254cqw;
	font-weight: 500;
	gap: 5.079cqw;
	height: 26.349cqw;
	justify-content: center;
	letter-spacing: 0;
	line-height: 10.794cqw;
	margin: 0 1.587cqw 1.27cqw;
	min-height: 0;
	padding: 0;
	text-decoration: none;
	transition: background-color 0.15s ease;
	width: auto;
}

.usr-pdp .usr-card__btn:hover,
.usr-pdp .usr-card__btn:focus-visible {
	background: var(--usr-red, #B5172F);
	color: #FFFFFF;
	text-decoration: none;
}

.usr-pdp .usr-card__btn-icon {
	flex-shrink: 0;
	height: 9.524cqw;
	width: 9.524cqw;
}

.usr-pdp .usr-card__btn--soldout,
.usr-pdp .usr-card__btn--soldout:hover,
.usr-pdp .usr-card__btn--soldout:focus-visible {
	background: rgba(25, 25, 25, 0.12);
	color: var(--usr-muted, #666666);
	cursor: not-allowed;
}

/* =========================================================================
   RESPONSIVE — buy box stacks ≤900 (spec breakpoints 1360/1080/900/720/560)
   ========================================================================= */
@media (max-width: 1080px) {
	.usr-pdp-buy { gap: 40px; }
	.usr-pdp-related__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.usr-pdp-buy { grid-template-columns: 1fr; }
	.usr-pdp-title { font-size: 34px; }
	.usr-pdp-detail {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.usr-pdp-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
	.usr-pdp-bundle { max-width: none; }
	.usr-pdp-specs th { width: 40%; }
}

@media (max-width: 720px) {
	.usr-pdp-fbt__total {
		flex-direction: column;
		align-items: flex-start;
	}
	.usr-pdp-fbt__add { width: 100%; }
	.usr-pdp-bundle { grid-template-columns: 1fr; }
	.usr-pdp-bundle__media { min-height: 132px; }
	.usr-pdp-bundle__buy { flex-wrap: wrap; }
	.usr-pdp-price { font-size: 29px; }
	.usr-pdp-price-row { margin-bottom: 28px; }
}

@media (max-width: 560px) {
	.usr-pdp-related__grid { grid-template-columns: 1fr; }
	.usr-pdp-fbt__card { width: calc(50% - 5px); }
	.usr-pdp-checks { gap: 6px; }
	.usr-pdp-pill { min-width: 72px; padding: 8px 14px; }
	.usr-pdp-library__links { flex-direction: column; align-items: stretch; }
	.usr-pdp-related__link { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.usr-pdp .usr-card,
	.usr-pdp .usr-card__btn,
	.usr-pdp-faq__icon,
	.usr-pdp-add { transition: none; }
}

/* =========================================================================
   Review fixes (append-only)
   ========================================================================= */

/* Woo notices above the buy area (review fix #5). */
.usr-pdp-notices { padding-top: 16px; }
.usr-pdp-notices:empty { padding-top: 0; }
.usr-pdp-notices .woocommerce-error,
.usr-pdp-notices .woocommerce-message,
.usr-pdp-notices .woocommerce-info {
	list-style: none;
	margin: 0 0 8px;
	padding: 12px 16px;
	border-radius: 8px;
	font-size: 14px;
}
.usr-pdp-notices .woocommerce-error { background: #FDEBEC; border: 1px solid #E5484D; color: #A1252A; }
.usr-pdp-notices .woocommerce-message,
.usr-pdp-notices .woocommerce-info { background: #EEF4FF; border: 1px solid #B9CDF3; color: #13266B; }

/* Woo-standard .variations rows (review fix #1): the pill-covered row is
   visually hidden but stays in the DOM for add-to-cart-variation.js; any
   extra attributes keep visible selects. */
.usr-pdp-variations { width: 100%; border-collapse: collapse; }
.usr-pdp-variations th.label { text-align: left; padding: 0 12px 10px 0; font-size: 13px; font-weight: 700; }
.usr-pdp-variations td.value { padding: 0 0 10px; }
.usr-pdp-variations td.value select { padding: 8px 10px; border: 1px solid rgba(19, 38, 107, 0.25); border-radius: 8px; }
.usr-pdp-var-row--pills {
	display: block;
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	clip: rect(0 0 0 0); clip-path: inset(50%);
	overflow: hidden; white-space: nowrap;
}

/* Subscribe & Save — disabled slot until a subscriptions plugin (review fix #4). */
.usr-pdp-purchase__opt.is-disabled { opacity: 0.6; cursor: not-allowed; }
.usr-pdp-purchase__soon {
	display: inline-block;
	margin-left: 6px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #E9EDF5;
	color: #13266B;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

/* FBT inline add failure (review fix #8). */
.usr-pdp-fbt__error {
	margin: 12px 0 0;
	padding: 10px 14px;
	border: 1px solid #E5484D;
	border-radius: 8px;
	background: #FDEBEC;
	color: #A1252A;
	font-size: 13px;
}
.usr-pdp-fbt__error a { color: inherit; text-decoration: underline; }

/* =========================================================================
   Polish pass (appended) — interaction-state smoothing + keyboard parity.
   Rules only fire on hover/focus/active; zero computed change at rest.
   ========================================================================= */

.usr-pdp-thumb,
.usr-pdp-pill,
.usr-pdp-purchase__opt,
.usr-pdp-qty__btn,
.usr-pdp-doc,
.usr-pdp-library__link,
.usr-pdp-fbt__card,
.usr-pdp-fbt__add,
.usr-pdp-bundle__add,
.usr-pdp-related__link {
	transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease;
}

.usr-pdp-add:active,
.usr-pdp-fbt__add:active,
.usr-pdp-bundle__add:active,
.usr-pdp-related__link:active { transform: translateY(1px); }

.usr-pdp-qty__btn:active { background: rgba(19, 38, 107, 0.08); }

.usr-pdp-faq__q { transition: color 0.15s ease; }
.usr-pdp-faq__q:hover { color: var(--usr-link-blue); }

/* Strength pills / thumbs — pointer-state parity for keyboard users. */
.usr-pdp-pill:focus-visible { border-color: rgba(19, 38, 107, 0.35); }
.usr-pdp-thumb:focus-visible { border-color: rgba(19, 38, 107, 0.35); }
.usr-pdp-doc:focus-visible { border-color: rgba(19, 38, 107, 0.35); }
.usr-pdp-library__link:focus-visible { border-color: rgba(19, 38, 107, 0.35); }

/* Amber pill note — was #B26A00 (4.2:1 on white); #9C5C00 is 5.3:1 at the
   same hue, imperceptible at 9.9px caps. */
.usr-pdp-pill__note { color: #9C5C00; }

@media (prefers-reduced-motion: reduce) {
	.usr-pdp-thumb,
	.usr-pdp-pill,
	.usr-pdp-purchase__opt,
	.usr-pdp-qty__btn,
	.usr-pdp-doc,
	.usr-pdp-library__link,
	.usr-pdp-fbt__card,
	.usr-pdp-fbt__add,
	.usr-pdp-bundle__add,
	.usr-pdp-related__link,
	.usr-pdp-faq__q { transition: none; }

	.usr-pdp-add:active,
	.usr-pdp-fbt__add:active,
	.usr-pdp-bundle__add:active,
	.usr-pdp-related__link:active { transform: none; }
}
