/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.9
 Text Domain:  woodmart
*/

/* Footer Megamarket (Elementor #489): contact list icons 14×14 */
.elementor-489 .elementor-widget-wd_list img,
.footer-container .elementor-widget-wd_list img {
	width: 14px !important;
	height: 14px !important;
	max-width: 14px !important;
	max-height: 14px !important;
	object-fit: contain;
	flex-shrink: 0;
}

/* Footer logo */
.footer-container .elementor-widget-wd_image_or_svg img,
.elementor-489 .elementor-element-c4aba89 img {
	max-width: 225px;
	width: auto;
	height: 40px;
	max-height: 40px;
	object-fit: contain;
	object-position: left center;
}

/* App store badges */
.footer-container .elementor-element-605c666 img,
.footer-container .elementor-element-7db7159 img,
.elementor-489 .elementor-element-605c666 img,
.elementor-489 .elementor-element-7db7159 img {
	width: 135px;
	height: 40px;
	max-width: 135px;
	max-height: 40px;
	object-fit: contain;
}

/* Newsletter block icon */
.footer-container .elementor-element-ad6f803 .info-box-icon img,
.footer-container .elementor-element-ad6f803 .wd-icon img,
.elementor-489 .elementor-element-ad6f803 .info-box-icon img,
.elementor-489 .elementor-element-ad6f803 .wd-icon img {
	width: 48px;
	height: 48px;
	max-width: 48px;
	max-height: 48px;
	object-fit: contain;
}

