[data-subject="sciences-ingenieur"] .approved-course__hero { grid-template-columns: minmax(0, 1fr); }
[data-subject="sciences-ingenieur"] .approved-course__discipline { display: none; }
.si-entry-example { padding: 1rem 1.2rem; border-inline-start: 4px solid #56b9c3; background: #edf8fa; border-radius: 0 .6rem .6rem 0; }
[data-subject="sciences-ingenieur"] .approved-course__hero > div > p.si-entry-example { color: #203b4e; font-weight: 450; }
.si-entry-example strong { color: #13546a; }
.si-path-overview { font-weight: 700; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-path-overview { color: #e5f5f1; }
.si-whole-duration { margin-block: .75rem; }
.approved-course__hero .si-whole-duration :is(p, dt, dd) { color: #284c60; }
.si-whole-duration > summary, .si-objectives > summary { color: #33566b; cursor: pointer; font-weight: 650; padding-block: .7rem; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card { box-sizing: border-box; max-width: 52rem; margin: 1.2rem 0 .3rem; padding: 1.1rem 1.2rem 0; color: #193e52; background: #f5fafc; border: 1px solid #c1dce6; border-radius: 14px; box-shadow: 0 4px 16px #092f4110; }
[data-subject="sciences-ingenieur"] .si-time-card__intro { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: .8rem; align-items: center; }
[data-subject="sciences-ingenieur"] .si-time-card__intro > svg { box-sizing: border-box; width: 44px; height: 44px; padding: 5px; fill: none; stroke: #286377; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; background: #e2f0f4; border-radius: 50%; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card h2 { margin: 0 0 .35rem; padding: 0; color: #31586b; font-size: .95rem; line-height: 1.5; font-weight: 650; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card .si-time-card__duration { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: .6rem; row-gap: .1rem; margin: 0; color: #173e53; line-height: 1.35; }
[data-subject="sciences-ingenieur"] .si-time-card__duration > strong { color: #173e53; font-size: clamp(1.65rem, 3vw, 2rem); font-weight: 750; white-space: nowrap; letter-spacing: -.025em; }
[data-subject="sciences-ingenieur"] .si-time-card__duration > span { color: #496271; font-size: .9rem; }
[data-subject="sciences-ingenieur"] .si-time-card__count { justify-self: end; padding: .35rem .65rem; color: #245b68; background: #deeff0; border-radius: 999px; font-size: .85rem; line-height: 1.5; font-weight: 700; white-space: nowrap; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card .si-time-card__scope { color: #365565; margin: .85rem 0; font-size: .95rem; line-height: 1.65; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card > details { margin: 0; padding: 0; color: #193e52; background: transparent; border: 0; border-top: 1px solid #ccdee6; border-radius: 0; }
[data-subject="sciences-ingenieur"] .si-time-card > details > summary { box-sizing: border-box; min-height: 48px; margin: 0; padding: .8rem 0; color: #24576e; font-size: .95rem; line-height: 1.6; font-weight: 700; cursor: pointer; }
[data-subject="sciences-ingenieur"] .si-time-card__detail { padding-bottom: .4rem; }
[data-subject="sciences-ingenieur"] .si-time-card__detail dl { margin: .25rem 0 .85rem; }
[data-subject="sciences-ingenieur"] .si-time-card__detail dl > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8rem; padding: .85rem 0; border-bottom: 1px solid #d5e3e9; }
[data-subject="sciences-ingenieur"] .si-time-card__detail dt { color: #234b60; font-size: .95rem; font-weight: 700; line-height: 1.6; }
[data-subject="sciences-ingenieur"] .si-time-card__detail dt > small { display: block; color: #506976; font-size: .85rem; font-weight: 450; }
[data-subject="sciences-ingenieur"] .si-time-card__detail dd { margin: 0; color: #234b60; font-size: .95rem; line-height: 1.6; font-weight: 700; text-align: right; white-space: nowrap; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card__detail p { color: #365565; margin: .7rem 0; font-size: .9rem; line-height: 1.65; }
[data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card__detail .si-time-card__note { color: #496271; }
[data-subject="sciences-ingenieur"] .si-time-card summary:focus-visible { outline: 3px solid #145b83; outline-offset: 3px; border-radius: 3px; }
@media (max-width: 540px) {
  [data-subject="sciences-ingenieur"] .approved-course__hero .si-time-card { padding: .9rem .9rem 0; }
  [data-subject="sciences-ingenieur"] .si-time-card__intro { grid-template-columns: 40px minmax(0, 1fr); gap: .6rem; }
  [data-subject="sciences-ingenieur"] .si-time-card__intro > svg { width: 40px; height: 40px; }
  [data-subject="sciences-ingenieur"] .si-time-card__count { display: none; }
  [data-subject="sciences-ingenieur"] .si-time-card__detail dl > div { gap: .5rem; }
  [data-subject="sciences-ingenieur"] .si-time-card__detail dd { font-size: .9rem; }
}
.si-objectives { margin-block: 1rem; }
.si-session-nav { margin: 1rem 0 1.5rem; padding: 1rem 1.2rem; background: #f0f6fa; border: 1px solid #b8cedc; border-radius: 12px; }
.si-session-nav > details > summary { cursor: pointer; font-weight: 750; color: #174762; }
.si-session-nav > p { font-weight: 700; margin: .75rem 0 .25rem; color: #174762; }
.si-session-nav > small { color: #435c6b; }
.si-session-links { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .45rem; }
.si-session-links > li > a { display: flex; justify-content: flex-start; gap: .75rem; align-items: center; padding: .75rem; border: 1px solid #c2d5e1; border-radius: 8px; background: #fff; color: #153f58; text-decoration: none; line-height: 1.5; min-height: 48px; }
.si-session-links > li > a > span { color: #153f58; font-size: 1rem; }
.si-session-links > li > a > .si-session-links__number { color: #fff; flex: 0 0 1.8rem; }
.si-session-links > li > a:hover, .si-session-links > li > a[aria-current="step"] { border-color: #147a86; background: #e9f7f7; }
.si-session-links small { display: block; color: #536575; font-size: .84rem; }
.si-session-links__number { display: inline-grid; place-items: center; min-width: 1.8rem; height: 1.8rem; color: #fff; background: #23687b; border-radius: 50%; font-weight: 750; }
.si-session-links__state { margin-inline-start: auto; color: #216d4b; }
.si-session { margin-block: 1rem; scroll-margin-top: 1rem; padding: 0 !important; overflow: hidden; }
.si-session[hidden] { display: none !important; }
.si-session > summary { cursor: pointer; padding: 1.1rem 1.3rem; background: #e9f2fa; border-bottom: 1px solid #c3d4e4; margin: 0; }
.si-session > summary h2 { font-size: clamp(1.2rem, 2.8vw, 1.65rem); color: #173f68; }
[data-subject="sciences-ingenieur"] .si-session > summary .eyebrow { color: #335b78; font-size: .9rem; letter-spacing: .015em; text-transform: none; }
.si-session__body { padding: 1.3rem; }
.si-session .approved-course__prose { margin: .8rem 0 1.5rem; max-width: 72ch; }
.si-reading-label, .si-playing-label { font-size: 1rem; font-weight: 800; display: inline-block; padding: .4rem .8rem; border-radius: 6px; margin: .4rem 0 .7rem; }
.si-reading-label { color: #153e72; background: #e3edfd; border-inline-start: 4px solid #3268af; }
.si-playing-label { color: #7d4407; background: #fff0d6; border-inline-start: 4px solid #bc7419; }
.si-session .si-diagram > h3, .si-complement .si-c__eyebrow, .si-complement .si-lab__tag { color: #583b87; background: #f0eafa; border-inline-start: 4px solid #8060ab; padding: .45rem .7rem; border-radius: 5px; }
.si-session .approved-learning-correction > summary { color: #21624c; font-weight: 750; background: #e9f6ef; padding: .6rem .7rem; border-radius: 5px; cursor: pointer; }
.si-programme-note { padding: .8rem 1rem; background: #f1f3f6; border-inline-start: 3px solid #698293; color: #364e5d; }
.si-session-actions { display: flex; flex-wrap: wrap; gap: .75rem 1rem; align-items: center; margin-top: 1.5rem; padding-top: 1rem; border-top: 1px solid #cedce4; }
.si-session-actions a { color: #164f6b; font-weight: 650; }
.si-session-actions button { min-height: 44px; font: inherit; padding: .6rem .8rem; background: #fff; color: #21624c; border: 1px solid #76a895; border-radius: 7px; cursor: pointer; }
.si-session-actions button[aria-pressed="true"] { background: #e9f6ef; }
.si-session-actions button:disabled { opacity: .6; cursor: default; }
.si-session-next { margin-inline-start: auto; }
.si-complements { margin-block: 2rem; }
.si-complements > h2 { font-size: 1.25rem; }
.si-complement { margin-block: .7rem; border: 1px solid #c9d8e0; border-radius: 10px; overflow: hidden; }
.si-complement > summary { padding: 1rem 1.1rem; cursor: pointer; color: #174b61; background: #f1f7fa; font-weight: 700; }
.si-complement > :not(summary) { margin: 1rem; }
.si-complement .pilot-resume { margin: 0; }
.si-complement .si-c__guide { display: none; }
.si-session-catalog { margin-block: .75rem 1.2rem; }
.si-session-catalog > summary { display: list-item; list-style: disclosure-closed inside; grid-template-columns: none; min-height: 44px; cursor: pointer; color: #164f6b; font-size: 1rem; line-height: 1.5; font-weight: 700; padding: .6rem; }
.si-session-catalog[open] > summary { list-style-type: disclosure-open; }
.course-list > .si-catalog-chapter { display: block; }
.si-catalog-chapter > .si-session-catalog { padding-inline: .8rem; }
.si-catalog-chapter > .si-session-catalog a { font-size: .96rem; }
:is(.si-session, .si-session-nav, .si-session-actions, .si-complement, .si-session-catalog) :focus-visible { outline: 3px solid #a65009; outline-offset: 3px; }
@media (max-width: 960px) { .si-session { scroll-margin-top: 5.5rem; } }
@media (max-width: 600px) {
  .si-session__body { padding: .8rem; }
  .si-session > summary { padding: .9rem .8rem; }
  .si-session-nav { padding: .85rem; }
  .si-session-actions { align-items: stretch; flex-direction: column; }
  .si-session-next { margin-inline-start: 0; }
  .si-complement > :not(summary) { margin: .6rem; }
  .si-entry-example { padding: .8rem; }
}
