/* ============================================================
   GA25 — шапка редизайна 2026
   Палитра: петроль #0E2A30 / #12333B, бирюза #39C0C7, янтарь #F59E0B
   Шрифты: Unbounded (акценты), Golos Text (текст)
   ============================================================ */

:root {
	--ga25-dark: #0E2A30;
	--ga25-panel: #12333B;
	--ga25-teal: #39C0C7;
	--ga25-teal-d: #2E8F96;
	--ga25-amber: #F59E0B;
	--ga25-white: #FFFFFF;
	--ga25-muted: rgba(255, 255, 255, .72);
	--ga25-line: rgba(255, 255, 255, .12);
	--ga25-font: 'Golos Text', system-ui, -apple-system, sans-serif;
	--ga25-display: 'Unbounded', var(--ga25-font);
}

/* ---------- топбар ---------- */
.ga25-topbar { background: var(--ga25-dark); border-bottom: 1px solid var(--ga25-line); }
.ga25-topbar-in { max-width: 1360px; margin: 0 auto; padding: 7px 24px; display: flex; align-items: center; gap: 26px; font: 500 13px/1.4 var(--ga25-font); color: var(--ga25-muted); }
.ga25-top-item { color: var(--ga25-muted); text-decoration: none; white-space: nowrap; }
a.ga25-top-item:hover { color: var(--ga25-teal); }
.ga25-usd { color: var(--ga25-teal); font-weight: 600; }
.ga25-search { margin-left: auto; display: flex; align-items: center; background: rgba(255,255,255,.07); border: 1px solid var(--ga25-line); border-radius: 8px; padding: 3px 4px 3px 12px; }
.ga25-search-in { background: none; border: 0; outline: 0; color: var(--ga25-white); font: 400 13px/1.4 var(--ga25-font); width: 170px; }
.ga25-search-in::placeholder { color: rgba(255,255,255,.45); }
.ga25-search-btn { background: none; border: 0; color: var(--ga25-muted); cursor: pointer; padding: 4px 8px; display: flex; }
.ga25-search-btn:hover { color: var(--ga25-teal); }

/* ---------- основной бар ---------- */
.ga25-header { position: sticky; top: 0; z-index: 1200; box-shadow: 0 8px 30px rgba(6, 26, 32, .35); }
.ga25-bar { background: var(--ga25-panel); }
.ga25-bar-in { max-width: 1360px; margin: 0 auto; padding: 0 24px; display: flex; align-items: center; gap: 28px; height: 74px; }
.ga25-header.ga25-compact .ga25-topbar { display: none; }
.ga25-header.ga25-compact .ga25-bar-in { height: 60px; }

.ga25-logo { display: flex; align-items: center; flex: 0 0 auto; }
.ga25-logo img { display: block; height: 42px; width: auto; transition: height .2s; }
.ga25-header.ga25-compact .ga25-logo img { height: 34px; }

