/*
Theme Name: Vibo
Theme URI: https://www.vibo71.com
Template: efway
Author: Vibo 71
Author URI: https://www.vibo71.com
Description: Дизайн слоят на Vibo 71 върху темата Efway. Тук живеят design tokens, базовите стилове и шаблонните замени. Efway не се редактира.
Version: 0.1.0
Text Domain: vibo-child
*/

/* ===========================================================================
   VIBO DESIGN SYSTEM
   ---------------------------------------------------------------------------
   Одобрена спецификация A–H · 10 септември 2026.

   ФАЗА FOUNDATION.
   На този етап файлът НЕ преправя външния вид на сайта. Дефинира речника —
   цветове, шрифтове, размери, разстояния — и подготвя класовете, с които ще
   бъдат построени компонентите. Всичко е с представка .vibo- и се прилага
   само там, където го поставим нарочно.

   Съдържание:
     1. TOKENS   — единственото място с hex кодове
     2. BASE     — шрифтова база и достъпност, само за .vibo- елементи
     3. LAYOUT   — контейнери, секции, решетка
     4. TYPE     — типографски класове
     5. BUTTONS  — бутони
     6. SURFACES — тъмни и светли повърхности
     7. UTILITY  — помощни класове
     8. HEADER   — глобалният header, JOB 02
   ======================================================================== */


/* ---------------------------------------------------------------------------
   1. TOKENS
   Всяка стойност е измерена от одобрената референция или изчислена.
   Контрастите са проверени по WCAG 2.2.
   ------------------------------------------------------------------------ */

:root {

	/* --- Navy. Основният цвят. Hero, футър, тъмни секции. --- */
	--vb-navy-900: #0B1D2C;   /* най-тъмното — дъно на градиенти           */
	--vb-navy-800: #0E2438;   /* основен фон на hero и футър               */
	--vb-navy-700: #152B3F;   /* повдигнати повърхности върху тъмно        */
	--vb-navy-600: #2C4359;   /* граници и разделители върху тъмно         */

	/* Същите цветове, разложени на компоненти — нужни са за полупрозрачните
	   състояния (прибран header, тънки линии върху тъмно). Не са нов цвят. */
	--vb-navy-900-rgb: 11, 29, 44;
	--vb-navy-800-rgb: 14, 36, 56;
	--vb-cream-rgb:    244, 241, 232;

	/* --- Steel. Второстепенно. Никога ситен текст върху светло. --- */
	--vb-steel:      #7E93A4; /* само декорация: икони, линии, графики     */
	--vb-steel-text: #3A5A75; /* за текст и връзки върху светло — 6.41:1   */

	/* --- Sand. Акцентът. CTA, активни състояния, надтекстове. --- */
	--vb-sand:       #D4B98C; /* фон на главния бутон, navy върху него 8.37:1 */
	--vb-champagne:  #E2C595; /* надтекст върху navy — 9.53:1              */
	--vb-sand-deep:  #8A7143; /* надтекст върху светло, от 14 px нагоре    */

	/* --- Неутрални. --- */
	--vb-cream: #F4F1E8;      /* основен фон на страницата                 */
	--vb-stone: #E9E4D9;      /* редуваща се секция, фон на карти          */
	--vb-pale:  #DCE2E6;      /* студен светъл фон                         */
	--vb-line:  #D8D2C6;      /* граници върху светло                      */

	/* --- Текст. --- */
	--vb-charcoal:    #1D242A; /* заглавия върху светло — 13.90:1          */
	--vb-text:        #3F474D; /* основен текст                           */
	--vb-text-dim:    #5C666E; /* второстепенен текст                     */
	--vb-on-dark:     #F4F1E8; /* текст върху navy — 14.00:1 AAA          */
	--vb-on-dark-dim: #AFC0CC; /* второстепенен текст върху navy          */

	/* --- Състояния. --- */
	--vb-focus: #E2C595;      /* пръстен при фокус — вижда се и на двата фона */

	/* --- Шрифтове. --- */
	--vb-font-display: "Playfair Display", Georgia, "Times New Roman", serif;
	--vb-font-sans: "Onest", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* --- Размери. Desktop. Таблет и мобилно — в края на секцията. --- */
	--vb-size-h1:      60px;
	--vb-size-h2:      36px;
	--vb-size-h3:      23px;
	--vb-size-h4:      18px;
	--vb-size-body:    17px;
	--vb-size-nav:     15px;
	--vb-size-eyebrow: 12px;
	--vb-size-stat:    30px;
	--vb-size-utility: 13.5px;

	/* --- Разстояния. Нищо извън тази скала. --- */
	--vb-space-1:  4px;
	--vb-space-2:  8px;
	--vb-space-3:  12px;
	--vb-space-4:  16px;
	--vb-space-5:  24px;
	--vb-space-6:  32px;
	--vb-space-7:  48px;
	--vb-space-8:  64px;
	--vb-space-9:  96px;
	--vb-space-10: 128px;

	/* --- Ъгли. Бутоните са 4. Големи заоблени карти няма. --- */
	--vb-radius-1: 2px;
	--vb-radius-2: 4px;
	--vb-radius-3: 6px;
	--vb-radius-4: 10px;

	/* --- Оформление. --- */
	--vb-container:        1440px;
	--vb-container-narrow: 760px;
	--vb-gutter:           32px;
	--vb-grid-gap:         24px;
	--vb-section-y:        clamp(64px, 8vw, 128px);

	/* --- Хедър и hero. --- */
	--vb-header-utility:  44px;
	--vb-header-main:     100px;
	--vb-header-total:    144px;
	--vb-header-scrolled: 72px;
	--vb-hero-min:        700px;
	--vb-hero-max:        760px;

	/* --- Движение. --- */
	--vb-ease: cubic-bezier(.4, 0, .2, 1);
	--vb-fast: 160ms;
	--vb-slow: 320ms;
}

/* Таблет */
@media (max-width: 1024px) {
	:root {
		--vb-size-h1: 44px;
		--vb-size-h2: 30px;
		--vb-size-h3: 22px;
		--vb-header-main:  84px;
		--vb-header-total: 128px;
	}
}

/* Мобилно */
@media (max-width: 767px) {
	:root {
		--vb-size-h1: 34px;
		--vb-size-h2: 26px;
		--vb-size-h3: 21px;
		--vb-size-h4: 17px;
		--vb-size-body: 16px;
		--vb-size-eyebrow: 11.5px;
		--vb-gutter: 20px;
		--vb-header-utility: 0px;
		--vb-header-main:  64px;
		--vb-header-total: 64px;
		--vb-hero-min: 560px;
		--vb-hero-max: 560px;
	}
}


/* ---------------------------------------------------------------------------
   2. BASE
   Съзнателно НЕ пипаме body, h1–h6, a. Сайтът трябва да изглежда както преди,
   докато не построим компонентите. Тук са само правила за .vibo- елементи.
   ------------------------------------------------------------------------ */

[class*="vibo-"] { box-sizing: border-box; }

.vibo-root {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
	line-height: 1.62;
	color: var(--vb-text);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-variant-numeric: tabular-nums lining-nums;
}

/* Видим фокус за всеки интерактивен елемент на Vibo. */
[class*="vibo-"]:focus-visible {
	outline: 2px solid var(--vb-focus);
	outline-offset: 3px;
	border-radius: var(--vb-radius-1);
}

/* Уважаваме настройката „по-малко движение". */
@media (prefers-reduced-motion: reduce) {
	[class*="vibo-"],
	[class*="vibo-"]::before,
	[class*="vibo-"]::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}


/* ---------------------------------------------------------------------------
   3. LAYOUT
   ------------------------------------------------------------------------ */

.vibo-container {
	width: 100%;
	max-width: var(--vb-container);
	margin-inline: auto;
	padding-inline: var(--vb-gutter);
}

.vibo-container--narrow { max-width: var(--vb-container-narrow); }

.vibo-section { padding-block: var(--vb-section-y); }

/* Тъмните секции получават с 16 px повече въздух. */
.vibo-section--dark { padding-block: calc(var(--vb-section-y) + var(--vb-space-4)); }

.vibo-grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--vb-grid-gap);
}

@media (max-width: 1024px) { .vibo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
@media (max-width: 767px)  { .vibo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

.vibo-stack > * + * { margin-top: var(--vb-space-5); }


/* ---------------------------------------------------------------------------
   4. TYPE
   ------------------------------------------------------------------------ */

.vibo-display-1 {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h1);
	line-height: 1.06;
	letter-spacing: -.015em;
	margin: 0;
	color: var(--vb-charcoal);
}

.vibo-display-2 {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h2);
	line-height: 1.18;
	letter-spacing: -.012em;
	margin: 0;
	color: var(--vb-charcoal);
}

.vibo-display-3 {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h3);
	line-height: 1.25;
	margin: 0;
	color: var(--vb-charcoal);
}

.vibo-title-4 {
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: var(--vb-size-h4);
	line-height: 1.35;
	margin: 0;
	color: var(--vb-charcoal);
}

.vibo-eyebrow {
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: var(--vb-size-eyebrow);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--vb-sand-deep);
	margin: 0;
}

.vibo-body {
	font-family: var(--vb-font-sans);
	font-weight: 400;
	font-size: var(--vb-size-body);
	line-height: 1.62;
	color: var(--vb-text);
	max-width: 62ch;
	margin: 0;
}

.vibo-stat-number {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-stat);
	line-height: 1.1;
	color: var(--vb-charcoal);
}

/* Върху тъмно всичко сменя цвета си, не размера си. */
.vibo-on-dark .vibo-display-1,
.vibo-on-dark .vibo-display-2,
.vibo-on-dark .vibo-display-3,
.vibo-on-dark .vibo-title-4,
.vibo-on-dark .vibo-stat-number { color: var(--vb-on-dark); }

.vibo-on-dark .vibo-body    { color: var(--vb-on-dark-dim); }
.vibo-on-dark .vibo-eyebrow { color: var(--vb-champagne); }


/* ---------------------------------------------------------------------------
   5. BUTTONS
   Ъгъл 4 px, без сянка. Главният бутон е пясъчен с navy текст — 8.37:1.
   ------------------------------------------------------------------------ */

.vibo-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--vb-space-2);
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	letter-spacing: .01em;
	padding: 16px 28px;
	border: 1px solid transparent;
	border-radius: var(--vb-radius-2);
	cursor: pointer;
	text-decoration: none;
	transition: background-color var(--vb-fast) var(--vb-ease),
	            border-color var(--vb-fast) var(--vb-ease),
	            color var(--vb-fast) var(--vb-ease);
}

.vibo-btn--primary { background: var(--vb-sand); color: var(--vb-navy-900); }
.vibo-btn--primary:hover { background: var(--vb-champagne); color: var(--vb-navy-900); }

.vibo-btn--ghost { background: transparent; color: var(--vb-on-dark); border-color: var(--vb-navy-600); }
.vibo-btn--ghost:hover { border-color: var(--vb-sand); color: var(--vb-sand); }

/* Върху снимка navy-600 не се вижда достатъчно — ръбът минава на кремав. */
.vibo-header--overlay .vibo-btn--ghost { border-color: rgba(var(--vb-cream-rgb), .38); }
.vibo-header--overlay .vibo-btn--ghost:hover { border-color: var(--vb-sand); }

.vibo-btn--outline { background: transparent; color: var(--vb-navy-800); border-color: var(--vb-line); }
.vibo-btn--outline:hover { border-color: var(--vb-navy-800); background: var(--vb-stone); }


/* ---------------------------------------------------------------------------
   6. SURFACES
   ------------------------------------------------------------------------ */

.vibo-surface--dark   { background: var(--vb-navy-800); color: var(--vb-on-dark); }
.vibo-surface--darker { background: var(--vb-navy-900); color: var(--vb-on-dark); }
.vibo-surface--cream  { background: var(--vb-cream); color: var(--vb-text); }
.vibo-surface--stone  { background: var(--vb-stone); color: var(--vb-text); }

.vibo-hairline { border: 0; border-top: 1px solid var(--vb-line); margin: 0; }
.vibo-on-dark .vibo-hairline { border-top-color: var(--vb-navy-600); }


/* ---------------------------------------------------------------------------
   7. UTILITY
   ------------------------------------------------------------------------ */

.vibo-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.vibo-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 10000;
	background: var(--vb-navy-800);
	color: var(--vb-on-dark);
	padding: var(--vb-space-3) var(--vb-space-5);
	border-radius: 0 0 var(--vb-radius-2) 0;
}

.vibo-skip-link:focus { left: 0; }


/* ---------------------------------------------------------------------------
   8. HEADER — JOB 02
   Utility лента 44 + основна лента 100 = 144 px. При скрол → 72 px.
   Всичко се управлява от токените. Нула !important.
   ------------------------------------------------------------------------ */

/* Точката, в която desktop навигацията отстъпва на off-canvas менюто.
   Изчислена за пълните 7 пункта на български, не за днешните 4 —
   по-добре е менюто да се смени рано, отколкото да се натъпче. */
@media (min-width: 768px) and (max-width: 1180px) {
	:root {
		--vb-header-main:  84px;
		--vb-header-total: 128px;
	}
}

/* Обвивката на Efway става само дистанция — истинският header е fixed. */
#masthead.site-header {
	height: var(--vb-header-total);
	min-height: 0;
	padding: 0;
	margin: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

/* Когато header-ът лежи върху Hero-то, дистанция не е нужна. */
body.vibo-header-overlay #masthead.site-header { height: 0; }

.vibo-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 900;
	color: var(--vb-on-dark);
	transition: background-color var(--vb-slow) var(--vb-ease);
}

.vibo-header--solid { background: var(--vb-navy-800); }

/* Много деликатен воал само в overlay режим. Измерено: горната дясна част на
   одобрената снимка светлее до #D5A059 — кремав текст върху нея дава 2.07:1.
   Воалът вдига четимостта, без да убива текстурата на снимката. */
.vibo-header__veil {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: 0;
	background: linear-gradient(to bottom,
		rgba(var(--vb-navy-900-rgb), .80) 0%,
		rgba(var(--vb-navy-900-rgb), .46) 58%,
		rgba(var(--vb-navy-900-rgb), 0) 100%);
	transition: opacity var(--vb-slow) var(--vb-ease);
}

.vibo-header--overlay .vibo-header__veil { opacity: 1; }
.vibo-header.is-stuck .vibo-header__veil { opacity: 0; }

/* Прибрано състояние. Без тежка сянка — само по-светъл ръб. */
.vibo-header.is-stuck {
	background: rgba(var(--vb-navy-800-rgb), .96);
	backdrop-filter: blur(10px) saturate(1.08);
	-webkit-backdrop-filter: blur(10px) saturate(1.08);
	border-bottom: 1px solid rgba(var(--vb-cream-rgb), .10);
}

.vibo-header__row {
	position: relative;
	width: 100%;
	max-width: var(--vb-container);
	height: 100%;
	margin-inline: auto;
	padding-inline: var(--vb-gutter);
}

/* --- Utility лента --------------------------------------------------- */

.vibo-header__utility {
	height: var(--vb-header-utility);
	overflow: hidden;
	/* Линията е вътрешна сянка, а не border — така не добавя пиксел към
	   височината и прибраният header е точно 72 px. */
	box-shadow: inset 0 -1px 0 rgba(var(--vb-cream-rgb), .14);
	transition: height var(--vb-slow) var(--vb-ease),
	            opacity var(--vb-fast) var(--vb-ease);
}

.vibo-header.is-stuck .vibo-header__utility {
	height: 0;
	opacity: 0;
	box-shadow: none;
}

.vibo-header__utility .vibo-header__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--vb-space-5);
}

.vibo-utility__contacts {
	display: flex;
	align-items: center;
	gap: var(--vb-space-3);
	margin: 0;
	font-size: var(--vb-size-utility);
	line-height: 1;
}

.vibo-utility__link {
	color: var(--vb-on-dark-dim);
	text-decoration: none;
	transition: color var(--vb-fast) var(--vb-ease);
}

.vibo-utility__link:hover { color: var(--vb-on-dark); }

.vibo-utility__dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--vb-steel);
}

.vibo-utility__tools {
	display: flex;
	align-items: center;
	gap: var(--vb-space-4);
}

.vibo-lang {
	display: flex;
	align-items: center;
	gap: var(--vb-space-2);
	font-size: var(--vb-size-utility);
	line-height: 1;
}

.vibo-lang__item {
	color: var(--vb-on-dark-dim);
	text-decoration: none;
	letter-spacing: .04em;
}

.vibo-lang__item.is-current { color: var(--vb-on-dark); font-weight: 500; }
.vibo-lang__item.is-pending { color: var(--vb-steel); cursor: not-allowed; }

.vibo-lang__dot {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--vb-steel);
}

.vibo-iconbtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--vb-on-dark-dim);
	cursor: pointer;
	border-radius: var(--vb-radius-2);
	transition: color var(--vb-fast) var(--vb-ease);
}

.vibo-iconbtn:hover { color: var(--vb-on-dark); }
.vibo-iconbtn--ink { color: var(--vb-text-dim); width: 44px; height: 44px; }
.vibo-iconbtn--ink:hover { color: var(--vb-navy-800); }

.vibo-icon { width: 20px; height: 20px; display: block; }

/* --- Основна лента --------------------------------------------------- */

.vibo-header__main {
	height: var(--vb-header-main);
	transition: height var(--vb-slow) var(--vb-ease);
}

.vibo-header.is-stuck .vibo-header__main { height: var(--vb-header-scrolled); }

.vibo-header__main .vibo-header__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: var(--vb-space-6);
}

.vibo-logo {
	display: inline-block;
	justify-self: start;
	line-height: 0;
	text-decoration: none;
}

/* Логото е в реалните си цветове — син пръстен, червено „Vibo".
   Вътрешността на овала е прозрачна, затова фонът минава зад буквите и логото
   не седи върху бял правоъгълник. Двата варианта се различават само по цвета
   на „TRADE & FOOD": кремаво върху тъмно, черно върху светло. */
.vibo-logo__mark {
	display: block;
	width: 168px;
	aspect-ratio: 1106 / 511;
	/* Нарочно longhand, а не background shorthand: ако променливата липсва,
	   невалидната стойност поваля само background-image, но не и позицията и
	   размера — иначе логото изскача в естествения си размер. */
	background-image: var(--vb-logo);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: width var(--vb-slow) var(--vb-ease);
}

.vibo-header.is-stuck .vibo-logo__mark { width: 124px; }

.vibo-logo--ink .vibo-logo__mark {
	background-image: var(--vb-logo-ink, var(--vb-logo));
	width: 132px;
}

/* --- Навигация -------------------------------------------------------- */

.vibo-nav { justify-self: center; }

