/*
  RCST Material — 1.0
  The Revue Congolaise des Sciences et Technologies in Google's Material 3.

  Colour: a Material 3 scheme (fidelity variant, material-color-utilities) seeded from the green
  of the RCST logo and covers (#34a014) for primary and secondary, and from the gold of the CSN seal
  (#c08810) for tertiary. Both brand colours also exist as they are (--rcst-leaf, --rcst-gold) for
  large shapes that carry no small text: generated covers, rules, markers. Surfaces carry a faint
  green tint, as M3 surfaces carry their seed. Shapes: full pills for controls, 16px for cards, 28px for the large banner.
  Type: Google Sans for titles, labels and controls; Google Sans Code for identifiers and figures;
  Roboto Flex for interface and body text; Roboto Serif for long reading.
  Spacing: one scale in px (the default theme's spacing is in rem).
*/

:root {
  /* Colour roles (light scheme) */
  --md-primary: #1a6d00;                 /* logo green at tone 40: 6.5:1 under white */
  --md-on-primary: #ffffff;
  --md-primary-container: #bef0a7;
  --md-on-primary-container: #032100;
  --md-secondary: #3a692a;
  --md-on-secondary: #ffffff;
  --md-secondary-container: #d0ebc0;
  --md-on-secondary-container: #0c2006;
  --md-tertiary: #7e5700;                /* CSN gold, tone 40: 6.1:1 on surface */
  --md-tertiary-container: #ffd798;
  --md-on-tertiary-container: #281900;
  --rcst-leaf: #34a014;                 /* the logo and the covers, as they are (decorative: 3.4:1) */
  --rcst-leaf-deep: #1e7b00;             /* the same green, dark enough for white text (5.2:1) */
  --rcst-gold: #c08810;                  /* the CSN seal (decorative: rules and markers) */
  --md-error: #ba1a1a;
  --md-error-container: #ffdad6;
  --md-on-error-container: #410002;
  --md-surface: #f8fbf1;
  --md-surface-container-lowest: #ffffff;
  --md-surface-container-low: #f2f5eb;
  --md-surface-container: #ecefe5;
  --md-surface-container-high: #e6e9e0;
  --md-surface-container-highest: #e1e4da;
  --md-on-surface: #191d16;
  --md-on-surface-variant: #43483e;      /* 9:1 on surface */
  --md-outline: #73796d;
  --md-outline-variant: #c3c8bb;
  --md-inverse-surface: #2e322b;
  --md-inverse-on-surface: #eff2e8;
  --md-scrim: rgba(25, 29, 22, .32);

  /* State layers (M3: hover 8 %, focus and press 10 %) */
  --md-hover: color-mix(in srgb, currentColor 8%, transparent);
  --md-press: color-mix(in srgb, currentColor 10%, transparent);

  /* Type */
  --md-font-brand: "Google Sans", "Roboto Flex", system-ui, -apple-system, sans-serif;
  --md-font-plain: "Roboto Flex", "Google Sans", system-ui, -apple-system, sans-serif;
  --md-font-serif: "Roboto Serif", Georgia, "Times New Roman", serif;
  --md-font-code: "Google Sans Code", ui-monospace, "Cascadia Mono", monospace;
  --md-measure: 32em;                    /* ≈ 75 characters of Roboto Flex, which sets narrow */
  --md-measure-serif: 32em;              /* ≈ 72 characters of Roboto Serif, which sets narrower */

  /* Shape */
  --md-shape-xs: 4px;
  --md-shape-s: 8px;
  --md-shape-m: 12px;
  --md-shape-l: 16px;
  --md-shape-xl: 28px;
  --md-shape-full: 999px;

  /* Elevation (only for menus) */
  --md-elevation-2: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px 2px rgba(0, 0, 0, .15);

  /* Motion: M3 standard easing */
  --md-ease: cubic-bezier(.2, 0, 0, 1);
  --md-duration: 200ms;

  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 64px;

  --md-focus: var(--md-primary);
  --md-page: 1240px;
}

/* ---------------------------------------------------------------- Base */

html, body, .pkp_structure_page { background: var(--md-surface); }

body {
  color: var(--md-on-surface);
  font-family: var(--md-font-plain);
  font-size: 16px;
  line-height: 1.5;
  font-variant-numeric: lining-nums;
  -webkit-font-smoothing: antialiased;
}

::selection { background: var(--md-primary-container); color: var(--md-on-primary-container); }

a {
  color: var(--md-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
  transition: color var(--md-duration) var(--md-ease), background-color var(--md-duration) var(--md-ease);
}
a:hover { color: var(--md-on-primary-container); text-decoration-thickness: 2px; }

/* Focus indicator (M3: 3px, offset 2). The default theme removes outlines on many links, hence !important. */
:focus-visible {
  outline: 3px solid var(--md-focus) !important;
  outline-offset: 2px !important;
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--md-font-brand);
  color: var(--md-on-surface);
  font-weight: 400;
  letter-spacing: 0;
  text-wrap: balance;
}

p, li { text-wrap: pretty; }

code, kbd, samp, .doi, .pub_id .value, .pages { font-family: var(--md-font-code); }

table { font-variant-numeric: tabular-nums; }

/* ---------------------------------------------------------------- Top app bar */

.pkp_structure_head {
  background: var(--md-surface);
  border-bottom: 1px solid var(--md-outline-variant);
}

.pkp_head_wrapper,
.has_site_logo .pkp_head_wrapper {
  width: auto;
  max-width: var(--md-page);
  margin: 0 auto;
  padding: 0 var(--space-5);
}

.rcst-m-appbar {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  min-height: 72px;
}

.pkp_site_name_wrapper {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  flex: 0 1 auto;
  min-width: 0;
}

.pkp_site_name,
.has_site_logo .pkp_site_name {
  position: static;
  width: auto;
  margin: 0;
  padding: 0;
  font-size: inherit;
  white-space: normal;
  overflow: visible;
}

.rcst-m-brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  color: var(--md-on-surface);
  text-decoration: none;
  border-radius: var(--md-shape-m);
}
.rcst-m-brand:hover { color: var(--md-on-surface); text-decoration: none; }

.rcst-m-brand__logo {
  width: 44px;
  height: 44px;
  object-fit: cover;
  border-radius: var(--md-shape-m);
  flex: 0 0 auto;
}

.rcst-m-brand__name {
  font-family: var(--md-font-brand);
  font-size: 20px;
  line-height: 26px;
  font-weight: 500;
  max-width: 19em;
}

/* Search bar (M3): pill, container-high, leading icon */
.rcst-m-search {
  position: relative;
  flex: 1 1 360px;
  max-width: 560px;
  margin-left: auto;
}
.rcst-m-search__icon {
  position: absolute;
  left: 18px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--md-on-surface-variant);
  pointer-events: none;
}
.rcst-m-search__input {
  width: 100%;
  height: 48px;
  padding: 0 var(--space-5) 0 48px;
  border: 0;
  border-radius: var(--md-shape-full);
  background: var(--md-surface-container-high);
  color: var(--md-on-surface);
  font-family: var(--md-font-plain);
  font-size: 16px;
  transition: background-color var(--md-duration) var(--md-ease);
}
.rcst-m-search__input::placeholder { color: var(--md-on-surface-variant); opacity: 1; }
.rcst-m-search__input:hover { background: var(--md-surface-container-highest); }
.rcst-m-search__input:focus-visible { outline-offset: 0 !important; background: var(--md-surface-container-highest); }

/* Language: M3 segmented button */
.rcst-m-lang {
  display: inline-flex;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  list-style: none;
  border: 1px solid var(--md-outline);
  border-radius: var(--md-shape-full);
  overflow: hidden;
}
.rcst-m-lang li + li { border-left: 1px solid var(--md-outline); }
.rcst-m-lang a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  min-width: 56px;
  height: 40px;
  padding: 0 var(--space-3);
  color: var(--md-on-surface);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1px;
  text-decoration: none;
}
.rcst-m-lang a:hover { background: var(--md-hover); color: var(--md-on-surface); text-decoration: none; }
.rcst-m-lang a[aria-current] { background: var(--md-secondary-container); color: var(--md-on-secondary-container); }
.rcst-m-lang a[aria-current]::before { content: "check"; font-family: "Material Symbols Rounded"; font-size: 18px; font-weight: 500; line-height: 1; font-feature-settings: "liga"; }
.rcst-m-lang a:focus-visible { outline-offset: -3px !important; }

/* ---------------------------------------------------------------- Navigation tabs */

.pkp_site_nav_menu .pkp_navigation_primary_wrapper,
.pkp_navigation_user {
  width: auto;
  padding: 0;
}

.pkp_navigation_primary > li > a,
.pkp_navigation_user > li > a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  margin: 0;
  padding: 0 var(--space-4);
  border: 0;
  border-radius: var(--md-shape-full);
  color: var(--md-on-surface-variant);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1px;
  text-decoration: none;
}

.pkp_navigation_primary > li > a:hover,
.pkp_navigation_primary > li > a:focus,
.pkp_navigation_user > li > a:hover,
.pkp_navigation_user > li > a:focus {
  background: var(--md-hover);
  color: var(--md-on-surface);
  border: 0;
  text-decoration: none;
}

.pkp_navigation_primary > li > a[aria-expanded="true"],
.pkp_navigation_user > li > a[aria-expanded="true"] {
  background: var(--md-secondary-container);
  color: var(--md-on-secondary-container);
}

/* Menus (M3): container surface, elevation 2, 48px items */
.pkp_navigation_primary .dropdown-menu,
.pkp_navigation_user .dropdown-menu {
  min-width: 260px;
  padding: var(--space-2) 0;
  border: 0;
  border-radius: var(--md-shape-m);
  background: var(--md-surface-container);
  box-shadow: var(--md-elevation-2);
}
.pkp_navigation_primary .dropdown-menu a,
.pkp_navigation_user .dropdown-menu a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 var(--space-4);
  border: 0;
  color: var(--md-on-surface);
  font-family: var(--md-font-plain);
  font-size: 14px;
  text-decoration: none;
}
.pkp_navigation_primary .dropdown-menu a:hover,
.pkp_navigation_primary .dropdown-menu a:focus,
.pkp_navigation_user .dropdown-menu a:hover,
.pkp_navigation_user .dropdown-menu a:focus {
  background: var(--md-hover);
  color: var(--md-on-surface);
  border: 0;
}

.pkp_navigation_user .task_count {
  background: var(--md-error);
  color: #ffffff;
  border-radius: var(--md-shape-full);
  font-family: var(--md-font-code);
}

