/* ==========================================================================
   SDP — WooCommerce: shop loop, product, cart, checkout, account, mini-cart
   Woo ships its own stylesheets; this file assumes those are dequeued
   (see inc/woocommerce.php) so everything below is the single source.
   ========================================================================== */

/* --- Shop layout ---------------------------------------------------------- */
.sdp-shop {
	display: grid;
	gap: clamp(1.5rem, 1rem + 2vw, 3rem);
	grid-template-columns: 17rem 1fr;
	align-items: start;
}
.sdp-shop--full { grid-template-columns: 1fr; }
@media (max-width: 900px) { .sdp-shop { grid-template-columns: 1fr; } }

.sdp-shop__sidebar {
	position: sticky;
	top: 6.5rem;
	display: grid;
	gap: var(--sdp-5);
}
@media (max-width: 900px) { .sdp-shop__sidebar { position: static; } }

.sdp-widget {
	padding: var(--sdp-5) var(--sdp-6);
	border-radius: var(--sdp-r-lg);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
}
.sdp-widget__title {
	font-size: var(--sdp-text-base);
	font-weight: 700;
	margin-bottom: var(--sdp-4);
	color: var(--sdp-ink);
}
.sdp-widget ul { list-style: none; margin: 0; padding: 0; }
.sdp-widget li + li { margin-top: var(--sdp-2); }
.sdp-widget a { color: var(--sdp-ink-soft); text-decoration: none; }
.sdp-widget a:hover { color: var(--sdp-purple-600); }

/* --- Shop toolbar (result count + ordering) ------------------------------ */
.sdp-shop__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--sdp-4);
	margin-bottom: var(--sdp-6);
	padding: var(--sdp-3) var(--sdp-5);
	border-radius: var(--sdp-r-pill);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
}
.woocommerce-result-count { margin: 0; font-size: var(--sdp-text-sm); color: var(--sdp-ink-faint); }
.woocommerce-ordering select { inline-size: auto; padding-block: .5rem; border-radius: var(--sdp-r-pill); }

