/* Academy presentation layer. Loaded only by Academy public and student shells. */
html[data-design-scope="site"] {
  --academy-deep: #003333;
  --academy-teal: #006B75;
  --academy-white: #FFF;
  --academy-surface: #F3F6F8;
  --academy-text: #1B2733;
  --academy-muted: #586773;
  --academy-border: #DCE4E8;
  --academy-background: #FFF;
  --academy-secondary: #F3F6F8;
  --academy-footer: #FFF;
  --academy-card: #FFF;
  --academy-line: #DCE4E8;
  --academy-fog: #F3F6F8;
  --academy-ink: #1B2733;
}

html[data-design-scope="site"][data-design-theme="dark"] {
  --academy-deep: #F9FAFB;
  --academy-teal: #5DD7C4;
  --academy-white: #111827;
  --academy-surface: #1F2937;
  --academy-text: #F9FAFB;
  --academy-muted: #BBC6D4;
  --academy-border: #374151;
  --academy-background: #111827;
  --academy-secondary: #1F2937;
  --academy-footer: #1F2937;
  --academy-card: #1F2937;
  --academy-line: #374151;
  --academy-fog: #111827;
  --academy-ink: #F9FAFB;
}

html[data-design-scope="site"] body.academy-public,
html[data-design-scope="site"] body.academy-private {
  background: var(--academy-background);
  color: var(--academy-text);
}

/* Public catalogue/home/detail surfaces. */
html[data-design-scope="site"] .academy-nav,
html[data-design-scope="site"] .a-header {
  background: var(--academy-card);
  border-color: var(--academy-border);
}
html[data-design-scope="site"] .academy-hero {
  background: linear-gradient(120deg, var(--academy-surface), var(--academy-background));
}
html[data-design-scope="site"] .academy-search input,
html[data-design-scope="site"] .filter-panel input,
html[data-design-scope="site"] .filter-panel select {
  background: var(--academy-card);
  border-color: var(--academy-border);
  color: var(--academy-text);
}
html[data-design-scope="site"] .category-card,
html[data-design-scope="site"] .course-card,
html[data-design-scope="site"] .purchase-card,
html[data-design-scope="site"] .detail-aside,
html[data-design-scope="site"] .module-card {
  background: var(--academy-card);
  border-color: var(--academy-border);
  color: var(--academy-text);
}
html[data-design-scope="site"] .academy-footer {
  background: var(--academy-footer);
  border-color: var(--academy-border);
  color: var(--academy-muted);
}
html[data-design-scope="site"] .academy-hero-art img,
html[data-design-scope="site"] .hero-placeholder {
  box-shadow: 0 22px 60px color-mix(in srgb, var(--academy-deep) 14%, transparent);
}
html[data-design-scope="site"] .course-cover,
html[data-design-scope="site"] .detail-cover {
  background: var(--academy-surface);
}
html[data-design-scope="site"] .course-cover-empty,
html[data-design-scope="site"] .hero-placeholder {
  background: linear-gradient(135deg, var(--academy-deep), var(--academy-teal));
}
html[data-design-scope="site"] .category-card:hover,
html[data-design-scope="site"] .course-card:hover {
  border-color: var(--academy-teal);
  box-shadow: 0 8px 25px color-mix(in srgb, var(--academy-deep) 12%, transparent);
}
html[data-design-scope="site"] .filter-panel,
html[data-design-scope="site"] .purchase-card {
  background: var(--academy-surface);
  border-color: var(--academy-border);
}
html[data-design-scope="site"] .empty-state {
  border-color: var(--academy-border);
  color: var(--academy-muted);
}
html[data-design-scope="site"] .academy-search button,
html[data-design-scope="site"] .filter-submit {
  background: var(--academy-deep);
  color: var(--academy-white);
}
html[data-design-scope="site"] .academy-search button:hover,
html[data-design-scope="site"] .filter-submit:hover,
html[data-design-scope="site"] .nav-primary:hover,
html[data-design-scope="site"] .a-btn:hover,
html[data-design-scope="site"] button:hover {
  background: var(--academy-teal);
  color: var(--academy-white);
}
html[data-design-scope="site"] .nav-login {
  border-color: var(--academy-border);
}
html[data-design-scope="site"] .academy-nav a,
html[data-design-scope="site"] .category-card,
html[data-design-scope="site"] .course-card-link {
  color: var(--academy-text);
}
html[data-design-scope="site"] .academy-logo,
html[data-design-scope="site"] .academy-hero h1,
html[data-design-scope="site"] .catalogue-heading h1,
html[data-design-scope="site"] .detail-hero h1,
html[data-design-scope="site"] .detail-grid h2 {
  color: var(--academy-deep);
}
html[data-design-scope="site"] .academy-logo span,
html[data-design-scope="site"] .academy-kicker,
html[data-design-scope="site"] .course-category,
html[data-design-scope="site"] .section-heading a,
html[data-design-scope="site"] .back-link,
html[data-design-scope="site"] .filter-reset,
html[data-design-scope="site"] .pagination a {
  color: var(--academy-teal);
}
html[data-design-scope="site"] .academy-lead,
html[data-design-scope="site"] .course-short,
html[data-design-scope="site"] .course-author,
html[data-design-scope="site"] .course-meta,
html[data-design-scope="site"] .hero-payment,
html[data-design-scope="site"] .recommendation-reason,
html[data-design-scope="site"] .detail-aside dt {
  color: var(--academy-muted);
}
html[data-design-scope="site"] .course-price {
  color: var(--academy-deep);
}
html[data-design-scope="site"] a:focus-visible,
html[data-design-scope="site"] button:focus-visible,
html[data-design-scope="site"] input:focus-visible,
html[data-design-scope="site"] select:focus-visible,
html[data-design-scope="site"] textarea:focus-visible,
html[data-design-scope="site"] :focus-visible {
  outline-color: var(--academy-teal);
}

