/* =========================================================
   Header branding (CSS-only): Row 1 brand, Row 2 menu
   ========================================================= */

:root {
  --rp-logo-h: 80px;
  --rp-gap: 18px;

  --rp-name-size: 1.2em;
  --rp-slogan-size: 0.8em;
}

/* Force header wrapper to stack brand row and nav row */
.pkp_structure_head .pkp_head_wrapper {
  display: flex;
  flex-direction: column;
}

/* Make sure Row 1 has real height so nav cannot overlay */
.pkp_structure_head .pkp_site_name_wrapper {
  position: relative;
  min-height: var(--rp-logo-h);
  display: flex;
  align-items: center;
}

/* Row 2 (menu) must sit below row 1 */
.pkp_structure_head .pkp_site_nav_menu {
  width: 100%;
  margin-top: 8px; /* adjust to 0 if you want no gap */
}

/* =========================
   Brand block (logo + text)
   ========================= */
.pkp_site_name {
  position: relative;

  /* Reserve horizontal space for logo so text never overlays it */
  padding-left: calc(var(--rp-logo-h) + var(--rp-gap));
  min-height: var(--rp-logo-h);

  /* Stack name + slogan and vertically center them to logo */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

/* Place the logo at the far left and center it vertically */
.pkp_site_name a.is_img {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
}

.pkp_site_name a.is_img img {
  height: var(--rp-logo-h);
  width: auto;
  display: block;
}

/* IMPORTANT: disable any previous pseudo content attached to the <a> */
.pkp_site_name a.is_img::before,
.pkp_site_name a.is_img::after {
  content: none !important;
}

/* Publisher name (line 1) */
.pkp_site_name::before {
  content: "Researcher Publishers";

  font-size: var(--rp-name-size);
  font-weight: bold !important;
  color: #ffffff !important;

  line-height: 1.0;          /* single spacing */
  margin: 0 !important;

  position: relative;
  z-index: 10;

  text-rendering: optimizeLegibility !important;
  -webkit-font-smoothing: antialiased !important;
}

/* Slogan (line 2) */
.pkp_site_name::after {
  content: "science without barrier";

  margin-top: 12px !important;
  padding: 0 !important;

  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;

  font-size: var(--rp-slogan-size) !important;
  font-weight: 500 !important;
  font-style: italic !important;
  color: #d7f3f5 !important;

  line-height: 1.0 !important; /* single spacing */
  box-sizing: border-box !important;

  position: relative;
  z-index: 10;
}


/* =========================================================
   MOBILE (<=768px): grid alignment + truncation (corrected + centered)
   ========================================================= */
@media (max-width: 768px) {

  :root {
    --rp-logo-h: 56px;
    --rp-gap: 6px;          /* logo ↔ text */
    --rp-burger-gap: 2px;   /* burger ↔ logo */
    --rp-line-gap: 2px;     /* name ↔ slogan */
  }

  /* Row: [burger] [brand] */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name_wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;

    display: grid !important;
    grid-template-columns: auto 1fr !important;

    /* Key centering controls */
    align-items: center !important;     /* centers items within the row */
    align-content: center !important;   /* centers content if row is taller */

    column-gap: var(--rp-burger-gap) !important;
    min-height: var(--rp-logo-h) !important;
  }

  /* Burger alignment */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_nav_toggle {
    margin: 0 !important;
    padding: 0 !important;

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

    height: var(--rp-logo-h) !important;
    line-height: 1 !important;

    align-self: center !important;      /* ensure centered as a grid item */
  }

  /* Brand block: [logo] [text stack] */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name {
    padding-left: 0 !important;
    min-height: 0 !important;

    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;

    /* Center logo vs two-line text within brand */
    align-items: center !important;
    column-gap: var(--rp-gap) !important;

    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;

    /* Key centering controls (brand as a unit vs burger) */
    align-self: center !important;      /* center brand inside wrapper row */
    align-content: center !important;   /* if brand gets extra height */
  }

  /* Logo */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;

    align-self: center !important;
    justify-self: start !important;

    position: static !important;
    transform: none !important;

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

  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img img {
    height: var(--rp-logo-h) !important;
    width: auto !important;
    display: block !important;
  }

  /* Ensure no pseudo content attached to <a> interferes */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img::before,
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img::after {
    content: none !important;
  }

  /* Name (row 1, col 2) */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name::before {
    content: "Researcher Publishers" !important;
    grid-column: 2 !important;
    grid-row: 1 !important;

    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    font-size: 1em !important;
    font-weight: bold !important;
    color: #ffffff !important;
    line-height: 1.05 !important;

    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    margin: 0 !important;
  }

  /* Slogan (row 2, col 2) */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name::after {
    content: "science without barrier" !important;
    grid-column: 2 !important;
    grid-row: 2 !important;

    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    margin-top: var(--rp-line-gap) !important;
    padding: 0 !important;

    font-size: 0.75em !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: #d7f3f5 !important;
    line-height: 1.05 !important;
    box-sizing: border-box !important;
  }

  /* Nav stays below */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_nav_menu {
    width: 100% !important;
    margin-top: 6px !important;
  }

  /* Optional submenu styling */
  body[class*="pkp_page_"] .pkp_navigation_primary li ul {
    background-color: transparent !important;
  }
  body[class*="pkp_page_"] .pkp_navigation_primary li ul li a {
    color: #ffffb3 !important;
  }
  body[class*="pkp_page_"] .pkp_navigation_primary > li > a:hover,
  body[class*="pkp_page_"] .pkp_navigation_primary li ul li a:hover,
  body[class*="pkp_page_"] .pkp_navigation_user > li > a:hover {
    font-weight: bold !important;
    text-decoration: none !important;
  }
}


