/*
Theme Name: NUC PKI Manual
*/

/* --- 1 БАЗА (Исправляем прилипание футера) --- */
body {
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
    background: #f8f9fa;
    margin: 0;
    color: #333;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    /* Высота на весь экран */
}

/* Этот класс заставит контент растягиваться и толкать футер вниз */
.main-content-wrap {
    flex: 1;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 15px;
}

a {
    text-decoration: none;
    color: #0056b3;
    transition: 0.2s;
}

a:hover {
    color: #f39c12;
}

img {
    max-width: 100%;
    height: auto;
}

/* --- 2. ХЕДЕР --- */
.site-header {
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
    padding: 15px 0;
    z-index: 1000;
}
.site-header {
    left: 0;
    width: 100%;
    z-index: 1000;
}

.header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.logo {
    display: flex;
    align-items: center;
    gap: 15px;
    color: #333;
}

/* Стили для картинки логотипа */
.logo-icon-img {
    width: 50px;
    /* Размер как в ТЗ */
    height: auto;
    margin-right: 15px;
    /* Отступ от текста */
}

.logo-text {
    font-size: 12px;
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.3;
}

.header-tools {
    display: flex;
    align-items: center;
    gap: 25px;
}

/* ==============================
   Footer search (works with ANY get_search_form markup)
   ============================== */

.site-footer .footer-search{
  position: relative;
  width: 100%;
  max-width: 520px;
}

/* ловим любую форму поиска */
.site-footer .footer-search form[role="search"],
.site-footer .footer-search form.search-form{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

/* ловим любое поле поиска */
.site-footer .footer-search input[type="search"]{
  flex: 1;
  width: 100%;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color: #fff;
  outline: none;
  padding: 0 52px 0 12px; /* место под X */
  box-sizing: border-box;
}

.site-footer .footer-search input[type="search"]::placeholder{
  color: rgba(255,255,255,.65);
}

/* кнопка submit */
.site-footer .footer-search button[type="submit"],
.site-footer .footer-search input[type="submit"]{
  height: 38px;
  border-radius: 10px;
  border: 0;
  background: transparent;
  color: #fff;
  padding: 0 12px;
  cursor: pointer;
}

/* убираем встроенный браузерный крестик */
.site-footer .footer-search input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance: none;
  appearance: none;
  display: none;
}
.site-footer .footer-search input[type="search"]::-ms-clear{
  display:none;
  width:0;
  height:0;
}

/* наш крестик (если добавлен кнопкой в футере) */
.site-footer .footer-search .search-clear{
  position: absolute;
  right: 56px; /* чтобы не налез на submit */
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color: #fff;
  font-size: 18px;
  line-height: 26px;
  padding: 0;
  cursor: pointer;
}
.site-footer .footer-search .search-clear:hover{
  background: rgba(255,255,255,.18);
}




/* --- 4. 1414 и Языки --- */
.call-center {
    font-size: 20px;
    font-weight: 800;
    color: #0056b3;
    display: flex;
    gap: 5px;
}

.language-switcher .lang-list{
  display:flex;
  gap:10px;
  align-items:center;
}

.language-switcher .lang-list a{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border:1px solid #ddd;
  border-radius:6px;
  font-weight:700;
  color:#0056b3;
  background:#fff;
}

.language-switcher .lang-list a.current{
  background:#0056b3;
  border-color:#0056b3;
  color:#fff;
}

.language-switcher img.flag{
  width:18px;
  height:auto;
  display:inline-block;
}

/* На всякий — убираем маркеры, если где-то ещё всплывет UL */
.language-switcher ul,
.language-switcher li{
  list-style:none;
  margin:0;
  padding:0;
}
/* =====================================================
   MOBILE HEADER ADAPTATION
   ===================================================== */

/* Бургер — по умолчанию скрыт */
.burger {
    display: none;
    font-size: 26px;
    background: none;
    border: none;
    cursor: pointer;
    color: #0056b3;
}

/* Мобильное меню */
.mobile-menu {
    background: #fafafa;
    border-top: 1px solid #e0e0e0;
    padding: 16px;
}

/* --- 5. ГЛАВНАЯ --- */
.main-title {   
    text-align: center;
    margin-top: 60px;
    margin-bottom: 100px;
    color: #0056b3;
    font-size: 28px;
    font-weight: 700;
}