/* --- Product grid --------------------------------------------------------- */
ul.products {
	display: grid;
	gap: var(--sdp-5);
	grid-template-columns: repeat(auto-fill, minmax(min(15rem, 100%), 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
ul.products li.product { margin: 0; }
.columns-2 ul.products { grid-template-columns: repeat(2, 1fr); }
.columns-3 ul.products { grid-template-columns: repeat(auto-fill, minmax(min(16rem, 100%), 1fr)); }

/* --- Product card --------------------------------------------------------- */
.sdp-product {
	position: relative;
	display: flex;
	flex-direction: column;
	block-size: 100%;
	overflow: hidden;
	border-radius: var(--sdp-r-xl);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-md);
	transition: transform var(--sdp-dur) var(--sdp-ease-squish), box-shadow var(--sdp-dur) var(--sdp-ease-out);
}
.sdp-product:hover { transform: translateY(-6px); box-shadow: var(--sdp-clay-lg); }

.sdp-product__media {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	padding: var(--sdp-4);
	background: linear-gradient(160deg, var(--sdp-mist), var(--sdp-purple-050));
}
.sdp-product__media img {
	inline-size: 100%;
	block-size: 100%;
	object-fit: contain;
	transition: transform var(--sdp-dur-slow) var(--sdp-ease-squish);
}
.sdp-product:hover .sdp-product__media img { transform: scale(1.07) rotate(-2deg); }

.sdp-product__flags {
	position: absolute;
	inset-block-start: var(--sdp-3);
	inset-inline-start: var(--sdp-3);
	display: grid;
	gap: var(--sdp-2);
	justify-items: start;
	z-index: 2;
}

.sdp-product__body {
	display: flex;
	flex-direction: column;
	gap: var(--sdp-2);
	flex: 1 1 auto;
	padding: var(--sdp-5);
}
.sdp-product__cat { font-size: var(--sdp-text-xs); letter-spacing: .1em; text-transform: uppercase; color: var(--sdp-teal-600); font-family: var(--sdp-font-head); font-weight: 600; }
.sdp-product__title { margin: 0; font-size: 1rem; line-height: 1.35; }
.sdp-product__title a { color: var(--sdp-ink); text-decoration: none; }
.sdp-product__title a::after { content: ""; position: absolute; inset: 0; } /* whole-card link */
.sdp-product__foot { margin-top: auto; padding-top: var(--sdp-3); display: flex; align-items: center; justify-content: space-between; gap: var(--sdp-3); }

/* --- Price ---------------------------------------------------------------- */
.price, .woocommerce-Price-amount {
	font-family: var(--sdp-font-head);
	font-weight: 700;
	color: var(--sdp-ink);
}
.price { font-size: 1.125rem; }
.price del { color: var(--sdp-ink-faint); font-weight: 500; font-size: .8em; margin-inline-end: .4em; }
.price ins { text-decoration: none; color: var(--sdp-pink-600); }

/* --- Star rating ---------------------------------------------------------- */
.star-rating {
	position: relative;
	inline-size: 5.4em;
	block-size: 1.2em;
	overflow: hidden;
	font-size: .75rem;
	line-height: 1.2;
	color: var(--sdp-amber);
	font-family: star;
}
.star-rating::before { content: "\73\73\73\73\73"; position: absolute; inset-inline-start: 0; opacity: .28; }
.star-rating span { position: absolute; inset-block-start: 0; inset-inline-start: 0; overflow: hidden; padding-top: 1.5em; }
.star-rating span::before { content: "\53\53\53\53\53"; position: absolute; inset-block-start: 0; inset-inline-start: 0; }

/* --- Add to cart ---------------------------------------------------------- */
.sdp-product .button,
.sdp-product .added_to_cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sdp-2);
	position: relative;
	z-index: 3;
	padding: .6rem 1.1rem;
	border: 0;
	cursor: pointer;
	border-radius: var(--sdp-r-pill);
	font-family: var(--sdp-font-head);
	font-size: .8125rem;
	font-weight: 600;
	color: var(--sdp-white);
	text-decoration: none;
	background: linear-gradient(150deg, #8073F0, var(--sdp-purple) 58%, var(--sdp-purple-700));
	box-shadow: var(--sdp-clay-fill);
	transition: transform var(--sdp-dur) var(--sdp-ease-squish), box-shadow var(--sdp-dur) var(--sdp-ease-out);
}
.sdp-product .button:hover  { transform: translateY(-2px); }
.sdp-product .button:active { transform: translateY(0) scale(.97); box-shadow: var(--sdp-clay-fill-pressed); }
/* Clay squish: while the AJAX request is in flight the button compresses as
   though pressed into the page, then settles green once the item is in. */
.sdp-product .button.loading {
	pointer-events: none;
	transform: scale(.94);
	box-shadow: var(--sdp-clay-fill-pressed);
	opacity: .9;
}
.sdp-product .button.added {
	background: linear-gradient(150deg, #45D8B8, var(--sdp-teal) 58%, var(--sdp-teal-600));
	--sdp-clay-tint: 34, 193, 161;
	animation: sdp-squish .34s var(--sdp-ease-squish);
}

@keyframes sdp-squish {
	0%   { transform: scale(.94); }
	55%  { transform: scale(1.05); }
	100% { transform: scale(1); }
}

/* The badge pops so the count change is noticed without a page reload. */
.sdp-cart-count.is-bumped { animation: sdp-badge-pop .45s var(--sdp-ease-squish); }

@keyframes sdp-badge-pop {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.45); }
	100% { transform: scale(1); }
}

@media (prefers-reduced-motion: reduce) {
	.sdp-product .button.added,
	.sdp-cart-count.is-bumped { animation: none; }
	.sdp-product .button.loading { transform: none; }
}