/* Footer newsletter bar (megamarket blue strip) */
.elementor-489 .elementor-element-557dc46 form.wpcf7-form,
.footer-container .elementor-element-557dc46 form.wpcf7-form {
	display: block;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form .row,
.footer-container .elementor-element-557dc46 .wpcf7-form .row {
	--wd-gap: 10px;
	--wd-f-basis: 200px;
	flex-wrap: nowrap;
	align-items: center;
	margin-bottom: 0;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form .row > :is(.col, .col-auto),
.footer-container .elementor-element-557dc46 .wpcf7-form .row > :is(.col, .col-auto) {
	display: flex;
	align-items: center;
	margin: 0;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form .row :is(.col, .col-auto) p,
.footer-container .elementor-element-557dc46 .wpcf7-form .row :is(.col, .col-auto) p {
	margin: 0;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form .row > .col,
.footer-container .elementor-element-557dc46 .wpcf7-form .row > .col {
	flex: 1 1 200px;
	min-width: 0;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form .row > .col-auto,
.footer-container .elementor-element-557dc46 .wpcf7-form .row > .col-auto {
	flex: 0 0 auto;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form .row br,
.footer-container .elementor-element-557dc46 .wpcf7-form .row br {
	display: none;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form .wpcf7-form-control-wrap,
.footer-container .elementor-element-557dc46 .wpcf7-form .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form input[type="email"],
.footer-container .elementor-element-557dc46 .wpcf7-form input[type="email"] {
	width: 100%;
	height: var(--wd-form-height, 42px);
	margin: 0;
}

.elementor-489 .elementor-element-557dc46 .wpcf7-form input[type="submit"],
.footer-container .elementor-element-557dc46 .wpcf7-form input[type="submit"] {
	white-space: nowrap;
	height: var(--wd-form-height, 42px);
	margin: 0;
}

.elementor-489 .elementor-element-061a21d .wpcf7-form,
.footer-container .elementor-element-061a21d .wpcf7-form {
	width: 100%;
	max-width: none;
}

@media (min-width: 1025px) {
	.elementor-489 .elementor-element-557dc46 .wpcf7-form input[type="submit"],
	.footer-container .elementor-element-557dc46 .wpcf7-form input[type="submit"] {
		padding-inline: 35px;
	}
}

@media (max-width: 767px) {
	.elementor-489 .elementor-element-557dc46 .wpcf7-form .row,
	.footer-container .elementor-element-557dc46 .wpcf7-form .row {
		flex-wrap: wrap;
	}
	.elementor-489 .elementor-element-557dc46 .wpcf7-form input[type="submit"],
	.footer-container .elementor-element-557dc46 .wpcf7-form input[type="submit"] {
		width: 100%;
	}
}

/* RASTTel header phone */
.whb-general-header .rasttel-header-phone { white-space: nowrap; }
/* Только ссылка под телефоном в текстовом блоке, не пункт меню */
.whb-general-header .wd-header-text .rasttel-header-callback {
	display: inline-block;
	margin-top: 6px;
	font-size: 12px;
	font-weight: 600;
	color: #1246ab;
	text-decoration: underline;
}
/* Пункт меню «Запросить звонок» — как соседние пункты wd-nav-header */
.whb-general-header #menu-item-2846 {
	display: flex;
	align-items: center;
}
.whb-general-header #menu-item-2846 > a.woodmart-nav-link {
	margin: 0;
	padding: var(--nav-pd, inherit);
	font-size: inherit;
	font-weight: inherit;
	color: inherit;
	text-decoration: inherit;
	line-height: inherit;
}

/* RASTTel side banners — light blue/cyan look */
.elementor-element-6b749ca .promo-banner,
.elementor-element-cda1f18 .promo-banner {
	--rast-banner-overlay: linear-gradient(
		to top,
		rgba(6, 52, 102, 0.58) 0%,
		rgba(16, 88, 148, 0.34) 55%,
		rgba(72, 158, 214, 0.12) 100%
	);
}
.elementor-element-6b749ca .banner-mask .wrapper-content-banner,
.elementor-element-cda1f18 .banner-mask .wrapper-content-banner {
	background: var(--rast-banner-overlay) !important;
	padding: 22px 20px;
}
.elementor-element-6b749ca .banner-mask:hover .wrapper-content-banner,
.elementor-element-cda1f18 .banner-mask:hover .wrapper-content-banner {
	background: linear-gradient(
		to top,
		rgba(8, 56, 108, 0.68) 0%,
		rgba(20, 94, 154, 0.42) 55%,
		rgba(80, 164, 218, 0.18) 100%
	) !important;
}
.elementor-element-6b749ca .banner-title,
.elementor-element-cda1f18 .banner-title,
.elementor-element-6b749ca .banner-inner,
.elementor-element-cda1f18 .banner-inner {
	color: #fff !important;
	text-shadow: 0 1px 3px rgba(4, 32, 72, 0.45);
}
.elementor-element-6b749ca .banner-image img,
.elementor-element-cda1f18 .banner-image img {
	filter: brightness(1.06) saturate(1.1) hue-rotate(-14deg);
}
/* RASTTel header contacts popup logo */
.elementor-514 .elementor-element-5996ebe img {
	max-width: 142px;
	width: auto;
	height: 25px;
	max-height: 25px;
	object-fit: contain;
	object-position: left center;
}

/* --- Product labels (Woodmart) + Б/У badge coexist --- */
.single-product .woocommerce-product-gallery .wd-carousel-inner,
.wd-product .wd-product-thumb,
.wd-product .wd-loop-prod-thumb,
.wd-product .wd-product-img-link {
	position: relative;
}
.single-product .woocommerce-product-gallery .product-labels,
.wd-product .product-labels {
	z-index: 5;
	flex-wrap: wrap;
	gap: 6px;
	width: max-content;
	pointer-events: none;
}
/*
 * Single gallery: Woodmart aligns .product-labels to the top-right; Б/У uses the same corner.
 * Move promo labels to the top-left on used products.
 */
.single-product.rasttel-product-used .woocommerce-product-gallery .product-labels {
	inset-inline-start: 12px;
	inset-inline-end: auto;
	left: 12px;
	right: auto;
	align-items: flex-start;
	max-width: calc(100% - 88px);
}
/* Loop cards: Woodmart labels stay top-left; reserve right strip for Б/У */
.wd-product:has(.rasttel-condition-badge--loop) .product-labels {
	max-width: calc(100% - 72px);
}

/* --- Product page: used badge + notice + short desc --- */
.single-product .woocommerce-product-gallery .rasttel-condition-badge--single {
	position: absolute;
	inset-inline-start: auto;
	inset-inline-end: 12px;
	right: 12px;
	left: auto;
	top: 12px;
	z-index: 20;
	pointer-events: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 26px;
	padding: 0 10px;
	border-radius: 999px;
	background: rgba(18, 70, 171, 0.92);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}

/*
 * Main gallery arrows + zoom actions: Woodmart centers on the tallest slide in
 * .wd-carousel-wrap (often a not-yet-loaded image). Pin controls to the active
 * slide height via --rasttel-gallery-slide-h (set in footer script).
 */
.single-product .woocommerce-product-gallery .wd-carousel-inner > .wd-nav-arrows.wd-pos-sep:not(.wd-thumb-nav) {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 0;
	z-index: 250;
	pointer-events: none;
}
.single-product .woocommerce-product-gallery .wd-carousel-inner > .wd-nav-arrows.wd-pos-sep:not(.wd-thumb-nav) .wd-btn-arrow {
	pointer-events: auto;
	top: calc(
		var(--rasttel-gallery-slide-h, 280px) / 2
		- var(--wd-arrow-height, var(--wd-arrow-size, 50px)) / 2
		- var(--wd-arrow-offset-v, 0px)
	) !important;
	bottom: auto !important;
}
.single-product .woocommerce-product-gallery .product-additional-galleries {
	top: var(--rasttel-gallery-slide-h, 280px);
	bottom: auto !important;
	transform: translateY(-100%);
}

/* Loop cards: Woodmart labels top-left, Б/У top-right */
.wd-product .rasttel-condition-badge--loop {
	position: absolute;
	inset-inline-start: auto;
	inset-inline-end: 10px;
	right: 10px;
	left: auto;
	top: 10px;
	z-index: 6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	padding: 0 9px;
	border-radius: 999px;
	background: rgba(18, 70, 171, 0.92);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .2px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
	pointer-events: none;
}
.single-product .rasttel-used-notice {
	margin: 10px 0 0;
	padding: 10px 12px;
	border-radius: 10px;
	background: rgba(18, 70, 171, 0.06);
	border: 1px solid rgba(18, 70, 171, 0.18);
	color: #111;
	font-size: 13px;
	line-height: 1.35;
}
/* Woodmart border token (--brdcolor-gray-300), same as product_meta / wishlist groups */
.single-product .rasttel-used-desc-separator {
	display: block;
	height: 0;
	margin: 14px 0 0;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, 0.105));
}
.single-product .rasttel-used-desc-separator + .rasttel-short-desc-under-sku,
.single-product .rasttel-used-notice + .rasttel-short-desc-under-sku {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, 0.105));
	color: rgba(17, 17, 17, 0.9);
	font-size: 14px;
	line-height: 1.45;
}
.single-product .summary .product_meta + .rasttel-short-desc-under-sku {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, 0.105));
	color: rgba(17, 17, 17, 0.9);
	font-size: 14px;
	line-height: 1.45;
}

