/*
 Theme Name:   Woodmart Child
 Description:  Woodmart Child Theme
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      1.0.0
 Text Domain:  woodmart
*/

/**
 * Радиус на полета за въвеждане = като акцентните бутони (.btn.btn-accent → --btn-accented-brd-radius).
 * Така формите следват настройката на темата за бутони, без по-силно заобляне от тях.
 */
html body.wd {
	--makaz-input-corner-radius: var(--btn-accented-brd-radius, var(--btn-default-brd-radius, 0px));
	--wd-form-brd-radius: var(--makaz-input-corner-radius) !important;
}

/**
 * Единен размер на миниатюрите в продуктовата мрежа (магазин, категории, краткости и т.н.).
 * Важно: съотношението се задава на `.wd-product-img-link` (а не на целия thumb), а изображението
 * запълва чрез absolute + object-fit — иначе глобалното `img { height: auto }` чупи ефекта.
 * По подразбиране леко по-високи от квадрат (5/6); за още по-високи опитай 4/5 или 3/4.
 */
body.wd {
	--makaz-product-thumb-ratio: 5 / 6;
	/* Single product main gallery: по подразбиране същото като мрежата; override само за детайла с --makaz-single-gallery-ratio */
	--makaz-single-gallery-ratio: var(--makaz-product-thumb-ratio);
}

/* Woodmart: не изискваме родител `.wd-product` (Elementor / loop builder може да го няма). */
body.wd :is(.wd-product-thumb, .wd-loop-prod-thumb) > .wd-product-img-link {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: var(--makaz-product-thumb-ratio);
	overflow: hidden;
}