/* Generic Woo buttons elsewhere (cart, checkout, account) */
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce #respond input#submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--sdp-2);
	padding: .8rem 1.6rem;
	border: 0;
	cursor: pointer;
	border-radius: var(--sdp-r-pill);
	font-family: var(--sdp-font-head);
	font-size: .9375rem;
	font-weight: 600;
	color: var(--sdp-white);
	text-decoration: none;
	background: linear-gradient(150deg, #8073F0, var(--sdp-purple) 58%, var(--sdp-purple-700));
	box-shadow: var(--sdp-clay-fill);
	transition: transform var(--sdp-dur) var(--sdp-ease-squish), box-shadow var(--sdp-dur) var(--sdp-ease-out);
}
.woocommerce .button:hover,
.woocommerce .button:focus-visible {
	transform: translateY(-3px);
	color: var(--sdp-white);
	box-shadow: var(--sdp-clay-fill-hover);
	filter: saturate(1.08) brightness(1.05);
}
.woocommerce .button:active {
	transform: translateY(1px) scale(.985);
	box-shadow: var(--sdp-clay-fill-pressed);
	filter: saturate(1.02) brightness(.98);
	transition-duration: var(--sdp-dur-fast);
}

/* --- Single product Add to cart --------------------------------------------
   This button posts and reloads rather than going through AJAX, so it never
   receives Woo's `loading` class. Without this it is the one button on the
   site that gives no feedback at all when clicked.
   -------------------------------------------------------------------------- */
.single_add_to_cart_button.is-submitting {
	transform: translateY(1px) scale(.97);
	box-shadow: var(--sdp-clay-fill-pressed);
	filter: saturate(.96) brightness(.97);
	pointer-events: none;
}
.single_add_to_cart_button.is-submitting::after {
	content: "";
	inline-size: .9rem;
	block-size: .9rem;
	margin-inline-start: .55rem;
	border: 2px solid rgba(255, 255, 255, .45);
	border-top-color: #fff;
	border-radius: 50%;
	animation: sdp-spin .7s linear infinite;
}
@keyframes sdp-spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	.single_add_to_cart_button.is-submitting::after { animation: none; }
}

.woocommerce .button.alt,
.woocommerce .checkout-button {
	background: linear-gradient(150deg, #45D8B8, var(--sdp-teal) 58%, var(--sdp-teal-600));
	--sdp-clay-tint: 34, 193, 161;
}

/* --- Quantity input ------------------------------------------------------- */
.quantity { display: inline-flex; align-items: center; }
.quantity .qty {
	inline-size: 5rem;
	text-align: center;
	padding: .7rem .5rem;
	border-radius: var(--sdp-r-pill);
}

/* --- Single product ------------------------------------------------------- */
.sdp-single-product {
	display: grid;
	gap: clamp(1.5rem, 1rem + 3vw, 3.5rem);
	grid-template-columns: 1fr 1fr;
	align-items: start;
}
@media (max-width: 860px) { .sdp-single-product { grid-template-columns: 1fr; } }

.woocommerce-product-gallery {
	position: relative;
	padding: var(--sdp-6);
	border-radius: var(--sdp-r-2xl);
	background: linear-gradient(160deg, var(--sdp-mist), var(--sdp-purple-050));
	box-shadow: var(--sdp-clay-lg);
}
.woocommerce-product-gallery__image img { border-radius: var(--sdp-r-lg); }
.woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr));
	gap: var(--sdp-3);
	margin: var(--sdp-4) 0 0;
	padding: 0;
	list-style: none;
}
.woocommerce-product-gallery .flex-control-thumbs li { margin: 0; }
.woocommerce-product-gallery .flex-control-thumbs img {
	border-radius: var(--sdp-r-md);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
	cursor: pointer;
	transition: transform var(--sdp-dur) var(--sdp-ease-squish);
}
.woocommerce-product-gallery .flex-control-thumbs img:hover { transform: translateY(-3px); }

.product_title { font-size: var(--sdp-text-3xl); margin-bottom: var(--sdp-3); }
.woocommerce-product-details__short-description { margin-block: var(--sdp-5); }

.summary .price { font-size: var(--sdp-text-2xl); display: block; margin-bottom: var(--sdp-4); }

