.published-module-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.published-module-card {
  display: block;
  height: 100%;
  padding: 1.4rem;
  background: #f7f6f2;
  border: 1px solid #dedbd2;
  color: #102b38;
  text-decoration: none;
}
.published-module-card:hover,
.published-module-card:focus-visible {
  border-color: #b5813d;
  background: #fff;
}
.published-module-card h3 {
  margin: .5rem 0;
  font-size: 1.4rem;
}
.published-module-card p {
  min-height: 3.5rem;
  line-height: 1.5;
}
.published-module-card strong,
.published-fiches-entry-link {
  color: #a76e26;
}
.published-fiche-list {
  list-style: none;
  margin: 1.3rem 0;
  padding: 0;
}
.published-fiche-list li + li {
  border-top: 1px solid #e5e1d9;
}
.published-fiche-list a {
  display: flex;
  gap: .75rem;
  padding: .7rem .2rem;
  color: #102b38;
  text-decoration: none;
  line-height: 1.35;
}
.published-fiche-list a:hover,
.published-fiche-list a:focus-visible,
.published-fiche-list a[aria-current="page"] {
  color: #a76e26;
  text-decoration: underline;
}
.published-fiche-list a span {
  flex: 0 0 1.8rem;
  color: #aa7735;
  font-weight: 700;
}
.published-route-alt {
  margin-top: 1.8rem;
  padding: 1.2rem;
  border: 1px solid #d6c8b0;
  background: #f9f7f2;
}
.published-route-alt h3 {
  margin: .35rem 0;
  font-size: 1.1rem;
}
.published-route-alt p {
  margin: .4rem 0 .8rem;
}
.published-route-alt a,
.published-fiches-entry-link {
  font-weight: 700;
}
.published-fiche-prose {
  max-width: 70ch;
}
.published-fiches-entry-link {
  display: inline-block;
  padding: .85rem 1.1rem;
  border: 1px solid #b5813d;
  text-decoration: none;
}
@media (max-width: 760px) {
  .published-module-grid {
    grid-template-columns: 1fr;
  }
  .published-module-card p {
    min-height: 0;
  }
}

/* Module context is separate from the reusable fiche content. */
.course-lesson-fiche .course-reading-aside,
.published-fiche-page .course-reading-aside { background: transparent; border: 0; padding: 0; }
.course-lesson-fiche .published-route-alt,
.published-fiche-page .published-route-alt { margin: 1.2rem 0; padding: 0 0 0 1rem; background: transparent; border: 0; border-left: 2px solid #b17b37; }
@media (max-width: 1030px) {
 .course-lesson-fiche .course-reading-aside,
 .published-fiche-page .course-reading-aside { display: block; position: static; max-height: none; overflow: visible; margin-top: 2rem; }
}