@media (min-width: 992px) {
  .pkp_head_wrapper,
  .has_site_logo .pkp_head_wrapper { padding-top: 0; }

  .pkp_site_nav_menu {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-4);
    padding: 0 0 var(--space-2);
    background: transparent;
  }

  .pkp_navigation_primary_row { flex: 1 1 auto; }
  .pkp_navigation_primary { display: flex; flex-wrap: wrap; gap: var(--space-1); margin-left: -12px; }

  .pkp_navigation_user_wrapper {
    position: static;
    transform: none;
    padding: 0;
    flex: 0 0 auto;
  }
  .pkp_navigation_user { display: flex; gap: var(--space-1); }
}

/* ---------------------------------------------------------------- Buttons (M3) */

.rcst-m-btn,
.cmp_button,
button.submit,
.pkp_button,
.block_make_submission_link,
.obj_galley_link,
.cmp_manuscript_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 40px;
  padding: 0 var(--space-5);
  border: 0;
  border-radius: var(--md-shape-full);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1px;
  line-height: 20px;
  text-decoration: none;
  transition: background-color var(--md-duration) var(--md-ease), box-shadow var(--md-duration) var(--md-ease);
}

.rcst-m-btn { min-height: 48px; padding: 0 var(--space-6); font-size: 14px; }

/* Filled */
.rcst-m-btn--filled,
.cmp_button,
button.submit,
.block_make_submission_link {
  background: var(--md-primary);
  color: var(--md-on-primary);
}
.rcst-m-btn--filled:hover,
.cmp_button:hover,
button.submit:hover,
.block_make_submission_link:hover {
  background: color-mix(in srgb, var(--md-primary) 92%, var(--md-on-primary));
  color: var(--md-on-primary);
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 1px 3px 1px rgba(0, 0, 0, .15);
}

/* Tonal */
.rcst-m-btn--tonal,
.obj_galley_link {
  background: var(--md-secondary-container);
  color: var(--md-on-secondary-container);
}
.rcst-m-btn--tonal:hover,
.obj_galley_link:hover {
  background: color-mix(in srgb, var(--md-secondary-container) 92%, var(--md-on-secondary-container));
  color: var(--md-on-secondary-container);
  text-decoration: none;
}

/* Text */
.rcst-m-btn--text { background: transparent; color: var(--md-primary); padding: 0 var(--space-4); }
.rcst-m-btn--text:hover { background: var(--md-hover); text-decoration: none; }

.obj_galley_link.pdf::before { content: "picture_as_pdf"; font-family: "Material Symbols Rounded"; font-size: 20px; font-weight: 400; line-height: 1; font-feature-settings: "liga"; }

/* ---------------------------------------------------------------- Page frame */

.pkp_structure_content {
  max-width: var(--md-page);
  width: auto;
  margin: 0 auto;
  padding: var(--space-6) var(--space-5) var(--space-8);
}

.pkp_structure_main {
  background: transparent;
  padding: 0;
}

@media (min-width: 992px) {
  .pkp_structure_main { padding: 0; }
  .pkp_structure_main { float: none; width: auto; }
}

.pkp_structure_main h1 { font-size: 36px; line-height: 44px; margin: 0 0 var(--space-4); }
.pkp_structure_main h2 { font-size: 24px; line-height: 32px; margin: var(--space-7) 0 var(--space-3); }
.pkp_structure_main h3 { font-size: 22px; line-height: 28px; font-weight: 500; margin: var(--space-6) 0 var(--space-2); }

.pkp_structure_main > .page > :first-child,
.pkp_structure_main > .page > .cmp_breadcrumbs + *,
.pkp_structure_main > div > :first-child { margin-top: 0; }

.pkp_structure_main p,
.pkp_structure_main dd,
.pkp_structure_main :is(.page, .item, .homepage_about, .description, .cmp_notification) :is(ul, ol):not([class]) > li { max-width: var(--md-measure); }

/* Long-form pages read in Roboto Serif: the guidelines, checklist, copyright and privacy texts,
   the body of About and custom pages (ethics statement…), and issue descriptions. */
/* Prose only: not breadcrumbs, cards, dates or other interface text */
.page :is(.author_guidelines, .submission_checklist, .copyright_notice, .privacy_statement) :is(p, li),
.pkp_structure_main > .page > p,
.pkp_structure_main > .page > ul > li,
.pkp_structure_main > .page > ol > li,
.page .description p {
  font-family: var(--md-font-serif);
  font-size: 18px;
  line-height: 30px;
  max-width: var(--md-measure-serif);
}

/* Breadcrumbs */
.cmp_breadcrumbs { margin: 0 0 var(--space-4); color: var(--md-on-surface-variant); font-family: var(--md-font-brand); font-size: 14px; }
.cmp_breadcrumbs ol { margin: 0; }
.cmp_breadcrumbs a { color: var(--md-on-surface-variant); }
.cmp_breadcrumbs .separator { color: var(--md-on-surface-variant); }

/* ---------------------------------------------------------------- Sidebar: filled cards */

.pkp_structure_sidebar .pkp_block {
  margin: 0 0 var(--space-3);
  padding: var(--space-5);
  border: 0;
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-low);
}

.pkp_block .title {
  margin: 0 0 var(--space-3);
  color: var(--md-on-surface);
  font-family: var(--md-font-brand);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .15px;
  text-transform: none;
}

.block_language ul { padding: 0; }
.block_language li { margin: 0; }
.block_language a { display: flex; align-items: center; min-height: 40px; padding: 0 var(--space-3); margin: 0 calc(-1 * var(--space-3)); border-radius: var(--md-shape-full); text-decoration: none; }
.block_language a:hover { background: var(--md-hover); }
.block_language .current a { background: var(--md-secondary-container); color: var(--md-on-secondary-container); font-weight: 500; }

/* ---------------------------------------------------------------- Home */

.pkp_page_index .homepage_image { margin: 0 0 var(--space-6); text-align: center; }
.pkp_page_index .homepage_image img { display: inline-block; width: auto; max-width: 100%; height: auto; border-radius: var(--md-shape-l); }

.pkp_page_index .homepage_about { padding: 0; margin: 0; }
.pkp_page_index .homepage_about > h2 { margin-top: 0; }
.pkp_page_index .homepage_about p { font-family: var(--md-font-serif); font-size: 18px; line-height: 30px; max-width: var(--md-measure-serif); }

.pkp_page_index .current_issue { margin: var(--space-7) 0 0; padding: 0; }
.pkp_page_index .current_issue > h2 { margin: 0 0 var(--space-2); }

.current_issue_title { color: var(--md-on-surface); font-family: var(--md-font-brand); font-size: 18px; font-weight: 500; }
.pkp_page_index .current_issue .current_issue_title { margin: 0 0 var(--space-1); }

.obj_issue_toc .heading { margin: 0; padding: 0; border: 0; }
.obj_issue_toc .heading .published { margin: 0; color: var(--md-on-surface-variant); font-family: var(--md-font-code); font-size: 14px; }
.obj_issue_toc .heading .published .label { font-family: var(--md-font-brand); }
.obj_issue_toc .heading .description { margin-top: var(--space-4); }

/* ---------------------------------------------------------------- Issue contents: M3 list */

.obj_issue_toc .sections,
.obj_issue_toc .sections:not(:first-child) { margin-top: var(--space-5); }
.obj_issue_toc .section { margin: 0 0 var(--space-6); padding: 0; border: 0; }
.obj_issue_toc .section:last-child { margin-bottom: 0; }

.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3 {
  display: block;
  position: static;
  left: auto;
  margin: 0 0 var(--space-2);
  padding: 0;
  background: none;
  color: var(--md-primary);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: .1px;
  line-height: 20px;
}
.obj_issue_toc .section > h2::before, .obj_issue_toc .section > h3::before,
.obj_issue_toc .section > h2::after, .obj_issue_toc .section > h3::after { content: none; }

.cmp_article_list {
  overflow: hidden;
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-lowest);
  border: 1px solid var(--md-outline-variant);
}
.cmp_article_list > li { margin: 0; }
.cmp_article_list > li + li { border-top: 1px solid var(--md-outline-variant); }

.obj_article_summary {
  position: relative;
  padding: var(--space-4) var(--space-5);
  transition: background-color var(--md-duration) var(--md-ease);
}
.obj_article_summary:hover { background: var(--md-surface-container-low); }

.obj_article_summary > .title,
.obj_article_summary .title { margin: 0; font-family: var(--md-font-brand); font-size: 18px; line-height: 26px; font-weight: 500; }
.obj_article_summary .title a { color: var(--md-on-surface); text-decoration: none; padding-block: 2px; }
.obj_article_summary .title a:hover { color: var(--md-primary); text-decoration: underline; }
.obj_article_summary .subtitle { color: var(--md-on-surface-variant); font-size: 14px; }

.obj_article_summary .meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-1) var(--space-4); margin-top: var(--space-1); }
.obj_article_summary .authors { color: var(--md-on-surface-variant); font-size: 14px; }
.obj_article_summary .pages,
.obj_article_summary .published { color: var(--md-on-surface-variant); font-family: var(--md-font-code); font-size: 14px; }

.obj_article_summary .galleys_links { margin-top: var(--space-3); display: flex; flex-wrap: wrap; gap: var(--space-2); }
.obj_article_summary .obj_galley_link { min-height: 32px; padding: 0 var(--space-4); font-size: 12px; }

.obj_issue_toc .read_more,
.current_issue .read_more {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 40px;
  margin-top: var(--space-4);
  padding: 0 var(--space-4);
  border-radius: var(--md-shape-full);
  font-family: var(--md-font-brand);
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
}
.obj_issue_toc .read_more:hover, .current_issue .read_more:hover { background: var(--md-hover); text-decoration: none; }

/* ---------------------------------------------------------------- Archive: grid of issue cards */

.page_issue_archive .issues_archive {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(176px, 1fr));
  gap: var(--space-4);
  margin: var(--space-5) 0 0;
  padding: 0;
  border: 0;
}
.page_issue_archive .issues_archive > li { margin: 0; padding: 0; border: 0; }

.page_issue_archive .obj_issue_summary {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--space-3);
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-low);
  transition: background-color var(--md-duration) var(--md-ease);
}
.page_issue_archive .obj_issue_summary:hover { background: var(--md-surface-container); }

.page_issue_archive .obj_issue_summary .cover {
  float: none;
  width: auto;
  margin: 0 0 var(--space-3);
}
.page_issue_archive .obj_issue_summary .cover img.rcst-g-cover {
  display: block;
  width: 100%;
  max-height: none;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--md-shape-m);
}
/* An issue without a cover gets a tonal panel of the same size */

.page_issue_archive .obj_issue_summary .description { padding: 0 var(--space-1); font-size: 14px; color: var(--md-on-surface-variant); }