/* =========================================================
   MEDIUM (769px–992px): grid alignment + tighter spacing
   Fixes:
   - burger/logo/text vertically centered together
   - slogan closer to name
   - text block closer to logo
   ========================================================= */
@media (min-width: 769px) and (max-width: 992px) {

  :root {
    --rp-logo-h: 68px;        /* medium logo height */
    --rp-gap: 10px;           /* logo ↔ text (closer than desktop) */
    --rp-burger-gap: 6px;     /* burger ↔ brand */
    --rp-line-gap: 6px;       /* name ↔ slogan (smaller than 12px desktop) */
  }

  /* Row: [burger] [brand] */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name_wrapper {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin: 0 !important;

    display: grid !important;
    grid-template-columns: auto 1fr !important;

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

    column-gap: var(--rp-burger-gap) !important;
    min-height: var(--rp-logo-h) !important;
  }

  /* Burger alignment */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_nav_toggle {
    margin: 0 !important;
    padding: 0 !important;

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

    height: var(--rp-logo-h) !important;
    line-height: 1 !important;

    align-self: center !important;
  }

  /* Brand block: [logo] [text stack] */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name {
    /* Reset desktop offset for this breakpoint */
    padding-left: 0 !important;
    min-height: 0 !important;

    display: grid !important;
    grid-template-columns: auto 1fr !important;
    grid-template-rows: auto auto !important;

    align-items: center !important;
    align-content: center !important;
    column-gap: var(--rp-gap) !important;

    min-width: 0 !important;
    width: 100% !important;
    margin: 0 !important;

    align-self: center !important;
  }

  /* Logo */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;

    align-self: center !important;
    justify-self: start !important;

    position: static !important;
    transform: none !important;

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

  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img img {
    height: var(--rp-logo-h) !important;
    width: auto !important;
    display: block !important;
  }

  /* Ensure no pseudo content on the <a> interferes */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img::before,
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name a.is_img::after {
    content: none !important;
  }

  /* Name */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name::before {
    content: "Researcher Publishers" !important;
    grid-column: 2 !important;
    grid-row: 1 !important;

    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    font-size: 1.1em !important;     /* medium: between desktop and mobile */
    font-weight: bold !important;
    color: #ffffff !important;
    line-height: 1.15 !important;

    text-rendering: optimizeLegibility !important;
    -webkit-font-smoothing: antialiased !important;
    margin: 0 !important;
  }

  /* Slogan */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_name::after {
    content: "science without barrier" !important;
    grid-column: 2 !important;
    grid-row: 2 !important;

    min-width: 0 !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;

    margin-top: var(--rp-line-gap) !important;

    font-size: 0.8em !important;
    font-weight: 500 !important;
    font-style: italic !important;
    color: #d7f3f5 !important;
    line-height: 1.1 !important;
    box-sizing: border-box !important;
  }

  /* Nav stays below (same as mobile/desktop) */
  body[class*="pkp_page_"] header#headerNavigationContainer .pkp_site_nav_menu {
    width: 100% !important;
    margin-top: 8px !important;
  }
}

/* =========================================================
   FOOTER FINAL OVERRIDE (OMP Default Theme)
   - Smaller top/bottom spacing
   - Footer links: NO decoration (underline/border/bg/pseudo)
   - OMP logo bigger + white
   ========================================================= */

.pkp_structure_footer_wrapper,
.pkp_structure_footer_wrapper .pkp_structure_footer {
  background: #0A3489 !important;
  color: #ffffff !important;
}

