/*
 * гимнастика36.рф — product page and product cards (audit 2026-10, README «Карточка товара»).
 * Brand blue #65B4F1 stays for backgrounds and banners; text and buttons use the darker #1F74B8 (4.9:1 on white).
 */
:root {
	--gym36-blue: #1f74b8;
	--gym36-blue-dark: #185c93;
	--gym36-blue-soft: #eaf3fb;
	--gym36-ink: #1f2933;
	--gym36-muted: #5f6b76;
	--gym36-line: #e3e8ee;
	--gym36-green: #2e7d32;
}

/* ---- Prices everywhere: readable blue, old price grey ---- */
.price,
.price > .amount,
.price ins .amount,
.wd-single-price .price {
	color: var(--gym36-blue);
}
.price del,
.price del .amount {
	color: var(--gym36-muted);
	font-weight: 400;
}

/* ---- Buy box ---- */
.single-product .wd-single-price .price {
	font-weight: 700;
	letter-spacing: -0.01em;
}
.single-product .wd-single-stock-status .stock,
.single-product .wd-single-add-cart .stock {
	font-weight: 600;
}
.single-product .stock.in-stock {
	color: var(--gym36-green);
}

/* Variation rows: label above, readable size */
.single-product .variations_form .variations th.label,
.single-product .variations_form .variations .label label {
	font-size: 15px;
	font-weight: 600;
	color: var(--gym36-ink);
}
.single-product .wd-attr-selected {
	font-weight: 400;
	color: var(--gym36-muted);
}

/* Text swatches (sizes): real buttons with a clear selected state */
.single-product .wd-swatches-single .wd-swatch.wd-text {
	min-width: 48px;
	min-height: 40px;
	padding: 0 12px;
	border: 1px solid var(--gym36-line);
	border-radius: 8px;
	background: #fff;
	font-size: 14px;
	font-weight: 500;
	color: var(--gym36-ink);
	transition: border-color .15s, box-shadow .15s;
}
.single-product .wd-swatches-single .wd-swatch.wd-text:hover {
	border-color: var(--gym36-blue);
}
.single-product .wd-swatches-single .wd-swatch.wd-text.wd-active {
	border-color: var(--gym36-blue);
	box-shadow: inset 0 0 0 1px var(--gym36-blue);
	background: var(--gym36-blue-soft);
	color: var(--gym36-blue-dark);
}
.single-product .wd-swatches-single .wd-swatch.wd-text .wd-swatch-text {
	line-height: 1.2;
}
/* Colour swatches: a bit larger targets, visible ring on the selected one */
.single-product .wd-swatches-single .wd-swatch.wd-bg {
	--wd-swatch-size: 32px;
}
.single-product .wd-swatches-single .wd-swatch.wd-bg.wd-active {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--gym36-blue);
}

/* Quantity + buttons: one row, 48 px high, add-to-cart is the main action */
.single-product .wd-single-add-cart form.cart .single_add_to_cart_button,
.single-product .wd-single-add-cart .wd-buy-now-btn {
	min-height: 48px;
	padding: 0 26px;
	border-radius: 8px;
	font-size: 15px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}
.single-product .wd-single-add-cart .single_add_to_cart_button {
	background: var(--gym36-blue);
	color: #fff;
	flex: 1 1 auto;
}
.single-product .wd-single-add-cart .single_add_to_cart_button:hover {
	background: var(--gym36-blue-dark);
}
.single-product .wd-single-add-cart .wd-buy-now-btn {
	background: #fff;
	color: var(--gym36-blue);
	box-shadow: inset 0 0 0 2px var(--gym36-blue);
}
.single-product .wd-single-add-cart .wd-buy-now-btn:hover {
	background: var(--gym36-blue-soft);
}
.single-product .wd-single-add-cart .quantity {
	--wd-form-height: 48px;
}
.single-product .wd-single-add-cart .quantity input {
	min-height: 48px;
}

