/* AnimyJob V6 — enveloppe des outils publics. Aucun sélecteur ne sort de .aj-tools-v6. */
.aj-tools-v6 {
  --ajt-ink: #083f58;
  --ajt-muted: #526b78;
  --ajt-blue: #1976a3;
  --ajt-blue-dark: #0d5877;
  --ajt-orange: #f47c1c;
  --ajt-soft: #eef7fa;
  --ajt-cream: #fff6ed;
  --ajt-line: #d7e3e8;
  --ajt-card: #fff;
  --ajt-shadow: 0 18px 52px rgba(20, 43, 74, .09);
  color: var(--ajt-ink);
  background: linear-gradient(180deg, #f7fafb 0, #fff 520px);
  isolation: isolate;
}

.aj-tools-v6 *,
.aj-tools-v6 *::before,
.aj-tools-v6 *::after { box-sizing: border-box; }

.aj-tools-v6 .aj-tools-v6__shell,
.aj-tools-v6.aj-tools-v6__shell {
  width: min(1180px, calc(100% - 40px));
  margin-inline: auto;
}

.aj-tools-v6 .aj-tools-v6__hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 28px;
  border: 1px solid rgba(25, 118, 163, .18);
  border-radius: 30px;
  background:
    radial-gradient(circle at 88% 18%, rgba(244,124,28,.16), transparent 26%),
    radial-gradient(circle at 72% 115%, rgba(25,118,163,.14), transparent 34%),
    linear-gradient(135deg, #fff, #eef7fa);
  box-shadow: 0 24px 70px rgba(20, 80, 145, .10);
}

.aj-tools-v6 .aj-tools-v6__hero::after {
  content: "";
  position: absolute;
  z-index: 0;
  width: 180px;
  height: 180px;
  top: -88px;
  right: -62px;
  border: 30px solid rgba(255,255,255,.58);
  border-radius: 50%;
  pointer-events: none;
}

.aj-tools-v6 .aj-tools-v6__hero > * { position: relative; z-index: 1; }

.aj-tools-v6 .aj-tools-v6__hero h1 {
  max-width: 850px;
  margin-top: 8px;
  color: var(--ajt-ink);
  font-family: "Manrope", "Nunito", system-ui, sans-serif;
  font-size: clamp(38px, 5.2vw, 64px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.03;
}

.aj-tools-v6 .aj-tools-v6__hero p {
  max-width: 760px;
  color: var(--ajt-muted);
  font-size: clamp(15px, 1.6vw, 18px);
  line-height: 1.68;
}

.aj-tools-v6 .aj-tools-v6__workspace {
  position: relative;
  overflow: visible;
  margin-block: 24px 34px;
  border: 1px solid var(--ajt-line);
  border-radius: 26px;
  background: var(--ajt-card);
  box-shadow: var(--ajt-shadow);
}

.aj-tools-v6 .aj-tools-v6__panel,
.aj-tools-v6 .form-section,
.aj-tools-v6 .content-section,
.aj-tools-v6 .results-section,
.aj-tools-v6 .ajk-section,
.aj-tools-v6 .ajg-panel,
.aj-tools-v6 .ajw-form-card {
  border-color: var(--ajt-line);
  border-radius: 22px;
}

.aj-tools-v6 .aj-tools-v6__panel,
.aj-tools-v6 .content-section,
.aj-tools-v6 .ajk-section {
  box-shadow: 0 12px 38px rgba(20,43,74,.055);
}

.aj-tools-v6 .form-section,
.aj-tools-v6 .ajg-panel,
.aj-tools-v6 .ajw-form-card {
  background: linear-gradient(145deg, #fff, #fbfdff);
  box-shadow: 0 10px 30px rgba(20,43,74,.055);
}

.aj-tools-v6 :where(.form-section, .ajg-panel, .ajw-form-card):focus-within {
  border-color: rgba(18,104,232,.38);
  box-shadow: 0 13px 36px rgba(18,104,232,.10);
}

.aj-tools-v6 :where(input, select, textarea) {
  border-color: #cfdbea;
  border-radius: 12px;
}

.aj-tools-v6 :where(input, select, textarea):focus {
  border-color: var(--ajt-blue);
  box-shadow: 0 0 0 4px rgba(18,104,232,.10);
  outline: 0;
}

.aj-tools-v6 :where(button, .btn, [class*="button"]) { border-radius: 12px; }

.aj-tools-v6 :where(.tool-card, .ajk-tool-card, .ajk-article-card, .result-card, .card) {
  border-color: var(--ajt-line);
  border-radius: 20px;
  box-shadow: 0 11px 32px rgba(20,43,74,.065);
}

.aj-tools-v6 :where(.tool-card, .ajk-tool-card, .ajk-article-card) {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.aj-tools-v6 :where(.tool-card, .ajk-tool-card, .ajk-article-card):hover {
  transform: translateY(-3px);
  border-color: rgba(18,104,232,.35);
  box-shadow: 0 18px 42px rgba(20,80,145,.13);
}

/* Hub des outils animateurs. */
.aj-tools-v6--hub .hero-header { padding: clamp(34px, 5vw, 66px); }
.aj-tools-v6--hub .tool-grid { gap: 20px; }
.aj-tools-v6--hub .tool-card { overflow: hidden; background: linear-gradient(145deg,#fff,#fbfdff); }
.aj-tools-v6--hub .aj-pdf-library-card { border-radius: 24px; box-shadow: var(--ajt-shadow); }

/* Générateurs enfants : préserve le moteur serveur et affine son enveloppe. */
.aj-tools-v6--children.ajk-page { width: min(1180px, calc(100% - 40px)); }
.aj-tools-v6--children .ajk-hero { padding: clamp(30px, 4.5vw, 58px); }
.aj-tools-v6--children .ajk-generator-shell {
  gap: 24px;
  border: 1px solid var(--ajt-line);
  border-radius: 26px;
  background: #fff;
  box-shadow: var(--ajt-shadow);
}
.aj-tools-v6--children .ajk-tool-grid,
.aj-tools-v6--children .ajk-article-grid,
.aj-tools-v6--children .ajk-value-grid { gap: 18px; }

/* Générateurs métier : seuls le cadre et les panneaux sont concernés. */
.aj-tools-v6--activity .ajg-wrap,
.aj-tools-v6--week .ajw-wrap { width: min(1180px, calc(100% - 40px)); }
.aj-tools-v6--activity .ajg-hero,
.aj-tools-v6--week .ajw-hero { padding-block: clamp(30px, 5vw, 62px); }
.aj-tools-v6--activity .ajg-generator,
.aj-tools-v6--week .ajw-form-section { background: transparent; }
.aj-tools-v6--activity .ajg-results,
.aj-tools-v6--week .ajw-results { border-radius: 26px; }

/* Outils historiques Pages : enveloppe unique sans toucher canvas, tabs ou IDs. */
.aj-tools-v6--legacy > .aj-tools-v6__shell { padding-top: 24px; padding-bottom: 48px; }
.aj-tools-v6--legacy .breadcrumb { margin-bottom: 16px; color: var(--ajt-muted); }
.aj-tools-v6--legacy .hero-header { padding: clamp(30px, 4.5vw, 56px); }
.aj-tools-v6--legacy .main-content { padding: clamp(22px, 3vw, 36px); }
.aj-tools-v6--legacy .intro,
.aj-tools-v6--legacy .intro-section { border-radius: 18px; background: var(--ajt-soft); }
.aj-tools-v6--legacy :where(.summary-box, .info-box, .highlight-box, .result-box, .preview-wrap) { border-radius: 20px; }

/* Évaluateur BAFA : shell uniquement, moteur de notation et impression inchangés. */
.aj-tools-v6--evaluator { padding-block: 24px 52px; }
.aj-tools-v6--evaluator .breadcrumb { margin: 0 0 16px; color: var(--ajt-muted); }
.aj-tools-v6--evaluator .hero-header { margin-inline: 0; padding: clamp(32px,4.5vw,58px); color: var(--ajt-ink); }
.aj-tools-v6--evaluator .main-content { padding: clamp(22px,3vw,38px); }
.aj-tools-v6--evaluator :where(.content-section,.footer-section) {
  margin-block: 26px;
  border: 1px solid var(--ajt-line);
  border-radius: 24px;
  background: #fff;
  box-shadow: var(--ajt-shadow);
}

@media (max-width: 800px) {
  .aj-tools-v6 .aj-tools-v6__shell,
  .aj-tools-v6.aj-tools-v6__shell,
  .aj-tools-v6--children.ajk-page,
  .aj-tools-v6--activity .ajg-wrap,
  .aj-tools-v6--week .ajw-wrap { width: min(100% - 24px, 1180px); }
  .aj-tools-v6 .aj-tools-v6__hero h1 { font-size: clamp(34px, 10vw, 46px); }
  .aj-tools-v6--legacy .hero-header,
  .aj-tools-v6--legacy .main-content { padding: 22px 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .aj-tools-v6 :where(.tool-card, .ajk-tool-card, .ajk-article-card) { transition: none; }
}

@media print {
  .aj-tools-v6 { background: #fff; }
  .aj-tools-v6 .aj-tools-v6__hero,
  .aj-tools-v6 .aj-tools-v6__workspace,
  .aj-tools-v6 :where(.form-section, .content-section, .card) { box-shadow: none; }
}

/* Boutons 2026 : aplats de marque et secondaires à contour fin. */
.aj-tools-v6 :where(button,.btn,.ajg-button,.ajk-btn,.ajw-btn,.bafa-btn,.bafa-cta,.cta-btn,.download-btn,.word-btn,.aj-bafa-funding-button,.aj-pdf-library-button) {
  border: 1px solid var(--ajt-blue);
  border-radius: 12px;
  background: var(--ajt-blue);
  color: #fff;
  box-shadow: none;
  font-weight: 800;
  transition: background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;
}
.aj-tools-v6 :where(button,.btn,.ajg-button,.ajk-btn,.ajw-btn,.bafa-btn,.bafa-cta,.cta-btn,.download-btn,.word-btn,.aj-bafa-funding-button,.aj-pdf-library-button):hover {
  border-color: var(--ajt-blue-dark);
  background: var(--ajt-blue-dark);
  color: #fff;
  box-shadow: none;
  transform: translateY(-1px);
}
.aj-tools-v6 :where(.btn-secondary,.btn-outline,.ajg-button--ghost,.ajw-btn-light) {
  border: 1px solid var(--ajt-blue);
  background: #fff;
  color: var(--ajt-blue-dark);
  box-shadow: none;
}
.aj-tools-v6 :where(.btn-secondary,.btn-outline,.ajg-button--ghost,.ajw-btn-light):hover {
  border-color: var(--ajt-blue-dark);
  background: var(--ajt-soft);
  color: var(--ajt-blue-dark);
}
.aj-tools-v6 :where(.eyebrow,.kicker,[class*="eyebrow"],[class*="kicker"]) { color: var(--ajt-orange); }

/* Planning hebdomadaire : composition équilibrée et tableau mobile. */
.aj-page-planning-hebdomadaire #joursGroup { grid-column: 1 / -1; }
.aj-page-planning-hebdomadaire .planning-card { max-width: 100%; overflow-x: auto; }
.aj-page-planning-hebdomadaire .planning-table { min-width: 620px; }
@media (max-width:680px) {
  .aj-page-planning-hebdomadaire .controls-row { align-items: stretch; flex-direction: column; }
  .aj-page-planning-hebdomadaire .controls-row :where(button,.btn-primary,.btn-secondary) { width: 100%; }
}