.sections-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin-bottom: 60px;
}

.section-card {
    background: #fff;
    border: 1px solid #e1e4e8;
    border-radius: 12px;
    padding: 30px;
    transition: 0.3s;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);
}

.section-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    border-color: #0056b3;
}

.section-card h3 {
    color: #0056b3;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 15px;
    margin-top: 0;
}

.section-card ul {
    padding-left: 20px;
    margin: 0;
}

.section-card li {
    margin-bottom: 10px;
}

/* --- 6. РАССЫЛКА (ПРИЖАТА К НИЗУ) --- */
.newsletter-wrapper {
    margin-top: auto;
    /* Толкаем рассылку в самый низ контентной части */
    width: 100%;
}

.newsletter {
    background: #e9ecef;
    padding: 60px 0;
    text-align: center;
    border-top: 1px solid #dee2e6;
}

.nl-form {
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
}

.nl-form input {
    padding: 15px;
    width: 350px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 16px;
}

.nl-form button {
    background: #0056b3;
    color: #fff;
    border: none;
    padding: 15px 30px;
    border-radius: 6px;
    font-size: 16px;
    font-weight: bold;
    cursor: pointer;
}

.nl-form button:hover {
    background: #004494;
}

/* --- 7. ВНУТРЕННИЕ СТРАНИЦЫ --- */
.page-layout {
    display: flex;
    gap: 40px;
    margin: 0;
}

.sidebar {
    width: 280px;
    flex-shrink: 0;
    background: #fff;
    border: 1px solid #eee;
    padding: 25px;
    border-radius: 8px;
    height: fit-content;
}

.sidebar h4 {
    margin-top: 0;
    border-bottom: 2px solid #0056b3;
    padding-bottom: 10px;
}

.sidebar ul {
    list-style: none;
    padding: 0;
}

.sidebar li {
    border-bottom: 1px solid #f5f5f5;
}

.sidebar a {
    display: block;
    padding: 12px 5px;
    color: #555;
}

.sidebar a:hover {
    color: #f39c12;
    background: #f9f9f9;
}

.sidebar li.current_page_item>a {
    color: #0056b3;
    font-weight: bold;
    border-left: 3px solid #0056b3;
    padding-left: 10px;
    background: #f0f7ff;
}

.content-area {
    flex-grow: 1;
    background: #fff;
    padding: 40px;
    border-radius: 8px;
    border: 1px solid #eee;
}


/* ===== Links hover (по всему сайту) ===== */
a {
  color: #0056b3;
  text-decoration: none;
  transition: color .15s ease, text-decoration-color .15s ease, background-color .15s ease;
}
a:hover {
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}



/* ===== Footer layout ===== */
.site-footer{
  background:#343a40;
  color:#ddd;
  padding: 30px 0 18px;
}

.site-footer h5{
  margin:0 0 10px;
  color:#fff;
  font-size: 13px;
  letter-spacing: .6px;
  text-transform: uppercase;
}

.footer-layout{
  display:grid;
  grid-template-columns: 1.2fr 1fr 90px; /* left / right / logos */
  gap: 36px;
  align-items:start;
}

.footer-left, .footer-right{
  display:flex;
  flex-direction:column;
  gap: 22px;
}


/* Подпись под рассылкой */
.footer-note{
  margin: 0 0 12px;
  color: rgba(255,255,255,.70);
  font-size: 12.5px;
  line-height: 1.35;
  max-width: 520px;
}



/* ===== Newsletter ===== */
.footer-nl-form{
  display:flex;
  gap:10px;
  align-items:center;
  max-width: 520px;
}

.footer-nl-form input[type="email"]{
  flex: 1;
  height: 38px;
  padding: 0 12px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color:#fff;
  outline:none;
}

.footer-nl-form input::placeholder{
  color: rgba(255,255,255,.55);
}

.footer-nl-form button{
  height: 38px;
  padding: 0 14px;
  border-radius: 10px;
  border: none;
  background:#0b5ed7;
  color:#fff;
  cursor:pointer;
  white-space:nowrap;
}