.vibo-nav__list {
	display: flex;
	align-items: center;
	gap: var(--vb-space-3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.vibo-nav__list > li {
	position: relative;
	display: flex;
	align-items: center;
}

.vibo-nav__list > li > a {
	display: block;
	padding: 14px 12px;
	font-family: var(--vb-font-sans);
	font-weight: 500;
	font-size: var(--vb-size-nav);
	line-height: 1;
	color: var(--vb-on-dark);
	text-decoration: none;
	white-space: nowrap;
	transition: color var(--vb-fast) var(--vb-ease);
}

.vibo-nav__list > li > a:hover,
.vibo-nav__list > li > a:focus-visible { color: #FFFFFF; }

.vibo-nav__label { position: relative; display: inline-block; }

/* Пясъчна черта под активния пункт: 2 px, широка колкото думата, на 8 px. */
.vibo-nav__list > li.current-menu-item > a .vibo-nav__label::after,
.vibo-nav__list > li.current-menu-ancestor > a .vibo-nav__label::after,
.vibo-nav__list > li.current-menu-parent > a .vibo-nav__label::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	height: 2px;
	background: var(--vb-sand);
}

.vibo-subtoggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 6px;
	margin-left: -10px;
	border: 0;
	background: none;
	color: inherit;
	cursor: pointer;
	border-radius: var(--vb-radius-2);
}

.vibo-subtoggle .vibo-icon {
	width: 14px;
	height: 14px;
	transition: transform var(--vb-fast) var(--vb-ease);
}

.vibo-nav__list > li.is-open > .vibo-subtoggle .vibo-icon,
.vibo-drawer__list > li.is-open > .vibo-subtoggle .vibo-icon { transform: rotate(180deg); }

/* --- Падащи менюта ---------------------------------------------------- */

.vibo-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 5;
	min-width: 232px;
	margin: 0;
	padding: var(--vb-space-2);
	list-style: none;
	background: var(--vb-navy-700);
	border: 1px solid rgba(var(--vb-cream-rgb), .10);
	border-radius: var(--vb-radius-3);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity var(--vb-fast) var(--vb-ease),
	            transform var(--vb-fast) var(--vb-ease),
	            visibility var(--vb-fast);
}

.vibo-nav__list > li:hover > .sub-menu,
.vibo-nav__list > li.has-focus > .sub-menu,
.vibo-nav__list > li.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.vibo-nav .sub-menu a {
	display: block;
	padding: 10px 12px;
	font-size: 14.5px;
	line-height: 1.35;
	color: var(--vb-on-dark);
	text-decoration: none;
	border-radius: var(--vb-radius-2);
	transition: background-color var(--vb-fast) var(--vb-ease),
	            color var(--vb-fast) var(--vb-ease);
}

.vibo-nav .sub-menu a:hover,
.vibo-nav .sub-menu a:focus-visible {
	background: var(--vb-navy-600);
	color: #FFFFFF;
}

/* --- Действия --------------------------------------------------------- */

.vibo-header__actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--vb-space-4);
	justify-self: end;
}

.vibo-header__cta {
	padding: 13px 22px;
	font-size: 14.5px;
	white-space: nowrap;
}

/* При скрол CTA-то става пясъчно — по-силно е, когато лентата е тясна. */
.vibo-header.is-stuck .vibo-header__cta {
	background: var(--vb-sand);
	border-color: var(--vb-sand);
	color: var(--vb-navy-900);
}

.vibo-header.is-stuck .vibo-header__cta:hover {
	background: var(--vb-champagne);
	border-color: var(--vb-champagne);
}

.vibo-burger {
	display: none;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-right: -12px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--vb-on-dark);
	cursor: pointer;
	border-radius: var(--vb-radius-2);
}

.vibo-burger__bars { display: block; width: 24px; }

.vibo-burger__bars i {
	display: block;
	height: 1.5px;
	background: currentColor;
	border-radius: 2px;
}

.vibo-burger__bars i + i { margin-top: 6px; }
.vibo-burger__bars i:last-child { width: 16px; margin-left: auto; }

/* --- Търсене ---------------------------------------------------------- */

.vibo-search {
	background: var(--vb-navy-900);
	border-bottom: 1px solid rgba(var(--vb-cream-rgb), .10);
}

.vibo-search .vibo-header__row { padding-block: var(--vb-space-4); }

.vibo-search__form {
	display: flex;
	align-items: stretch;
	gap: var(--vb-space-3);
}

.vibo-search__field {
	flex: 1 1 auto;
	min-width: 0;
	padding: 14px 16px;
	font-family: var(--vb-font-sans);
	font-size: 15px;
	color: var(--vb-on-dark);
	background: rgba(var(--vb-cream-rgb), .06);
	border: 1px solid rgba(var(--vb-cream-rgb), .18);
	border-radius: var(--vb-radius-2);
}

.vibo-search__field::placeholder { color: var(--vb-steel); }
.vibo-search__submit { flex: 0 0 auto; }

/* --- Off-canvas ------------------------------------------------------- */

/* Над мобилната лента на Efway (z-index 9999), под лентата на WordPress. */
.vibo-drawer { position: fixed; inset: 0; z-index: 10000; }

body.admin-bar .vibo-drawer { top: 32px; }

@media screen and (max-width: 782px) {
	body.admin-bar .vibo-drawer { top: 46px; }
}

.vibo-drawer__scrim {
	position: absolute;
	inset: 0;
	width: 100%;
	padding: 0;
	border: 0;
	background: rgba(var(--vb-navy-900-rgb), .58);
	opacity: 0;
	cursor: default;
	transition: opacity var(--vb-slow) var(--vb-ease);
}

.vibo-drawer.is-open .vibo-drawer__scrim { opacity: 1; }

.vibo-drawer__panel {
	position: absolute;
	top: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	width: min(420px, 88vw);
	height: 100%;
	background: var(--vb-cream);
	transform: translateX(100%);
	transition: transform var(--vb-slow) var(--vb-ease);
}

.vibo-drawer.is-open .vibo-drawer__panel { transform: translateX(0); }

.vibo-drawer__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--vb-space-4);
	padding: var(--vb-space-4) var(--vb-space-5);
	border-bottom: 1px solid var(--vb-line);
}

.vibo-drawer__nav {
	flex: 1 1 auto;
	overflow-y: auto;
	padding: var(--vb-space-3) var(--vb-space-5) var(--vb-space-5);
	-webkit-overflow-scrolling: touch;
	/* Меко избледняване долу — подсказва, че списъкът продължава,
	   вместо пунктът да изглежда отрязан. */
	-webkit-mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent 100%);
	        mask-image: linear-gradient(to bottom, #000 calc(100% - 28px), transparent 100%);
}

.vibo-drawer__list { margin: 0; padding: 0; list-style: none; }

.vibo-drawer__list > li {
	position: relative;
	border-bottom: 1px solid var(--vb-line);
}

.vibo-drawer__list > li:last-child { border-bottom: 0; }

.vibo-drawer__list > li > a {
	display: block;
	padding: 13px 52px 13px 0;
	min-height: 50px;
	font-family: var(--vb-font-sans);
	font-weight: 500;
	font-size: 19px;
	line-height: 1.35;
	color: var(--vb-navy-800);
	text-decoration: none;
}

.vibo-drawer__list > li > a:hover { color: var(--vb-steel-text); }
.vibo-drawer__list > li.current-menu-item > a { color: var(--vb-sand-deep); }

.vibo-drawer .vibo-subtoggle {
	position: absolute;
	top: 3px;
	right: -8px;
	width: 48px;
	height: 48px;
	margin: 0;
	color: var(--vb-text-dim);
}

.vibo-drawer .vibo-subtoggle .vibo-icon { width: 18px; height: 18px; }

.vibo-drawer .sub-menu {
	display: none;
	margin: 0 0 var(--vb-space-3);
	padding: 0 0 0 var(--vb-space-4);
	list-style: none;
	border-left: 1px solid var(--vb-line);
}

.vibo-drawer__list > li.is-open > .sub-menu { display: block; }

.vibo-drawer .sub-menu a {
	display: block;
	padding: 11px 0;
	min-height: 44px;
	font-size: 16px;
	color: var(--vb-text);
	text-decoration: none;
}

.vibo-drawer .sub-menu a:hover { color: var(--vb-navy-800); }

/* Контактният блок е компактен — менюто остава главният герой. */
.vibo-drawer__foot {
	flex: 0 0 auto;
	background: var(--vb-navy-800);
	padding: var(--vb-space-4) var(--vb-space-5);
	padding-bottom: calc(var(--vb-space-5) + env(safe-area-inset-bottom, 0px));
}

.vibo-drawer__contacts {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin: var(--vb-space-2) 0 var(--vb-space-3);
}

.vibo-drawer__contacts a {
	font-size: 16px;
	color: var(--vb-on-dark);
	text-decoration: none;
}

.vibo-drawer__contacts a:first-child {
	font-family: var(--vb-font-display);
	font-size: 21px;
	font-weight: 600;
}

.vibo-drawer__cta { width: 100%; }
.vibo-lang--drawer { margin-top: var(--vb-space-3); justify-content: flex-start; }

/* Старото push меню на Efway остава в кода, но вече няма кой да го отваря.
   Скриваме го, за да не се хваща с клавиатура и да не го чете екранен четец —
   иначе в страницата стоят два невидими навигационни списъка.
   Не е изтрито: връща се с махането на този ред. */
#opal-canvas-menu { display: none; }

/* Заключване на скрола под отвореното меню. */
body.vibo-locked { overflow: hidden; }
html:has(body.vibo-locked) { overflow: hidden; }

/* --- Точки на пречупване --------------------------------------------- */

@media (max-width: 1180px) {
	.vibo-nav,
	.vibo-header__cta { display: none; }

	.vibo-burger { display: inline-flex; }
	.vibo-header__main .vibo-header__row { grid-template-columns: auto minmax(0, 1fr); }
}

@media (max-width: 767px) {
	/* Utility лентата остава видима на мобилно, но само с езиковия
	   превключвател — контактите и бутонът за търсене се скриват тук,
	   защото вече са достъпни през менюто. */
	.vibo-header__utility {
		height: auto;
		opacity: 1;
		box-shadow: none;
	}

	.vibo-header__utility .vibo-header__row {
		justify-content: flex-end;
		padding-block: var(--vb-space-2);
	}

	.vibo-header__utility .vibo-utility__contacts,
	.vibo-header__utility .vibo-iconbtn {
		display: none;
	}

	.vibo-logo__mark { width: 124px; }
	.vibo-header.is-stuck .vibo-logo__mark { width: 108px; }

	.vibo-drawer__panel { width: min(400px, 92vw); }
}

/* На нисък екран контактният блок се свива, за да остане менюто главният
   герой. Целта е блокът да не минава 30 % от височината на панела. */
@media (max-height: 760px) {
	.vibo-drawer__foot { padding-top: var(--vb-space-3); }
	.vibo-drawer__contacts { margin-bottom: var(--vb-space-3); }
	.vibo-drawer__contacts a:first-child { font-size: 19px; }
	.vibo-lang--drawer { margin-top: var(--vb-space-2); }
	.vibo-drawer__list > li > a { min-height: 50px; padding-block: 13px; }
}

/* На много нисък екран (стари телефони) контактният блок престава да е
   закован за долния ръб и се превърта заедно с менюто. Иначе би заел близо
   половината панел, а менюто трябва да остане главният герой. */
@media (max-height: 620px) {
	.vibo-drawer__panel { overflow-y: auto; -webkit-overflow-scrolling: touch; }
	.vibo-drawer__nav { flex: 0 0 auto; overflow: visible; }
	.vibo-drawer__foot { margin-top: auto; }
}

@media (max-width: 380px) {
	.vibo-logo__mark { width: 112px; }
	.vibo-drawer__panel { width: 100vw; }
	.vibo-drawer__list > li > a { font-size: 18px; }
	.vibo-drawer__contacts a:first-child { font-size: 20px; }
}

/* --- Мост по специфичност срещу Efway --------------------------------

   Efway описва бутоните и полетата със селектори по елемент и атрибут:
   button[type="submit"], input[type="search"] и подобни. Такъв селектор тежи
   колкото един клас плюс един атрибут и надделява над .vibo-btn, който е
   само един клас. Затова тук повтаряме същите правила с елемента отпред —
   еднаква тежест, а нашият файл се зарежда последен и печели.

   Това е специфичност, не !important. Когато заменим формите на Efway
   (JOB „Контакти"), този блок отпада целият.                              */

button.vibo-btn,
input.vibo-btn {
	padding: 16px 28px;
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: 15px;
	line-height: 1;
	border: 1px solid transparent;
	border-radius: var(--vb-radius-2);
	text-transform: none;
	letter-spacing: .01em;
}

button.vibo-btn--primary,
input.vibo-btn--primary {
	background: var(--vb-sand);
	color: var(--vb-navy-900);
}

button.vibo-btn--primary:hover,
input.vibo-btn--primary:hover {
	background: var(--vb-champagne);
	color: var(--vb-navy-900);
}

input.vibo-search__field {
	color: var(--vb-on-dark);
	background: rgba(var(--vb-cream-rgb), .06);
	border: 1px solid rgba(var(--vb-cream-rgb), .18);
	border-radius: var(--vb-radius-2);
	box-shadow: none;
}

input.vibo-search__field::placeholder { color: var(--vb-steel); }

/* Лентата на WordPress не бива да лежи върху header-а. */
body.admin-bar .vibo-header { top: 32px; }

@media screen and (max-width: 782px) {
	body.admin-bar .vibo-header { top: 46px; }
	body.admin-bar.vibo-scrolled .vibo-header { top: 0; }
}

/* ---------------------------------------------------------------------------
   9. HERO — JOB 03
   Началната страница. Header-ът лежи върху hero-то и двете са една композиция.
   Един общ градиент обслужва и четимостта на навигацията, и на текста.
   ------------------------------------------------------------------------ */

body.home #page-title-bar,
body.vibo-header-overlay #page-title-bar {
	display: block;
	padding: 0;
	margin: 0;
	background: none;
	min-height: 0;
}

.vibo-hero {
	position: relative;
	display: grid;
	align-items: center;
	min-height: clamp(700px, 50vw, 790px);
	overflow: hidden;
	background: var(--vb-navy-900);
	isolation: isolate;
}

.vibo-hero__frame {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.vibo-hero__media,
.vibo-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.vibo-hero__media img {
	object-fit: cover;
	object-position: 64% 20%;
}

.vibo-hero__wash {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg,
			rgba(var(--vb-navy-900-rgb), .70) 0%,
			rgba(var(--vb-navy-900-rgb), .28) 17%,
			rgba(var(--vb-navy-900-rgb), 0) 33%),
		linear-gradient(96deg,
			rgba(var(--vb-navy-900-rgb), .95) 0%,
			rgba(var(--vb-navy-900-rgb), .88) 27%,
			rgba(var(--vb-navy-900-rgb), .58) 45%,
			rgba(var(--vb-navy-900-rgb), .14) 61%,
			rgba(var(--vb-navy-900-rgb), 0) 73%);
}

body.vibo-header-overlay .vibo-header__veil { opacity: 0; }

.vibo-hero__row {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: var(--vb-container);
	margin-inline: auto;
	padding-inline: var(--vb-gutter);
	padding-top: var(--vb-header-total);
}

.vibo-hero__copy { max-width: 680px; }

.vibo-hero__eyebrow {
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: var(--vb-size-eyebrow);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--vb-champagne);
	margin: 0 0 22px;
}

.vibo-hero__title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: clamp(38px, 4.9vw, 76px);
	line-height: 1.02;
	letter-spacing: -.018em;
	color: var(--vb-on-dark);
	margin: 0 0 22px;
	text-wrap: balance;
}

.vibo-hero__lead {
	font-family: var(--vb-font-sans);
	font-size: clamp(16.5px, 1.35vw, 19px);
	line-height: 1.62;
	color: var(--vb-on-dark-dim);
	max-width: 42ch;
	margin: 0 0 36px;
}

.vibo-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--vb-space-4);
}

.vibo-hero .vibo-btn--ghost { border-color: rgba(var(--vb-cream-rgb), .40); }
.vibo-hero .vibo-btn--ghost:hover { border-color: var(--vb-sand); color: var(--vb-sand); }

@media (prefers-reduced-motion: no-preference) {
	.vibo-hero__copy > * {
		animation: vibo-hero-rise 620ms var(--vb-ease) both;
	}
	.vibo-hero__copy > *:nth-child(2) { animation-delay: 70ms; }
	.vibo-hero__copy > *:nth-child(3) { animation-delay: 140ms; }
	.vibo-hero__copy > *:nth-child(4) { animation-delay: 210ms; }
}

@keyframes vibo-hero-rise {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: none; }
}

@media (max-width: 1179px) {
	.vibo-hero {
		display: flex;
		flex-direction: column;
		min-height: 0;
		background: var(--vb-navy-800);
	}

	.vibo-hero__row {
		order: 1;
		padding-top: calc(var(--vb-header-total) + var(--vb-space-7));
		padding-bottom: var(--vb-space-8);
	}

	.vibo-hero__copy { max-width: 620px; }

	.vibo-hero__frame {
		order: 2;
		position: relative;
		inset: auto;
		width: 100%;
		aspect-ratio: 3 / 2;
	}

	.vibo-hero__media img { object-position: 58% 50%; }

	.vibo-hero__wash {
		background: linear-gradient(180deg,
			rgba(var(--vb-navy-800-rgb), .92) 0%,
			rgba(var(--vb-navy-800-rgb), .38) 22%,
			rgba(var(--vb-navy-800-rgb), 0) 48%);
	}

	.vibo-hero__title { font-size: clamp(36px, 5.6vw, 54px); }
	.vibo-hero__lead  { font-size: 17px; max-width: 46ch; }
}

@media (max-width: 767px) {
	.vibo-hero__row {
		padding-top: calc(var(--vb-header-total) + var(--vb-space-6));
		padding-bottom: var(--vb-space-7);
	}

	.vibo-hero__title { font-size: clamp(34px, 9.6vw, 42px); line-height: 1.05; }
	.vibo-hero__lead  { font-size: 16.5px; margin-bottom: 28px; }
	.vibo-hero__eyebrow { margin-bottom: 16px; }

	.vibo-hero__actions { gap: var(--vb-space-3); }
	.vibo-hero__actions .vibo-btn { flex: 1 1 100%; }
}

@media (max-width: 360px) {
	.vibo-hero__title { font-size: 32px; }
	.vibo-hero__lead { font-size: 16px; }
}

/* ---------------------------------------------------------------------------
   10. ПРОДУКТОВА КАРТА — JOB 14
   Един компонент за всички решетки от продукти (каталог, категория,
   свързани продукти). Снимка 4:3 навсякъде, марка (когато е налична) над
   заглавието, заглавието спира до два реда. Цялата карта е една връзка —
   каталожният режим няма цена или количка вътре в нея, затова няма риск
   от вложени връзки/бутони.
   ------------------------------------------------------------------------ */

