

body.arcprod-tenant :is(.stats-header, .reports-header, .lifecycle-header, .tenant-audit-header, .notifications-header, .xh-announcements-header, .contact-page-content .tutorial-header-custom, .favorite-tutorials-page-content .page-header, .favorite-videos-page-content .page-header) {
    border-radius: var(--rd-radius) !important;
    border: 1px solid var(--rd-border) !important;
    box-shadow: var(--rd-shadow-soft) !important;
}

body.arcprod-tenant :is(.stats-title, .reports-title, .lifecycle-queue .stats-title, .tenant-audit-title, .lsapi-title, .notifications-title, .xh-announcements-title) {
    font-weight: 700 !important;
    letter-spacing: -0.01em !important;
    color: var(--token-text-primary, #0f172a) !important;
}

body.arcprod-tenant :is(.stats-subtitle, .reports-subtitle, .lifecycle-queue .stats-subtitle, .tenant-audit-subtitle, .lsapi-subtitle, .notifications-subtitle, .xh-announcements-subtitle) {
    color: var(--token-text-secondary, #64748b) !important;
}

body.arcprod-tenant :is(.metric-card, .data-table-card, .notifications-shell, .contact-form-card, .xh-announcement-card, .favorite-tutorial-card, .favorite-video-card) {
    border-radius: var(--rd-radius) !important;
    border: 1px solid var(--rd-border) !important;
    box-shadow: var(--rd-shadow-soft) !important;
    background: var(--bg-primary, #ffffff) !important;
}

body.arcprod-tenant :is(.btn-stats, .contact-submit, .contact-reset, .share-inline-btn, .btn-admin-primary, .btn-admin-ghost) {
    min-height: 40px !important;
    border-radius: 12px !important;
    padding: 0.5rem 0.9rem !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}

body.arcprod-tenant :is(.btn-stats.btn-stats-icon, .stats-actions .btn-stats) {
    min-width: 40px !important;
    min-height: 40px !important;
}

body.arcprod-tenant :is(.lifecycle-filters .form-select, .tenant-audit-filters .form-select, .lsapi-controls .form-select) {
    padding-right: 2.15rem !important;
}

/* TABLEAU DE DONNEES — quatre regles DEPLACEES le 2026-08-03 vers components.css,
   sections §1.1 a §1.4. Le tableau etait defini QUATRE FOIS dans ce fichier, ici et
   plus bas ; il l'est desormais en un seul endroit. Le deplacement est a l'identique
   (memes selecteurs, memes declarations, meme ordre relatif) et components.css se
   charge immediatement apres ce fichier, donc la cascade est inchangee. */

body.arcprod-tenant :is(.reports-table .btn, .table-reports .btn, .lifecycle-actions .btn, .tenant-audit-content .btn-sm, .favorite-overlay .btn-remove-favorite, .notifications-actions .btn) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 0.22rem !important;
}

body.arcprod-tenant :is(.reports-table .btn i, .table-reports .btn i, .lifecycle-actions .btn i, .tenant-audit-content .btn-sm i, .favorite-overlay .btn-remove-favorite i, .notifications-actions .btn i) {
    font-size: 1.05rem !important;
    line-height: 1 !important;
}

body.arcprod-tenant :is(.favorite-tutorial-card, .favorite-video-card) {
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important;
}

body.arcprod-tenant :is(.favorite-tutorial-card:hover, .favorite-video-card:hover) {
    transform: translateY(-2px) !important;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08) !important;
    border-color: var(--token-border, #d8e1ee) !important;
}

body.arcprod-tenant :is(.favorite-tutorials-page-content .favorite-overlay, .favorite-videos-page-content .favorite-overlay) {
    background: linear-gradient(to top, rgba(15, 23, 42, 0.2), rgba(15, 23, 42, 0)) !important;
}

body.arcprod-tenant :is(.notifications-list .list-group-item, .notifications-empty, .xh-announcements-table-wrap .table tbody tr) {
    border-color: var(--token-border, #edf1f6) !important;
}

body.arcprod-tenant .forum-home-content .thread-create-submit-icon {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 0.18rem !important;
}

body.arcprod-tenant .forum-home-content .thread-create-submit-icon i {
    font-size: 1.12rem !important;
    line-height: 1 !important;
    color: var(--token-text-primary, #0f172a) !important;
}

body.arcprod-tenant .forum-home-content .thread-create-submit-icon:hover i {
    color: var(--brand-text) !important;
}

body.arcprod-tenant .reports-container .report-actions .btn-admin-mini-primary i {
    color: var(--token-success, #22c55e) !important;
}

body.arcprod-tenant .reports-container .report-actions .btn-admin-mini-danger i {
    color: var(--token-danger, #ef4444) !important;
}

body.arcprod-tenant .reports-container .report-actions .btn i {
    font-size: 1.16rem !important;
    line-height: 1 !important;
}

/* --- Detail parity pack: FAQ / Video / Guide --- */
body.arcprod-tenant :is(.tutorial-detail-container[data-page="faq-detail"], .video-detail-container, .guide-detail-container) {
    max-width: 1160px !important;
}

body.arcprod-tenant .video-detail-container {
    max-width: 1020px !important;
}

body.arcprod-tenant :is(.tutorial-detail-container[data-page="faq-detail"] .tutorial-header, .guide-detail-container .guide-detail-header) {
    border-width: 1px !important;
    box-shadow: var(--rd-shadow-soft) !important;
}

body.arcprod-tenant .tutorial-detail-container[data-page="faq-detail"] .tutorial-header {
    padding: 1.35rem 1.45rem !important;
}

body.arcprod-tenant :is(.tutorial-detail-container[data-page="faq-detail"] .tutorial-title, .video-detail-page-content .video-detail-title, .guide-detail-container .guide-detail-title) {
    letter-spacing: -0.01em !important;
    line-height: 1.15 !important;
}

body.arcprod-tenant .video-detail-page-content .video-detail-title {
    font-size: clamp(1.55rem, 2.2vw, 2.1rem) !important;
}

body.arcprod-tenant :is(.tutorial-detail-container[data-page="faq-detail"] .tutorial-meta, .video-detail-page-content .video-meta-info, .guide-detail-container .guide-meta) {
    gap: 0.85rem !important;
}

body.arcprod-tenant :is(.tutorial-detail-container[data-page="faq-detail"] .badge, .video-detail-page-content .category-badge, .guide-detail-container .guide-meta .badge) {
    border-radius: 999px !important;
    font-size: 0.78rem !important;
    padding: 0.2rem 0.58rem !important;
    box-shadow: none !important;
}

body.arcprod-tenant .video-detail-page-content .video-info-card {
    padding: 24px 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
}

body.arcprod-tenant :is(.video-detail-page-content .description-content, .guide-detail-container .guide-step-content, .tutorial-detail-container[data-page="faq-detail"] .tutorial-content) {
    font-size: 0.96rem !important;
    line-height: 1.64 !important;
}

body.arcprod-tenant :is(.video-detail-page-content .description-content h2, .guide-detail-container .guide-step-content h2, .tutorial-detail-container[data-page="faq-detail"] .tutorial-content h2) {
    border-bottom: 0 !important;
    padding-bottom: 0 !important;
    margin-bottom: 0.85rem !important;
}

body.arcprod-tenant :is(.video-detail-page-content .description-content hr, .guide-detail-container .guide-step-content hr, .tutorial-detail-container[data-page="faq-detail"] .tutorial-content hr) {
    border: 0 !important;
    border-top: 0 !important;
    height: 0 !important;
    margin: 0.65rem 0 !important;
}

body.arcprod-tenant :is(.tutorial-detail-container[data-page="faq-detail"] .tutorial-share-section, .video-detail-page-content .video-share-section) {
    padding: 24px 0 !important;
    border: none !important;
    border-top: 1px solid var(--token-border, #e5e7eb) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    margin-top: 0 !important;
}

body.arcprod-tenant .guide-detail-container .guide-share-section {
    border: none !important;
    border-top: 1px solid var(--token-border, #e5e7eb) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    padding-top: 24px !important;
    margin-top: 1.5rem !important;
}

body.arcprod-tenant :is(.tutorial-detail-container .share-btn, .video-detail-page-content .share-btn, .guide-detail-container .share-btn) {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 0.18rem !important;
}

body.arcprod-tenant :is(.tutorial-detail-container .share-btn i, .video-detail-page-content .share-btn i, .guide-detail-container .share-btn i) {
    font-size: 1.18rem !important;
    line-height: 1 !important;
}

body.arcprod-tenant .video-detail-page-content .video-comment-submit-wrap {
    display: flex !important;
    justify-content: flex-end !important;
}

body.arcprod-tenant .video-detail-page-content .video-comment-submit-icon {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: auto !important;
    height: auto !important;
    padding: 0.18rem !important;
}

body.arcprod-tenant .video-detail-page-content .video-comment-submit-icon i {
    color: var(--brand-text) !important;
    font-size: 1.22rem !important;
    line-height: 1 !important;
}

body.arcprod-tenant .guide-detail-container .guide-detail-header {
    position: relative !important;
    padding: 1.35rem 1.45rem !important;
}

body.arcprod-tenant .guide-detail-container .back-button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.5rem !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    color: rgba(255, 255, 255, 0.82) !important;
}

body.arcprod-tenant .guide-detail-container .guide-header-actions {
    position: absolute !important;
    top: 1.15rem !important;
    right: 1.15rem !important;
    margin: 0 !important;
}

body.arcprod-tenant .guide-detail-container .guide-header-actions .content-quick-edit {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0.16rem !important;
    width: auto !important;
    height: auto !important;
}

/*
 * Arc_Prod File Role: XH Design System — Visual refinements (tenant runtime).
 * File: public_html/assets/xhelpers/css/redesign/09-xh-visual-pass.css
 *
 * Rôle : affinements visuels globaux (typographie, espacements, micro-interactions).
 * Inspiré d'un design system minimaliste de qualité professionnelle.
 * Scoped: body.arcprod-tenant (tenant runtime pages uniquement).
 */

/* 1) More white space in the whole main content area. */
body.arcprod-tenant .main-content-area,
body.arcprod-tenant .homepage-content .custom-container {
    padding: 32px !important;
}

@media (max-width: 991.98px) {
    body.arcprod-tenant .main-content-area,
    body.arcprod-tenant .homepage-content .custom-container {
        padding: 16px !important;
    }
}

/* 3) Remove the colored separator line under header/filter transitions. */
body.arcprod-tenant :is(
    .tutorials-page-content,
    .faq-page-content,
    .videos-page-content,
    .resources-page-content,
    .glossary-page-content
) :is(
    .nav-tabs-container,
    .tutorial-filters-panel,
    .video-filters-panel,
    .resources-filters-panel,
    .faq-filters-panel,
    .glossary-filters-panel,
    .filter-panel
) {
    border-top: 0 !important;
}

/* 4) Uniform cards: no border, no top colored strip, subtle shadow only. */
body.arcprod-tenant :is(
    .tutorials-page-content .tutorial-card,
    .guides-page-content .guide-card,
    .videos-page-content .video-card,
    .resources-page-content .resource-card,
    .faq-page-content .faq-list .faq-item,
    .glossary-page-content .glossary-list .glossary-item,
    .favorite-tutorial-card,
    .favorite-video-card
) {
    border: 0 !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07) !important;
    border-radius: 16px !important;
}

body.arcprod-tenant :is(
    .tutorials-page-content .tutorial-card,
    .guides-page-content .guide-card,
    .videos-page-content .video-card,
    .resources-page-content .resource-card
)::before {
    display: none !important;
    content: none !important;
}

body.arcprod-tenant :is(
    .tutorials-page-content .tutorial-card:hover,
    .guides-page-content .guide-card:hover,
    .videos-page-content .video-card:hover,
    .resources-page-content .resource-card:hover,
    .faq-page-content .faq-list .faq-item:hover,
    .glossary-page-content .glossary-list .glossary-item:hover
) {
    border-color: transparent !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.09) !important;
}

/* 5) Category pills → déplacés dans modules/category-badges.css */

/* 6) FAQ open accordion must stay neutral (no dark blue header). */
html:not([data-theme="dark"]) body.arcprod-tenant .faq-page-content .faq-item.active .faq-question {
    background: var(--bg-tertiary, #f5f5f7) !important;
}

html:not([data-theme="dark"]) body.arcprod-tenant .faq-page-content .faq-item.active .faq-question > i,
html:not([data-theme="dark"]) body.arcprod-tenant .faq-page-content .faq-item.active .faq-question span {
    color: var(--token-text-primary, #1d1d1f) !important;
}

/* 7) Primary "Ajouter" buttons: smaller pill. */
body.arcprod-tenant :is(
    .module-header-primary-action,
    .edition-page-content .section-add-btn
) {
    min-height: 38px !important;
    padding: 0.42rem 1rem !important;
    border-radius: 980px !important;
    font-weight: 500 !important;
    box-shadow: none !important;
}

/* 8) Layout rhythm: header -> filters and cards gaps. */
body.arcprod-tenant :is(
    .faq-page-content .tutorial-header-custom,
    .tutorials-page-content .tutorial-header-custom,
    .videos-page-content .video-header-custom,
    .resources-page-content .resource-header-custom,
    .glossary-page-content .glossary-header-custom
) {
    margin-bottom: 20px !important;
}

body.arcprod-tenant :is(
    .tutorials-page-content #cards-row,
    .guides-page-content #cards-row,
    .videos-page-content #cards-row,
    .resources-page-content #cards-row
) {
    --bs-gutter-x: 24px !important;
    --bs-gutter-y: 24px !important;
    row-gap: 24px !important;
}

/* --------------------------------------------------------------------------
   Final global enforcement (requested adjustments)
   -------------------------------------------------------------------------- */

/* Video thumbnails: strict unified geometry. */
body.arcprod-tenant :is(.videos-page-content, .favorite-videos-page-content) .video-thumbnail {
    height: 185px !important;
    min-height: 185px !important;
    max-height: 185px !important;
    overflow: hidden !important;
}

body.arcprod-tenant :is(.videos-page-content, .favorite-videos-page-content) .video-thumbnail img {
    height: 185px !important;
    width: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

body.arcprod-tenant :is(
    .guides-page-content .nav-tabs-container,
    .glossary-page-content .nav-tabs-container
) {
    border-top: 0 !important;
    background: transparent !important;
}

@media (max-width: 991.98px) {
}

/* --------------------------------------------------------------------------
   Hotfix pass: forum visibility + resources spacing + glossary minimalism
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   Global fix pass: header icons, glossary action, guides status/progress, contact inputs
   -------------------------------------------------------------------------- */

/* Safety net: hide leftover decorative prefix icons in page title containers. */
body.arcprod-tenant :is(
    .tutorial-title-container,
    .video-title-container,
    .resource-title-container,
    .glossary-title-container,
    .guide-title-container
) > i:first-child {
    display: none !important;
}

/* --------------------------------------------------------------------------
   Final pass: forum/glossary/guides alignment (requested)
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   Precision fixes: page title icons, guides add button, glossary letters
   -------------------------------------------------------------------------- */

/* 1) Remove any prefix icon rendered before page titles (all modules). */
body.arcprod-tenant :is(
    .tutorial-title-container,
    .video-title-container,
    .resource-title-container,
    .glossary-title-container,
    .guide-title-container,
    .stats-title-container,
    .global-search-title-container
) > i:first-child,
body.arcprod-tenant :is(
    .tutorial-title,
    .video-title,
    .resource-title,
    .glossary-title,
    .guide-title,
    .stats-title,
    .global-search-title,
    .page-title,
    .faq-header h1
) > i:first-child {
    display: none !important;
}

body.arcprod-tenant :is(
    .tutorial-title,
    .video-title,
    .resource-title,
    .glossary-title,
    .guide-title,
    .stats-title,
    .global-search-title,
    .page-title,
    .faq-header h1
) {
    font-weight: 700 !important;
    font-size: 28px !important;
    color: var(--token-text-primary, #1d1d1f) !important;
}

/* Global title cleanup: ensure no icon pseudo-element appears before page title. */
body.arcprod-tenant :is(
    .tutorial-title,
    .video-title,
    .resource-title,
    .glossary-title,
    .guide-title,
    .stats-title,
    .faq-header h1
)::before {
    display: none !important;
    content: none !important;
}

/* --------------------------------------------------------------------------
   Stabilisation pass (forum + glossary + resources)
   -------------------------------------------------------------------------- */

/*
 * Arc_Prod — Design System Fixes (corrections ciblées)
 * File: public_html/assets/xhelpers/css/redesign/10-design-system-fixes.css
 *
 * Chargé EN DERNIER par theme-redesign.css (après les 9 fichiers existants).
 *
 * REFACTORISÉ 2026-03: les règles module-spécifiques ont été déplacées
 * vers les fichiers modules/*.css correspondants. Ce fichier ne contient
 * plus que les surcharges cross-cutting (typographie globale, sidebar,
 * boutons globaux, focus, governance).
 */

/* =============================================================
   A. TYPOGRAPHIE BASE — System font stack Apple + font-smoothing
   ============================================================= */
body.arcprod-tenant {
  font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto,
               'Helvetica Neue', Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
  -moz-osx-font-smoothing: grayscale !important;
  font-size: 15px !important;
  line-height: 1.6 !important;
  color: var(--text-primary) !important;
  letter-spacing: -0.01em !important;
}

/* =============================================================
   B. FILTRES ACTIFS — toujours couleur primaire
   ============================================================= */
body.arcprod-tenant :is(
  .nav-link.selected,
  .nav-link.all-categories.active,
  .difficulty-tab.selected,
  .forum-filter-chip.is-active,
  .category-tab.selected
) {
  background: var(--primary-color) !important;
  color: var(--text-on-primary) !important;
  border-color: var(--primary-color) !important;
}

/* =============================================================
   C. CHECKBOXES dans les chips de filtre — masquées
   ============================================================= */
body.arcprod-tenant :is(
  .checkbox-indicator,
  .category-checkbox,
  .filter-checkbox
) {
  display: none !important;
}

/* =============================================================
   F. BADGES — système unifié
   ============================================================= */

/* Badge admin/rôle → primary color */
body.arcprod-tenant :is(.admin-badge, .role-badge-admin) {
  background: var(--primary-color-light) !important;
  color: var(--brand-text) !important;
  border-color: var(--primary-color-light) !important;
}

/* Badge "NOUVEAU" → discret */
body.arcprod-tenant .new-badge {
  background: var(--success-light) !important;
  color: var(--success-text) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  padding: 2px 8px !important;
  text-transform: none !important;
}

/* Difficulty filter chips actifs → couleur primaire */
body.arcprod-tenant .nav-tabs .nav-link.difficulty-tab.selected {
  background: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-on-primary) !important;
  --faq-level-active-bg: var(--primary-color) !important;
}

body.arcprod-tenant .nav-tabs .nav-link.difficulty-tab.selected i {
  color: var(--text-on-primary) !important;
}

/* =============================================================
   H. SIDEBAR ITEM ACTIF — fond ultra-léger
   ============================================================= */
body.arcprod-tenant :is(#offcanvasSidebar, .sidebar-nav) .nav-item .nav-link.active,
body.arcprod-tenant :is(#offcanvasSidebar, .sidebar-nav) .nav-item.active .nav-link {
  background: var(--primary-color-ultra-light) !important;
  color: var(--brand-text) !important;
}

body.arcprod-tenant :is(#offcanvasSidebar, .sidebar-nav) .nav-item .nav-link.active i,
body.arcprod-tenant :is(#offcanvasSidebar, .sidebar-nav) .nav-item.active .nav-link i {
  color: var(--brand-text) !important;
}

/* =============================================================
   I. FOCUS RINGS — couleur primaire sur tous les inputs/selects
   ============================================================= */
body.arcprod-tenant :is(
  .form-control,
  .form-select,
  input,
  textarea,
  select
):focus {
  border-color: var(--primary-color) !important;
  box-shadow: 0 0 0 3px var(--primary-color-light) !important;
  outline: none !important;
}

/* =============================================================
   J. SIDEBAR ICONS — Override de ui-pro-uniform.css §17
   ============================================================= */
body.arcprod-tenant #offcanvasSidebar :is(.sidebar-link i, .sidebar-section-toggle i:first-child) {
  color: var(--token-text-secondary, #334155) !important;
  opacity: 1 !important;
}

body.arcprod-tenant #offcanvasSidebar :is(.sidebar-link.active i, .sidebar-section-toggle[aria-expanded="true"] i:first-child) {
  color: var(--brand-text) !important;
  opacity: 1 !important;
}

/* =============================================================
   L. BOUTONS PRIMAIRES — couleur du tenant
   ============================================================= */
body.arcprod-tenant :is(.btn-primary, .btn-admin-primary, .btn-stats.primary) {
  background: var(--primary-color) !important;
  border-color: var(--primary-color) !important;
  color: var(--text-on-primary) !important;
}

body.arcprod-tenant :is(.btn-primary, .btn-admin-primary, .btn-stats.primary):hover {
  background: var(--primary-color-hover) !important;
  border-color: var(--primary-color-hover) !important;
}
/* Exception §L : bouton send commentaire vidéo = icon-only transparent */
body.arcprod-tenant .video-detail-page-content .video-comment-submit-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    color: var(--brand-text) !important;
}
body.arcprod-tenant .video-detail-page-content .video-comment-submit-icon i {
    color: var(--brand-text) !important;
    font-size: 1.22rem !important;
    line-height: 1 !important;
}

/* =============================================================
   M. RESPONSIVE POLISH — global
   ============================================================= */
@media (max-width: 991.98px) {
    :is(.stats-header, .notifications-header, .page-header) {
        padding: 0.9rem 0.9rem !important;
        border-radius: 12px;
    }

    .admin-editor-form .admin-form-actions,
    .js-richtext-sync .admin-form-actions,
    .guide-editor-form .admin-form-actions {
        position: static;
        box-shadow: none;
        backdrop-filter: none;
        padding: 0.5rem 0;
        border: 0;
        border-top: 1px solid #e5eef8;
        border-radius: 0;
    }
}

/* =============================================================
   N. GLOBAL MINIMALIST PASS
   ============================================================= */
body.arcprod-tenant {
    background: var(--bg-secondary, #f5f6f8);
    color: var(--xh-min-text);
}

/* Remove decorative gradients/shadows from major containers */
:is(
    .stats-header,
    .page-header,
    .notifications-header,
    .admin-panel,
    .reports-card,
    .data-table-card,
    .chart-card,
    .metric-card,
    .stat-item,
    .xh-announcements-table-wrap,
    .xh-announcement-card,
    .admin-editor-card,
    .resource-card,
    .tutorial-card,
    .faq-card,
    .video-card,
    .guide-card
) {
    background: var(--xh-min-surface) !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 1px solid var(--xh-min-border) !important;
    border-radius: var(--xh-min-radius) !important;
}

/* NOTE: pseudo-éléments interdits dans :is() — règles directes obligatoires */
.stats-header::before,
.admin-panel::before,
.reports-header::after,
.xh-announcement-card::before,
.metric-card::before,
.stat-item::before,
.lsapi-hero-card::before,
.forum-metric-card::after {
    display: none !important;
}

/* Typography cleanup */
:is(.stats-title, .page-title, h1, h2, h3) {
    letter-spacing: -0.01em;
}

:is(.stats-subtitle, .page-subtitle, .text-muted) {
    color: var(--xh-min-text-muted) !important;
}

/* Buttons: flatter, cleaner */
:is(.btn, .btn-stats, .btn-admin-primary, .btn-admin-ghost, .section-add-btn, .add-button) {
    box-shadow: none !important;
    border-radius: 10px !important;
    text-shadow: none !important;
    transform: none !important;
    transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, opacity 140ms ease !important;
}

:is(.btn-secondary, .btn-outline-secondary, .btn-admin-ghost, .btn-stats.secondary) {
    background: var(--bg-primary, #ffffff) !important;
    border: 1px solid var(--xh-min-border) !important;
    color: var(--token-text-primary, #1f2937) !important;
}

:is(.btn-secondary, .btn-outline-secondary, .btn-admin-ghost, .btn-stats.secondary):hover {
    background: var(--bg-secondary, #f3f4f6) !important;
    border-color: var(--token-border, #d1d5db) !important;
}

/* Dark mode — fallback hardcodé (si variables CSS non résolues) */
html[data-theme="dark"] :is(.btn-secondary, .btn-outline-secondary, .btn-admin-ghost, .btn-stats.secondary) {
    background: #2c2c2e !important;
    color: rgba(235, 235, 245, 0.88) !important;
    border-color: rgba(84, 84, 88, 0.55) !important;
}
html[data-theme="dark"] :is(.btn-secondary, .btn-outline-secondary, .btn-admin-ghost, .btn-stats.secondary):hover {
    background: #3a3a3c !important;
    color: rgba(235, 235, 245, 1) !important;
}

/* Inputs/selects/textarea */
:is(.form-control, .form-select, textarea) {
    border-radius: 10px !important;
    border: 1px solid var(--xh-min-border) !important;
    background: var(--bg-primary, #ffffff) !important;
    box-shadow: none !important;
}

/* Keep dropdown affordance visible */
body.arcprod-tenant .form-select {
    background-color: var(--bg-primary, #ffffff) !important;
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.7' d='m3.5 6.5 4.5 4 4.5-4'/%3e%3c/svg%3e") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.8rem center !important;
    background-size: 0.92rem 0.92rem !important;
    padding-right: 2rem !important;
}

body.arcprod-tenant .form-select:is([multiple], [size]:not([size='1'])) {
    background-image: none !important;
    padding-right: 0.75rem !important;
}

/* Tables cleaner — DEPLACE le 2026-08-03 vers components.css §1.5 a §1.7. */

/* Pills/badges neutral */
:is(.badge, .status-badge, .lifecycle-status-badge, .report-status-badge) {
    box-shadow: none !important;
    border-radius: 999px !important;
}

/* =============================================================
   P. RUNTIME COMPACT SYSTEM
   ============================================================= */
body.arcprod-tenant {
    --xh-compact-radius: 10px;
    --xh-compact-gap: 0.55rem;
    --xh-compact-text: 0.9rem;
    --xh-compact-text-sm: 0.82rem;
    --xh-compact-text-xs: 0.74rem;
    --xh-compact-control-h: 38px;
}

body.arcprod-tenant,
body.arcprod-tenant :is(
    h1, h2, h3, h4, h5, h6,
    p, a, span, label, small, strong, em, li,
    th, td, button, input, select, textarea
) {
    font-family: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif !important;
}

/* Containers/cards */
body.arcprod-tenant :is(
    .admin-panel,
    .data-table-card,
    .chart-card,
    .metric-card,
    .content-block,
    .reports-card,
    .lsapi-section-card,
    .admin-editor-card,
    .xh-announcement-card
) {
    border-radius: var(--xh-compact-radius) !important;
}

/* Headers and section spacing */
body.arcprod-tenant :is(.stats-header, .page-header, .notifications-header) {
    padding: 0.82rem 0.96rem !important;
    margin-bottom: 0.82rem !important;
    border-radius: 12px !important;
}

body.arcprod-tenant :is(.stats-title, .page-title, h1) {
    font-size: clamp(1.2rem, 1rem + 0.6vw, 1.7rem) !important;
    line-height: 1.15 !important;
}

body.arcprod-tenant :is(.stats-subtitle, .page-subtitle) {
    font-size: 0.92rem !important;
    margin-top: 0.28rem !important;
}

/* Controls */
body.arcprod-tenant :is(.btn, .btn-stats, .btn-admin-primary, .btn-admin-ghost, .form-control, .form-select, textarea) {
    font-size: var(--xh-compact-text-sm) !important;
}

body.arcprod-tenant :is(.btn, .btn-stats, .btn-admin-primary, .btn-admin-ghost, .form-control, .form-select) {
    min-height: var(--xh-compact-control-h) !important;
    border-radius: 9px !important;
}

body.arcprod-tenant textarea {
    border-radius: 9px !important;
}

/* Tables/lists — DEPLACE le 2026-08-03 vers components.css §1.8 et §1.9. C'est la
   regle qui donnait la taille EFFECTIVE des en-tetes (0.73rem), en gagnant sur celle
   plus haut dans ce fichier a specificite egale, par simple anteriorite. */

/* Generic chips/badges */
body.arcprod-tenant :is(.badge, .status-badge, .lifecycle-status-badge, .report-status-badge, .admin-badge, .editor-badge) {
    font-size: var(--xh-compact-text-xs) !important;
    padding: 0.24rem 0.52rem !important;
    border-radius: 999px !important;
    box-shadow: none !important;
}

/* Filter containers */
body.arcprod-tenant :is(
    .filter-indicator,
    .filter-summary-item,
    .forum-filter-chip,
    .guide-path-chip
) {
    border-radius: 10px !important;
}

/* Utility spacing */
body.arcprod-tenant :is(.metrics-grid, .forum-metrics, .content-tabs, .filter-headline-actions) {
    gap: var(--xh-compact-gap) !important;
}

/* =============================================================
   Q. RUNTIME GOVERNANCE LOCK
   ============================================================= */
body.arcprod-tenant {
    --xh-ui-radius-sm: 8px;
    --xh-ui-radius-md: 10px;
    --xh-ui-radius-lg: 12px;
    --xh-ui-border: #e3e7ee;
    --xh-ui-border-strong: #d2d9e4;
    --xh-ui-surface: #ffffff;
    --xh-ui-surface-soft: #f8fafc;
    --xh-ui-text: #111827;
    --xh-ui-muted: #6b7280;
}

/* Shared module shells */
body.arcprod-tenant :is(
    .faq-page-content,
    .tutorials-page-content,
    .videos-page-content,
    .resources-page-content,
    .guides-page-content,
    .glossary-page-content,
    .forum-home-content,
    .forum-thread-page-content,
    .homepage-content,
    .reports-container,
    .stats-container,
    .lsapi-container,
    .xh-announcements-wrap,
    .edition-page-content,
    .contact-page-content
) {
    color: var(--xh-ui-text) !important;
}

/* Prevent module-specific heavy visual effects */
body.arcprod-tenant :is(
    .faq-page-content,
    .tutorials-page-content,
    .videos-page-content,
    .resources-page-content,
    .guides-page-content,
    .glossary-page-content,
    .forum-home-content,
    .forum-thread-page-content,
    .homepage-content
) :is(
    .filter-indicator,
    .content-block,
    .data-table-card,
    .metric-card,
    .guide-card,
    .faq-card,
    .tutorial-card,
    .video-card,
    .resource-card
) {
    background: var(--xh-ui-surface) !important;
    border: 1px solid var(--xh-ui-border) !important;
    border-radius: var(--xh-ui-radius-lg) !important;
    box-shadow: none !important;
}

/* nav-tabs-container et guide-path-toolbar : flat, sans contour */
body.arcprod-tenant :is(
    .faq-page-content,
    .tutorials-page-content,
    .videos-page-content,
    .resources-page-content,
    .guides-page-content,
    .glossary-page-content,
    .forum-home-content,
    .homepage-content
) :is(.nav-tabs-container, .guide-path-toolbar) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

/* Unified tab/chip grammar */
body.arcprod-tenant :is(
    .faq-page-content,
    .tutorials-page-content,
    .videos-page-content,
    .resources-page-content,
    .guides-page-content,
    .glossary-page-content,
    .homepage-content
) :is(.nav-tabs .nav-link, .guide-path-chip, .content-tab, .forum-filter-chip) {
    background: var(--xh-ui-surface) !important;
    border: 1px solid var(--xh-ui-border-strong) !important;
    color: var(--token-text-secondary, #334155) !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    transform: none !important;
}

body.arcprod-tenant :is(
    .faq-page-content,
    .tutorials-page-content,
    .videos-page-content,
    .resources-page-content,
    .guides-page-content,
    .glossary-page-content,
    .homepage-content
) :is(.nav-tabs .nav-link.selected, .nav-tabs .nav-link.active, .guide-path-chip.is-active, .content-tab.active, .forum-filter-chip.is-active) {
    background: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    /* Couleur de marque arbitraire (admin tenant) : voir --text-on-primary
       dans _layout_header.php (calcul WCAG serveur, pas de blanc fige). */
    color: var(--text-on-primary, #ffffff) !important;
    box-shadow: none !important;
}

/* Harmonize search/filter inputs */
body.arcprod-tenant :is(
    .faq-page-content,
    .tutorials-page-content,
    .videos-page-content,
    .resources-page-content,
    .guides-page-content,
    .glossary-page-content,
    .forum-home-content,
    .forum-thread-page-content,
    .homepage-content
) :is(.search-box input, .tutorial-search, .form-control, .form-select) {
    min-height: 38px !important;
    padding-top: 0.44rem !important;
    padding-bottom: 0.44rem !important;
    border-radius: var(--xh-ui-radius-md) !important;
    border-color: var(--xh-ui-border-strong) !important;
    box-shadow: none !important;
}

/* Keep hover behavior subtle */
body.arcprod-tenant :is(
    .btn,
    .btn-stats,
    .guide-action-btn,
    .content-tab,
    .guide-path-chip,
    .nav-tabs .nav-link,
    .content-link,
    .resource-link
):hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Global runtime table rhythm — DEPLACE le 2026-08-03 vers components.css §1.10. */

/* =============================================================
   R. ADD CONTENT CTA
   ============================================================= */
body.arcprod-tenant :is(.faq-page-content, .tutorials-page-content, .videos-page-content, .resources-page-content, .glossary-page-content, .guides-page-content) .text-center.mt-4.mb-5 > .btn.btn-admin-primary {
    display: inline-flex !important;
    align-items: center !important;
    gap: 0.42rem !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0.18rem 0.2rem !important;
    min-height: 0 !important;
    color: var(--brand-text) !important;
    font-size: 1.04rem !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

body.arcprod-tenant :is(.faq-page-content, .tutorials-page-content, .videos-page-content, .resources-page-content, .glossary-page-content, .guides-page-content) .text-center.mt-4.mb-5 > .btn.btn-admin-primary i {
    font-size: 1.05rem !important;
    margin-right: 0 !important;
}

body.arcprod-tenant :is(.faq-page-content, .tutorials-page-content, .videos-page-content, .resources-page-content, .glossary-page-content, .guides-page-content) .text-center.mt-4.mb-5 > .btn.btn-admin-primary:hover {
    background: transparent !important;
    border: 0 !important;
    /* Part de --brand-text et non de la marque brute : melangee telle quelle,
       une marque foncee donnait 1,98:1 en mode sombre (mesure du 2026-08-01). */
    color: color-mix(in srgb, var(--brand-text) 82%, #0f172a 18%) !important;
    opacity: 0.8 !important;
    box-shadow: none !important;
    transform: none !important;
}

body.arcprod-tenant :is(.faq-page-content, .tutorials-page-content, .videos-page-content, .resources-page-content, .glossary-page-content, .guides-page-content) .text-center.mt-4.mb-5 > .btn.btn-admin-primary:focus-visible {
    outline: 2px solid rgba(37, 99, 235, 0.22) !important;
    outline-offset: 2px !important;
    border-radius: 8px !important;
}

/* =============================================================
   T1. Titre announcements : 28px / 700
   ============================================================= */
body.arcprod-tenant .xh-announcements-title {
    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    color: var(--text-primary) !important;
    margin: 0 !important;
}

/* T2. Header announcements : flat flex */
body.arcprod-tenant .xh-announcements-header-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 0.5rem !important;
}

/* T4. Labels de filtres : 12px uppercase */
body.arcprod-tenant .module-filters-group-label {
    font-size: 12px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: var(--text-secondary) !important;
    font-weight: 600 !important;
    margin-top: 0 !important;
}
body.arcprod-tenant .module-filters-group-label.levels-label {
    margin-top: 1rem !important;
}

/* T13. Padding zone contenu desktop : 32px */
@media (min-width: 992px) {
    body.arcprod-tenant .main-content-area > .container-fluid,
    body.arcprod-tenant .main-content-area > .container {
        padding-left: 2rem !important;
        padding-right: 2rem !important;
    }
}

/* =============================================================
   Y. SIDEBAR — état actif Apple : texte gras + couleur, sans fond
   Sélecteur html body.arcprod-tenant = (1,3,2) > layout.css (1,3,1)
   ============================================================= */
html body.arcprod-tenant #offcanvasSidebar :is(.sidebar-link.active, .sidebar-section-toggle[aria-expanded="true"]) {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--brand-text) !important;
    font-weight: 600 !important;
}

html body.arcprod-tenant #offcanvasSidebar .sidebar-admin-list .sidebar-link.active {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--brand-text) !important;
    font-weight: 600 !important;
}

/* Supprime l'accent bar ::before sur les items actifs */
html body.arcprod-tenant #offcanvasSidebar .sidebar-link.active::before {
    display: none !important;
}

html body.arcprod-tenant #offcanvasSidebar :is(.sidebar-link:hover, .sidebar-section-toggle:hover) {
    background: rgba(0,0,0,0.04) !important;
    color: var(--text-primary) !important;
}

/* =============================================================
   Z5. COMMUN toutes vues détail — boutons navigation (back, edit)
   ============================================================= */

/* Bouton retour : icône seule, couleur primaire */
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container,
    .video-detail-container,
    .video-detail-page-content,
    .forum-thread-page-content
) :is(.back-button, .btn-back) {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    padding: 0 !important;
    color: var(--token-text-secondary, #6b7280) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    gap: 0 !important;
}
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container,
    .video-detail-container,
    .video-detail-page-content,
    .forum-thread-page-content
) :is(.back-button, .btn-back) i {
    font-size: 1.25rem !important;
    line-height: 1 !important;
    color: var(--token-text-secondary, #6b7280) !important;
}
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container,
    .video-detail-container,
    .video-detail-page-content,
    .forum-thread-page-content
) :is(.back-button, .btn-back):hover {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    opacity: 0.6 !important;
    transform: none !important;
    text-decoration: none !important;
}

/* Bouton éditer : icône seule, couleur secondaire */
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container,
    .video-detail-container
) .quick-edit-button {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    color: var(--text-secondary) !important;
    font-size: 0 !important;
    line-height: 0 !important;
    gap: 0 !important;
    padding: 0 !important;
}
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container,
    .video-detail-container
) .quick-edit-button i {
    font-size: 1.1rem !important;
    line-height: 1 !important;
    color: var(--text-secondary) !important;
}
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container,
    .video-detail-container
) .quick-edit-button:hover i {
    color: var(--text-primary) !important;
    opacity: 0.8 !important;
}

/* Badges catégories dans la meta */
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container
) :is(.tutorial-meta, .guide-meta) .badge {
    background: var(--bg-secondary, #f1f5f9) !important;
    color: var(--text-secondary) !important;
    border: 1px solid var(--border-color, #e2e8f0) !important;
    box-shadow: none !important;
    font-weight: 500 !important;
    font-size: 0.78rem !important;
    transform: none !important;
}
body.arcprod-tenant :is(
    [data-page="tutorial-detail"],
    [data-page="faq-detail"],
    .guide-detail-container
) :is(.tutorial-meta, .guide-meta) .badge:hover {
    transform: none !important;
    box-shadow: none !important;
}

/* Back-to-top */
body.arcprod-tenant .back-to-top {
    background: rgba(30, 41, 59, 0.75) !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
    backdrop-filter: none !important;
}

/* =============================================================
   U4. Announcements : header empilé sur mobile
   ============================================================= */
@media (max-width: 767.98px) {
    body.arcprod-tenant .xh-announcements-header-top {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0.5rem !important;
    }
    body.arcprod-tenant .xh-announcements-header {
        padding: 0 !important;
        background: transparent !important;
        border: none !important;
        box-shadow: none !important;
    }
}

/* =============================================================
   U9. Navbar : très petit écran (<360px)
   ============================================================= */
@media (max-width: 359.98px) {
    body.arcprod-tenant #navbar .navbar-brand .brand-name,
    body.arcprod-tenant #navbar .navbar-brand span:not(.brand-logo) {
        display: none !important;
    }
    body.arcprod-tenant #navbar .navbar-brand {
        font-size: 0 !important;
    }
    body.arcprod-tenant #navbar .navbar-brand img,
    body.arcprod-tenant #navbar .navbar-brand .brand-logo {
        font-size: 1rem !important;
    }
}

/* =============================================================
   U10. Formulaires : champs pleine largeur + touch-friendly
   ============================================================= */
@media (max-width: 767.98px) {
    body.arcprod-tenant .contact-page-content .form-row,
    body.arcprod-tenant .admin-editor-card .form-row {
        flex-direction: column !important;
    }
    body.arcprod-tenant .contact-page-content .form-row > [class*="col"],
    body.arcprod-tenant .admin-editor-card .form-row > [class*="col"] {
        width: 100% !important;
        max-width: 100% !important;
    }
    body.arcprod-tenant .form-label {
        font-size: 0.88rem !important;
        font-weight: 500 !important;
    }
}

/* =============================================================
   U11. Cards internes : padding réduit mobile
   ============================================================= */
@media (max-width: 575.98px) {
    body.arcprod-tenant .card-body {
        padding: 0.85rem !important;
    }
    body.arcprod-tenant .card-header,
    body.arcprod-tenant .card-footer {
        padding: 0.65rem 0.85rem !important;
    }
    body.arcprod-tenant .badge {
        font-size: 0.7rem !important;
        padding: 3px 7px !important;
    }
}

/* ============================================================
   §AB — Uniformisation couleur icônes action Apple style
   Règle : back arrow (§Z5) + search loupe + boutons icon-only (xh-icon-only-btn)
   → tous en gris plat #6b7280 pour cohérence inter-vues
   ============================================================ */

/* Loupe toggle dans les headers de modules : gris unifié #6b7280.
   Même spécificité (0,4,1) que les règles modules avec !important,
   mais 10-design-system-fixes.css charge en DERNIER → gagne. */
body.arcprod-tenant .module-header-tools .search-box-container .search-icon {
    color: var(--token-text-secondary, #6b7280) !important;
}
body.arcprod-tenant .module-header-tools .search-box-container .search-icon:hover {
    background: rgba(0,0,0,0.05) !important;
    color: var(--token-text-secondary, #4b5563) !important;
}

/* ============================================================
   §AG — Footer : une seule ligne centrée, minimaliste
   ============================================================ */
body.arcprod-tenant .footer-slim {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    font-size: 12px !important;
    color: var(--token-text-secondary, #737373) !important;
    padding: 0.75rem 1rem !important;
    min-height: auto !important;
    gap: 0 !important;
}
body.arcprod-tenant .footer-slim > span {
    font-size: 12px !important;
    color: var(--token-text-secondary, #737373) !important;
}

/* ============================================================
   §AJ — RÈGLE STRUCTURELLE : couleur universelle des titres interactifs
   ──────────────────────────────────────────────────────────────
   PRINCIPE : tout titre de contenu cliquable = var(--token-primary)
   Distinction ouvert/fermé accordion = font-weight UNIQUEMENT
   Cette section est l'UNIQUE source de vérité pour la couleur des titres.
   Chargée en dernier → remporte tous les conflits de couleur upstream.
   ============================================================ */

body.arcprod-tenant :is(
    /* ── Accordions FAQ ── */
    .faq-page-content .faq-question > span,
    .faq-page-content .faq-question span,
    /* ── Accordions Glossaire ── */
    .glossary-page-content .glossary-question .glossary-term-text,
    .glossary-page-content .glossary-question .glossary-term-text strong,
    /* ── Cards Tutoriels ── */
    .tutorials-page-content .tutorial-card .card-title,
    .tutorials-page-content .tutorial-card .card-title a,
    /* ── Cards Vidéos ── */
    .videos-page-content .video-card-title,
    .videos-page-content .video-card-title a,
    /* ── Cards Ressources ── */
    .resources-page-content .resource-card .card-title,
    .resources-page-content .resource-card .card-title a,
    /* ── Cards Guides ── */
    .guides-page-content .guide-card .card-title,
    .guides-page-content .guide-card .guide-card-title-link,
    /* ── Favoris Tutoriels ── */
    .favorite-tutorials-page-content .tutorial-title,
    /* ── Favoris Vidéos ── */
    .favorite-videos-page-content .video-title,
    /* ── Liste Contenu récent (home) ── */
    .homepage-content .content-title,
    /* ── Annonces ── */
    .xh-announcement-card-title
) {
    /* 2026-09-03 : les titres passent de la MARQUE au TEXTE COURANT.
       --text-primary vaut #171717 en clair et #ffffff en sombre, donc le
       contraste passe de 6,43:1 a 17,9:1 en clair et de 5,59:1 a 17,0:1 en
       sombre. Ce que le lien perd en couleur, il le garde par sa zone
       cliquable, son survol et son libelle d'action (« Consulter → »). */
    color: var(--text-primary) !important;
}

/* Tutorial cards : meme regle que §AJ ci-dessus — sans cette ligne, sa
   specificite superieure ramenerait la marque sur les seuls tutoriels. */
body.arcprod-tenant .tutorials-page-content .tutorial-card :is(.card-title, .card-title a) {
    color: var(--text-primary) !important;
}

/* Accordion FERMÉ : font-weight 400 */
body.arcprod-tenant :is(
    .faq-page-content .faq-question > span,
    .faq-page-content .faq-question span,
    .glossary-page-content .glossary-question .glossary-term-text,
    .glossary-page-content .glossary-question .glossary-term-text strong
) {
    font-weight: 400 !important;
}

/* Accordion OUVERT : font-weight 600 — domine le fermé (spécificité +1 classe) */
body.arcprod-tenant :is(
    .faq-page-content .faq-item.active .faq-question > span,
    .faq-page-content .faq-item.active .faq-question span,
    .glossary-page-content .glossary-item.active .glossary-question .glossary-term-text,
    .glossary-page-content .glossary-item.active .glossary-question .glossary-term-text strong
) {
    font-weight: 600 !important;
}
