@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,400;12..96,500;12..96,600;12..96,700;12..96,800&family=DM+Serif+Display:ital@0;1&family=Inter+Tight:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap');

/* IJAISSH v3 — magazine alignment with parent landing
   Tokens, components, EIC spotlight verbatim from LANDING PAGE/dist/landing.html
   Supersedes v2 (navy + gold). 2026-04-25 */

:root {
  --bg: #FAFAF8;
  --white: #FFFFFF;
  --ink: #0A0A0A;
  --ink-2: #2C2C2C;
  --ink-3: #5C5C5C;
  --ink-4: #8A8A8A;
  --rule: #E2E0DA;
  --yellow: #FFD60A;
  --yellow-2: #E5BD00;
  --teal: #006D77;
  --teal-2: #00525A;
  --display: 'Bricolage Grotesque', system-ui, sans-serif;
  --serif: 'DM Serif Display', Georgia, serif;
  --sans: 'Inter Tight', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, monospace;
}

/* ---------- light reset ---------- */
*, *::before, *::after { box-sizing: border-box; }
a { transition: color 0.15s ease; }

/* ---------- body / page ---------- */
body,
.pkp_structure_page,
.pkp_structure_main {
  background: var(--bg) !important;
  color: var(--ink-2) !important;
  font-family: var(--sans) !important;
  -webkit-font-smoothing: antialiased;
}

body { font-size: 16px !important; line-height: 1.6 !important; }

.pkp_structure_main p,
.homepage_about p,
.additional_content p,
.page_content p {
  color: var(--ink-2) !important;
  font-family: var(--sans) !important;
  line-height: 1.7 !important;
  font-size: 15.5px !important;
}

h1, h2, h3, h4, h5, h6,
.pkp_structure_main h1,
.pkp_structure_main h2,
.pkp_structure_main h3,
.pkp_structure_main h4 {
  font-family: var(--display) !important;
  color: var(--ink) !important;
  letter-spacing: -0.02em !important;
  font-weight: 700 !important;
}

.pkp_structure_main em,
.homepage_about em {
  font-family: var(--serif);
  font-style: italic;
  color: var(--teal);
  font-weight: 400;
}

/* ---------- header chrome ---------- */
.pkp_structure_head {
  background: var(--ink) !important;
  color: var(--bg) !important;
  border-bottom: 4px solid var(--yellow) !important;
  box-shadow: none !important;
}

.pkp_head_wrapper { padding: 8px 0 !important; }

.pkp_site_name a,
.pkp_site_name .is_text {
  color: var(--bg) !important;
  font-family: var(--display) !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}

.pkp_site_name img {
  max-height: 78px;
  padding: 6px 0;
  background: var(--bg);
  border: 1.5px solid var(--ink);
}