.ga25-nav { display: flex; align-items: center; gap: 4px; }
.ga25-nav-item { font: 600 15px/1 var(--ga25-font); color: var(--ga25-white); text-decoration: none; padding: 12px 14px; border-radius: 10px; background: none; border: 0; cursor: pointer; display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.ga25-nav-item:hover { background: rgba(255,255,255,.08); color: var(--ga25-white); }
.ga25-nav-mega[aria-expanded="true"] { background: rgba(57,192,199,.16); color: var(--ga25-teal); }
.ga25-chev { transition: transform .2s; }
.ga25-nav-mega[aria-expanded="true"] .ga25-chev { transform: rotate(180deg); }

.ga25-right { margin-left: auto; display: flex; align-items: center; gap: 16px; }
.ga25-phone { font: 700 16px/1 var(--ga25-font); color: var(--ga25-white); text-decoration: none; letter-spacing: .01em; white-space: nowrap; }
.ga25-phone:hover { color: var(--ga25-teal); }
.ga25-soc { display: flex; align-items: center; gap: 8px; }
.ga25-soc-ic { width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--ga25-line); display: flex; align-items: center; justify-content: center; color: var(--ga25-muted); transition: .18s; }
.ga25-soc-ic:hover { color: #fff; border-color: transparent; }
.ga25-wa:hover { background: #25D366; }
.ga25-tg:hover { background: #2AABEE; }
.ga25-vk:hover { background: #0077FF; }

.ga25-cta { background: var(--ga25-amber); color: #1B1B1B; font: 700 15px/1 var(--ga25-font); border: 0; border-radius: 12px; padding: 14px 22px; cursor: pointer; transition: .18s; white-space: nowrap; }
.ga25-cta:hover { background: #FFB023; transform: translateY(-1px); }
.ga25-cta-wide { width: 100%; padding: 16px; }

/* ---------- мега-меню ---------- */
.ga25-mega { display: none; background: var(--ga25-panel); border-top: 1px solid var(--ga25-line); box-shadow: 0 30px 60px rgba(6,26,32,.45); }
.ga25-mega.ga25-open { display: block; }
.ga25-mega-in { max-width: 1360px; margin: 0 auto; padding: 30px 24px 26px; }
.ga25-mega-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; }
.ga25-mega-title { display: block; font: 700 11px/1 var(--ga25-font); letter-spacing: .12em; text-transform: uppercase; color: var(--ga25-teal); margin-bottom: 14px; }
.ga25-mega-col ul, .ga25-mega-list { list-style: none; margin: 0; padding: 0; }
.ga25-mega-col li { margin: 0 0 2px; }
.ga25-mega-col a { display: block; font: 400 14px/1.35 var(--ga25-font); color: var(--ga25-muted); text-decoration: none; padding: 6px 8px; margin: 0 -8px; border-radius: 8px; }
.ga25-mega-col a:hover { color: var(--ga25-white); background: rgba(255,255,255,.07); }

.ga25-mega-bottom { margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--ga25-line); display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.ga25-dest { display: flex; gap: 12px; flex-wrap: wrap; }
.ga25-dest-box { display: flex; flex-direction: column; gap: 4px; min-width: 172px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--ga25-line); text-decoration: none; transition: .18s; position: relative; overflow: hidden; }
.ga25-dest-box span { font: 600 14px/1.3 var(--ga25-font); color: var(--ga25-white); }
.ga25-dest-box em { font: 500 11px/1 var(--ga25-font); font-style: normal; letter-spacing: .08em; text-transform: uppercase; color: var(--ga25-teal); }
.ga25-dest-box:hover { border-color: var(--ga25-teal); transform: translateY(-2px); }
.ga25-dest-cn { background: linear-gradient(135deg, rgba(57,192,199,.16), rgba(57,192,199,.03)); }
.ga25-dest-eu { background: linear-gradient(135deg, rgba(245,158,11,.18), rgba(245,158,11,.03)); }
.ga25-dest-eu em { color: var(--ga25-amber); }
.ga25-dest-tr, .ga25-dest-us { background: rgba(255,255,255,.04); }
.ga25-mega-links { display: flex; gap: 20px; flex-wrap: wrap; }
.ga25-mega-links a { font: 600 13px/1 var(--ga25-font); color: var(--ga25-muted); text-decoration: none; border-bottom: 1px dashed rgba(255,255,255,.25); padding-bottom: 2px; }
.ga25-mega-links a:hover { color: var(--ga25-teal); border-color: var(--ga25-teal); }

/* ---------- мобильный бар ---------- */
.ga25-mbar { display: none; position: sticky; top: 0; z-index: 1200; background: var(--ga25-panel); align-items: center; justify-content: space-between; padding: 12px 16px; box-shadow: 0 6px 24px rgba(6,26,32,.35); }
.ga25-mbar-logo img { display: block; height: 30px; width: auto; }
.ga25-mbar-actions { display: flex; align-items: center; gap: 14px; }
.ga25-mbar-ic { color: var(--ga25-white); display: flex; }
.ga25-mbar-burger { background: none; border: 0; cursor: pointer; display: flex; flex-direction: column; gap: 5px; padding: 6px 2px; }
.ga25-mbar-burger span { width: 24px; height: 2.4px; border-radius: 2px; background: var(--ga25-white); }

/* ---------- мобильное меню ---------- */
.ga25-mmenu { position: fixed; inset: 0; z-index: 1400; background: var(--ga25-dark); transform: translateX(100%); transition: transform .28s ease; display: flex; flex-direction: column; overflow-y: auto; }
.ga25-mmenu.ga25-open { transform: translateX(0); }
.ga25-mmenu-head { display: flex; align-items: center; justify-content: space-between; padding: 16px; border-bottom: 1px solid var(--ga25-line); }
.ga25-mmenu-close { background: none; border: 0; color: var(--ga25-white); font-size: 24px; cursor: pointer; line-height: 1; padding: 4px 8px; }
.ga25-mmenu-nav { padding: 10px 16px; flex: 1 0 auto; }
.ga25-mmenu-item { display: flex; align-items: center; justify-content: space-between; width: 100%; text-align: left; font: 600 16px/1.3 var(--ga25-font); color: var(--ga25-white); text-decoration: none; background: none; border: 0; border-bottom: 1px solid var(--ga25-line); padding: 15px 2px; cursor: pointer; }
.ga25-macc-chev { color: var(--ga25-teal); transition: transform .2s; }
.ga25-macc.ga25-open .ga25-macc-chev { transform: rotate(180deg); }
.ga25-macc-body { display: none; padding: 4px 0 10px; }
.ga25-macc.ga25-open .ga25-macc-body { display: block; }
.ga25-mmenu-sub { list-style: none; margin: 0; padding: 0; }
.ga25-mmenu-sub a { display: block; font: 400 15px/1.4 var(--ga25-font); color: var(--ga25-muted); text-decoration: none; padding: 9px 14px; }
.ga25-mmenu-sub a:active { color: var(--ga25-teal); }
.ga25-mmenu-foot { padding: 18px 16px 26px; border-top: 1px solid var(--ga25-line); display: flex; flex-direction: column; gap: 10px; }
.ga25-mmenu-phone { font: 700 20px/1 var(--ga25-font); color: var(--ga25-white); text-decoration: none; }
.ga25-mmenu-hours { font: 400 13px/1.4 var(--ga25-font); color: var(--ga25-muted); }
.ga25-mmenu-soc { display: flex; gap: 10px; margin: 4px 0 6px; }
.ga25-mmenu-soc a { font: 600 13px/1 var(--ga25-font); color: var(--ga25-teal); text-decoration: none; border: 1px solid rgba(57,192,199,.4); border-radius: 999px; padding: 9px 16px; }

.ga25-overlay { position: fixed; inset: 0; z-index: 1100; background: rgba(6, 22, 27, .55); backdrop-filter: blur(2px); opacity: 0; pointer-events: none; transition: opacity .2s; }
.ga25-overlay.ga25-show { opacity: 1; pointer-events: auto; }

/* ---------- плавающая панель мессенджеров ---------- */
.ga25-fab { position: fixed; right: 18px; bottom: 18px; z-index: 1300; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ga25-fab-btn { width: 56px; height: 56px; border-radius: 50%; border: 0; cursor: pointer; background: var(--ga25-teal); color: #08272B; display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 26px rgba(57,192,199,.45); transition: .18s; }
.ga25-fab-btn:hover { transform: scale(1.06); }
.ga25-fab.ga25-open .ga25-fab-btn { background: var(--ga25-panel); color: var(--ga25-white); }
.ga25-fab-list { display: none; flex-direction: column; gap: 8px; }
.ga25-fab.ga25-open .ga25-fab-list { display: flex; }
.ga25-fab-item { font: 600 14px/1 var(--ga25-font); text-decoration: none; border: 0; cursor: pointer; border-radius: 999px; padding: 13px 20px; color: #fff; box-shadow: 0 8px 22px rgba(6,26,32,.35); text-align: center; }
.ga25-fab-wa { background: #25D366; }
.ga25-fab-tg { background: #2AABEE; }
.ga25-fab-calc { background: var(--ga25-amber); color: #1B1B1B; }

/* ---------- адаптив ---------- */
@media (max-width: 1180px) {
	.ga25-search { display: none; }
	.ga25-soc { display: none; }
	.ga25-nav-item { padding: 12px 10px; font-size: 14px; }
}
@media (max-width: 1023px) {
	.ga25-header { display: none; }
	.ga25-mbar { display: flex; }
}
@media (min-width: 1024px) {
	.ga25-mbar { display: none; }
	.ga25-mmenu { display: none; }
}
@media (max-width: 480px) {
	.ga25-fab { right: 12px; bottom: 12px; }
	.ga25-fab-btn { width: 52px; height: 52px; }
}

/* ============================================================
   GA25 — подвал редизайна
   ============================================================ */
footer.ga25-footer { background: var(--ga25-dark) !important; padding: 54px 0 26px; font-family: var(--ga25-font); }
.ga25-footer-in { max-width: 1360px; margin: 0 auto; padding: 0 24px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1.1fr; gap: 40px; }
.ga25-footer-logo img { height: 40px; width: auto; display: block; margin-bottom: 16px; }
.ga25-footer-desc { font: 400 14px/1.6 var(--ga25-font); color: var(--ga25-muted); margin: 0 0 14px; }
.ga25-footer-title { display: block; font: 700 11px/1 var(--ga25-font); letter-spacing: .12em; text-transform: uppercase; color: rgba(255,255,255,.45); margin-bottom: 16px; }
.ga25-footer-col ul { list-style: none; margin: 0; padding: 0; }
.ga25-footer-col li { margin: 0 0 9px; }
.ga25-footer-col a { font: 400 14px/1.45 var(--ga25-font); color: var(--ga25-muted); text-decoration: none; }
.ga25-footer-col a:hover { color: var(--ga25-teal); }
.ga25-footer-mail { display: inline-block; font: 600 14px/1.4 var(--ga25-font); color: var(--ga25-white); text-decoration: none; margin: 6px 0 12px; }
.ga25-footer-mail:hover { color: var(--ga25-teal); }
.ga25-footer-soc { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 6px; }
.ga25-footer-soc a { display: flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 10px; border: 1px solid var(--ga25-line); color: var(--ga25-muted); text-decoration: none; transition: .18s; }
.ga25-footer-soc a:hover { color: #fff; border-color: var(--ga25-teal); }
.ga25-footer-soc img { width: 18px; height: 18px; display: block; filter: brightness(0) invert(.85); }
.ga25-footer-bottom { max-width: 1360px; margin: 40px auto 0; padding: 20px 24px 0; border-top: 1px solid var(--ga25-line); display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ga25-copy { font: 400 13px/1.4 var(--ga25-font); color: rgba(255,255,255,.45); }
@media (max-width: 900px) { .ga25-footer-in { grid-template-columns: 1fr 1fr; gap: 30px; } }
@media (max-width: 560px) { .ga25-footer-in { grid-template-columns: 1fr; gap: 26px; } footer.ga25-footer { padding: 40px 0 90px; } }

/* ---------- фикс: телефон не должен подрезаться ---------- */
.ga25-bar-in { flex-wrap: nowrap; }
.ga25-nav { flex: 0 1 auto; min-width: 0; }
.ga25-right { flex: 0 0 auto; }
.ga25-phone { flex: 0 0 auto; }
@media (max-width: 1560px) {
	.ga25-search-in { width: 120px; }
	.ga25-nav-item { padding: 12px 10px; }
	.ga25-bar-in { gap: 18px; }
}
@media (max-width: 1420px) {
	.ga25-vk { display: none; }
	.ga25-cta { padding: 14px 16px; }
}

/* ---------- v1.2: логотип — белая версия на тёмном фоне ---------- */
.ga25-logo img, .ga25-mbar-logo img, .ga25-mmenu-head img, .ga25-footer-logo img {
	filter: brightness(0) invert(1);
}

/* ---------- v1.3: телефон целиком на ноутбучных экранах ---------- */
@media (max-width: 1600px) {
	.ga25-vk { display: none; }
	.ga25-phone { font-size: 15px; }
	.ga25-bar-in { gap: 14px; }
	.ga25-nav-item { font-size: 14px; padding: 12px 8px; }
	.ga25-cta { padding: 13px 16px; font-size: 14px; }
}

/* ---------- v1.4: подвал — доводка по сетке макета ----------
   Только стилизация имеющейся разметки footer.php.
   Состав ссылок и вызовы wp_nav_menu() не затрагиваются. */
/* колонки: лого+описание шире, три меню — равные */
.ga25-footer-in { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
/* ссылки меню: 14px с межстрочным 2 */
.ga25-footer-col a { font: 400 14px/2 var(--ga25-font); }
.ga25-footer-col li { margin: 0; }

/* ---------- v1.5: «Ещё…» в мега-меню — раскрытие подсписка ----------
   Разметка render_menu_with_more(): скрытые пункты лежат во вложенном
   <ul class="menu-more-submenu"> внутри <li> кнопки «Еще...».
   Старый app.min.css красит этот ul как абсолютный попап старой шапки
   (position:absolute, top:-6.7vw!important, фон #3b97b3) — в колонке
   мега-меню нейтрализуем это и показываем как обычное продолжение списка. */
/* app.min даёт li.menu-item-more display:flex — кнопка и список вставали в ряд */
.ga25-mega-col li.menu-item-more { display: block !important; }
.ga25-mega-col .menu-more-submenu {
	display: none;
	position: static !important;
	top: auto !important; left: auto !important;
	background: none !important; border: 0 !important; border-radius: 0 !important;
	margin: 0 !important; padding: 0 !important; gap: 0 !important;
	list-style: none;
}
.ga25-mega-col .menu-more-submenu.ga25-more-open { display: block !important; }
/* кнопка «Еще...» — выглядит как пункт меню, бирюзовый акцент */
.ga25-mega-col .menu-more-toggle {
	display: inline-flex !important; align-items: center; gap: 7px;
	background: none !important; border: 0 !important; cursor: pointer;
	padding: 6px 8px !important; margin: 0 -8px !important; border-radius: 8px;
	font: 600 14px/1.35 var(--ga25-font) !important; color: var(--ga25-teal) !important;
}
.ga25-mega-col .menu-more-toggle:hover { background: rgba(255,255,255,.07) !important; color: var(--ga25-white) !important; }
.ga25-mega-col .menu-more-toggle .new-header-arrow-icon { width: 11px !important; height: 11px !important; transition: transform .2s; }
.ga25-mega-col .menu-more-toggle.ga25-more-on .new-header-arrow-icon { transform: rotate(135deg); }

/* ---------- v1.6: мобильное меню — плавное раскрытие групп ----------
   Группы синхронизированы с десктопным мега-меню (ID 60/52/55/56/53).
   Вместо display:none/block — max-height с transition: свёрнуто по
   умолчанию, тап раскрывает/сворачивает плавно. max-height 1400px с
   запасом покрывает самый длинный список («Услуги», 23 пункта).
   Правила выше (display) перекрываем каскадом здесь же. */
.ga25-macc-body { display: block; overflow: hidden; max-height: 0; padding: 0; transition: max-height .32s ease, padding .2s ease; }
.ga25-macc.ga25-open .ga25-macc-body { display: block; max-height: 1400px; padding: 4px 0 10px; }
@media (prefers-reduced-motion: reduce) {
	.ga25-macc-body { transition: none; }
}