form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sdp-3);
	margin-block: var(--sdp-6);
	padding: var(--sdp-5);
	border-radius: var(--sdp-r-xl);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
}
.product_meta {
	font-size: var(--sdp-text-sm);
	color: var(--sdp-ink-faint);
	display: grid;
	gap: var(--sdp-1);
}
.product_meta a { color: var(--sdp-purple-600); text-decoration: none; }

/* Variation selects */
.variations { inline-size: 100%; }
.variations th { padding-inline-start: 0; border: 0; }
.variations td { border: 0; }

/* Tabs */
.woocommerce-tabs { margin-top: var(--sdp-12); }
.woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sdp-2);
	margin: 0 0 var(--sdp-6);
	padding: 0;
	list-style: none;
}
.woocommerce-tabs ul.tabs li { margin: 0; }
.woocommerce-tabs ul.tabs a {
	display: block;
	padding: .65rem 1.4rem;
	border-radius: var(--sdp-r-pill);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
	font-family: var(--sdp-font-head);
	font-weight: 600;
	font-size: .875rem;
	color: var(--sdp-ink-soft);
	text-decoration: none;
}
.woocommerce-tabs ul.tabs li.active a {
	background: linear-gradient(150deg, #8073F0, var(--sdp-purple) 58%, var(--sdp-purple-700));
	color: var(--sdp-white);
	box-shadow: var(--sdp-clay-fill);
}
.woocommerce-Tabs-panel {
	padding: var(--sdp-6);
	border-radius: var(--sdp-r-xl);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
}

/* --- Cart & checkout ------------------------------------------------------ */
.woocommerce-cart-form,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout-review-order,
.cart_totals,
.woocommerce-order-details,
.woocommerce-customer-details,
.woocommerce-MyAccount-content {
	padding: clamp(var(--sdp-5), 2.5vw, var(--sdp-8));
	border-radius: var(--sdp-r-xl);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
}

.shop_table { border-collapse: separate; border-spacing: 0; }
.shop_table th { font-size: var(--sdp-text-sm); text-transform: uppercase; letter-spacing: .06em; color: var(--sdp-ink-faint); }
.shop_table td, .shop_table th { border-bottom: 1px solid var(--sdp-line); }
.shop_table .product-thumbnail img { inline-size: 4rem; border-radius: var(--sdp-r-md); box-shadow: var(--sdp-clay-sm); }
.product-remove a.remove {
	display: grid;
	place-items: center;
	inline-size: 1.9rem;
	block-size: 1.9rem;
	border-radius: 50%;
	background: var(--sdp-pink-050);
	color: var(--sdp-pink-600);
	font-size: 1.1rem;
	line-height: 1;
	text-decoration: none;
	box-shadow: var(--sdp-clay-sm);
}
.product-remove a.remove:hover { background: var(--sdp-pink); color: var(--sdp-white); }

.cart-collaterals { display: grid; gap: var(--sdp-6); grid-template-columns: 1fr; margin-top: var(--sdp-8); }
@media (min-width: 900px) { .cart-collaterals { grid-template-columns: 1fr 22rem; } }

.woocommerce-checkout .col2-set { display: grid; gap: var(--sdp-6); grid-template-columns: 1fr 1fr; }
@media (max-width: 860px) { .woocommerce-checkout .col2-set { grid-template-columns: 1fr; } }
.woocommerce-checkout #customer_details { margin-bottom: var(--sdp-6); }
.form-row { margin-bottom: var(--sdp-4); }

#payment .wc_payment_methods { list-style: none; margin: 0 0 var(--sdp-5); padding: 0; }
#payment .wc_payment_method {
	padding: var(--sdp-4);
	margin-bottom: var(--sdp-3);
	border-radius: var(--sdp-r-lg);
	background: var(--sdp-surface-alt);
	box-shadow: var(--sdp-clay-sm);
}
#payment .payment_box { margin-top: var(--sdp-3); font-size: var(--sdp-text-sm); color: var(--sdp-ink-faint); }

/* --- Choice rows -----------------------------------------------------------
   Woo emits the control and its label as SIBLINGS, not nested, so the :has()
   rule in base.css cannot reach them. Each row becomes a flex line with the
   control on the text's centre line and the label's heading margin removed.
   -------------------------------------------------------------------------- */
