/* ========================================================= */
/* 1. EN-TÊTE : logo + menu centré + recherche sur la même ligne */
/* ========================================================= */
.pkp_structure_head {
  background-color: #1E6292;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 14px;
  row-gap: 6px;
  padding: 6px 16px;
}

.pkp_site_name_wrapper img {
  max-height: 48px;
  width: auto;
  display: block;
  background-color: #2e86ab;
  padding: 6px 10px;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.25);
}



/* ========================================================= */
/* 2. LISTE DES ARTICLES : carrousel horizontal (droite→gauche)*/
/*    Le ":not(li)" évite que chaque carte individuelle ne     */
/*    reçoive elle-même les règles de défilement.               */
/* ========================================================= */
:has(> .obj_article_summary):not(li),
:has(> li > .obj_article_summary) {
  display: flex;
  flex-wrap: nowrap;
  overflow-x: auto;
  gap: 20px;
  padding: 10px 4px 22px;
  margin: 0;
  list-style: none;
  position: relative;
}
:has(> .obj_article_summary):not(li)::-webkit-scrollbar,
:has(> li > .obj_article_summary)::-webkit-scrollbar {
  height: 8px;
}
:has(> .obj_article_summary):not(li)::-webkit-scrollbar-track,
:has(> li > .obj_article_summary)::-webkit-scrollbar-track {
  background: #eaeaea;
  border-radius: 4px;
}
:has(> .obj_article_summary):not(li)::-webkit-scrollbar-thumb,
:has(> li > .obj_article_summary)::-webkit-scrollbar-thumb {
  background: #2e86ab;
  border-radius: 4px;
}

li:has(> .obj_article_summary) {
  display: block;
  overflow: visible;
  flex: 0 0 auto;
  list-style: none;
}

/* ==== Carte verticale : image en haut, texte empilé en dessous ==== */
.obj_article_summary {
  width: 250px;
  height: 340px;
  flex: 0 0 250px;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.08);
  overflow: hidden;
  padding: 0 0 16px;
  transition: transform .15s ease, box-shadow .15s ease;
}
.obj_article_summary:hover {
  transform: translateY(-4px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.14);
}

/* Si le titre, les auteurs ou la pagination sont nichés dans une
   balise intermédiaire (sans que nous connaissions son nom), on la
   "dissout" pour que order puisse enfin s'appliquer correctement */
.obj_article_summary > :has(> .title),
.obj_article_summary > :has(> .authors),
.obj_article_summary > :has(> .pages) {
  display: contents;
}

.obj_article_summary .coverImage {
  order: 1 !important;
  flex: 0 0 auto;
  margin: 0 0 14px;
}
.obj_article_summary .coverImage img {
  width: 100%;
  height: 170px;
  object-fit: cover;
  display: block;
}

.obj_article_summary .title {
  order: 2 !important;
  flex: 0 0 auto;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  margin: 0 16px 8px;
  color: #1a5276;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.obj_article_summary .title a { color: inherit; text-decoration: none; }

.obj_article_summary .authors {
  order: 4 !important;
  flex: 0 0 auto;
  font-size: 12px;
  color: #5c5c5c;
  margin: 0 16px 6px;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.obj_article_summary .pages {
  order: 4 !important;
  flex: 0 0 auto;
  font-size: 11px;
  color: #8a8a8a;
  margin: 0 16px 10px;
}

.obj_article_summary .galleys_links {
  order: 5 !important;
  flex: 1 0 auto;
  align-self: flex-end;
  margin: auto 16px 0;
  padding: 0;
  list-style: none;
}
.obj_article_summary .galleys_links a {
  display: inline-block;
  padding: 4px 10px;
  background: #1a5276;
  color: #ffffff !important;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 600;
  text-decoration: none !important;
}
.obj_article_summary .galleys_links a:hover { background: #123a54; }

/* ==== Titre "Articles" juste au-dessus de la liste : mis en gras ==== */
:is(h1,h2,h3,h4,h5):has(+ :has(> li > .obj_article_summary)),
:is(h1,h2,h3,h4,h5):has(+ :has(> .obj_article_summary):not(li)) {
  font-weight: 700 !important;
  color: #1a5276;
}

/* ==== Léger dégradé sur le bord droit : indique qu'il y a d'autres
   articles à découvrir en faisant glisser vers la gauche ==== */
:has(> .obj_article_summary):not(li)::after,
:has(> li > .obj_article_summary)::after {
  content: "";
  position: sticky;
  right: 0;
  top: 0;
  height: 100%;
  width: 36px;
  flex: 0 0 0;
  margin-left: -36px;
  background: linear-gradient(to right, rgba(255,255,255,0), rgba(242,242,242,0.9));
  pointer-events: none;
}

/* ========================================================= */
/* 3. Masquer la mention "Platform & workflow by OJS / PKP"   */
/* ========================================================= */
.pkp_brand_footer {
  display: none !important;
}
img[alt*="OJS"],
img[alt*="PKP"],
img[alt*="Powered by"] {
  display: none !important;
}