/* ============================================================================
   AQUATEC — cassiopeia_aquatec template CSS
   Stage 4 / Session 4 — закомментированная версия для администраторов
   Сайт: aquatec.in.ua — Joomla 6, child template на основе Cassiopeia
   ----------------------------------------------------------------------------
   ВНИМАНИЕ: этот файл — единая точка правки всего дизайна сайта.
   Здесь стили для главной, всех внутренних страниц, статей, форм.
   ============================================================================

   ОГЛАВЛЕНИЕ (используй Ctrl+F с этими маркерами):

   [01] TOKENS               — переменные цветов, шрифты, размеры
   [02] RESET + BASE         — сброс браузерных дефолтов, базовая типографика
   [03] HEADER               — шапка сайта (sticky, прозрачная на главной)
   [04] LOGO                 — переключение белый/синий логотип
   [05] TOP-NAV              — горизонтальное меню в шапке
   [06] DROPDOWN             — выпадающие подменю в шапке
   [07] HEADER-ACTIONS       — телефон, переключатель языка, бургер
   [08] HERO                 — главный экран с видеофоном
   [09] MOBILE-OVERLAY       — мобильное меню (выезжает на ширину экрана)
   [10] FOOTER               — подвал сайта (5 колонок + контакты)
   [11] MAIN                 — основная область контента (между header и footer)
   [12] BREAKPOINTS          — адаптив (медиа-запросы)
   [13] FOOTER-FAILSAFE      — резервные правила футера (для нестандартных классов)
   [14] INNER-PAGES          — внутренние страницы (не главная)
   [15] LOGO-IMAGES          — переключение логотипов white/blue
   [16] INNER-BACKGROUND     — серый фон внутренних страниц
   [17] DROPDOWN-OVERRIDES   — финальные override для dropdown
   [18] GLASS-HEADER         — frosted glass эффект при скролле (2026 style)

   ============================================================================ */


/* ============================================================================
   [01] TOKENS — CSS-переменные (палитра, шрифт, размеры)
   ----------------------------------------------------------------------------
   Правишь здесь — меняется на всём сайте. Это центр управления дизайном.
   ============================================================================ */
:root {
	/* --- Палитра бренда AQUATEC --- */
	--aq-blue: #00aeee;            /* основной голубой бренда (логотип, ссылки, акценты) */
	--aq-blue-dark: #0288c2;       /* тёмный синий (резерв, для hover-вариантов и градиентов) */
	--aq-orange: #f58025;          /* оранжевый CTA-кнопок (Hero "Детальніше" и др.) */
	--aq-green: #01b1b0;           /* зелёный (резерв для иконок/badges) */

	/* --- Нейтральные --- */
	--aq-grey: #76777b;            /* серый фон футера */
	--aq-text: #1b2935;            /* основной цвет текста */
	--aq-overlay: #ffffff;         /* фон мобильного меню (выбран белый, как на проде) */

	/* --- Типографика --- */
	--aq-font: 'Manrope', system-ui, -apple-system, Segoe UI, Roboto, sans-serif;

	/* --- Layout --- */
	--aq-container: 1366px;        /* максимальная ширина центрального контейнера сайта */
	--aq-header-h: 80px;           /* высота шапки в обычном состоянии (вверху страницы) */
	--aq-header-h-scrolled: 60px;  /* высота шапки после скролла (компактный режим) */
}


/* ============================================================================
   [02] RESET + BASE — сброс браузерных дефолтов и базовая типографика
   ============================================================================ */

/* Универсальный box-sizing — все элементы считают padding+border в свою width */
*, *::before, *::after { box-sizing: border-box; }

/* Убираем дефолтные margin/padding у html и body */
html, body { margin: 0; padding: 0; }

/* Базовый стиль <body> с классом .aquatec-site (добавляется в шаблоне index.php) */
body.aquatec-site {
	font-family: var(--aq-font);
	font-size: 16px;
	line-height: 1.55;
	color: var(--aq-text);
	background: #fff;
	-webkit-font-smoothing: antialiased;       /* плавный шрифт на Mac/iOS */
	-moz-osx-font-smoothing: grayscale;        /* плавный шрифт на macOS */
}

/* --- Сброс встроенных стилей у часто используемых тегов --- */
a { color: inherit; text-decoration: none; }          /* ссылки без подчёркивания, наследуют цвет */
img, svg { max-width: 100%; display: block; }         /* изображения не вылезают за ширину родителя */
ul { list-style: none; padding: 0; margin: 0; }       /* списки без точек/нумерации */
button {                                              /* кнопки выглядят как обычный текст */
	background: none; border: 0; padding: 0;
	font: inherit; color: inherit; cursor: pointer;
}