.footer-nl-form button:hover{ background:#0a53be; }

/* ===== Contacts ===== */
.footer-contacts{
  display:flex;
  flex-direction:column;
  gap: 10px;
}

.footer-mail{
  color:#ccc;
  text-decoration:none;
}

.footer-mail:hover{ color:#fff; }

.footer-phone{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#ccc;
  text-decoration:none;
}

.footer-phone:hover{ color:#fff; }

.footer-phone .phone-ico{
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(255,255,255,.08);
}

/* ===== Social icons (same but calmer) ===== */
.site-footer .social-links{
  display:flex;
  gap: 20px;
  margin-top: 6px;
}

.site-footer .social-links a{
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background:#fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .15s ease, box-shadow .15s ease;
}

.site-footer .social-links a img{
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.site-footer .social-links a:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.22);
}

/* ===== Vertical logos (right) ===== */
.footer-logos-vertical{
  display:flex;
  flex-direction:column;
  gap: 18px;
  align-items:flex-end;
  justify-content:flex-start;
  padding-top: 8px;
  margin-left: auto;
}

.footer-logos-vertical a{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background:#fff;


display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .15s ease, box-shadow .15s ease;
}

.footer-logos-vertical a img{
  max-width: 32px;
  max-height: 32px;
  object-fit: contain;
}

.footer-logos-vertical a:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0,0,0,.22);
}

/* ===== Bottom ===== */
.footer-bottom{
  margin-top: 18px;
  text-align:center;
  color: rgba(255,255,255,.55);
  font-size: 12px;
}