body.wd :is(.wd-product-thumb, .wd-loop-prod-thumb) > .wd-product-img-link > img {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

/* Слайдер с няколко снимки в грида (.wd-fill = absolute inset 0 върху линка) */
body.wd .wd-product-thumb > .wd-product-img-link > .wd-product-grid-slider {
	z-index: 2;
	pointer-events: auto;
}

body.wd .wd-product-thumb > .wd-product-img-link > .wd-product-grid-slider .wd-product-grid-slide {
	height: 100%;
}

body.wd .wd-product-thumb .wd-product-img-hover {
	display: block;
	position: absolute;
	inset: 0;
	z-index: 1;
	overflow: hidden;
	pointer-events: none;
}

body.wd .wd-product-thumb .wd-product-img-hover img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

body.wd .wd-product-thumb > .wd-product-img-link {
	z-index: 0;
}

body.wd .wd-product-thumb > .wd-buttons,
body.wd .product-element-top > .wd-buttons,
body.wd .wd-product-thumb > .wrapp-buttons {
	z-index: 6;
	pointer-events: auto;
}

body.wd .wd-product-thumb > .wd-buttons .wd-action-btn,
body.wd .product-element-top > .wd-buttons .wd-action-btn,
body.wd .wd-product-thumb > .wrapp-buttons .wd-action-btn {
	pointer-events: auto;
}

body.wd {
	--makaz-product-wishlist-inset: 10px;
}

/* Wishlist heart: top-right of the product image (loop builder + shop grid). */
body.wd :is(.wd-product-thumb, .wd-loop-prod-thumb, .product-element-top) > .wd-wishlist-btn,
body.wd .wd-product-thumb > .wd-wishlist-btn,
body.wd .product-element-top > .wd-wishlist-btn {
	position: absolute !important;
	top: var(--makaz-product-wishlist-inset) !important;
	right: var(--makaz-product-wishlist-inset) !important;
	left: auto !important;
	bottom: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: var(--makaz-product-wishlist-inset) !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	z-index: 10;
	pointer-events: auto;
}

body.wd :is(.wd-product-thumb, .wd-loop-prod-thumb, .product-element-top) > .wd-wishlist-btn > a,
body.wd .wd-product-thumb > .wd-wishlist-btn > a,
body.wd .product-element-top > .wd-wishlist-btn > a {
	width: 35px;
	height: 35px;
	padding: 0;
}

body.wd .wd-product-thumb > .wd-buttons.wd-pos-r-t,
body.wd .product-element-top > .wd-buttons.wd-pos-r-t {
	z-index: 10;
	pointer-events: auto;
}

body.wd .wd-product:hover :is(.wd-product-thumb, .wd-loop-prod-thumb) > .wd-wishlist-btn a,
body.wd .wd-product:hover .wd-product-thumb > .wd-buttons.wd-pos-r-t {
	pointer-events: auto;
}

/* WoodMart hover-base (category/shop): wishlist sits in card-hover — pin it on the image on touch. */
@media (max-width: 1024px) {
	body.wd.woocommerce:not(.single-product) .wd-product.wd-hover-base:not(.wd-loop-builder-on) .wd-product-wrapper {
		position: relative;
	}

	body.wd.woocommerce:not(.single-product) .wd-product.wd-hover-base:not(.wd-loop-builder-on) .wd-product-card-hover {
		position: static;
		visibility: visible !important;
		opacity: 1 !important;
		height: 0;
		overflow: visible;
		padding: 0 !important;
		margin: 0;
		pointer-events: none;
	}

	body.wd.woocommerce:not(.single-product) .wd-product.wd-hover-base:not(.wd-loop-builder-on) .wd-product-card-hover > :not(.wd-bottom-actions) {
		display: none;
	}

	body.wd.woocommerce:not(.single-product) .wd-product.wd-hover-base:not(.wd-loop-builder-on) .wd-bottom-actions > :not(.wrap-wishlist-button) {
		display: none;
	}

	body.wd.woocommerce:not(.single-product) .wd-product.wd-hover-base:not(.wd-loop-builder-on) .wrap-wishlist-button {
		position: absolute;
		top: var(--makaz-product-wishlist-inset);
		right: var(--makaz-product-wishlist-inset);
		left: auto;
		inset-inline-start: auto;
		inset-inline-end: var(--makaz-product-wishlist-inset);
		z-index: 11;
		flex: none;
		width: auto;
		margin: 0;
		padding: 0;
		text-align: end;
		pointer-events: auto;
	}
}

/* Луп: цветови swatches под снимката (variation карти + parent swatches). */
body.wd.woocommerce:not(.single-product) .makaz-loop-swatches-under-thumb,
body.wd.page-template-template-makaz-home-php .makaz-loop-swatches-under-thumb {
	display: flex;
	justify-content: center;
	margin-block: 8px 4px;
	width: 100%;
	--wd-align: center;
	--text-align: center;
	--content-align: center;
}

body.wd.woocommerce:not(.single-product) .makaz-loop-swatches-under-thumb .wd-swatches-grid,
body.wd.page-template-template-makaz-home-php .makaz-loop-swatches-under-thumb .wd-swatches-grid {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	justify-content: center !important;
	margin-inline: auto;
}

/* Чист WooCommerce loop (ако някъде няма Woodmart обвивка) */
body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
body.woocommerce ul.products li.product a.woocommerce-loop-product__link {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: var(--makaz-product-thumb-ratio, 5 / 6);
}

body.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img,
body.woocommerce ul.products li.product a.woocommerce-loop-product__link img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/**
 * Single product: еднакъв кадър за главната галерия (WoodMart + Swiper).
 * Хоризонтални снимки иначе оставят празна лента под кадъра; `aspect-ratio` + `object-fit: cover`
 * запълват рамката (леко изрязване по ръбовете). Видео слайдове не пипаме (`:has(.wd-product-video)`).
 * Съотношение: --makaz-single-gallery-ratio (по подразбиране = мрежата).
 */

body.wd.single-product .woocommerce-product-gallery .wd-gallery-images .wd-carousel-item:not(.wd-with-video) {
	height: auto;
	align-self: flex-start;
}

body.wd.single-product .woocommerce-product-gallery .wd-gallery-images figure:is(.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder):not(:has(.wd-product-video)) {
	position: relative;
	width: 100%;
	aspect-ratio: var(--makaz-single-gallery-ratio);
	overflow: hidden;
	margin: 0;
}

body.wd.single-product .woocommerce-product-gallery .wd-gallery-images figure:is(.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder):not(:has(.wd-product-video)) > a {
	position: absolute;
	inset: 0;
	display: block;
	line-height: 0;
}

body.wd.single-product .woocommerce-product-gallery .wd-gallery-images figure:is(.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder):not(:has(.wd-product-video)) > a > picture {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}

body.wd.single-product .woocommerce-product-gallery .wd-gallery-images figure:is(.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder):not(:has(.wd-product-video)) > a > img,
body.wd.single-product .woocommerce-product-gallery .wd-gallery-images figure:is(.woocommerce-product-gallery__image, .woocommerce-product-gallery__image--placeholder):not(:has(.wd-product-video)) > a > picture > img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

/**
 * Single product: миниатюрите под главната галерия с еднаква височина.
 * Хоризонтални снимки иначе излизат по-ниски от вертикалните; кадърът се изрязва с `object-fit: cover`.
 * Съотношение: --makaz-single-thumb-ratio (2/3 = като вертикалните миниатюри 150x225).
 */
body.wd {
	--makaz-single-thumb-ratio: 2 / 3;
}

body.wd .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-item img {
	display: block;
	width: 100%;
	object-fit: cover;
	object-position: center;
}

/* Хоризонтални миниатюри (мобилно): височината идва от съотношението */
body.wd .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel.wd-horizontal .wd-carousel-item img {
	height: auto;
	aspect-ratio: var(--makaz-single-thumb-ratio);
}

/*
 * Вертикални миниатюри (десктоп): Swiper задава височината на слайда — снимката я запълва, без да прелива.
 * Минус --wd-gap = разстоянието между миниатюрите (WoodMart добавя margin-bottom със същата стойност).
 */
body.wd .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel.wd-vertical .wd-carousel-item img {
	height: calc(100% - var(--wd-gap, 10px));
}

/**
 * Вариации (таблет/мобилно): „Изчисти“ под размерите вместо до тях — иначе излиза извън екрана.
 * Същото като WoodMart `wd-reset-bottom-md`, но запазва етикета отстрани.
 */
@media (max-width: 1024px) {
	body.wd form.variations_form.wd-reset-side-md .wd-reset-var {
		position: absolute;
		inset-inline: 0;
		top: calc(100% + var(--wd-reset-btn-space, 10px));
		width: auto;
	}

	body.wd form.variations_form.wd-reset-side-md.variation-swatch-selected {
		--wd-var-table-mb: 40px;
	}
}

/**
 * Поръчка: чекбокс „Изпращане до друг адрес“ да не се визуализира до „Име на фирма“.
 * WoodMart решетка за полетата + float по подразбиране за checkbox labels могат да слепят реда.
 */
body.woocommerce-checkout .woocommerce-shipping-fields {
	clear: both;
	width: 100%;
	display: flow-root;
	margin-top: 1.25em;
}
body.woocommerce-checkout #ship-to-different-address {
	float: none;
	clear: both;
	width: 100%;
	margin: 0;
	box-sizing: border-box;
}
body.woocommerce-checkout #ship-to-different-address label.woocommerce-form__label-for-checkbox {
	float: none;
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.35em 0.5em;
	max-width: 100%;
}
/* Ако блокът по някаква причина попадне в решетката на billing полетата — окупира целия ред */
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #ship-to-different-address,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .woocommerce-shipping-fields {
	grid-column: 1 / -1;
	width: 100%;
}