/* --- Bootstrap-совместимая скрывалка для screen readers ---
   Cassiopeia добавляет <span class="visually-hidden">Більше про: ...</span>
   в каждый пункт меню для accessibility. Без этого правила текст виден глазами.
*/
.visually-hidden,
.visually-hidden-focusable:not(:focus):not(:focus-within) {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0,0,0,0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* Универсальный центральный контейнер с боковыми отступами */
.container { max-width: var(--aq-container); margin: 0 auto; padding: 0 24px; }


/* ============================================================================
   [03] HEADER — шапка сайта (sticky)
   ----------------------------------------------------------------------------
   На главной странице header стартует прозрачным (виден поверх видео hero).
   При скролле >50px добавляется класс .scrolled → header становится белым
   полупрозрачным с эффектом стекла (см. секцию [18]).
   На внутренних страницах header сразу белый (см. секцию [14]).
   ============================================================================ */

/* Контейнер шапки — прилипает к верху экрана при скролле */
.site-header {
	position: sticky;                         /* прилипает при скролле */
	top: 0;                                   /* к верхнему краю окна */
	z-index: 100;                             /* поверх контента */
	width: 100%;
	background: transparent;                  /* стартовое состояние — прозрачное */
	transition: background-color 0.25s ease,  /* плавные переходы при изменении */
	            box-shadow 0.25s ease,
	            border-color 0.25s ease;
	border-bottom: 1px solid transparent;
}

/* Внутренний контейнер шапки (горизонтальная раскладка) */
.site-header__inner {
	max-width: var(--aq-container);
	margin: 0 auto;
	padding: 0 24px;
	height: var(--aq-header-h);               /* высота 80px */
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	transition: height 0.25s ease;
}

/* --- Состояние при скролле: класс .scrolled добавляет JS (см. aquatec.js) --- */
.site-header.scrolled {
	background: #ffffff;                                  /* белый фон (переопределяется в [18] glass-effect) */
	box-shadow: 0 2px 12px rgba(0,0,0,0.08);              /* лёгкая тень */
}
.site-header.scrolled .site-header__inner {
	height: var(--aq-header-h-scrolled);                  /* шапка ужимается до 60px */
}


/* ============================================================================
   [04] LOGO — текстовый логотип (на текущем сайте используются IMG, не текст)
   ----------------------------------------------------------------------------
   Это остатки старой схемы с текстовым лого AQUATEC. Сейчас активны
   IMG-варианты (см. секцию [15]). Правила здесь оставлены для совместимости.
   ============================================================================ */

/* Контейнер логотипа (link) */
.site-logo {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	line-height: 1;
	color: #fff;                              /* белый цвет — на прозрачном header */
	transition: color 0.25s ease;
}

/* Бренд (большой текст AQUATEC) — НЕ ИСПОЛЬЗУЕТСЯ, скрыт ниже в [15] */
.site-logo__brand {
	font-size: 28px;
	font-weight: 800;
	letter-spacing: 0.5px;
	transition: font-size 0.25s ease;
}

/* Страна (мелкий текст УКРАЇНА) — НЕ ИСПОЛЬЗУЕТСЯ, скрыт ниже в [15] */
.site-logo__country {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 2px;
	text-transform: uppercase;
	margin-top: 2px;
	opacity: 0.9;
}

/* При скролле — текстовый логотип становится синим */
.site-header.scrolled .site-logo { color: var(--aq-blue); }
.site-header.scrolled .site-logo__brand { font-size: 22px; }


/* ============================================================================
   [05] TOP-NAV — горизонтальное меню в шапке (Головна, Про нас, и т.д.)
   ----------------------------------------------------------------------------
   Источник данных: модуль Joomla "Main Menu (UA)" или "Main Menu" (RU),
   позиция aquatec-main-menu, тип mod_menu.
   Пункты меню редактируются в админке: Menus → Main Menu UA / Main Menu RU.
   ============================================================================ */

.site-nav { display: flex; align-items: center; }

/* Горизонтальный список пунктов меню */
.site-nav .mod-menu {
	display: flex;
	gap: 28px;                                /* промежуток между пунктами */
	align-items: center;
}

/* Каждый пункт меню — relative для абсолютного позиционирования подменю */
.site-nav .mod-menu > li { position: relative; }

/* Стиль ссылки пункта меню */
.site-nav .mod-menu > li > a {
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #fff;                              /* белый на прозрачном header */
	padding: 8px 0;
	transition: color 0.2s ease;
	white-space: nowrap;
}

/* Подсветка активного / hover пункта меню */
.site-nav .mod-menu > li > a:hover,
.site-nav .mod-menu > li.current > a,
.site-nav .mod-menu > li.active > a { color: var(--aq-blue); }

/* При скролле header → текст пунктов меню становится тёмным */
.site-header.scrolled .site-nav .mod-menu > li > a { color: var(--aq-header-scrolled-text); }
.site-header.scrolled .site-nav .mod-menu > li > a:hover,
.site-header.scrolled .site-nav .mod-menu > li.current > a,
.site-header.scrolled .site-nav .mod-menu > li.active > a { color: var(--aq-blue); }

/* Скрываем "chevron"-кнопку, которую Joomla автоматически добавляет к пунктам с подменю.
   У нас подменю открываются по hover (см. ниже [06]), поэтому кнопка не нужна. */
.site-nav .mod-menu .mod-menu__toggle-sub { display: none; }


/* ============================================================================
   [06] DROPDOWN — выпадающие подменю в горизонтальной шапке
   ----------------------------------------------------------------------------
   Открываются по hover на родительский пункт меню.
   Joomla генерирует подменю как <ul class="mod-menu__sub">.
   ============================================================================ */

.site-nav .mod-menu__sub {
	position: absolute;                       /* всплывает под родительским пунктом */
	top: 100%;
	left: -16px;
	min-width: 260px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(0,0,0,0.12);
	border-radius: 6px;
	padding: 12px 0;
	opacity: 0;                               /* по умолчанию невидимо */
	visibility: hidden;
	transform: translateY(8px);
	transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
	z-index: 200;
}

/* Показываем подменю при hover / focus / .open классе на родителе */
.site-nav .mod-menu > li.parent:hover > .mod-menu__sub,
.site-nav .mod-menu > li.parent:focus-within > .mod-menu__sub,
.site-nav .mod-menu > li.parent.open > .mod-menu__sub {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

/* Стиль ссылок внутри подменю */
.site-nav .mod-menu__sub li > a {
	display: block;
	padding: 8px 20px;
	font-size: 13px;
	color: var(--aq-text);
	transition: background-color 0.15s ease, color 0.15s ease;
}
.site-nav .mod-menu__sub li > a:hover {
	background: rgba(0,174,238,0.08);         /* лёгкая голубая подсветка при наведении */
	color: var(--aq-blue);
}

/* Скрываем первый пункт подменю — это alias-дубль родителя, который Joomla
   автоматически добавляет для кликабельности top-level пункта.
   Например, родитель "Автономна каналізація" получает дочерний "Автономна каналізація"
   как первый пункт — его и скрываем. */
.site-nav .mod-menu__sub > li:first-child { display: none; }


/* ============================================================================
   [07] HEADER-ACTIONS — desktop action buttons (Сесія 12, V5 design)
   ----------------------------------------------------------------------------
   3 круглі кнопки Ø40px (телефон / тема / мова) + бургер (mobile-only).
   Стани:
   - Non-scrolled (прозорий header поверх hero/banner, обидві теми):
     gradient blue→cyan circle + білі іконки/текст + теплий glow
   - Scrolled + light theme:
     тінтований круг #f0fbff + сині (#00aeee) іконки/текст + м'який glow
   - Scrolled + dark theme:
     gradient circle (без інверсії — на темному frosted glass читається відмінно)
   Mobile (≤1199px) повністю контролює mobile-header.css v9.
   ============================================================================ */

.site-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

/* Desktop only — V5 design. Mobile у mobile-header.css */
@media (min-width: 1200px) {
	.site-header__icon,
	.site-header__theme,
	.site-header__lang-btn {
		width: 40px;
		height: 40px;
		min-width: 40px;
		border-radius: 50%;
		border: none;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		cursor: pointer;
		background: linear-gradient(135deg, #00aeee 0%, #2cc1f5 100%);
		color: #fff;
		box-shadow: 0 0 14px rgba(0,174,238,0.5), 0 6px 14px rgba(0,174,238,0.25);
		transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
		text-decoration: none;
		font-family: Manrope, sans-serif;
		font-size: 13px;
		font-weight: 700;
		letter-spacing: 0.5px;
		line-height: 1;
	}
	.site-header__icon:hover,
	.site-header__theme:hover,
	.site-header__lang-btn:hover {
		transform: translateY(-2px);
		box-shadow: 0 0 18px rgba(0,174,238,0.65), 0 8px 16px rgba(0,174,238,0.35);
	}
	.site-header__icon svg,
	.site-header__theme svg {
		width: 18px;
		height: 18px;
	}

	/* Scrolled + light theme — inverted: tinted circle + blue content */
	html[data-theme="light"] .site-header.scrolled .site-header__icon,
	html[data-theme="light"] .site-header.scrolled .site-header__theme,
	html[data-theme="light"] .site-header.scrolled .site-header__lang-btn {
		background: #f0fbff;
		color: #00aeee;
		box-shadow: 0 0 14px rgba(0,174,238,0.4), 0 4px 10px rgba(0,174,238,0.2);
	}
	html[data-theme="light"] .site-header.scrolled .site-header__icon:hover,
	html[data-theme="light"] .site-header.scrolled .site-header__theme:hover,
	html[data-theme="light"] .site-header.scrolled .site-header__lang-btn:hover {
		box-shadow: 0 0 18px rgba(0,174,238,0.55), 0 6px 14px rgba(0,174,238,0.3);
	}
}

/* Бургер-кнопка (виден только на мобильном — см. [12] BREAKPOINTS) */
.site-header__menu-toggle {
	display: none;                            /* по умолчанию скрыт, показывается в медиа-запросе */
	flex-direction: column;
	gap: 5px;
	width: 32px;
	padding: 6px;
	color: #fff;
}
.site-header__menu-toggle span {
	display: block;
	height: 2px;
	background: currentColor;
	border-radius: 1px;
}
.site-header.scrolled .site-header__menu-toggle { color: var(--aq-text); }


/* ============================================================================
   [08] HERO — главный экран с видеофоном (только на главной странице)
   ----------------------------------------------------------------------------
   Структура: <section class="hero">
                <video class="hero__video">      ← видео-фон
                <div class="hero__overlay">      ← тёмный градиент для читаемости
                <div class="hero__content">      ← заголовок и кнопка
   Тексты заголовка/CTA правятся в index.php (если ($isRU) ... else ...).
   ============================================================================ */

/* Основной контейнер hero */
.hero {
	position: relative;
	width: 100%;
	min-height: 100vh;                                  /* высота на весь экран */
	overflow: hidden;
	background: #001a2e;                                /* тёмный фон, пока видео грузится */
	margin-top: calc(-1 * var(--aq-header-h));          /* hero "поднимается" под прозрачный header */
}

/* Видео — растягивается по всему контейнеру с object-fit: cover */
.hero__video {
	position: absolute;
	inset: 0;                                           /* = top:0; right:0; bottom:0; left:0; */
	width: 100%;
	height: 100%;
	object-fit: cover;                                  /* видео заполняет область без искажений */
	z-index: 1;
}

/* Затемняющий градиент поверх видео (для контраста с белым текстом) */
.hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 2;
	background: linear-gradient(180deg,
		rgba(0, 26, 46, 0.20) 0%,                       /* сверху чуть тёмное */
		rgba(0, 26, 46, 0.40) 55%,                      /* в середине умеренное */
		rgba(0, 26, 46, 0.75) 100%);                    /* снизу плотное (чтобы текст читался) */
}

/* Контент hero (заголовок + кнопка) — поверх видео и overlay */
.hero__content {
	position: relative;
	z-index: 3;
	max-width: var(--aq-container);
	margin: 0 auto;
	padding: calc(var(--aq-header-h) + 32px) 24px 96px; /* верхний отступ = header height + 32px */
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;                          /* заголовок и кнопка прижаты к нижней части */
	color: #fff;
}

/* Главный заголовок (H1) hero */
.hero__title {
	font-size: clamp(28px, 5vw, 56px);                  /* адаптивный размер: 28px-56px */
	font-weight: 800;
	line-height: 1.15;
	margin: 0 0 32px;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	max-width: 900px;
	text-shadow: 0 2px 12px rgba(0,0,0,0.3);            /* лёгкая тень для лучшего контраста */
}

/* Оранжевая CTA-кнопка ("Детальніше" / "Подробнее") */
.hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 18px 48px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: #fff;
	background: var(--aq-orange);                       /* фирменный оранжевый */
	border-radius: 50px;                                /* полностью округлённая */
	align-self: flex-start;                             /* кнопка не растягивается на ширину */
	transition: background-color 0.2s ease, transform 0.2s ease;
	box-shadow: 0 6px 20px rgba(245, 128, 37, 0.35);    /* оранжевая тень — "свечение" */
}
.hero__cta:hover {
	background: #e06d10;                                /* потемнение при hover */
	transform: translateY(-2px);                        /* лёгкий "подъём" */
}


/* ============================================================================
   [09] MOBILE-OVERLAY — мобильное меню (открывается по бургеру)
   ----------------------------------------------------------------------------
   Структура: <aside class="mobile-overlay" id="mobile-menu" hidden>...</aside>
   JS (aquatec.js) убирает hidden и добавляет body.menu-open при клике на бургер.
   ============================================================================ */

.mobile-overlay {
	position: fixed;
	inset: 0;                                           /* на весь viewport */
	background: var(--aq-overlay);                      /* белый по проду */
	z-index: 1000;
	overflow-y: auto;                                   /* можно скроллить если меню длинное */
	padding: 24px;
	color: var(--aq-text);
}

/* По умолчанию скрыто (HTML атрибут hidden) */
.mobile-overlay[hidden] { display: none; }

/* Шапка внутри мобильного меню (логотип + крестик закрытия) */
.mobile-overlay__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
}