/* ===== Responsive ===== */
@media (max-width: 900px){
  .footer-layout{
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .footer-logos-vertical{
    flex-direction: row;
    align-items:center;
    justify-content:flex-start;
    padding-top: 0;
  }
  .footer-nl-form{
    flex-direction:column;
    align-items:stretch;
  }
  .footer-nl-form button{
    width: 100%;
  }
  .footer-search .search-form{
    max-width: 100%;
  }
}





/* =========================================================
   ВНУТРЕННИЕ СТРАНИЦЫ — ЕДИНЫЙ СТИЛЬ (NCALayer + Физ лица)
   ========================================================= */

/* ---------- Layout ---------- */
.page-layout {
    display: flex;
    gap: 24px;
    padding: 24px 0;
}

@media (max-width: 768px) {
    .page-layout {
        flex-direction: column;
    }
}

/* ---------- Sidebar ---------- */
.sidebar {
    width: 260px;
    flex-shrink: 0;
}

@media (max-width: 768px) {
    .sidebar {
        width: 90%;
    }
}

.sidebar-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-menu li {
    margin-bottom: 6px;
}

/* === ЕДИНЫЙ СТИЛЬ ДЛЯ ВСЕХ ПУНКТОВ МЕНЮ === */
.sidebar-menu li a {
    display: block;
    padding: 10px 12px;
    border-radius: 10px;
    text-decoration: none;
    color: #0056b3;
    line-height: 1.4;
}

.sidebar-menu li a:hover {
    background: #f9f9f9;
}

/* === АКТИВНЫЙ ПУНКТ (как на NCALayer) === */
.sidebar-menu li.current_page_item > a {
    background: #f2f4f7;
    font-weight: 600;
}

/* ---------- Подменю (Личный кабинет) ---------- */
/* ВАЖНО: "Личный кабинет" — ЭТО ОБЫЧНАЯ ССЫЛКА, БЕЗ ОСОБЫХ СТИЛЕЙ */

/* Подпункты */
.sidebar-menu .sidebar-submenu {
    list-style: disc;        /* точки */
    margin-left: 22px;       /* сдвиг вправо */
    padding-left: 18px;
    margin-top: 6px;
    margin-bottom: 6px;
}


/* Подпункты — ссылки */
.sidebar-menu .sidebar-submenu li a {
    padding: 6px 8px;
    font-size: 14px;
    border-radius: 6px;
}

/* Hover подпунктов */
.sidebar-menu .sidebar-submenu li a:hover {
    background: #f9f9f9;
}

/* Активный якорь (подсветка при скролле) */
.sidebar-menu .sidebar-submenu li a.active {
    background: #e6f0fb;
    font-weight: 600;
}

/* ---------- Content ---------- */
.content-area {
    flex: 1;
    background: #fff;
    padding: 24px;
    border-radius: 12px;
}

/* ---------- Навигация Prev / Next ---------- */
.page-navigation a {
    color: #0056b3;
    text-decoration: none;
    font-weight: 500;
}

.page-navigation a:hover {
    text-decoration: underline;
}
/* =========================================================
   MOBILE — Физические лица / NCALayer
   ========================================================= */

@media (max-width: 768px) {

    /* Layout */
    .page-layout {
        flex-direction: column;
        gap: 16px;
        padding: 16px 0;
    }

    /* Sidebar */
    .sidebar {
        width: 90% !important;
         /* ВАЖНО: чтобы не было горизонтального скролла */
         margin: 0 auto; /* Центрируем сайдбар на мобильных */
    }

    .sidebar-menu li a {
        font-size: 15px;
        padding: 12px 14px;
    }

    /* Активный пункт */
    .sidebar-menu li.current_page_item > a {
        background: #f2f4f7;
        font-weight: 600;
    }

    /* Подменю (Личный кабинет) */
    .sidebar-menu .sidebar-submenu {
        margin-left: 20px;
        padding-left: 16px;
    }

    .sidebar-menu .sidebar-submenu li a {
        font-size: 14px;
        padding: 8px 10px;
    }

    /* Content */
    .content-area {
        padding: 20px 16px;
        border-radius: 10px;
    }

    /* Заголовок страницы */
    .content-area h1 {
        font-size: 22px;
        line-height: 1.3;
    }
}

/* =========================
   MOBILE ADAPTATION (main + footer)
   ========================= */

/* Главная: 3 колонки -> 1 колонка */
@media (max-width: 768px){
  .main-title{
    margin-top: 28px;
    margin-bottom: 24px;
    font-size: 22px;
  }

  .sections-grid{
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 30px;
  }

  .section-card{
    padding: 18px;
    border-radius: 12px;
  }

  .section-card h3{
    font-size: 16px;
    padding-bottom: 10px;
  }

  .section-card li{
    margin-bottom: 8px;
  }
}

/* ---------------------Футер-----------------*/
@media (max-width: 600px){
  .poisk{ display:none !important; }
  .footer-search{ display:none !important; }
  .footer-logos-vertical{ display:none !important; }





  .site-footer{
    padding: 22px 0 14px;
  }

  .footer-layout{
    gap: 16px;
  }

  .footer-left, .footer-right{
    gap: 16px;
  }


  .footer-search .search-form{
    max-width: 100%;
  }

  .footer-search .search-field{
    height: 34px;
  }


  .footer-nl-form{
    gap: 10px;
  }
  .footer-nl-form input[type="email"]{
    height: 40px;
    font-size: 15px;
    padding: 0 14px;
    border-radius: 10px;
  }

  .footer-nl-form button{
    height: 40px;
    font-size: 15px;
    border-radius: 10px;
  }

  .footer-nl-form input[type="email"]::placeholder{
    font-size: 14px;
    opacity: .75;
  }

  .site-footer .social-links{
    gap: 14px;
  }

  .footer-logos-vertical{
    gap: 12px;
    justify-content: flex-start;
  }

  .footer-logos-vertical a{
    width: 52px;
    height: 52px;
  }

    .footer-nl-form{
    align-items: stretch;
  }

  .footer-nl-form input[type="email"]{
    height: 40px !important;
    min-height: 40px !important;
    line-height: 40px !important;
    padding: 0 14px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .footer-nl-form button{
    height: 48px !important;
    min-height: 48px !important;
    line-height: 48px !important;
    font-size: 15px !important;
    border-radius: 10px !important;
  }
}


/* =========================
   Offcanvas Sidebar (mobile)
   ========================= */



/* mobile behavior */
@media (max-width: 900px){
  /* фиксированная кнопка — всегда доступна */
  .oc-nav-toggle{
    display:inline-flex;
    align-items:center;
    gap:10px;

    position: fixed;
    left: 14px;
    top: 84px;
    z-index: 10001;

    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.96);
    color: #0b3a7a;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .oc-nav-toggle__icon{
    font-size: 16px;
    line-height: 1;
  }
  .oc-nav-toggle__text{
    font-size: 14px;
    line-height: 1;
  }

  /* overlay */
  .oc-overlay{
    display:block;
    position:fixed;
    inset:0;
    background: rgba(0,0,0,.35);
    opacity:0;
    pointer-events:none;
    transition: .2s ease;
    z-index: 10000;
  }

  /* sidebar offcanvas */
  .oc-sidebar{
    position:fixed;
    top:0;
    left:0;
    height:100dvh;
    width: min(340px, 88vw);
    background:#fff;
    z-index: 10002;

    transform: translateX(-105%);
    transition: .25s ease;
    box-shadow: 20px 0 40px rgba(0,0,0,.18);
    overflow:auto;
    padding: 14px;
    border-radius: 0;
  }

  .oc-sidebar__top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom: 10px;
  }

  .oc-sidebar__title{
    font-weight: 800;
    font-size: 16px;
    color:#111;
  }

  .oc-nav-close{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border-radius:10px;
    border:1px solid rgba(0,0,0,.12);
    background:#fff;
    cursor:pointer;
  }

  /* OPEN STATE */
  body.oc-open .oc-sidebar{
    transform: translateX(0);
  }
  body.oc-open .oc-overlay{
    opacity:1;
    pointer-events:auto;
  }

  /* На мобилке скрываем обычный сайдбар в потоке,
     чтобы не занимал место (он останется внутри oc-sidebar) */
  .page-template-page-ncalayer-php .page-layout > .sidebar:not(.oc-sidebar),
  .page-template-page-individual-php .page-layout > .sidebar:not(.oc-sidebar),
  .page-template-page-legal-php .page-layout > .sidebar:not(.oc-sidebar){
    display:none !important;
  }

  /* Контент на всю ширину */
  .page-template-page-ncalayer-php .page-layout,
  .page-template-page-individual-php .page-layout,
  .page-template-page-legal-php .page-layout{
    flex-direction: column;
  }

  /* Чтобы фикс-кнопка не перекрывала заголовок контента */
  .page-template-page-ncalayer-php .content-area,
  .page-template-page-individual-php .content-area,
  .page-template-page-legal-php .content-area{
    padding-top: 12px;
  }
}