.vibo-product-card { list-style: none; }

.vibo-product-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-3);
	overflow: hidden;
	transition: box-shadow var(--vb-fast) var(--vb-ease), border-color var(--vb-fast) var(--vb-ease);
}

.vibo-product-card__link:hover {
	box-shadow: 0 6px 20px rgba(var(--vb-navy-900-rgb), .08);
	border-color: var(--vb-steel);
}

.vibo-product-card__link:focus-visible {
	outline: 2px solid var(--vb-focus);
	outline-offset: 2px;
	border-color: var(--vb-steel);
}

.vibo-product-card__media {
	display: block;
	aspect-ratio: 4 / 3;
	background: var(--vb-stone);
	overflow: hidden;
}

.vibo-product-card__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center;
	padding: var(--vb-space-4);
	box-sizing: border-box;
	transition: transform var(--vb-slow) var(--vb-ease);
}

.vibo-product-card__link:hover .vibo-product-card__img { transform: scale(1.03); }

.vibo-product-card__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--vb-steel);
}

.vibo-product-card__img--placeholder svg { width: 34%; height: 34%; }

.vibo-product-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--vb-space-1);
	padding: var(--vb-space-4);
	flex: 1;
}

.vibo-product-card__brand {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-eyebrow);
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--vb-sand-deep);
}

.vibo-product-card__title {
	/* JOB 25: span → h2 за йерархията; нулираме UA margin-а на h2,
	   за да не мени визията. */
	margin: 0;
	font-family: var(--vb-font-sans);
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--vb-charcoal);
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

@media (max-width: 600px) {
	.vibo-product-card__body { padding: var(--vb-space-3); gap: 2px; }
	.vibo-product-card__img { padding: var(--vb-space-3); }
	.vibo-product-card__title { font-size: 15px; }
}

/* ---------------------------------------------------------------------------
   11. КАТЕГОРИЯ — АРХИВ НА ПРОДУКТИ — JOB 13
   Скопирано изцяло в body.tax-product_cat, за да не пипа други страници,
   които преизползват същите общи компоненти (page-title-bar, известия).
   Заглавие + трохи, описание (когато е зададено в категорията), решетката
   използва готовата продуктова карта от JOB 14, странична пагинация,
   състояние без продукти.
   ------------------------------------------------------------------------ */

body.tax-product_cat #page-title-bar {
	padding-block: var(--vb-space-6) var(--vb-space-5);
}

body.tax-product_cat .breadcrumb {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-utility);
	color: var(--vb-text-dim);
}

body.tax-product_cat .breadcrumb a {
	color: var(--vb-steel-text);
	text-decoration: none;
}

body.tax-product_cat .breadcrumb a:hover {
	color: var(--vb-navy-700);
	text-decoration: underline;
}

body.tax-product_cat .page-title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h2);
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--vb-charcoal);
	margin: var(--vb-space-3) 0 0;
}

body.tax-product_cat .term-description {
	margin: 0 0 var(--vb-space-5);
}

body.tax-product_cat .term-description p {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
	line-height: 1.6;
	color: var(--vb-text);
	max-width: 68ch;
	margin: 0;
}

/* --- Решетка от продукти: подравнена с картата от JOB 14. --- */
body.tax-product_cat ul.products {
	row-gap: var(--vb-space-6);
}

/* --- Пагинация. --- */
body.tax-product_cat .woocommerce-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--vb-space-2);
	margin-top: var(--vb-space-7);
	padding-top: var(--vb-space-5);
	border-top: 1px solid var(--vb-line);
	font-family: var(--vb-font-sans);
}

body.tax-product_cat .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--vb-space-1);
	min-width: 40px;
	height: 40px;
	padding: 0 var(--vb-space-3);
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-2);
	background: #fff;
	color: var(--vb-text);
	text-decoration: none;
	font-size: var(--vb-size-nav);
	transition: border-color var(--vb-fast) var(--vb-ease), color var(--vb-fast) var(--vb-ease), background var(--vb-fast) var(--vb-ease);
}

body.tax-product_cat .woocommerce-pagination .page-numbers:hover {
	border-color: var(--vb-steel);
	color: var(--vb-navy-700);
}

body.tax-product_cat .woocommerce-pagination .page-numbers.current {
	background: var(--vb-navy-800);
	border-color: var(--vb-navy-800);
	color: var(--vb-on-dark);
}

body.tax-product_cat .woocommerce-pagination .page-numbers.dots {
	border-color: transparent;
	background: none;
}

/* --- Състояние без продукти. --- */
body.tax-product_cat .woocommerce-no-products-found {
	margin-top: var(--vb-space-4);
}

body.tax-product_cat .woocommerce-info {
	display: block;
	background: var(--vb-stone);
	border: 1px solid var(--vb-line);
	border-left: 3px solid var(--vb-steel);
	border-radius: var(--vb-radius-2);
	padding: var(--vb-space-4) var(--vb-space-5);
	margin: 0;
	max-width: 60ch;
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
	color: var(--vb-charcoal);
}

body.tax-product_cat .woocommerce-info::before {
	display: none;
}

@media (max-width: 600px) {
	body.tax-product_cat .page-title { font-size: 26px; }
	body.tax-product_cat .woocommerce-pagination .page-numbers {
		min-width: 36px;
		height: 36px;
		padding: 0 var(--vb-space-2);
		font-size: 14px;
	}
}

/* ---------------------------------------------------------------------------
   12. КАТАЛОГ — НАЧАЛНА СТРАНИЦА /katalog/ — JOB 12
   Скопирано в body.page-id-3215, за да не пипа други страници. Заглавие
   (споделен .page-title/.breadcrumb компонент — стил като JOB 13), решетка
   от категории (истински снимки/връзки от [product_categories]) и решетка
   от продукти с готовата карта от JOB 14 ([products ... paginate="true"]).
   На тази страница долната мобилна лента с количка е скрита — каталогът е
   информационен, продуктите не се купуват онлайн (is_purchasable: false).
   ------------------------------------------------------------------------ */

body.page-id-3215 .breadcrumb {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-utility);
	color: var(--vb-text-dim);
}
body.page-id-3215 .breadcrumb a { color: var(--vb-steel-text); text-decoration: none; }
body.page-id-3215 .breadcrumb a:hover { color: var(--vb-navy-700); text-decoration: underline; }

body.page-id-3215 .page-title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h2);
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--vb-charcoal);
	margin: var(--vb-space-3) 0 0;
}

.vibo-catalog { padding: var(--vb-space-6) 0 var(--vb-section-y); }

.vibo-catalog__lead {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
	line-height: 1.6;
	color: var(--vb-text);
	max-width: 62ch;
	margin: 0 0 var(--vb-space-6);
}

.vibo-catalog__section-title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h3);
	color: var(--vb-charcoal);
	margin: 0 0 var(--vb-space-5);
}

.vibo-catalog__cats { margin: 0 0 var(--vb-space-8); }
.vibo-catalog__cats ul.products { row-gap: var(--vb-space-6); }

.vibo-catalog__cats li.product-category { list-style: none; }
.vibo-catalog__cats li.product-category a {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
	background: #fff;
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-3);
	overflow: hidden;
	transition: box-shadow var(--vb-fast) var(--vb-ease), border-color var(--vb-fast) var(--vb-ease);
}
.vibo-catalog__cats li.product-category a:hover {
	box-shadow: 0 6px 20px rgba(var(--vb-navy-900-rgb), .08);
	border-color: var(--vb-steel);
}
.vibo-catalog__cats li.product-category a:focus-visible {
	outline: 2px solid var(--vb-focus);
	outline-offset: 2px;
	border-color: var(--vb-steel);
}
.vibo-catalog__cats li.product-category img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	object-position: center;
	background: var(--vb-stone);
	padding: var(--vb-space-4);
	box-sizing: border-box;
	transition: transform var(--vb-slow) var(--vb-ease);
}
.vibo-catalog__cats li.product-category a:hover img { transform: scale(1.03); }
.vibo-catalog__cats li.product-category .woocommerce-loop-category__title {
	display: flex;
	align-items: baseline;
	gap: var(--vb-space-2);
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: 16.5px;
	line-height: 1.3;
	color: var(--vb-charcoal);
	padding: var(--vb-space-4);
	flex: 1;
}
.vibo-catalog__cats li.product-category .woocommerce-loop-category__title .count {
	font-family: var(--vb-font-sans);
	font-weight: 500;
	font-size: var(--vb-size-utility);
	color: var(--vb-steel-text);
}

.vibo-catalog__products ul.products { row-gap: var(--vb-space-6); }

body.page-id-3215 .woocommerce-pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--vb-space-2);
	margin-top: var(--vb-space-7);
	padding-top: var(--vb-space-5);
	border-top: 1px solid var(--vb-line);
	font-family: var(--vb-font-sans);
}
body.page-id-3215 .woocommerce-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--vb-space-1);
	min-width: 40px;
	height: 40px;
	padding: 0 var(--vb-space-3);
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-2);
	background: #fff;
	color: var(--vb-text);
	text-decoration: none;
	font-size: var(--vb-size-nav);
	transition: border-color var(--vb-fast) var(--vb-ease), color var(--vb-fast) var(--vb-ease), background var(--vb-fast) var(--vb-ease);
}
body.page-id-3215 .woocommerce-pagination .page-numbers:hover { border-color: var(--vb-steel); color: var(--vb-navy-700); }
body.page-id-3215 .woocommerce-pagination .page-numbers.current {
	background: var(--vb-navy-800);
	border-color: var(--vb-navy-800);
	color: var(--vb-on-dark);
}
body.page-id-3215 .woocommerce-pagination .page-numbers.dots { border-color: transparent; background: none; }

/* Долната мобилна лента с количка е излишна — каталогът е информационен. */
body.page-id-3215 .handheld-footer-bar { display: none; }

@media (max-width: 600px) {
	body.page-id-3215 .page-title { font-size: 26px; }
	.vibo-catalog { padding-top: var(--vb-space-5); }
	.vibo-catalog__lead { font-size: 15.5px; margin-bottom: var(--vb-space-5); }
	.vibo-catalog__section-title { font-size: 20px; margin-bottom: var(--vb-space-4); }
	.vibo-catalog__cats { margin-bottom: var(--vb-space-6); }
	body.page-id-3215 .woocommerce-pagination .page-numbers {
		min-width: 36px;
		height: 36px;
		padding: 0 var(--vb-space-2);
		font-size: 14px;
	}
}

/* ---------------------------------------------------------------------------
   13. ЕДИНИЧЕН ПРОДУКТ — JOB 15
   Скопирано в body.single-product. Снимка/галерия, име, марка и категория,
   описание и характеристики (WooCommerce ги показва само когато са
   попълнени — не е нужна допълнителна логика), ясен бутон за запитване
   (.vibo-btn — вече одобрен компонент от JOB 03) и свързани продукти с
   готовата карта от JOB 14. Сайтът е информационен каталог — цена/количка
   няма, затова празният <p class="price"> се скрива, а долната мобилна
   лента с количка е излишна и на тази страница.
   ------------------------------------------------------------------------ */

body.single-product .breadcrumb {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-utility);
	color: var(--vb-text-dim);
}
body.single-product .breadcrumb a { color: var(--vb-steel-text); text-decoration: none; }
body.single-product .breadcrumb a:hover { color: var(--vb-navy-700); text-decoration: underline; }

body.single-product #page-title-bar { padding-block: var(--vb-space-5) var(--vb-space-4); }

body.single-product .woocommerce-product-gallery {
	background: var(--vb-stone);
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-3);
	padding: var(--vb-space-5);
	box-sizing: border-box;
}
body.single-product .woocommerce-product-gallery__wrapper img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
	aspect-ratio: 1 / 1;
}
body.single-product .flex-control-thumbs {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: var(--vb-space-2);
	margin: var(--vb-space-4) 0 0;
	padding: 0;
}
body.single-product .flex-control-thumbs li { width: 64px; }
body.single-product .flex-control-thumbs img {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #fff;
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-2);
	cursor: pointer;
	transition: border-color var(--vb-fast) var(--vb-ease);
}
body.single-product .flex-control-thumbs img.flex-active { border-color: var(--vb-steel); border-width: 2px; }

body.single-product .summary .product_title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h2);
	line-height: 1.15;
	letter-spacing: -.01em;
	color: var(--vb-charcoal);
	margin: 0 0 var(--vb-space-4);
}

body.single-product .summary .price:empty { display: none; }

body.single-product .woocommerce-product-details__short-description {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
	line-height: 1.6;
	color: var(--vb-text);
	max-width: 60ch;
	margin: 0 0 var(--vb-space-5);
}

body.single-product .vibo-product-inquiry { margin: 0 0 var(--vb-space-5); }

body.single-product .product_meta {
	display: flex;
	flex-direction: column;
	gap: var(--vb-space-1);
	padding-top: var(--vb-space-4);
	border-top: 1px solid var(--vb-line);
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-utility);
	color: var(--vb-text-dim);
}
body.single-product .product_meta a { color: var(--vb-steel-text); text-decoration: none; }
body.single-product .product_meta a:hover { color: var(--vb-navy-700); text-decoration: underline; }

body.single-product .pbr-social-share { margin-top: var(--vb-space-5); }

body.single-product .woocommerce-tabs { margin-top: var(--vb-space-8); }
body.single-product ul.tabs.wc-tabs {
	display: flex;
	gap: var(--vb-space-6);
	list-style: none;
	margin: 0;
	padding: 0 0 var(--vb-space-3);
	border-bottom: 1px solid var(--vb-line);
}
body.single-product ul.tabs.wc-tabs li { margin: 0; }
body.single-product ul.tabs.wc-tabs li a {
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: var(--vb-size-nav);
	color: var(--vb-text-dim);
	text-decoration: none;
	padding-bottom: var(--vb-space-3);
	margin-bottom: calc(-1 * var(--vb-space-3) - 1px);
	border-bottom: 2px solid transparent;
	display: inline-block;
}
body.single-product ul.tabs.wc-tabs li.active a { color: var(--vb-charcoal); border-bottom-color: var(--vb-navy-800); }
body.single-product .woocommerce-Tabs-panel { padding-top: var(--vb-space-5); }
body.single-product .woocommerce-Tabs-panel > h2 { display: none; }
body.single-product .woocommerce-Tabs-panel p {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
	line-height: 1.6;
	color: var(--vb-text);
	max-width: 68ch;
}

body.single-product table.woocommerce-product-attributes {
	width: 100%;
	max-width: 60ch;
	border-collapse: collapse;
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
}
body.single-product table.woocommerce-product-attributes tr { border-bottom: 1px solid var(--vb-line); }
body.single-product table.woocommerce-product-attributes th,
body.single-product table.woocommerce-product-attributes td {
	text-align: left;
	padding: var(--vb-space-3) var(--vb-space-2);
}
body.single-product table.woocommerce-product-attributes th {
	font-weight: 600;
	color: var(--vb-charcoal);
	width: 40%;
}
body.single-product table.woocommerce-product-attributes td { color: var(--vb-text); }

body.single-product .related.products {
	margin-top: var(--vb-space-9);
	padding-top: var(--vb-space-7);
	border-top: 1px solid var(--vb-line);
}
body.single-product .related.products > h2 {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h3);
	color: var(--vb-charcoal);
	margin: 0 0 var(--vb-space-5);
}
body.single-product .related.products ul.products { row-gap: var(--vb-space-6); }

/* Долната мобилна лента с количка е излишна — каталогът е информационен. */
body.single-product .handheld-footer-bar { display: none; }

@media (max-width: 600px) {
	body.single-product .summary .product_title { font-size: 26px; }
	body.single-product .woocommerce-product-gallery { padding: var(--vb-space-4); }
	body.single-product ul.tabs.wc-tabs { gap: var(--vb-space-4); overflow-x: auto; }
}


/* ===========================================================================
 * JOB 11 доп. — Footer: имената на търговските представители под телефона
 * ---------------------------------------------------------------------------
 * Секцията "Свържете се с нас" във футъра (Elementor Footer шаблон "Footer 1",
 * HTML widget, .vbf__c-item) няма display:block за <em> — името залепва за
 * телефонния номер на един ред. Тук само добавяме display:block и малко
 * отстояние, без да пипаме съдържанието на самия Elementor widget.
 * По-висока специфичност (body .vbf ...) вместо !important, за да надделее
 * над инлайн <style> блока на widget-а, зареден по-късно в документа.
 * Rollback: премахване на тази секция.
 * ======================================================================== */
body .vbf .vbf__c-item em {
	display: block;
	margin-top: 4px;
}

/* ===========================================================================
 * JOB 04 — Статистики: тъмен фон по спецификацията (2026-09-14, версия 2)
 * ---------------------------------------------------------------------------
 * Секцията с четирите показателя на началната страница (Elementor контейнер
 * #166e052) — визуален слой, по одобрения дизайн (JOB01c, компонент
 * "Статистики"): числата в Playfair Display, тънки разделителни линии между
 * колоните (вертикални на desktop, хоризонтални при 2х2 подредбата на
 * таблет/мобилно), приглушен цвят на описанията.
 * Версия 2: върнат е тъмният navy фон от спецификацията (нямаше техническа
 * причина да остане светъл) — числата в Cream, описанията в #AFC0CC,
 * иконите в Sand, разделителите в полупрозрачен Cream — точно палитрата и
 * контрастите от JOB01c, раздел Б. Фонът е зададен и през самия Elementor
 * (заменя глобалния бял цвят с локален navy на контейнера) — тук само CSS
 * довършва типографията и разделителите.
 * Известно опростяване: иконите в референса на JOB01c са тънък outline
 * 1.25px; наличната икон-библиотека на сайта (Font Awesome Solid) е плътна,
 * не outline — затова тук само оцветяваме плътната икона в Sand, без true
 * outline ефект.
 * Съдържанието на widget-ите (текстове) е сменено отделно, през Elementor.
 * Rollback: премахване на тази секция.
 * ======================================================================== */
.elementor-element-166e052 .elementor-heading-title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: 30px;
	line-height: 1.15;
	color: #F4F1E8;
}
.elementor-element-166e052 .elementor-text-editor p {
	font-family: "Onest", -apple-system, sans-serif;
	font-size: 13.5px;
	line-height: 1.5;
	color: #AFC0CC;
}
.elementor-element-166e052 .elementor-icon svg {
	color: #D4B98C;
	fill: #D4B98C;
}
.elementor-element-166e052 > .elementor-element:not(:first-child) {
	border-left: 1px solid rgba(244, 241, 232, .18);
	padding-left: 16px;
}
@media (max-width: 1024px) {
	.elementor-element-166e052 > .elementor-element:not(:first-child) {
		border-left: none;
		padding-left: 10px;
	}
	.elementor-element-166e052 > .elementor-element:nth-child(n+3) {
		border-top: 1px solid rgba(244, 241, 232, .18);
		padding-top: 20px;
	}
}

