/*!
 * H4U Theme — assets/h4u.css
 * ВАЖНО: этот файл ДОЛЖЕН быть CSS. Раньше у вас тут оказался SVG, из-за чего “полетела” вся тема.
 * Version: 2025-12-14
 */

/* =========================
   Variables / Base
========================= */

:root{
  --bg:#050814;
  --panel:#0e141c;
  --panel2:#0b1018;
  --border:#1b2532;
  --fg:#e7f1ff;
  --muted:#a4b0be;
  --accent:#21d07a;
  --accent2:#00e5ff;
  --shadow: 0 18px 50px rgba(0,0,0,.35);
  --radius: 18px;
}

.container{
  width: min(1200px, calc(100% - 32px));
  margin: 0 auto;
}

/* чтобы секции не прилипали к липкой шапке */
:target{ scroll-margin-top: 84px; }

/* =========================
   Header / Nav / Menu
========================= */

.site-header{
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(14,20,28,.92);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--border);
}

.nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  min-height:64px;
  padding:12px 0;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color: var(--fg);
  min-width: 0;
}

.h4u-logo{
  width: 46px;
  height: 46px;
  display:block;
  border-radius: 14px;
  box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 10px 26px rgba(0,0,0,.35);
}

.burger{
  appearance:none;
  border:1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.06);
  color: var(--fg);
  border-radius: 14px;
  padding: 10px 14px;
  cursor:pointer;
  line-height:1;
  font-weight: 700;
}

.burger:hover{
  background: rgba(255,255,255,.10);
}

.menu{ display:block; }

.menu-list{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap: 14px;
}

.menu-list a{
  color: rgba(231,241,255,.90);
  text-decoration:none;
  padding: 10px 10px;
  border-radius: 12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: background .15s ease, color .15s ease, transform .15s ease;
}

.menu-list a:hover{
  background: rgba(255,255,255,.08);
  color: var(--fg);
}

.menu-list .current-menu-item > a,
.menu-list .current_page_item > a{
  background: rgba(33,208,122,.14);
  box-shadow: 0 0 0 1px rgba(33,208,122,.22) inset;
  color: var(--fg);
}

@media (min-width: 921px){
  .burger{ display:none; }
}

/* Mobile menu: ваш JS добавляет .open на #primary-menu */
@media (max-width: 920px){
  .menu{
    position: fixed;
    left: 0;
    right: 0;
    top: 64px;
    background: rgba(14,20,28,.98);
    border-bottom: 1px solid var(--border);
    padding: 14px 16px 18px;
    transform: translateY(-10px);
    opacity: 0;
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
    z-index: 1100;
  }

  .menu.open{
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
  }

  .menu-list{
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }

  .menu-list a{
    justify-content: center;
    padding: 12px 10px;
    background: rgba(255,255,255,.04);
  }

  .menu-list a:hover{
    background: rgba(255,255,255,.08);
  }

  body.nav-open{
    overflow: hidden;
  }
}

/* =========================
   Hero / Sections
========================= */

.hero{
  padding: 56px 0 22px;
}

.hero .site-title{
  margin:0 0 8px;
  font-size: clamp(28px, 4.2vw, 44px);
  line-height:1.15;
  letter-spacing: .2px;
  color: var(--fg);
}

.hero .site-tagline{
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  max-width: 72ch;
}

.section{
  padding: 22px 0 34px;
}

/* =========================
   Content / Typography
========================= */

#primary, .site-main{
  display:block;
}

h1,h2,h3{
  color: var(--fg);
  line-height:1.2;
  margin: 0 0 12px;
}

/* Явные размеры заголовков.
   Убирает предупреждение Lighthouse/Chrome про deprecated API:
   H1UserAgentFontSizeInSection (не полагаться на UA-стили внутри <section>). */
h1{ font-size: clamp(28px, 4.2vw, 44px); }
h2{ font-size: clamp(22px, 3.2vw, 34px); }
h3{ font-size: 20px; }

p{
  margin: 0 0 14px;
  color: rgba(231,241,255,.88);
}

ul,ol{
  margin: 0 0 14px 18px;
  color: rgba(231,241,255,.88);
}

a{
  color: var(--accent2);
  text-decoration:none;
}

a:hover{ text-decoration: underline; }

hr{
  border:0;
  border-top:1px solid var(--border);
  margin: 20px 0;
}

/* =========================
   Cards / Blog grid (для [h4u_blog])
========================= */

.h4u-grid{
  display:grid;
  gap: 16px;
  margin-top: 18px;
}

