/* ==========================================================
   Custom CSS для OJS — анимации кнопок
   Журнал: Educational Challenges

   КАК ПОДКЛЮЧИТЬ:
   1. Settings → Website → Appearance → кнопка "Advanced"
      рядом с "Journal Stylesheet (CSS)"
   2. Загрузить этот файл (или вставить его содержимое
      в уже существующий custom.css)
   3. В HTML нужных кнопок/карточек добавить соответствующий class
      (см. комментарии ниже; для карточек сайдбара — class="sidebar-card",
      а у стрелки/шеврона внутри — class="chevron")
   4. Очистить кеш: Settings → Website → Clear Data Caches
   ========================================================== */

/* --- Универсальный класс: плавная анимация для любой кнопки --- */
/* Добавь class="ojs-btn-animate" любой кнопке, если нет отдельного стиля ниже */
.ojs-btn-animate {
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.ojs-btn-animate:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
  filter: brightness(1.05);
}

/* --- Карточки-ссылки в сайдбаре: языки, ISSN, статус, издатель,
   индексация, архивирование, политики, соцсети --- */
.sidebar-card {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sidebar-card:hover {
  transform: translateX(4px);
  box-shadow: 0 4px 12px rgba(26, 45, 69, 0.18), 0 2px 4px rgba(26, 45, 69, 0.12);
}

.sidebar-card .chevron {
  display: inline-block;
  transition: transform 0.2s ease;
}

.sidebar-card:hover .chevron {
  transform: translateX(3px);
}

/* --- Кнопка "SUBMISSION FORM" (синий градиент, со стрелкой) --- */
.submission-form-btn {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.submission-form-btn:hover {
  transform: translateY(-3px) scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25);
}

/* если стрелка — отдельный элемент внутри кнопки, например <span class="arrow">→</span> */
.submission-form-btn .arrow {
  display: inline-block;
  transition: transform 0.25s ease;
}

.submission-form-btn:hover .arrow {
  transform: translateX(5px);
}

/* --- Кнопка "MANUSCRIPT TEMPLATE" (вторичная) --- */
.manuscript-template-btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.manuscript-template-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.15);
}

/* --- Кнопки профилей в редколлегии (ORCID, Web of Science, Scopus, Google Scholar) --- */
.profile-btn {
  display: inline-block;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.profile-btn:hover {
  transform: scale(1.15);
  opacity: 0.85;
}

/* --- Постоянная пульсация (опционально, чтобы кнопка сама привлекала внимание) --- */
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 0 0 rgba(37, 99, 235, 0.4); }
  50%      { box-shadow: 0 0 0 8px rgba(37, 99, 235, 0); }
}


/* =========================================================
   EDUCATIONAL CHALLENGES
   FINAL HEADER / DESKTOP + MOBILE
   ========================================================= */


/* =========================================================
   DESKTOP HEADER
   ========================================================= */

.pkp_structure_head {
    position: relative !important;

    background: linear-gradient(
        115deg,
        #e8f5f9 0%,
        #d1eaf1 30%,
        #8cc9da 65%,
        #52a9c3 100%
    ) !important;

    overflow: visible !important;
}

.pkp_structure_head::before,
.pkp_structure_head::after {
    background: transparent !important;
}


/* =========================================================
   LOGO
   ========================================================= */

.pkp_site_name_wrapper {
    background: transparent !important;

    padding-top: 10px !important;
    padding-bottom: 10px !important;

    margin: 0 !important;
}

.pkp_site_name {
    background: transparent !important;

    margin: 0 !important;
    padding: 0 !important;
}

.pkp_site_name a,
.pkp_site_name .is_img {
    background: transparent !important;
}


/* Сам логотип НЕ уменьшаем */

.pkp_site_name .is_img img {
    display: block !important;

    width: auto !important;
    height: auto !important;

    max-height: 105px !important;
    max-width: 100% !important;

    object-fit: contain !important;
}


/* =========================================================
   REGISTER / LOGIN
   ========================================================= */

.pkp_navigation_user_wrapper {
    background: transparent !important;
}

.pkp_navigation_user {
    background: transparent !important;
}

.pkp_navigation_user > li > a,
.pkp_navigation_user > li > a:visited {
    color: #082f50 !important;
    font-weight: 600 !important;
}

.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
    color: #006f8e !important;
}


/* =========================================================
   DESKTOP MAIN MENU
   ========================================================= */

.pkp_navigation_primary_row {
    background: #0b426d !important;

    border-top: 1px solid rgba(255,255,255,0.12) !important;
    border-bottom: 1px solid rgba(0,0,0,0.15) !important;
}

.pkp_navigation_primary_wrapper {
    background: #0b426d !important;
}

.pkp_navigation_primary {
    background: transparent !important;
}


/* Основные пункты */

