/* AnimyJob — refonte structurelle Comptes, Candidats et Messagerie. */
.aj-premium-account {
  --aj-premium-navy: #083F58;
  --aj-premium-blue: #1976A3;
  --aj-premium-blue-dark: #0D5877;
  --aj-premium-orange: #F47C1C;
  --aj-premium-ink: #0F172A;
  --aj-premium-text: #334155;
  --aj-premium-muted: #64748B;
  --aj-premium-line: #DBE7ED;
  --aj-premium-surface: #F3F8FF;
  --aj-premium-blue-pale: #EAF5FA;
  --aj-premium-orange-pale: #FFF3E8;
  --aj-premium-white: #FFFFFF;
  --aj-premium-danger: #b42318;
  --aj-premium-shadow: 0 18px 52px rgba(8, 63, 88, .08);
  color: var(--aj-premium-text);
  font-family: "Manrope", "Nunito", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Compte et profil recruteur 2026. */
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .aj-premium-account-card {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid #dce5ff;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(32, 76, 192, .10);
}
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .aj-premium-account-card::before,
.aj-premium-recruiter-profile .aj-premium-recruiter-identity::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #3157f6 0 72%, #ff7a1a 72%);
}
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .aj-premium-account-card > h2 {
  margin: 0 0 28px;
  color: #101c3d;
  font-size: clamp(22px, 3vw, 30px);
  font-weight: 850;
}
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .post-job-form .form-group { margin-bottom: 21px; }
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .post-job-form label { display: block; margin-bottom: 8px; color: #172445; font-size: 13px; font-weight: 750; }
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .post-job-form :where(input[type="text"], input[type="email"], input[type="password"], select, textarea) {
  min-height: 50px;
  border: 1px solid #ccd7ee;
  border-radius: 13px;
  background: #fbfcff;
  color: #101c3d;
}
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .post-job-form :where(input, select, textarea):focus {
  border-color: #3157f6;
  outline: 3px solid rgba(49, 87, 246, .13);
  background: #fff;
}
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .post-job-form :where(input[type="submit"], button[type="submit"]) {
  min-height: 50px;
  padding: 13px 22px;
  border: 0;
  border-radius: 13px;
  background: #3157f6;
  color: #fff;
  font-weight: 800;
  box-shadow: none;
}
:where(.aj-premium-account-editor,.aj-premium-profile-editor) #supimg {
  border: 1px solid #ffd0ad;
  background: #fff7f1;
  color: #b94600;
}
:where(.aj-premium-account-editor,.aj-premium-profile-editor) .aj-premium-account-rail :where(.job-side-wrap2, .job-side-wrap) {
  padding: 22px;
  border: 1px solid #dce5ff;
  border-top: 4px solid #ff7a1a;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 16px 38px rgba(32, 76, 192, .08);
}