/* Student/store shell: cards, forms, reader, tables, badges and footer. */
html[data-design-scope="site"] .a-footer {
  background: var(--academy-secondary);
  border-color: var(--academy-border);
  color: var(--academy-muted);
}
html[data-design-scope="site"] .a-brand,
html[data-design-scope="site"] .a-header h1,
html[data-design-scope="site"] .a-header h2,
html[data-design-scope="site"] .a-header h3,
html[data-design-scope="site"] .a-main h1,
html[data-design-scope="site"] .a-main h2,
html[data-design-scope="site"] .a-main h3 {
  color: var(--academy-deep);
}
html[data-design-scope="site"] .a-card,
html[data-design-scope="site"] .a-program,
html[data-design-scope="site"] .a-table,
html[data-design-scope="site"] .a-empty {
  background: var(--academy-card);
  border-color: var(--academy-border);
  color: var(--academy-text);
}
html[data-design-scope="site"] .a-btn,
html[data-design-scope="site"] .a-header button,
html[data-design-scope="site"] .a-main button {
  background: var(--academy-deep);
  color: var(--academy-white);
}
html[data-design-scope="site"] .a-btn.secondary,
html[data-design-scope="site"] button.secondary,
html[data-design-scope="site"] .a-btn-secondary {
  background: var(--academy-secondary);
  color: var(--academy-deep);
  border-color: var(--academy-border);
}
html[data-design-scope="site"] .a-muted,
html[data-design-scope="site"] .helptext {
  color: var(--academy-muted);
}
html[data-design-scope="site"] .a-notice {
  background: var(--academy-secondary);
  border-color: var(--academy-teal);
  color: var(--academy-text);
}
html[data-design-scope="site"] .a-form input:not([type="checkbox"]):not([type="radio"]),
html[data-design-scope="site"] .a-form select,
html[data-design-scope="site"] .a-form textarea {
  background: var(--academy-card);
  border-color: var(--academy-border);
  color: var(--academy-text);
}
html[data-design-scope="site"] .a-table td,
html[data-design-scope="site"] .a-table th,
html[data-design-scope="site"] .a-program li {
  border-color: var(--academy-border);
}
html[data-design-scope="site"] .a-table th {
  background: var(--academy-secondary);
  color: var(--academy-muted);
}
html[data-design-scope="site"] .a-badge {
  background: var(--academy-secondary);
  color: var(--academy-teal);
}
html[data-design-scope="site"] .a-progress {
  background: var(--academy-border);
}
html[data-design-scope="site"] .a-progress span {
  background: var(--academy-teal);
}
html[data-design-scope="site"] .a-reader video {
  background: var(--academy-background);
}
html[data-design-scope="site"] .a-card summary,
html[data-design-scope="site"] .a-header a,
html[data-design-scope="site"] .a-main a {
  color: var(--academy-teal);
}
html[data-design-scope="site"] .skip:focus {
  background: var(--academy-card);
  color: var(--academy-text);
}

/* Media upload uses the same tokens without importing the public/application styles. */
html[data-design-scope="site"] .academy-media-card {
  background: var(--academy-card);
  border-color: var(--academy-border);
  color: var(--academy-text);
  box-shadow: 0 16px 40px color-mix(in srgb, var(--academy-deep) 8%, transparent);
}
html[data-design-scope="site"] .academy-media-card h1,
html[data-design-scope="site"] .academy-media-ink {
  color: var(--academy-deep);
}
html[data-design-scope="site"] .academy-media-eyebrow,
html[data-design-scope="site"] .academy-media-card button {
  color: var(--academy-white);
  background: var(--academy-teal);
}
html[data-design-scope="site"] .academy-media-eyebrow {
  background: transparent;
  color: var(--academy-teal);
}
html[data-design-scope="site"] .academy-media-muted,
html[data-design-scope="site"] .academy-media-help {
  color: var(--academy-muted);
}
html[data-design-scope="site"] .academy-media-card input[type="file"],
html[data-design-scope="site"] .academy-media-card select {
  background: var(--academy-fog);
  border-color: var(--academy-border);
  color: var(--academy-text);
}
html[data-design-scope="site"] .academy-media-card button:focus-visible {
  outline-color: var(--academy-teal);
}
html[data-design-scope="site"] .academy-media-status--error {
  color: #FCA5A5;
}
html[data-design-scope="site"] .academy-media-status--ok {
  color: var(--academy-teal);
}

html[data-design-scope="site"] .academy-theme-controls {
  justify-content: flex-end;
  width: calc(100% - 2rem);
  margin: 12px auto 0;
}

/* Boutons turquoise lumineux : texte sombre en mode nuit, blanc historique en clair. */
html[data-design-scope="site"][data-design-theme="dark"] :is(.nav-primary,.academy-media-card button){color:#082F2B!important}
html[data-design-scope="site"] .academy-media-status--error{color:#B42318}
html[data-design-scope="site"][data-design-theme="dark"] .academy-media-status--error{color:#FCA5A5}