/* ---------------------------------------------------------------- Issue page */

.page_issue .obj_issue_toc .cover { float: none; margin: 0 0 var(--space-4); }
.page_issue .obj_issue_toc .cover img { max-width: 220px; border-radius: var(--md-shape-m); }

/* ---------------------------------------------------------------- Article page */

.obj_article_details .page_title { font-size: clamp(28px, 22px + 1.4vw, 40px); line-height: 1.2; margin: 0 0 var(--space-2); }
.obj_article_details .subtitle { margin: 0 0 var(--space-2); color: var(--md-on-surface-variant); font-family: var(--md-font-brand); font-size: 22px; }

.obj_article_details .row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  margin: var(--space-5) 0 0;
  border: 0;
}
.obj_article_details .row::before,
.obj_article_details .row::after { content: none; display: none; }
.obj_article_details .main_entry,
.obj_article_details .entry_details { float: none; width: auto; margin: 0; border: 0; }

.obj_article_details .main_entry .item { margin: 0; padding: var(--space-5) 0; border: 0; }
.obj_article_details .main_entry .item + .item { border-top: 1px solid var(--md-outline-variant); }
.obj_article_details .main_entry .item:first-child { padding-top: 0; }

.obj_article_details .item .label {
  margin: 0 0 var(--space-2);
  color: var(--md-on-surface);
  font-family: var(--md-font-brand);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: .15px;
}

/* Authors */
.obj_article_details .authors li { margin: 0 0 var(--space-3); }
.obj_article_details .authors .name { font-family: var(--md-font-brand); font-size: 16px; font-weight: 500; }
.obj_article_details .authors .affiliation { color: var(--md-on-surface-variant); font-size: 14px; }
.obj_article_details .authors .userGroup { color: var(--md-on-surface-variant); font-size: 12px; }

/* Reading */
.obj_article_details .abstract .value,
.obj_article_details .abstract p { font-family: var(--md-font-serif); font-size: 18px; line-height: 30px; max-width: var(--md-measure-serif); }
.obj_article_details .references .value,
.obj_article_details .references p { font-family: var(--md-font-serif); font-size: 16px; line-height: 24px; }
.obj_article_details .doi .value, .obj_article_details .doi a { font-family: var(--md-font-code); font-size: 14px; }

/* Details: a filled card beside the text */
.obj_article_details .entry_details {
  align-self: start;
  padding: var(--space-2) var(--space-5);
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-low);
}
.obj_article_details .entry_details .item { margin: 0; padding: var(--space-4) 0; border: 0; }
.obj_article_details .entry_details .item + .item { border-top: 1px solid var(--md-outline-variant); }
.obj_article_details .entry_details .item .label { color: var(--md-on-surface-variant); font-size: 12px; font-weight: 500; letter-spacing: .5px; margin-bottom: var(--space-1); }
.obj_article_details .entry_details .galleys_links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.obj_article_details .entry_details .published .value,
.obj_article_details .entry_details .issue .value { font-size: 14px; }

@media (min-width: 1200px) {
  .obj_article_details .row { grid-template-columns: minmax(0, 1fr) 260px; column-gap: var(--space-7); }
  .obj_article_details .main_entry { grid-column: 1; grid-row: 1; }
  .obj_article_details .entry_details { grid-column: 2; grid-row: 1; }
}

/* ---------------------------------------------------------------- Forms (M3 outlined fields) */

.pkp_structure_main input[type="text"],
.pkp_structure_main input[type="email"],
.pkp_structure_main input[type="password"],
.pkp_structure_main input[type="search"],
.pkp_structure_main input[type="url"],
.pkp_structure_main input[type="tel"],
.pkp_structure_main select,
.pkp_structure_main textarea {
  min-height: 48px;
  padding: var(--space-3) var(--space-4);
  border: 1px solid var(--md-outline);
  border-radius: var(--md-shape-xs);
  background: transparent;
  color: var(--md-on-surface);
  font-family: var(--md-font-plain);
  font-size: 16px;
}
.pkp_structure_main input:hover,
.pkp_structure_main select:hover,
.pkp_structure_main textarea:hover { border-color: var(--md-on-surface); }
.pkp_structure_main input:focus,
.pkp_structure_main select:focus,
.pkp_structure_main textarea:focus { border-color: var(--md-primary); box-shadow: inset 0 0 0 1px var(--md-primary); }

.cmp_form .label,
.cmp_form label { font-family: var(--md-font-brand); font-size: 14px; font-weight: 500; color: var(--md-on-surface-variant); }

/* Notifications: M3 banners, no side stripe */
.cmp_notification {
  margin: 0 0 var(--space-5);
  padding: var(--space-4) var(--space-5);
  border: 0;
  border-radius: var(--md-shape-m);
  background: var(--md-surface-container-high);
  color: var(--md-on-surface);
}
.cmp_notification.warning,
.cmp_notification.error { background: var(--md-error-container); color: var(--md-on-error-container); }
.cmp_notification.success { background: var(--md-primary-container); color: var(--md-on-primary-container); }

/* Pagination */
.cmp_pagination { font-family: var(--md-font-brand); }
.cmp_pagination a, .cmp_pagination .current { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; border-radius: var(--md-shape-full); }
.cmp_pagination .current { background: var(--md-secondary-container); color: var(--md-on-secondary-container); }

/* Announcements */
.cmp_announcements > li { padding: var(--space-5) 0; border-color: var(--md-outline-variant); }
.obj_announcement_summary h2, .obj_announcement_summary h3 { margin: 0 0 var(--space-1); font-size: 22px; }
.obj_announcement_summary .date { color: var(--md-on-surface-variant); font-family: var(--md-font-code); font-size: 14px; }

/* ---------------------------------------------------------------- Footer */

.pkp_structure_footer_wrapper {
  background: var(--md-surface-container);
  color: var(--md-on-surface-variant);
  border-top: 1px solid var(--md-outline-variant);
}
.pkp_footer_content { max-width: var(--md-page); margin: 0 auto; padding: var(--space-6) var(--space-5); color: var(--md-on-surface-variant); }
.pkp_footer_content strong, .pkp_footer_content h4 { color: var(--md-on-surface); font-family: var(--md-font-brand); font-weight: 500; }
.pkp_footer_content a,
.pkp_footer_content a[style] { color: var(--md-primary) !important; }   /* the footer HTML may carry inline colours */
.pkp_footer_content p a { display: inline-block; padding-block: 3px; }
.pkp_footer_content img {
  max-width: min(100%, 240px);
  height: auto;
  padding: 6px;
  border-radius: var(--md-shape-m);
  background: var(--md-surface-container-lowest);
}
.pkp_brand_footer {
  max-width: var(--md-page);
  margin: 0 auto;
  padding: var(--space-4) var(--space-5) var(--space-5);
  border-top: 1px solid var(--md-outline-variant);
}
.pkp_brand_footer img { max-width: 110px; opacity: .7; }

/* ================================================================ Google-style layout
   One full-width column (no sidebar). The home page is search-first; sections are separated by
   space, not boxes; cards are reserved for things you can open (articles, issues). */

.pkp_structure_main { float: none; width: auto; }
/* The default theme draws the main column's side borders with ::before / ::after */
.pkp_structure_main::before,
.pkp_structure_main::after { content: none; display: none; }

/* Top bar: « Soumettre » as a tonal button on wide screens */
.rcst-m-appbar__submit { flex: 0 0 auto; min-height: 40px; padding: 0 var(--space-5); font-size: 14px; }

/* On the home page the big search replaces the bar's search */

/* ---------------------------------------------------------------- Home: search */

.rcst-g-search {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(24px, 4vw, 64px) 0 clamp(40px, 5vw, 72px);
  text-align: center;
}

.rcst-g-search__title {
  margin: 0 auto var(--space-4);
  max-width: 21em;
  color: var(--md-on-surface);
  font-size: clamp(34px, 22px + 3vw, 60px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.02em;
}
.rcst-g-search__text {
  max-width: 36em;
  margin: 0 auto var(--space-6);
  color: var(--md-on-surface-variant);
  font-size: 18px;
  line-height: 28px;
}

.rcst-g-search__form {
  position: relative;
  display: flex;
  align-items: center;
  max-width: 680px;
  margin: 0 auto;
  border-radius: var(--md-shape-full);
  background: var(--md-surface-container-lowest);
  box-shadow: 0 1px 3px rgba(25, 29, 22, .12), 0 4px 16px rgba(25, 29, 22, .08);
  transition: box-shadow var(--md-duration) var(--md-ease);
}
.rcst-g-search__form:hover,
.rcst-g-search__form:focus-within { box-shadow: 0 2px 6px rgba(25, 29, 22, .16), 0 8px 28px rgba(25, 29, 22, .12); }

.rcst-g-search__icon { position: absolute; left: 24px; color: var(--md-on-surface-variant); font-size: 18px; pointer-events: none; }
.pkp_structure_main .rcst-g-search .rcst-g-search__input {   /* beats the outlined-field style */
  flex: 1 1 auto;
  min-height: 0;
  box-shadow: none;
  min-width: 0;
  height: 60px;
  padding: 0 var(--space-4) 0 60px;
  border: 0;
  border-radius: var(--md-shape-full);
  background: transparent;
  color: var(--md-on-surface);
  font-family: var(--md-font-plain);
  font-size: 18px;
}
.pkp_structure_main .rcst-g-search .rcst-g-search__input::placeholder { color: var(--md-on-surface-variant); opacity: 1; }
.pkp_structure_main .rcst-g-search .rcst-g-search__input:focus-visible { outline-offset: -3px !important; }
.rcst-g-search__button {
  flex: 0 0 auto;
  height: 48px;
  margin-right: 6px;
  padding: 0 var(--space-5);
  border: 0;
  border-radius: var(--md-shape-full);
  background: var(--md-primary);
  color: var(--md-on-primary);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.rcst-g-search__button:hover { background: color-mix(in srgb, var(--md-primary) 90%, var(--md-on-primary)); }

/* Chips (M3 assist chips) */
.rcst-g-chips {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-2);
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
}
.rcst-g-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 36px;
  padding: 0 var(--space-4);
  border: 1px solid var(--md-outline-variant);
  border-radius: var(--md-shape-s);
  background: var(--md-surface);
  color: var(--md-on-surface);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
}
.rcst-g-chip .rcst-i { color: var(--md-primary); }
.rcst-g-chip:hover { background: var(--md-surface-container); color: var(--md-on-surface); text-decoration: none; }

/* ---------------------------------------------------------------- Home: sections */

.rcst-g-section { padding: var(--space-7) 0 0; }
.rcst-g-section + .rcst-g-section { margin-top: var(--space-5); border-top: 1px solid var(--md-outline-variant); }