/* Delivery / pickup / payment facts under the buttons */
.gym36-buy-info {
	margin: 4px 0 0;
	padding: 14px 16px;
	list-style: none;
	display: grid;
	gap: 10px;
	border: 1px solid var(--gym36-line);
	border-radius: 10px;
	background: #fafcfe;
	font-size: 14px;
	line-height: 1.45;
	color: var(--gym36-ink);
}
.gym36-buy-info li {
	margin: 0;
	padding-left: 28px;
	position: relative;
}
.gym36-buy-info li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 18px;
	height: 18px;
	background: var(--gym36-blue);
	-webkit-mask: var(--gym36-icon) center / contain no-repeat;
	mask: var(--gym36-icon) center / contain no-repeat;
}
.gym36-buy-info b {
	font-weight: 600;
}
.gym36-buy-info a {
	color: var(--gym36-blue);
	font-weight: 600;
	white-space: nowrap;
}
.gym36-buy-info .i-pickup { --gym36-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l1.5-5h15L21 9'/%3E%3Cpath d='M4 9v11h16V9'/%3E%3Cpath d='M9 20v-6h6v6'/%3E%3C/svg%3E"); }
.gym36-buy-info .i-delivery { --gym36-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 5h13v11H1z'/%3E%3Cpath d='M14 9h4l4 4v3h-8z'/%3E%3Ccircle cx='5.5' cy='18.5' r='2'/%3E%3Ccircle cx='17.5' cy='18.5' r='2'/%3E%3C/svg%3E"); }
.gym36-buy-info .i-pay { --gym36-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M2 10h20'/%3E%3C/svg%3E"); }
.gym36-buy-info .i-phone { --gym36-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1.9.4 1.8.7 2.7a2 2 0 0 1-.5 2.1L8 9.8a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.7.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }

/* ---- Description and specifications ---- */
.single-product .wd-single-attrs .woocommerce-product-attributes,
.single-product .shop_attributes {
	max-width: 720px;
}
.single-product .woocommerce-product-attributes-item__label {
	color: var(--gym36-muted);
	font-weight: 400;
	width: 40%;
}
.single-product .woocommerce-product-attributes-item__value {
	text-align: left;
	color: var(--gym36-ink);
}
/* WoodMart wraps each value link in <p>: inline, no gap before the comma */
.single-product .wd-single-attrs .wd-attr-term,
.single-product .wd-single-attrs .wd-attr-term p {
	display: inline;
	margin: 0;
}
.single-product .wd-single-attrs .wd-attr-term a {
	color: var(--gym36-ink);
	font-weight: 500;
}
.single-product .wd-single-attrs .wd-attr-term a:hover {
	color: var(--gym36-blue);
}
/* WoodMart «list» layout makes each row a flex line and pushes values to the right edge */
.single-product .wd-single-attrs.wd-layout-list .woocommerce-product-attributes-item {
	justify-content: flex-start;
	gap: 16px;
}
.single-product .wd-single-attrs.wd-layout-list .woocommerce-product-attributes-item__label {
	flex: 0 0 160px;
}
.single-product .wd-single-attrs.wd-layout-list .woocommerce-product-attributes-item__value {
	flex: 1 1 auto;
	text-align: left;
}
/* The space inside each term's span would sit before its comma */
.single-product .wd-single-attrs .wd-attr-term {
	margin-inline-end: -0.25em;
}

/* Chosen value next to the attribute name («Цвет: Бирюзовый»): ours on wide screens, WoodMart's below 1025 px */
.single-product .variations .gym36-attr-value,
.single-product .variations .wd-attr-selected {
	font-weight: 400;
	color: var(--gym36-muted);
	margin-left: 4px;
}

/* Sticky add-to-cart bar: same buttons as in the buy box */
.wd-sticky-btn .wd-sticky-add-to-cart,
.wd-sticky-btn .wd-buy-now-btn {
	border-radius: 8px;
	text-transform: none;
	font-weight: 600;
	letter-spacing: 0;
}
.wd-sticky-btn .wd-sticky-add-to-cart,
.wd-sticky-btn .single_add_to_cart_button {
	background: var(--gym36-blue);
	color: #fff;
}
.wd-sticky-btn .wd-buy-now-btn {
	background: #fff;
	color: var(--gym36-blue);
	box-shadow: inset 0 0 0 2px var(--gym36-blue);
}
.single-product .wd-single-content,
.single-product .woocommerce-product-details__short-description {
	max-width: 760px;
	font-size: 15px;
	line-height: 1.65;
	color: var(--gym36-ink);
}

/* WoodMart accent buttons (cards, cart, checkout) take their colour from these variables: the site blue everywhere */
body {
	--btn-accented-bgcolor: #1f74b8;
	--btn-accented-bgcolor-hover: #185c93;
	--btn-accented-transform: none;
}

/* ---- Product cards (shop, categories, home, related) — WoodMart «Full width button» style ---- */
/* The style drops an attribute list («Цвет: …, Бренд: …») over the next row on hover — the card says enough */
.wd-product .fade-in-block {
	display: none !important;
}
.wd-product .product-wrapper {
	display: flex;
	flex-direction: column;
	height: 100%;
	border-radius: 12px;
	transition: box-shadow .2s;
}
.wd-product:hover .product-wrapper {
	box-shadow: 0 8px 24px rgba(31, 41, 51, .08);
}
.wd-product .product-element-top {
	border-radius: 10px;
	overflow: hidden;
}
/* Name, category, price stack; the button sits at the bottom so buttons in a row line up */
.wd-product .product-element-bottom {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	gap: 4px;
}
.wd-product .wd-entities-title {
	font-size: 14px;
	line-height: 1.35;
	font-weight: 500;
	min-height: 2.7em; /* two lines reserved: prices line up across the row */
}
.wd-product .wd-entities-title a {
	color: var(--gym36-ink);
}
.wd-product .wd-entities-title a:hover {
	color: var(--gym36-blue);
}
.wd-product .wd-product-cats {
	font-size: 12px;
	order: -1; /* category above the name, as a small label */
}
.wd-product .wd-product-cats a {
	color: var(--gym36-muted);
}
.wd-product .star-rating {
	display: none; /* no product has reviews yet: an empty row of stars says «rated 0» */
}
/* «В наличии» is the normal case — only «Нет в наличии» is worth a line */
.wd-product .wd-product-stock.in-stock {
	display: none;
}
.wd-product .wd-product-stock.out-of-stock {
	font-size: 13px;
	font-weight: 600;
	color: #a4372a;
}
.wd-product.outofstock .product-element-top img {
	opacity: .55;
	filter: grayscale(.4);
}
.wd-product .price {
	margin-top: auto;
	padding-top: 4px;
	font-size: 17px;
	font-weight: 700;
}
.wd-product .price del {
	font-size: 13px;
}
.wd-product .wd-add-btn {
	margin-top: 8px;
}
.wd-product .wd-add-btn .button {
	width: 100%;
	min-height: 42px;
	border-radius: 8px;
	background: var(--gym36-blue);
	color: #fff;
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}
.wd-product .wd-add-btn .button:hover {
	background: var(--gym36-blue-dark);
	color: #fff;
}
.wd-product.outofstock .wd-add-btn .button {
	background: #fff;
	color: var(--gym36-blue);
	box-shadow: inset 0 0 0 1px var(--gym36-blue);
}
/* Colour dots of variable products */
.wd-product .wd-swatches-grid {
	margin: 2px 0;
}
.wd-product .wd-swatches-grid .wd-swatch {
	--wd-swatch-size: 18px;
}
/* Sale badge readable (white on #65B4F1 was 2.3:1) */
.product-labels .product-label.onsale {
	background: #c2410c;
	color: #fff;
}
.product-labels .product-label.new {
	background: #2e7d32;
	color: #fff;
}

/* ---- Phones ---- */
@media (max-width: 767px) {
	.single-product .wd-single-add-cart form.cart .single_add_to_cart_button,
	.single-product .wd-single-add-cart .wd-buy-now-btn {
		padding: 0 16px;
	}
	.gym36-buy-info {
		font-size: 14px;
		padding: 12px 14px;
	}
	.single-product .woocommerce-product-attributes-item__label {
		width: 45%;
	}
}