/* ==========================================================================
 * JOB 05 — Категории на началната страница (2026-09-14)
 * ---------------------------------------------------------------------------
 * Секцията "Категории" (Elementor top section #61fc064a, "Начало") замени
 * съществуващата счупена секция "любими Продукти" — таб-меню по марки
 * (opal-products-tabs), което показваше празни колони за всички табове.
 * Табовете са скрити (не изтрити — Elementor "Hidden on desktop/tablet/
 * mobile", обратимо от самия редактор), а до заглавието е добавен нов HTML
 * widget (#95ca98d) с решетка от реални продуктови категории — истински
 * имена, снимки и работещи връзки към /produkt-kategoriya/{slug}/.
 * Оформено по одобрената дизайн система (JOB01c): Playfair Display за
 * заглавия, Onest за текст, палитрата Navy/Sand/Cream, скалата за
 * отстояния и ъгли. Съгласувано с Hero и тъмната секция с показателите
 * (JOB04) чрез същите шрифтове и цветове — самата секция е на светъл
 * (Cream) фон, за да редува тъмно/светло в композицията надолу по
 * страницата, както е предвидено в спецификацията.
 * Нула нови синаерсиаки! момиimportant, само child theme.
 * Rollback: премахване на тази секция + връщане на hide_* на 7c03b262.
 * ======================================================================== */
.elementor-element-61fc064a {
	background-color: #F4F1E8;
	padding-top: clamp(64px, 8vw, 96px);
	padding-bottom: clamp(64px, 8vw, 96px);
}
.elementor-element-61fc064a [data-id="4508d043"] .elementor-heading-title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: clamp(28px, 3.4vw, 36px);
	line-height: 1.16;
	letter-spacing: -.012em;
	color: #0E2438;
	text-transform: none;
}

.vibo-home-cats__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 32px;
}
.vibo-home-cats__card {
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid #D8D2C6;
	border-radius: 6px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .25s, border-color .25s;
}
.vibo-home-cats__card:hover {
	border-color: #C3D2E2;
	box-shadow: 0 8px 26px rgba(20, 30, 40, .08);
}
.vibo-home-cats__img {
	aspect-ratio: 4 / 3;
	background: #E9E4D9;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
}
.vibo-home-cats__img img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
}
.vibo-home-cats__body {
	padding: 18px 20px 20px;
}
.vibo-home-cats__title {
	display: block;
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: 19px;
	line-height: 1.25;
	color: #0E2438;
	margin-bottom: 6px;
}
.vibo-home-cats__meta {
	display: block;
	font-family: "Onest", -apple-system, sans-serif;
	font-size: 13.5px;
	color: #5C666E;
}
.vibo-home-cats__link {
	display: block;
	margin-top: 12px;
	font-family: "Onest", -apple-system, sans-serif;
	font-size: 13.5px;
	font-weight: 600;
	color: #3A5A75;
}
.vibo-home-cats__card:hover .vibo-home-cats__link {
	text-decoration: underline;
	text-underline-offset: 3px;
}
@media (max-width: 900px) {
	.vibo-home-cats__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 560px) {
	.vibo-home-cats__grid {
		grid-template-columns: 1fr;
	}
}

/* CTA бутон "Вижте всички категории" — основен бутон върху светло, по JOB01c раздел Е */
.elementor-element-62873cc .elementor-button {
	background-color: #0E2438;
	color: #F4F1E8;
	border-radius: 4px;
	border: none;
}
.elementor-element-62873cc .elementor-button:hover {
	background-color: #2C4359;
}

/* ===========================================================================
 * JOB 04 — Корекция: скрити показатели на desktop + цвят на иконите (2026-09-14)
 * ---------------------------------------------------------------------------
 * Находка 1: Секцията с показателите (#166e052 в контейнер #87c8061) има
 * отрицателен горен отстъп (margin-top), заложен да я издигне върху долния
 * край на Hero изображението (плаващ ефект). На desktop това я скрива
 * напълно зад Hero-то, защото родителската тема Efway задава на
 * .site-content-contain z-index:2, а на #page-title-bar (Hero контейнера)
 * z-index:3 — по-висок. Затова само тясна ивица от секцията се вижда под
 * Hero-то, а числата и иконите остават невидими зад него.
 * Корекция: повишаваме z-index на .site-content-contain само на тази
 * конкретна страница (body.page-id-2569), за да не засегнем евентуален
 * умишлен overlap ефект на друга страница, използваща същата структура.
 * Нула global промяна на родителската тема — само CSS override в child.
 *
 * Находка 2: Иконите в показателите излизати сини вместо пясъчни (Sand),
 * въпреки правилото за fill в първоначалния JOB 04 CSS блок. Причина:
 * Elementor генерира собствено, поспецифично CSS правило за всеки
 * icon widget (напр. ".elementor-2569 .elementor-element.elementor-element-
 * 694535b.elementor-view-default .elementor-icon svg { fill: var(--e-global-
 * color-primary); }"), което е по-специфично от простото правило
 * ".elementor-element-166e052 .elementor-icon svg" и затова печели, макар
 * нашето да е заредено по-късно. Корекция: понйестно, но все още само
 * scoped към тази секция селектор — без !important.
 * ======================================================================== */
body.page-id-2569 .site-content-contain {
	z-index: 4;
}

.elementor-2569 .elementor-element.elementor-element-166e052 .elementor-element .elementor-widget-icon .elementor-icon svg {
	fill: #D4B98C;
	color: #D4B98C;
}


/* ===========================================================================
 * JOB 06 — Кратко представяне на Vibo Ltd. на началната страница (2026-09-14)
 * ---------------------------------------------------------------------------
 * Нова секция между "Категории" (JOB 05) и "РЕШЕНИЯ ЗА ВАШИЯ БИЗНЕС" —
 * въвежда компанията преди бизнес предложението. Тъмен (navy) фон по
 * спецификацията JOB01c — рязък преход cream -> navy -> светло, създаващ
 * визуалния ритъм от раздел A на спецификацията. Ново, самостоятелно
 * именувано пространство от класове (.vibo-about-brief__*), за да не
 * засяга други секции. Съдържанието е в Elementor HTML widget #7f4390d,
 * вътре в container #64ebb79 (document, позиция 2).
 * ======================================================================== */
.vibo-about-brief {
	background: #0E2438;
	padding: clamp(80px, 9vw, 144px) 32px;
}
.vibo-about-brief__inner {
	max-width: 760px;
	margin: 0 auto;
	text-align: center;
}
.vibo-about-brief__eyebrow {
	font-family: "Onest", system-ui, sans-serif;
	font-weight: 600;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #E2C595;
	margin: 0 0 20px;
}
.vibo-about-brief__title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: clamp(26px, 3.4vw, 36px);
	line-height: 1.18;
	color: #F4F1E8;
	margin: 0 0 20px;
}
.vibo-about-brief__text {
	font-family: "Onest", system-ui, sans-serif;
	font-weight: 400;
	font-size: 17px;
	line-height: 1.62;
	color: #AFC0CC;
	margin: 0;
}
@media (max-width: 560px) {
	.vibo-about-brief {
		padding: clamp(64px, 12vw, 96px) 20px;
	}
}


/* ===========================================================================
 * JOB 07 — Дистрибуция / "Решения за вашия бизнес" на началната страница (2026-09-14)
 * ---------------------------------------------------------------------------
 * Старото оформление (widget #1d13e22, "vibo-contact-grid") използваше
 * извън палитрата цветове, Poppins/системен шрифт, бутони с border-radius
 * 999px и няколко "!important". Подменено с новото пространство от класове
 * .vibo-solutions__*.
 *
 * Корекция 1 (същия ден): по решение на клиента секцията остава само с две
 * карти — "Запитване на дребно" и "Запитване на едро". "Затворен цикъл" и
 * "Private label" са премахнати оттук (текстът им е запазен в
 * job07-distribuciya-addendum.md за JOB 08).
 *
 * Корекция 2 (същия ден): заглавието и картите бяха в ДВА отделни Elementor
 * контейнера (#6714472 за заглавието, #1cf06e5 за картите) — затова
 * заглавието изглеждаше като самостоятелен банер с прекомерен вертикален
 * padding, а картите седяха в отделен, визуално несвързан блок отдолу.
 * Коригирано структурно: контейнер #6714472 е изтрит, заглавието е
 * преместено вътре в HTML widget #1d13e22 (в общ wrapper с картите) — вече
 * има само ЕДИН контейнер (#1cf06e5), един фон, едно отстояние. Заглавието
 * е с нормален изговор (не главни букви), един цвят (Navy 800, без
 * двуцветно разделяне), поставено близо над картите. Надтекстът
 * "Дистрибуция" над дясната карта е премахнат (нарушаваше симетрията).
 * Двете карти вече имат еднаква ширина/височина (grid, stretch по
 * подразбиране) и бутоните се подравняват на обща долна линия чрез
 * flex-структурата на картата (текстовият блок расте да запълни
 * наличната височина, бутонът стои веднага след него) — без ръчни празни
 * редове.
 * ======================================================================== */
.elementor-element-1cf06e5 {
	background-color: #E9E4D9;
	padding-top: clamp(48px, 6vw, 72px);
	padding-bottom: clamp(48px, 6vw, 72px);
}
.vibo-solutions__wrap {
	max-width: 900px;
	margin: 0 auto;
}
.vibo-solutions__heading {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: clamp(24px, 3vw, 32px);
	line-height: 1.2;
	color: #0E2438;
	text-transform: none;
	margin: 0 0 24px;
}
.vibo-solutions {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: stretch;
	gap: 20px;
}
.vibo-solutions__card {
	display: flex;
	flex-direction: column;
	background: #FFFFFF;
	border: 1px solid #D8D2C6;
	border-radius: 6px;
	padding: 28px;
}
.vibo-solutions__body {
	flex: 1 0 auto;
}
.vibo-solutions__title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: 21px;
	line-height: 1.25;
	color: #0E2438;
	margin: 0 0 10px;
}
.vibo-solutions__text {
	font-family: "Onest", -apple-system, sans-serif;
	font-size: 15px;
	line-height: 1.5;
	color: #5C666E;
	margin: 0;
}
.vibo-solutions__button {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 46px;
	margin-top: 20px;
	padding: 0 24px;
	border-radius: 4px;
	background: #D4B98C;
	color: #0E2438;
	font-family: "Onest", -apple-system, sans-serif;
	font-size: 14.5px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .2s;
	box-sizing: border-box;
}
.vibo-solutions__button:hover {
	background: #E2C595;
}
@media (max-width: 560px) {
	.elementor-element-1cf06e5 {
		padding-top: clamp(36px, 8vw, 48px);
		padding-bottom: clamp(36px, 8vw, 48px);
	}
	.vibo-solutions {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.vibo-solutions__card {
		padding: 22px;
	}
}


/* ===========================================================================
 * JOB 09 — „Вече ни се довериха“ на началната страница (2026-09-15, ревизия 4)
 * --------------------------------------------------------------------------
 * Причина за промяната: CSS прозорец с background-position в ревизия 3 отрязваше дясно от Kaufland и Фантастико
 * (прозорецът беше поместен с отстъп, но без съответно увеличаване на рамката, което рязало част от знаците).
 * Сега са подготвени реални отделни копия на изображенията (чрез canvas изрязване на прозрачните полета
 * с малкат безопасен ръб 8px), качени в Media Library. Оригиналните файлове остават запазени.
 * CSS вече не използва background-position изрязване — просто img с width и height:auto (запазва пропорции).
 * Размерите са балансирани по видима площ (не еднаква ширина/височина), BILLA намалена, за да не доминира.
 * =========================================================================== */
.elementor-element-2adefdc {
	background-color: #F4F1E8;
	padding-top: clamp(28px, 3.5vw, 40px);
	padding-bottom: clamp(28px, 3.5vw, 40px);
}
.vibo-partners__wrap {
	max-width: 1180px;
	margin: 0 auto;
	text-align: center;
}
.vibo-partners__heading {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: clamp(22px, 2.6vw, 28px);
	line-height: 1.2;
	color: #0E2438;
	text-transform: none;
	margin: 0 0 24px;
}
.vibo-partners__logos {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	column-gap: 32px;
	row-gap: 20px;
	align-items: center;
}
.vibo-partners__cell {
	min-height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
}
img.vibo-partners__logo {
	display: inline-block;
	height: auto;
	max-width: 100%;
}
img.vibo-partners__logo--metro { width: 189px; }
img.vibo-partners__logo--kaufland { width: 184px; }
img.vibo-partners__logo--billa { width: 140px; }
img.vibo-partners__logo--fantastico { width: 206px; }
img.vibo-partners__logo--tmarket { width: 193px; }
@media (max-width: 560px) {
	.elementor-element-2adefdc { padding-top: clamp(24px, 6vw, 32px); padding-bottom: clamp(24px, 6vw, 32px); }
	.vibo-partners__heading { margin-bottom: 20px; }
	.vibo-partners__logos { grid-template-columns: repeat(2, 1fr); column-gap: 20px; row-gap: 22px; }
	.vibo-partners__cell { min-height: 40px; }
	.vibo-partners__cell:nth-child(5) { grid-column: 1 / span 2; }
	img.vibo-partners__logo--metro { width: 132px; }
	img.vibo-partners__logo--kaufland { width: 128px; }
	img.vibo-partners__logo--billa { width: 97px; }
	img.vibo-partners__logo--fantastico { width: 144px; }
	img.vibo-partners__logo--tmarket { width: 135px; }
}


/* ===========================================================================
 * JOB 19 — Визуална преработка на страница „Контакти“ (/contact/) (2026-09-15, ревизия 2)
 * --------------------------------------------------------------------------
 * Само CSS — формата (Contact Form 7 #1474), картата, адресът/телефоните/
 * имейлът и логиката за получаване на запитванията не са пипани.
 * Селекторите повтарят точно веригата на Elementor per-page CSS
 * (.elementor-42 .elementor-element.elementor-element-XXXX), за да печелят
 * по ред на зареждане при равна специфичност — без нито един нов !important.
 * =========================================================================== */

/* --- Премахване на бялата "карта" със сянка около ред 1 (map + форма) --- */
.elementor-42 .elementor-element.elementor-element-246c1b1 {
	background-color: transparent;
	box-shadow: none;
	border-radius: 0;
	padding: clamp(40px, 5vw, 72px) 0;
}

/* --- Ред 1: размяна на визуалния ред форма/карта (без промяна в DOM-а) --- */
.elementor-42 .elementor-element.elementor-element-97d08c3 {
	order: 1;
}
.elementor-42 .elementor-element.elementor-element-97d08c3 > .elementor-element-populated {
	padding: 0 clamp(24px, 4vw, 56px) 0 0;
}
.elementor-42 .elementor-element.elementor-element-adfcc14 {
	order: 2;
}
.elementor-42 .elementor-element.elementor-element-adfcc14 > .elementor-element-populated {
	padding: 0 0 0 clamp(24px, 4vw, 56px);
}
@media (min-width: 1025px) {
	.elementor-42 .elementor-element.elementor-element-97d08c3 {
		border-right: 1px solid #D8D2C6;
	}
}
@media (max-width: 1024px) {
	.elementor-42 .elementor-element.elementor-element-97d08c3 > .elementor-element-populated,
	.elementor-42 .elementor-element.elementor-element-adfcc14 > .elementor-element-populated {
		padding: 0;
	}
}

/* --- Заглавие „Свържете се с нас“ --- */
.elementor-42 .elementor-element.elementor-element-f8ad3d0 .elementor-heading-title {
	font-family: "Playfair Display", Georgia, serif;
	font-weight: 600;
	font-size: clamp(24px, 2.8vw, 32px);
	line-height: 1.2;
	color: #0E2438;
	text-transform: none;
	letter-spacing: normal;
}
.elementor-42 .elementor-element.elementor-element-f8ad3d0 {
	padding: 0 0 20px;
}

/* --- Полета на формата --- */
.elementor-42 .wpcf7-form .typo-heading {
	font-family: "Onest", system-ui, sans-serif;
	font-weight: 600;
	font-size: 13.5px;
	color: #0E2438;
	text-transform: none;
	letter-spacing: normal;
}
.elementor-42 .wpcf7-form input.wpcf7-form-control,
.elementor-42 .wpcf7-form textarea.wpcf7-form-control {
	font-family: "Onest", system-ui, sans-serif;
	font-size: 16px;
	color: #3F474D;
	background: #FFFFFF;
	border: 1px solid #D8D2C6;
	border-radius: 4px;
	padding: 13px 16px;
	transition: border-color .15s ease, box-shadow .15s ease;
}
.elementor-42 .wpcf7-form input.wpcf7-form-control::placeholder,
.elementor-42 .wpcf7-form textarea.wpcf7-form-control::placeholder {
	/* JOB 25: #8B96A0 на бял фон беше 3.01:1 — под AA 4.5:1. Потъмнено
	   до #6E777F (~4.56:1), без промяна на размер/шрифт. */
	color: #6E777F;
}
.elementor-42 .wpcf7-form input.wpcf7-form-control:focus,
.elementor-42 .wpcf7-form textarea.wpcf7-form-control:focus {
	outline: none;
	border-color: #0E2438;
	box-shadow: 0 0 0 3px rgba(212, 185, 140, .38);
}
.elementor-42 .wpcf7-form input.wpcf7-form-control.wpcf7-not-valid,
.elementor-42 .wpcf7-form textarea.wpcf7-form-control.wpcf7-not-valid {
	border-color: #A32B2B;
	background: rgba(163, 43, 43, .04);
}
.elementor-42 .wpcf7-form .wpcf7-not-valid-tip {
	display: block;
	font-family: "Onest", system-ui, sans-serif;
	font-size: 13px;
	color: #A32B2B;
	margin-top: 6px;
}

/* --- Бутон „Изпрати“ — основен бутон по спецификацията --- */
.elementor-42 .wpcf7-form input.wpcf7-submit {
	font-family: "Onest", system-ui, sans-serif;
	font-weight: 600;
	font-size: 15.5px;
	color: #0E2438;
	background: #D4B98C;
	border: none;
	border-radius: 4px;
	height: 52px;
	padding: 0 30px;
	transition: background-color .15s ease;
}
.elementor-42 .wpcf7-form input.wpcf7-submit:hover {
	background: #E2C595;
}
.elementor-42 .wpcf7-form input.wpcf7-submit:focus-visible {
	outline: 2px solid #E2C595;
	outline-offset: 3px;
}
@media (max-width: 767px) {
	.elementor-42 .wpcf7-form input.wpcf7-submit { height: 48px; }
}

/* --- Съобщения за грешка / потвърждение --- */
/* Родителската тема efway/style.css съдържа .wpcf7 div.wpcf7-response-output
   с position:fixed; inset:auto 0 0; z-index:99999; background:rgba(0,0,0,.5),
   което рисува тъмна лента на дъното на екрана при invalid/sent състояние
   (специфичност 0,2,1). Тук изрично нулираме тези свойства със селектор
   със специфичност 0,3,1 (по-висока от родителската), за да няма нужда
   от !important — вижте JOB19 addendum за пълния корен на проблема. */
.elementor-42 .wpcf7-form div.wpcf7-response-output {
	position: static;
	inset: auto;
	top: auto;
	right: auto;
	bottom: auto;
	left: auto;
	z-index: auto;
	width: auto;
	font-family: "Onest", system-ui, sans-serif;
	font-size: 14.5px;
	line-height: 1.5;
	border: none;
	border-left: 3px solid #D8D2C6;
	background: #F4F1E8;
	color: #3F474D;
	padding: 14px 18px;
	margin: 20px 0 0;
	border-radius: 0 4px 4px 0;
}
.elementor-42 .wpcf7-form.invalid div.wpcf7-response-output,
.elementor-42 .wpcf7-form.unaccepted div.wpcf7-response-output,
.elementor-42 .wpcf7-form.payment-required div.wpcf7-response-output,
.elementor-42 .wpcf7-form div.wpcf7-response-output.wpcf7-validation-errors,
.elementor-42 .wpcf7-form div.wpcf7-response-output.wpcf7-mail-sent-ng,
.elementor-42 .wpcf7-form div.wpcf7-response-output.wpcf7-spam-blocked,
.elementor-42 .wpcf7-form div.wpcf7-response-output.wpcf7-acceptance-missing {
	border-left-color: #A32B2B;
	color: #7A2222;
}
.elementor-42 .wpcf7-form.sent div.wpcf7-response-output,
.elementor-42 .wpcf7-form div.wpcf7-response-output.wpcf7-mail-sent-ok {
	border-left-color: #1F6B4A;
	color: #17513A;
}

/* --- Карта --- */
.elementor-42 .elementor-element.elementor-element-bae5c29 {
	border-radius: 6px;
}
.elementor-42 .elementor-element.elementor-element-bae5c29 .elementor-widget-container {
	border: 1px solid #D8D2C6;
	border-radius: 6px;
	overflow: hidden;
}
.elementor-42 .elementor-element.elementor-element-bae5c29 iframe {
	display: block;
	height: 460px;
}

/* --- Ред 2: адрес / телефон / имейл / работно време --- */
.elementor-42 .elementor-element.elementor-element-cbab528 {
	margin-top: 0;
	margin-bottom: 0;
	background: #E9E4D9;
	padding-top: clamp(32px, 4vw, 48px);
	padding-bottom: clamp(32px, 4vw, 48px);
}
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-icon-box-wrapper {
	text-align: center;
	padding: 0 16px;
}
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-icon-box-icon {
	margin-bottom: 10px;
}
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-icon-box-icon a,
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-icon-box-icon i {
	color: #8A7143;
	font-size: 22px;
}
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-icon-box-content .elementor-icon-box-title,
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-icon-box-content .elementor-icon-box-title a {
	font-family: "Onest", system-ui, sans-serif;
	font-weight: 600;
	font-size: 15px;
	color: #0E2438;
	text-decoration: none;
	margin: 0 0 6px;
}
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-icon-box-content .elementor-icon-box-description {
	font-family: "Onest", system-ui, sans-serif;
	font-size: 14.5px;
	line-height: 1.5;
	color: #5C666E;
	margin: 0;
}
.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-column:not(:first-child) {
	border-left: 1px solid #D8D2C6;
}
@media (max-width: 767px) {
	.elementor-42 .elementor-element.elementor-element-cbab528 > .elementor-container > .elementor-column {
		width: 50%;
		margin-bottom: 24px;
	}
	.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-column:nth-child(odd) {
		border-left: none;
	}
	.elementor-42 .elementor-element.elementor-element-cbab528 .elementor-column:nth-child(even) {
		border-left: 1px solid #D8D2C6;
	}
}

/* --- JOB 20: адаптивно оформление --- */
/* Продуктова страница (единичен продукт): галерията и описанието стоят
   едноколонно от mobile чак до 991px, защото Efway превключва на 2 колони
   едва при min-width:992px (Bootstrap .col-lg-*). Между 768px и 991px
   (таблет и по-тесен лаптор) остава излишно свободно място отстрани на
   голямата снимка. Тук подравняваме прекъсването с останалата част от
   сайта (2 колони вече от 768px), без да пипаме Efway. */
@media (min-width: 768px) {
	.single-product div.type-product .images {
		flex: 0 0 41.6667%;
		max-width: 41.6667%;
	}
	.single-product div.type-product .entry-summary {
		flex: 0 0 58.3333%;
		max-width: 58.3333%;
	}
}


/* --- JOB 20 (продължение): по-удобни за пръст зони за натискане на телефон --- */
/* Линковете във футъра (Начало/Продукти/Новини/Контакти, телефони, имейл) и
   в панела с категории (мобилния филтър) са наследени като редови (inline)
   елементи с реална височина за клик само ~21-22px — под препоръчителните
   ~44px за удобно натискане с пръст. Разширяваме само кликаемата зона
   (padding), без да променяме текста, шрифта или визуалния дизайн. */
@media (max-width: 767px) {
	.vbf__grid a {
		display: inline-block;
		padding: 10px 0;
	}
	.vbnav__list a,
	.vbnav__back {
		display: inline-block;
		padding: 8px 0;
	}
}


/* --- JOB 21: страница 404 (Страницата не е намерена) --- */
.vibo-404 {
	max-width: var(--vb-container-narrow);
	margin: 0 auto;
	padding: var(--vb-space-10) var(--vb-gutter);
	text-align: center;
}
.vibo-404__code {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: clamp(48px, 8vw, 96px);
	color: var(--vb-sand-deep);
	margin: 0 0 var(--vb-space-3);
	line-height: 1;
}
.vibo-404__title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: var(--vb-size-h2);
	color: var(--vb-charcoal);
	margin: 0 0 var(--vb-space-4);
}
.vibo-404__text {
	font-family: var(--vb-font-sans);
	font-size: var(--vb-size-body);
	color: var(--vb-text-dim);
	margin: 0 0 var(--vb-space-7);
}
.vibo-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--vb-space-4);
}
/* .vibo-btn--ghost по подразбиране е за тъмен фон (navy) — тук фонът е
   светъл (cream), затова преоцветяваме само в рамките на тази страница. */