#payment .wc_payment_method > label,
.woocommerce-shipping-methods li label,
.shipping__list li label {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	margin: 0;
	font-size: var(--sdp-text-base);
	font-weight: 600;
	color: var(--sdp-ink);
	cursor: pointer;
}

#payment .wc_payment_method > input[type="radio"],
.woocommerce-shipping-methods li input[type="radio"],
.shipping__list li input[type="radio"] {
	margin-inline-end: .1rem;
	vertical-align: middle;
}

.woocommerce-shipping-methods,
.shipping__list {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-shipping-methods li,
.shipping__list li {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0 0 var(--sdp-2);
}

/* Payment method logos sit inline and must not stretch the row. */
#payment .wc_payment_method > label img { max-block-size: 1.6rem; inline-size: auto; }

/* "Ship to a different address" and the terms box wrap their input, so they
   are handled by the nested rule — this only removes the stray margin Woo adds. */
.woocommerce-form__label-for-checkbox { margin-bottom: 0; }
.woocommerce-form__label-for-checkbox span { font-weight: 500; }

/* Woo prints its own required-field asterisk styling; keep it on the baseline. */
.form-row label .required { text-decoration: none; color: var(--sdp-pink-600); }

/* --- Notices -------------------------------------------------------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--sdp-4);
	margin: 0 0 var(--sdp-6);
	padding: var(--sdp-4) var(--sdp-6);
	list-style: none;
	border-radius: var(--sdp-r-lg);
	font-family: var(--sdp-font-head);
	font-weight: 500;
	color: var(--sdp-ink);
	background: var(--sdp-teal-050);
	box-shadow: var(--sdp-clay-sm);
	--sdp-clay-tint: 34, 193, 161;
}
.woocommerce-message .button { margin-inline-start: auto; }
.woocommerce-info  { background: var(--sdp-sky-050);  --sdp-clay-tint: 168, 213, 226; }
.woocommerce-error { background: var(--sdp-pink-050); --sdp-clay-tint: 255, 122, 174; }

/* --- Mini cart drawer ----------------------------------------------------- */
.sdp-minicart {
	position: fixed;
	inset-block: 0;
	inset-inline-end: 0;
	z-index: var(--sdp-z-drawer);
	display: flex;
	flex-direction: column;
	inline-size: min(92vw, 25rem);
	padding: var(--sdp-6);
	background: var(--sdp-surface);
	border-start-start-radius: var(--sdp-r-2xl);
	border-end-start-radius: var(--sdp-r-2xl);
	box-shadow: -18px 0 50px rgba(var(--sdp-clay-tint), .24);
	transform: translateX(102%);
	visibility: hidden;
	transition: transform var(--sdp-dur-slow) var(--sdp-ease-squish), visibility var(--sdp-dur-slow);
}
.sdp-minicart[data-open="true"] { transform: translateX(0); visibility: visible; }

.sdp-minicart__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sdp-3);
	margin-bottom: var(--sdp-5);
}
.sdp-minicart__title { margin: 0; font-size: var(--sdp-text-xl); }
.sdp-minicart__body { flex: 1 1 auto; overflow-y: auto; }

.woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; }
.woocommerce-mini-cart_item {
	display: grid;
	grid-template-columns: 3.5rem 1fr auto;
	gap: var(--sdp-3);
	align-items: center;
	padding: var(--sdp-3);
	margin-bottom: var(--sdp-3);
	border-radius: var(--sdp-r-md);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
	font-size: var(--sdp-text-sm);
}
.woocommerce-mini-cart_item a { color: var(--sdp-ink); text-decoration: none; font-family: var(--sdp-font-head); font-weight: 600; }
.woocommerce-mini-cart_item img { inline-size: 3.5rem; border-radius: var(--sdp-r-sm); grid-row: span 2; }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: var(--sdp-4) 0; font-family: var(--sdp-font-head); font-weight: 700; color: var(--sdp-ink); }
.woocommerce-mini-cart__buttons { display: grid; gap: var(--sdp-3); }
.woocommerce-mini-cart__buttons .button { inline-size: 100%; }
.woocommerce-mini-cart__empty-message { text-align: center; padding: var(--sdp-8) 0; color: var(--sdp-ink-faint); }