.h4u-cols-1{ grid-template-columns: 1fr; }
.h4u-cols-2{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.h4u-cols-3{ grid-template-columns: repeat(3, minmax(0, 1fr)); }

@media (max-width: 920px){
  .h4u-cols-2, .h4u-cols-3{ grid-template-columns: 1fr; }
}

.h4u-card{
  background: radial-gradient(1200px 600px at 10% 0%, rgba(0,229,255,.10), transparent 45%),
              radial-gradient(900px 500px at 85% 10%, rgba(33,208,122,.12), transparent 45%),
              linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--radius);
  padding: 18px 18px 16px;
  box-shadow: var(--shadow);
}

.h4u-card h2{
  font-size: 18px;
  margin: 0 0 10px;
}

.h4u-card h2 a{
  color: var(--fg);
  text-decoration:none;
}

.h4u-card h2 a:hover{
  text-decoration: underline;
}

.h4u-excerpt{
  color: rgba(231,241,255,.80);
  font-size: 14px;
}

.h4u-tags{
  margin-top: 12px;
  display:flex;
  flex-wrap: wrap;
  gap: 8px;
}

.h4u-tags a{
  display:inline-flex;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.18);
  color: rgba(231,241,255,.88);
  font-size: 12px;
  text-decoration:none;
}

/* =========================
   Footer
========================= */

.site-footer{
  margin-top: 34px;
  border-top: 1px solid var(--border);
  padding: 26px 0;
  color: var(--muted);
  background: rgba(0,0,0,.18);
}

/* =========================
   Floating контакты (чтобы не перекрывали контент)
   Если у вас другой HTML/классы — стили не повредят, но могут не сработать.
========================= */

#h4u-fab,
.h4u-fab,
.floating-actions,
.contact-fab{
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 1200;
}

#h4u-fab .fab-panel,
.h4u-fab .fab-panel,
.floating-actions .fab-panel,
.contact-fab .fab-panel{
  display:none;
}

#h4u-fab.open .fab-panel,
.h4u-fab.open .fab-panel,
.h4u-fab.is-open .fab-panel,
.floating-actions.open .fab-panel,
.contact-fab.open .fab-panel{
  display:flex;
  flex-direction: column;
  gap: 10px;
  align-items: flex-end;
}
/* =========================
   FIX: CTA кнопки на главной
========================= */

.h4u-cta,
.hero-cta,
.cta-buttons{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.h4u-btn,
.btn,
a.btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 22px;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  cursor: pointer;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
  white-space: nowrap;
}

/* Основная кнопка */
.h4u-btn.primary,
.btn-primary{
  background: linear-gradient(135deg, #21d07a, #00e5ff);
  color: #04110b;
  box-shadow: 0 10px 28px rgba(0,229,255,.35);
}

.h4u-btn.primary:hover,
.btn-primary:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(0,229,255,.45);
}

/* Вторичная кнопка */
.h4u-btn.secondary,
.btn-secondary{
  background: rgba(255,255,255,.06);
  color: #e7f1ff;
  border: 1px solid rgba(255,255,255,.18);
}

.h4u-btn.secondary:hover,
.btn-secondary:hover{
  background: rgba(255,255,255,.12);
}

/* Mobile */
@media (max-width: 720px){
  .h4u-cta,
  .hero-cta,
  .cta-buttons{
    flex-direction: row;
    gap: 10px;
  }

  .h4u-btn,
  .btn,
  a.btn{
    flex: 1 1 calc(50% - 10px);
    width: auto;
    text-align: center;
    padding: 12px 14px;
    font-size: 14px;
  }
}

@media (max-width: 420px){
  .h4u-btn,
  .btn,
  a.btn{
    flex-basis: 100%;
  }
}

/* =========================
   MENU: круглые кнопки + нормальное выравнивание текста
========================= */

.site-header .menu-list{
  gap: 12px;
}

.site-header .menu-list li{
  display: flex; /* чтобы a нормально центрировался */
}

.site-header .menu-list a{
  display: inline-flex;
  align-items: center;
  justify-content: center;

  height: 44px;            /* одинаковая высота у всех */
  padding: 0 16px;         /* одинаковые боковые отступы */
  line-height: 1;          /* чтобы текст не “плавал” */
  border-radius: 999px;    /* максимальное скругление */

  background: rgba(33, 208, 122, 0.10);
  border: 1px solid rgba(33, 208, 122, 0.22);
  color: rgba(231,241,255,0.92);

  text-decoration: none;
  white-space: nowrap;
}

/* hover */
.site-header .menu-list a:hover{
  background: rgba(33, 208, 122, 0.16);
  border-color: rgba(33, 208, 122, 0.30);
  color: #fff;
}

/* активный пункт */
.site-header .menu-list .current-menu-item > a,
.site-header .menu-list .current_page_item > a{
  background: rgba(33, 208, 122, 0.22);
  border-color: rgba(33, 208, 122, 0.40);
  color: #fff;
}
/* =========================================================
   H4U OVERRIDES (фикс меню/CTA/контента)
   Добавлено: 2025-12-14
========================================================= */