/* Логотип в мобильном меню — синий (фон-то белый) */
.mobile-overlay .site-logo { color: var(--aq-blue); }

/* Крестик закрытия (× символ) */
.mobile-overlay__close {
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--aq-text);
	border-radius: 50%;
	font-size: 24px;
	line-height: 1;
}
.mobile-overlay__close::before {
	content: "\00d7";                                   /* × Unicode multiplication sign */
	font-weight: 300;
}

/* --- Мобильная навигация (тот же mod_menu, но в overlay) --- */
.mobile-nav .mod-menu > li {
	border-bottom: 1px solid rgba(27,41,53,0.08);
}
.mobile-nav .mod-menu > li > a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	color: var(--aq-blue);
}

/* Плюсик/минус для разворачивания подменю */
.mobile-nav .mod-menu > li.parent > a::after {
	content: "+";
	font-size: 20px;
	font-weight: 400;
	color: var(--aq-blue);
	transition: transform 0.2s ease;
}
.mobile-nav .mod-menu > li.parent.open > a::after {
	content: "\2212";                                   /* − minus sign Unicode */
}

/* Скрываем встроенную Joomla-кнопку (мы используем свой плюсик) */
.mobile-nav .mod-menu .mod-menu__toggle-sub { display: none; }

/* Подменю — раскрывается accordion-стилем (анимация по max-height) */
.mobile-nav .mod-menu__sub {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease;
	padding-left: 8px;
}
.mobile-nav .mod-menu > li.parent.open .mod-menu__sub {
	max-height: 2000px;                                 /* большое значение для гарантированной полной высоты */
	padding-bottom: 12px;
}

/* Стиль пунктов подменю в мобиле */
.mobile-nav .mod-menu__sub li > a {
	display: block;
	padding: 10px 0;
	font-size: 14px;
	color: var(--aq-text);
	font-weight: 400;
}

/* Скрытие alias-дубля родителя в подменю (см. объяснение в [06]) */
.mobile-nav .mod-menu__sub > li:first-child { display: none; }


/* ============================================================================
   [10] FOOTER — подвал сайта
   ----------------------------------------------------------------------------
   Структура: серый фон, 5 колонок sitemap-меню слева + контакты справа.
   Источник данных sitemap: модуль "Footer Menu (UA)" / "Footer Menu (RU)".
   Контакты (телефон, email): захардкожены в index.php.
   ============================================================================ */

/* Контейнер футера */
.site-footer {
	background: var(--aq-grey);                         /* серый фон */
	color: #fff;
	padding: 60px 0 20px;
	margin-top: 80px;
}

/* Внутренняя сетка футера: левая часть (sitemap) + правая (контакты) */
.site-footer__inner {
	max-width: var(--aq-container);
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 1fr 366px;                   /* 1fr = всё свободное, 366px фикс на правую колонку */
	gap: 48px;
	align-items: start;
}

/* --- Sitemap-меню: 5 колонок верхнего уровня --- */
.site-footer__sitemap .mod-menu {
	display: grid;
	grid-template-columns: repeat(5, 1fr);              /* 5 равных колонок */
	gap: 32px;
}

/* Заголовок колонки (top-level пункт меню) — белый жирный */
.site-footer__sitemap .mod-menu > li > a {
	display: block;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	color: #fff;
	padding-bottom: 12px;
	letter-spacing: 0.5px;
}

/* Скрытие Joomla-кнопок toggle-sub в футере */
.site-footer__sitemap .mod-menu .mod-menu__toggle-sub { display: none; }