.pkp_navigation_primary > li > a,
.pkp_navigation_primary > li > a:visited {
    color: #ffffff !important;

    font-weight: 600 !important;
    text-decoration: none !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus {
    color: #ffffff !important;

    background: rgba(255,255,255,0.10) !important;
}


/* =========================================================
   DESKTOP DROPDOWN
   ========================================================= */

.pkp_navigation_primary .dropdown-menu {
    background: #ffffff !important;

    border: 1px solid #dce6eb !important;

    box-shadow:
        0 8px 24px rgba(0,0,0,0.12) !important;
}

.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_primary .dropdown-menu a:visited {
    color: #173d5d !important;

    background: #ffffff !important;
}

.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus {
    color: #007f9e !important;

    background: #eef7fa !important;
}


/* =========================================================
   SEARCH — DESKTOP
   ========================================================= */

/*
   Важно:
   выравниваем весь Search по центру синей полосы,
   а не только иконку.
*/

.pkp_search {
    height: 52px !important;

    padding: 0 !important;
    margin: 0 !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    background: transparent !important;

    box-sizing: border-box !important;
}


/* Кнопка / ссылка */

.pkp_search a,
.pkp_search button {
    display: inline-flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 6px !important;

    height: 52px !important;

    margin: 0 !important;
    padding: 0 18px !important;

    color: #ffffff !important;

    background: transparent !important;

    border: 0 !important;

    box-sizing: border-box !important;

    font-weight: 600 !important;
    line-height: 1 !important;

    text-decoration: none !important;
}


/* Hover */

.pkp_search a:hover,
.pkp_search a:focus,
.pkp_search button:hover,
.pkp_search button:focus {
    color: #ffffff !important;

    background: rgba(255,255,255,0.10) !important;

    text-decoration: none !important;
}


/* Иконка */

.pkp_search .fa,
.pkp_search .fas,
.pkp_search .glyphicon,
.pkp_search svg {
    display: inline-block !important;

    width: auto !important;
    height: auto !important;

    margin: 0 !important;
    padding: 0 !important;

    font-size: 15px !important;

    line-height: 1 !important;

    vertical-align: middle !important;

    transform: none !important;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 991px) {

    /*
       Возвращаем mobile header к нормальной структуре OJS.
    */

    .pkp_structure_head {
        background: linear-gradient(
            135deg,
            #e8f5f9 0%,
            #cde8f0 45%,
            #63b4ca 100%
        ) !important;

        overflow: visible !important;
    }


    .pkp_head_wrapper {
        background: transparent !important;

        position: relative !important;
    }


    /* -----------------------------------------------------
       MOBILE LOGO
       ----------------------------------------------------- */

    .pkp_site_name_wrapper {
        background: transparent !important;

        /*
           Не задаём огромную высоту.
           Не резервируем место под hamburger вручную.
        */

        min-height: 0 !important;

        padding-top: 10px !important;
        padding-bottom: 10px !important;

        padding-left: 55px !important;
        padding-right: 10px !important;

        margin: 0 !important;

        box-sizing: border-box !important;
    }


    .pkp_site_name {
        margin: 0 !important;
        padding: 0 !important;

        background: transparent !important;
    }


    .pkp_site_name .is_img img {
        display: block !important;

        width: auto !important;
        height: auto !important;

        max-height: 70px !important;

        max-width: calc(100vw - 70px) !important;

        object-fit: contain !important;
    }


    /* -----------------------------------------------------
       MOBILE HAMBURGER
       ----------------------------------------------------- */

    .pkp_site_nav_toggle {
        position: relative !important;

        z-index: 1000 !important;

        display: flex !important;

        align-items: center !important;
        justify-content: center !important;

        width: 44px !important;
        height: 44px !important;

        padding: 0 !important;
        margin: 0 !important;

        color: #ffffff !important;

        background: #0b426d !important;

        border: 0 !important;

        box-shadow: none !important;

        box-sizing: border-box !important;
    }


    .pkp_site_nav_toggle:hover,
    .pkp_site_nav_toggle:focus {
        color: #ffffff !important;

        background: #07527f !important;
    }


    /* -----------------------------------------------------
       SEARCH MOBILE
       ----------------------------------------------------- */

    /*
       На мобильном НЕ вмешиваемся в структуру Search.
       OJS сам управляет его расположением.
    */

    .pkp_search {
        height: auto !important;

        display: block !important;

        padding: 0 !important;
        margin: 0 !important;

        background: transparent !important;
    }


    .pkp_search a,
    .pkp_search button {
        height: auto !important;

        min-height: 44px !important;

        padding: 10px 15px !important;

        line-height: normal !important;
    }


    /* -----------------------------------------------------
       ВАЖНО:
       НЕ ПЕРЕКРАШИВАЕМ ОТКРЫТОЕ МОБИЛЬНОЕ МЕНЮ
       ----------------------------------------------------- */

    .pkp_navigation_primary_row,
    .pkp_navigation_primary_wrapper,
    .pkp_navigation_primary {
        /*
           Возвращаем управление стандартной теме OJS.
        */

        background: transparent !important;
    }


    /*
       Не задаём здесь цвет ссылок.
       Стандартная мобильная тема OJS делает это сама.
    */

    .pkp_navigation_primary > li > a {
        background: transparent !important;
    }


    /*
       Dropdown мобильного меню также оставляем
       под управлением OJS.
    */

    .pkp_navigation_primary .dropdown-menu {
        box-shadow: none !important;
    }
}


/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .pkp_site_name_wrapper {
        padding-left: 50px !important;
        padding-right: 8px !important;

        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }


    .pkp_site_name .is_img img {
        max-height: 64px !important;

        max-width: calc(100vw - 62px) !important;
    }


    .pkp_site_nav_toggle {
        width: 42px !important;
        height: 42px !important;
    }
}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 400px) {

    .pkp_site_name_wrapper {
        padding-left: 46px !important;
    }


    .pkp_site_name .is_img img {
        max-height: 57px !important;

        max-width: calc(100vw - 55px) !important;
    }


    .pkp_site_nav_toggle {
        width: 40px !important;
        height: 40px !important;
    }
}