/* ==========================================================
   Ефирея Motion — спокойни, бавни анимации в духа на бранда
   Изключване на блок: Advanced → Additional CSS class → ef-no-anim
   Включване на блок:  Advanced → Additional CSS class → ef-reveal
   ========================================================== */

:root {
	--ef-ease: cubic-bezier(.22, .61, .36, 1);
	--ef-duration: 1.1s;
	--ef-distance: 24px;
}

html { scroll-behavior: smooth; }

/* 1. Появяване при скрол — елементите изплуват леко нагоре */
html.ef-motion body:not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) :is(
	.entry-content :is(h1, h2, h3, h4, p, blockquote, figure, .wp-block-image, .kb-image, .wp-block-buttons, .kb-buttons-wrap, .wp-block-kadence-advancedbtn, .uagb-buttons__wrap, .wp-block-uagb-image),
	ul.products > li.product,
	.single-product div.product > .woocommerce-product-gallery,
	.single-product div.product .summary,
	.ef-reveal
):not(.ef-no-anim):not(.ef-no-anim *):not(.ef-in) {
	opacity: 0;
	transform: translate3d(0, var(--ef-distance), 0);
}

.ef-in {
	opacity: 1;
	transform: none;
	transition:
		opacity var(--ef-duration) var(--ef-ease),
		transform var(--ef-duration) var(--ef-ease);
}
.ef-in.ef-img { transition-duration: 1.4s; }
.ef-in.ef-nested { transition: none; }

/* 2. Меки преходи при посочване */
a,
.button,
.wp-block-button__link,
.kb-button,
.uagb-buttons-repeater,
input[type="submit"] {
	transition:
		color .4s var(--ef-ease),
		background-color .4s var(--ef-ease),
		border-color .4s var(--ef-ease),
		box-shadow .4s var(--ef-ease),
		transform .4s var(--ef-ease);
}

.entry-content .wp-block-button__link:hover,
.entry-content .kb-button:hover,
.entry-content .uagb-buttons-repeater:hover,
.woocommerce .button:hover {
	transform: translateY(-2px);
}

/* 3. Продуктите — бавно приближаване на снимката */
ul.products li.product .woocommerce-loop-image-link,
ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	overflow: hidden;
}
ul.products li.product img {
	transition: transform 1.4s var(--ef-ease);
}
ul.products li.product:hover img {
	transform: scale(1.04);
}

/* 4. Уважение към хората, които са изключили анимациите на устройството си */
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	html.ef-motion *,
	.ef-in {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
}

/* ==========================================================
   Слайдове — клас ef-slides на блока, който обгражда секциите
   ========================================================== */
.ef-slides { --ef-slide-time: 8s; }