/* Пункты подменю — обычные ссылки */
.site-footer__sitemap .mod-menu__sub li > a {
	display: block;
	padding: 4px 0;
	font-size: 13px;
	font-weight: 400;
	color: rgba(255,255,255,0.85);
}
.site-footer__sitemap .mod-menu__sub li > a:hover { color: #fff; }

/* Скрытие первого alias-дубля в подменю футера */
.site-footer__sitemap .mod-menu__sub > li:first-child { display: none; }

/* --- Скрытие служебных пунктов меню из футера ---
   Эти ID соответствуют пунктам Главная, Видео, Відгуки, 404 (UA и RU).
   В футере им делать нечего, но они есть в исходном меню для роутинга.
*/
.site-footer__sitemap .item-101,                       /* system home (служебный) */
.site-footer__sitemap .item-102,                       /* Головна UA */
.site-footer__sitemap .item-103,                       /* Главная RU */
.site-footer__sitemap .item-112,                       /* Видео RU */
.site-footer__sitemap .item-113,                       /* Відео UA */
.site-footer__sitemap .item-176,                       /* Відгуки UA */
.site-footer__sitemap .item-177,                       /* Отзывы RU */
.site-footer__sitemap .item-178 { display: none; }     /* 404 */

/* --- Правая колонка футера: контакты --- */
.site-footer__contacts { text-align: right; }

/* Социальные сети — горизонтальный ряд кружочков (Обновленный премиум-дизайн 2026) */
.site-footer__social {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	margin-bottom: 24px;
}
.site-footer__social .custom { display: flex; gap: 12px; }
.site-footer__social .custom a {
	position: relative;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	overflow: hidden;
	background: #1b2935;
	border: 1px solid rgba(255, 255, 255, 0.12);
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2), inset 0 2px 4px rgba(255, 255, 255, 0.15);
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	text-decoration: none;
	background-clip: padding-box;
	transform: translateZ(0);
}

/* Глянцевый эффект матового стекла и бликов (2026 specular sheen) */
.site-footer__social .custom a::after {
	content: '';
	position: absolute;
	top: -120%;
	left: -120%;
	width: 200%;
	height: 200%;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.45) 50%, rgba(255, 255, 255, 0) 70%);
	transform: rotate(-25deg);
	pointer-events: none;
	z-index: 3;
	opacity: 0;
}

/* Анимация пробегающего блика (полноценная волна) */
@keyframes aq-shine {
	0% {
		left: -120%;
		top: -120%;
		opacity: 0;
	}
	15% {
		opacity: 0.65;
	}
	85% {
		opacity: 0.65;
	}
	100% {
		left: 120%;
		top: 120%;
		opacity: 0;
	}
}

/* Отдельно отключаем блик для Instagram, чтобы не портить градиент */
.site-footer__social .ig::after {
	display: none !important;
}