/* --- My account ----------------------------------------------------------- */
.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 var(--sdp-6); padding: 0; display: flex; flex-wrap: wrap; gap: var(--sdp-2); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a {
	display: block;
	padding: .6rem 1.2rem;
	border-radius: var(--sdp-r-pill);
	background: var(--sdp-white);
	box-shadow: var(--sdp-clay-sm);
	font-family: var(--sdp-font-head);
	font-weight: 600;
	font-size: .875rem;
	color: var(--sdp-ink-soft);
	text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: linear-gradient(150deg, #8073F0, var(--sdp-purple) 58%, var(--sdp-purple-700));
	color: var(--sdp-white);
	box-shadow: var(--sdp-clay-fill);
}

/* --- Sale flash ----------------------------------------------------------- */
span.onsale {
	display: inline-flex;
	align-items: center;
	padding: .3rem .8rem;
	border-radius: var(--sdp-r-pill);
	background: var(--sdp-pink);
	color: var(--sdp-white);
	font-family: var(--sdp-font-head);
	font-size: var(--sdp-text-xs);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	box-shadow: 3px 4px 9px rgba(255, 122, 174, .4), inset 1px 2px 4px rgba(255, 255, 255, .35);
}

/* --- Stock ---------------------------------------------------------------- */
.stock.in-stock     { color: var(--sdp-teal-600); font-weight: 600; }
.stock.out-of-stock { color: var(--sdp-danger);   font-weight: 600; }

/* --- Single product layout ------------------------------------------------
   Woo emits the gallery, the summary, the tabs and the related products as
   siblings of div.product. Rather than override four templates, the grid puts
   the first two side by side and lets everything else span the full width.
   -------------------------------------------------------------------------- */
.woocommerce div.product {
	display: grid;
	gap: clamp(1.5rem, 1rem + 3vw, 3.5rem) clamp(1.5rem, 1rem + 3vw, 3.5rem);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
}
.woocommerce div.product > * { grid-column: 1 / -1; min-inline-size: 0; }
.woocommerce div.product > .woocommerce-product-gallery { grid-column: 1; grid-row: 1; }
.woocommerce div.product > .summary { grid-column: 2; grid-row: 1; }
.woocommerce div.product > span.onsale {
	grid-column: 1;
	grid-row: 1;
	z-index: 2;
	justify-self: start;
	align-self: start;
	margin: var(--sdp-5);
}

@media (max-width: 860px) {
	.woocommerce div.product { grid-template-columns: minmax(0, 1fr); }
	.woocommerce div.product > .woocommerce-product-gallery,
	.woocommerce div.product > .summary { grid-column: 1; }
	.woocommerce div.product > .summary { grid-row: auto; }
}

/* --- Single product extras ------------------------------------------------- */
.sdp-product__wa { margin-block: var(--sdp-4) var(--sdp-2); }

.sdp-product__trust {
	list-style: none;
	margin: var(--sdp-6) 0 0;
	padding: var(--sdp-5);
	display: grid;
	gap: var(--sdp-4);
	border-radius: var(--sdp-r-xl);
	background: var(--sdp-surface-alt);
	box-shadow: var(--sdp-clay-sm);
}
.sdp-product__trust li {
	display: flex;
	align-items: center;
	gap: var(--sdp-4);
	margin: 0;
	font-family: var(--sdp-font-head);
	font-size: var(--sdp-text-sm);
	font-weight: 600;
	color: var(--sdp-ink);
}
.sdp-product__trust .clay-icon { --clay-icon-size: 2.75rem; }

/* Related / up-sell headings sit on the cream ground, not on a card. */
.related > h2, .upsells > h2, .cross-sells > h2 {
	font-size: var(--sdp-text-2xl);
	margin-bottom: var(--sdp-6);
}