.aj-premium-recruiter-profile .aj-premium-recruiter-layout {
  display: grid;
  grid-template-columns: minmax(250px, .75fr) minmax(0, 2fr);
  gap: 30px;
  width: min(100% - 32px, 1180px);
  margin: 0 auto;
  padding: 48px 0 72px;
}
.aj-premium-recruiter-profile .aj-premium-recruiter-identity {
  position: relative;
  overflow: hidden;
  align-self: start;
  padding: 28px;
  border: 1px solid #dce5ff;
  border-radius: 22px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(32, 76, 192, .09);
}
.aj-premium-recruiter-profile .profile-picture img {
  width: 104px;
  height: 104px;
  margin-bottom: 22px;
  object-fit: cover;
  border: 5px solid #eef2ff;
  border-radius: 22px;
}
.aj-premium-recruiter-profile .profile-details h2 { margin: 0 0 12px; color: #101c3d; font-size: 25px; font-weight: 850; }
.aj-premium-recruiter-profile .profile-details p { color: #65708a; line-height: 1.65; }
.aj-premium-recruiter-profile .aj-premium-recruiter-offers { display: grid; gap: 18px; }
.aj-premium-recruiter-profile .job-card {
  display: block;
  padding: 25px 27px;
  border: 1px solid #dce5ff;
  border-radius: 20px;
  background: #fff;
  color: #536078;
  text-decoration: none;
  box-shadow: 0 14px 38px rgba(32, 76, 192, .07);
  transition: transform .18s ease, border-color .18s ease;
}
.aj-premium-recruiter-profile .job-card:hover { border-color: #9db1ff; transform: translateY(-2px); }
.aj-premium-recruiter-profile .job-card h3 { margin: 0 0 16px; color: #2446cd; font-size: 21px; font-weight: 850; }
.aj-premium-recruiter-profile .job-card p { margin: 7px 0; line-height: 1.6; }
.aj-premium-recruiter-profile .job-card strong { color: #172445; }

@media (max-width: 767px) {
  :where(.aj-premium-account-editor,.aj-premium-profile-editor) .aj-premium-account-card { padding: 22px 16px; border-radius: 18px; }
  .aj-premium-recruiter-profile .aj-premium-recruiter-layout { grid-template-columns: 1fr; padding-top: 28px; }
  .aj-premium-recruiter-profile .aj-premium-recruiter-identity,
  .aj-premium-recruiter-profile .job-card { padding: 21px 18px; border-radius: 17px; }
}

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

.aj-premium-candidate-search {
  --cs-navy: var(--aj-premium-ink);
  --cs-blue: var(--aj-premium-blue);
  --cs-blue-dark: var(--aj-premium-blue-dark);
  --cs-orange: var(--aj-premium-orange);
  --cs-orange-dark: var(--aj-premium-orange);
  --cs-green: var(--aj-premium-blue);
  --cs-text: var(--aj-premium-text);
  --cs-muted: var(--aj-premium-muted);
  --cs-border: var(--aj-premium-line);
  --cs-soft: var(--aj-premium-surface);
  --cs-white: var(--aj-premium-white);
  --cs-shadow: var(--aj-premium-shadow);
  --cs-shadow-hover: var(--aj-premium-shadow);
}

.aj-premium-candidate-member {
  --cp-navy: var(--aj-premium-ink);
  --cp-blue: var(--aj-premium-blue);
  --cp-blue-dark: var(--aj-premium-blue-dark);
  --cp-orange: var(--aj-premium-orange);
  --cp-orange-dark: var(--aj-premium-orange);
  --cp-green: var(--aj-premium-blue);
  --cp-text: var(--aj-premium-text);
  --cp-muted: var(--aj-premium-muted);
  --cp-border: var(--aj-premium-line);
  --cp-soft: var(--aj-premium-surface);
  --cp-white: var(--aj-premium-white);
  --cp-shadow: var(--aj-premium-shadow);
  --cp-shadow-hover: var(--aj-premium-shadow);
}

.aj-premium-candidate-public {
  --pc-navy: var(--aj-premium-ink);
  --pc-blue: var(--aj-premium-blue);
  --pc-blue-dark: var(--aj-premium-blue-dark);
  --pc-orange: var(--aj-premium-orange);
  --pc-orange-dark: var(--aj-premium-orange);
  --pc-green: var(--aj-premium-blue);
  --pc-text: var(--aj-premium-text);
  --pc-muted: var(--aj-premium-muted);
  --pc-border: var(--aj-premium-line);
  --pc-soft: var(--aj-premium-surface);
  --pc-white: var(--aj-premium-white);
  --pc-shadow: var(--aj-premium-shadow);
  --pc-shadow-hover: var(--aj-premium-shadow);
}

.aj-premium-register {
  --rg-navy: var(--aj-premium-ink);
  --rg-blue: var(--aj-premium-blue);
  --rg-blue-dark: var(--aj-premium-blue-dark);
  --rg-orange: var(--aj-premium-orange);
  --rg-orange-dark: var(--aj-premium-orange);
  --rg-green: var(--aj-premium-blue);
  --rg-text: var(--aj-premium-text);
  --rg-muted: var(--aj-premium-muted);
  --rg-border: var(--aj-premium-line);
  --rg-soft: var(--aj-premium-surface);
  --rg-white: var(--aj-premium-white);
  --rg-shadow: var(--aj-premium-shadow);
  --rg-shadow-hover: var(--aj-premium-shadow);
}

.aj-premium-dashboard {
  --db-navy: var(--aj-premium-ink);
  --db-blue: var(--aj-premium-blue);
  --db-blue-dark: var(--aj-premium-blue-dark);
  --db-orange: var(--aj-premium-orange);
  --db-orange-dark: var(--aj-premium-orange);
  --db-green: var(--aj-premium-blue);
  --db-text: var(--aj-premium-text);
  --db-muted: var(--aj-premium-muted);
  --db-border: var(--aj-premium-line);
  --db-soft: var(--aj-premium-surface);
  --db-white: var(--aj-premium-white);
  --db-shadow: var(--aj-premium-shadow);
  --db-shadow-hover: var(--aj-premium-shadow);
}

.aj-premium-login {
  --aj-navy: var(--aj-premium-ink);
  --aj-blue: var(--aj-premium-blue);
  --aj-blue-dark: var(--aj-premium-blue-dark);
  --aj-orange: var(--aj-premium-orange);
  --aj-text: var(--aj-premium-text);
  --aj-muted: var(--aj-premium-muted);
  --aj-border: var(--aj-premium-line);
  --aj-soft: var(--aj-premium-surface);
  --aj-white: var(--aj-premium-white);
}

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

/* Boutons 2026 : hiérarchie nette, surfaces franches, aucune fausse profondeur. */
.aj-premium-account :where(
  .btn,
  button,
  input[type="submit"],
  input[type="button"],
  .candidate-action-primary,
  .candidate-action-secondary,
  .public-candidate-button-primary,
  .public-candidate-button-secondary,
  .aj-dashboard-button-primary,
  .aj-dashboard-button-secondary,
  .aj-avail-btn
) {
  border-bottom-width: 1px !important;
  box-shadow: none !important;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, transform 160ms ease !important;
}

.aj-premium-account :where(
  .candidate-search-button,
  .candidate-action-primary,
  .public-candidate-button-primary,
  .aj-register-submit,
  .aj-dashboard-button-primary,
  .aj-login-submit,
  .btn-primary,
  .btn-green,
  .btn-black,
  .aj-message-reply-submit,
  .aj-avail-btn-primary
) {
  border: 1px solid var(--aj-premium-blue) !important;
  background: var(--aj-premium-blue) !important;
  color: var(--aj-premium-white) !important;
  text-shadow: none !important;
}

.aj-premium-account :where(
  .candidate-reset-button,
  .candidate-action-secondary,
  .public-candidate-button-secondary,
  .aj-dashboard-button-secondary,
  .aj-avail-btn-secondary,
  .aj-avail-btn-light,
  .aj-avail-btn-outline,
  .btn-default:not(.btn-green):not(.btn-black)
) {
  border: 1px solid var(--aj-premium-line) !important;
  background: var(--aj-premium-white) !important;
  color: var(--aj-premium-navy) !important;
  text-shadow: none !important;
}

.aj-premium-account :where(
  .candidate-search-button,
  .candidate-action-primary,
  .public-candidate-button-primary,
  .aj-register-submit,
  .aj-dashboard-button-primary,
  .aj-login-submit,
  .btn-primary,
  .btn-green,
  .btn-black,
  .aj-message-reply-submit,
  .aj-avail-btn-primary
):where(:hover, :focus) {
  border-color: var(--aj-premium-blue-dark) !important;
  background: var(--aj-premium-blue-dark) !important;
  color: var(--aj-premium-white) !important;
  transform: translateY(-1px);
}

.aj-premium-account :where(
  .candidate-reset-button,
  .candidate-action-secondary,
  .public-candidate-button-secondary,
  .aj-dashboard-button-secondary,
  .aj-avail-btn-secondary,
  .aj-avail-btn-light,
  .aj-avail-btn-outline,
  .btn-default:not(.btn-green):not(.btn-black)
):where(:hover, :focus) {
  border-color: var(--aj-premium-blue) !important;
  background: var(--aj-premium-blue-pale) !important;
  color: var(--aj-premium-blue-dark) !important;
  transform: translateY(-1px);
}

.aj-premium-account :where(.btn, button, input[type="submit"], input[type="button"]):active {
  transform: translateY(0) !important;
}

.aj-premium-account :where(
  .candidate-search-hero,
  .candidate-profile-hero,
  .public-candidate-hero,
  .aj-register-hero,
  .aj-dashboard-hero,
  .aj-message-hero
) {
  border-bottom: 1px solid var(--aj-premium-line) !important;
  background: var(--aj-premium-blue-pale) !important;
  color: var(--aj-premium-ink) !important;
  box-shadow: none !important;
}

.aj-premium-account :where(
  .candidate-search-hero,
  .candidate-profile-hero,
  .public-candidate-hero,
  .aj-register-hero,
  .aj-dashboard-hero
)::before,
.aj-premium-account :where(
  .candidate-search-hero,
  .candidate-profile-hero,
  .public-candidate-hero,
  .aj-register-hero,
  .aj-dashboard-hero
)::after {
  display: none !important;
}

.aj-premium-account :where(
  .candidate-search-hero-inner,
  .candidate-search-content,
  .candidate-profile-hero-inner,
  .candidate-profile-layout,
  .candidate-similar-shell,
  .public-candidate-hero-inner,
  .public-candidate-layout,
  .public-candidate-similar-shell,
  .aj-register-hero-inner,
  .aj-register-content,
  .aj-dashboard-hero-inner,
  .aj-dashboard-content,
  .aj-login-wrap,
  .aj-message-hero .container,
  .aj-message-shell
) {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
}

.aj-premium-account :where(
  .candidate-search-hero-inner,
  .candidate-profile-hero-inner,
  .public-candidate-hero-inner,
  .aj-register-hero-inner,
  .aj-dashboard-hero-inner
) {
  text-align: left !important;
}

.aj-premium-account :where(
  .candidate-search-hero,
  .candidate-profile-hero,
  .public-candidate-hero,
  .aj-register-hero,
  .aj-dashboard-hero,
  .aj-message-hero
) {
  padding: 70px 20px 62px !important;
}

.aj-premium-account :where(
  .candidate-search-hero h1,
  .candidate-profile-hero h1,
  .public-candidate-hero h1,
  .aj-register-hero h1,
  .aj-dashboard-hero h1,
  .aj-login-head h1,
  .aj-message-hero h1
) {
  max-width: 940px !important;
  margin: 12px 0 18px !important;
  color: var(--aj-premium-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;
  overflow-wrap: break-word;
}

.aj-premium-account :where(
  .candidate-search-hero p,
  .candidate-profile-hero p,
  .public-candidate-hero p,
  .aj-register-hero p,
  .aj-dashboard-hero p,
  .aj-login-head p
) {
  max-width: 780px;
  margin-inline: 0 !important;
  color: var(--aj-premium-muted) !important;
  font-size: clamp(1rem, 1.45vw, 1.18rem) !important;
  line-height: 1.7 !important;
}

.aj-premium-account :where(
  .candidate-search-eyebrow,
  .candidate-profile-eyebrow,
  .public-candidate-eyebrow,
  .aj-register-eyebrow,
  .aj-dashboard-eyebrow
) {
  color: var(--aj-premium-blue-dark) !important;
  font-weight: 800;
  letter-spacing: .09em;
}

.aj-premium-account :where(
  .candidate-search-benefit,
  .candidate-profile-hero-badge,
  .public-candidate-hero-badge,
  .aj-register-trust-item,
  .aj-dashboard-hero-badge
) {
  border: 1px solid var(--aj-premium-line) !important;
  background: var(--aj-premium-white) !important;
  color: var(--aj-premium-text) !important;
  box-shadow: none !important;
}

/* CVthèque : filtres, résultats et ressources sur le DOM Bootstrap existant. */
.aj-premium-candidate-search {
  padding-bottom: 84px !important;
  background: var(--aj-premium-white) !important;
}

.aj-premium-candidate-search .candidate-search-content {
  margin-top: 0 !important;
  padding-top: 42px;
}

.aj-premium-candidate-search .candidate-search-intro {
  margin-bottom: 34px;
  border: 1px solid var(--aj-premium-line) !important;
  background: var(--aj-premium-surface) !important;
  box-shadow: none !important;
}

.aj-premium-candidate-search .candidate-search-content > .candidate-search-main-row {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 32px !important;
  margin: 0 !important;
}

.aj-premium-candidate-search .candidate-search-content > .candidate-search-main-row > .col-md-3,
.aj-premium-candidate-search .candidate-search-content > .candidate-search-main-row > .col-md-9,
.aj-premium-candidate-search .candidate-results-shell > .candidate-search-main-row > [class*="col-md-"] {
  float: none !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

.aj-premium-candidate-search .candidate-results-shell > .candidate-search-main-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 250px !important;
  gap: 24px !important;
  margin: 0 !important;
}

.aj-premium-candidate-search :where(
  .candidate-filter-card,
  .candidate-card,
  .candidate-featured-card,
  .candidate-resource-card,
  .observatoire-promo
) {
  border: 1px solid var(--aj-premium-line) !important;
  border-radius: 16px !important;
  background: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

.aj-premium-candidate-search :where(.candidate-filter-header, .observatoire-promo) {
  background: var(--aj-premium-surface) !important;
}

.aj-premium-candidate-search :where(.candidate-filter-header h2, .candidate-results-heading h2, .candidate-card h3) {
  color: var(--aj-premium-ink) !important;
  font-family: "Manrope", "Nunito", Arial, sans-serif !important;
}

.aj-premium-candidate-search .candidate-link {
  width: 100% !important;
  height: auto !important;
}

.aj-premium-candidate-search .candidate-card {
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) 38px !important;
  gap: 18px !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 20px !important;
}

.aj-premium-candidate-search .candidate-left {
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
}

.aj-premium-candidate-search .candidate-right {
  min-width: 0 !important;
}

.aj-premium-candidate-search .candidate-meta {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.aj-premium-candidate-search .candidate-filter-actions .candidate-reset-button {
  border-color: var(--aj-premium-line) !important;
  background: var(--aj-premium-white) !important;
  color: var(--aj-premium-blue-dark) !important;
}

.aj-premium-candidate-search .candidate-filter-actions .candidate-search-button {
  border-color: var(--aj-premium-blue) !important;
  background: var(--aj-premium-blue) !important;
  color: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

/* Profils public/privé : contenu lisible et rail latéral stable. */
.aj-premium-candidate-member,
.aj-premium-candidate-public,
.aj-premium-register,
.aj-premium-dashboard {
  padding-bottom: 84px;
  background: var(--aj-premium-surface) !important;
}

.aj-premium-account :where(
  .candidate-profile-layout,
  .public-candidate-layout,
  .aj-register-content,
  .aj-dashboard-content
) {
  margin-top: 0 !important;
  padding-top: 42px !important;
}

.aj-premium-account :where(.candidate-profile-layout, .public-candidate-layout) {
  grid-template-columns: minmax(0, 1fr) 310px !important;
  gap: 26px !important;
}

.aj-premium-candidate-member .candidate-profile-layout {
  grid-template-areas: "profile identity" "similar similar" !important;
}

.aj-premium-candidate-member .candidate-identity-column {
  grid-area: identity;
}

.aj-premium-candidate-member .candidate-profile-main {
  grid-area: profile;
}

.aj-premium-candidate-member .candidate-similar-column {
  grid-area: similar;
}

.aj-premium-candidate-public .public-candidate-layout {
  grid-template-areas: "profile identity" "similar similar" !important;
}

.aj-premium-candidate-public .public-candidate-layout > aside:first-child {
  grid-area: identity;
}

.aj-premium-candidate-public .public-candidate-main {
  grid-area: profile;
}

.aj-premium-candidate-public .public-candidate-similar {
  grid-area: similar;
}

.aj-premium-account :where(
  .candidate-profile-card,
  .candidate-identity-card,
  .candidate-info-card,
  .candidate-action-card,
  .candidate-similar-card,
  .public-candidate-card,
  .public-candidate-identity,
  .public-candidate-contact,
  .public-candidate-similar-card,
  .aj-register-card,
  .aj-register-sidebar-card,
  .aj-dashboard-card,
  .aj-dashboard-kpi
) {
  border: 1px solid var(--aj-premium-line) !important;
  border-radius: 16px !important;
  background: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

.aj-premium-account :where(
  .candidate-info-card,
  .public-candidate-card,
  .aj-register-card,
  .aj-dashboard-card
) {
  padding: 30px !important;
}

.aj-premium-account :where(
  .candidate-info-header h2,
  .public-candidate-card-header h2,
  .aj-register-card-header h2,
  .aj-dashboard-card-header h2
) {
  color: var(--aj-premium-ink) !important;
  font: 800 clamp(1.4rem, 2.25vw, 1.9rem)/1.15 "Manrope", "Nunito", Arial, sans-serif !important;
  letter-spacing: -.025em;
}

.aj-premium-account :where(
  .candidate-action-primary,
  .public-candidate-button-primary,
  .aj-register-submit,
  .aj-dashboard-button-primary
) {
  border-color: var(--aj-premium-blue) !important;
  background: var(--aj-premium-blue) !important;
  color: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

.aj-premium-account :where(
  .candidate-action-secondary,
  .public-candidate-button-secondary,
  .aj-dashboard-button-secondary
) {
  border-color: var(--aj-premium-line) !important;
  background: var(--aj-premium-white) !important;
  color: var(--aj-premium-blue-dark) !important;
}

/* Connexion : composition éditoriale, formulaire intact. */
.aj-premium-login {
  min-height: 680px;
  padding: 70px 20px 80px !important;
  background: var(--aj-premium-blue-pale) !important;
}

.aj-premium-login .aj-login-head {
  max-width: 760px;
  margin: 0 0 32px;
  text-align: left;
}

.aj-premium-login .aj-login-grid {
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 24px !important;
}

.aj-premium-login :where(.aj-login-card, .aj-login-side-card) {
  border: 1px solid var(--aj-premium-line) !important;
  border-radius: 18px !important;
  background: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

.aj-premium-login :where(input, select, textarea) {
  min-height: 46px;
  border-color: var(--aj-premium-line) !important;
  border-radius: 10px !important;
  background: var(--aj-premium-white) !important;
  color: var(--aj-premium-ink) !important;
  font: inherit;
}

.aj-premium-login :where(.aj-login-submit, .btn-primary) {
  border-color: var(--aj-premium-blue) !important;
  background: var(--aj-premium-blue) !important;
  color: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

/* Messagerie restructurée : héros, navigation, liste et conversation. */
.aj-premium-messaging {
  min-height: 640px;
  padding-bottom: 80px;
  background: var(--aj-premium-white);
}

.aj-premium-messaging .aj-message-hero {
  margin: 0;
}

.aj-premium-messaging .aj-message-hero h1 {
  margin: 0 !important;
}

.aj-premium-messaging .aj-message-shell {
  padding-inline: 0 !important;
}

.aj-premium-messaging .aj-message-shell > .ariane {
  margin: 26px 0 0;
  color: var(--aj-premium-muted);
  font-size: 12px;
}

.aj-premium-messaging .aj-message-ad {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}

.aj-premium-messaging .spacer-1 {
  height: 40px !important;
  min-height: 0 !important;
  margin: 0 !important;
}

.aj-premium-messaging .aj-message-tabs {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.aj-premium-messaging .aj-message-tabs > .etabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 5px;
  width: auto;
  margin: 0 0 14px;
  padding: 5px;
  border: 1px solid var(--aj-premium-line);
  border-radius: 12px;
  background: var(--aj-premium-white);
  list-style: none;
}

.aj-premium-messaging .aj-message-tabs > .etabs .tab {
  float: none;
  margin: 0;
  border: 0;
}

.aj-premium-messaging .aj-message-tabs > .etabs .tab a {
  display: block;
  min-height: 42px;
  padding: 11px 16px;
  border-radius: 8px;
  color: var(--aj-premium-muted);
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
}

.aj-premium-messaging .aj-message-tabs > .etabs .tab.active a,
.aj-premium-messaging .aj-message-tabs > .etabs .aj-message-tab-current a {
  background: var(--aj-premium-blue-pale);
  color: var(--aj-premium-blue-dark);
}

.aj-premium-messaging .usual_color {
  color: inherit !important;
}

.aj-premium-messaging .aj-message-panel {
  min-height: 180px !important;
  padding: 28px !important;
  border: 1px solid var(--aj-premium-line) !important;
  border-radius: 16px !important;
  background: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

.aj-premium-messaging .aj-message-thread {
  position: relative;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 18px;
  min-height: 0;
  margin: 0 0 12px;
  padding: 18px !important;
  border: 1px solid var(--aj-premium-line) !important;
  border-radius: 14px !important;
  background: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

.aj-premium-messaging .aj-message-thread-avatar,
.aj-premium-messaging .aj-message-thread-body {
  float: none !important;
  width: auto !important;
  min-width: 0;
  padding: 0 !important;
}

.aj-premium-messaging .aj-message-thread-avatar img {
  width: 62px;
  height: 62px;
  border-radius: 13px;
  object-fit: cover;
}

.aj-premium-messaging .aj-message-thread-body a {
  color: var(--aj-premium-text);
  text-decoration: none;
}

.aj-premium-messaging .aj-message-thread-body :where(h6, p) {
  margin-top: 0;
  color: var(--aj-premium-text);
  line-height: 1.55;
}

.aj-premium-messaging .aj-message-empty {
  display: grid;
  min-height: 130px;
  place-items: center;
  padding: 28px;
  border: 1px dashed var(--aj-premium-line);
  border-radius: 14px;
  background: var(--aj-premium-surface);
  color: var(--aj-premium-muted);
  text-align: center;
}

.aj-premium-conversation .aj-conversation-participants {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin: 38px 0 28px;
  padding: 22px;
  border: 1px solid var(--aj-premium-line);
  border-radius: 16px;
  background: var(--aj-premium-surface);
}

.aj-premium-conversation .aj-conversation-participants .col-md-12 {
  float: none;
  width: 100%;
}

.aj-premium-conversation .aj-conversation-participants :where(.photo, .photo2) {
  display: inline-flex;
  align-items: center;
  gap: 12px;
}

.aj-premium-conversation .aj-conversation-participants img {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
}

.aj-premium-conversation .aj-conversation-row {
  float: none;
  width: 100%;
  padding: 0;
}

.aj-premium-conversation :where(.message-container, .message-container2) {
  max-width: min(760px, 86%);
  margin: 0 0 14px;
  padding: 16px 18px;
  border: 1px solid var(--aj-premium-line);
  border-radius: 14px;
  background: var(--aj-premium-white);
  color: var(--aj-premium-text);
  line-height: 1.65;
}

.aj-premium-conversation .is-outgoing .message-container2 {
  margin-left: auto;
  border-color: #BFD9E5;
  background: var(--aj-premium-blue-pale);
}

.aj-premium-conversation .aj-conversation-divider {
  margin: 30px 0;
  border-top: 1px solid var(--aj-premium-line);
}

.aj-premium-conversation .aj-conversation-reply-title {
  margin-bottom: 14px;
  color: var(--aj-premium-ink);
  font-size: 24px;
  font-weight: 800;
}

.aj-premium-conversation .aj-message-reply-form {
  padding: 24px;
  border: 1px solid var(--aj-premium-line);
  border-radius: 16px;
  background: var(--aj-premium-white);
}

.aj-premium-conversation .aj-message-reply-textarea {
  width: 100%;
  min-height: 140px;
  border-color: var(--aj-premium-line) !important;
  border-radius: 12px !important;
  color: var(--aj-premium-ink);
  font: inherit;
}

.aj-premium-conversation .aj-message-reply-submit {
  min-height: 46px;
  margin-top: 14px;
  padding-inline: 24px;
  border-color: var(--aj-premium-blue) !important;
  border-radius: 10px;
  background: var(--aj-premium-blue) !important;
  color: var(--aj-premium-white) !important;
}

@media (max-width: 991px) {
  .aj-premium-candidate-search .candidate-search-content > .candidate-search-main-row,
  .aj-premium-candidate-search .candidate-results-shell > .candidate-search-main-row,
  .aj-premium-account :where(.candidate-profile-layout, .public-candidate-layout),
  .aj-premium-login .aj-login-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .aj-premium-candidate-member .candidate-profile-layout,
  .aj-premium-candidate-public .public-candidate-layout {
    grid-template-areas: "identity" "profile" "similar" !important;
  }
}

@media (max-width: 767px) {
  .aj-premium-account :where(
    .candidate-search-hero-inner,
    .candidate-search-content,
    .candidate-profile-hero-inner,
    .candidate-profile-layout,
    .candidate-similar-shell,
    .public-candidate-hero-inner,
    .public-candidate-layout,
    .public-candidate-similar-shell,
    .aj-register-hero-inner,
    .aj-register-content,
    .aj-dashboard-hero-inner,
    .aj-dashboard-content,
    .aj-login-wrap,
    .aj-message-hero .container,
    .aj-message-shell
  ) {
    width: min(100% - 24px, 1180px) !important;
  }

  .aj-premium-account :where(
    .candidate-search-hero,
    .candidate-profile-hero,
    .public-candidate-hero,
    .aj-register-hero,
    .aj-dashboard-hero,
    .aj-message-hero
  ) {
    padding-block: 46px !important;
  }

  .aj-premium-candidate-search .candidate-card {
    grid-template-columns: 68px minmax(0, 1fr) !important;
  }

  .aj-premium-candidate-search .candidate-card::after {
    display: none !important;
  }

  .aj-premium-candidate-search .candidate-meta {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .aj-premium-messaging .aj-message-tabs > .etabs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  }

  .aj-premium-messaging .aj-message-panel,
  .aj-premium-account :where(.candidate-info-card, .public-candidate-card, .aj-register-card, .aj-dashboard-card) {
    padding: 20px !important;
  }

  .aj-premium-conversation :where(.message-container, .message-container2) {
    max-width: 94%;
  }
}

@media print {
  .aj-premium-account :where(
    .candidate-search-hero,
    .candidate-profile-hero,
    .public-candidate-hero,
    .aj-register-hero,
    .aj-dashboard-hero,
    .aj-message-hero
  ) {
    border-bottom: 1px solid #bbb !important;
    background: #fff !important;
    color: #111 !important;
  }
}

/* Comptes privés et formulaires historiques restructurés. */
.aj-premium-account .aj-premium-account-eyebrow {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--aj-premium-blue-dark);
  font-size: 12px;
  font-weight: 850;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.aj-premium-account .aj-premium-account-hero {
  margin: 0;
  padding: 62px 0 54px;
  border-bottom: 1px solid var(--aj-premium-line);
  background: linear-gradient(110deg, var(--aj-premium-blue-pale), #fff 68%, var(--aj-premium-orange-pale));
  text-align: left;
}

.aj-premium-account .aj-premium-account-hero-copy {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.aj-premium-account .aj-premium-account-hero-copy h1,
.aj-premium-account .aj-premium-candidate-index-hero h1,
.aj-premium-account .aj-premium-checkout-hero h1 {
  margin: 0;
  color: var(--aj-premium-ink);
  font-size: clamp(34px, 5vw, 56px);
  font-weight: 850;
  line-height: 1.05;
  letter-spacing: -.045em;
  text-transform: none;
}

.aj-premium-account .aj-premium-account-hero-copy p,
.aj-premium-account .aj-premium-candidate-index-hero p,
.aj-premium-account .aj-premium-checkout-hero p {
  max-width: 740px;
  margin: 15px 0 0;
  color: var(--aj-premium-muted);
  font-size: 17px;
  line-height: 1.65;
}

.aj-premium-account .aj-premium-account-shell {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 42px 0 72px;
}

.aj-premium-account .aj-premium-account-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 28px;
  margin: 0;
}

/* Empêche les clearfix Bootstrap de devenir des colonnes de grille. */
.aj-premium-account .aj-premium-account-layout::before,
.aj-premium-account .aj-premium-account-layout::after {
  content: none !important;
  display: none !important;
}

/* Les deux lignes de recherche et la barre de participants conservent la
   classe Bootstrap .row. Ses clearfix deviennent sinon des enfants de grille
   ou de flex et créent des colonnes/espaces fantômes. */
.aj-premium-account :where(
  .candidate-search-main-row.aj-premium-search-layout,
  .candidate-search-main-row.aj-premium-results-layout,
  .aj-conversation-participants
)::before,
.aj-premium-account :where(
  .candidate-search-main-row.aj-premium-search-layout,
  .candidate-search-main-row.aj-premium-results-layout,
  .aj-conversation-participants
)::after {
  content: none !important;
  display: none !important;
}

.aj-premium-account :where(
  .candidate-search-main-row.aj-premium-search-layout,
  .candidate-search-main-row.aj-premium-results-layout,
  .aj-conversation-participants
) > * {
  min-width: 0;
}

.aj-premium-account :where(.aj-premium-account-main, .aj-premium-account-rail) {
  float: none;
  width: auto;
  padding: 0;
}

.aj-premium-account :where(.aj-premium-account-card, .aj-premium-recruiter-identity, .aj-premium-recruiter-offers .job-card, .aj-premium-inline-form, .aj-premium-checkout-card) {
  border: 1px solid var(--aj-premium-line);
  border-radius: 20px;
  background: var(--aj-premium-white);
  box-shadow: var(--aj-premium-shadow);
}

.aj-premium-account .aj-premium-account-card { padding: clamp(22px, 4vw, 42px); }
.aj-premium-account .aj-premium-account-card > h2 { margin: 0 0 26px; color: var(--aj-premium-ink); font-size: 26px; }
.aj-premium-account .aj-premium-account-card .titre_compte { margin: 24px 0 12px; color: var(--aj-premium-ink); font-size: 18px; font-weight: 850; }
.aj-premium-account .aj-premium-account-card :where(input, select, textarea).form-control,
.aj-premium-account .aj-premium-inline-form :where(input, select, textarea).form-control {
  min-height: 48px;
  border: 1px solid var(--aj-premium-line);
  border-radius: 11px;
  background: #fff;
  box-shadow: none;
}
.aj-premium-account :where(.aj-premium-account-card, .aj-premium-inline-form) textarea { min-height: 130px; }
.aj-premium-account :where(.aj-premium-account-card, .aj-premium-inline-form) :where(.btn-green, input[type="submit"], button[type="submit"]) {
  min-height: 46px;
  border: 0;
  border-radius: 11px;
  background: var(--aj-premium-blue) !important;
  color: #fff !important;
  font-weight: 850;
}
.aj-premium-account .aj-premium-account-rail > * { margin-bottom: 20px; }
.aj-premium-account .aj-premium-account-rail .btn {
  border-color: var(--aj-premium-blue) !important;
  border-radius: 10px;
  background: var(--aj-premium-blue) !important;
  color: #fff !important;
}

.aj-premium-account .aj-premium-recruiter-layout {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 2fr);
  gap: 28px;
  width: min(1180px, calc(100% - 32px));
  margin: 42px auto 72px;
  padding: 0;
}
.aj-premium-account .aj-premium-recruiter-identity { align-self: start; padding: 28px; }
.aj-premium-account .aj-premium-recruiter-offers .job-card { padding: 24px; box-shadow: 0 12px 34px rgba(8,63,88,.07); }

.aj-premium-candidate-index { width: min(1180px, calc(100% - 32px)); margin: 42px auto 72px; }
.aj-premium-account .aj-premium-candidate-index-hero { margin-bottom: 30px; padding: clamp(28px, 5vw, 58px); border: 1px solid var(--aj-premium-line); border-radius: 24px; background: var(--aj-premium-blue-pale); }
.aj-premium-account .aj-premium-candidate-index-results { display: grid; gap: 16px; }
.aj-premium-account .aj-premium-candidate-index-card { padding: 20px; border: 1px solid var(--aj-premium-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(8,63,88,.07); }
.aj-premium-account .aj-premium-candidate-index-card :where(.box, .titre_candidat, .info_candidat, .exp_candidat) { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.aj-premium-account .aj-premium-candidate-index :where(.adsbygoogle) { max-width: 100%; overflow: hidden; }

.aj-premium-account.aj-premium-inline-form { max-width: 720px; padding: 26px !important; }
.aj-premium-account.aj-premium-inline-form h2 { margin: 0 0 22px; color: var(--aj-premium-ink); font-size: 24px; }
.aj-premium-account.aj-premium-bug-form .close { min-width: 38px; min-height: 38px; }

.aj-premium-checkout { width: min(760px, calc(100% - 32px)); margin: 48px auto 80px; }
.aj-premium-account .aj-premium-checkout-hero { padding: clamp(30px, 5vw, 56px); border: 1px solid var(--aj-premium-line); border-radius: 24px 24px 0 0; background: var(--aj-premium-blue-pale); }
.aj-premium-account .aj-premium-checkout-card { padding: 32px; border-radius: 0 0 24px 24px; text-align: center; }
.aj-premium-account .aj-premium-checkout-card #checkout-button {
  min-height: 50px;
  padding: 0 28px;
  border: 1px solid var(--aj-premium-orange);
  border-radius: 11px;
  background: var(--aj-premium-orange);
  color: var(--aj-premium-navy);
  font-weight: 850;
  box-shadow: none;
}

.aj-premium-account .aj-premium-checkout-card #checkout-button:hover,
.aj-premium-account .aj-premium-checkout-card #checkout-button:focus {
  background: var(--aj-premium-orange-pale);
  color: var(--aj-premium-navy);
  transform: translateY(-1px);
}

/* Adaptateurs des vues candidat chargées avant ce bundle. */
.aj-premium-candidate-matching {
  --am-navy: var(--aj-premium-ink);
  --am-blue: var(--aj-premium-blue);
  --am-blue-dark: var(--aj-premium-blue-dark);
  --am-orange: var(--aj-premium-orange);
  --am-orange-dark: var(--aj-premium-orange);
  --am-green: var(--aj-premium-blue);
  --am-text: var(--aj-premium-text);
  --am-muted: var(--aj-premium-muted);
  --am-border: var(--aj-premium-line);
  --am-soft: var(--aj-premium-surface);
  --am-shadow: var(--aj-premium-shadow);
  --am-shadow-hover: var(--aj-premium-shadow);
}
.aj-premium-availability-directory,
.aj-premium-availability-manage {
  --navy: var(--aj-premium-ink);
  --blue: var(--aj-premium-blue);
  --blue2: var(--aj-premium-blue-dark);
  --orange: var(--aj-premium-orange);
  --text: var(--aj-premium-text);
  --muted: var(--aj-premium-muted);
  --line: var(--aj-premium-line);
  --soft: var(--aj-premium-surface);
}
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) .aj-avail-hero {
  border-bottom: 1px solid var(--aj-premium-line);
  background: linear-gradient(110deg, var(--aj-premium-blue-pale), #fff 70%, var(--aj-premium-orange-pale));
  color: var(--aj-premium-text);
}
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) .aj-avail-hero h1 { color: var(--aj-premium-ink); }
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) .aj-avail-hero p { color: var(--aj-premium-muted); }
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) .aj-avail-kicker { border-color: var(--aj-premium-line); background: #fff; color: var(--aj-premium-blue-dark); }
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) :where(
  .aj-avail-search-copy h2,
  .aj-avail-section-head h2,
  .aj-avail-form-card h2,
  .aj-avail-card-title h3,
  .aj-avail-directory-block h3,
  .aj-avail-empty h3
) { color: var(--aj-premium-ink); }
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) :where(
  .aj-avail-text-link,
  .aj-avail-card-link,
  .aj-avail-quick-links a,
  .aj-avail-directory-block a strong
) { color: var(--aj-premium-blue-dark); }
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) .aj-avail-cta {
  background: var(--aj-premium-blue-dark);
}
.aj-premium-account :where(.aj-premium-availability-directory, .aj-premium-availability-manage) .aj-avail-btn-primary {
  border-color: var(--aj-premium-blue);
  background: var(--aj-premium-blue);
  color: var(--aj-premium-white);
  box-shadow: none;
}

@media (prefers-reduced-motion: reduce) {
  .aj-premium-account *,
  .aj-premium-account *::before,
  .aj-premium-account *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }

  .aj-premium-account :where(.btn, button, input[type="submit"], input[type="button"]) {
    transform: none !important;
  }
}

@media (max-width: 900px) {
  .aj-premium-account .aj-premium-account-layout,
  .aj-premium-account .aj-premium-recruiter-layout { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
  .aj-premium-account .aj-premium-account-hero { padding: 42px 0; }
  .aj-premium-account .aj-premium-account-shell { width: min(100% - 22px, 1180px); padding-top: 26px; }
  .aj-premium-checkout { width: min(100% - 22px, 760px); }
  .aj-premium-candidate-index { width: min(100% - 22px, 1180px); margin-top: 24px; }
  .aj-premium-account .aj-premium-candidate-index-hero { padding: 28px 20px; border-radius: 20px; }
  .aj-premium-account .aj-premium-candidate-index-hero h1 { font-size: clamp(32px, 10vw, 44px); line-height: 1.04; overflow-wrap: anywhere; }
  .aj-premium-account .aj-premium-candidate-index-card { padding: 18px 16px; }
  .aj-premium-account .aj-premium-candidate-index-card :where(.box, .tof_candidat, .titre_candidat, .info_candidat, .exp_candidat, .checkview) { float: none; width: 100%; max-width: 100%; margin-inline: 0; }
  .aj-premium-account .aj-premium-candidate-index-card .tof_candidat { width: 58px; margin-bottom: 12px; }
  .aj-premium-account .aj-premium-candidate-index-card .checkview a { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; }
}

@media print {
  .aj-premium-account :where(.aj-premium-account-hero, .aj-premium-candidate-index-hero, .aj-premium-checkout-hero, .aj-avail-hero) {
    border: 1px solid #bbb !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
  }
  .aj-premium-account :where(.aj-premium-account-rail, .adsbygoogle, .aj-premium-checkout-card) { display: none !important; }
  .aj-premium-account :where(.aj-premium-account-card, .aj-premium-recruiter-identity, .job-card, .aj-avail-card) { box-shadow: none !important; }
}

/*
 * /candidat-animation — composition live.
 * Le rail de ressources devient une rangée secondaire afin que les profils
 * utilisent toute la largeur restante après les filtres.
 */
@media (min-width: 992px) {
  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-search-content > .candidate-search-main-row {
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 36px !important;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .aj-premium-results-shell > .aj-premium-results-layout {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 30px !important;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-resource-sidebar-inner {
    position: static !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-featured-card {
    grid-column: 1 / -1;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-list {
    display: grid;
    gap: 18px;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-link {
    margin: 0 !important;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-card {
    grid-template-columns: 108px minmax(0, 1fr) 44px !important;
    gap: 24px !important;
    min-height: 180px !important;
    padding: 25px 26px !important;
    border-radius: 20px !important;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-left {
    width: 108px !important;
    height: 108px !important;
    min-width: 108px !important;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-right h3 {
    margin-bottom: 12px;
    font-size: 20px !important;
    line-height: 1.3;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-meta {
    gap: 9px 22px !important;
  }

  body.ajp-controller-users.ajp-action-rechercher .aj-premium-candidate-search .candidate-meta li {
    font-size: 13.5px;
    line-height: 1.55;
  }
}
