/* ==== product.css ==== */
/* Single product page — component layer. */

body.single-product .mp-single-product-page {
	padding-top: clamp(18px, 3vw, 42px);
	padding-bottom: clamp(56px, 7vw, 112px);
}

body.single-product .mp-single-product-page > .woocommerce-breadcrumb,
body.single-product .mp-single-product-page > .wc-block-breadcrumbs {
	margin-bottom: 22px;
	font-size: 13px;
	color: #777;
}

body.single-product .mp-product-summary {
	gap: clamp(32px, 5vw, 80px);
	align-items: flex-start;
	margin-top: 0;
	margin-bottom: clamp(48px, 7vw, 96px);
}

body.single-product .mp-product-summary__media {
	min-width: 0;
	position: sticky;
	top: 108px;
}

body.single-product .mp-product-summary__content {
	min-width: 0;
	padding-top: 4px;
}

body.single-product .mp-product-summary__content h1 {
	margin: 0 0 14px;
	font-size: clamp(30px, 4vw, 50px);
	line-height: 1.04;
	letter-spacing: -0.035em;
	font-weight: 500;
}

body.single-product .mp-product-summary__content .wc-block-components-product-rating {
	margin: 0 0 18px;
}

body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price {
	margin: 0 0 22px;
	font-size: clamp(22px, 2.5vw, 30px);
	font-weight: 600;
}

body.single-product .mp-product-summary__content .wp-block-post-excerpt {
	margin: 0 0 24px;
	font-size: 16px;
	line-height: 1.65;
	color: #555;
}

body.single-product .wc-block-add-to-cart-form,
body.single-product form.cart {
	margin: 26px 0 0;
}

body.single-product form.cart .variations {
	width: 100%;
	margin: 0 0 18px;
	border: 0;
}

body.single-product form.cart .variations tr {
	display: grid;
	gap: 8px;
	margin-bottom: 18px;
}

body.single-product form.cart .variations th,
body.single-product form.cart .variations td {
	display: block;
	padding: 0;
	text-align: left;
	border: 0;
}

body.single-product form.cart .variations label {
	font-size: 14px;
	font-weight: 600;
}

body.single-product form.cart select {
	width: 100%;
	min-height: 50px;
	padding: 0 44px 0 15px;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	background-color: #fff;
	font: inherit;
}

body.single-product form.cart .reset_variations {
	display: inline-block;
	margin-top: 8px;
	font-size: 13px;
	color: #777;
}

body.single-product form.cart .woocommerce-variation-price {
	margin: 0 0 14px;
	font-size: 20px;
	font-weight: 600;
}

/* This product's price is already shown above the size selector, so
   WooCommerce leaves .woocommerce-variation-price/-description/-availability
   empty for every variation here - but an empty element still keeps its
   margin-bottom, leaving a blank ~14px gap before the quantity/cart row on
   every single product page regardless of screen size. */
body.single-product form.cart .woocommerce-variation-price:empty,
body.single-product form.cart .woocommerce-variation-description:empty,
body.single-product form.cart .woocommerce-variation-availability:empty {
	margin: 0;
}

/* WooCommerce core gives the wrapping .woocommerce-variation element its own
   ~32px margin-bottom regardless of whether the three fields above are
   empty. Every variation on this site leaves them empty (price is already
   shown above the size selector, and no per-variation description/
   availability text is used), so this wrapper never has visible content
   either - safe to zero out unconditionally rather than per-child. */
body.single-product form.cart .woocommerce-variation.single_variation {
	margin-bottom: 0;
}

body.single-product form.cart .quantity {
	margin-right: 10px;
}

body.single-product form.cart .qty {
	width: 72px;
	min-height: 52px;
	border: 1px solid #d9d9d9;
	border-radius: 0;
	text-align: center;
}

body.single-product form.cart .single_add_to_cart_button,
body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button {
	min-height: 52px;
	padding: 0 28px;
	border: 1px solid #111;
	border-radius: 0;
	background: #111;
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	transition: background-color .2s ease, color .2s ease;
}

body.single-product form.cart .single_add_to_cart_button:hover,
body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button:hover {
	background: #fff;
	color: #111;
}

/* Fix #3 (client spec): "Buy now" next to "Add to cart" - kept visually
   secondary (outline vs. filled) since Add to cart stays the primary
   action, matching the client's own ordering (cart, then buy now). */
body.single-product .woocommerce-variation-add-to-cart,
body.single-product .wc-block-add-to-cart-form form.cart {
	flex-wrap: wrap;
}

/* iteration-1.css loads after this file and sets
   body.single-product form.cart .single_add_to_cart_button { background:
   var(--mp-primary) !important; ... } - higher specificity than a bare
   .mp-buy-now-button class, so it would win regardless of !important here.
   Matching its own selector and adding the extra class is what actually
   wins the cascade. */