/* Gallery modal/layout guardrails (avoid crooked zoomed images) */
.pswp .pswp__zoom-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
}
.pswp .pswp__img,
.pswp .pswp__item img,
.pswp .wd-photoswipe .pswp__img,
.pswp .woodmart-photoswipe .pswp__img {
	transform: none !important;
	object-fit: contain;
}

/* Manufacturers directory (/proizvoditeli/) */
.rasttel-brands-directory {
	--rasttel-brand-gap: 16px;
	margin-top: 8px;
}
.rasttel-brands-directory__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin-bottom: 18px;
}
.rasttel-brands-directory__search-wrap {
	flex: 1 1 260px;
	max-width: 420px;
	margin: 0;
}
.rasttel-brands-directory__search {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, 0.12));
	border-radius: 4px;
	font-size: 15px;
	line-height: 1.4;
	background: #fff;
}
.rasttel-brands-directory__count {
	margin: 0;
	color: rgba(17, 17, 17, 0.65);
	font-size: 14px;
}
.rasttel-brands-directory__index {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 28px;
	padding-bottom: 16px;
	border-bottom: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, 0.1));
}
.rasttel-brands-directory__index a,
.rasttel-brands-directory__index span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 6px;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
}
.rasttel-brands-directory__index a {
	color: #1246ab;
	background: rgba(18, 70, 171, 0.08);
}
.rasttel-brands-directory__index a:hover {
	background: rgba(18, 70, 171, 0.16);
}
.rasttel-brands-directory__index span.is-empty {
	color: rgba(17, 17, 17, 0.28);
}
.rasttel-brands-directory__section {
	margin-bottom: 32px;
	scroll-margin-top: 110px;
}
.rasttel-brands-directory__letter {
	margin: 0 0 14px;
	padding-bottom: 8px;
	border-bottom: 2px solid #1246ab;
	color: #1246ab;
	font-size: 22px;
	font-weight: 800;
	line-height: 1.2;
}
.rasttel-brands-directory__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
	gap: var(--rasttel-brand-gap);
}
.rasttel-brand-card.is-filtered-out,
.rasttel-brands-directory__section.is-filtered-out {
	display: none;
}
.rasttel-brand-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	padding: 14px 10px;
	border: 1px solid var(--brdcolor-gray-300, rgba(0, 0, 0, 0.1));
	border-radius: 6px;
	background: #fff;
	text-align: center;
	text-decoration: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}
.rasttel-brand-card:hover {
	border-color: rgba(18, 70, 171, 0.35);
	box-shadow: 0 8px 20px rgba(18, 70, 171, 0.08);
	transform: translateY(-1px);
}
.rasttel-brand-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 72px;
}
.rasttel-brand-card__img {
	display: block;
	max-width: 100%;
	max-height: 64px;
	width: auto;
	height: auto;
	object-fit: contain;
}
.rasttel-brand-card__placeholder {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: linear-gradient(135deg, #1246ab 0%, #3d7fd6 100%);
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}
.rasttel-brand-card__name {
	display: block;
	color: #111;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	word-break: break-word;
}
@media (max-width: 767px) {
	.rasttel-brands-directory__grid {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	}
	.rasttel-brands-directory__letter {
		font-size: 18px;
	}
}