.ef-slides-nav {
	display: flex;
	justify-content: center;
	gap: 48px;
	margin: 0 auto 32px;
	padding: 0 16px;
	max-width: 1100px;
}
.ef-slides-tab {
	flex: 1 1 0;
	max-width: 300px;
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	text-align: left;
	display: flex;
	flex-direction: column;
	color: #5A5A56;
	font: inherit;
	box-shadow: none;
}
.ef-slides-tab:hover,
.ef-slides-tab:focus { background: none; color: #3A3A38; }
.ef-slides-tab:focus-visible { outline: 1px solid #5F6F63; outline-offset: 6px; }
.ef-slides-tab .ef-n {
	display: block;
	padding-bottom: 0;
	font-family: "Cormorant Garamond", Garamond, Georgia, serif;
	font-size: 30px;
	line-height: 1;
	color: #8C9A90;
	transition: color .6s cubic-bezier(.22, .61, .36, 1);
}
.ef-slides-tab .ef-t {
	display: block;
	margin-top: 8px;
	font-family: Montserrat, "Helvetica Neue", Arial, sans-serif;
	font-size: 12px;
	line-height: 1.4;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding-bottom: 14px;
}
.ef-slides-tab .ef-bar {
	display: block;
	height: 1px;
	margin-top: auto;
	background: #D8D2C1;
	overflow: hidden;
}
.ef-slides-tab .ef-bar i {
	display: block;
	height: 100%;
	width: 0;
	background: #5F6F63;
}
.ef-slides-tab.is-active { color: #3A3A38; }
.ef-slides-tab.is-active .ef-n { color: #5F6F63; }
.ef-slides-tab.is-active .ef-bar i { width: 100%; }
.ef-slides.ef-autoplay .ef-slides-tab.is-active .ef-bar i {
	width: 0;
	animation: ef-progress var(--ef-slide-time) linear forwards;
}
.ef-slides.ef-paused .ef-slides-tab.is-active .ef-bar i { animation-play-state: paused; }
@keyframes ef-progress { to { width: 100%; } }

.ef-slides-track { display: grid; }
.ef-slides-track > .ef-slide {
	grid-area: 1 / 1;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity 1.2s cubic-bezier(.22, .61, .36, 1), visibility 0s linear 1.2s;
}
.ef-slides-track > .ef-slide.is-active {
	opacity: 1;
	visibility: visible;
	transition: opacity 1.2s cubic-bezier(.22, .61, .36, 1), visibility 0s;
}
.ef-slides-track > .ef-slide img { transition: transform 2.4s cubic-bezier(.22, .61, .36, 1); }
.ef-slides-track > .ef-slide:not(.is-active) img { transform: scale(1.03); }

@media (max-width: 700px) {
	.ef-slides-nav { gap: 24px; justify-content: center; }
	.ef-slides-tab { flex: 0 0 auto; text-align: center; }
	.ef-slides-tab .ef-t { display: none; }
	.ef-slides-tab .ef-n { padding-bottom: 12px; }
	.ef-slides-tab .ef-bar { width: 48px; margin-left: auto; margin-right: auto; }
}

/* Слайдове — по подразбиране само тънки чертички под слайда */
.ef-slides-nav--dots { gap: 12px; margin: 0 auto 24px; }
.ef-slides-nav--dots .ef-slides-tab { flex: 0 0 auto; width: 36px; padding: 10px 0; }
.ef-slides-nav--dots .ef-slides-tab .ef-bar { margin-top: 0; height: 2px; }
@media (max-width: 700px) {
	.ef-slides-nav--dots .ef-slides-tab .ef-bar { width: auto; }
}

/* ==========================================================
   Бавно „дишане" на снимка — клас ef-kenburns на блока със снимката
   ========================================================== */
.ef-kenburns { overflow: hidden; }
.ef-kenburns img {
	transform-origin: center;
	animation: ef-breathe 18s ease-in-out infinite alternate;
}
@keyframes ef-breathe { from { transform: scale(1); } to { transform: scale(1.04); } }

/* Без движение, когато е изключено в устройството */
@media (prefers-reduced-motion: reduce) {
	.ef-kenburns img { animation: none; }
	.ef-slides-track > .ef-slide { transition: none; }
}

/* Печат и PDF — всичко се вижда, слайдовете един под друг */
@media print {
	html.ef-motion * { opacity: 1 !important; transform: none !important; }
	.ef-slides-nav { display: none; }
	.ef-slides-track { display: block; }
	.ef-slides-track > .ef-slide { opacity: 1 !important; visibility: visible !important; margin-bottom: 24px !important; }
	.ef-kenburns img { animation: none; }
}

/* ==========================================================
   Въздух в слайдовете — полета, разстояния и разредка
   ========================================================== */
.ef-slides {
	max-width: 1240px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(16px, 4vw, 40px) !important;
	padding-right: clamp(16px, 4vw, 40px) !important;
	box-sizing: border-box;
}

/* секцията като карта с вътрешни полета */
.ef-slides-track > .ef-slide {
	padding: clamp(32px, 5vw, 72px) clamp(24px, 5vw, 80px) !important;
	box-sizing: border-box;
	width: auto !important;
	max-width: 100% !important;
}
.ef-slides-track > .ef-slide :is(.kt-row-column-wrap, .wp-block-columns, .uagb-container-inner-blocks-wrap) {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* разстояние между текста и снимката */
.ef-slides-track > .ef-slide :is(.kt-row-column-wrap, .wp-block-columns, .uagb-container-inner-blocks-wrap),
.ef-slides-track > .ef-slide.wp-block-uagb-container,
.ef-slides-track > .ef-slide.wp-block-columns {
	column-gap: clamp(40px, 6vw, 96px) !important;
	align-items: center !important;
}

/* текст с въздух */
.ef-slides-track > .ef-slide :is(h1, h2, h3, h4) {
	margin-top: 0 !important;
	margin-bottom: 24px !important;
	line-height: 1.25 !important;
}
.ef-slides-track > .ef-slide p {
	line-height: 1.85 !important;
	margin-top: 0 !important;
	margin-bottom: 1.1em !important;
}
.ef-slides-track > .ef-slide p:last-child { margin-bottom: 0 !important; }

/* на телефон: текстът над снимката, с разстояние между тях */
@media (max-width: 767px) {
	.ef-slides-track > .ef-slide :is(.kt-row-column-wrap, .wp-block-columns, .uagb-container-inner-blocks-wrap),
	.ef-slides-track > .ef-slide.wp-block-uagb-container,
	.ef-slides-track > .ef-slide.wp-block-columns {
		row-gap: 32px !important;
	}
	.ef-slides-track > .ef-slide { padding: 32px 22px !important; }
}

/* ==========================================================
   Въздух на всички страници и публикации
   (без продукти, магазин, количка, плащане и „Моят профил")
   Изключване на блок: Advanced → Additional CSS class → ef-no-space
   ========================================================== */

/* 1. Текстът — разредка между редовете и абзаците */
:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content p:not(.ef-no-space) {
	line-height: 1.85;
	margin-bottom: 1.1em;
}
:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content p:last-child {
	margin-bottom: 0;
}
:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content :is(h1, h2, h3, h4) {
	line-height: 1.25;
	margin-bottom: 20px;
}

/* 2. Разстояние между текст и снимка в колони */
:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content :is(.kt-row-column-wrap, .wp-block-columns, .uagb-container-inner-blocks-wrap):not(.ef-no-space) {
	column-gap: clamp(32px, 5vw, 80px) !important;
}

/* 3. Поле от края на екрана за секциите на цяла ширина */
:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content > .kb-row-layout-wrap:not(.ef-no-space) > .kt-row-column-wrap,
:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content > .wp-block-uagb-container:not(.ef-no-space) > .uagb-container-inner-blocks-wrap,
:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content > :is(.wp-block-group, .wp-block-columns, .wp-block-cover).alignfull:not(.ef-no-space) {
	padding-left: clamp(20px, 5vw, 64px) !important;
	padding-right: clamp(20px, 5vw, 64px) !important;
	box-sizing: border-box;
}

/* 4. На телефон — въздух между колоните, когато са една под друга */
@media (max-width: 767px) {
	:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content :is(.kt-row-column-wrap, .wp-block-columns, .uagb-container-inner-blocks-wrap):not(.ef-no-space) {
		row-gap: 32px !important;
	}
}

/* ==========================================================
   Пътят на формулата — клас ef-path на блока с трите колони
   ========================================================== */
.ef-path .ef-path-card {
	background: #F7F6F2;
	border-radius: 16px;
	overflow: hidden;
	text-align: center;
	padding-bottom: 28px !important;
	transition: box-shadow .6s cubic-bezier(.22, .61, .36, 1);
}
.ef-path .ef-path-card :is(figure, .wp-block-image, .kb-image) {
	margin: 0 0 20px !important;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	border-radius: 0;
}
.ef-path .ef-path-card img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform 1.4s cubic-bezier(.22, .61, .36, 1);
}
.ef-path .ef-path-card :is(h2, h3, h4) {
	font-family: "Cormorant Garamond", Garamond, Georgia, serif;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin: 0 0 10px !important;
	padding: 0 20px;
}
.ef-path .ef-path-card p {
	padding: 0 24px;
	margin: 0 0 6px !important;
	transition: opacity .8s cubic-bezier(.22, .61, .36, 1), transform .8s cubic-bezier(.22, .61, .36, 1);
}
.ef-path .ef-path-card p:first-of-type:not(:only-of-type) {
	font-family: "Cormorant Garamond", Garamond, Georgia, serif;
	font-size: 28px;
	line-height: 1;
	color: #5F6F63;
}
@media (hover: hover) and (min-width: 768px) {
	.ef-path .ef-path-card p:last-of-type:not(:only-of-type) { opacity: .55; transform: translateY(4px); }
	.ef-path .ef-path-card:hover { box-shadow: 0 0 0 1px #C8D1C3; }
	.ef-path .ef-path-card:hover img { transform: scale(1.07); }
	.ef-path .ef-path-card:hover p { opacity: 1; transform: none; }
}
.ef-path-dots { display: none; }

@media (max-width: 767px) {
	:is(.ef-path .ef-path-row, .ef-path.ef-path-row) {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		gap: 16px !important;
		grid-template-columns: none !important;
	}
	:is(.ef-path .ef-path-row, .ef-path.ef-path-row)::-webkit-scrollbar { display: none; }
	.ef-path .ef-path-card {
		flex: 0 0 100% !important;
		max-width: 100% !important;
		scroll-snap-align: center;
	}
	.ef-path-dots { display: flex; justify-content: center; gap: 12px; margin-top: 18px; }
	.ef-path-dots button {
		width: 36px; height: 2px; padding: 0; border: 0; border-radius: 0;
		background: #D8D2C1; cursor: pointer; box-shadow: none;
	}
	.ef-path-dots button.is-active { background: #5F6F63; }
}

/* Заглавие и бележка към „Пътят на формулата" */
.entry-content .ef-path-title {
	text-transform: uppercase;
	letter-spacing: .12em;
	margin-bottom: 12px !important;
}
.entry-content .ef-path-title::after {
	content: "";
	display: block;
	width: 72px;
	height: 1px;
	margin: 18px auto 0;
	background: #8C9A90;
}
.entry-content .ef-path-lead { margin-bottom: 40px !important; color: #5A5A56; }
.entry-content .ef-path-note {
	margin-top: 40px !important;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: #5A5A56;
}

/* ==========================================================
   Телефон и таблет — слайдовете: текстът отгоре, снимката отдолу
   ========================================================== */
@media (max-width: 1024px) {
	.ef-slides-track > .ef-slide :is(.kt-row-column-wrap, .wp-block-columns, .uagb-container-inner-blocks-wrap),
	.ef-slides-track > .ef-slide.wp-block-uagb-container,
	.ef-slides-track > .ef-slide.wp-block-columns {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: 32px !important;
		column-gap: 0 !important;
	}
	.ef-slides-track > .ef-slide :is(.wp-block-kadence-column, .wp-block-column, .wp-block-uagb-container) {
		width: 100% !important;
		max-width: 100% !important;
		flex-basis: 100% !important;
		min-width: 0 !important;
	}
	.ef-slides-track > .ef-slide :is(.kt-inside-inner-col, .wp-block-kadence-column, .wp-block-column) {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	.ef-slides-track > .ef-slide :is(figure, .wp-block-image, .kb-image) {
		max-width: 560px;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.ef-slides-track > .ef-slide img { width: 100% !important; height: auto !important; }
	.ef-slides-track > .ef-slide { padding: 40px 32px !important; }
}
@media (max-width: 767px) {
	.ef-slides { padding-left: 12px !important; padding-right: 12px !important; }
	.ef-slides-track > .ef-slide { padding: 32px 20px !important; }
	.ef-slides-track > .ef-slide :is(h1, h2, h3, h4) { font-size: clamp(24px, 6.4vw, 30px) !important; }
	.ef-slides-track > .ef-slide p { font-size: 16px !important; }

	/* по-малко разстояние между колоните на всички страници на телефон */
	:where(body:not(.single-product):not(.woocommerce-shop):not(.tax-product_cat):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account)) .entry-content :is(.kt-row-column-wrap, .wp-block-columns, .uagb-container-inner-blocks-wrap):not(.ef-no-space) {
		column-gap: 20px !important;
	}
}
