/* ==========================================================================
   Politics & Security — фірмове оформлення поверх теми Health Sciences
   Палітра взята з обкладинки журналу.
   Завантажується в Settings → Website → Appearance → Advanced → Journal Style Sheet
   ========================================================================== */

:root {
  --ps-deep:        #0B2447;  /* глибокий синій — шапка, підвал, заголовки */
  --ps-deep-soft:   #14315C;  /* м'якший відтінок для градієнта */
  --ps-accent:      #1BA3D6;  /* бірюзовий акцент */
  --ps-accent-dark: #1287B4;  /* акцент для тексту посилань (контраст) */
  --ps-tint:        #EEF4F9;  /* світлі плашки */
  --ps-border:      #D8E3EC;  /* рамки, розділювачі */
  --ps-text:        #16202B;  /* основний текст */
  --ps-muted:       #5A6B7B;  /* другорядний текст */
}

/* --------------------------------------------------------------------------
   1. Типографіка — єдина на всіх сторінках
   -------------------------------------------------------------------------- */

body {
  font-family: "Fira Sans", -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 17px;
  line-height: 1.65;
  color: var(--ps-text);
}

/* Усі заголовки — серифом. Раніше .issue-toc-section-title і кнопки
   випадали з пари й малювались сансом. */
h1, h2, h3, h4, h5,
.h1, .h2, .h3, .h4,
.issue-toc-section-title,
.article-summary-title,
.site-footer .pkp_block h2.title,
.obj_article_details .title,
.page-header h1 {
  font-family: "PT Serif", Georgia, "Times New Roman", serif;
  color: var(--ps-deep);
  font-weight: 700;
  letter-spacing: .1px;
}

h1, .page-content h1 { font-size: 2.05rem; line-height: 1.25; }
h2 { font-size: 1.55rem; }
h3 { font-size: 1.28rem; }

p { margin-bottom: 1rem; }

a {
  color: var(--ps-accent-dark);
  text-decoration: none;
  transition: color .15s ease;
}
a:hover,
a:focus {
  color: var(--ps-deep);
  text-decoration: underline;
}

/* --------------------------------------------------------------------------
   2. Шапка
   -------------------------------------------------------------------------- */

header.main-header {
  background: linear-gradient(180deg, var(--ps-deep) 0%, var(--ps-deep-soft) 100%);
  border-bottom: 3px solid var(--ps-accent);
  padding-bottom: .25rem;
}

header.main-header .navbar-logo-text,
header.main-header .navbar-brand,
header.main-header .navbar-brand .navbar-logo-text {
  font-family: "PT Serif", Georgia, serif;
  font-size: 1.75rem;
  font-weight: 700;
  color: #fff;
  letter-spacing: .01em;
}

header.main-header .navbar-logo a:hover .navbar-logo-text,
header.main-header .navbar-brand:hover .navbar-logo-text {
  color: var(--ps-accent);
  text-decoration: none;
}

header.main-header .navbar-nav .nav-link {
  color: rgba(255, 255, 255, .86);
  font-weight: 500;
  font-size: .95rem;
  letter-spacing: .06em;
  padding: .55rem .9rem;
  border-bottom: 2px solid transparent;
}

header.main-header .navbar-nav .nav-link:hover,
header.main-header .navbar-nav .nav-link:focus,
header.main-header .navbar-nav .nav-item.active > .nav-link {
  color: #fff;
  border-bottom-color: var(--ps-accent);
  text-decoration: none;
}

header.main-header .navbar-toggler {
  border-color: rgba(255, 255, 255, .45);
}
header.main-header .navbar-toggler-icon {
  filter: invert(1) brightness(2);
}

/* Випадні меню.
   Тема робить їх на всю ширину, зі сталево-синім фоном і КАПСОМ —
   довгі назви політик через це нечитабельні. Приводимо до ладу:
   темно-синя панель у тон шапки, світлий текст, нормальний регістр,
   рівні колонки замість хаотичного переносу. !important потрібні:
   селектори теми специфічніші. */
header.main-header .navbar-nav .dropdown-menu {
  background: var(--ps-deep) !important;
  border: 0 !important;
  border-top: 3px solid var(--ps-accent) !important;
  border-radius: 0 0 4px 4px !important;
  box-shadow: 0 14px 30px rgba(11, 36, 71, .30) !important;
  padding: 1.1rem 1.4rem !important;
}

/* ВАЖЛИВО: display чіпаємо ТІЛЬКИ у відкритому стані (.show).
   Bootstrap ховає меню саме через display:none. Якщо перебити його
   на базовому селекторі, усі меню залишаться розгорнутими назавжди. */
header.main-header .navbar-nav .dropdown-menu.show {
  display: block !important;
  column-width: 260px !important;
  column-gap: 2.2rem !important;
}