/* primary nav — mono uppercase, paper on ink, yellow underline on hover/active */
.pkp_navigation_primary,
.pkp_navigation_primary_row {
  background: var(--ink) !important;
  border-top: 1px solid rgba(255,255,255,0.08) !important;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a {
  color: var(--bg) !important;
  font-family: var(--mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 14px 18px !important;
  border-bottom: 2px solid transparent !important;
  transition: color 0.15s, border-color 0.15s !important;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li.current > a,
.pkp_navigation_primary > li > a.current,
.pkp_navigation_primary > li:hover > a {
  color: var(--yellow) !important;
  border-bottom-color: var(--yellow) !important;
}

.pkp_navigation_primary ul.dropdown,
.pkp_navigation_primary li ul {
  background: var(--ink) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
}

/* search box in header */
.pkp_search input[type="search"],
.pkp_search input[type="text"] {
  background: var(--bg) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  font-family: var(--mono) !important;
  font-size: 12px !important;
  padding: 6px 10px !important;
}

/* ---------- breadcrumbs ---------- */
.cmp_breadcrumbs,
.pkp_breadcrumb {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
}

.cmp_breadcrumbs a,
.pkp_breadcrumb a { color: var(--ink-3) !important; }
.cmp_breadcrumbs a:hover,
.pkp_breadcrumb a:hover { color: var(--teal) !important; }

/* ---------- homepage hero / about / additional content ---------- */
.homepage_about,
.additional_content,
.page_content {
  background: var(--white) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 36px 40px !important;
  margin-bottom: 24px !important;
}

.homepage_about h2,
.additional_content h2,
.page_content h2 {
  font-family: var(--display) !important;
  font-size: clamp(28px, 3vw, 40px) !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  border-bottom: 2px solid var(--ink) !important;
  padding-bottom: 14px !important;
  margin: 0 0 22px !important;
}

.page_content h3,
.homepage_about h3,
.additional_content h3 {
  font-family: var(--display) !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  border: none !important;
  margin: 28px 0 12px !important;
}

/* eyebrow override */
.cmp_announcement_intro,
.eyebrow,
.section-eyebrow {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--teal) !important;
  font-weight: 500 !important;
}

/* ---------- EIC spotlight (verbatim from landing.html lines 460-499) ---------- */
.eic-spotlight {
  display: block !important;
  border: 2px solid var(--ink) !important;
  background: var(--bg) !important;
  margin: 0 0 32px !important;
}
.eic-photo-stage {
  background: var(--yellow) !important;
  position: relative !important;
  width: 100% !important;
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-bottom: 2px solid var(--ink) !important;
  padding: 32px 24px !important;
}
.eic-photo-stage::before {
  content: '' !important;
  position: absolute !important;
  bottom: -1px !important;
  right: -1px !important;
  width: 140px !important;
  height: 140px !important;
  background: var(--teal) !important;
  pointer-events: none !important;
  clip-path: polygon(100% 0, 100% 100%, 0 100%) !important;
}
.eic-photo-frame {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
}
.eic-photo-placeholder {
  width: 100% !important;
  max-width: 240px !important;
  aspect-ratio: 4 / 5 !important;
  background: var(--ink) !important;
  color: var(--yellow) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: var(--mono) !important;
  border: 2px solid var(--ink) !important;
  position: relative !important;
  z-index: 1 !important;
}
.eic-photo-placeholder::before {
  content: '' !important;
  position: absolute !important;
  top: 14px !important; left: 14px !important; right: 14px !important; bottom: 14px !important;
  border: 1px dashed rgba(255,214,10,0.32) !important;
  pointer-events: none !important;
}
.eic-photo-placeholder svg { width: 64px !important; height: 64px !important; opacity: 0.5 !important; margin-bottom: 14px !important; }
.eic-photo-label { font-size: 11px !important; letter-spacing: 0.2em !important; margin-bottom: 6px !important; font-weight: 600 !important; }
.eic-photo-meta { font-size: 9px !important; letter-spacing: 0.08em !important; color: rgba(255,214,10,0.55) !important; font-style: italic !important; text-transform: lowercase !important; }
.eic-content { padding: 40px 44px !important; background: var(--white) !important; }
.eic-eyebrow {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--teal) !important;
  font-weight: 500 !important;
  margin-bottom: 14px !important;
  display: block !important;
}
.eic-name {
  font-family: var(--display) !important;
  font-size: clamp(38px, 4.4vw, 64px) !important;
  font-weight: 800 !important;
  line-height: 0.98 !important;
  letter-spacing: -0.03em !important;
  color: var(--ink) !important;
  margin: 0 0 8px !important;
  border: none !important;
  padding: 0 !important;
}
.eic-name em {
  font-family: var(--serif) !important;
  font-style: italic !important;
  color: var(--teal) !important;
  font-weight: 400 !important;
}
.eic-title {
  font-family: var(--mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  margin: 0 0 28px !important;
  padding-bottom: 18px !important;
  border-bottom: 2px solid var(--ink) !important;
}
.eic-badges { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 14px !important; margin-bottom: 28px !important; }
.eic-badge { border: 2px solid var(--ink) !important; padding: 18px 18px 16px !important; background: var(--bg) !important; position: relative !important; }
.eic-badge::before { content: '' !important; position: absolute !important; top: 0 !important; left: 0 !important; width: 100% !important; height: 6px !important; background: var(--yellow) !important; }
.eic-badge.eic-badge-ox::before { background: var(--teal) !important; }
.eic-badge-tag { font-family: var(--mono) !important; font-size: 9px !important; letter-spacing: 0.18em !important; text-transform: uppercase !important; color: var(--ink-3) !important; margin: 8px 0 10px !important; font-weight: 500 !important; }
.eic-badge-name { font-family: var(--display) !important; font-size: 17px !important; font-weight: 800 !important; letter-spacing: -0.01em !important; color: var(--ink) !important; margin: 0 0 4px !important; line-height: 1.1 !important; }
.eic-badge-detail { font-family: var(--sans) !important; font-size: 12px !important; color: var(--ink-2) !important; line-height: 1.45 !important; margin: 0 !important; }
.eic-bio { margin-bottom: 24px !important; }
.eic-bio p { font-family: var(--sans) !important; font-size: 14.5px !important; color: var(--ink-2) !important; line-height: 1.65 !important; margin: 0 0 14px !important; }
.eic-bio p:last-child { margin-bottom: 0 !important; }
.eic-affiliations { margin: 22px 0 !important; padding-top: 18px !important; border-top: 1.5px solid var(--ink) !important; display: flex !important; flex-wrap: wrap !important; gap: 8px !important; align-items: center !important; }
.eic-aff-label { font-family: var(--mono) !important; font-size: 10px !important; letter-spacing: 0.14em !important; text-transform: uppercase !important; font-weight: 600 !important; color: var(--ink) !important; margin-right: 4px !important; }
.eic-aff-item { background: var(--ink) !important; color: var(--white) !important; padding: 4px 10px !important; font-family: var(--mono) !important; font-size: 10px !important; letter-spacing: 0.06em !important; font-weight: 500 !important; }
.eic-actions { display: flex !important; gap: 14px !important; flex-wrap: wrap !important; align-items: center !important; margin-top: 4px !important; }
.eic-linkedin {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 12px 22px !important;
  background: var(--teal) !important;
  color: var(--white) !important;
  border: 2px solid var(--ink) !important;
  font-family: var(--display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  transition: background 0.2s, color 0.2s, transform 0.2s !important;
}
.eic-linkedin:hover { background: var(--ink) !important; color: var(--yellow) !important; transform: translateY(-2px) !important; }
.eic-linkedin svg { width: 14px !important; height: 14px !important; }
.eic-forthcoming {
  font-family: var(--mono) !important;
  font-size: 10px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
  padding: 12px 16px !important;
  border: 1.5px dashed var(--ink) !important;
  background: rgba(255,214,10,0.08) !important;
}

/* ---------- issue + article cards (with OA corner-tag) ---------- */
.obj_issue_summary,
.obj_article_summary {
  position: relative !important;
  background: var(--white) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 24px 28px !important;
  margin-bottom: 18px !important;
  transition: transform 0.22s ease, background 0.22s ease !important;
}

.obj_issue_summary:hover,
.obj_article_summary:hover {
  transform: translateY(-2px) !important;
  background: var(--bg) !important;
  box-shadow: 0 0 0 2px var(--ink) !important;
}

.obj_issue_summary .title,
.obj_article_summary .title,
.obj_issue_summary h2,
.obj_article_summary h2 {
  font-family: var(--display) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 0 8px !important;
}

.obj_issue_summary .title a,
.obj_article_summary .title a {
  color: var(--ink) !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: color 0.15s !important;
}
.obj_issue_summary .title a:hover,
.obj_article_summary .title a:hover { color: var(--teal) !important; }

.obj_article_summary .meta,
.obj_article_summary .authors,
.obj_issue_summary .meta {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink-3) !important;
}

.oa-corner {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  background: var(--yellow) !important;
  color: var(--ink) !important;
  font-family: var(--mono) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 6px 10px !important;
  border-left: 1.5px solid var(--ink) !important;
  border-bottom: 1.5px solid var(--ink) !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* galley (PDF) link buttons */
.obj_galley_link {
  display: inline-flex !important;
  align-items: center !important;
  background: var(--ink) !important;
  color: var(--white) !important;
  border: 2px solid var(--ink) !important;
  border-radius: 0 !important;
  font-family: var(--mono) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  margin-right: 8px !important;
  transition: background 0.15s, color 0.15s !important;
}
.obj_galley_link:hover {
  background: var(--yellow) !important;
  color: var(--ink) !important;
}

/* ---------- sidebar blocks ---------- */
.pkp_block {
  background: var(--white) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 22px 22px !important;
  margin-bottom: 18px !important;
}

.pkp_block .title,
.pkp_block h2 {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
  border: none !important;
  border-bottom: 2px solid var(--ink) !important;
  padding: 0 0 8px !important;
  margin: 0 0 14px !important;
}

.pkp_block .content,
.pkp_block ul,
.pkp_block li,
.pkp_block a {
  font-family: var(--sans) !important;
  font-size: 13px !important;
}
.pkp_block a { color: var(--ink-2) !important; }
.pkp_block a:hover { color: var(--teal) !important; }

/* "Make a Submission" — yellow CTA, sharp corners */
.pkp_block_make_submission .content a,
.pkp_block_make_submission a,
.block_make_submission a {
  display: block !important;
  text-align: center !important;
  background: var(--yellow) !important;
  color: var(--ink) !important;
  border: 2px solid var(--ink) !important;
  border-radius: 0 !important;
  padding: 12px 18px !important;
  font-family: var(--display) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.18s, color 0.18s, transform 0.18s !important;
}
.pkp_block_make_submission .content a:hover,
.pkp_block_make_submission a:hover,
.block_make_submission a:hover {
  background: var(--ink) !important;
  color: var(--yellow) !important;
  transform: translateY(-2px) !important;
}

/* ---------- forms / buttons ---------- */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"],
textarea,
select {
  background: var(--white) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  font-family: var(--sans) !important;
  font-size: 14px !important;
  padding: 10px 12px !important;
  color: var(--ink) !important;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="search"]:focus,
input[type="password"]:focus,
input[type="url"]:focus,
input[type="number"]:focus,
textarea:focus,
select:focus {
  outline: none !important;
  border-color: var(--yellow) !important;
  box-shadow: 0 0 0 2px var(--yellow) !important;
}

label,
.pkp_form .label {
  font-family: var(--mono) !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: var(--ink) !important;
  font-weight: 600 !important;
}

.pkp_button,
button.pkp_button,
.cmp_button,
button[type="submit"],
input[type="submit"] {
  background: var(--ink) !important;
  color: var(--bg) !important;
  border: 2px solid var(--ink) !important;
  border-radius: 0 !important;
  font-family: var(--display) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  padding: 11px 22px !important;
  box-shadow: none !important;
  transition: background 0.18s, color 0.18s, transform 0.18s !important;
}

.pkp_button:hover,
button.pkp_button:hover,
.cmp_button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background: var(--yellow) !important;
  color: var(--ink) !important;
  transform: translateY(-2px) !important;
}

.pkp_button_primary,
a.pkp_button_primary,
button[type="submit"].pkp_button_primary {
  background: var(--yellow) !important;
  color: var(--ink) !important;
  border: 2px solid var(--ink) !important;
  border-radius: 0 !important;
  font-family: var(--display) !important;
  font-weight: 800 !important;
}
.pkp_button_primary:hover,
a.pkp_button_primary:hover {
  background: var(--ink) !important;
  color: var(--yellow) !important;
  transform: translateY(-2px) !important;
}

/* ---------- pagination ---------- */
.cmp_pagination,
.pagination {
  font-family: var(--mono) !important;
  font-size: 12px !important;
  letter-spacing: 0.06em !important;
}
.cmp_pagination a,
.pagination a {
  border: 1.5px solid var(--ink) !important;
  color: var(--ink) !important;
  padding: 6px 12px !important;
  margin: 0 4px !important;
  background: var(--white) !important;
}
.cmp_pagination a:hover,
.pagination a:hover {
  background: var(--yellow) !important;
}

/* ---------- footer ---------- */
.pkp_structure_footer_wrapper,
.pkp_structure_footer {
  background: var(--ink) !important;
  color: var(--bg) !important;
  margin-top: 0 !important;
  padding: 56px 0 32px !important;
  border-top: 4px solid var(--yellow) !important;
}

.pkp_structure_footer .pkp_footer_content,
.pkp_structure_footer .pkp_footer_content *,
.pkp_brand_footer,
.pkp_brand_footer * {
  color: rgba(250,250,248,0.8) !important;
  font-family: var(--sans) !important;
}

.pkp_structure_footer h2,
.pkp_structure_footer h3,
.pkp_structure_footer h4,
.pkp_structure_footer .title {
  color: var(--yellow) !important;
  font-family: var(--display) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  border: none !important;
  margin-bottom: 14px !important;
}

.pkp_structure_footer a,
.pkp_brand_footer a {
  color: rgba(250,250,248,0.78) !important;
  text-decoration: none !important;
}
.pkp_structure_footer a:hover,
.pkp_brand_footer a:hover { color: var(--yellow) !important; }

/* ---------- read-pane (article body / abstract / full text) — quiet zone ---------- */
.obj_article_details .item.abstract,
.obj_article_details .main_entry,
.article-summary .abstract,
.article-details .abstract,
.page_article {
  background: var(--white) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  padding: 36px 44px !important;
}

.article-details h1,
.obj_article_details h1,
.page_article h1 {
  font-family: var(--display) !important;
  font-size: clamp(28px, 3.4vw, 44px) !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
  letter-spacing: -0.025em !important;
  line-height: 1.1 !important;
  border: none !important;
  margin: 0 0 14px !important;
}

.obj_article_details .item.abstract p,
.article-details .abstract p,
.page_article p {
  font-family: var(--sans) !important;
  font-size: 16px !important;
  line-height: 1.75 !important;
  color: var(--ink-2) !important;
}

/* ---------- announcements ---------- */
.cmp_announcement {
  background: var(--white) !important;
  border: 1.5px solid var(--ink) !important;
  border-radius: 0 !important;
  padding: 24px 28px !important;
  margin-bottom: 18px !important;
}

.cmp_announcement h2,
.cmp_announcement .title {
  font-family: var(--display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  color: var(--ink) !important;
  border: none !important;
  margin: 0 0 8px !important;
}


/* nav dropdown sub-menu links — force off-white text, yellow on hover */
.pkp_navigation_primary ul.dropdown li a,
.pkp_navigation_primary li ul li a,
.pkp_navigation_user ul.dropdown li a,
.pkp_navigation_user li ul li a {
  color: var(--bg) !important;
}
.pkp_navigation_primary ul.dropdown li a:hover,
.pkp_navigation_primary li ul li a:hover,
.pkp_navigation_user ul.dropdown li a:hover,
.pkp_navigation_user li ul li a:hover {
  color: var(--yellow) !important;
  background: rgba(255,255,255,0.06) !important;
}

/* ---------- mobile breakpoints ---------- */


/* ---------- OJS layout width override (widen container) ---------- */
.pkp_structure_content {
  width: auto !important;
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 32px !important;
  box-sizing: border-box !important;
}
.pkp_structure_main {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
.pkp_structure_sidebar {
  padding-left: 24px !important;
}
@media (min-width: 1100px) {
  .pkp_structure_content.has_sidebar { display: flex !important; gap: 32px !important; }
  .pkp_structure_content.has_sidebar .pkp_structure_main { flex: 1 1 auto !important; min-width: 0 !important; padding-left: 0 !important; }
  .pkp_structure_content.has_sidebar .pkp_structure_sidebar { flex: 0 0 280px !important; padding-left: 0 !important; }
}
@media (max-width: 1099px) {
  .pkp_structure_content.has_sidebar .pkp_structure_main { padding-left: 16px !important; padding-right: 16px !important; }
  .pkp_structure_content.has_sidebar .pkp_structure_sidebar { padding-left: 16px !important; }
}
@media (max-width: 768px) {
  .pkp_structure_content { padding: 0 16px !important; }
}

@media (min-width: 1024px) {
  .pkp_structure_main { padding-bottom: 56px !important; }
}

@media (max-width: 720px) {
  .eic-photo-stage { min-height: 240px !important; padding: 24px 18px !important; }
  .eic-photo-placeholder { max-width: 200px !important; }
  .eic-content { padding: 32px 26px !important; }
  .eic-badges { grid-template-columns: 1fr !important; }
}

@media (max-width: 768px) {
  .pkp_site_name img { max-height: 56px; }
  .pkp_navigation_primary > li > a { padding: 12px 14px !important; font-size: 11px !important; }
  .homepage_about,
  .additional_content,
  .page_content { padding: 24px 20px !important; }
  .obj_issue_summary,
  .obj_article_summary { padding: 18px 20px !important; }
  .pkp_block { padding: 16px 18px !important; }
  .obj_article_details .item.abstract,
  .obj_article_details .main_entry,
  .page_article { padding: 24px 22px !important; }
  .eic-content { padding: 28px 22px !important; }
  .eic-name { font-size: clamp(32px, 8vw, 44px) !important; }
}

@media (max-width: 375px) {
  .homepage_about,
  .additional_content,
  .page_content,
  .obj_issue_summary,
  .obj_article_summary { padding: 18px 16px !important; }
  .oa-corner { font-size: 9px !important; padding: 4px 8px !important; }
}

/* ---------- prefers-reduced-motion ---------- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
