/* AnimyJob — couche structurelle premium BAFA, observatoire et salaires. */
.aj-premium-data {
  --aj-data-blue: #1976a3;
  --aj-data-blue-dark: #0d5877;
  --aj-data-orange: #f47c1c;
  --aj-data-orange-dark: #c85b0a;
  --aj-data-ink: #0f172a;
  --aj-data-text: #475569;
  --aj-data-muted: #64748b;
  --aj-data-line: #dbe7ed;
  --aj-data-surface: #f3f8ff;
  --aj-data-blue-pale: #eaf5fa;
  --aj-data-orange-pale: #fff2e8;
  --aj-data-white: #fff;
  --aj-data-shadow: 0 24px 70px rgba(24, 34, 70, .10);
  color: var(--aj-data-text);
  font-family: "Manrope", "Nunito", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

.aj-premium-data,
.aj-premium-data *,
.aj-premium-data *::before,
.aj-premium-data *::after {
  box-sizing: border-box;
}

.aj-premium-data :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid rgba(25, 118, 163, .30) !important;
  outline-offset: 3px;
}

/* Adaptateurs de tokens : aucune identité teal/verte autonome. */
.aj-premium-bafa-directory {
  --cbf-navy: var(--aj-data-ink);
  --cbf-navy-2: #172554;
  --cbf-blue: var(--aj-data-blue);
  --cbf-blue-dark: var(--aj-data-blue-dark);
  --cbf-orange: var(--aj-data-orange);
  --cbf-gold: var(--aj-data-orange);
  --cbf-green: var(--aj-data-blue);
  --cbf-ink: var(--aj-data-text);
  --cbf-muted: var(--aj-data-muted);
  --cbf-line: var(--aj-data-line);
  --cbf-soft: var(--aj-data-surface);
  --cbf-white: var(--aj-data-white);
  --cbf-shadow-sm: none;
  --cbf-shadow-md: var(--aj-data-shadow);
}

.aj-premium-bafa-sessions {
  --navy: var(--aj-data-ink);
  --blue: var(--aj-data-blue);
  --orange: var(--aj-data-orange);
  --muted: var(--aj-data-muted);
  --line: var(--aj-data-line);
  --soft: var(--aj-data-surface);
}

.aj-premium-bafa-organisations {
  --ink: var(--aj-data-ink);
  --blue: var(--aj-data-blue);
  --gold: var(--aj-data-orange);
  --muted: var(--aj-data-muted);
  --line: var(--aj-data-line);
  --soft: var(--aj-data-surface);
}

.aj-premium-bafa-aids {
  --ajb-navy: var(--aj-data-ink);
  --ajb-navy-dark: #172554;
  --ajb-blue: var(--aj-data-blue);
  --ajb-blue-light: var(--aj-data-blue-pale);
  --ajb-orange: var(--aj-data-orange);
  --ajb-orange-soft: var(--aj-data-orange-pale);
  --ajb-green: var(--aj-data-blue);
  --ajb-green-soft: var(--aj-data-blue-pale);
  --ajb-text: var(--aj-data-text);
  --ajb-muted: var(--aj-data-muted);
  --ajb-line: var(--aj-data-line);
  --ajb-soft: var(--aj-data-surface);
  --ajb-white: var(--aj-data-white);
  --ajb-shadow: var(--aj-data-shadow);
}

.aj-premium-bafa-aid-detail {
  --navy: var(--aj-data-ink);
  --blue: var(--aj-data-blue);
  --orange: var(--aj-data-orange);
  --green: var(--aj-data-blue);
  --ink: var(--aj-data-text);
  --line: var(--aj-data-line);
  --soft: var(--aj-data-surface);
  --cream: var(--aj-data-orange-pale);
}