header.main-header .navbar-nav .dropdown-menu .dropdown-item,
header.main-header .dropdown-menu a {
  color: rgba(255, 255, 255, .88) !important;
  background: transparent !important;
  text-transform: none !important;
  font-size: .95rem !important;
  line-height: 1.35 !important;
  padding: .45rem .65rem !important;
  border-radius: 3px;
  white-space: normal !important;
  break-inside: avoid;
  display: block !important;
  width: auto !important;
  text-align: left !important;
}

header.main-header .navbar-nav .dropdown-menu .dropdown-item:hover,
header.main-header .navbar-nav .dropdown-menu .dropdown-item:focus,
header.main-header .dropdown-menu a:hover,
header.main-header .dropdown-menu a:focus {
  background: rgba(27, 163, 214, .22) !important;
  color: #fff !important;
  text-decoration: none;
}

header.main-header .badge {
  background: var(--ps-accent);
  color: #fff;
}

/* Меню акаунта (вхід / особистий кабінет).
   Тема робить його 12 px і притискає до самого верху — воно губиться.
   Збільшуємо і даємо рамку. Вирівнювати його з рядком меню не можна:
   основна навігація розтягнута на всю ширину і CONTACT опиняється під ним. */
header.main-header > .container > ul.navbar-nav {
  top: 1.1rem !important;
  bottom: auto !important;
}

header.main-header > .container > ul.navbar-nav > li > a {
  font-size: 1rem !important;
  font-weight: 500 !important;
  padding: .45rem 1rem !important;
  line-height: 1.3;
  border: 1px solid rgba(255, 255, 255, .45);
  border-radius: 4px;
}

header.main-header > .container > ul.navbar-nav > li > a:hover,
header.main-header > .container > ul.navbar-nav > li > a:focus {
  background: rgba(27, 163, 214, .22);
  border-color: var(--ps-accent);
}

header.main-header > .container > ul.navbar-nav .badge {
  font-size: .78rem;
  padding: .25em .5em;
}

/* Меню користувача праворуч лежить поза <nav>, тому тема фарбує його
   в темний і на синьому фоні воно зникає. Перебиваємо. */
header.main-header .navbar-nav > li > a,
header.main-header .navbar-nav .nav-link,
header.main-header .dropdown-toggle {
  color: rgba(255, 255, 255, .88) !important;
}

header.main-header .navbar-nav > li > a:hover,
header.main-header .navbar-nav > li > a:focus,
header.main-header .dropdown-toggle:hover {
  color: #fff !important;
}

/* Пункти випадних меню оформлені вище — на темно-синій панелі, світлим. */

/* --------------------------------------------------------------------------
   3. Кнопки
   -------------------------------------------------------------------------- */

.btn-primary,
.block_make_submission_link {
  background: var(--ps-accent-dark);
  border-color: var(--ps-accent-dark);
  color: #fff;
  font-weight: 500;
  letter-spacing: .03em;
  border-radius: 3px;
}

.btn-primary:hover,
.btn-primary:focus,
.block_make_submission_link:hover,
.block_make_submission_link:focus {
  background: var(--ps-deep);
  border-color: var(--ps-deep);
  color: #fff;
  text-decoration: none;
}

.btn {
  border-radius: 3px;
}

/* --------------------------------------------------------------------------
   4. Головна — блок поточного випуску
   -------------------------------------------------------------------------- */

.homepage-issue-header {
  margin-bottom: 2.5rem;
}

/* Головна = опис журналу + велика обкладинка + кнопка на випуск.
   Повний зміст випуску з головної прибираємо: він і так є на сторінці
   самого випуску. Область звужена класом .container-homepage-issue,
   щоб зміст на сторінці /issue/view/ лишився недоторканим. */
.container-homepage-issue .issue-toc {
  display: none !important;
}

@media (min-width: 992px) {
  .container-homepage-issue .homepage-issue-header > .col-lg-3 {
    flex: 0 0 auto;
    width: 34%;
  }
  .container-homepage-issue .homepage-issue-header > .col-lg-9 {
    flex: 0 0 auto;
    width: 66%;
  }
}

.container-homepage-issue .homepage-issue-header .col-lg-3 > a {
  display: block;
  max-width: 360px;
  margin: 0 auto;
  text-decoration: none;
}

/* Тема тримає обкладинку в рамках max-width:210px І max-height:315px.
   Якщо зняти лише ширину, картинку сплющує: 360x315 замість 360x480.
   Тому обов'язково знімаємо ОБИДВА обмеження. */
.container-homepage-issue .homepage-issue-cover {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
}

/* Кнопка «до поточного випуску». Це псевдоелемент усередині
   посилання, яким уже обгорнута обкладинка, — окремий клік не потрібен. */
.container-homepage-issue .homepage-issue-header .col-lg-3 > a::after {
  content: "View Current Issue \2192";
  display: block;
  margin-top: 1rem;
  padding: .7rem 1rem;
  background: var(--ps-accent-dark);
  color: #fff;
  border-radius: 3px;
  text-align: center;
  font-family: "Fira Sans", sans-serif;
  font-weight: 500;
  font-size: .95rem;
  letter-spacing: .03em;
  transition: background .15s ease;
}