.rcst-g-section__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-4);
  margin: 0 0 var(--space-5);
}
.rcst-g-section__head h2 { margin: 0; font-size: 28px; line-height: 36px; }

.rcst-g-textlink {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 40px;
  padding: 0 var(--space-3);
  border-radius: var(--md-shape-full);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
}
.rcst-g-textlink:hover { background: var(--md-hover); text-decoration: none; }

/* Current issue: cover and facts */
.rcst-g-issue {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: var(--space-6);
  align-items: start;
  margin: 0 0 var(--space-6);
}
.rcst-g-issue__cover { display: block; text-decoration: none; }
.rcst-g-issue__cover img { display: block; }
.rcst-g-issue__cover img,
.rcst-g-issue__cover .rcst-g-cover-blank {
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--md-shape-m);
  box-shadow: 0 1px 3px rgba(25, 29, 22, .15), 0 6px 18px rgba(25, 29, 22, .1);
}
.rcst-g-issue__title { margin: 0 0 var(--space-2); font-size: 32px; line-height: 40px; font-weight: 400; }
.rcst-g-issue__title a { color: var(--md-on-surface); text-decoration: none; }
.rcst-g-issue__title a:hover { color: var(--md-primary); }
.rcst-g-issue__meta { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); margin: 0 0 var(--space-4); color: var(--md-on-surface-variant); font-family: var(--md-font-code); font-size: 14px; }
.rcst-g-issue__description { margin: 0 0 var(--space-5); max-width: var(--md-measure-serif); font-family: var(--md-font-serif); font-size: 18px; line-height: 30px; }

/* A cover-less issue: tonal panel with its volume and number */
.rcst-g-cover-blank {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 2px;
  padding: var(--space-4);
  background: var(--md-primary-container);
  color: var(--md-on-primary-container);
  font-family: var(--md-font-brand);
  font-size: 14px;
  text-align: left;
}
.rcst-g-cover-blank strong { font-size: 28px; line-height: 1.1; font-weight: 500; }

/* Articles as cards (Google Research publication cards) */
.rcst-g-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: var(--space-4);
}
.rcst-g-cards .obj_article_summary {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: var(--space-5);
  border: 1px solid var(--md-outline-variant);
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-lowest);
  transition: border-color var(--md-duration) var(--md-ease), box-shadow var(--md-duration) var(--md-ease);
}
.rcst-g-cards .obj_article_summary:hover { border-color: var(--md-outline); box-shadow: 0 1px 3px rgba(25, 29, 22, .12), 0 4px 12px rgba(25, 29, 22, .08); background: var(--md-surface-container-lowest); }
.rcst-g-cards .obj_article_summary .title { font-size: 18px; line-height: 26px; }
.rcst-g-cards .obj_article_summary .meta { flex-direction: column; gap: var(--space-1); margin-top: var(--space-3); }
.rcst-g-cards .obj_article_summary .galleys_links { margin-top: auto; padding-top: var(--space-4); }

/* Earlier issues: a shelf (Google Play Books) */
.rcst-g-shelf {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 148px;
  gap: var(--space-5);
  margin: 0;
  padding: 0 0 var(--space-3);
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scrollbar-width: thin;
}
.rcst-g-shelf > li { scroll-snap-align: start; }
.rcst-g-shelf__item { display: flex; flex-direction: column; gap: var(--space-1); color: var(--md-on-surface); text-decoration: none; border-radius: var(--md-shape-m); }
.rcst-g-shelf__item:hover { color: var(--md-primary); text-decoration: none; }
.rcst-g-shelf__cover img,
.rcst-g-shelf__cover .rcst-g-cover-blank {
  display: flex;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  margin: 0 0 var(--space-2);
  border-radius: var(--md-shape-m);
  box-shadow: 0 1px 2px rgba(25, 29, 22, .15), 0 3px 10px rgba(25, 29, 22, .08);
  transition: box-shadow var(--md-duration) var(--md-ease);
}
.rcst-g-shelf__item:hover img,
.rcst-g-shelf__item:hover .rcst-g-cover-blank { box-shadow: 0 2px 6px rgba(25, 29, 22, .2), 0 8px 22px rgba(25, 29, 22, .12); }
.rcst-g-shelf__title { font-family: var(--md-font-brand); font-size: 14px; font-weight: 500; line-height: 20px; }
.rcst-g-shelf__date { color: var(--md-on-surface-variant); font-family: var(--md-font-code); font-size: 14px; }

/* The journal */
.rcst-g-about__body { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: var(--space-7); align-items: start; }
.rcst-g-about__text p { margin-top: 0; font-family: var(--md-font-serif); font-size: 18px; line-height: 30px; max-width: var(--md-measure-serif); }
.rcst-g-chips--column { flex-direction: column; align-items: stretch; justify-content: flex-start; margin: 0; }
.rcst-g-chips--column .rcst-g-chip { width: 100%; min-height: 44px; }

/* ---------------------------------------------------------------- Article page: sticky details */

@media (min-width: 1200px) {
  .obj_article_details .entry_details { position: sticky; top: var(--space-5); }
  .obj_article_details .row { grid-template-columns: minmax(0, 1fr) 300px; }
}
.obj_article_details .authors { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.obj_article_details .authors li { margin: 0; padding: var(--space-2) var(--space-4); border-radius: var(--md-shape-m); background: var(--md-surface-container-low); }

/* ---------------------------------------------------------------- Footer (Google sites) */

.pkp_structure_footer { max-width: var(--md-page); margin: 0 auto; padding: 0 var(--space-5); }
.rcst-g-footer {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 2fr);
  gap: var(--space-7);
  padding: var(--space-7) 0 var(--space-6);
}
.rcst-g-footer__issn { display: flex; flex-direction: column; gap: 2px; margin: var(--space-4) 0 0; color: var(--md-on-surface-variant); font-family: var(--md-font-code); font-size: 14px; }
.rcst-g-footer__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-5); }
.rcst-g-footer__links h2 { margin: 0 0 var(--space-3); color: var(--md-on-surface); font-size: 14px; font-weight: 500; letter-spacing: .1px; }
.rcst-g-footer__links ul { margin: 0; padding: 0; list-style: none; }
.rcst-g-footer__links a { display: inline-block; padding: 6px 0; color: var(--md-on-surface-variant); font-size: 14px; text-decoration: none; }
.rcst-g-footer__links a:hover { color: var(--md-primary); text-decoration: underline; }
.pkp_structure_footer .pkp_footer_content { padding: var(--space-5) 0; border-top: 1px solid var(--md-outline-variant); max-width: none; }
.pkp_structure_footer .pkp_brand_footer { padding: var(--space-4) 0 var(--space-5); max-width: none; }