.vibo-404 .vibo-btn--ghost {
	border-color: var(--vb-line);
	color: var(--vb-charcoal);
}
.vibo-404 .vibo-btn--ghost:hover {
	border-color: var(--vb-sand-deep);
	color: var(--vb-sand-deep);
}
@media (max-width: 480px) {
	.vibo-404__actions { flex-direction: column; align-items: stretch; }
}


/* ---------------------------------------------------------------------------
   9. ДОСТЪПНОСТ — JOB 25
   Фиксираният header (144 px десктоп / 72 px прибран, токенът се променя
   по break points-ите по-горе) не трябва да скрива елемента, към който
   отива фокусът — нито при skip link, нито при котва, нито при обикновен
   Tab. scroll-padding-top пази разстояние отгоре при всяко превъртане към
   елемент вместо него да каца точно под ръба на browser viewport-а.
   ------------------------------------------------------------------------ */

html {
	scroll-padding-top: var(--vb-header-total);
}

/* Мост по специфичност срещу Efway — JOB 25.
   ul.products li.product h2 в efway/assets/css/woocommerce.css сменя
   font-size и margin на всеки h2 в продуктова решетка. Откакто заглавието
   на картата стана h2 (за йерархията H1→H2→H3), трябва същата тежест. */
ul.products li.product h2.vibo-product-card__title {
	margin: 0;
	font-size: 15.5px;
}

/* Видим фокус за миниатюрите на продуктовата галерия — JOB 25.
   Efway/WooCommerce нулира outline на всички фокусируеми елементи;
   миниатюрите станаха клавиатурно достъпни чрез functions.php
   (viboEnhanceGalleryThumbs) и им трябва същият видим фокус пръстен,
   използван другаде в темата (--vb-focus). */
.flex-control-thumbs li img:focus-visible {
	outline: 2px solid var(--vb-focus);
	outline-offset: 2px;
}

/* Контраст на мета-реда на статиите (дата, брой коментари) — JOB 25.
   Efway style.css: .entry-meta, .entry-meta .posted-on, .entry-meta a
   е #B0B0B0 (rgb(176,176,176)) на бял фон — 2.17:1, под AA 4.5:1.
   Използваме вече установения основен текст на темата (#626262,
   6.1:1), за да останем визуално последователни. Същата специфичност,
   зарежда се след Efway. */
.entry-meta,
.entry-meta .posted-on,
.entry-meta a {
	color: #626262;
}

/* Контраст на маркова зелена (#8BA73B) като текст — JOB 25.
   Efway (style.css) оцветява текущия елемент в хлебната трохичка и
   категория/марка връзките в продуктовата страница с rgb(139,167,59)
   на бял фон — 2.73:1, под AA 4.5:1. По-тъмен нюанс на същия зелен,
   за да остане маркова разпознаваемост, но да мине 4.5:1 (пресметнато
   ~4.9:1). Без промяна на размер/шрифт/разположение. */
.breadcrumb li .current-item,
.breadcrumb > span .current-item,
.breadcrumb li.current,
.breadcrumb > span.current,
.single-product div.type-product .product_meta .tagged_as a,
.single-product div.type-product .product_meta .posted_in a,
.single-product div.type-product .product_meta .sku {
	color: #64782A;
}


/* JOB (пред-пускови поправки, 2026-09-29): сайтът е чисто каталожен —
   YITH Catalog Mode крие цени/количка от WooCommerce, но иконата на
   количката в долната мобилна лента (.handheld-footer-bar) остава
   видима с брояч "0". Крие се само тя; десктоп версията никога не е
   показвала количка (лентата се показва само под ~768px), затова не е
   нужно отделно desktop правило. WooCommerce страниците (Количка,
   Поръчка, Моят профил) не се трият, само иконата се скрива визуално. */
.handheld-footer-bar li.cart {
	display: none;
}

/* JOB (пред-пускови поправки, 2026-09-29): коментарите под статиите в
   блога са изключени изцяло (WPCode "Completely Disable Comments"), но
   темата продължава да показва брояч "0 коментара" в мета реда на
   всяка карта. Крие се самият брояч; датата на публикация остава. */
.entry-comment {
	display: none;
}


/* ---------------------------------------------------------------------------
   JOB 22 (EN довършване, 2026-10-02, продължение): поправка на вътрешния
   layout на четирите статистически карти под hero-то.

   Причина: всяка карта (icon + заглавие + описание) е Elementor container
   с --flex-direction: row и --flex-wrap: wrap (генерирано от Elementor,
   post-2569.css) - т.е. трите елемента (икона/заглавие/описание) се
   подреждат като "инлайн" елементи, които се пренасят на нов ред, когато
   не се събират на текущия - вместо да бъдат подредени вертикално в
   колона. На desktop (широки карти) иконата и заглавието се събират на
   един ред, а описанието пада на втори - резултатът зависи от дължината
   на текста във всяка карта, затова четирите карти не бяха подравнени
   еднакво (при картата без описание нямаше какво да "падне" на втори ред).
   На mobile случайно изглеждаше наред, защото тесните карти карат всеки
   елемент да се пренесе на собствен ред и без промяна - но е същият крехък
   механизъм, не истинска вертикална подредба.

   Поправка: --flex-direction: column вместо row, --flex-wrap: nowrap,
   --align-items: flex-start (ляво подравняване, без разтягане на иконата).
   Сега иконата винаги е първа, заглавието винаги второ (директно под
   иконата, независимо от липсващо описание), описанието - трето. Еднакво
   на всички ширини, включително mobile. Нищо в текста на картите не е
   променяно.

   Връщане назад: изтрий блока от тук до "END JOB 22 stat cards column
   fix". */
.elementor-2569 .elementor-element.elementor-element-92ff317,
.elementor-2569 .elementor-element.elementor-element-5af2af0,
.elementor-2569 .elementor-element.elementor-element-983fbad,
.elementor-2569 .elementor-element.elementor-element-1dd2442 {
	--flex-direction: column;
	--flex-wrap: nowrap;
	--align-items: flex-start;
}
/* END JOB 22 stat cards column fix */

/* ---------------------------------------------------------------------------
   JOB 22 (EN довършване, 2026-10-02, финална версия): статистическият
   блок под hero-то вече НЕ застъпва hero секцията декоративно. Стои
   изцяло в нормалния поток на страницата, след hero-то, с нормално
   вертикално отстояние преди и след себе си - като всяка друга секция.

   Тази версия ЗАМЕНЯ изцяло предишния опит (отрицателен margin-top,
   първо -230/-120/-40 от Elementor, после намален на -90/-40 от нас) -
   старото правило е изтрито, не е оставено редом с новото.

   Какво прави:
   - Нулира --margin-top/--margin-bottom (променливите, през които Elementor
     изчислява margin-block-start/end за този container) на ВСИЧКИ ширини -
     без media query, затова важи еднакво за desktop, tablet и mobile.
   - Допълнително задава margin-top/margin-bottom директно (по-висока
     специфичност и по-късно зареждане от генерираните от Elementor
     правила, затова печели) - гарантира нормално, положително разстояние
     преди и след блока, вместо застъпване. Стойността е responsive
     (clamp), в същия общ диапазон като padding-top/bottom на другите
     секции на страницата (виждано между ~60px и ~96px другаде).
   - Лявата/дясната граница на контейнера не са пипани тук - вече съвпадат
     точно с контейнера на "Категории" и останалите секции (проверено).

   Връщане назад: изтрий целия блок от тук до "END JOB 22 hero stats
   spacing final". */
.elementor-2569 .elementor-element.elementor-element-87c8061 {
	--margin-top: 0px;
	--margin-bottom: 0px;
	margin-top: clamp(40px, 6vw, 96px);
	margin-bottom: clamp(40px, 6vw, 96px);
}
/* END JOB 22 hero stats spacing final */

/* ===========================================================================
 * JOB 26 — Типография: Playfair Display + Onest (2026-10-05)
 * ---------------------------------------------------------------------------
 * Одобрено от собственика след визуален пример преди/след.
 *
 * Стъпка 1 (над този блок): 64 HTML ентитита за кавички (amp-quot) във файла (повреда от запис
 * около 14.09) са заменени с нормални кавички. С това отново работят
 * шрифтовите токени, фокус пръстенът [class*="vibo-"]:focus-visible,
 * prefers-reduced-motion блокът и пясъчната черта под активното меню.
 *
 * Стъпка 2 (този блок): Efway, inline стиловете на Efway и Elementor kit-а
 * задават Poppins (без кирилица → кирилицата падаше на Segoe UI). Тук
 * системата на Vibo се налага навсякъде:
 *   Playfair Display — hero, заглавия на секции (Elementor heading),
 *     заглавия на страници, заглавия на категорийни и новинарски карти,
 *     числата в статистиките;
 *   Onest — текст, навигация, бутони, дати/броячи/мета, breadcrumbs,
 *     продуктови имена, форми, филтри, страничното меню с категории, футър.
 * Числата: lining-nums навсякъде (без „старинни“ цифри на Playfair),
 * tabular-nums за броячи, дати и статистики.
 *
 * Специфичност „html body …“ вместо !important — печели срещу inline
 * стиловете на Efway и файловете, заредени след vibo-style.
 * Rollback: изтриване на блока до „END JOB 26 typography“.
 * ======================================================================== */

/* 1. Глобалните шрифтове на Elementor kit-а. */
.elementor-kit-14 {
	--e-global-typography-primary-font-family: "Playfair Display";
	--e-global-typography-secondary-font-family: "Playfair Display";
	--e-global-typography-text-font-family: "Onest";
	--e-global-typography-accent-font-family: "Onest";
}

/* 2. Основен текст и интерфейс — Onest. */
html body {
	font-family: var(--vb-font-sans);
	font-variant-numeric: lining-nums;
}

html body button,
html body input,
html body optgroup,
html body select,
html body textarea,
html body .typo-heading,
html body .typo-tertiary,
html body .typo-quaternary,
html body .button-default,
html body .button-outline,
html body .button-primary,
html body .elementor-button,
html body .breadcrumb,
html body .entry-meta,
html body .cat-links,
html body .filter-toggle,
html body .woocommerce-ordering select,
html body .woocommerce-result-count,
html body .vbnav,
html body .vbf {
	font-family: var(--vb-font-sans);
}

/* 3. Заглавия — Playfair Display. */
html body .elementor-widget-heading .elementor-heading-title,
html body #page-title-bar .page-title,
html body .entry-title,
html body .entry-title a,
html body .vibo-home-cats__title,
html body .vibo-catalog__cats li.product-category .woocommerce-loop-category__title {
	font-family: var(--vb-font-display);
	font-variant-numeric: lining-nums proportional-nums;
}

/* 4. Числа: равни цифри за броячи, дати и статистики. */
html body .elementor-element-166e052 .elementor-heading-title,
html body .entry-meta,
html body .posted-on,
html body time,
html body .vibo-home-cats__meta,
html body .woocommerce-loop-category__title .count,
html body .woocommerce-result-count,
html body .woocommerce-pagination .page-numbers,
html body .vibo-drawer__contacts a {
	font-variant-numeric: lining-nums tabular-nums;
}

/* 5. Останалите Poppins селектори на Efway (бутони, връзки „Прочети“,
      табове, цени, етикети) → Onest. Списъкът е взет от реално
      прочетените правила на Efway/Efway Core на 05.10.2026. */
html body .more-link,
html body .button-secondary,
html body .button-outline-primary,
html body .button-outline-secondary,
html body button[type="submit"],
html body input[type="button"],
html body input[type="reset"],
html body input[type="submit"],
html body .main-navigation,
html body .elementor-nav-menu--main,
html body .elementor-nav-menu--dropdown,
html body .elementor-nav-menu--canvas,
html body .elementor-widget-opal-product-categories .cats-title,
html body .scrollup,
html body .site-title,
html body .widget_recent_entries li.item-recent-post a,
html body .widget_tag_cloud a,
html body .cat-tags-links .tags-title,
html body .comment-body .fn,
html body .author-wrapper .author-name,
html body .contactform-content .form-title,
html body .pbr-social-share .social-share-header,
html body .single-product div.type-product .pbr-social-share .social-share-header,
html body .woocommerce-tabs ul.tabs li a,
html body .stock .label,
html body ul.products li.product .price,
html body .single-product div.type-product .summary .price,
html body .woo-variation-swatches .variable-items-wrapper .button-variable-item:not(.radio-variable-item) {
	font-family: var(--vb-font-sans);
}