/**
 * Footer copyrights: вертикален ритъм; лога Visa / Mastercard в `.makaz-footer-payments` едно до друго, без рамка.
 * В Woodmart → Theme settings → Footer → „Copyrights“: без `<br>` между блоковете; двете картинки в един `.makaz-footer-payments`.
 */
body.wd .wd-copyrights {
	padding-block: 24px 28px;
}

/*
 * По подразбиране колоната с flex вкарва всеки директен възел като нов ред
 * (<a>, текст „ · ”, вторият <a> → три реда). Използваме блок + text-align, за да
 * остават двата правни линка на един ред.
 */
body.wd .wd-copyrights.wd-layout-centered .wd-col-start {
	display: block;
	text-align: center;
	line-height: 1.5;
	/* Дава един ред за „Политика · Настройки“ без втори блок .makaz-footer-legal */
	white-space: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.wd .wd-copyrights.wd-layout-centered .wd-col-start > br {
	display: none;
}

body.wd .wd-copyrights.wd-layout-centered .wd-col-start .copyright-text {
	display: block;
	margin: 0 0 1.125rem;
	white-space: normal;
}

body.wd .wd-copyrights .makaz-footer-payments,
body.wd .wd-copyrights .makaz-payment-badges {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px 14px;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 auto 1.125rem;
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
	border-radius: 0;
}

body.wd .wd-copyrights .makaz-footer-payments img,
body.wd .wd-copyrights .makaz-payment-badges img {
	display: block;
	flex: 0 0 auto;
	/* Еднакъв контейнер за двете марки; `contain` запазва пропорциите без доминиране на Visa wordmark */
	width: 58px;
	height: 28px;
	max-width: none;
	object-fit: contain;
	object-position: center;
}

body.wd .wd-copyrights .makaz-footer-legal {
	display: block;
	margin: 0;
	font-size: 0.9375rem;
	opacity: 0.92;
}

/* Двоен линк без wrapper: родителят носи nowrap; родният margin на темата се запазва */
body.wd .wd-copyrights .wd-col-start > a.makaz-cc-footer-settings {
	vertical-align: baseline;
}

/*
 * Мобилно: същият подход като при `#woodmart-html-block-15 .wd-col-start a` в Custom CSS —
 * двата футър линка един под друг; „ · “ е текстов възел → родител с `font-size: 0`, текстът се сгъва.
 */
@media (max-width: 767.98px) {
	body.wd .wd-copyrights.wd-layout-centered .wd-col-start {
		white-space: normal;
		overflow-x: visible;
		font-size: 0;
		line-height: 0;
	}

	body.wd .wd-copyrights.wd-layout-centered .wd-col-start .copyright-text {
		font-size: var(--wd-text-font-size, 15px);
		line-height: 1.5;
	}

	body.wd .wd-copyrights .makaz-footer-payments,
	body.wd .wd-copyrights .makaz-payment-badges {
		font-size: 0;
		line-height: 0;
	}

	body.wd .wd-copyrights .wd-col-start > a {
		display: block !important;
		font-size: 0.9375rem;
		line-height: 1.5;
		margin: 4px 0;
	}

	body.wd .wd-copyrights .wd-col-start > a:first-of-type {
		margin-bottom: 8px;
	}

	body.wd .wd-copyrights .wd-col-start .makaz-footer-legal {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 8px;
		font-size: 0;
		line-height: 0;
		margin: 0;
		opacity: 0.92;
	}

	body.wd .wd-copyrights .wd-col-start .makaz-footer-legal > a {
		display: block !important;
		font-size: 0.9375rem;
		line-height: 1.5;
		margin: 0;
	}
}

.wd-wishlist-content.makaz-wishlist-refreshing {
	opacity: 0.35;
	pointer-events: none;
	transition: opacity 0.2s ease;
}