@media (max-width: 991px) {
  .rcst-g-footer { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
  .rcst-g-about__body { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
  .pkp_structure_footer { padding: 0 var(--space-4); }
}

@media (max-width: 767px) {
  .rcst-g-search { text-align: left; padding-top: var(--space-4); }
  .rcst-g-search__title { margin-left: 0; }
  .rcst-g-search__text { margin-left: 0; font-size: 16px; line-height: 24px; margin-bottom: var(--space-5); }
  .pkp_structure_main .rcst-g-search .rcst-g-search__input { height: 52px; font-size: 16px; padding-left: 52px; }
  .rcst-g-search__icon { left: 20px; }
  .rcst-g-search__button { display: none; }   /* the keyboard's search key submits */
  .rcst-g-chips { justify-content: flex-start; }
  .rcst-g-section__head h2 { font-size: 24px; line-height: 32px; }
  .rcst-g-issue { grid-template-columns: 112px minmax(0, 1fr); gap: var(--space-4); }
  .rcst-g-issue__title { font-size: 24px; line-height: 30px; }
  .rcst-g-cards { grid-template-columns: minmax(0, 1fr); }
  .rcst-g-shelf { grid-auto-columns: 120px; gap: var(--space-4); }
  .rcst-g-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------------------------------------------------------------- Small screens */

@media (max-width: 991px) {
  .pkp_head_wrapper,
  .has_site_logo .pkp_head_wrapper { padding: 0 var(--space-4); }

  .rcst-m-appbar { flex-wrap: wrap; min-height: 64px; gap: var(--space-2) var(--space-3); padding: var(--space-2) 0 var(--space-3); }

  .pkp_site_nav_toggle {
    position: relative;               /* its bars are absolutely placed inside it */
    flex: 0 0 auto;
    width: 48px;
    height: 48px;
    border-radius: var(--md-shape-full);
    box-shadow: none;
  }
  .pkp_site_nav_toggle:hover { background: var(--md-hover); }
  .pkp_site_nav_toggle > span,
  .pkp_site_nav_toggle > span::before,
  .pkp_site_nav_toggle > span::after { border-color: var(--md-on-surface); background-color: var(--md-on-surface); }
  .pkp_site_nav_toggle > span { background-color: transparent; }

  /* Bar: menu, logo and name (two lines at most), language, all on one row */
  .rcst-m-appbar { flex-wrap: wrap; }
  .pkp_site_name_wrapper { flex: 1 1 0; }
  .rcst-m-brand { gap: var(--space-2); }
  .rcst-m-brand__name {
    font-size: 14px;
    line-height: 19px;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .rcst-m-brand__logo { width: 36px; height: 36px; border-radius: var(--md-shape-s); }
  .rcst-m-lang { margin-left: 0; }
  .rcst-m-lang a { min-width: 44px; padding: 0 var(--space-2); }
  .rcst-m-lang a[aria-current]::before { content: none; }

  /* Search moves to its own full-width row under the bar */
  .rcst-m-search { order: 3; flex: 1 1 100%; max-width: none; margin: 0; }

  /* Menu panel */
  .pkp_site_nav_menu {
    top: 100%;
    padding: var(--space-2) var(--space-4) var(--space-4);
    background: var(--md-surface-container-low);
    border-bottom: 1px solid var(--md-outline-variant);
    box-shadow: var(--md-elevation-2);
  }
  .pkp_site_nav_menu a { display: flex; align-items: center; min-height: 48px; color: var(--md-on-surface); }
  .pkp_site_nav_menu a:hover, .pkp_site_nav_menu a:focus { color: var(--md-on-surface); text-decoration: none; }
  /* Two clear levels: sections (16px, Google Sans), their pages (15px, indented, quieter) */
  .pkp_site_nav_menu .pkp_navigation_primary > li > a,
  .pkp_site_nav_menu .pkp_navigation_user > li > a {
    width: 100%;
    padding: 0 var(--space-3);
    color: var(--md-on-surface);
    font-family: var(--md-font-brand);
    font-size: 16px;
    font-weight: 500;
  }
  .pkp_site_nav_menu :is(.pkp_navigation_primary, .pkp_navigation_user) > li > ul {
    position: static;
    float: none;
    min-width: 0;
    margin: 0 0 var(--space-2);
    padding: 0 0 0 var(--space-4);
    background: transparent;
    box-shadow: none;
  }
  .pkp_site_nav_menu :is(.pkp_navigation_primary, .pkp_navigation_user) > li > ul a {
    min-height: 44px;
    padding: 0 var(--space-3);
    border-radius: var(--md-shape-full);
    color: var(--md-on-surface-variant);
    font-family: var(--md-font-plain);
    font-size: 14px;
    font-weight: 400;
  }
  .pkp_site_nav_menu .pkp_navigation_user_wrapper { margin-top: var(--space-2); padding-top: var(--space-2); border-top: 1px solid var(--md-outline-variant); }

  .pkp_structure_content { padding: var(--space-5) var(--space-4) var(--space-7); }
}

@media (max-width: 767px) {
  .pkp_footer_content { padding: var(--space-5) var(--space-4); }
  .pkp_footer_content div[style*="flex"] { flex-wrap: wrap; justify-content: center; gap: var(--space-4); }
  .pkp_footer_content a:has(img) { flex: 0 1 auto; }
  .obj_article_summary { padding: var(--space-4); }
}

/* ================================================================ Critique fixes (1.0, 29/10)
   Submission and search become designed screens; covers get an authored placeholder with the CSN
   gold; one date format; headings at Material's regular weight; phone details. */

/* ---------------------------------------------------------------- Headings: Material weights */

.pkp_structure_main h1,
.pkp_structure_main .page_title,
.obj_article_details .page_title,
.pkp_structure_main h2 { font-weight: 400; }
.pkp_structure_main h3 { font-weight: 500; }

/* Monospace only for identifiers and figures (DOI, ISSN, pages); dates read as text */
.obj_issue_toc .heading .published,
.rcst-g-issue__meta,
.rcst-g-shelf__date,
.obj_article_summary .published,
.obj_announcement_summary .date { font-family: var(--md-font-plain); }

.rcst-m-btn { white-space: nowrap; }
@media (max-width: 359px) { .rcst-m-btn { white-space: normal; text-align: center; } }   /* 320px phones: wrap, never widen the page */

/* Long addresses (DOI, URLs pasted in the guidelines or announcements) break instead of widening the page */
.page a:not([class]),
.obj_article_details .references .value,
.obj_announcement_full .description { overflow-wrap: anywhere; }

/* ---------------------------------------------------------------- Header details */

/* Hidden searches take no room (they used to keep their 48px) */
.pkp_page_search .rcst-m-search { display: none; }   /* the page's own search is the header there */
.pkp_page_index.pkp_op_index .rcst-m-lang,
.pkp_page_search .rcst-m-lang { margin-left: auto; }

/* Mouse clicks on the menu button: no dotted outline (keyboard focus keeps the 3px ring) */
.pkp_site_nav_toggle:focus:not(:focus-visible) { outline: none !important; }

/* ---------------------------------------------------------------- Covers (and the CSN gold) */

.rcst-g-cover {
  display: flex;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  border-radius: var(--md-shape-m);
  box-shadow: 0 1px 3px rgba(25, 29, 22, .15), 0 6px 18px rgba(25, 29, 22, .1);
}

.rcst-g-cover--blank {
  position: relative;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 14px 14px 0;
  background: var(--md-primary);
  color: var(--md-on-primary);
  font-family: var(--md-font-brand);
  text-align: left;
}
.rcst-g-cover--blank .rcst-g-cover__logo {   /* beats the cover-image rules of the home and shelf */
  align-self: flex-start;          /* the placeholder is a column that would stretch it */
  display: block;
  width: 32px;
  height: 32px;
  aspect-ratio: 1;
  margin: 0;
  object-fit: cover;
  border-radius: var(--md-shape-s);
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .5);
}
.rcst-g-cover__number { display: flex; flex-direction: column; gap: 2px; margin-top: auto; padding-bottom: var(--space-3); font-size: 14px; line-height: 1.2; }
.rcst-g-cover__number strong { font-size: clamp(22px, 2.4vw, 30px); font-weight: 500; line-height: 1.05; }
.rcst-g-cover__band {
  margin: 0 -14px;
  padding: 6px 14px;
  background: var(--md-tertiary-container);
  color: var(--md-on-tertiary-container);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.rcst-g-issue__cover { display: block; text-decoration: none; }
.rcst-g-shelf__cover .rcst-g-cover { margin: 0 0 var(--space-2); }
.rcst-g-shelf__item:hover .rcst-g-cover { box-shadow: 0 2px 6px rgba(25, 29, 22, .2), 0 8px 22px rgba(25, 29, 22, .12); }

/* « Dernier numéro »: the gold's one badge */
.rcst-g-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 var(--space-3);
  padding: 4px 12px;
  border-radius: var(--md-shape-s);
  background: var(--md-tertiary-container);
  color: var(--md-on-tertiary-container);
  font-family: var(--md-font-brand);
  font-size: 12px;
  font-weight: 500;
}

/* Archive cards: cover, Vol/No, date (the journal name is no longer repeated) */
.page_issue_archive .obj_issue_summary .cover { display: block; margin: 0 0 var(--space-3); text-decoration: none; }
.page_issue_archive .obj_issue_summary .cover .rcst-g-cover { box-shadow: none; }
.page_issue_archive .obj_issue_summary :is(h2, h3) { display: block; padding: 0 var(--space-1); }
.page_issue_archive .obj_issue_summary :is(h2, h3) .title { display: block; color: var(--md-on-surface); font-family: var(--md-font-brand); font-size: 16px; line-height: 24px; font-weight: 500; }
.page_issue_archive .obj_issue_summary :is(h2, h3) .series { display: block; color: var(--md-on-surface-variant); font-family: var(--md-font-plain); font-size: 14px; font-weight: 400; }
.rcst-g-issue-date { margin: 2px 0 0; padding: 0 var(--space-1); color: var(--md-on-surface-variant); font-size: 14px; }

/* ---------------------------------------------------------------- Submission page */

.rcst-g-action {
  margin: 0 0 var(--space-5);
  padding: var(--space-5) var(--space-6);
  border-radius: var(--md-shape-l);
  background: var(--md-primary-container);
  color: var(--md-on-primary-container);
}
.rcst-g-action h2 { margin: 0 0 var(--space-1); color: var(--md-on-primary-container); font-size: 24px; line-height: 32px; }
.rcst-g-action p { margin: 0 0 var(--space-4); font-family: var(--md-font-plain); font-size: 16px; line-height: 24px; max-width: 40em; }
.rcst-g-action__buttons { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.rcst-g-action .rcst-m-btn--text { color: var(--md-on-primary-container); }
.rcst-g-action .rcst-m-btn--tonal { background: var(--md-surface-container-lowest); color: var(--md-primary); }

.rcst-g-toc { margin: 0 0 var(--space-6); }
.rcst-g-toc h2 { margin: 0 0 var(--space-2); color: var(--md-on-surface-variant); font-size: 14px; font-weight: 500; line-height: 20px; }
.rcst-g-toc .rcst-g-chips { justify-content: flex-start; margin: 0; }

.page_submissions [id] { scroll-margin-top: var(--space-5); }
.page_submissions .author_guidelines,
.page_submissions .submission_checklist,
.page_submissions .copyright_notice,
.page_submissions .privacy_statement { padding-top: var(--space-6); border-top: 1px solid var(--md-outline-variant); margin-top: var(--space-6); }
.page_submissions .author_guidelines > h2:first-child,
.page_submissions .submission_checklist > h2:first-child,
.page_submissions .copyright_notice > h2:first-child,
.page_submissions .privacy_statement > h2:first-child { margin-top: 0; }
.rcst-g-backtotop { margin-top: var(--space-6); }

/* ---------------------------------------------------------------- Search page */

.rcst-g-searchpage { margin: 0 0 var(--space-5); }
.rcst-g-searchpage .rcst-g-search__form { margin: 0; max-width: 760px; }
.pkp_structure_main .rcst-g-searchpage .rcst-g-search__input {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  height: 56px;
  padding: 0 var(--space-4) 0 56px;
  border: 0;
  border-radius: var(--md-shape-full);
  background: transparent;
  box-shadow: none;
  font-size: 16px;
}
.pkp_structure_main .rcst-g-searchpage .rcst-g-search__input:focus-visible { outline-offset: -3px !important; }
.rcst-g-searchpage .rcst-g-search__icon { left: 22px; }

.rcst-g-filters { margin-top: var(--space-3); }
.rcst-g-filters > summary { list-style: none; cursor: pointer; display: inline-flex; }
.rcst-g-filters > summary::-webkit-details-marker { display: none; }
.rcst-g-filters[open] > summary { background: var(--md-secondary-container); color: var(--md-on-secondary-container); border-color: transparent; }
.rcst-g-filters .search_advanced {
  display: grid;
  gap: var(--space-4);
  margin: var(--space-3) 0 0;
  padding: var(--space-5);
  border: 0;
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-low);
}
.rcst-g-filters .date_range { display: flex; flex-wrap: wrap; gap: var(--space-5); }
.rcst-g-filters fieldset fieldset { border: 0; margin: 0; padding: 0; }
.rcst-g-filters legend { color: var(--md-on-surface-variant); font-family: var(--md-font-brand); font-size: 14px; font-weight: 500; padding: 0; margin-bottom: var(--space-1); }
.rcst-g-filters select { min-height: 44px; margin-right: var(--space-1); }
.rcst-g-filters .author input { max-width: 420px; width: 100%; }
.rcst-g-filters .rcst-m-btn { justify-self: start; }

.page_search .submit:not(.rcst-m-btn) { display: none; }   /* the old grey « Rechercher » button, if any plugin prints one */

.rcst-g-resultcount { color: var(--md-on-surface-variant); font-size: 14px; margin: 0 0 var(--space-3); }
.page_search .search_results { margin: 0; padding: 0; list-style: none; }
.page_search .search_results > li { border-top: 1px solid var(--md-outline-variant); }
.page_search .search_results .obj_article_summary { padding: var(--space-4) 0; }

.rcst-g-empty {
  max-width: 560px;
  margin: var(--space-6) 0 0;
  padding: var(--space-6);
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-low);
}
.rcst-g-empty__icon { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin-bottom: var(--space-3); border-radius: var(--md-shape-full); background: var(--md-secondary-container); color: var(--md-on-secondary-container); font-size: 20px; }
.rcst-g-empty h3 { margin: 0 0 var(--space-3); font-size: 22px; line-height: 28px; }
.rcst-g-empty ul { margin: 0 0 var(--space-5); padding-left: 1.2em; color: var(--md-on-surface-variant); }
.rcst-g-empty li { margin: 0 0 var(--space-1); }
.rcst-g-empty__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }

/* ---------------------------------------------------------------- Home: the journal */

.rcst-g-about__body { display: block; }
.rcst-g-about__text .rcst-g-textlink { margin: var(--space-2) 0 0 calc(-1 * var(--space-3)); }

/* ---------------------------------------------------------------- Footer details */

.rcst-g-footer__brand .rcst-m-brand { text-align: left; }
.rcst-g-footer__brand .rcst-m-brand__name { max-width: 16em; }
/* Partner logos at one height (the footer HTML gives them inline sizes, hence !important) */
.pkp_footer_content img {
  width: auto !important;
  height: 64px !important;
  max-width: 240px;
  object-fit: contain;
}

/* ---------------------------------------------------------------- Small screens */

@media (max-width: 1099px) {
  /* « Soumettre » keeps its word; the icon goes */
  .rcst-m-appbar .rcst-m-appbar__submit { display: inline-flex; flex: 0 0 auto; width: auto; min-height: 44px; padding: 0 var(--space-4); }
  .rcst-m-appbar__submit .rcst-i { display: none; }
}

@media (max-width: 767px) {
  .rcst-m-brand__name { display: block; -webkit-line-clamp: unset; font-size: 14px; line-height: 17px; overflow: visible; }
  .rcst-g-section__head { flex-wrap: wrap; row-gap: 0; }
  .rcst-g-section__head .rcst-g-textlink { margin-left: calc(-1 * var(--space-3)); }
  .rcst-g-issue__facts .rcst-m-btn { padding: 0 var(--space-4); font-size: 14px; }
  .page_issue_archive .issues_archive { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .page_issue_archive .obj_issue_summary { padding: var(--space-2); }
  .page_issue_archive .obj_issue_summary :is(h2, h3) .title { font-size: 14px; line-height: 20px; }
  .rcst-g-action { padding: var(--space-5); }
  .rcst-g-action .rcst-m-btn { flex: 1 1 auto; }
  .rcst-g-searchpage .rcst-g-search__button { display: none; }
  .pkp_structure_main .rcst-g-searchpage .rcst-g-search__input { height: 52px; padding-left: 50px; font-size: 16px; }
  .rcst-g-searchpage .rcst-g-search__icon { left: 20px; }
  /* Long breadcrumbs: each crumb on one line, cut with « … » */
  .cmp_breadcrumbs li a,
  .cmp_breadcrumbs li .current { display: inline-block; max-width: 16ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; vertical-align: bottom; }
  .pkp_footer_content img { height: 52px !important; }
}

/* Narrow phones: menu, logo and the journal's full name on the first row; search, language and
   « Soumettre » on the second (side by side they squeezed the name to five lines) */
@media (max-width: 479px) {
  .pkp_site_name_wrapper { flex: 1 1 calc(100% - 8px); }
  .rcst-m-brand__name { font-size: 14px; line-height: 19px; }
  .rcst-m-search { order: 3; flex: 1 1 0; min-width: 0; }
  .rcst-m-lang { order: 4; margin-left: auto; }
  .rcst-m-appbar .rcst-m-appbar__submit { order: 5; }
  .pkp_page_index.pkp_op_index .rcst-m-lang,
  .pkp_page_search .rcst-m-lang { margin-left: auto; }
}

/* ================================================================ Second critique (27/40) fixes */

/* ---------------------------------------------------------------- Home: first screen */

/* No dead band above the sentence (h2 margin + section padding used to add ~100px) */
.rcst-g-search .rcst-g-search__title { margin: 0 0 var(--space-3); line-height: 1.1; }   /* beats the default h1/h2 margins and line height */
.rcst-g-first { padding: var(--space-5) 0 var(--space-6); }
.rcst-g-first .rcst-g-search { padding: 0; }

/* Search button: icon + label, icon only on phones (it used to disappear there) */
.rcst-g-search__button { display: inline-flex; align-items: center; gap: var(--space-2); }

@media (min-width: 992px) {
  .rcst-g-first--issue {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: var(--space-7);
    align-items: start;
    padding: var(--space-6) 0 var(--space-7);
  }
  .rcst-g-first--issue .rcst-g-search { max-width: none; margin: 0; text-align: left; }
  .rcst-g-first--issue .rcst-g-search__title { margin-left: 0; font-size: clamp(34px, 18px + 2.4vw, 52px); }
  .rcst-g-first--issue .rcst-g-search__text { margin-left: 0; }
  .rcst-g-first--issue .rcst-g-search__form { margin: 0; }
  .rcst-g-first--issue .rcst-g-chips { justify-content: flex-start; }

  .rcst-g-first--issue .rcst-g-issue {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: var(--space-4);
    margin: 0;
    padding: var(--space-4);
    border-radius: var(--md-shape-xl);
    background: var(--md-surface-container-low);
  }
  .rcst-g-first--issue .rcst-g-issue__title { font-size: 24px; line-height: 30px; margin: 0 0 var(--space-1); }
  .rcst-g-first--issue .rcst-g-issue__meta { flex-direction: column; gap: 0; margin-bottom: var(--space-3); }
}

.rcst-g-issue__title { margin-top: 0; }
.rcst-g-badge { margin-bottom: var(--space-2); }

/* Current page in the primary menu (M3 active indicator). The pill is 1.23:1 on the page, so a primary underline
   carries the state too (WCAG 1.4.11), and it survives high-contrast mode. */
.pkp_navigation_primary > li > a[aria-current="page"],
.pkp_navigation_primary > li > a.rcst-m-nav-parent-current {
  background: var(--md-secondary-container);
  color: var(--md-on-secondary-container);
  text-decoration: underline 2px var(--md-primary);
  text-underline-offset: 6px;
}
.pkp_navigation_primary .dropdown-menu a[aria-current="page"],
.pkp_navigation_primary > li > ul a[aria-current="page"] { font-weight: 600; color: var(--md-primary); }

/* ---------------------------------------------------------------- Article page */

.rcst-g-article-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin: var(--space-4) 0 0;
}
.rcst-g-article-actions .obj_galley_link {
  min-height: 48px;
  padding: 0 var(--space-6);
  background: var(--md-primary);
  color: var(--md-on-primary);
  font-size: 14px;
}
.rcst-g-article-actions .obj_galley_link:hover { background: color-mix(in srgb, var(--md-primary) 90%, var(--md-on-primary)); color: var(--md-on-primary); }
.rcst-g-pending {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 48px;
  padding: 0 var(--space-5);
  border: 1px dashed var(--md-outline);
  border-radius: var(--md-shape-full);
  color: var(--md-on-surface-variant);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
}
/* Galleys already sit under the title: not again in the details card */
.obj_article_details .entry_details .item.galleys { display: none; }

/* The role after each author's name (« Auteur·e ») says nothing to a reader */
.obj_article_details .authors .userGroup { display: none; }

.rcst-g-cite { scroll-margin-top: var(--space-5); }
.rcst-g-cite__text {
  margin: 0 0 var(--space-3);
  padding: var(--space-4) var(--space-5);
  border-radius: var(--md-shape-m);
  background: var(--md-surface-container-low);
  font-family: var(--md-font-plain);
  font-size: 16px;
  line-height: 24px;
  max-width: var(--md-measure);
}
.rcst-g-cite__doi { font-family: var(--md-font-code); font-size: 14px; word-break: break-all; }
.rcst-g-cite__copy { min-height: 40px; }

/* ---------------------------------------------------------------- Long pages: « Sur cette page » */

.rcst-g-rail { display: none; }

@media (min-width: 1200px) {
  .rcst-has-rail {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 260px;
    column-gap: var(--space-7);
    align-items: start;
  }
  .rcst-has-rail > * { grid-column: 1; }
  .rcst-has-rail > .rcst-g-rail {
    display: block;
    grid-column: 2;
    grid-row: 1 / span 40;
    position: sticky;
    top: var(--space-5);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: var(--space-4) var(--space-2) var(--space-4) var(--space-4);
    border-left: 1px solid var(--md-outline-variant);
  }
  .rcst-has-rail > .rcst-g-toc { display: none; }   /* the rail replaces the chips */
}

.rcst-g-rail h2 { margin: 0 0 var(--space-3); color: var(--md-on-surface-variant); font-size: 14px; font-weight: 500; line-height: 20px; }
.rcst-g-rail ol { margin: 0; padding: 0; list-style: none; }
.rcst-g-rail li { margin: 0; }
.rcst-g-rail a {
  display: block;
  padding: 6px var(--space-3);
  border-radius: var(--md-shape-full);
  color: var(--md-on-surface-variant);
  font-family: var(--md-font-plain);
  font-size: 14px;
  line-height: 20px;
  text-decoration: none;
}
.rcst-g-rail a:hover { background: var(--md-hover); color: var(--md-on-surface); }
.rcst-g-rail a[aria-current] { background: var(--md-secondary-container); color: var(--md-on-secondary-container); font-weight: 500; text-decoration: underline 2px var(--md-primary); text-underline-offset: 4px; }   /* underline: the pill alone is 1.23:1 */
.rcst-g-rail .rcst-g-rail__l1 a { color: var(--md-on-surface); font-family: var(--md-font-brand); font-weight: 500; margin-top: var(--space-2); }
.rcst-g-rail .rcst-g-rail__l2 a { padding-left: var(--space-5); }
.rcst-g-rail .rcst-g-rail__l3 a { padding-left: calc(var(--space-5) + var(--space-4)); font-size: 12px; }
.page_submissions h3, .page_submissions li[id] { scroll-margin-top: var(--space-5); }

/* ---------------------------------------------------------------- Details */

.rcst-g-issue-date { font-family: var(--md-font-plain); }
.rcst-g-footer,
.rcst-g-footer__links,
.rcst-g-footer__issn { text-align: left; }
.page_issue .obj_issue_toc .heading .cover { margin: 0 0 var(--space-5); max-width: 200px; }
.page_issue .obj_issue_toc .heading .cover .rcst-g-cover { box-shadow: 0 1px 3px rgba(25, 29, 22, .15), 0 6px 18px rgba(25, 29, 22, .1); }

@media (max-width: 767px) {
  .rcst-g-search__button,
  .rcst-g-searchpage .rcst-g-search__button { display: inline-flex; width: 44px; height: 44px; padding: 0; justify-content: center; margin-right: 6px; }
  .rcst-g-search__button-label { display: none; }
  .rcst-g-first .rcst-g-issue { margin-top: var(--space-6); }
  .page_issue .obj_issue_toc .heading .cover { max-width: 150px; }
}

/* Search results: the page range sat absolutely over the date at desktop widths */
.page_search .obj_article_summary .meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--space-1) var(--space-4); }
.page_search .obj_article_summary .meta .authors { flex: 1 1 100%; }
.page_search .obj_article_summary .meta .pages { position: static; margin-left: auto; }