/* если у тебя админ-бар на мобилке — чуть опускаем кнопку */
@media (max-width: 900px){
  body.admin-bar .oc-nav-toggle{
    top: 110px;
  }
}
@media (max-width: 900px){
  .oc-nav-toggle{
    display:inline-flex !important;
    position: fixed;
    left: 14px;
    top: 84px;
    z-index: 10001;

    align-items:center;
    gap:10px;
    padding: 10px 12px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.12);
    background: rgba(255,255,255,.96);
    color: #0b3a7a;
    font-weight: 700;
    box-shadow: 0 10px 24px rgba(0,0,0,.12);
  }

  .oc-overlay{
    display:block !important;
    position:fixed;
    inset:0;
    background: rgba(0,0,0,.35);
    opacity:0;
    pointer-events:none;
    transition: .2s ease;
    z-index: 10000;
  }

  .oc-sidebar{
    position:fixed;
    top:0;
    left:0;
    height:100dvh;
    width: min(340px, 88vw);
    background:#fff;
    z-index: 10002;
    transform: translateX(-105%);
    transition: .25s ease;
    box-shadow: 20px 0 40px rgba(0,0,0,.18);
    overflow:auto;
    padding: 14px;
  }

  body.oc-open .oc-sidebar{ transform: translateX(0); }
  body.oc-open .oc-overlay{ opacity:1; pointer-events:auto; }

  /* на мобилке скрываем обычный сайдбар в потоке, чтобы не было дубля */
  .page-layout > .sidebar:not(.oc-sidebar){
    display:none !important;
  }
}

/* admin bar */
@media (max-width: 900px){
  body.admin-bar .oc-nav-toggle{ top: 110px; }
}
/* Offcanvas toggle: start under header, then float on scroll */
@media (max-width: 900px){

  /* место под кнопку в потоке */
  .oc-nav-anchor{
    position: sticky;
    top: 0;                 /* "под хедером" будет управляться через JS */
    z-index: 50;
    padding: 10px 0;
    background: transparent;
  }

  /* кнопка обычная (в потоке) */
  .oc-nav-toggle{
    position: relative !important;
    top: auto !important;
    left: auto !important;
    z-index: 60;
  }

  /* когда добавим класс — кнопка станет fixed сверху */
  body.oc-floating .oc-nav-anchor{
    position: static; /* чтобы anchor не мешал */
    padding: 0;
  }

  body.oc-floating .oc-nav-toggle{
    position: fixed !important;
    left: 14px !important;
    top: 12px !important;
    z-index: 10001;
  }

  /* если есть admin-bar */
  body.admin-bar.oc-floating .oc-nav-toggle{
    top: 10px !important;
  }
}
/* offcanvas скрыт на десктопе */
.oc-nav-toggle,
.oc-overlay,
.oc-sidebar{
  display:none;
}