.aj-premium-observatory {
  --ajo-navy: var(--aj-data-ink);
  --ajo-navy-2: #172554;
  --ajo-blue: var(--aj-data-blue);
  --ajo-blue-dark: var(--aj-data-blue-dark);
  --ajo-blue-soft: var(--aj-data-blue-pale);
  --ajo-orange: var(--aj-data-orange);
  --ajo-orange-soft: var(--aj-data-orange-pale);
  --ajo-green: var(--aj-data-blue);
  --ajo-green-soft: var(--aj-data-blue-pale);
  --ajo-ink: var(--aj-data-text);
  --ajo-muted: var(--aj-data-muted);
  --ajo-line: var(--aj-data-line);
  --ajo-soft: var(--aj-data-surface);
  --ajo-white: var(--aj-data-white);
  --ajo-shadow: var(--aj-data-shadow);
  --ajo-shadow-hover: var(--aj-data-shadow);
}

.aj-premium-salaries {
  --aj-salary-blue: var(--aj-data-blue);
  --aj-salary-blue-2: var(--aj-data-blue-dark);
  --aj-salary-orange: var(--aj-data-orange);
  --aj-salary-ink: var(--aj-data-ink);
  --aj-salary-muted: var(--aj-data-muted);
  --aj-salary-line: var(--aj-data-line);
  --aj-salary-soft: var(--aj-data-surface);
}

/* Héros commun : pâle, éditorial, sans décor saturé. */
.aj-premium-data :where(
  .cbf-hero,
  .bfs-hero,
  .bafa-hero,
  .ajb-hero,
  .hero,
  .aj-hero,
  .aj-salary-hero
) {
  padding-block: 66px !important;
  border-bottom: 1px solid var(--aj-data-line) !important;
  background: var(--aj-data-blue-pale) !important;
  color: var(--aj-data-ink) !important;
  box-shadow: none !important;
}

.aj-premium-data :where(
  .cbf-hero,
  .bfs-hero,
  .bafa-hero,
  .ajb-hero,
  .hero,
  .aj-hero,
  .aj-salary-hero
)::before,
.aj-premium-data :where(
  .cbf-hero,
  .bfs-hero,
  .bafa-hero,
  .ajb-hero,
  .hero,
  .aj-hero,
  .aj-salary-hero
)::after {
  display: none !important;
}

.aj-premium-data :where(
  .cbf-shell,
  .bfs-shell,
  .bafa-shell,
  .ajb-breadcrumb,
  .ajb-hero-content,
  .ajb-stats,
  .ajb-intro,
  .ajb-results,
  .aj-salary-wrap
) {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
}

.aj-premium-data .aj-premium-hero-copy {
  max-width: 940px;
  text-align: left;
}

.aj-premium-data :where(
  .cbf-hero h1,
  .bfs-hero h1,
  .bafa-hero h1,
  .ajb-hero h1,
  .hero h1,
  .aj-hero h1,
  .aj-salary-hero h1
) {
  max-width: 940px !important;
  margin: 12px 0 18px !important;
  color: var(--aj-data-ink) !important;
  font: 800 clamp(2.65rem, 5vw, 4.35rem)/1.02 "Manrope", "Nunito", Arial, sans-serif !important;
  letter-spacing: -.045em !important;
  text-align: left !important;
  text-transform: none !important;
}

.aj-premium-data :where(
  .cbf-hero p,
  .bfs-hero p,
  .bafa-hero p,
  .ajb-hero-lead,
  .hero p,
  .aj-hero .aj-lead,
  .aj-salary-hero p
) {
  max-width: 800px;
  color: var(--aj-data-muted) !important;
  font-size: clamp(1rem, 1.45vw, 1.18rem) !important;
  line-height: 1.7 !important;
}

.aj-premium-data :where(
  .cbf-eyebrow,
  .ajb-eyebrow,
  .aj-eyebrow,
  .aj-salary-kicker,
  .aj-salary-eyebrow
) {
  color: var(--aj-data-blue-dark) !important;
}