/* ================================================================ Third critique (28/40) fixes */

/* ---------------------------------------------------------------- Icons: Material Symbols */

.rcst-i {
  display: inline-block;
  flex: none;
  width: 1em;
  overflow: hidden;
  font-family: "Material Symbols Rounded";
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  white-space: nowrap;
  direction: ltr;
  font-feature-settings: "liga";
  font-variation-settings: "FILL" 0, "wght" 400, "GRAD" 0, "opsz" 20;
  -webkit-font-smoothing: antialiased;
  user-select: none;
}
.rcst-m-search__icon.rcst-i { font-size: 22px; }
.rcst-g-search__icon.rcst-i { font-size: 24px; }
.rcst-g-textlink .rcst-i { font-size: 18px; }
.rcst-g-badge .rcst-i { font-size: 16px; font-variation-settings: "FILL" 1, "wght" 500, "GRAD" 0, "opsz" 20; }
.rcst-g-empty__icon.rcst-i { width: 48px; font-size: 24px; }
/* « Modifier » (editors only): the same 40px target everywhere, also inside headings */
.page h1 .cmp_edit_link,
.page h2 .cmp_edit_link { display: inline-flex; align-items: center; gap: 4px; min-height: 40px; margin-block: -8px; padding: 0 var(--space-2); vertical-align: middle; }
.cmp_edit_link::before { content: "edit"; font-family: "Material Symbols Rounded"; font-size: 16px; line-height: 1; font-feature-settings: "liga"; }