/* ===== Sidebar dots: сделать точки ближе к тексту ===== */
.sidebar-menu .sidebar-submenu li{
  position: relative;
  padding-left: 10px;   /* было слишком далеко */
  margin-bottom: 6px;
}

.sidebar-menu .sidebar-submenu li::before{
  content: "•";
  position: absolute;
  left: 2px;            /* подвинуть точку ближе */
  top: 11px;            /* под центр строки (под твой padding a) */
  font-size: 10px;      /* меньше, аккуратнее */
  line-height: 1;
  color: #111;
}

/* Вложенные уровни (если у тебя есть level-1/2/3) */
.sidebar-menu .sidebar-submenu.level-1 > li{ padding-left: 14px; }
.sidebar-menu .sidebar-submenu.level-2 > li{ padding-left: 24px; }
.sidebar-menu .sidebar-submenu.level-3 > li{ padding-left: 34px; }
.sidebar-menu .sidebar-submenu li{ padding-left: 10px !important; }
.sidebar-menu .sidebar-submenu li::before{ left: 2px !important; }


/* NCALayer/Individual/Legal: on mobile hide desktop sidebar */
@media (max-width: 900px){
  .page-layout > .sidebar{ display:none !important; }
}

/* Убираем точки ТОЛЬКО на странице NCALayer */
.page-template-page-ncalayer-php .sidebar-menu ul,
.page-template-page-ncalayer-php .sidebar-menu li {
    list-style: none !important;
}

.page-template-page-ncalayer-php .sidebar-menu li::before {
    content: none !important;
}

/* NCALayer — убрать левый отступ подменю */
.page-template-page-ncalayer-php .sidebar-submenu {
    margin-left: 10px !important;
    padding-left: 0 !important;
}