/* 6. Заглавията h1–h6 на Efway → Playfair Display. Класовите правила
      (продуктови карти, футър, бутони) печелят по специфичност и
      остават Onest. */
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .h1,
html body .h2,
html body .h3,
html body .h4,
html body .h5,
html body .h6,
html body .page-header .page-title,
html body .error404 .error-404 .error-title,
html body #secondary .elementor-widget-container h5:first-of-type {
	font-family: var(--vb-font-display);
	font-variant-numeric: lining-nums proportional-nums;
}

/* Футърът използва h3 като малки етикети („НАВИГАЦИЯ“) — остават Onest. */
html body .vbf h1,
html body .vbf h2,
html body .vbf h3,
html body .vbf h4,
html body .vbf h5,
html body .vbf h6 {
	font-family: var(--vb-font-sans);
}

/* 7. Статистиките на телефон: Playfair е по-широк от Poppins и при 30 px
      думите „продукта“ и „държави,“ се пречупваха по средата (карта
      ~133 px). По-малък размер само под 768 px, без пречупване на думи. */
@media (max-width: 767px) {
	html body .elementor-element-166e052 .elementor-heading-title {
		font-size: 24px;
		line-height: 1.18;
		overflow-wrap: normal;
	}
}
@media (max-width: 380px) {
	html body .elementor-element-166e052 .elementor-heading-title {
		font-size: 22px;
	}
}
/* END JOB 26 typography */


/* ===========================================================================
 * JOB 26 фаза 2 — Навигация (2026-10-06)
 * ---------------------------------------------------------------------------
 * 1. Меню „Продукти“ (desktop ≥ 1181 px): компактен панел в две колони,
 *    центриран под пункта, никога по-висок от екрана. Редът идва от
 *    vibo_product_cat_order() във functions.php (1–8 вляво, 9–15 вдясно).
 *    Клавиатурата, Escape, focus и aria-expanded остават от header JS.
 * 2. Страничното меню с категории [vibo_cat_nav] (desktop ≥ 1200 px).
 * 3. Мобилен акордеон над продуктите (< 1200 px) + скрит бутон „Филтри“
 *    в категориите (страничното меню вече е над продуктите).
 * Rollback: изтриване на блока до „END JOB 26 faza 2 nav“.
 * ======================================================================== */

/* 1. Меню „Продукти“ — две колони. */
@media (min-width: 1181px) {
	html body .vibo-nav__list > li.vibo-menu-products > .sub-menu {
		left: 50%;
		width: 500px;
		max-width: calc(100vw - 48px);
		max-height: calc(100vh - var(--vb-header-total) - 24px);
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: var(--vb-space-3);
		columns: 2;
		column-gap: var(--vb-space-2);
		transform: translate(-50%, -6px);
	}

	html body .vibo-nav__list > li.vibo-menu-products:hover > .sub-menu,
	html body .vibo-nav__list > li.vibo-menu-products.has-focus > .sub-menu,
	html body .vibo-nav__list > li.vibo-menu-products.is-open > .sub-menu {
		transform: translate(-50%, 0);
	}

	html body .vibo-nav__list > li.vibo-menu-products > .sub-menu > li {
		break-inside: avoid;
	}

	html body .vibo-nav__list > li.vibo-menu-products > .sub-menu a {
		padding: 9px 12px;
		font-weight: 500;
	}
}

/* 2. Странично меню с категории. */
html body .vibo-catnav {
	font-family: var(--vb-font-sans);
}

/* Бялата карта идва от уиджета на Efway — тук без втора рамка. */
html body .vibo-catnav--side {
	margin: 0;
	padding: 0;
}

html body .vibo-catnav__back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 44px;
	padding: 0 var(--vb-space-1);
	font-size: 14.5px;
	font-weight: 500;
	color: var(--vb-steel-text);
	text-decoration: none;
	border-radius: var(--vb-radius-2);
}

html body .vibo-catnav__back:hover {
	color: var(--vb-navy-800);
	text-decoration: underline;
	text-underline-offset: 3px;
}

html body .vibo-catnav__title {
	margin: var(--vb-space-1) var(--vb-space-1) var(--vb-space-3);
	font-family: var(--vb-font-display);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
	color: var(--vb-navy-800);
	text-transform: none;
	letter-spacing: 0;
}

html body .vibo-catnav__list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

html body .vibo-catnav__item {
	margin: 0;
	padding: 0;
	border: 0;
}

html body .vibo-catnav__link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--vb-space-3);
	min-height: 44px;
	padding: 10px 12px 10px 13px;
	font-size: 15.5px;
	font-weight: 500;
	line-height: 1.3;
	color: var(--vb-navy-800);
	text-decoration: none;
	border-left: 3px solid transparent;
	border-radius: var(--vb-radius-2);
	transition: background-color var(--vb-fast) var(--vb-ease),
	            color var(--vb-fast) var(--vb-ease);
}

html body .vibo-catnav__link:hover {
	background: var(--vb-stone);
	color: var(--vb-navy-900);
}

html body .vibo-catnav__back:focus-visible,
html body .vibo-catnav__link:focus-visible {
	outline: 2px solid var(--vb-sand-deep);
	outline-offset: 2px;
}

html body .vibo-catnav__item.is-active > .vibo-catnav__link {
	background: var(--vb-navy-800);
	color: var(--vb-cream);
	border-left-color: var(--vb-sand);
}

html body .vibo-catnav__count {
	flex: 0 0 auto;
	min-width: 30px;
	padding: 2px 8px;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.5;
	text-align: center;
	color: var(--vb-text-dim);
	background: var(--vb-cream);
	border-radius: 999px;
	font-variant-numeric: lining-nums tabular-nums;
}

html body .vibo-catnav__item.is-active .vibo-catnav__count {
	color: var(--vb-on-dark);
	background: rgba(var(--vb-cream-rgb), .14);
}

/* 3. Мобилен акордеон над продуктите. */
html body .vibo-catnav-m {
	display: none;
}

@media (max-width: 1199px) {
	html body .vibo-catnav-m {
		display: block;
		margin: 0 0 var(--vb-space-5);
		background: #FFFFFF;
		border: 1px solid var(--vb-line);
		border-radius: var(--vb-radius-3);
	}

	html body .vibo-catnav-m__summary {
		display: flex;
		align-items: center;
		gap: var(--vb-space-2);
		min-height: 52px;
		padding: var(--vb-space-3) var(--vb-space-4);
		font-family: var(--vb-font-sans);
		font-size: 16px;
		font-weight: 600;
		color: var(--vb-navy-800);
		list-style: none;
		cursor: pointer;
		border-radius: var(--vb-radius-3);
	}

	html body .vibo-catnav-m__summary::-webkit-details-marker {
		display: none;
	}

	html body .vibo-catnav-m__summary:focus-visible {
		outline: 2px solid var(--vb-sand-deep);
		outline-offset: 2px;
	}

	html body .vibo-catnav-m__n {
		font-weight: 500;
		color: var(--vb-text-dim);
		font-variant-numeric: lining-nums tabular-nums;
	}

	html body .vibo-catnav-m__chev {
		width: 18px;
		height: 18px;
		margin-left: auto;
		color: var(--vb-text-dim);
		transition: transform var(--vb-fast) var(--vb-ease);
	}

	html body .vibo-catnav-m[open] .vibo-catnav-m__chev {
		transform: rotate(180deg);
	}

	html body .vibo-catnav--m {
		padding: var(--vb-space-1) var(--vb-space-3) var(--vb-space-3);
		border-top: 1px solid var(--vb-line);
	}

	html body .vibo-catnav--m .vibo-catnav__back {
		margin: var(--vb-space-1) 0;
	}

	/* В категориите менюто е над продуктите — off-canvas „Филтри“ не е нужен. */
	html body.tax-product_cat .filter-toggle {
		display: none;
	}
}

/* 4. 992–1199 px: Efway крие страничната колона (woocommerce.css), но
      style.css на Efway оставя #primary на calc(100% - 360px) → празна
      дясна третина. Съдържанието взима цялата ширина, както е замислено. */
@media (min-width: 992px) and (max-width: 1199px) {
	html body.opal-woocommerce-archive-style-default.opal-content-layout-2cl #primary,
	html body.opal-woocommerce-archive-style-default.opal-content-layout-2cr #primary {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body .vibo-catnav__link,
	html body .vibo-catnav-m__chev {
		transition: none;
	}
}
/* END JOB 26 faza 2 nav */


/* ===========================================================================
 * JOB 26 фаза 3 — Начална страница: ритъм, статистики, категории (2026-10-06)
 * ---------------------------------------------------------------------------
 * Ритъм: hero (navy) → статистики (cream) → категории (бяло) → Vibo Ltd.
 * (navy). Секциите са от край до край чрез box-shadow + clip-path (не
 * създават хоризонтален скрол), съдържанието е до 1320 px, без отрицателни
 * margin-и и без застъпване. Hero съдържанието не е пипано.
 * Заменя по стойност JOB 04 (разделители между колоните), JOB 05
 * (решетка 3×2, снимки 4:3) и JOB 22 (margin на #87c8061) — старите
 * правила остават във файла, тук печелят по специфичност.
 * Rollback: изтриване на блока до „END JOB 26 faza 3 home“.
 * ======================================================================== */

/* --- 1. Общ ритъм ---------------------------------------------------- */
html body.home #content.site-content {
	padding-top: 0;
}

html body.home .elementor-2569 > .elementor-element.elementor-element-87c8061 {
	--margin-top: 0px;
	--margin-bottom: 0px;
	margin-top: 0;
	margin-bottom: 0;
	padding: clamp(48px, 6vw, 80px) 0;
	background: var(--vb-cream);
	box-shadow: 0 0 0 100vmax var(--vb-cream);
	clip-path: inset(0 -100vmax);
}

html body.home .elementor-2569 > .elementor-element.elementor-element-61fc064a {
	margin-top: 0;
	margin-bottom: 0;
	padding: clamp(56px, 6.5vw, 96px) 0;
	background: #FFFFFF;
	box-shadow: 0 0 0 100vmax #FFFFFF;
	clip-path: inset(0 -100vmax);
}

html body.home .elementor-element-61fc064a > .elementor-container {
	max-width: 1320px;
	margin-inline: auto;
}

html body.home .elementor-element-61fc064a [data-id="4508d043"] {
	margin-bottom: clamp(20px, 2.4vw, 32px);
}

html body.home .elementor-element-61fc064a [data-id="4508d043"] .elementor-heading-title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: clamp(28px, 3vw, 36px);
	line-height: 1.16;
	letter-spacing: -.012em;
	color: var(--vb-navy-800);
	text-transform: none;
	text-align: left;
}

/* Старият бутон „Вижте всички категории“ дублира новата CTA плочка. */
html body.home .elementor-element-61fc064a .elementor-element-62873cc {
	display: none;
}

/* --- 2. Статистики --------------------------------------------------- */
html body.home .elementor-2569 .elementor-element.elementor-element-166e052 {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 24px;
	width: 100%;
	max-width: 1320px;
	margin-inline: auto;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 0;
	overflow: visible;
}

html body.home .elementor-2569 .elementor-element.elementor-element-166e052 > .elementor-element {
	--flex-direction: column;
	--flex-wrap: nowrap;
	--align-items: flex-start;
	--justify-content: flex-start;
	--gap: 0px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
	width: auto;
	height: 100%;
	min-width: 0;
	margin: 0;
	padding: 32px 28px 30px;
	background: var(--vb-navy-800);
	border: 1px solid rgba(var(--vb-cream-rgb), .10);
	border-top: 2px solid var(--vb-sand);
	border-radius: var(--vb-radius-3);
	box-shadow: 0 10px 28px rgba(var(--vb-navy-900-rgb), .10);
}

html body.home .elementor-element-166e052 .elementor-widget-icon {
	margin: 0 0 22px;
}

html body.home .elementor-element-166e052 .elementor-widget-icon > .elementor-widget-container {
	padding: 0;
}

html body.home .elementor-element-166e052 .elementor-widget-icon .elementor-icon-wrapper {
	display: flex;
}

html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	font-size: 26px;
	background: rgba(212, 185, 140, .14);
	border-radius: var(--vb-radius-3);
}

html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon svg {
	width: 26px;
	height: 26px;
	fill: var(--vb-sand);
	color: var(--vb-sand);
}

html body.home .elementor-element-166e052 .elementor-widget-heading,
html body.home .elementor-element-166e052 .elementor-widget-text-editor {
	width: 100%;
	margin: 0;
}

/* Без JS: целият текст на заглавието (числото + етикетът) в Playfair. */
html body.home .elementor-element-166e052 .elementor-heading-title {
	margin: 0;
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: clamp(24px, 2.1vw, 30px);
	line-height: 1.16;
	color: var(--vb-on-dark);
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	font-variant-numeric: lining-nums tabular-nums;
}

/* С JS: числото е отделено — голямо; етикетът — по-малък, на нов ред. */
html body.home .elementor-element-166e052 .vibo-stat--split br {
	display: none;
}

html body.home .elementor-element-166e052 .vibo-stat__num {
	display: block;
	width: max-content;
	font-size: clamp(38px, 3.4vw, 50px);
	line-height: 1.04;
	letter-spacing: -.01em;
	white-space: nowrap;
}

html body.home .elementor-element-166e052 .vibo-stat__label {
	display: block;
	margin-top: 8px;
	font-size: clamp(18px, 1.45vw, 21px);
	line-height: 1.25;
}

html body.home .elementor-element-166e052 .elementor-widget-text-editor {
	margin-top: 12px;
}

html body.home .elementor-element-166e052 .elementor-text-editor p,
html body.home .elementor-element-166e052 .elementor-widget-text-editor p {
	margin: 0;
	font-family: var(--vb-font-sans);
	font-size: 14.5px;
	line-height: 1.55;
	color: var(--vb-on-dark-dim);
}

/* --- 3. Категории ---------------------------------------------------- */
html body .vibo-home-cats--v2 .vibo-home-cats__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

html body .vibo-home-cats--v2 .vibo-home-cats__item {
	display: flex;
	margin: 0;
	padding: 0;
	min-width: 0;
}

html body .vibo-home-cats--v2 .vibo-home-cats__card {
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #FFFFFF;
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-3);
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform var(--vb-fast) var(--vb-ease),
	            border-color var(--vb-fast) var(--vb-ease),
	            box-shadow var(--vb-fast) var(--vb-ease);
}

html body .vibo-home-cats--v2 .vibo-home-cats__card:hover {
	transform: translateY(-2px);
	border-color: var(--vb-steel);
	box-shadow: 0 8px 22px rgba(var(--vb-navy-900-rgb), .08);
}

html body .vibo-home-cats--v2 .vibo-home-cats__card:focus-visible,
html body .vibo-home-cats--v2 .vibo-home-cats__cta:focus-visible {
	outline: 2px solid var(--vb-sand-deep);
	outline-offset: 3px;
	border-radius: var(--vb-radius-3);
}

html body .vibo-home-cats--v2 .vibo-home-cats__img {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 150px;
	aspect-ratio: auto;
	padding: 14px;
	background: var(--vb-stone);
}

html body .vibo-home-cats--v2 .vibo-home-cats__img img {
	display: block;
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 122px;
	object-fit: contain;
	transition: transform var(--vb-slow) var(--vb-ease);
}

html body .vibo-home-cats--v2 .vibo-home-cats__card:hover .vibo-home-cats__img img {
	transform: scale(1.03);
}

html body .vibo-home-cats--v2 .vibo-home-cats__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 4px;
	padding: 14px 16px 16px;
}

html body .vibo-home-cats--v2 .vibo-home-cats__title {
	display: block;
	min-height: 2.5em;
	margin: 0;
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: 17px;
	line-height: 1.25;
	color: var(--vb-navy-800);
	overflow-wrap: normal;
}

html body .vibo-home-cats--v2 .vibo-home-cats__meta {
	display: block;
	margin-top: auto;
	font-family: var(--vb-font-sans);
	font-size: 13.5px;
	color: var(--vb-text-dim);
	font-variant-numeric: lining-nums tabular-nums;
}

html body .vibo-home-cats--v2 .vibo-home-cats__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 96px;
	padding: 20px;
	background: var(--vb-navy-800);
	border: 1px solid var(--vb-navy-800);
	border-radius: var(--vb-radius-3);
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: 16px;
	line-height: 1.3;
	color: var(--vb-cream);
	text-align: center;
	text-decoration: none;
	transition: background-color var(--vb-fast) var(--vb-ease);
}

html body .vibo-home-cats--v2 .vibo-home-cats__cta:hover {
	background: var(--vb-navy-600);
	color: #FFFFFF;
}

html body .vibo-home-cats--v2 .vibo-home-cats__arrow {
	color: var(--vb-sand);
	transition: transform var(--vb-fast) var(--vb-ease);
}

html body .vibo-home-cats--v2 .vibo-home-cats__cta:hover .vibo-home-cats__arrow {
	transform: translateX(3px);
}