/* 1) МЕНЮ: все пункты одинаковые (без разнобоя по “активным” цветам) */
.site-header .menu-list{ gap: 12px; }
.site-header .menu-list li{ display:flex; }

.site-header .menu-list a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  height:44px;
  padding:0 16px;
  line-height:1;
  border-radius:999px;

  background: rgba(33,208,122,.10) !important;
  border: 1px solid rgba(33,208,122,.26) !important;
  color: rgba(231,241,255,.92) !important;

  text-decoration:none !important;
  white-space:nowrap;
}

.site-header .menu-list a:hover{
  background: rgba(33,208,122,.16) !important;
  border-color: rgba(33,208,122,.34) !important;
  color:#fff !important;
}

/* активный пункт НЕ должен отличаться цветом — только чуть ярче бордер */
.site-header .menu-list .current-menu-item > a,
.site-header .menu-list .current_page_item > a,
.site-header .menu-list .current-menu-ancestor > a{
  background: rgba(33,208,122,.10) !important;
  border-color: rgba(33,208,122,.46) !important;
  color:#fff !important;
  box-shadow:none !important;
}

/* 2) CTA “Услуги / Связаться”: делаем кнопками даже если это обычные ссылки в контенте */
/* Gutenberg Buttons (если используешь блок “Кнопки”) */
.wp-block-buttons{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin: 16px 0 0;
}