.page-template-page-ncalayer-php .sidebar-submenu li {
    padding-left: 0 !important;
}
 @media (max-width: 900px) {
  .oc-nav-toggle{
    width: auto !important;          /* НЕ растягивать */
    max-width: none !important;

    display: inline-flex !important; /* компактная */
    margin: 12px auto !important;    /* по центру */

    padding: 8px 12px !important;
  }

  /*для текста, если длинный*/
  .oc-nav-toggle__text{
    max-width: 170px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
@media (max-width: 900px) {
  .oc-nav-toggle{
    margin: 12px 14px !important;
  }
}
/* ===== OFFCANVAS FIX (final override) ===== */
@media (max-width: 900px){

  .oc-nav-toggle{
    display: inline-flex !important;
  }

  .oc-overlay{
    display: block !important;
  }

  .oc-sidebar{
    display: block !important; 
  }

  body.oc-open .oc-overlay{
    opacity: 1;
    pointer-events: auto;
  }

  body.oc-open .oc-sidebar{
    transform: translateX(0);
  }
}
/* ==========================================
   INDIVIDUAL + LEGAL: убрать точки/буллеты
   ========================================== */

/* Убирает стандартные буллеты (если вдруг есть) */
.page-template-page-ncalayer-php .sidebar-menu,
.page-template-page-ncalayer-php .sidebar-menu ul,
.page-template-page-individual-php .sidebar-menu,
.page-template-page-individual-php .sidebar-menu ul,
.page-template-page-legal-php .sidebar-menu,
.page-template-page-legal-php .sidebar-menu ul{
  list-style: none !important;
  margin: 0;
  padding: 0;
}

/* Убирает твои "точки" ::before у li */
.page-template-page-ncalayer-php .sidebar-submenu li::before,
.page-template-page-individual-php .sidebar-submenu li::before,
.page-template-page-legal-php .sidebar-submenu li::before{
  content: none !important;
}

/* ==========================================
   Стрелки ➤ только для пунктов с подпунктами
   ========================================== */

.page-template-page-ncalayer-php .sidebar-menu li.has-children > a,
.page-template-page-individual-php .sidebar-menu li.has-children > a,
.page-template-page-legal-php .sidebar-menu li.has-children > a{
  position: relative;
  padding-left: 28px;
}

.page-template-page-ncalayer-php .sidebar-menu li.has-children > a::before,
.page-template-page-individual-php .sidebar-menu li.has-children > a::before,
.page-template-page-legal-php .sidebar-menu li.has-children > a::before{
  content: "➤";
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(0deg);
  transition: transform .18s ease;
  font-size: 12px;
  line-height: 1;
  opacity: .9;
}

/* Когда пункт открыт — поворачиваем вниз (90deg) */
.page-template-page-ncalayer-php .sidebar-menu li.open.has-children > a::before,
.page-template-page-individual-php .sidebar-menu li.open.has-children > a::before,
.page-template-page-legal-php .sidebar-menu li.open.has-children > a::before{
  transform: translateY(-50%) rotate(90deg);
}
/* ===== Chat-bot floating button ===== */
.chatbot-fab{
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 99999;

  display: inline-flex;
  align-items: center;
  gap: 12px;

  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.chatbot-fab__label{
  position: relative;
  background: #0b63b8;
  color: #fff;
  font-weight: 700;

  padding: 12px 20px 12px 18px;
  border-radius: 14px;

  box-shadow: 0 8px 18px rgba(0,0,0,.15);
  transition: background .18s ease;
}

/* аккуратный тонкий хвостик */
.chatbot-fab__label::after{
  content: "";
  position: absolute;
  right: -6px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);

  width: 10px;
  height: 10px;
  background: #0b63b8;
  border-radius: 2px;

  pointer-events: none; /* чтобы не выделялся */
}

/* hover — меняем только фон плашки */
.chatbot-fab:hover .chatbot-fab__label{
  background: #094f93;
}

/* ВАЖНО: фикс цвета хвостика при hover */
.chatbot-fab:hover .chatbot-fab__label::after{
  background: #094f93;
}


.chatbot-fab__circle{
  width: 56px;
  height: 56px;
  border-radius: 999px;
  background: #0b63b8;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  box-shadow: 0 10px 24px rgba(0,0,0,.18);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  overflow: hidden; /* чтобы картинка не вылезала */
}

.chatbot-fab__img{
  width: 28px;      /* подгони под свою картинку */
  height: 28px;
  object-fit: contain;
  display: block;
}

/* hover/active */
.chatbot-fab:hover .chatbot-fab__label,
.chatbot-fab:hover .chatbot-fab__circle{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,.22);
  background: #0a5aa8;
}

.chatbot-fab:active .chatbot-fab__label,
.chatbot-fab:active .chatbot-fab__circle{
  transform: translateY(0);
}

/* mobile: можно оставить только круг, если хочешь компактно */
@media (max-width: 480px){
  .chatbot-fab{ right: 14px; bottom: 14px; gap: 10px; }
  .chatbot-fab__label{ padding: 10px 14px; font-size: 14px; }
  .chatbot-fab__circle{ width: 52px; height: 52px; }
}

/* ==============================
   Footer search (for form.searchform + #s + #searchsubmit)
   ============================== */

.site-footer .footer-search{
  position: relative;
  width: 100%;
  max-width: 520px;
}

/* форма из get_search_form() */
.site-footer .footer-search form.searchform{
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0;
}

/* поле поиска (у тебя type=text, id=s, name=s) */
.site-footer .footer-search #s,
.site-footer .footer-search input[name="s"]{
  flex: 1;
  width: 100%;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color: #fff;
  outline: none;
  padding: 0 52px 0 12px; /* место под X */
  box-sizing: border-box;
}

/* label “Найти:” скрываем */
.site-footer .footer-search .screen-reader-text{
  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;
}

/* submit кнопка */
.site-footer .footer-search #searchsubmit,
.site-footer .footer-search input#searchsubmit,
.site-footer .footer-search input[type="submit"]{
  height: 38px;
  border-radius: 10px;
  border: 0;
  background: transparent;
  color: #fff;
  padding: 0 12px;
  cursor: pointer;
}

/* наш крестик */
.site-footer .footer-search .search-clear{
  position: absolute;
  right: 60px;  /* чтобы не налезать на submit */
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color:#fff;
  font-size: 18px;
  line-height: 26px;
  padding: 0;
  cursor: pointer;
}
.site-footer .footer-search .search-clear:hover{
  background: rgba(255,255,255,.18);
}

/* прячем debug <pre> если забудешь удалить */
.site-footer .footer-search pre{
  display:none;
}

/* --- Footer search: fix layout --- */
.site-footer .footer-search form.searchform{
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

/* внутренний div в форме (у тебя он есть) тоже делаем flex */
.site-footer .footer-search form.searchform > div{
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
}

/* прячем label "Найти:" полностью из разметки, чтобы НЕ ломал layout */
.site-footer .footer-search .screen-reader-text{
  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;
}
/* ==============================
   Footer Search: fixed layout + placeholder + inner clear
   ============================== */

.site-footer .footer-search{
  width: 100%;
  max-width: 520px;   /* чтобы не был слишком длинный */
}

/* форма и внутренний div -> flex */
.site-footer .footer-search form.searchform,
.site-footer .footer-search form.searchform > div{
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0;
}

/* Внутренняя обертка вокруг input (добавим JS-ом div.footer-search-field-wrap) */
.site-footer .footer-search .footer-search-field-wrap{
  position: relative;
  flex: 1;
  min-width: 240px;
}

/* поле */
.site-footer .footer-search #s,
.site-footer .footer-search input[name="s"]{
  width: 100%;
  height: 38px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.10);
  color: #fff;
  outline: none;
  box-sizing: border-box;
  padding: 0 44px 0 12px; /* место под крестик ВНУТРИ */
}

.site-footer .footer-search #s::placeholder,
.site-footer .footer-search input[name="s"]::placeholder{
  color: rgba(255,255,255,.65);
}

/* скрываем label "Найти:" */
.site-footer .footer-search .screen-reader-text{
  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;
}

/* скрываем кнопку submit "Поиск" — оставляем только placeholder */
.site-footer .footer-search #searchsubmit,
.site-footer .footer-search input#searchsubmit,
.site-footer .footer-search input[type="submit"]{
  display: none !important;
}

/* крестик ВНУТРИ поля */
.site-footer .footer-search .search-clear{
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,.18);
  background: rgba(255,255,255,.10);
  color:#fff;
  font-size: 18px;
  line-height: 26px;
  padding: 0;
  cursor: pointer;
}
.site-footer .footer-search .search-clear:hover{
  background: rgba(255,255,255,.18);
}