/* Reduce vertical whitespace coming from wrapper/footer containers */
.pkp_structure_footer_wrapper {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.pkp_structure_footer {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  /* tighter than before */
  padding: 14px 14px !important;
  margin: 0 !important;
  gap: 12px !important;
}

/* Remove default paragraph spacing that can add vertical room */
.pkp_structure_footer .pkp_footer_content,
.pkp_structure_footer .pkp_footer_content p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important; /* slightly tighter */
  color: #ffffff !important;
}

/* =========================
   Footer links: HARD remove decoration
   ========================= */
.pkp_structure_footer .pkp_footer_content a,
.pkp_structure_footer .pkp_footer_content a:link,
.pkp_structure_footer .pkp_footer_content a:visited,
.pkp_structure_footer .pkp_footer_content a:hover,
.pkp_structure_footer .pkp_footer_content a:focus,
.pkp_structure_footer .pkp_footer_content a:active {
  color: #ffffff !important;

  /* kill all underline implementations */
  text-decoration: none !important;
  border-bottom: 0 !important;
  outline: none !important;
  box-shadow: none !important;

  /* kill gradient/ink underline tricks */
  background-image: none !important;
  background: none !important;
}

/* If theme draws underline using pseudo elements */
.pkp_structure_footer .pkp_footer_content a::before,
.pkp_structure_footer .pkp_footer_content a::after {
  content: none !important;
  display: none !important;
}

/* Keep hover clean (no underline) */
.pkp_structure_footer .pkp_footer_content a:hover,
.pkp_structure_footer .pkp_footer_content a:focus {
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom: 0 !important;
  background-image: none !important;
}

/* =========================
   OMP logo: bigger + white
   ========================= */
.pkp_structure_footer .pkp_brand_footer {
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
}

.pkp_structure_footer .pkp_brand_footer img {
  height: 44px !important;  /* increased from 30–34px */
  width: auto !important;
  display: block !important;
  margin: 0 !important;

  filter: brightness(0) invert(1) !important;
}

/* Mobile: stack but keep compact */
@media (max-width: 768px) {
  .pkp_structure_footer {
    flex-direction: column !important;
    align-items: flex-start !important;
    padding: 8px 14px !important;
    gap: 8px !important;
  }

  .pkp_structure_footer .pkp_brand_footer {
    justify-content: flex-start !important;
  }

  .pkp_structure_footer .pkp_brand_footer img {
    height: 40px !important;
  }
}

/* Hide breadcrumbs on all pages */
.cmp_breadcrumbs {
  display: none !important;
}
/* Reduce page title (H1) size globally */
body[class*="pkp_page_"] h1 {
  font-size: 1.08rem;   /* adjust as needed */
  line-height: 1.0;
  color: #0b3fa5;
  margin-top: 0;
}

/* Hide H1 title on Contact page */
.page.page_contact > h1 {
  display: none !important;
}

/* Hide H1 title on Catalog page */
.page.page_catalog > h1 {
  display: none !important;
}
/* Hide H1 title on Announcement */
.page.page_announcements > h1 {
  display: none !important;
}

/* =========================================================
   MAIN MENU — hover, active, dropdown (optimized)
   ========================================================= */

/* ---------- Main menu: hover ---------- */
.pkp_navigation_primary > li > a:hover {
  color: #ffffe0 !important;
  font-weight: bold !important;
  background-color: transparent !important;
}

/* ---------- Main menu: active page ---------- */
/* Uses body page classes instead of fragile href matching */
body.pkp_page_index        .pkp_navigation_primary > li > a[href$="/rp/index"],
body.pkp_page_announcement .pkp_navigation_primary > li > a[href*="/announcement"],
body.pkp_page_catalog      .pkp_navigation_primary > li > a[href*="/catalog"],
body.pkp_page_contact      .pkp_navigation_primary > li > a[href*="/contact"] {
  color: #ffffe0 !important;
  font-weight: bold !important;
  background-color: transparent !important;
}

/* ---------- Dropdown menu background ---------- */
.pkp_navigation_primary > li > ul.dropdown-menu {
  background-color: #cce6ff !important;
  border: none !important;
  box-shadow: none !important;
  padding: 4px 0 !important;
}

/* ---------- Dropdown links ---------- */
.pkp_navigation_primary > li > ul.dropdown-menu > li > a {
  color: #0050a0 !important;
  font-weight: normal !important;
  background-color: transparent !important;
  padding: 6px 14px !important;
  white-space: normal !important;
}

/* ---------- Dropdown hover ---------- */
.pkp_navigation_primary > li > ul.dropdown-menu > li > a:hover {
  color: #ffffff !important;
  background-color: #add8e6 !important;
  font-weight: bold !important;
}

/* ---------- Keep JOURNALS highlighted while dropdown open ---------- */
.pkp_navigation_primary > li:hover > a[data-toggle="dropdown"] {
  color: #ffffe0 !important;
  font-weight: bold !important;
}