/* ---------------------------------------------------------------- Issue page: cover beside the title */

.page_issue .obj_issue_toc .rcst-g-issuehead {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
  padding: var(--space-5);
  border-radius: var(--md-shape-xl);
  background: var(--md-surface-container-low);
}
.page_issue .obj_issue_toc .rcst-g-issuehead > .cover { float: none; width: 100%; margin: 0; max-width: 150px; }
.page_issue .obj_issue_toc .rcst-g-issuehead::before,
.page_issue .obj_issue_toc .rcst-g-issuehead::after { content: none; }   /* the parent's clearfix would take a grid cell */
.rcst-g-issuehead__body h1 { margin: 0 0 var(--space-2); }
.rcst-g-issuehead__meta {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1) var(--space-3);
  margin: 0;
  color: var(--md-on-surface-variant);
  font-family: var(--md-font-plain);
  font-size: 16px;
  line-height: 24px;
}
.rcst-g-issuehead__meta span + span::before { content: "·"; margin-right: var(--space-3); }
.page_issue .obj_issue_toc .rcst-g-issuehead .description { margin-top: var(--space-4); max-width: var(--md-measure); }
.page_issue .obj_issue_toc .rcst-g-issuehead .pub_id { margin-top: var(--space-3); font-size: 14px; }

@media (min-width: 768px) {
  .page_issue .obj_issue_toc .rcst-g-issuehead {
    grid-template-columns: 200px minmax(0, 1fr);
    gap: var(--space-7);
    align-items: center;
    padding: var(--space-6);
  }
  .page_issue .obj_issue_toc .rcst-g-issuehead > .cover { max-width: 200px; }
}

.obj_issue_toc .sections,
.obj_issue_toc .sections:not(:first-child) { margin-top: var(--space-6); }
.obj_issue_toc .section > h2,
.obj_issue_toc .section > h3 { margin: 0 0 var(--space-3); color: var(--md-on-surface); font-size: 22px; font-weight: 400; line-height: 28px; letter-spacing: 0; }

/* ---------------------------------------------------------------- Search: results, filters beside them */

@media (min-width: 1200px) {
  .page_search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    grid-template-rows: repeat(7, auto) 1fr;
    column-gap: var(--space-7);
    align-items: start;
  }
  .page_search > *,
  .page_search .rcst-g-searchpage > * { grid-column: 1; }
  .page_search > .rcst-g-searchpage { display: contents; }
  .page_search .rcst-g-filters {
    grid-column: 2;
    grid-row: 3 / -1;
    position: sticky;
    top: var(--space-5);
    margin: 0;
    padding: var(--space-4) var(--space-5) var(--space-5);
    border-radius: var(--md-shape-l);
    background: var(--md-surface-container-low);
  }
  .page_search .rcst-g-filters > summary,
  .page_search .rcst-g-filters[open] > summary { padding: 0; min-height: 40px; border: 0; background: none; color: var(--md-on-surface); font-size: 16px; }
  .page_search .rcst-g-filters .search_advanced { margin: var(--space-2) 0 0; padding: 0; border: 0; background: none; }
  .page_search .rcst-g-filters .date_range { flex-direction: column; gap: var(--space-4); }
  .page_search .rcst-g-filters .date_range fieldset { display: flex; flex-wrap: wrap; gap: var(--space-2); min-width: 0; }
  .page_search .rcst-g-filters .date_range select { flex: 1 1 0; width: auto; min-width: 0; margin: 0; }
  .page_search .rcst-g-filters .author input { max-width: none; }
}

/* ---------------------------------------------------------------- À propos: pasted section titles */

.pkp_structure_main > .page > p.rcst-g-pseudohead,
.page p.rcst-g-pseudohead {
  margin: var(--space-7) 0 var(--space-3);
  color: var(--md-primary);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: .08em;
  scroll-margin-top: var(--space-5);
}
.page p.rcst-g-pseudohead strong,
.page p.rcst-g-pseudohead b { font-weight: inherit; }
.page .cmp_edit_link + p.rcst-g-pseudohead,
.page h1 + p.rcst-g-pseudohead { margin-top: var(--space-4); }

/* ---------------------------------------------------------------- Small states */

/* « Texte intégral bientôt disponible »: a note, not a disabled button */
.rcst-g-pending {
  min-height: 40px;
  padding: 0 var(--space-4) 0 var(--space-3);
  border: 0;
  border-radius: var(--md-shape-s);
  background: var(--md-surface-container);
  font-family: var(--md-font-plain);
  font-weight: 400;
}

.rcst-g-download { margin: var(--space-2) 0; }
.rcst-g-download:hover { text-decoration: none; }

.rcst-g-footer__links a { display: inline-flex; align-items: center; min-height: 40px; padding: 0; }
@media (max-width: 767px) {
  .rcst-g-footer__links a { min-height: 44px; }
}

/* ================================================================ Fourth critique (27/40) fixes */

/* ---------------------------------------------------------------- Colour: the logo's green, the seal's gold */

/* Gold has a job: it marks where things start (section titles), the current issue and focus */
:root { --md-focus: var(--md-tertiary); }

.rcst-g-section__head h2::before,
.obj_issue_toc .section > h2::before,
.rcst-g-year > h2::before,
.rcst-g-facts h3::before {
  content: "";
  display: block;
  width: 32px;
  height: 4px;
  margin: 0 0 var(--space-2);
  border-radius: 2px;
  background: var(--rcst-gold);
}

/* Generated covers in the covers' own green; real covers sit on the same colours while they load */
.rcst-g-cover--blank { background: var(--rcst-leaf-deep); color: #ffffff; }
img.rcst-g-cover { background: linear-gradient(to top, var(--md-tertiary-container) 0 12%, var(--rcst-leaf-deep) 12%); }

/* ---------------------------------------------------------------- Search: years with labels, results on one line */

.rcst-g-filters .rcst-g-years {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr));   /* « De » / « Jusqu'à » stack when the text is enlarged */
  gap: var(--space-3);
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.rcst-g-filters .rcst-g-years legend { float: left; width: 100%; grid-column: 1 / -1; }   /* float: a legend can't be a grid item */
.rcst-g-years__field { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.rcst-g-years__field label { color: var(--md-on-surface-variant); font-size: 12px; font-weight: 500; letter-spacing: .5px; }
.rcst-g-filters .rcst-g-years select { width: 100%; min-height: 44px; margin: 0; }
.rcst-g-filters .author .label { display: block; margin-bottom: var(--space-1); color: var(--md-on-surface-variant); font-size: 12px; font-weight: 500; letter-spacing: .5px; }
.rcst-g-filters .rcst-g-years legend { margin: 0 0 var(--space-1); padding: 0; }
.rcst-g-filters .search_advanced > .author { float: none; width: auto; justify-self: stretch; }
.rcst-g-filters .author input { width: 100%; max-width: 420px; min-height: 44px; }
.page_search .rcst-g-filters .author input { max-width: none; }
.rcst-g-filters__actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }

.page_search .obj_article_summary .meta { justify-content: flex-start; gap: var(--space-1) 0; color: var(--md-on-surface-variant); font-family: var(--md-font-plain); font-size: 14px; }
.page_search .obj_article_summary .meta .authors { flex: 0 1 auto; font-family: inherit; font-size: inherit; }
.page_search .obj_article_summary .meta .published { order: 1; font-size: inherit; }
.page_search .obj_article_summary .meta .pages { order: 2; margin-left: 0; font-size: inherit; }
.page_search .obj_article_summary .meta > :not(.authors)::before { content: "·"; margin: 0 var(--space-2); }

/* ---------------------------------------------------------------- Article: section titles above their content */

.obj_article_details .main_entry .item > .label { margin: 0 0 var(--space-3); font-size: 22px; font-weight: 400; line-height: 28px; letter-spacing: 0; }

/* ---------------------------------------------------------------- Layout: no dead zones */

/* Long pages: a wider reading column with the rail right beside it */
@media (min-width: 1200px) {
  .rcst-has-rail { grid-template-columns: minmax(0, 760px) 260px; --md-measure: 35em; --md-measure-serif: 35em; }
}

/* Home: the description beside « La revue en bref » */
.rcst-g-facts {
  margin-top: var(--space-6);
  padding: var(--space-5);
  border-radius: var(--md-shape-l);
  background: var(--md-surface-container-low);
}
.rcst-g-facts h3 { margin: 0 0 var(--space-3); font-size: 16px; font-weight: 500; line-height: 24px; }
.rcst-g-facts dl { margin: 0; }
.rcst-g-facts dl > div { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); padding: 10px 0; border-top: 1px solid var(--md-outline-variant); }
.rcst-g-facts dt { color: var(--md-on-surface-variant); font-size: 14px; font-weight: 400; }
.rcst-g-facts dd { margin: 0; color: var(--md-on-surface); font-size: 14px; font-weight: 500; text-align: right; }
.rcst-g-facts__figure { font-family: var(--md-font-code); }
@media (min-width: 992px) {
  .rcst-g-about__body { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: var(--space-7); align-items: start; }
  .rcst-g-facts { margin-top: 0; }
}