/* В хедере НЕ подчёркивать только логотип/название*/
.site-header a.logo,
.site-header a.logo:hover,
.site-header a.logo:focus,
.site-header a.logo:active{
  text-decoration: none !important;
}

/* ===== Footer live search + mobile logo buttons ===== */
.site-footer .footer-search .footer-search-field-wrap{
  position: relative;
}

.site-footer .pki-live-search-results{
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 8px);
  z-index: 100000;
  max-height: 280px;
  overflow: auto;
  border-radius: 10px;
  background: #fff;
  color: #1f2937;
  box-shadow: 0 14px 30px rgba(0,0,0,.24);
}

.site-footer .pki-live-search-results[hidden]{
  display: none !important;
}

.site-footer .pki-live-search-result{
  display: block;
  padding: 10px 12px;
  color: #1f2937;
  text-decoration: none;
  border-bottom: 1px solid #eef1f4;
}

.site-footer .pki-live-search-result:last-child{
  border-bottom: 0;
}

.site-footer .pki-live-search-result:hover,
.site-footer .pki-live-search-result:focus{
  background: #f3f7fb;
  color: #0056b3;
  text-decoration: none;
  outline: none;
}

.site-footer .pki-live-search-title{
  display: block;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.site-footer .pki-live-search-excerpt{
  display: block;
  margin-top: 4px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.35;
}

.site-footer .pki-live-search-status{
  padding: 14px 12px;
  color: #64748b;
  font-size: 13px;
  text-align: center;
}

@media (max-width: 600px){
  .site-footer .footer-logos-vertical{
    display: flex !important;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding-top: 0;
    margin-left: 0;
  }

  .site-footer .footer-logos-vertical a{
    width: 56px;
    height: 56px;
  }
}