.aj-premium-data :where(
  .cbf-source,
  .bafa-source,
  .bfs-badge,
  .cbf-badge,
  .bafa-badge,
  .hero-tag,
  .aj-salary-meta span
) {
  border-color: var(--aj-data-line) !important;
  background: var(--aj-data-white) !important;
  color: var(--aj-data-text) !important;
  box-shadow: none !important;
}

.aj-premium-data :where(.bfs-badge.orange, .cbf-badge.gold, .bafa-badge.bafd) {
  border-color: #ffd6b8 !important;
  background: var(--aj-data-orange-pale) !important;
  color: var(--aj-data-orange-dark) !important;
}

/* Faits et métriques : cartes blanches, bord fin, hiérarchie uniforme. */
.aj-premium-data .aj-premium-data-facts {
  gap: 12px !important;
}

.aj-premium-data .aj-premium-data-facts > * {
  border: 1px solid var(--aj-data-line) !important;
  border-radius: 14px !important;
  background: var(--aj-data-white) !important;
  box-shadow: none !important;
}

.aj-premium-data .aj-premium-data-facts > * strong {
  color: var(--aj-data-ink) !important;
}

/* Cartes, panneaux et annuaires. */
.aj-premium-data :where(
  .cbf-card,
  .cbf-panel,
  .cbf-fact,
  .bfs-card,
  .bfs-panel,
  .bfs-row,
  .bfs-fact,
  .bafa-card,
  .bafa-panel,
  .bafa-hab,
  .bafa-fact,
  .ajb-trust-card,
  .ajb-region-panel,
  .ajb-department-card,
  .section,
  .card,
  .aj-section,
  .aj-panel,
  .aj-directory-card,
  .aj-salary-info-banner,
  .aj-salary-stat-card,
  .aj-salary-job-card,
  .aj-salary-panel,
  .aj-salary-source-box
) {
  border-color: var(--aj-data-line) !important;
  border-radius: 16px !important;
  background: var(--aj-data-white) !important;
  box-shadow: none !important;
}

.aj-premium-data :where(
  .cbf-head h2,
  .cbf-panel h2,
  .bfs-head h2,
  .bfs-panel h2,
  .bafa-head h2,
  .bafa-panel h2,
  .ajb-page h2,
  .aj-bafa h2,
  .aj-section h2,
  .aj-panel h2,
  .aj-salary-section-heading h2,
  .aj-salary-panel h2
) {
  color: var(--aj-data-ink) !important;
  font-family: "Manrope", "Nunito", Arial, sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: -.025em;
  line-height: 1.16 !important;
}

.aj-premium-data :where(
  .cbf-notice,
  .bfs-notice,
  .bafa-notice,
  .notice,
  .aj-empty,
  .aj-salary-empty
) {
  border-color: var(--aj-data-line) !important;
  background: var(--aj-data-surface) !important;
  color: var(--aj-data-text) !important;
}

.aj-premium-data :where(.notice.warn) {
  border-color: #ffd6b8 !important;
  background: var(--aj-data-orange-pale) !important;
}

.aj-premium-data :where(
  .cbf-card-link,
  .bfs-card-link,
  .bafa-card-link,
  .aj-directory-link,
  .aj-salary-link
) {
  color: var(--aj-data-blue-dark) !important;
}

.aj-premium-data :where(
  .bfs-btn,
  .ajb-search-button,
  .aj-btn-primary,
  .aj-salary-btn-primary
) {
  border-color: var(--aj-data-blue) !important;
  background: var(--aj-data-blue) !important;
  color: var(--aj-data-white) !important;
  box-shadow: none !important;
}

.aj-premium-data :where(.aj-btn-secondary, .aj-salary-btn-secondary) {
  border-color: var(--aj-data-line) !important;
  background: var(--aj-data-white) !important;
  color: var(--aj-data-blue-dark) !important;
}

.aj-premium-data :where(.bfs-btn:hover, .ajb-search-button:hover, .aj-btn-primary:hover) {
  border-color: var(--aj-data-blue-dark) !important;
  background: var(--aj-data-blue-dark) !important;
}