/* --- 4. Точки на пречупване ------------------------------------------ */
@media (max-width: 1199px) {
	html body .vibo-home-cats--v2 .vibo-home-cats__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	/* 15 категории = 5 пълни реда; CTA плочката — цял ред отдолу. */
	html body .vibo-home-cats--v2 .vibo-home-cats__item--cta {
		grid-column: 1 / -1;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__cta {
		min-height: 64px;
	}
}

@media (max-width: 1024px) {
	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 > .elementor-element {
		padding: 26px 22px 24px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__img {
		height: 136px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__img img {
		max-height: 108px;
	}
}

@media (max-width: 767px) {
	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 {
		gap: 12px;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 > .elementor-element {
		padding: 20px 16px 18px;
	}

	html body.home .elementor-element-166e052 .elementor-widget-icon {
		margin-bottom: 14px;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon {
		width: 44px;
		height: 44px;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon svg {
		width: 22px;
		height: 22px;
	}

	html body.home .elementor-element-166e052 .elementor-heading-title {
		font-size: 21px;
		line-height: 1.18;
	}

	html body.home .elementor-element-166e052 .vibo-stat__num {
		font-size: 32px;
	}

	html body.home .elementor-element-166e052 .vibo-stat__label {
		margin-top: 6px;
		font-size: 16px;
	}

	html body.home .elementor-element-166e052 .elementor-text-editor p,
	html body.home .elementor-element-166e052 .elementor-widget-text-editor p {
		font-size: 13.5px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__item--cta {
		grid-column: auto;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__img {
		height: 112px;
		padding: 10px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__img img {
		max-height: 92px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__body {
		padding: 12px 12px 14px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__title {
		font-size: 15.5px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__meta {
		font-size: 13px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__cta {
		min-height: 100%;
		padding: 16px 12px;
		font-size: 15px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body .vibo-home-cats--v2 .vibo-home-cats__card,
	html body .vibo-home-cats--v2 .vibo-home-cats__img img,
	html body .vibo-home-cats--v2 .vibo-home-cats__arrow {
		transition: none;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__card:hover,
	html body .vibo-home-cats--v2 .vibo-home-cats__card:hover .vibo-home-cats__img img {
		transform: none;
	}
}

/* --- 5. Таблет 768–1024 px: по-компактни карти (JOB 26 ф.3, доп.) ------
 * Статистики: иконата вляво от текста → карта ~155 px вместо ~250 px.
 * Категории: по-ниска зона за снимката. Описанията без „сираци“. */
html body.home .elementor-element-166e052 .elementor-widget-text-editor p {
	text-wrap: pretty;
}

@media (min-width: 768px) and (max-width: 1024px) {
	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 > .elementor-element {
		display: grid;
		grid-template-columns: 52px minmax(0, 1fr);
		grid-auto-rows: auto;
		column-gap: 20px;
		align-content: start;
		align-items: start;
		padding: 24px 24px 22px;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 > .elementor-element > .elementor-widget-icon {
		grid-column: 1;
		grid-row: 1 / span 2;
		margin: 4px 0 0;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 > .elementor-element > .elementor-widget:not(.elementor-widget-icon) {
		grid-column: 2;
		width: 100%;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon {
		width: 52px;
		height: 52px;
	}

	html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon svg {
		width: 24px;
		height: 24px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__img {
		height: 120px;
	}

	html body .vibo-home-cats--v2 .vibo-home-cats__img img {
		max-height: 96px;
	}
}
/* END JOB 26 faza 3 home */


/* ===========================================================================
 * JOB 26 фаза 4 — Начална страница: „Новини и блог“ и „Вече ни се довериха“
 * (2026-10-06)
 * ---------------------------------------------------------------------------
 * Ритъм: … „Решения за вашия бизнес“ → Новини (cream) → Партньори (бяло) →
 * footer (navy). Съдържание до 1320 px, без отрицателни margin-и. Фоновете
 * са от край до край чрез box-shadow + clip-path (без хоризонтален скрол).
 * Новини: Opal Post Grid е стилизиран само тук (без parent/plugin файлове).
 * Синият <font color> в заглавието се неутрализира с CSS (color: inherit) —
 * HTML-ът и текстът, който TranslatePress разпознава, остават същите.
 * Rollback: изтриване на блока до „END JOB 26 faza 4 home“.
 * ======================================================================== */

/* --- 1. Ритъм и фон ---------------------------------------------------- */
html body.home #content.site-content {
	padding-bottom: 0;
}

html body.home .elementor-2569 > .elementor-element.elementor-element-26c38886 {
	margin-top: 0;
	margin-bottom: 0;
	padding: clamp(56px, 6.5vw, 96px) 0;
	background: var(--vb-cream);
	box-shadow: 0 0 0 100vmax var(--vb-cream);
	clip-path: inset(0 -100vmax);
}

html body.home .elementor-element-26c38886 > .elementor-container {
	max-width: 1320px;
	margin-inline: auto;
}

html body.home .elementor-2569 > .elementor-element.elementor-element-2adefdc {
	margin-top: 0;
	margin-bottom: 0;
	padding: clamp(36px, 4vw, 56px) 0;
	background: #FFFFFF;
	box-shadow: 0 0 0 100vmax #FFFFFF;
	clip-path: inset(0 -100vmax);
}

/* --- 2. Заглавие „Новини и блог“ ------------------------------------- */
html body.home .elementor-element-26c38886 .elementor-element-1140177b {
	margin-bottom: clamp(20px, 2.4vw, 32px);
}

html body.home .elementor-element-26c38886 .elementor-element-1140177b .elementor-heading-title {
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: clamp(28px, 3vw, 36px);
	line-height: 1.16;
	letter-spacing: -.012em;
	color: var(--vb-navy-800);
	text-align: left;
	/* Изходният текст е „Новини И БЛОГ“ / „News AND BLOG“ — показваме го
	 * в изречение („Новини и блог“), без да пипаме самия текст. */
	text-transform: lowercase;
}

html body.home .elementor-element-26c38886 .elementor-element-1140177b .elementor-heading-title::first-letter {
	text-transform: uppercase;
}

html body.home .elementor-element-26c38886 .elementor-element-1140177b .elementor-heading-title font,
html body.home .elementor-element-26c38886 .elementor-element-1140177b .elementor-heading-title span {
	color: inherit;
	caret-color: auto;
}

/* Декоративната линия под заглавието — категориите вече нямат такава. */
html body.home .elementor-element-26c38886 .elementor-element-4ef66663 {
	display: none;
}

/* --- 3. Мрежа от карти ------------------------------------------------- */
html body.home .elementor-element-64dd4f55 .elementor-post-wrapper .row {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
	margin: 0;
}

html body.home .elementor-element-64dd4f55 .elementor-post-wrapper .row > .column-item {
	display: flex;
	flex: none;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}

html body.home .elementor-element-64dd4f55 .post-inner {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	margin: 0;
	background: #FFFFFF;
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-3);
	box-shadow: none;
	overflow: hidden;
	transition: transform var(--vb-fast) var(--vb-ease),
	            border-color var(--vb-fast) var(--vb-ease),
	            box-shadow var(--vb-fast) var(--vb-ease);
}

html body.home .elementor-element-64dd4f55 .post-inner:hover {
	transform: translateY(-2px);
	border-color: var(--vb-steel);
	box-shadow: 0 8px 22px rgba(var(--vb-navy-900-rgb), .08);
}

html body.home .elementor-element-64dd4f55 .post-inner:focus-within {
	border-color: var(--vb-steel);
}

/* Снимка: еднакво 16:10, object-fit: cover. */
html body.home .elementor-element-64dd4f55 .post-thumbnail {
	position: relative;
	flex: none;
	height: auto;
	aspect-ratio: 16 / 10;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background: var(--vb-stone);
}

html body.home .elementor-element-64dd4f55 .post-thumbnail > a {
	position: absolute;
	inset: 0;
	display: block;
}

html body.home .elementor-element-64dd4f55 .post-thumbnail img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform var(--vb-slow) var(--vb-ease);
}

html body.home .elementor-element-64dd4f55 .post-inner:hover .post-thumbnail img {
	transform: scale(1.03);
}

/* Съдържание: рубрика · дата → заглавие (≤3 реда) → откъс (≤3 реда) →
 * „Прочети →“ винаги на една и съща височина долу. */
html body.home .elementor-element-64dd4f55 .post-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 18px 20px 60px;
	background: transparent;
	border-radius: 0;
}

html body.home .elementor-element-64dd4f55 .entry-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	column-gap: 8px;
	row-gap: 8px;
	margin: 0 0 10px;
}

html body.home .elementor-element-64dd4f55 .cat-links {
	order: 0;
	margin: 0;
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: 13px;
	line-height: 1.3;
}

html body.home .elementor-element-64dd4f55 .cat-links a {
	color: var(--vb-sand-deep);
	text-decoration: none;
}

html body.home .elementor-element-64dd4f55 .cat-links a:hover {
	color: var(--vb-navy-800);
}

html body.home .elementor-element-64dd4f55 .entry-meta {
	order: 1;
	margin: 0;
	font-family: var(--vb-font-sans);
	font-size: 13px;
	line-height: 1.3;
	color: var(--vb-text-dim);
	font-variant-numeric: lining-nums tabular-nums;
}

html body.home .elementor-element-64dd4f55 .entry-meta::before {
	content: "·";
	content: "·" / "";
	margin-right: 8px;
	color: var(--vb-text-dim);
}

html body.home .elementor-element-64dd4f55 .entry-meta .meta-inner {
	display: inline;
	margin: 0;
}

html body.home .elementor-element-64dd4f55 .entry-meta .posted-on {
	padding: 0;
}

html body.home .elementor-element-64dd4f55 .entry-meta .posted-on i,
html body.home .elementor-element-64dd4f55 .entry-meta .entry-comment,
html body.home .elementor-element-64dd4f55 .entry-meta time.updated:not(.published) {
	display: none;
}

html body.home .elementor-element-64dd4f55 .entry-meta a {
	color: inherit;
	text-decoration: none;
}

html body.home .elementor-element-64dd4f55 .entry-title {
	order: 2;
	flex: 0 0 100%;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	min-height: 3.9em;
	margin: 0;
	overflow: hidden;
	font-family: var(--vb-font-display);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.3;
	color: var(--vb-navy-800);
	text-transform: none;
	letter-spacing: 0;
}

html body.home .elementor-element-64dd4f55 .entry-title a {
	color: inherit;
	text-decoration: none;
	background-image: none;
}

html body.home .elementor-element-64dd4f55 .entry-title a:hover {
	color: var(--vb-navy-600);
}

html body.home .elementor-element-64dd4f55 .entry-content {
	display: block;
	/* 3 реда × line-height 1.6. Без line-clamp: той добавя второ „…“ към
	 * откъса, който вече завършва с „…“. */
	max-height: 4.8em;
	margin: 0;
	overflow: hidden;
	font-family: var(--vb-font-sans);
	font-size: 14.5px;
	line-height: 1.6;
	color: var(--vb-text-dim);
}

/* „Прочети →“ — закрепено в долния ляв ъгъл на картата. Блокът е извън
 * потока, затова не се реже от ограничението на откъса до 3 реда. */
html body.home .elementor-element-64dd4f55 .more-link-wrap {
	position: absolute;
	left: 20px;
	bottom: 18px;
	margin: 0;
	line-height: 1.3;
}

html body.home .elementor-element-64dd4f55 .more-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 0;
	border: 0;
	border-radius: 0;
	background: none;
	font-family: var(--vb-font-sans);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	color: var(--vb-navy-800);
	text-decoration: none;
	box-shadow: none;
}

html body.home .elementor-element-64dd4f55 .more-link::after {
	content: "→";
	content: "→" / "";
	color: var(--vb-sand-deep);
	transition: transform var(--vb-fast) var(--vb-ease);
}

html body.home .elementor-element-64dd4f55 .more-link:hover {
	color: var(--vb-navy-600);
	background: none;
}

html body.home .elementor-element-64dd4f55 .more-link:hover::after,
html body.home .elementor-element-64dd4f55 .post-inner:hover .more-link::after {
	transform: translateX(3px);
}

/* Видим фокус от клавиатурата (снимката — отвътре, защото картата реже). */
html body.home .elementor-element-64dd4f55 .post-inner a:focus-visible {
	outline: 2px solid var(--vb-sand-deep);
	outline-offset: 3px;
	border-radius: 2px;
}

html body.home .elementor-element-64dd4f55 .post-thumbnail > a:focus-visible {
	outline-offset: -4px;
}

/* Заглавието е в контейнер с overflow: hidden (до 3 реда) и рамката би се
 * отрязала — затова: подчертаване на връзката + рамка около цялата карта. */
html body.home .elementor-element-64dd4f55 .entry-title a:focus-visible {
	outline: none;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-decoration-color: var(--vb-sand-deep);
	text-underline-offset: 3px;
}

html body.home .elementor-element-64dd4f55 .post-inner:has(a:focus-visible) {
	outline: 2px solid var(--vb-sand-deep);
	outline-offset: 3px;
}

/* --- 4. „Вече ни се довериха“ ----------------------------------------- */
html body.home .vibo-partners__wrap {
	max-width: 1320px;
}

html body.home .vibo-partners__heading {
	margin-bottom: clamp(20px, 2.4vw, 28px);
}

/* Слоят за движение от WPCode (vibo-rv) не анимира тази секция — тук е
 * собствената, по-деликатна поява на логата. */
html body.home .elementor-element-2adefdc .vibo-rv {
	opacity: 1;
	transform: none;
}

.vibo-partners__cell--dup {
	display: none;
}

@media (min-width: 768px) {
	html body.home .vibo-pt--pending .vibo-partners__cell {
		opacity: 0;
		transform: translateY(12px);
		transition: opacity .6s var(--vb-ease), transform .6s var(--vb-ease);
		transition-delay: calc(var(--vibo-pt-i, 0) * 90ms);
	}

	html body.home .vibo-pt--pending.vibo-pt--in .vibo-partners__cell {
		opacity: 1;
		transform: none;
	}
}

/* --- 5. Таблет и мобилен ----------------------------------------------- */
@media (max-width: 1199px) {
	html body.home .elementor-element-64dd4f55 .elementor-post-wrapper .row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 767px) {
	/* Статичната подредба (без JS или с намалено движение): 2 + 2 + 1. */
	html body.home .vibo-partners__logos {
		grid-template-columns: repeat(2, 1fr);
		column-gap: 20px;
		row-gap: 22px;
	}

	html body.home .vibo-partners__cell {
		min-height: 40px;
	}

	html body.home .vibo-partners__cell:nth-child(5) {
		grid-column: 1 / span 2;
	}

	html body.home img.vibo-partners__logo--metro { width: 132px; }
	html body.home img.vibo-partners__logo--kaufland { width: 128px; }
	html body.home img.vibo-partners__logo--billa { width: 97px; }
	html body.home img.vibo-partners__logo--fantastico { width: 144px; }
	html body.home img.vibo-partners__logo--tmarket { width: 135px; }
}

@media (max-width: 767px) and (prefers-reduced-motion: no-preference) {
	html body.home .vibo-pt--marquee .vibo-partners__viewport {
		overflow: hidden;
		-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
		mask-image: linear-gradient(90deg, transparent 0, #000 9%, #000 91%, transparent 100%);
	}

	html body.home .vibo-pt--marquee .vibo-partners__logos {
		display: flex;
		width: max-content;
		gap: 0;
		animation: vibo-pt-scroll 40s linear infinite;
	}

	html body.home .vibo-pt--marquee .vibo-partners__cell {
		flex: none;
		min-height: 52px;
		padding: 0 22px;
	}

	html body.home .vibo-pt--marquee .vibo-partners__cell:nth-child(5) {
		grid-column: auto;
	}

	html body.home .vibo-pt--marquee .vibo-partners__cell--dup {
		display: flex;
	}

	html body.home .vibo-pt--marquee .vibo-partners__viewport:hover .vibo-partners__logos,
	html body.home .vibo-pt--marquee:focus-within .vibo-partners__logos {
		animation-play-state: paused;
	}
}

@keyframes vibo-pt-scroll {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

@media (max-width: 600px) {
	html body.home .elementor-element-64dd4f55 .elementor-post-wrapper .row {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	html body.home .elementor-element-64dd4f55 .entry-title {
		min-height: 0;
		font-size: 18px;
	}

	html body.home .elementor-element-64dd4f55 .post-content {
		padding: 16px 18px 56px;
	}

	html body.home .elementor-element-64dd4f55 .more-link-wrap {
		left: 18px;
		bottom: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html body.home .elementor-element-64dd4f55 .post-inner,
	html body.home .elementor-element-64dd4f55 .post-thumbnail img,
	html body.home .elementor-element-64dd4f55 .more-link::after {
		transition: none;
	}

	html body.home .elementor-element-64dd4f55 .post-inner:hover,
	html body.home .elementor-element-64dd4f55 .post-inner:hover .post-thumbnail img,
	html body.home .elementor-element-64dd4f55 .post-inner:hover .more-link::after {
		transform: none;
	}
}
/* END JOB 26 faza 4 home */


/* ===========================================================================
 * JOB 26 фаза 5 — Единна цветова система (B2B дистрибуция и логистика)
 * (2026-10-06)
 * ---------------------------------------------------------------------------
 * Палитра:
 *   #163B56  основно корпоративно синьо (заглавия, малки плътни акценти)
 *   #0F2C40  тъмно синьо — само header, footer и малки силни акценти
 *   #F4F7F8  основен светъл фон          #EAF2F6  светлосин фон за редуване
 *   #FFFFFF  карти                       #D8B77D  пясък — основни бутони, линии
 *   #0072B5  син акцент от канта на логото — връзки, focus, активни състояния
 *            (на тъмен фон: #5DB7EC)
 * Токените --vb-* се пренасочват тук, затова всичко, което ги ползва, следва
 * новата система без промяна на старите правила. --vb-sand-deep вече е синият
 * акцент (ползва се само за връзки, focus и малки етикети).
 * Секциите на началната страница са от край до край с меки градиенти между
 * близки светли тонове (border-image, без хоризонтален скрол).
 * Rollback: изтриване на блока до „END JOB 26 faza 5 colors“.
 * ======================================================================== */

/* --- 1. Токени ---------------------------------------------------------- */
:root {
	--vb-navy-900: #0F2C40;
	--vb-navy-900-rgb: 15, 44, 64;
	--vb-navy-800: #163B56;
	--vb-navy-800-rgb: 22, 59, 86;
	--vb-navy-700: #1B4766;
	--vb-navy-600: #245878;
	--vb-steel: #8AA3B5;
	--vb-steel-text: #3B5D78;
	--vb-sand: #D8B77D;
	--vb-champagne: #E4C998;
	--vb-sand-deep: #0072B5;
	--vb-cream: #F4F7F8;
	--vb-cream-rgb: 244, 247, 248;
	--vb-stone: #EAF2F6;
	--vb-pale: #DCE8EF;
	--vb-line: #D9E4EB;
	--vb-charcoal: #1A2733;
	--vb-text: #33414C;
	--vb-text-dim: #556472;
	--vb-on-dark: #F4F7F8;
	--vb-on-dark-dim: #B3C5D2;
	--vb-focus: #5DB7EC;
	--vb-accent: #0072B5;
	--vb-accent-hover: #005A8F;
	--vb-accent-on-dark: #5DB7EC;
	--vb-bg: #F4F7F8;
	--vb-bg-alt: #EAF2F6;
}

/* Elementor задава светлосин фон на страницата (#F0F9FF) — заменя се. */
html body,
html body.custom-background,
html body.elementor-page:not(.elementor-motion-effects-element-type-background) {
	background-color: var(--vb-bg);
}

/* --- 2. Header и hero ---------------------------------------------------- */
html body .vibo-header--solid,
html body .vibo-drawer__foot {
	background: var(--vb-navy-900);
}

html body .vibo-header.is-stuck {
	background: rgba(var(--vb-navy-900-rgb), .97);
}

html body .vibo-nav .sub-menu {
	background: var(--vb-navy-900);
}

html body .vibo-nav .sub-menu a:hover,
html body .vibo-nav .sub-menu a:focus-visible {
	background: var(--vb-navy-800);
}

/* Активна точка от менюто — синият акцент (на тъмен фон). */
html body .vibo-nav__list > li.current-menu-item > a .vibo-nav__label::after,
html body .vibo-nav__list > li.current-menu-parent > a .vibo-nav__label::after,
html body .vibo-nav__list > li.current-menu-ancestor > a .vibo-nav__label::after {
	background: var(--vb-accent-on-dark);
}

html body .vibo-hero {
	background: var(--vb-navy-900);
}

/* Временен по-светъл син градиент: плътност отляво под текста, постепенно
 * прозрачен към снимката вдясно, без да затъмнява целия кадър. */
html body .vibo-hero__wash {
	background:
		linear-gradient(180deg,
			rgba(var(--vb-navy-900-rgb), .55) 0%,
			rgba(var(--vb-navy-900-rgb), .16) 16%,
			rgba(var(--vb-navy-900-rgb), 0) 30%),
		linear-gradient(96deg,
			rgba(var(--vb-navy-800-rgb), .84) 0%,
			rgba(var(--vb-navy-800-rgb), .78) 28%,
			rgba(var(--vb-navy-800-rgb), .56) 45%,
			rgba(var(--vb-navy-800-rgb), .16) 61%,
			rgba(var(--vb-navy-800-rgb), 0) 74%);
}

@media (max-width: 1179px) {
	html body .vibo-hero {
		background: var(--vb-navy-800);
	}

	html body .vibo-hero__wash {
		background: linear-gradient(180deg,
			rgba(var(--vb-navy-800-rgb), .9) 0%,
			rgba(var(--vb-navy-800-rgb), .32) 22%,
			rgba(var(--vb-navy-800-rgb), 0) 46%);
	}
}

/* --- 3. Начална страница: фонове и преходи ------------------------------ */
html body.home #content.site-content {
	background: transparent;
}

/* Статистики: светлосиньо под hero → основен светъл фон. */
html body.home .elementor-2569 > .elementor-element.elementor-element-87c8061 {
	background: none;
	box-shadow: none;
	border-image: linear-gradient(180deg, var(--vb-bg-alt) 0%, var(--vb-bg) 100%) fill 0 / 0 / 0 100vmax;
}

/* Карти: плътно основно синьо #163B56 (токенът --vb-navy-800), бял текст,
 * пясъчен акцент за иконите и горната линия. Контраст: бяло 11.7:1,
 * описанията (#C9D7E1) 8.0:1, пясък 6.1:1. */
html body.home .elementor-2569 .elementor-element.elementor-element-166e052 > .elementor-element {
	background: var(--vb-navy-800);
	border: 1px solid rgba(255, 255, 255, .08);
	border-top: 2px solid var(--vb-sand);
	box-shadow: 0 12px 28px rgba(var(--vb-navy-900-rgb), .16);
}

html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon {
	background: rgba(216, 183, 125, .16);
}

html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-icon .elementor-icon svg {
	fill: var(--vb-sand);
	color: var(--vb-sand);
}

html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-heading-title,
html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .vibo-stat__num,
html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .vibo-stat__label {
	color: #FFFFFF;
}

html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-text-editor p,
html body.home .elementor-2569 .elementor-element.elementor-element-166e052 .elementor-widget-text-editor p {
	color: #C9D7E1;
}

/* Категории: основен фон с бели карти, долу преход към светлосиньо. */
html body.home .elementor-2569 > .elementor-element.elementor-element-61fc064a {
	background: none;
	box-shadow: none;
	border-image: linear-gradient(180deg, var(--vb-bg) 0%, var(--vb-bg) calc(100% - 180px), var(--vb-bg-alt) 100%) fill 0 / 0 / 0 100vmax;
}

/* Кратко представяне: светлосиня лента вместо голяма тъмна площ. */
html body.home .vibo-about-brief {
	background: none;
	padding-top: clamp(56px, 6.5vw, 96px);
	padding-bottom: clamp(56px, 6.5vw, 96px);
	border-image: linear-gradient(180deg, var(--vb-bg-alt) 0%, var(--vb-bg-alt) calc(100% - 160px), var(--vb-bg) 100%) fill 0 / 0 / 0 100vmax;
}

html body.home .vibo-about-brief__eyebrow {
	color: var(--vb-accent);
}

html body.home .vibo-about-brief__eyebrow::after {
	content: "";
	display: block;
	width: 40px;
	height: 2px;
	margin: 14px auto 0;
	background: var(--vb-sand);
}

html body.home .vibo-about-brief__title {
	color: var(--vb-navy-800);
}

html body.home .vibo-about-brief__text {
	color: var(--vb-text-dim);
}

/* Решения за вашия бизнес. */
html body.home .elementor-2569 > .elementor-element.elementor-element-1cf06e5 {
	background: none;
	border-image: linear-gradient(180deg, var(--vb-bg) 0%, var(--vb-bg) calc(100% - 180px), var(--vb-bg-alt) 100%) fill 0 / 0 / 0 100vmax;
}

html body .vibo-solutions__heading,
html body .vibo-solutions__title,
html body .vibo-partners__heading {
	color: var(--vb-navy-800);
}

html body .vibo-solutions__card {
	border-color: var(--vb-line);
}

html body .vibo-solutions__button {
	background: var(--vb-sand);
	color: var(--vb-navy-900);
}

html body .vibo-solutions__button:hover {
	background: var(--vb-champagne);
}

/* Новини: светлосиньо → бяло към партньорите. */
html body.home .elementor-2569 > .elementor-element.elementor-element-26c38886 {
	background: none;
	box-shadow: none;
	border-image: linear-gradient(180deg, var(--vb-bg-alt) 0%, var(--vb-bg-alt) calc(100% - 200px), #FFFFFF 100%) fill 0 / 0 / 0 100vmax;
}

/* Партньори: бяло. */
html body.home .elementor-2569 > .elementor-element.elementor-element-2adefdc {
	background: none;
	box-shadow: none;
	border-image: linear-gradient(#FFFFFF, #FFFFFF) fill 0 / 0 / 0 100vmax;
}

/* --- 4. Footer: тъмният фон до краищата на екрана ----------------------- */
html body #colophon.site-footer {
	background: var(--vb-navy-900);
	border-top: 2px solid rgba(216, 183, 125, .55);
}

html body footer.vbf {
	background: var(--vb-navy-900);
}

html body footer.vbf .vbf__grid,
html body footer.vbf .vbf__bottom {
	max-width: 1320px;
}

/* Мобилната лента долу (Efway) — тъмносиня вместо сива. */
html body .handheld-footer-bar {
	background-color: var(--vb-navy-900);
}

html body .handheld-footer-bar [class*="columns-"] a,
html body .handheld-footer-bar .site-search {
	background-color: var(--vb-navy-900);
}

/* --- 5. Бутон „нагоре“ и остатъци от зеления цвят на Efway -------------- */
html body a.scrollup {
	background-color: var(--vb-navy-800);
	border-color: var(--vb-navy-800);
	color: var(--vb-sand);
	border-radius: var(--vb-radius-3);
	box-shadow: 0 6px 18px rgba(var(--vb-navy-900-rgb), .22);
}

html body a.scrollup:hover,
html body a.scrollup:active,
html body a.scrollup:focus-visible {
	background-color: var(--vb-navy-900);
	border-color: var(--vb-sand);
	color: var(--vb-sand);
}

.breadcrumb a:hover, .breadcrumb a:hover span, .breadcrumb > span .current-item,
.entry-header .entry-title a:hover, .entry-meta .meta-inner i, .pbr-social-share a:hover,
.post-navigation .nav-title, .widget_search button[type="submit"],
.woocommerce-tabs ul.tabs li a:hover,
.elementor-widget-icon-box.elementor-view-default:hover .elementor-icon,
.elementor-widget-icon-box:hover .elementor-icon-box-title,
.elementor-widget-icon.elementor-view-default .elementor-icon,
.single-product div.type-product .product_meta .posted_in a {
	color: var(--vb-accent);
}

a:hover, a:active,
.widget_search button[type="submit"]:hover, .widget_search button[type="submit"]:focus,
.single-product div.type-product .product_meta .posted_in a:hover {
	color: var(--vb-accent-hover);
}

input[type="submit"], button[type="submit"], .elementor-wpcf7-button-primary input[type="submit"],
.elementor-element .elementor-button-dark .elementor-button:hover,
.elementor-element .elementor-button-dark .elementor-button:active,
.elementor-element .elementor-button-dark .elementor-button:focus,
.more-link:hover, .more-link:active {
	background-color: var(--vb-navy-800);
	border-color: var(--vb-navy-800);
}

input:hover[type="submit"], button:hover[type="submit"], .elementor-wpcf7-button-primary input:hover[type="submit"],
input:active[type="submit"], button:active[type="submit"], .elementor-wpcf7-button-primary input:active[type="submit"] {
	background-color: var(--vb-navy-900);
	border-color: var(--vb-navy-900);
}

input[type="text"]:focus, input[type="email"]:focus, input[type="search"]:focus,
input[type="tel"]:focus, textarea:focus,
.elementor-element .elementor-button.elementor-button-link:hover,
.elementor-widget-icon.elementor-view-default .elementor-icon,
.woocommerce-tabs ul.tabs li a:hover:after {
	border-color: var(--vb-accent);
}

.elementor-widget-divider .elementor-divider-separator:before {
	background-color: var(--vb-sand);
}

.handheld-footer-bar .cart .footer-cart-contents .count {
	background-color: var(--vb-accent);
}

/* --- 6. Контакти: бежовите детайли към новата палитра ------------------- */
html body .elementor-42 .elementor-element.elementor-element-cbab528 {
	background: var(--vb-bg-alt);
}

html body .elementor-42 .elementor-element.elementor-element-97d08c3,
html body .elementor-42 .elementor-element.elementor-element-cbab528 .elementor-column:not(:first-child),
html body .elementor-42 .elementor-element.elementor-element-bae5c29 .elementor-widget-container,
html body .elementor-42 .wpcf7-form input.wpcf7-form-control:not(.wpcf7-submit),
html body .elementor-42 .wpcf7-form textarea.wpcf7-form-control {
	border-color: var(--vb-line);
}

html body .elementor-42 .wpcf7-form input.wpcf7-form-control:not(.wpcf7-submit):focus,
html body .elementor-42 .wpcf7-form textarea.wpcf7-form-control:focus {
	border-color: var(--vb-accent);
	box-shadow: 0 0 0 3px rgba(0, 114, 181, .18);
}

html body .elementor-42 .wpcf7-form input.wpcf7-submit {
	background: var(--vb-sand);
	color: var(--vb-navy-900);
}

html body .elementor-42 .wpcf7-form input.wpcf7-submit:hover {
	background: var(--vb-champagne);
}

html body .elementor-42 .wpcf7-form div.wpcf7-response-output {
	background: var(--vb-bg);
	border-left-color: var(--vb-line);
}
/* END JOB 26 faza 5 colors */


/* ===========================================================================
 * JOB 26 фаза 5б — Видим клавиатурен фокус по новата палитра (2026-10-06)
 * ---------------------------------------------------------------------------
 * Финалната проверка показа:
 *  - светлосиният пръстен #5DB7EC е с контраст ~2:1 върху светъл фон
 *    (каталог, продуктови карти, бутоните „Решения“);
 *  - връзките във footer-а, страницирането, breadcrumbs и иконите на
 *    „Контакти“ нямат видим фокус (Efway нулира outline на :focus).
 * Решение: на светъл фон фокусът е синият акцент #0072B5 (5:1),
 * на тъмен фон (header, hero, тъмната част на мобилното меню, footer) —
 * #5DB7EC (≈7:1).
 * Общото правило е с ниска специфичност (:where), затова не променя
 * вече направените индивидуални фокус-стилове.
 * Rollback: изтриване на блока до „END JOB 26 faza 5 focus“.
 * ======================================================================== */

:root {
	--vb-focus: #0072B5;
}

html body .site-header,
html body .vibo-on-dark,
html body footer.vbf,
html body #colophon,
html body .handheld-footer-bar {
	--vb-focus: #5DB7EC;
}

:where(a[href], button, summary, input[type="submit"], input[type="button"], [tabindex]:not([tabindex="-1"])):focus-visible {
	outline: 2px solid var(--vb-focus);
	outline-offset: 2px;
}

html body footer.vbf a:focus-visible {
	outline: 2px solid var(--vb-focus);
	outline-offset: 3px;
	border-radius: 2px;
}

html body .vibo-solutions .vibo-solutions__button:focus-visible,
html body .elementor-42 .wpcf7-form input.wpcf7-submit:focus-visible {
	outline: 2px solid var(--vb-accent);
	outline-offset: 3px;
}

html body a.scrollup:focus-visible,
html body .wp-block-search .wp-block-search__button:focus-visible,
html body .wp-block-search .wp-block-search__input:focus-visible {
	outline: 2px solid var(--vb-accent);
	outline-offset: 3px;
}
/* END JOB 26 faza 5 focus */



/* ===========================================================================
 * JOB 28 фаза 1 — Търсене с предложения, мобилна лупа, без долна лента
 * (2026-10-07)
 * ---------------------------------------------------------------------------
 * - .vibo-suggest — падащият списък под полето за търсене (бяла карта,
 *   снимка 48 px, име, категория, „Вижте всички резултати“).
 * - .vibo-searchbtn-m — лупата до „хамбургер“ менюто (само под 768 px).
 * - .handheld-footer-bar — скрита навсякъде (резервно правило; лентата
 *   вече не се извежда от functions.php).
 * Rollback: изтриване на блока до „END JOB 28 faza 1 search“.
 * ======================================================================== */

/* --- Долната мобилна лента на Efway: никъде. --- */
html body .handheld-footer-bar { display: none; }

/* Efway (woocommerce.css, под 992 px) оставя 65 px празно място под
   footer-а за лентата — без лентата то не е нужно. */
html body .opal-wrapper { margin-bottom: 0; }

/* --- Мобилна лупа в header-а. --- */
.vibo-searchbtn-m { display: none; }

@media (max-width: 767px) {
	html body .vibo-header__actions { gap: var(--vb-space-1); }

	html body button.vibo-searchbtn-m {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: none;
		color: var(--vb-on-dark);
		border-radius: var(--vb-radius-2);
		cursor: pointer;
	}

	html body button.vibo-searchbtn-m .vibo-icon { width: 22px; height: 22px; }

	html body button.vibo-searchbtn-m[aria-expanded="true"] { color: var(--vb-sand); }

	/* 16 px — iOS Safari не увеличава страницата при фокус в полето. */
	html body input.vibo-search__field { font-size: 16px; }
	html body .vibo-search__form { gap: var(--vb-space-2); }
	html body button.vibo-search__submit { padding: 0 16px; }
}

/* --- Бутонът „Търсене“ в панела: пясъчен. Общото правило за
   button[type="submit"] от JOB 26 ф. 5 го беше оцветило тъмносиньо върху
   тъмносиния панел (текстът почти не се виждаше). --- */
html body button.vibo-search__submit {
	background: var(--vb-sand);
	border-color: var(--vb-sand);
	color: var(--vb-navy-900);
}

html body button.vibo-search__submit:hover,
html body button.vibo-search__submit:focus-visible {
	background: var(--vb-champagne);
	border-color: var(--vb-champagne);
	color: var(--vb-navy-900);
}

/* --- Падащият списък с предложения. --- */
.vibo-search .vibo-header__row { position: relative; }

.vibo-suggest {
	position: absolute;
	top: calc(100% - 10px);
	left: var(--vb-gutter);
	z-index: 20;
	width: min(640px, calc(100% - 2 * var(--vb-gutter)));
	padding: 6px;
	background: #FFFFFF;
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-3);
	box-shadow: 0 14px 36px rgba(var(--vb-navy-900-rgb), .22);
	color: var(--vb-text);
	font-family: var(--vb-font-sans);
	text-align: left;
}

.vibo-suggest[hidden] { display: none; }

html body .vibo-suggest__list {
	max-height: min(62vh, 440px);
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.vibo-suggest.is-loading .vibo-suggest__list { opacity: .55; }

.vibo-suggest__opt { margin: 0; padding: 0; }

html body .vibo-suggest__link {
	display: flex;
	align-items: center;
	gap: var(--vb-space-3);
	min-height: 60px;
	padding: 6px 10px;
	border-radius: var(--vb-radius-2);
	color: var(--vb-charcoal);
	text-decoration: none;
	outline: 0;
}

html body .vibo-suggest__opt:hover .vibo-suggest__link,
html body .vibo-suggest__opt.is-active .vibo-suggest__link {
	background: #EAF2F6;
	color: #163B56;
}

/* Видим клавиатурен избор: синя рамка #0072B5 (5:1 върху светло). */
html body .vibo-suggest__opt.is-active .vibo-suggest__link {
	box-shadow: inset 0 0 0 2px #0072B5;
}

.vibo-suggest__media {
	flex: 0 0 48px;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #F4F7F8;
	border: 1px solid var(--vb-line);
	border-radius: var(--vb-radius-2);
	overflow: hidden;
}

html body .vibo-suggest__media img {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	padding: 3px;
	box-sizing: border-box;
}

.vibo-suggest__text {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.vibo-suggest__name {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.3;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

html body .vibo-suggest__name mark {
	background: none;
	color: inherit;
	font-weight: 700;
	padding: 0;
}

.vibo-suggest__cat {
	font-size: 13px;
	line-height: 1.3;
	color: var(--vb-text-dim);
}

html body .vibo-suggest__opt--all {
	margin-top: 4px;
	padding-top: 4px;
	border-top: 1px solid var(--vb-line);
}

html body .vibo-suggest__opt--all .vibo-suggest__link {
	min-height: 44px;
	justify-content: space-between;
	font-size: 14.5px;
	font-weight: 600;
	color: #0072B5;
}

.vibo-suggest__arrow { font-size: 16px; line-height: 1; }

.vibo-suggest__status {
	display: flex;
	align-items: center;
	gap: var(--vb-space-2);
	margin: 0;
	padding: 12px 10px;
	font-size: 14.5px;
	line-height: 1.45;
	color: var(--vb-text);
}

.vibo-suggest__status[hidden] { display: none; }
.vibo-suggest__status.is-error { color: #7A2222; }

.vibo-suggest__spin {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	border: 2px solid #C9D6DF;
	border-top-color: #0072B5;
	border-radius: 50%;
}

@media (prefers-reduced-motion: no-preference) {
	.vibo-suggest__spin { animation: vibo-sg-spin .8s linear infinite; }
}

@keyframes vibo-sg-spin { to { transform: rotate(360deg); } }

@media (max-width: 767px) {
	.vibo-suggest {
		left: var(--vb-gutter);
		right: var(--vb-gutter);
		width: auto;
	}

	html body .vibo-suggest__list { max-height: calc(100vh - 220px); max-height: calc(100dvh - 220px); }
}
/* END JOB 28 faza 1 search */