/* Масштабирование внутренней SVG-иконки (крупнее внутри кружочка) */
.site-footer__social .custom a svg {
	width: 28px;
	height: 28px;
	z-index: 2;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

/* Эффекты при наведении: подъем, свечение и запуск анимации блика */
.site-footer__social .custom a:hover {
	transform: translateY(-4px) scale(1.06);
	border-color: rgba(255, 255, 255, 0.35);
}

.site-footer__social .custom a:hover::after {
	animation: aq-shine 0.8s cubic-bezier(0.25, 0.8, 0.25, 1) forwards;
}

.site-footer__social .custom a:hover svg {
	transform: scale(1.05);
}

/* Реалистичные фирменные градиенты и свечения (2026 brand identity) */
.site-footer__social .fb {
	background: linear-gradient(135deg, #1877F2 0%, #0c56b8 100%) !important;
}
.site-footer__social .fb:hover {
	box-shadow: 0 8px 24px rgba(24, 119, 242, 0.5), inset 0 2px 4px rgba(255, 255, 255, 0.35);
}

.site-footer__social .yt {
	background: linear-gradient(135deg, #FF0000 0%, #b30000 100%) !important;
}
.site-footer__social .yt:hover {
	box-shadow: 0 8px 24px rgba(255, 0, 0, 0.5), inset 0 2px 4px rgba(255, 255, 255, 0.35);
}

.site-footer__social .x {
	background: linear-gradient(135deg, #1f1f1f 0%, #000000 100%) !important;
}
.site-footer__social .x:hover {
	box-shadow: 0 8px 24px rgba(255, 255, 255, 0.15), inset 0 2px 4px rgba(255, 255, 255, 0.3);
}

/* TikTok с 3D-хроматическим смещением логотипа */
.site-footer__social .tt {
	background: linear-gradient(135deg, #111111 0%, #000000 100%) !important;
}
.site-footer__social .tt svg {
	filter: drop-shadow(0.5px 0.5px 0px #fe2c55) drop-shadow(-0.5px -0.5px 0px #25f4ee);
}
.site-footer__social .tt:hover {
	box-shadow: 0 8px 24px rgba(254, 44, 85, 0.25), 0 8px 24px rgba(37, 244, 238, 0.25), inset 0 2px 4px rgba(255, 255, 255, 0.3);
}
.site-footer__social .tt:hover svg {
	filter: drop-shadow(1px 1px 0px #fe2c55) drop-shadow(-1px -1px 0px #25f4ee) scale(1.05);
}

/* Instagram с линейным брендовым градиентом (для предотвращения багов скругления в браузерах) */
.site-footer__social .ig {
	background: linear-gradient(45deg, #f99c1d 0%, #e02c6b 50%, #9524bb 100%) !important;
	border: 1px solid rgba(228, 64, 95, 0.45) !important;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25) !important;
}
.site-footer__social .ig:hover {
	border-color: rgba(255, 255, 255, 0.5) !important;
	box-shadow: 0 8px 24px rgba(214, 36, 159, 0.5) !important;
}

.site-footer__social .sh {
	background: linear-gradient(135deg, #ff0033 0%, #cc0029 100%) !important;
}
.site-footer__social .sh:hover {
	box-shadow: 0 8px 24px rgba(255, 0, 51, 0.5), inset 0 2px 4px rgba(255, 255, 255, 0.35);
}

/* Телефон большим жирным шрифтом */
.site-footer__phone {
	display: block;
	font-size: 32px;
	font-weight: 800;
	color: #fff;
	margin-bottom: 8px;
}

/* Email чуть мельче */
.site-footer__email {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
}

/* Копирайт-строка внизу футера (горизонтальная линия + текст) */
.site-footer__copyright {
	max-width: var(--aq-container);
	margin: 40px auto 0;
	padding: 20px 24px 0;
	border-top: 1px solid rgba(255,255,255,0.15);       /* тонкая полоса разделителя */
	font-size: 12px;
	color: rgba(255,255,255,0.85);
	text-align: right;
}


/* ============================================================================
   [11] MAIN — основная область контента (между header и footer)
   ----------------------------------------------------------------------------
   Внутри <main id="main" class="site-main"> рендерится контент через
   <jdoc:include type="component" />. На главной — это hero + блоки.
   На внутренних — статья, форма, и т.д.
   ============================================================================ */

.site-main {
	min-height: 60vh;                                   /* минимальная высота — чтобы footer не подскакивал */
}

/* Контейнер хлебных крошек (breadcrumbs) */
.site-main .mod-breadcrumbs__wrapper {
	max-width: var(--aq-container);
	margin: 0 auto;
	padding: 16px 24px 0;
}


/* ============================================================================
   [12] BREAKPOINTS — адаптивные правила (медиа-запросы)
   ----------------------------------------------------------------------------
   Контрольные точки:
   - 1199px и меньше — планшет / мобильный (бургер вместо горизонтального меню)
   - 602px и меньше — компактный телефон (1 колонка футер, мельче hero)
   ============================================================================ */

/* === Tablet/Mobile: ≤1199px === */
@media (max-width: 1199px) {
	/* Скрыть горизонтальное меню, показать бургер */
	.site-nav { display: none; }
	.site-header__menu-toggle { display: flex; }

	/* На мобильном header сразу белый для читаемости (видео сильно темнеет) */
	.site-header {
		background: #fff;
		box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	}

	/* Логотип — синий вариант (т.к. фон белый) */
	.site-logo { color: var(--aq-blue); }
	.site-logo__brand { font-size: 22px; }

	/* Іконки і текст справа — темні (mobile-header.css v9 перепишe їх через bulletproof prefix + !important) */
	.site-header__icon { color: var(--aq-blue); }
	.site-header__menu-toggle { color: var(--aq-text); }

	/* Hero — на мобильном не поднимается под header (margin-top:0) и высота 70vh */
	.hero {
		margin-top: 0;
		min-height: 70vh;
	}
	.hero__content {
		padding: 32px 24px 48px;
		min-height: 70vh;
	}
}

/* === Tablet/Mobile футер: ≤1199px === */
@media (max-width: 1199px) {
	.site-footer__inner { grid-template-columns: 1fr; gap: 32px; }      /* в одну колонку */
	.site-footer__sitemap .mod-menu { grid-template-columns: repeat(2, 1fr); }  /* sitemap в 2 колонки */
	.site-footer__contacts { text-align: left; }                        /* контакты слева */
	.site-footer__social { justify-content: flex-start; }
	.site-footer__copyright { text-align: left; }
}

/* === Compact mobile: ≤602px === */
@media (max-width: 602px) {
	.site-footer__sitemap .mod-menu { grid-template-columns: 1fr; }     /* sitemap в 1 колонку */
	.site-footer__phone { font-size: 24px; }                            /* телефон меньше */

	/* Hero — текст и кнопка мельче */
	.hero__title {
		font-size: clamp(22px, 7vw, 32px);
		margin-bottom: 24px;
	}
	.hero__cta {
		padding: 14px 32px;
		font-size: 14px;
	}
}

/* Утилитарный класс — блокирует скролл фона когда открыто мобильное меню */
body.menu-open { overflow: hidden; }


/* ============================================================================
   [13] FOOTER-FAILSAFE — резервные правила для футера
   ----------------------------------------------------------------------------
   На случай если Joomla рендерит подменю с другим классом (не mod-menu__sub),
   а просто как <ul><li>. Эти правила гарантируют, что подменю всё равно
   выглядит правильно в футере.
   Плюс — принудительное раскрытие подменю (Joomla JS сворачивает их через
   atom-attribute hidden, а нам в футере нужно показывать всегда).
   ============================================================================ */

/* Базовый стиль для любого вложенного ul в футере */
.site-footer__sitemap ul ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.site-footer__sitemap ul ul li > a {
	display: block;
	padding: 4px 0;
	font-size: 13px;
	font-weight: 400;
	color: rgba(255,255,255,0.85);
	text-decoration: none;
}
.site-footer__sitemap ul ul li > a:hover { color: #fff; }
.site-footer__sitemap ul ul > li:first-child { display: none; }
.site-footer__sitemap .mod-menu__toggle-sub { display: none; }

/* Принудительное раскрытие подменю в футере — override Cassiopeia JS,
   который добавляет hidden атрибут и max-height:0. */
.site-footer__sitemap .mod-menu__sub,
.site-footer__sitemap ul ul {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	max-height: none !important;
	position: static !important;
	transform: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Перебиваем HTML5 атрибут [hidden] */
.site-footer__sitemap .mod-menu__sub[hidden],
.site-footer__sitemap ul ul[hidden] {
	display: block !important;
}


/* ============================================================================
   [14] INNER-PAGES — внутренние страницы (не главная)
   ----------------------------------------------------------------------------
   На внутренних страницах body имеет класс "inner" (см. index.php).
   Header сразу белый, текст тёмный, никакого hero.
   ============================================================================ */

/* body.inner header overrides — ВИДАЛЕНО (Сесія 11, 14.05.2026).
   Inner-сторінки тепер успадковують 2-state поведінку від home:
   header прозорий до скролла + frosted glass після. Темну підкладку
   під прозорим header дає .inner-banner у <main>. */


/* ============================================================================
   [15] LOGO-IMAGES — переключение белого/синего логотипа (IMG-варианты)
   ----------------------------------------------------------------------------
   У нас 2 файла логотипа в /images/:
   - aquatec_new_logo.png        — синий вариант (для светлого фона)
   - aquatec_new_logo_white.png  — белый вариант (для тёмного фона)
   В HTML присутствуют оба <img>, через CSS показываем нужный по контексту.
   ============================================================================ */

/* Базовый стиль для обоих изображений */
.site-logo__img {
	height: 60px;
	width: auto;
	display: block;
	transition: height 0.25s ease, opacity 0.2s ease;
}

/* По умолчанию синий вариант скрыт — показан белый (для прозрачного header на главной) */
.site-logo__img--blue { display: none; }

/* При скролле — показываем синий, скрываем белый */
.site-header.scrolled .site-logo__img--white { display: none; }
.site-header.scrolled .site-logo__img--blue  { display: block; height: 42px; }

/* Лого inner — ВИДАЛЕНО. Inner успадковує home-логіку:
   non-scrolled = білий лого, scrolled = синій. Видно завдяки темному
   .inner-banner під прозорим header. */

/* В мобильном меню (overlay) — синий (фон белый) */
.mobile-overlay .site-logo__img--white { display: none; }
.mobile-overlay .site-logo__img--blue  { display: block; height: 36px; }

/* На планшете/мобиле — header белый сразу → синий лого */
@media (max-width: 1199px) {
	.site-logo__img--white { display: none; }
	.site-logo__img--blue  { display: block; height: 32px; }
}

/* Окончательно прячем старые текстовые элементы лого (см. секцию [04]) */
.site-logo__brand, .site-logo__country { display: none !important; }


/* ============================================================================
   [16] INNER-BACKGROUND — фон внутренних страниц
   ----------------------------------------------------------------------------
   Чтобы на внутренних страницах был лёгкий контраст между белым header
   и контентом, body окрашен в очень светлый серый.
   Сам main контент — белый, с боковыми отступами.
   ============================================================================ */

body.inner {
	background: #f5f7fa;                                /* очень светло-серый фон */
}
body.inner .site-main {
	background: #ffffff;
	padding: 0 24px 64px;                               /* верхній padding=0 щоб .inner-banner йшов щільно під header */
}

/* === INNER BANNER — темна підкладка під прозорим header === */
.inner-banner {
	background: linear-gradient(135deg, #1b2935 0%, #243a52 50%, #2d5273 100%);
	margin: calc(-1 * var(--aq-header-h)) -24px 40px;   /* negative top → banner перекриває простір header */
	padding: calc(var(--aq-header-h) + 24px) 24px 24px; /* верхній padding = header height + 24 */
	min-height: 200px;
}


/* ============================================================================
   [17] DROPDOWN-OVERRIDES — финальные override для desktop dropdown
   ----------------------------------------------------------------------------
   Joomla 6 mod-menu JS добавляет [hidden] атрибут к подменю и блокирует
   pointer-events. Здесь мы это переопределяем так, чтобы hover работал.
   ============================================================================ */

/* Перебиваем атрибут hidden */
.site-nav .mod-menu__sub[hidden] {
	display: block !important;
}

/* Подменю всегда в DOM, но скрыто визуально через opacity (см. [06]).
   Чтобы случайный hover не открывал — отключаем pointer-events. */
.site-nav .mod-menu__sub {
	display: block !important;
	pointer-events: none;
}

/* При hover на родителе — включаем pointer-events */
.site-nav .mod-menu > li.parent:hover > .mod-menu__sub,
.site-nav .mod-menu > li.parent:focus-within > .mod-menu__sub,
.site-nav .mod-menu > li.parent.open > .mod-menu__sub {
	pointer-events: auto;
}


/* ============================================================================
   [18] GLASS-HEADER — Frosted glass эффект при скролле (2026 style)
   ----------------------------------------------------------------------------
   Современный эффект "матового стекла" — как у Apple/Stripe/Linear.
   Header при скролле становится полупрозрачным белым (72%) с blur(14px)
   позади себя. Это переопределяет белый фон из секции [03].

   Регулировка:
   - opacity:    rgba(255,255,255,0.72) → меняй 0.72 на 0.5..0.9
   - blur:       blur(14px)             → меняй 14 на 8..20
   - saturation: saturate(180%)         → 100% если хочешь без насыщения
   ============================================================================ */

/* При скролле — стеклянная шапка (Сесія 11: tokens для light/dark) */
.site-header.scrolled {
	background: var(--aq-header-glass) !important;
	-webkit-backdrop-filter: blur(14px) saturate(180%);     /* Safari/iOS */
	backdrop-filter: blur(14px) saturate(180%);             /* Chrome/Firefox/Edge */
	box-shadow: 0 1px 0 rgba(0,0,0,0.04),
	            0 8px 24px rgba(0,0,0,0.06) !important;
	border-bottom: 1px solid var(--aq-header-glass-border) !important;
}

/* body.inner glass override — ВИДАЛЕНО (Сесія 11). Inner успадковує
   home-логіку: glass з'являється тільки .site-header.scrolled. */

/* На планшете/мобиле — конкретні стилі задаються в mobile-header.css.
   Цей generic fallback видалено (Сесія 11) — конфліктував зі станами home non-scrolled. */

/* ============================================================================
   КОНЕЦ ФАЙЛА
   ============================================================================ */
/* ================================================================
   AQUATEC — Footer sitemap fixes (Сесія 5, 11 травня 2026)
   1. Top-level заголовки: однакова базова лінія для 1- і 2-рядкових
      (АВТОНОМНАЯ КАНАЛИЗАЦИЯ розривається на 2 рядки — інші заголовки
      підіймаються по верху, перші пункти зміщуються; flex + min-height
      + align-items:flex-end притискає всі заголовки до спільної нижньої
      лінії, тож level=2 пункти стартують на одному рівні).
   2. Підпункти: мінімальні vertical відступи (2px між сусідами).
   ================================================================ */
.site-footer__sitemap .mod-menu > li > a {
  display: flex;
  align-items: flex-end;
  min-height: 2.6em;
  line-height: 1.25;
  padding-bottom: 6px;
  margin-bottom: 6px;
}
.site-footer__sitemap .mod-menu__sub li,
.site-footer__sitemap ul ul li {
  margin: 0;
  padding: 0;
}
.site-footer__sitemap .mod-menu__sub li + li,
.site-footer__sitemap ul ul li + li {
  margin-top: 2px;
}
.site-footer__sitemap .mod-menu__sub li > a,
.site-footer__sitemap ul ul li > a {
  padding: 0;
  line-height: 1.4;
  display: block;
}

/* === Theme tokens: light (extended) — 12.05.2026 === */
:root {
  --aq-bg:           #ffffff;
  --aq-bg-soft:      #f5f7fa;
  --aq-bg-overlay:   rgba(255, 255, 255, 0.72);
  --aq-text-muted:   #5a6b7c;
  --aq-card-bg:      #ffffff;
  --aq-card-border:  #e1e7ee;
  --aq-shadow:       0 4px 20px rgba(27, 41, 53, 0.08);
  --aq-shadow-hover: 0 12px 36px rgba(27, 41, 53, 0.16);
}
/* === Theme tokens: dark === */
[data-theme="dark"] {
  --aq-bg:           #0d1419;
  --aq-bg-soft:      #141d26;
  --aq-bg-overlay:   rgba(13, 20, 25, 0.78);
  --aq-text:         #e8edf3;
  --aq-text-muted:   #8a9bab;
  --aq-card-bg:      #1a2530;
  --aq-card-border:  #2a3848;
  --aq-shadow:       0 4px 20px rgba(0, 0, 0, 0.45);
  --aq-shadow-hover: 0 12px 36px rgba(0, 0, 0, 0.65);
  --aq-blue:         #2cc1f5;
  --aq-blue-dark:    #1aa8db;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --aq-bg:           #0d1419;
    --aq-bg-soft:      #141d26;
    --aq-bg-overlay:   rgba(13, 20, 25, 0.78);
    --aq-text:         #e8edf3;
    --aq-text-muted:   #8a9bab;
    --aq-card-bg:      #1a2530;
    --aq-card-border:  #2a3848;
    --aq-shadow:       0 4px 20px rgba(0, 0, 0, 0.45);
    --aq-shadow-hover: 0 12px 36px rgba(0, 0, 0, 0.65);
    --aq-blue:         #2cc1f5;
    --aq-blue-dark:    #1aa8db;
  }
}

/* === Home: section Slovakia === */
.home-slovakia { background: var(--aq-bg); padding: 90px 24px 60px; text-align: center; }
.home-slovakia__inner { max-width: 1100px; margin: 0 auto; }
.home-slovakia__title { font-family: var(--aq-font); font-size: 36px; font-weight: 800; line-height: 1.15; margin: 0; color: var(--aq-text); }
.home-slovakia__title span { display: block; font-size: 24px; font-weight: 500; color: var(--aq-text-muted); margin-top: 12px; }
@media (min-width: 720px) { .home-slovakia__title { font-size: 48px; } .home-slovakia__title span { font-size: 30px; } }

/* === Home: section Banner === */
.home-banner { position: relative; background: linear-gradient(135deg, #2bcec6 0%, #01b1b0 50%, #00807f 100%); color: #fff; padding: 100px 30px; clip-path: polygon(0 36px, 100% 0, 100% calc(100% - 36px), 0 100%); margin: -18px 0; }
.home-banner__inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 30px; align-items: center; }
.home-banner__text { font-family: var(--aq-font); font-size: 17px; font-weight: 500; line-height: 1.65; filter: drop-shadow(0 4px 8px rgba(0,0,0,0.15)); }
.home-banner__turtle { width: 260px; height: 160px; justify-self: center; filter: drop-shadow(0 6px 12px rgba(0,0,0,0.2)); }
@media (min-width: 720px) { .home-banner__inner { grid-template-columns: 1fr auto; gap: 50px; } .home-banner__text { font-size: 19px; } }

/* === Home: section Products (4 cards zigzag) === */
.home-products { background: var(--aq-bg); padding: 90px 24px 40px; }
.home-product { max-width: 1100px; margin: 0 auto 70px; display: grid; grid-template-columns: 1fr; gap: 30px; align-items: center; }
.home-product__image { aspect-ratio: 4/3; background: linear-gradient(135deg, rgba(0,174,238,0.10), rgba(1,177,176,0.18)); border-radius: 24px; overflow: hidden; clip-path: inset(0 100% 0 0); opacity: 0; transition: clip-path 1.1s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.6s; }
.home-product__image img { width: 100%; height: 100%; object-fit: contain; padding: 20px; }
.home-product.in-view .home-product__image { clip-path: inset(0 0 0 0); opacity: 1; }
.home-product:nth-child(even) .home-product__image { clip-path: inset(0 0 0 100%); }
.home-product:nth-child(even).in-view .home-product__image { clip-path: inset(0 0 0 0); }
.home-product__content { opacity: 0; transform: translateX(40px); transition: opacity 0.8s ease-out 0.3s, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s; }
.home-product:nth-child(even) .home-product__content { transform: translateX(-40px); }
.home-product.in-view .home-product__content { opacity: 1; transform: translateX(0); }
.home-product__title { font-family: var(--aq-font); font-size: 26px; font-weight: 800; line-height: 1.2; color: var(--aq-text); margin: 0 0 18px; }
.home-product__text { font-family: var(--aq-font); font-size: 15px; line-height: 1.7; color: var(--aq-text-muted); margin: 0 0 26px; }
.home-product__cta { display: inline-flex; align-items: center; gap: 8px; padding: 11px 26px; background: transparent; color: var(--aq-blue); border: 2px solid var(--aq-blue); border-radius: 999px; font-family: var(--aq-font); font-weight: 700; font-size: 13px; text-decoration: none; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1); position: relative; overflow: hidden; z-index: 1; }
.home-product__cta::before { content: ''; position: absolute; inset: 0; background: var(--aq-blue); transform: scaleX(0); transform-origin: left; transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1); z-index: -1; }
.home-product__cta:hover { color: #fff; }
.home-product__cta:hover::before { transform: scaleX(1); }
@media (min-width: 900px) { .home-product { grid-template-columns: 1fr 1fr; gap: 60px; margin-bottom: 90px; } .home-product:nth-child(even) { direction: rtl; } .home-product:nth-child(even) > * { direction: ltr; } .home-product__title { font-size: 32px; } }

/* === Home: section Facts (counter) === */
.home-facts { padding: 80px 24px 100px; background: var(--aq-bg-soft); text-align: center; }
.home-facts__header { margin-bottom: 50px; }
.home-facts__icon { width: 70px; height: 70px; color: var(--aq-blue); margin: 0 auto 12px; display: block; filter: drop-shadow(0 6px 12px rgba(0, 174, 238, 0.3)); }
.home-facts__title { font-family: var(--aq-font); font-size: 30px; font-weight: 800; color: var(--aq-blue); margin: 0; letter-spacing: 2px; }
.home-facts__title small { display: block; font-size: 14px; color: var(--aq-text-muted); font-weight: 500; letter-spacing: 3px; margin-top: 4px; }
.home-facts__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 50px; }
.home-counter { opacity: 0; transform: translateY(40px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.home-counter.vis { opacity: 1; transform: translateY(0); }
.home-counter__number { font-family: var(--aq-font); font-size: 80px; font-weight: 800; line-height: 1; background: linear-gradient(135deg, var(--aq-blue) 0%, var(--aq-green) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; filter: drop-shadow(0 8px 14px rgba(0, 174, 238, 0.25)); margin-bottom: 10px; }
.home-counter__label { font-family: var(--aq-font); font-size: 17px; font-weight: 500; color: var(--aq-text); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; opacity: 0; transform: translateY(20px); transition: all 0.5s ease-out 0.4s; }
.home-counter.vis .home-counter__label { opacity: 1; transform: translateY(0); }
.home-counter__line { width: 0; height: 3px; background: var(--aq-blue); margin: 0 auto 14px; border-radius: 2px; transition: width 0.5s ease-out 0.6s; }
.home-counter.vis .home-counter__line { width: 40px; }
.home-counter__desc { font-family: var(--aq-font); font-size: 14px; line-height: 1.5; color: var(--aq-text-muted); }
@media (min-width: 720px) { .home-facts__grid { grid-template-columns: repeat(3, 1fr); gap: 30px; } .home-counter__number { font-size: 88px; } .home-facts__title { font-size: 36px; } }

/* === Home: section Blog stub === */
.home-blog { background: linear-gradient(135deg, #2bcec6 0%, #01b1b0 50%, #00807f 100%); padding: 90px 24px; clip-path: polygon(0 36px, 100% 0, 100% calc(100% - 36px), 0 100%); color: #fff; text-align: center; }
.home-blog__inner { max-width: 1100px; margin: 0 auto; }
.home-blog__title { font-family: var(--aq-font); font-size: 28px; font-weight: 800; margin: 0 0 30px; }
.home-blog__grid { display: grid; grid-template-columns: 1fr; gap: 16px; margin-bottom: 30px; }
.home-blog__stub { background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 14px; padding: 24px; min-height: 140px; display: flex; flex-direction: column; justify-content: flex-end; color: rgba(255, 255, 255, 0.85); position: relative; overflow: hidden; }
.home-blog__stub::before { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.18), transparent); transform: translateX(-100%); animation: home-blog-shimmer 2.2s infinite; }
@keyframes home-blog-shimmer { 100% { transform: translateX(100%); } }
.home-blog__stub-ttl { font-weight: 700; font-size: 16px; color: #fff; margin-bottom: 6px; }
.home-blog__stub-tx { font-size: 13px; }
.home-blog__all { display: inline-flex; align-items: center; gap: 8px; color: #fff; text-decoration: none; font-family: var(--aq-font); font-weight: 700; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; padding: 12px 28px; border: 2px solid #fff; border-radius: 999px; transition: all 0.3s; }
.home-blog__all:hover { background: #fff; color: #00807f; }
@media (min-width: 720px) { .home-blog__grid { grid-template-columns: repeat(3, 1fr); } .home-blog__title { font-size: 34px; } }

/* === Theme toggle button — стилі перенесені у [07] HEADER-ACTIONS (Сесія 12). === */
/* Action-target convention (Сесія 11):
   sun = "клацнути щоб стати LIGHT" → видно коли поточно DARK
   moon = "клацнути щоб стати DARK" → видно коли поточно LIGHT */
.theme-icon--sun { display: none; }                    /* default = light → видно moon */
[data-theme="dark"] .theme-icon--moon { display: none; }  /* dark → moon приховано */
[data-theme="dark"] .theme-icon--sun  { display: inline-block; }  /* dark → видно sun */

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
  .home-product__image, .home-product__content, .home-counter { transition: opacity 0.3s ease-out !important; transform: none !important; clip-path: none !important; }
  .home-counter__label, .home-counter__line { transition: opacity 0.3s ease-out !important; }
  .home-blog__stub::before { animation: none !important; }
}

/* === HEADER POLISH (cleaned 14.05.2026) ===
   R11 (action buttons 42px), R12-1 (logo 80px !important),
   R12-2 (--aq-header-h 96px), R12-3 (mobile-logo) і R13 (scrolled-logo 64px)
   видалені — воювали з mobile-header.css і ламали header на inner-сторінках.
   Desktop тепер використовує базові правила з секцій [03][14][15] вище:
   - header 80px / scrolled 60px,
   - лого 60px → 32px scrolled (інлайн logo IMG, рядки 882, 893),
   - action buttons 36px з border-radius:50% + border:1.5px solid currentColor
     (рядки 309-320).
   Mobile повністю контролює mobile-header.css.
   Збережений тільки (R12-4) Dropdown — він не конфліктує. === */

/* (R12-4) Dropdown: NOT bold, bigger font, more readable */
.site-nav .mod-menu__sub,
.site-nav .mod-menu__sub li,
.site-nav .mod-menu__sub li > a,
.site-nav .mod-menu__sub a { font-weight: 400 !important; }
.site-nav .mod-menu__sub li > a {
  font-size: 17px !important;
  line-height: 1.5 !important;
  padding: 14px 22px !important;
}

/* ============================================================================
   [19] DROPDOWN-THEME — кольори dropdown під light/dark тему (Сесія 11)
   ----------------------------------------------------------------------------
   Light: білий фон + чорний текст (читабельно поверх hero/banner).
   Dark:  чорний фон + білий текст (інверсія).
   Керується через CSS variables --aq-dropdown-bg / --aq-dropdown-text,
   які перевизначаються:
   - [data-theme="dark"]                    — явне dark через toggle
   - prefers-color-scheme: dark + не light  — системне dark без toggle
   ============================================================================ */
:root {
	--aq-dropdown-bg:     #ffffff;
	--aq-dropdown-text:   #1b2935;
	--aq-dropdown-border: transparent;
}
[data-theme="dark"] {
	--aq-dropdown-bg:     #0d1419;
	--aq-dropdown-text:   #ffffff;
	--aq-dropdown-border: rgba(255,255,255,0.10);
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--aq-dropdown-bg:     #0d1419;
		--aq-dropdown-text:   #ffffff;
		--aq-dropdown-border: rgba(255,255,255,0.10);
	}
}

.site-nav .mod-menu__sub {
	background: var(--aq-dropdown-bg) !important;
	border: 1px solid var(--aq-dropdown-border) !important;
}
.site-nav .mod-menu__sub li > a {
	color: var(--aq-dropdown-text) !important;
}
.site-nav .mod-menu__sub li > a:hover {
	color: var(--aq-blue) !important;
}

/* ============================================================================
   [20] HEADER-THEME — токени для glass background + scrolled text (Сесія 11)
   ----------------------------------------------------------------------------
   Light: світле glass + темний текст меню (поверх hero/banner)
   Dark:  темне glass + білий текст меню
   ============================================================================ */
:root {
	--aq-header-glass:        rgba(255, 255, 255, 0.72);
	--aq-header-glass-border: rgba(255, 255, 255, 0.35);
	--aq-header-scrolled-text: #1b2935;
}
[data-theme="dark"] {
	--aq-header-glass:        rgba(13, 20, 25, 0.78);
	--aq-header-glass-border: rgba(255, 255, 255, 0.08);
	--aq-header-scrolled-text: #ffffff;
}
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--aq-header-glass:        rgba(13, 20, 25, 0.78);
		--aq-header-glass-border: rgba(255, 255, 255, 0.08);
		--aq-header-scrolled-text: #ffffff;
	}
}

/* === PATCH P1-GLOBAL: rim fix — Cassiopeia <main> padding shows as grey rim on inner pages with Hero === */
body.aquatec-site:has(#corner) main,
body.aquatec-site:has(#corner) main#main,
body.aquatec-site:has(#corner) main.site-main,
body.aquatec-site:has(#corner) .site-main,
body.aquatec-site:has(#corner) .com-content-article,
body.aquatec-site:has(#corner) .com-content-article__body,
body.aquatec-site:has(#corner) [itemprop="articleBody"] {
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-bottom: 0 !important;
}


/* ============================================================ */
/* CONTACT WIDGET STYLES                                        */
/* ============================================================ */

:root {
  /* Colors */
  --fab-bg-color: #ca0062;
  --fab-icon-color: #fff;
  --phone-bg-color: #FFA726;
  --telegram-bg-color: #2AABEE;
  --email-bg-color: #4CAF50;
  --ai-chat-bg-color: #9C27B0;
  --button-icon-color: #fff;
  --shadow-light: rgba(255, 255, 255, 0.4);
  --shadow-dark: rgba(0, 0, 0, 0.4);

  /* Sizes and Animations */
  --fab-size: 60px;
  --button-size: 50px;
  --icon-size-fab: 30px;
  --icon-size-button: 30px;
  --fan-radius: 110px;
  --transition-speed: 0.3s;
  --transition-easing: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.material-symbols-sharp {
  font-family: 'Material Symbols Sharp';
  font-variation-settings: 'wght' 400, 'FILL' 1;
  font-style: normal;
  display: inline-block;
  line-height: 1;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: 'liga';
  user-select: none;
}

.modern-contact-widget {
  position: fixed;
  bottom: 20px;
  right: 20px;
  z-index: 1000;
  width: var(--fab-size);
  height: var(--fab-size);
}

.modern-contact-widget .widget-menu {
  position: absolute;
  inset: 0;
}

.widget-fab {
  position: absolute;
  inset: 0;
  width: var(--fab-size);
  height: var(--fab-size);
  background-color: var(--fab-bg-color);
  border-radius: 50%;
  border: none;
  cursor: pointer;
  box-shadow: 6px 6px 12px var(--shadow-dark), -6px -6px 12px var(--shadow-light);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--transition-speed) ease-out, box-shadow var(--transition-speed) ease-out;
  z-index: 1001;
  overflow: hidden;
}

.widget-fab .material-symbols-sharp {
  font-size: var(--icon-size-fab);
  color: var(--fab-icon-color);
  transition: transform 0.4s ease-in-out, opacity 0.2s ease-in-out;
  position: absolute;
}

.widget-fab .icon-close {
  transform: rotate(-90deg) scale(0.7);
  opacity: 0;
}

.widget-fab:hover {
  transform: scale(1.08);
  box-shadow: 8px 8px 16px var(--shadow-dark), -8px -8px 16px var(--shadow-light);
}

.modern-contact-widget.active .widget-fab .icon-open {
  transform: rotate(90deg) scale(0.7);
  opacity: 0;
}

.modern-contact-widget.active .widget-fab .icon-close {
  transform: rotate(0) scale(1);
  opacity: 1;
}

.widget-button {
  position: absolute;
  inset: 0;
  width: var(--button-size);
  height: var(--button-size);
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 5px 5px 10px var(--shadow-dark), -5px -5px 10px var(--shadow-light);
  cursor: pointer;
  text-decoration: none;
  opacity: 0;
  transform: scale(0.5);
  pointer-events: none;
  transition: transform var(--transition-speed) var(--transition-easing), 
              opacity var(--transition-speed) var(--transition-easing), 
              box-shadow var(--transition-speed) var(--transition-easing);
}

.widget-button .material-symbols-sharp {
  font-size: var(--icon-size-button);
  color: var(--button-icon-color);
}

.modern-contact-widget.active .widget-button {
  opacity: 1;
  pointer-events: auto;
}

.modern-contact-widget.active .widget-button:hover {
  box-shadow: 7px 7px 14px var(--shadow-dark), -7px -7px 14px var(--shadow-light);
}

/* Button Positioning */
.modern-contact-widget.active .phone {
  transform: scale(1) translate(0, calc(var(--fan-radius) * -1));
  transition-delay: 0.05s;
}

.modern-contact-widget.active .telegram {
  transform: scale(1) translate(calc(var(--fan-radius) * -0.5), calc(var(--fan-radius) * -0.87));
  transition-delay: 0.1s;
}

.modern-contact-widget.active .email {
  transform: scale(1) translate(calc(var(--fan-radius) * -0.87), calc(var(--fan-radius) * -0.5));
  transition-delay: 0.15s;
}

.modern-contact-widget.active .ai-chat {
  transform: scale(1) translate(calc(var(--fan-radius) * -1), 0);
  transition-delay: 0.2s;
}

/* Button Colors */
.phone { background-color: var(--phone-bg-color); }
.telegram { background-color: var(--telegram-bg-color); }
.email { background-color: var(--email-bg-color); }
.ai-chat { background-color: var(--ai-chat-bg-color); }

/* Label / Tooltip styles */
.ai-chat-label {
  position: absolute;
  top: 50%;
  right: calc(100% + 12px);
  transform: translateY(-50%);
  background: rgba(255, 255, 255, 0.9);
  padding: 5px 10px;
  border-radius: 20px;
  font-size: 13px;
  font-family: sans-serif;
  color: #333;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2);
  transition: opacity 0.5s ease-in-out;
  z-index: 1002;
}

/* Show tooltip when menu is active */
.modern-contact-widget.active .ai-chat-label {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
  pointer-events: auto;
}