/* Compositions main + rail. */
.aj-premium-data .aj-premium-data-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 310px !important;
  gap: 26px !important;
  align-items: start;
}

.aj-premium-data .aj-premium-data-rail {
  position: sticky;
  top: 24px;
}

.aj-premium-bafa-directory .cbf-main,
.aj-premium-bafa-sessions .bfs-main,
.aj-premium-bafa-organisations .bafa-content,
.aj-premium-observatory,
.aj-premium-salaries .aj-salary-main {
  padding-top: 42px !important;
  padding-bottom: 76px !important;
}

.aj-premium-bafa-aids,
.aj-premium-bafa-aid-detail,
.aj-premium-observatory,
.aj-premium-salaries {
  background: var(--aj-data-surface) !important;
}

.aj-premium-bafa-aids .ajb-search-box {
  border: 1px solid var(--aj-data-line) !important;
  background: var(--aj-data-white) !important;
  box-shadow: none !important;
}

.aj-premium-bafa-aids .ajb-search-box input {
  min-height: 48px;
  color: var(--aj-data-ink);
  font: inherit;
}

.aj-premium-bafa-aid-detail .toc {
  border: 1px solid var(--aj-data-line) !important;
  background: var(--aj-data-white) !important;
  box-shadow: none !important;
}

.aj-premium-observatory :where(.aj-chart-column span, .aj-bar span),
.aj-premium-salaries :where(.aj-salary-bar span, .aj-salary-range-bar span) {
  background: var(--aj-data-blue) !important;
}

.aj-premium-salaries .aj-salary-stat-card--primary {
  border-top: 4px solid var(--aj-data-orange) !important;
}

@media (max-width: 991px) {
  .aj-premium-data .aj-premium-data-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .aj-premium-data .aj-premium-data-rail {
    position: static;
    top: auto;
  }
}

@media (max-width: 767px) {
  .aj-premium-data :where(
    .cbf-shell,
    .bfs-shell,
    .bafa-shell,
    .ajb-breadcrumb,
    .ajb-hero-content,
    .ajb-stats,
    .ajb-intro,
    .ajb-results,
    .aj-salary-wrap
  ) {
    width: min(100% - 24px, 1180px) !important;
  }

  .aj-premium-data :where(
    .cbf-hero,
    .bfs-hero,
    .bafa-hero,
    .ajb-hero,
    .hero,
    .aj-hero,
    .aj-salary-hero
  ) {
    padding-block: 46px !important;
  }

  .aj-premium-data .aj-premium-data-facts {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .aj-premium-data .aj-premium-data-facts {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media print {
  .aj-premium-data :where(
    .cbf-hero,
    .bfs-hero,
    .bafa-hero,
    .ajb-hero,
    .hero,
    .aj-hero,
    .aj-salary-hero
  ) {
    border-bottom: 1px solid #bbb !important;
    background: #fff !important;
    color: #111 !important;
  }
}

/* LIVE5 — le H1 départemental BAFA reste lisible sans dominer tout l'écran. */
body.ajp-controller-aides_bafa.ajp-action-departement .aj-premium-data .aj-premium-data-hero {
  padding: 48px 36px !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #eaf6fb 0%, #f7fbff 70%, #fff2e8 100%) !important;
}
body.ajp-controller-aides_bafa.ajp-action-departement .aj-premium-data .aj-premium-data-hero h1 {
  max-width: 860px !important;
  font-size: clamp(2.5rem, 4.15vw, 3.45rem) !important;
  line-height: 1.04 !important;
}
@media (max-width: 620px) {
  body.ajp-controller-aides_bafa.ajp-action-departement .aj-premium-data .aj-premium-data-hero {
    padding: 30px 22px !important;
    border-radius: 21px !important;
  }
  body.ajp-controller-aides_bafa.ajp-action-departement .aj-premium-data .aj-premium-data-hero h1 {
    font-size: clamp(2.05rem, 10vw, 2.65rem) !important;
  }
}