.container-homepage-issue .homepage-issue-header .col-lg-3 > a:hover::after {
  background: var(--ps-deep);
}

.homepage-issue-cover {
  border: 1px solid var(--ps-border);
  border-radius: 3px;
  box-shadow: 0 6px 22px rgba(11, 36, 71, .18);
}

.homepage-issue-description-wrapper {
  background: var(--ps-tint);
  border: 1px solid var(--ps-border);
  border-left: 4px solid var(--ps-accent);
  border-radius: 3px;
  padding: 1.6rem 1.8rem;
}

.homepage-journal-description p:last-child {
  margin-bottom: 0;
}

.homepage-issue-galleys {
  margin-top: 1.2rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--ps-border);
}

.homepage-issue-galleys .h3 {
  font-size: 1.1rem;
  margin-bottom: .6rem;
}

/* --------------------------------------------------------------------------
   5. Зміст випуску — плашки статей
   -------------------------------------------------------------------------- */

.issue-toc-section-title {
  font-size: 1.35rem;
  margin: 2rem 0 1.1rem;
  padding-left: .8rem;
  border-left: 4px solid var(--ps-accent);
  text-transform: none;
}

.article-summary {
  background: #fff;
  border: 1px solid var(--ps-border);
  border-radius: 4px;
  padding: 1.1rem 1.3rem;
  margin-bottom: .9rem;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.article-summary:hover {
  border-color: var(--ps-accent);
  box-shadow: 0 4px 14px rgba(11, 36, 71, .10);
}

.article-summary-authors {
  color: var(--ps-muted);
  font-size: .92rem;
  letter-spacing: .02em;
}

.article-summary-pages {
  color: var(--ps-muted);
  font-size: .88rem;
  font-variant-numeric: tabular-nums;
}

.article-summary-title {
  font-size: 1.12rem;
  line-height: 1.4;
  margin: .35rem 0 .7rem;
}

.article-summary-title a {
  color: var(--ps-deep);
}

.article-summary-title a:hover,
.article-summary-title a:focus {
  color: var(--ps-accent-dark);
  text-decoration: none;
}

.article-summary-galleys .btn {
  font-size: .82rem;
  padding: .25rem .8rem;
}

/* --------------------------------------------------------------------------
   6. Внутрішні сторінки — щоб не виглядали порожньо
   -------------------------------------------------------------------------- */

.page-content {
  padding-top: 2rem;
  padding-bottom: 3rem;
}

.page-content > h1:first-child,
.page-content .container > h1:first-child {
  padding-bottom: .7rem;
  margin-bottom: 1.6rem;
  border-bottom: 2px solid var(--ps-border);
}

.obj_article_details .main_entry,
.page-content hr {
  border-color: var(--ps-border);
}

/* --------------------------------------------------------------------------
   7. Підвал
   -------------------------------------------------------------------------- */

footer.site-footer {
  background: var(--ps-deep);
  color: rgba(255, 255, 255, .82);
  border-top: 3px solid var(--ps-accent);
}

footer.site-footer .pkp_block h2.title {
  color: #fff;
  font-size: 1.12rem;
  padding-bottom: .5rem;
  margin-bottom: .9rem;
  border-bottom: 1px solid rgba(255, 255, 255, .18);
}

footer.site-footer a {
  color: var(--ps-accent);
  text-decoration: none;
}

footer.site-footer a:hover,
footer.site-footer a:focus {
  color: #fff;
  text-decoration: underline;
}

footer.site-footer ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 0;
}

footer.site-footer li {
  padding: .18rem 0;
}

footer.site-footer .site-footer-content {
  border-top: 1px solid rgba(255, 255, 255, .15);
  margin-top: 1.6rem;
  padding-top: 1.2rem;
  font-size: .88rem;
  color: rgba(255, 255, 255, .68);
}

footer.site-footer .site-footer-content a {
  color: rgba(255, 255, 255, .85);
}

footer.site-footer .block_make_submission_link {
  display: inline-block;
  padding: .55rem 1.4rem;
  background: var(--ps-accent);
  border: 0;
}

footer.site-footer .block_make_submission_link:hover {
  background: #fff;
  color: var(--ps-deep);
  text-decoration: none;
}

/* --------------------------------------------------------------------------
   8. Дрібниці
   -------------------------------------------------------------------------- */

::selection {
  background: var(--ps-accent);
  color: #fff;
}

.breadcrumb,
.cmp_breadcrumbs {
  font-size: .88rem;
  color: var(--ps-muted);
}

table {
  border-color: var(--ps-border);
}

@media (max-width: 991px) {
  header.main-header .navbar-nav .nav-link {
    border-bottom: 0;
    border-left: 3px solid transparent;
    padding-left: .7rem;
  }
  header.main-header .navbar-nav .nav-link:hover {
    border-left-color: var(--ps-accent);
  }
  body { font-size: 16px; }
}