/* Issue page: a compact header */
.page_issue .obj_issue_toc .rcst-g-issuehead { align-items: start; }
@media (min-width: 768px) {
  .page_issue .obj_issue_toc .rcst-g-issuehead { grid-template-columns: 160px minmax(0, 1fr); gap: var(--space-6); padding: var(--space-5); }
  .page_issue .obj_issue_toc .rcst-g-issuehead > .cover { max-width: 160px; }
  .rcst-g-issuehead__body { padding-top: var(--space-2); }
}

/* ---------------------------------------------------------------- Archive: by year */

.rcst-g-years-nav { margin: var(--space-4) 0 0; }
.rcst-g-years-nav .rcst-g-chips { justify-content: flex-start; margin: 0; }
.rcst-g-year { margin-top: var(--space-7); scroll-margin-top: var(--space-5); }
.rcst-g-year > h2 { margin: 0 0 var(--space-4); font-size: 22px; font-weight: 400; line-height: 28px; }
.page_issue_archive .rcst-g-year .issues_archive { margin-top: 0; }

/* ================================================================ Fifth critique (28/40) fixes */

/* ---------------------------------------------------------------- Article page */

.rcst-g-article-actions { gap: var(--space-2) var(--space-2); }
.rcst-g-article-actions .rcst-g-pending {
  flex: 1 1 100%;
  max-width: none;
  align-items: flex-start;
  margin: 0 0 var(--space-2);
  padding: var(--space-3) var(--space-4);
  border: 0;
  border-radius: var(--md-shape-m);
  background: color-mix(in srgb, var(--md-tertiary-container) 45%, var(--md-surface));
  color: var(--md-on-surface);
  font-size: 14px;
  line-height: 20px;
}
.rcst-g-article-actions .rcst-g-pending .rcst-i { color: var(--md-tertiary); }
.rcst-g-article-actions .rcst-g-pending strong { font-weight: 500; }

/* The citation: format tabs, then the text, then copy / download */
.rcst-g-tabs { display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 var(--space-3); border-bottom: 1px solid var(--md-outline-variant); }
.rcst-g-tab {
  min-height: 44px;
  margin: 0 0 -1px;
  padding: 0 var(--space-4);
  border: 0;
  border-bottom: 3px solid transparent;
  background: none;
  color: var(--md-on-surface-variant);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
}
.rcst-g-tab:hover { background: var(--md-hover); color: var(--md-on-surface); }
.rcst-g-tab[aria-selected="true"] { border-bottom-color: var(--md-primary); color: var(--md-primary); }
.rcst-g-cite__format { margin: var(--space-4) 0 var(--space-2); font-size: 14px; font-weight: 500; }
.rcst-g-cite__code { overflow-x: auto; white-space: pre; font-family: var(--md-font-code); font-size: 14px; line-height: 22px; }
.rcst-g-cite__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.rcst-g-cite__download[hidden] { display: none; }

/* Details column: lighter than the article */
@media (min-width: 992px) {
  .obj_article_details .entry_details { padding: 0 0 0 var(--space-5); border-left: 1px solid var(--md-outline-variant); border-radius: 0; background: none; box-shadow: none; }
}
.obj_article_details .entry_details .cover_image .sub_item { max-width: 140px; }
.obj_article_details .entry_details .cover_image a { display: block; text-decoration: none; }
.obj_article_details .entry_details .cover_image img:not(.rcst-g-cover__logo) { width: 100%; border-radius: var(--md-shape-m); }

/* ---------------------------------------------------------------- Home: one main action, and whose journal it is */

.rcst-g-publisher {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  margin: 0 0 var(--space-4);
  color: var(--md-tertiary);
  font-family: var(--md-font-brand);
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
  letter-spacing: .02em;
}
.rcst-g-publisher::before { content: ""; flex: none; width: 24px; height: 4px; border-radius: 2px; background: var(--rcst-gold); }
.rcst-g-authorlink { margin: var(--space-3) 0 0; color: var(--md-on-surface-variant); font-size: 14px; }
.rcst-g-authorlink .rcst-g-textlink { margin-left: calc(-1 * var(--space-2)); }

@media (max-width: 767px) {
  .rcst-g-first .rcst-g-search__text { display: none; }   /* the About section says it; the current issue comes up */
  .rcst-g-first .rcst-g-issue { margin-top: var(--space-5); }
}

/* ---------------------------------------------------------------- Search: excerpts, marks, active filters */

.rcst-g-snippet {
  margin: var(--space-1) 0 0;
  font-family: var(--md-font-plain);
  color: var(--md-on-surface-variant);
  font-size: 14px;
  line-height: 20px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  max-width: var(--md-measure);
}
.search_results mark { padding: 0 1px; border-radius: 2px; background: var(--md-tertiary-container); color: var(--md-on-tertiary-container); }
.rcst-g-resultbar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); margin: var(--space-4) 0 var(--space-3); }
.rcst-g-resultbar .rcst-g-resultcount { margin: 0; }
.rcst-g-activefilters { margin: 0; justify-content: flex-start; }
.rcst-g-chip--input { gap: var(--space-1); padding-right: var(--space-2); background: var(--md-secondary-container); color: var(--md-on-secondary-container); border-color: transparent; }
.rcst-g-chip--input .rcst-i { font-size: 18px; }

/* ---------------------------------------------------------------- Phone: 44px targets */

@media (max-width: 767px) {
  .rcst-g-chip,
  .rcst-g-textlink,
  .rcst-g-filters > summary,
  .rcst-m-lang a { min-height: 44px; }
  .page_issue_archive .obj_issue_summary :is(h2, h3) .title { display: flex; align-items: center; min-height: 44px; }
  .obj_article_summary .title a { display: inline-block; padding: 9px 0; }
  .rcst-g-issue__title a { display: inline-block; padding: 7px 0; }
  .rcst-g-footer__brand .rcst-m-brand,
  .pkp_footer_content a { display: inline-flex; align-items: center; min-height: 44px; }
  .rcst-g-cite__copy { min-height: 44px; }
}
@media (max-width: 479px) {
  /* Room for « Rechercher » next to the language switch and « Soumettre » */
  .rcst-m-appbar .rcst-m-appbar__submit { padding: 0 var(--space-3); }
  .rcst-m-search__icon { left: 12px; }
  .rcst-m-search .rcst-m-search__input { padding-left: 40px; padding-right: var(--space-2); }
}

/* ================================================================ Sixth critique (28/40): finishing */

/* À propos: section titles as headings, not labels */
.pkp_structure_main > .page > p.rcst-g-pseudohead,
.page p.rcst-g-pseudohead {
  margin: var(--space-7) 0 var(--space-3);
  color: var(--md-on-surface);
  font-family: var(--md-font-brand);
  font-size: 24px;
  font-weight: 400;
  line-height: 32px;
  letter-spacing: 0;
}
.page p.rcst-g-pseudohead::before { content: ""; display: block; width: 32px; height: 4px; margin: 0 0 var(--space-2); border-radius: 2px; background: var(--rcst-gold); }

/* Home: one search on the first screen (the hero's) */
.pkp_page_index.pkp_op_index .rcst-m-search { display: none; }

/* Citation code: the whole column, not the reading measure */
.rcst-g-cite .rcst-g-cite__code { max-width: none; }

/* « Aucun article » / « Aucune annonce »: the icon centred in its circle */
.rcst-g-empty__icon.rcst-i { display: inline-grid; place-items: center; text-align: center; }

/* Search: results end where the search field ends */
.page_search .search_results > li { max-width: 760px; }

/* Footer on the same grid as the header and the page */
.pkp_structure_footer { width: auto; max-width: 1240px; margin-left: auto; margin-right: auto; }

@media (max-width: 767px) {
  .cmp_breadcrumbs a { display: inline-block; padding: 12px 0; }
  .obj_article_details .entry_details .value a { display: inline-block; padding: 12px 0; }
  .obj_article_details .entry_details .copyright a:has(img) { display: inline-block; padding: 6px 0; }
}

/* ---------------------------------------------------------------- Not found (404) */

.page_not_found { max-width: 40rem; }
.rcst-g-notfound__text { color: var(--md-on-surface-variant); }
.rcst-g-notfound__search { margin: var(--space-5) 0; }   /* wraps the form in .rcst-g-searchpage for the field styles */
.rcst-g-notfound__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

/* ---------------------------------------------------------------- High-contrast mode (Windows): backgrounds are dropped,
   so pills, filled buttons and selected states need an edge or a mark of their own */

@media (forced-colors: active) {
  .rcst-m-btn--filled,
  .rcst-m-btn--tonal,
  .cmp_button,
  button.submit,
  .block_make_submission_link,
  .obj_galley_link,
  .rcst-g-chip--input { border: 1px solid ButtonText; }
  .pkp_navigation_primary > li > a[aria-current="page"],
  .pkp_navigation_primary > li > a.rcst-m-nav-parent-current,
  .rcst-g-rail a[aria-current],
  .rcst-m-lang a[aria-current] { outline: 2px solid Highlight; outline-offset: -2px; text-decoration-color: currentColor; }
  .rcst-g-tab[aria-selected="true"] { border-bottom-color: Highlight; }
  .pkp_navigation_primary > li > a:focus-visible,
  a:focus-visible,
  button:focus-visible { outline: 2px solid Highlight; }
}

/* ---------------------------------------------------------------- Print: the article, not the site */

@media print {
  .pkp_structure_head,
  .pkp_structure_footer_wrapper,
  .pkp_structure_sidebar,
  .cmp_skip_to_content,
  .cmp_breadcrumbs,
  .cmp_edit_link,
  .rcst-g-rail,
  .rcst-g-article-actions,
  .rcst-g-tabs,
  .rcst-g-cite__actions,
  .rcst-g-search__form { display: none !important; }
  html, body, .pkp_structure_page, .pkp_structure_content, .pkp_structure_main { background: #fff !important; color: #000 !important; box-shadow: none !important; }
  .pkp_structure_content, .pkp_structure_main, .page { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .page.rcst-has-rail { display: block !important; }
  body { font-size: 11pt; }
  a { color: #000 !important; text-decoration: underline; }
  .obj_article_details .item.doi a::after { content: none; }
  h1, h2, h3 { break-after: avoid; }
  .obj_article_details .entry_details { border: 0; padding: 0; }
  img { max-width: 100% !important; }
}

/* ---------------------------------------------------------------- Motion */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