body.single-product form.cart .single_add_to_cart_button.mp-buy-now-button {
	background: #fff !important;
	border-color: var(--mp-primary, #1f3d6b) !important;
	color: var(--mp-primary, #1f3d6b) !important;
}

body.single-product form.cart .single_add_to_cart_button.mp-buy-now-button:hover {
	background: var(--mp-primary, #1f3d6b) !important;
	color: #fff !important;
}

body.single-product .woocommerce-product-gallery {
	width: 100% !important;
}

body.single-product .woocommerce-product-gallery__wrapper {
	margin: 0;
}

body.single-product .woocommerce-product-gallery__image a {
	display: block;
	background: #f5f5f3;
}

body.single-product .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

body.single-product .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 12px 0 0 !important;
	padding: 0;
	list-style: none;
}

body.single-product .flex-control-thumbs li {
	width: auto !important;
	float: none !important;
}

body.single-product .flex-control-thumbs img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	opacity: .58;
	cursor: pointer;
	transition: opacity .2s ease;
}

body.single-product .flex-control-thumbs img.flex-active,
body.single-product .flex-control-thumbs img:hover {
	opacity: 1;
}

.mp-product-specs {
	margin: 26px 0 22px;
	padding: 22px 0;
	border-top: 1px solid #e7e7e7;
	border-bottom: 1px solid #e7e7e7;
}

.mp-product-specs__title {
	margin: 0 0 15px;
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
}

.mp-product-specs__list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mp-product-specs__item {
	display: flex;
	gap: 10px;
	min-width: 0;
}

.mp-product-specs__icon {
	width: 6px;
	height: 6px;
	margin-top: 8px;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}

.mp-product-specs__content {
	display: grid;
	gap: 2px;
}

.mp-product-specs__label {
	font-size: 12px;
	color: #777;
}

.mp-product-specs__value {
	font-size: 14px;
	line-height: 1.35;
}

.mp-product-key-details {
	margin: 0 0 22px;
}

.mp-product-key-details__list {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
}

.mp-product-key-details__item {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 0;
	border-top: 1px solid var(--mp-line, #e7e7e7);
}

.mp-product-key-details__item:first-child {
	border-top: none;
	padding-top: 0;
}

.mp-product-key-details__label {
	color: #667085;
	font-size: 13px;
}

.mp-product-key-details__value {
	color: var(--mp-graphite, #1d1d1d);
	font-size: 14px;
	font-weight: 600;
	text-align: right;
}



.mp-product-key-details__item {
	display: flex;
	gap: 10px;
	min-width: 0;
}

.mp-product-key-details__icon {
	width: 6px;
	height: 6px;
	margin-top: 8px;
	border-radius: 50%;
	background: currentColor;
	flex: 0 0 auto;
}

.mp-product-key-details__content {
	display: grid;
	gap: 2px;
}

.mp-product-key-details__label {
	font-size: 12px;
	color: #777;
}

.mp-product-key-details__value {
	font-size: 14px;
	line-height: 1.35;
}

.mp-size-guide {
	margin: -8px 0 18px;
}

.mp-size-guide__trigger {
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentColor;
	background: transparent;
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.mp-size-guide__dialog[hidden] {
	display: none;
}

.mp-size-guide__dialog {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: grid;
	place-items: center;
	padding: 20px;
}

.mp-size-guide__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .48);
}

.mp-size-guide__panel {
	position: relative;
	z-index: 1;
	width: min(760px, 100%);
	max-height: min(82vh, 760px);
	overflow: auto;
	padding: clamp(24px, 4vw, 42px);
	background: #fff;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .2);
}

.mp-size-guide__head {
	display: flex;
	justify-content: space-between;
	gap: 20px;
	align-items: flex-start;
	margin-bottom: 24px;
}

.mp-size-guide__title {
	margin: 0;
	font-size: clamp(24px, 4vw, 36px);
}

.mp-size-guide__model {
	margin: 8px 0 0;
	color: #666;
}

.mp-size-guide__close {
	width: 42px;
	height: 42px;
	padding: 0;
	border: 1px solid #ddd;
	background: #fff;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.mp-size-guide__table-wrap {
	overflow-x: auto;
}

.mp-size-guide__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 14px;
}

.mp-size-guide__table th,
.mp-size-guide__table td {
	padding: 12px 10px;
	border-bottom: 1px solid #e5e5e5;
	text-align: left;
	white-space: nowrap;
}

.mp-size-guide__note,
.mp-size-guide__empty {
	margin: 20px 0 0;
	font-size: 13px;
	line-height: 1.5;
	color: #666;
}

body.mp-modal-open {
	overflow: hidden;
}

/* .mp-marketplaces* used to be fully duplicated here (pre-redesign).
   It's now defined once in blocks.css; this file loads after blocks.css
   in the enqueue order, so any property redeclared here would silently
   win the cascade and undo the current design. Removed instead of
   trimmed to avoid leaving a third partial copy to keep in sync. */

/* Product-page marketplace CTAs use the approved illustrated buttons. */
body.single-product .mp-marketplaces__links > br {
	display: none;
}

body.single-product .mp-marketplaces .mp-marketplaces__link {
	display: block;
	min-height: 0;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

body.single-product .mp-marketplaces .mp-marketplaces__link img {
	display: block;
	width: 100%;
	max-width: 190px;
	height: auto;
}

body.single-product .mp-marketplaces .mp-marketplaces__link:hover {
	background: transparent;
	filter: brightness(.98);
}

body.single-product .wp-block-woocommerce-product-meta {
	margin-top: 24px;
	padding-top: 18px;
	border-top: 1px solid #e7e7e7;
	font-size: 12px;
	color: #777;
}

body.single-product .wp-block-woocommerce-product-meta a {
	color: inherit;
}

body.single-product .wp-block-woocommerce-product-details {
	margin-top: 0;
	margin-bottom: clamp(56px, 7vw, 100px);
}

body.single-product .wp-block-woocommerce-product-details .wc-block-components-tabs__list {
	gap: 30px;
	border-bottom: 1px solid #ddd;
}

body.single-product .wp-block-woocommerce-product-details .wc-block-components-tabs__item {
	padding: 14px 0;
	font-size: 14px;
}

body.single-product .wp-block-woocommerce-product-details .wc-block-components-tab-panel__content {
	padding-top: 28px;
	font-size: 16px;
	line-height: 1.7;
}

.mp-product-care {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: clamp(30px, 6vw, 90px);
	margin-top: clamp(56px, 7vw, 100px);
	margin-bottom: clamp(56px, 7vw, 100px);
	padding: clamp(32px, 6vw, 72px);
	background: #f3f1ea;
}

.mp-product-care__eyebrow {
	margin: 0 0 12px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .12em;
}

.mp-product-care__title {
	margin: 0 0 18px;
	font-size: clamp(28px, 4vw, 46px);
	line-height: 1.05;
	font-weight: 500;
}

.mp-product-care__text {
	margin: 0;
	line-height: 1.65;
	color: #555;
}

.mp-product-care__card {
	border-top: 1px solid #cfcac0;
}

.mp-product-care__card:last-child {
	border-bottom: 1px solid #cfcac0;
}

.mp-product-care__card summary {
	padding: 18px 30px 18px 0;
	font-weight: 600;
	cursor: pointer;
}

.mp-product-care__card p,
.mp-product-care__card ul {
	margin: 0;
	padding: 0 0 20px;
	line-height: 1.6;
}

.mp-product-care__card ul {
	padding-left: 20px;
}

.mp-product-recommendations {
	margin-top: clamp(48px, 7vw, 88px);
}

.mp-product-recommendations__title {
	margin: 0 0 26px !important;
	font-size: clamp(26px, 3.5vw, 40px);
	font-weight: 500;
}

.mp-product-cards,
body.single-product .mp-product-recommendations .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(14px, 2vw, 28px);
}

body.single-product .mp-product-recommendations .wc-block-product-template > .wc-block-product {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

body.single-product .mp-product-recommendations .wc-block-components-product-image {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}

body.single-product .mp-product-recommendations .wc-block-components-product-image > a {
	display: block !important;
	width: 100% !important;
}

/* Matches the "+" used by the mp-product-card recommendation sections
 * (Покупают вместе / Вы недавно смотрели) — see
 * mini_problems_related_products_quick_link() and
 * mini_problems_related_products_hide_button() in woocommerce-product.php,
 * which drop the native add-to-cart button here in favour of this link. */
body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link {
	position: absolute !important;
	z-index: 3;
	right: 12px;
	bottom: 12px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 38px !important;
	height: 38px !important;
	padding: 0;
	border: 1px solid rgba(71, 96, 172, .18);
	border-radius: 50% !important;
	background: rgba(255,255,255,.95);
	color: #4760ac;
	text-decoration: none;
	box-shadow: 0 4px 16px rgba(31, 44, 84, .08);
	transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link span {
	display: block;
	margin-top: -2px;
	font-size: 25px;
	line-height: 1;
	font-weight: 300;
}

@media (hover: hover) {
	body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link:hover {
		transform: translateY(-2px);
		background: #4760ac;
		color: #fff;
	}
}

@media (max-width: 699px) {
	body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link {
		right: 8px;
		bottom: 8px;
		width: 34px !important;
		height: 34px !important;
	}

	body.single-product .mp-product-recommendations .wc-block-components-product-image .mp-product-card__quick-link span {
		font-size: 22px;
	}
}

body.single-product .mp-product-recommendations .wc-block-components-product-image img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 4 / 5;
	object-fit: cover !important;
}

body.single-product .mp-product-recommendations .wp-block-post-title,
body.single-product .mp-product-recommendations .wp-block-post-title a {
	width: 100% !important;
	max-width: none !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

.mp-product-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.mp-product-card__image {
	display: block;
	background: #f5f5f3;
}

.mp-product-card__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

.mp-product-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding-top: 14px;
}

.mp-product-card__title {
	margin: 0 0 8px;
	font-size: 15px;
	line-height: 1.35;
	font-weight: 500;
}

.mp-product-card__title a,
.mp-product-card__link {
	color: inherit;
	text-decoration: none;
}

.mp-product-card__price {
	margin-bottom: 14px;
	font-size: 14px;
}

.mp-product-card__link {
	margin-top: auto;
	padding-bottom: 3px;
	border-bottom: 1px solid currentColor;
	align-self: flex-start;
	font-size: 13px;
}

.mp-product-recommendations__placeholder {
	padding: 20px;
	background: #f7f7f7;
	font-size: 14px;
	color: #666;
}

@media (max-width: 900px) {
	body.single-product .mp-product-summary {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	body.single-product .mp-product-summary__media {
		position: static;
	}

	.mp-product-care {
		grid-template-columns: 1fr;
	}

	.mp-product-cards,
	body.single-product .mp-product-recommendations .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 600px) {
	body.single-product .mp-single-product-page {
		padding-top: 10px;
	}

	body.single-product .mp-product-summary {
		gap: 24px;
		margin-bottom: 48px;
	}

	body.single-product .flex-control-thumbs {
		grid-template-columns: repeat(5, 72px);
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.mp-product-specs__list,
	.mp-product-key-details__list {
		grid-template-columns: 1fr;
	}

	body.single-product form.cart .quantity {
		margin-right: 6px;
	}

	body.single-product form.cart .single_add_to_cart_button {
		padding-inline: 18px;
	}

	.mp-marketplaces__links {
		grid-template-columns: 1fr;
	}

	.mp-marketplaces__link {
		min-height: 50px;
		font-size: 13px;
	}

	.mp-size-guide__dialog {
		padding: 0;
		align-items: end;
	}

	.mp-size-guide__panel {
		width: 100%;
		max-height: 88vh;
		padding: 24px 18px 30px;
	}

	.mp-product-care {
		margin-inline: calc(var(--wp--style--root--padding-left, 20px) * -1);
		padding: 34px 20px;
	}

	.mp-product-cards,
	body.single-product .mp-product-recommendations .wc-block-product-template {
		gap: 18px 10px;
	}
}

/* --------------------------------------------------------------------------
 * Canopea reference pass 2.0: desktop PDP + mobile PDP
 * Source mapping: .product, .product-gallery, .product-info, .variant-picker.
 * -------------------------------------------------------------------------- */

body.single-product .mp-single-product-page {
	width: 100%;
	max-width: none;
	padding-top: clamp(20px, 3vw, 48px);
}

body.single-product .mp-single-product-page > .woocommerce-breadcrumb,
body.single-product .mp-single-product-page > .wc-block-breadcrumbs,
body.single-product .mp-product-summary,
body.single-product .mp-single-product-page > .wp-block-woocommerce-product-details,
body.single-product .mp-single-product-page > .mp-product-care,
body.single-product .mp-single-product-page > .mp-product-bundle,
body.single-product .mp-single-product-page > .mp-product-sibling-prints,
body.single-product .mp-single-product-page > .mp-product-recommendations,
body.single-product .mp-single-product-page > .mp-recently-viewed {
	width: min(100% - 96px, 1260px);
	max-width: none;
	margin-inline: auto;
}

@media (min-width: 1000px) {
	body.single-product .mp-product-summary {
		display: grid !important;
		grid-template-columns: minmax(0, .65fr) minmax(320px, .35fr);
		gap: clamp(42px, 5vw, 76px);
		align-items: start;
	}

	body.single-product .mp-product-summary > .wp-block-column {
		width: auto !important;
		max-width: none !important;
		flex-basis: auto !important;
	}

	body.single-product .mp-product-summary__media {
		position: relative;
		top: auto;
	}

	body.single-product .mp-product-summary__content {
		position: sticky;
		top: 84px;
		padding-top: clamp(16px, 2vw, 34px);
		text-align: center;
	}

	body.single-product .woocommerce-product-gallery {
		display: grid;
		grid-template-columns: 58px minmax(0, 1fr);
		column-gap: 30px;
		align-items: start;
	}

	body.single-product .woocommerce-product-gallery .flex-viewport,
	body.single-product .woocommerce-product-gallery__wrapper {
		grid-column: 2;
		grid-row: 1;
		min-width: 0;
	}

	body.single-product .flex-control-thumbs {
		grid-column: 1;
		grid-row: 1;
		display: flex !important;
		max-height: calc(100vh - 110px);
		flex-direction: column;
		gap: 9px;
		margin: 0 !important;
		overflow-y: auto;
		scrollbar-width: thin;
	}

	body.single-product .flex-control-thumbs img {
		width: 56px;
		height: 69px;
		aspect-ratio: 660 / 815;
		object-fit: cover;
	}
}

body.single-product .woocommerce-product-gallery__image a {
	background: #f7f7f5;
}

body.single-product .woocommerce-product-gallery__image img {
	aspect-ratio: 660 / 815;
	object-fit: cover;
}

body.single-product .mp-product-summary__content h1 {
	margin-bottom: 6px !important;
	color: #1f3d6b !important;
	font-family: var(--mp-font-body) !important;
	font-size: clamp(23px, 2.3vw, 32px) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: .06em !important;
	text-transform: uppercase !important;
}

body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 10px;
	margin-bottom: 26px;
	color: #1f3d6b !important;
	font-size: 17px;
	font-weight: 500;
}

body.single-product .mp-product-summary__content .wp-block-post-excerpt {
	font-size: 14px;
	line-height: 1.65;
	text-align: left;
}

body.single-product form.cart .variations {
	margin-top: 18px;
}

body.single-product form.cart .variations tr {
	margin-bottom: 16px;
}

body.single-product form.cart .variations label {
	display: block;
	margin-bottom: 8px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-align: left;
	text-transform: uppercase;
}

body.single-product form.cart select {
	min-height: 44px;
	border-color: rgba(25, 40, 46, .26);
	color: var(--mp-catalog-ink, #19282e);
	font-size: 12px;
	letter-spacing: .05em;
}

body.single-product form.cart .quantity {
	display: none;
}

body.single-product form.cart .single_add_to_cart_button,
body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button {
	width: 100%;
	min-height: 49px;
	border-color: var(--mp-catalog-ink, #19282e);
	background: var(--mp-catalog-ink, #19282e);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .18em;
	text-transform: uppercase;
}

body.single-product .mp-product-specs,
body.single-product .mp-product-key-details {
	margin-top: 28px;
	text-align: left;
}

body.single-product .mp-size-guide {
	text-align: left;
}

body.single-product .wp-block-woocommerce-product-meta {
	font-size: 11px;
	text-align: left;
}

@media (max-width: 999px) {
	body.single-product .mp-single-product-page {
		padding-top: 0;
	}

	body.single-product .mp-single-product-page > .woocommerce-breadcrumb,
	body.single-product .mp-single-product-page > .wc-block-breadcrumbs {
		display: none;
	}

	body.single-product .mp-product-summary {
		display: block !important;
		width: 100%;
		margin-bottom: 48px;
	}

	body.single-product .mp-product-summary__media,
	body.single-product .mp-product-summary__content {
		width: 100%;
		max-width: none;
	}

	body.single-product .mp-product-summary__media {
		position: relative;
		top: auto;
	}

	body.single-product .woocommerce-product-gallery {
		margin: 0;
	}

	body.single-product .woocommerce-product-gallery .flex-viewport {
		overflow: visible !important;
	}

	body.single-product .woocommerce-product-gallery__wrapper {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}

	body.single-product .woocommerce-product-gallery__wrapper::-webkit-scrollbar {
		display: none;
	}

	body.single-product .woocommerce-product-gallery__image {
		width: calc(100vw - 40px) !important;
		min-width: calc(100vw - 40px);
		margin-inline: 20px 0;
		float: none !important;
		scroll-snap-align: center;
	}

	body.single-product .woocommerce-product-gallery__image:last-child {
		margin-right: 20px;
	}

	body.single-product .flex-control-thumbs {
		display: none !important;
	}

	body.single-product .flex-direction-nav {
		display: none !important;
	}

	body.single-product .mp-product-summary__content {
		width: min(100% - 40px, 680px);
		margin: 27px auto 0;
		padding: 0;
		text-align: center;
	}

	body.single-product .mp-product-summary__content h1 {
		font-size: 23px;
		letter-spacing: .16em;
	}

	body.single-product .mp-product-summary__content .wp-block-post-excerpt {
		font-size: 13px;
		text-align: left;
	}

	body.single-product .mp-product-specs__list,
	body.single-product .mp-product-key-details__list {
		grid-template-columns: 1fr 1fr;
		gap: 12px 18px;
	}

	body.single-product .mp-single-product-page > .wp-block-woocommerce-product-details,
	body.single-product .mp-single-product-page > .mp-product-care,
	body.single-product .mp-single-product-page > .mp-product-bundle,
	body.single-product .mp-single-product-page > .mp-product-sibling-prints,
	body.single-product .mp-single-product-page > .mp-product-recommendations,
	body.single-product .mp-single-product-page > .mp-recently-viewed {
		width: min(100% - 40px, 680px);
	}
}

@media (max-width: 699px) {
	body.single-product .woocommerce-product-gallery__image {
		width: calc(100vw - 40px) !important;
		min-width: calc(100vw - 40px);
	}

	body.single-product .mp-product-summary__content {
		width: calc(100% - 40px);
	}

	body.single-product .mp-product-specs__list {
		grid-template-columns: 1fr;
	}

	body.single-product form.cart .single_add_to_cart_button,
	body.single-product .wc-block-add-to-cart-form .single_add_to_cart_button {
		min-height: 52px;
	}

	/* Fix #3 (client spec): a full 4:5 hero photo plus generous desktop
	   spacing pushed name/price/size/CTA below the first screen on mobile,
	   requiring a scroll before any purchase action was visible. Shortening
	   the photo and tightening the gaps between name, price, the size row
	   and the cart controls brings all of it back onto the first screen
	   without touching the desktop layout (this block only applies at
	   max-width: 699px). */
	body.single-product .woocommerce-product-gallery__image img {
		aspect-ratio: 1 / 1;
	}

	body.single-product .mp-product-summary__content {
		margin-top: 16px !important;
	}

	body.single-product .mp-product-summary__content h1 {
		margin-bottom: 4px !important;
	}

	body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
	body.single-product .mp-product-summary__content .wc-block-components-product-price {
		margin-bottom: 10px !important;
	}

	body.single-product form.cart {
		margin-top: 12px;
	}

	body.single-product form.cart .variations {
		margin-bottom: 10px;
	}

	body.single-product form.cart .variations tr {
		margin-bottom: 8px;
	}

	body.single-product .mp-size-pills {
		gap: 6px;
	}

	body.single-product .mp-size-pill {
		height: 36px;
		min-width: 36px;
	}

	body.single-product .woocommerce-variation-add-to-cart {
		gap: 8px;
	}
}

@media (orientation: landscape) and (max-height: 560px) and (max-width: 999px) {
	body.single-product .woocommerce-product-gallery__image {
		width: min(56vw, 460px) !important;
		min-width: min(56vw, 460px);
	}

	body.single-product .mp-product-summary__content {
		width: min(100% - 48px, 720px);
	}
}

/* Product recommendation cards - Canopea-inspired refinement (2.0.2) */
body.single-product .mp-product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  overflow: visible;
}

body.single-product .mp-product-card__figure {
  position: relative;
  overflow: visible;
}

body.single-product .mp-product-card__image {
  display: block;
  overflow: hidden;
  aspect-ratio: 660 / 815;
  border-radius: 0;
  background: #f5f5f3;
}

body.single-product .mp-product-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 660 / 815;
  object-fit: cover;
  transition: transform .35s ease;
}

body.single-product .mp-product-card__badge {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 25px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #fff;
  color: #4760ac;
  font-size: 11px;
  line-height: 1;
  font-weight: 600;
  letter-spacing: .04em;
}

body.single-product .mp-product-card__quick-link {
  position: absolute;
  z-index: 3;
  right: 12px;
  bottom: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid rgba(71, 96, 172, .18);
  border-radius: 50%;
  background: rgba(255,255,255,.95);
  color: #4760ac;
  text-decoration: none;
  box-shadow: 0 4px 16px rgba(31, 44, 84, .08);
  transition: transform .2s ease, background-color .2s ease, color .2s ease;
}

body.single-product .mp-product-card__quick-link span {
  display: block;
  margin-top: -2px;
  font-size: 25px;
  line-height: 1;
  font-weight: 300;
}

body.single-product .mp-product-card__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 13px 5px 0;
  text-align: center;
}

body.single-product .mp-product-card__title {
  margin: 0;
  max-width: 100%;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.single-product .mp-product-card__title a {
  color: #4760ac;
  text-decoration: none;
}

body.single-product .mp-product-card__price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  gap: 5px;
  margin: 5px 0 0;
  color: #4760ac;
  font-size: 13px;
  line-height: 1.3;
}

body.single-product .mp-product-card__price del {
  color: rgba(71, 96, 172, .55);
  font-size: .9em;
}

body.single-product .mp-product-card__price ins {
  color: #bc3b7c;
  text-decoration: none;
}

body.single-product .mp-product-card__link {
  display: none !important;
}

@media (hover: hover) {
  body.single-product .mp-product-card:hover .mp-product-card__image img {
    transform: scale(1.02);
  }

  body.single-product .mp-product-card__quick-link:hover {
    transform: translateY(-2px);
    background: #4760ac;
    color: #fff;
  }
}

@media (max-width: 699px) {
  body.single-product .mp-product-cards,
  body.single-product .mp-product-recommendations .wc-block-product-template {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px 12px !important;
  }

  body.single-product .mp-product-card__image {
    border-radius: 0;
  }

  body.single-product .mp-product-card__badge {
    top: 7px;
    left: 7px;
    min-height: 22px;
    padding: 3px 7px;
    font-size: 10px;
  }

  body.single-product .mp-product-card__quick-link {
    right: 8px;
    bottom: 8px;
    width: 34px;
    height: 34px;
  }

  body.single-product .mp-product-card__quick-link span {
    font-size: 22px;
  }

  body.single-product .mp-product-card__body {
    padding-top: 10px;
  }

  body.single-product .mp-product-card__title {
    font-size: 11px;
    letter-spacing: .06em;
  }

  body.single-product .mp-product-card__price {
    margin-top: 4px;
    font-size: 11px;
  }

  /* "Похожие товары" uses WooCommerce's own block markup, not the
   * .mp-product-card layout above, so it missed this mobile pass — its
   * button kept a 170px min-width from the desktop button reset and
   * didn't shrink to the 2-column grid like every other recommendation
   * card here and on the catalog page. */
  body.single-product .mp-product-recommendations .wc-block-components-product-button__button {
    min-width: 0 !important;
    width: 100% !important;
    min-height: 38px !important;
    padding: 0 10px !important;
    font-size: 11px !important;
  }

  body.single-product .mp-product-recommendations .wp-block-post-title,
  body.single-product .mp-product-recommendations .wp-block-post-title a {
    font-size: 11px !important;
  }

  body.single-product .mp-product-recommendations .wc-block-components-product-price,
  body.single-product .mp-product-recommendations .wp-block-woocommerce-product-price {
    font-size: 11px !important;
  }
}

.mp-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.mp-size-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.mp-size-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 6px;
	border: 1px solid #c7ccd1;
	border-radius: 999px;
	background: #fff;
	color: #1f3d6b;
	font-family: var(--mp-font-body);
	font-size: 13px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color .15s ease, background .15s ease, color .15s ease;
}

.mp-size-pill:hover:not(.is-disabled) {
	border-color: #1f3d6b;
}

.mp-size-pill.is-selected {
	background: #1f3d6b;
	border-color: #1f3d6b;
	color: #fff;
}

.mp-size-pill.is-disabled {
	position: relative;
	color: #A6A6A6;
	border-color: #D9D9D9;
	background: #F2F2F2;
	cursor: not-allowed;
}

@media (hover: hover) {
	.mp-size-pill.is-disabled:hover::after,
	.mp-size-pill.is-disabled:focus-visible::after {
		content: attr(title);
		position: absolute;
		bottom: calc(100% + 8px);
		left: 50%;
		transform: translateX(-50%);
		width: 160px;
		padding: 8px 10px;
		border-radius: 6px;
		background: #333333;
		color: #ffffff;
		font-size: 12px;
		line-height: 1.4;
		text-align: center;
		z-index: 20;
		pointer-events: none;
	}
}

/* ===== Consolidated from iteration-1.css (2026-09-23): single-product page (Canopea layout) ===== */
/* Canopea-inspired product sheet: calm two-column editorial layout. */
body.single-product .mp-product-summary { align-items: flex-start !important; gap: clamp(44px, 6vw, 88px) !important; }
body.single-product .mp-product-summary__media { flex-basis: min(58vw, 700px) !important; }
body.single-product .mp-product-summary__content { max-width: 500px; padding-top: 26px !important; text-align: left !important; }
body.single-product .mp-product-summary__content h1 { max-width: 24ch; margin: 0 0 10px !important; font-size: clamp(22px, 1.75vw, 28px) !important; line-height: 1.16 !important; letter-spacing: .035em !important; text-align: left !important; text-transform: uppercase; overflow-wrap: normal !important; word-break: normal !important; }
html body.single-product main.mp-single-product-page .mp-product-summary__content h1.wp-block-post-title { font-size: clamp(22px, 1.75vw, 28px) !important; }
body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price { min-height: 0 !important; margin: 0 0 18px !important; padding: 0 !important; font-size: 18px !important; font-weight: 500 !important; text-align: left !important; }
body.single-product .mp-product-summary__content .yandex-pay-badges { min-height: 0 !important; margin: 0 0 14px !important; }
body.single-product .mp-product-summary__content .wp-block-post-excerpt { margin: 22px 0 0 !important; padding: 22px 0 !important; border-top: 1px solid #dfe3e6 !important; font-size: 13px !important; line-height: 1.65 !important; color: #66717f !important; text-align: left !important; }
body.single-product .mp-product-summary__content .wp-block-post-excerpt::before { content: "Описание"; display: block; margin-bottom: 14px; color: var(--mp-primary, #1f3d6b); font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
body.single-product .mp-product-summary__content .wp-block-add-to-cart-form { margin: 0 0 10px !important; }
body.single-product form.variations_form table.variations { margin: 0 0 16px !important; }
body.single-product form.variations_form table.variations tr { display: grid !important; grid-template-columns: 96px minmax(0, 1fr) !important; align-items: start !important; gap: 14px !important; padding: 8px 0 !important; border-top: 1px solid #e1e3e5 !important; }
body.single-product form.variations_form table.variations tr:last-child { border-bottom: 1px solid #e1e3e5 !important; }
body.single-product form.variations_form table.variations th,
body.single-product form.variations_form table.variations td { display: block !important; width: auto !important; padding: 0 !important; text-align: left !important; }
body.single-product form.variations_form label { font-size: 11px !important; font-weight: 500 !important; letter-spacing: .08em !important; text-transform: uppercase; }
body.single-product form.variations_form select { width: 100% !important; min-height: 40px !important; padding: 0 34px 0 12px !important; border: 1px solid #cfd3d7 !important; border-radius: 0 !important; background-color: #fff !important; font-size: 13px !important; }
body.single-product form.variations_form .reset_variations { display: inline-block !important; margin-top: 8px !important; font-size: 11px !important; color: #6f7780 !important; }
body.single-product form.cart .quantity { border-radius: 0 !important; }
body.single-product .mp-size-guide { margin: 12px 0 20px !important; }
body.single-product .mp-product-specs { margin: 0 0 8px !important; padding: 22px 0 !important; background: transparent !important; border: solid #dfe3e6 !important; border-width: 1px 0 !important; border-radius: 0 !important; }
body.single-product .mp-product-specs__title { margin: 0 0 20px !important; font-size: 15px !important; color: var(--mp-primary, #1f3d6b); letter-spacing: .08em !important; }
body.single-product .mp-product-specs__list { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 18px 24px !important; }
body.single-product .mp-product-specs__item { display: block !important; }
body.single-product .mp-product-specs__icon { display: none !important; }
body.single-product .mp-product-specs__label { margin-bottom: 6px !important; font-size: 10px !important; text-transform: uppercase; letter-spacing: .06em; }
body.single-product .mp-product-specs__value { font-size: 13px !important; line-height: 1.4 !important; }
body.single-product form.cart .single_add_to_cart_button { width: 100%; background: var(--mp-primary, #1f3d6b) !important; border-color: var(--mp-primary, #1f3d6b) !important; border-radius: 0 !important; text-transform: uppercase; }
body.single-product .single_variation_wrap .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: 92px minmax(0, 1fr) !important; gap: 10px !important; align-items: stretch !important; }
body.single-product .single_variation_wrap .quantity { width: 92px !important; min-width: 92px !important; }
body.single-product .single_variation_wrap .single_add_to_cart_button { min-height: 48px !important; }
body.single-product .mp-marketplaces .mp-marketplaces__links > br { display: none !important; }

/* Marketplace actions form one deliberate row instead of a wrapped 2 + 1 layout. */
@media (min-width: 782px) {
  body.single-product .mp-marketplaces .mp-marketplaces__links {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }
  body.single-product .mp-marketplaces .mp-marketplaces__link {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding-inline: 10px !important;
    font-size: 11px !important;
    white-space: nowrap;
  }
}
@media (max-width: 781px) {
  body.single-product .mp-product-summary__media { position: static !important; flex-basis: 100% !important; }
  body.single-product .mp-product-summary__content { max-width: none; padding-top: 10px !important; }
  body.single-product .mp-product-summary__content h1 { max-width: none; font-size: clamp(22px, 7vw, 29px) !important; letter-spacing: .035em !important; }
  body.single-product form.variations_form table.variations tr { grid-template-columns: 88px minmax(0, 1fr) !important; }
  body.single-product .mp-product-specs__list { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

/* Phone/tablet landscape can be wider than the mobile breakpoint while still
   being very short. Preserve the same separation without forcing a tall hero. */
@media (orientation: landscape) and (max-height: 520px) and (max-width: 1024px) {
  body.woocommerce-account main.mp-account-page {
    height: auto !important;
    min-height: 100dvh !important;
    padding-top: 18px !important;
    padding-bottom: 48px !important;
    overflow: visible !important;
  }
  body.woocommerce-account main.mp-account-page > .mp-account-intro {
    margin: 0 auto 22px !important;
  }
  body.woocommerce-account main.mp-account-page > .mp-account-shell {
    padding-top: 26px !important;
  }
  body.woocommerce-account .mp-account-intro__title {
    margin-top: 0 !important;
  }
}

/* Product purchase column: one shared edge for title, price, options and
   secondary actions. WooCommerce's block stylesheet reserves a grid column
   for quantity even while that control is hidden, which shifted the button. */
body.single-product .mp-product-summary__content,
body.single-product .mp-product-summary__content > .wp-block-post-title,
body.single-product .mp-product-summary__content > .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content > .wp-block-add-to-cart-form,
body.single-product .mp-product-summary__content > .yith-add-to-wishlist-button-block,
body.single-product .mp-product-summary__content > .mp-size-guide,
body.single-product .mp-product-summary__content > .yandex-pay-badges,
body.single-product .mp-product-summary__content > .wp-block-post-excerpt {
  box-sizing: border-box !important;
  max-width: none !important;
  width: 100% !important;
}

body.single-product .mp-product-summary__content > .wp-block-post-title,
body.single-product .mp-product-summary__content .wp-block-woocommerce-product-price,
body.single-product .mp-product-summary__content .wc-block-components-product-price {
  display: block !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
  width: 100% !important;
}

body.single-product .mp-product-summary__content .wp-block-add-to-cart-form,
body.single-product .mp-product-summary__content form.variations_form,
body.single-product .mp-product-summary__content form.variations_form table.variations,
body.single-product .mp-product-summary__content form.variations_form tbody {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product form.variations_form table.variations tr {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product form.variations_form .single_variation_wrap,
body.single-product form.variations_form .woocommerce-variation-add-to-cart {
  box-sizing: border-box !important;
  width: 100% !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart {
  align-items: stretch !important;
  display: flex !important;
  gap: 10px !important;
  grid-template-columns: none !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart .quantity {
  flex: 0 0 92px !important;
  margin: 0 !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart .quantity[style*="display: none"],
body.single-product form.variations_form .woocommerce-variation-add-to-cart-disabled .quantity {
  display: none !important;
}

body.single-product form.variations_form .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 1 auto !important;
  grid-column: auto !important;
  justify-self: stretch !important;
  margin: 0 !important;
  min-width: 0 !important;
  width: auto !important;
}

body.single-product .mp-product-summary__content > .yith-add-to-wishlist-button-block,
body.single-product .mp-product-summary__content > .mp-size-guide,
body.single-product .mp-product-summary__content > .yandex-pay-badges {
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

@media (max-width: 781px) {
  body.single-product form.variations_form table.variations tr {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
}