.wp-block-button__link{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:14px 22px !important;
  border-radius:999px !important;
  font-weight:800 !important;
  line-height:1 !important;
  text-decoration:none !important;
  background: linear-gradient(135deg, #21d07a, #00e5ff) !important;
  color:#04110b !important;
  border:0 !important;
  box-shadow: 0 14px 34px rgba(0,229,255,.28);
}

/* Если на главной это НЕ блок кнопок, а просто две ссылки-якоря — ловим по href */
.entry-content a[href="#services"],
.entry-content a[href="/#services"],
.entry-content a[href*="#services"],
.entry-content a[href="#contact"],
.entry-content a[href="/#contact"],
.entry-content a[href*="#contact"],
.entry-content a[href="#contacts"],
.entry-content a[href="/#contacts"],
.entry-content a[href*="#contacts"]{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:999px;
  font-weight:800;
  line-height:1;
  text-decoration:none !important;

  background: linear-gradient(135deg, #21d07a, #00e5ff);
  color:#04110b !important;
  box-shadow: 0 14px 34px rgba(0,229,255,.26);
  margin-right: 12px;
  margin-top: 10px;
}

/* Мобилка: CTA в столбик */
@media (max-width: 720px){
  .wp-block-buttons{ flex-direction:column; align-items:stretch; }
  .wp-block-button__link,
  .entry-content a[href*="#services"],
  .entry-content a[href*="#contact"],
  .entry-content a[href*="#contacts"]{
    width:100%;
    margin-right:0;
  }
}

/* 3) Контент: аккуратные отступы, чтобы “строение текста” не слипалось */
#page-content.section{ padding-top: 26px; }
.entry-content p{ margin: 0 0 14px; }
.entry-content h2{ margin-top: 26px; }
/* =========================================================
   GUTENBERG BUTTONS: сделать “Услуги / Связаться” кнопками
========================================================= */

/* контейнер кнопок */
.entry-content .wp-block-buttons{
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: 16px 0 0;
}

/* основная кнопка */
.entry-content .wp-block-button__link{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 14px 22px !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;

  background: linear-gradient(135deg, #21d07a, #00e5ff) !important;
  color: #04110b !important;
  border: 0 !important;

  box-shadow: 0 14px 34px rgba(0,229,255,.28);
}

.entry-content .wp-block-button__link:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 44px rgba(0,229,255,.36);
}

/* вторичная (outline) */
.entry-content .wp-block-button.is-style-outline .wp-block-button__link{
  background: rgba(255,255,255,.06) !important;
  color: #e7f1ff !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}

@media (max-width: 720px){
  .entry-content .wp-block-buttons{
    flex-direction: column;
    align-items: stretch;
  }
  .entry-content .wp-block-button__link{ width: 100%; }
}
/* =========================================================
   CONTENT FLOW: нормальные отступы между блоками Gutenberg
========================================================= */

.entry-content > *{
  margin-top: 0;
  margin-bottom: 0;
}

.entry-content > * + *{
  margin-top: 18px;
}

/* списки */
.entry-content ul,
.entry-content ol{
  margin-left: 22px;
}

.entry-content li{
  margin: 8px 0;
}
/* =========================
   HERO CTA buttons (Услуги / Связаться)
========================= */

.hero-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:18px;
}

.hero .h4u-cta-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:14px 22px;
  border-radius:999px;
  font-weight:800;
  line-height:1;
  text-decoration:none;

  background: linear-gradient(135deg, #21d07a, #00e5ff);
  color:#04110b;
  box-shadow: 0 14px 34px rgba(0,229,255,.28);
}

.hero .h4u-cta-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 18px 44px rgba(0,229,255,.36);
}

.hero .h4u-cta-btn.is-secondary{
  background: rgba(255,255,255,.06);
  color:#e7f1ff;
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
}

@media (max-width: 720px){
  .hero-actions{ flex-direction:column; align-items:stretch; }
  .hero .h4u-cta-btn{ width:100%; }
}
/* =========================
   Tight spacing: максимум 5px между блоками
========================= */

.entry-content > *{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.entry-content > * + *{
  margin-top: 5px !important;
}

/* На случай, если контент внутри .site-main без entry-content */
.site-main > * + *{
  margin-top: 5px !important;
}

/* Gutenberg: группы/колонки/обёртки часто добавляют свои отступы */
.wp-block-group,
.wp-block-columns,
.wp-block-column{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Сетка 2 колонки для блока услуг */
.grid.grid-2{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

/* Мобилка — в одну колонку */
@media (max-width: 920px){
  .grid.grid-2{
    grid-template-columns: 1fr;
  }
}

/* Подчистить мусорные списки */
.card ul{
  margin: 10px 0 0 18px;
  padding: 0;
}
.card li{ margin: 6px 0; }
/* =========================
   FIX: уменьшить самый верхний H1 в hero
========================= */

.hero h1,
.hero .site-title{
  font-size: clamp(22px, 3vw, 32px) !important;
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
}

/* =========================
   HERO: аккуратный, центр, лёгкий бирюзовый градиент
========================= */

.hero{
  position: relative;
  padding: 48px 0 36px;
  text-align: center;
  overflow: hidden;

  /* мягкий бирюзовый градиент */
  background:
    radial-gradient(800px 300px at 50% 0%, rgba(0,229,255,.14), transparent 60%),
    linear-gradient(180deg, rgba(33,208,122,.10), rgba(14,20,28,.92));
}

/* ограничение ширины текста */
.hero .container{
  max-width: 920px;
}

/* основной заголовок hero */
.hero h2{
  font-size: clamp(22px, 3vw, 32px);
  line-height: 1.25;
  margin: 0 0 12px;
  color: #e7f1ff;
}

/* текст под заголовком */
.hero p,
.hero > div > text,
.hero{
  color: rgba(231,241,255,.88);
}

/* жирная строка с опытом */
.hero strong{
  display: block;
  margin-top: 8px;
  font-weight: 700;
  color: #dff9ff;
}

/* бейджи */
.hero .badges{
  margin-top: 14px;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
}

.hero .badge{
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;

  background: rgba(33,208,122,.14);
  border: 1px solid rgba(33,208,122,.30);
  color: #e7f1ff;
}

/* мобильная версия */
@media (max-width: 720px){
  .hero{
    padding: 36px 0 28px;
  }

  .hero h2{
    font-size: 22px;
  }
}

/* H4U: mobile button size */
@media (max-width: 480px) {
  .btn,
  a.btn,
  button.btn,
  .cta .btn {
    font-size: 14px;
    padding: 10px 14px;
    min-height: 40px;
    line-height: 1.2;
  }

  /* если кнопки растягиваются на всю ширину */
  .cta {
    gap: 10px;
  }
  .cta .btn {
    width: auto;
    max-width: 100%;
  }
}
:root{
  --safe-bottom: env(safe-area-inset-bottom);
  --safe-right:  env(safe-area-inset-right);
}
.h4u-fc{
  position: fixed;
  bottom: max(18px, var(--safe-bottom));
  right:  max(18px, var(--safe-right));
}
/* =========================
   H4U mobile fix
   ========================= */
@media (max-width: 768px) {

  /* базовые размеры */
  #h4u, body {
    font-size: 16px;
    line-height: 1.55;
  }

  /* контейнер */
  #h4u .container {
    width: 100%;
    max-width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  /* заголовки */
  #h4u h1 { font-size: 26px; line-height: 1.2; }
  #h4u h2 { font-size: 20px; line-height: 1.25; margin-top: 18px; }
  #h4u h3 { font-size: 18px; line-height: 1.25; }

  /* списки */
  #h4u ul { padding-left: 18px; }
  #h4u li { margin: 8px 0; }

  /* сетки/карточки */
  #h4u .grid {
    display: grid;
    grid-template-columns: 1fr !important;
    gap: 12px;
  }

  /* CTA-кнопки в блоках */
  #h4u .cta {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
  }
  #h4u .cta .btn {
    width: 100%;
    text-align: center;
  }
}

/* ультра-мобайл */
@media (max-width: 420px) {
  #h4u h1 { font-size: 24px; }
  #h4u h2 { font-size: 19px; }
}

