/* AnimyJob — refonte structurelle Emploi. Chargé après les styles historiques. */
.aj-premium-employment {
  --aj-premium-blue: #1976a3;
  --aj-premium-blue-dark: #0d5877;
  --aj-premium-navy: #083f58;
  --aj-premium-orange: #f47c1c;
  --aj-premium-ink: #0f172a;
  --aj-premium-text: #475569;
  --aj-premium-muted: #64748b;
  --aj-premium-line: #dbe7ed;
  --aj-premium-surface: #f3f8ff;
  --aj-premium-blue-pale: #eaf5fa;
  --aj-premium-orange-pale: #fff2e8;
  --aj-premium-white: #fff;
  --aj-premium-shadow: 0 18px 46px rgba(8, 63, 88, .08);
  color: var(--aj-premium-text);
  font-family: "Manrope", "Nunito", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Recruteur 2026 — édition, gestion et lecture des offres. */
.aj-premium-job-editor .aj-premium-editor-shell,
.aj-premium-job-manager .aj-premium-manager-shell,
.aj-premium-employment-index {
  width: min(100% - 32px, 1180px);
  margin-inline: auto;
}

.aj-premium-job-editor .aj-premium-editor-card {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 44px);
  border: 1px solid #dce5ff;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(32, 76, 192, .10);
}

.aj-premium-job-editor .aj-premium-editor-card::before,
.aj-premium-job-manager .aj-premium-manager-panel::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: linear-gradient(90deg, #3157f6 0 72%, #ff7a1a 72%);
}

.aj-premium-job-editor .post-job-form .titre_compte {
  margin: 34px 0 18px;
  padding: 0 0 12px 18px;
  border-bottom: 1px solid #e7ecf8;
  border-left: 4px solid #ff7a1a;
  color: #101c3d;
  font-size: clamp(18px, 2vw, 23px);
  font-weight: 800;
  line-height: 1.25;
}

.aj-premium-job-editor .post-job-form .form-group { margin-bottom: 22px; }
.aj-premium-job-editor .post-job-form label {
  display: block;
  margin-bottom: 8px;
  color: #172445;
  font-size: 13px;
  font-weight: 750;
}

.aj-premium-job-editor .post-job-form :where(input[type="text"], input[type="number"], input[type="email"], input[type="date"], select, textarea) {
  min-height: 50px;
  border: 1px solid #ccd7ee;
  border-radius: 13px;
  background: #fbfcff;
  color: #101c3d;
  box-shadow: 0 1px 2px rgba(16, 28, 61, .03);
}

.aj-premium-job-editor .post-job-form :where(input, select, textarea):focus {
  border-color: #3157f6;
  outline: 3px solid rgba(49, 87, 246, .13);
  background: #fff;
}

.aj-premium-job-editor .post-job-form textarea { min-height: 150px; resize: vertical; }
.aj-premium-job-editor .post-job-form :where(input[type="submit"], button[type="submit"]) {
  min-height: 52px;
  padding: 14px 24px;
  border: 0;
  border-radius: 13px;
  background: #3157f6;
  color: #fff;
  font-weight: 800;
  box-shadow: none;
  transition: background .18s ease, transform .18s ease;
}
.aj-premium-job-editor .post-job-form :where(input[type="submit"], button[type="submit"]):hover {
  background: #1739be;
  transform: translateY(-1px);
}

.aj-premium-job-editor .aj-premium-editor-rail :where(.job-side-wrap2, .job-side-wrap) {
  overflow: hidden;
  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-job-manager .aj-premium-manager-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3vw, 36px);
  border: 1px solid #dce5ff;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 20px 55px rgba(32, 76, 192, .09);
}
.aj-premium-job-manager .aj-premium-manager-tabs .etabs {
  margin: 18px 0 26px;
  padding: 6px;
  border-radius: 14px;
  background: #edf2ff;
}
.aj-premium-job-manager .aj-premium-manager-tabs .tab a {
  display: inline-flex;
  padding: 11px 17px;
  border-radius: 10px;
  background: #3157f6;
  color: #fff;
  font-weight: 800;
}
.aj-premium-job-manager .aj-premium-managed-offer {
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid #dce5ff;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(32, 76, 192, .07);
}
.aj-premium-job-manager .aj-premium-managed-offer .job-list-logo img {
  width: 58px;
  height: 58px;
  object-fit: cover;
  border: 1px solid #e1e7f5;
  border-radius: 14px;
}
.aj-premium-job-manager .aj-premium-managed-offer h6 {
  margin: 0 0 8px;
  color: #101c3d;
  font-size: 18px;
  font-weight: 800;
}
.aj-premium-job-manager .aj-premium-managed-offer .delete_container { display: inline-block; margin: 12px 8px 0 0; }
.aj-premium-job-manager .aj-premium-managed-offer .delete_container .btn {
  min-height: 40px;
  padding: 10px 15px;
  border: 1px solid #cdd8f2;
  border-radius: 11px;
  background: #fff;
  color: #2446cd;
  font-weight: 750;
  box-shadow: none;
}
.aj-premium-job-manager .aj-premium-managed-offer .delete_container:first-of-type .btn {
  border-color: #3157f6;
  background: #3157f6;
  color: #fff;
}
.aj-premium-job-manager .aj-premium-managed-offer .delete_container .btn:hover {
  border-color: #ff7a1a;
  color: #c65300;
}

.aj-premium-employment-index .aj-premium-index-results { display: grid; gap: 18px; }
.aj-premium-employment-index .aj-premium-index-offer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 24px;
  align-items: center;
  padding: 23px 25px;
  border: 1px solid #dce5ff;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 13px 34px rgba(32, 76, 192, .07);
  transition: border-color .18s ease, transform .18s ease;
}
.aj-premium-employment-index .aj-premium-index-offer:hover { border-color: #9db1ff; transform: translateY(-2px); }
.aj-premium-employment-index .aj-premium-index-offer .box {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 6px 18px;
  align-items: center;
}
.aj-premium-employment-index .aj-premium-index-offer .tof_offre { grid-row: 1 / span 3; }
.aj-premium-employment-index .aj-premium-index-offer .tof_offre img { width: 56px; height: 56px; object-fit: cover; border-radius: 14px; }
.aj-premium-employment-index .aj-premium-index-offer .title_offre { color: #101c3d; font-size: 19px; font-weight: 850; }
.aj-premium-employment-index .aj-premium-index-offer .infos_offre { color: #3157f6; font-size: 13px; font-weight: 750; }
.aj-premium-employment-index .aj-premium-index-offer .exp_offre { color: #66718a; }
.aj-premium-employment-index .aj-premium-index-offer .checkview2 a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding: 11px 18px;
  border-radius: 12px;
  background: #3157f6;
  color: #fff;
  font-weight: 800;
}
.aj-premium-employment-index .aj-premium-index-offer .date_publication { grid-column: 1 / -1; color: #8a94aa; font-size: 12px; }

@media (max-width: 767px) {
  .aj-premium-job-editor .aj-premium-editor-card,
  .aj-premium-job-manager .aj-premium-manager-panel { padding: 20px 16px; border-radius: 18px; }
  .aj-premium-job-manager .aj-premium-managed-offer { padding: 18px 15px; }
  .aj-premium-job-manager .aj-premium-managed-offer .delete_container { display: block; margin-right: 0; }
  .aj-premium-job-manager .aj-premium-managed-offer .delete_container .btn { width: 100%; }
  .aj-premium-employment-index .aj-premium-index-offer { grid-template-columns: 1fr; padding: 19px 16px; }
  .aj-premium-employment-index .aj-premium-index-offer .box { grid-template-columns: 50px minmax(0, 1fr); }
  .aj-premium-employment-index .aj-premium-index-offer .checkview2 a { justify-content: center; width: 100%; }
}

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

.aj-premium-search,
.aj-premium-offer-member {
  --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-orange-dark: #c85b0a;
  --aj-green: var(--aj-premium-blue);
  --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-shadow: var(--aj-premium-shadow);
  --aj-shadow-hover: var(--aj-premium-shadow);
}

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

.aj-premium-partner-offer {
  --e27-navy: var(--aj-premium-ink);
  --e27-blue: var(--aj-premium-blue);
  --e27-orange: var(--aj-premium-orange);
  --e27-purple: var(--aj-premium-blue-dark);
  --e27-text: var(--aj-premium-text);
  --e27-muted: var(--aj-premium-muted);
  --e27-line: var(--aj-premium-line);
  --e27-soft: var(--aj-premium-surface);
}

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

/* Boutons 2026 : surfaces franches, profondeur minimale et mouvement utile. */
.aj-premium-employment :where(
  .job-search-button,
  .job-reset-button,
  .job-action-primary,
  .job-action-secondary,
  .aj-offer-button,
  .em-cityhub-deposit,
  .em-offer27-apply > a,
  .aj-premium-editor-card .btn-green,
  .aj-premium-editor-card input[type="submit"],
  .aj-premium-editor-rail .btn
) {
  min-height: 46px;
  border-width: 1px !important;
  border-style: solid !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  letter-spacing: -.01em;
  transition: background-color 180ms ease, border-color 180ms ease,
    color 180ms ease, transform 180ms ease !important;
}

@media (hover: hover) {
  .aj-premium-employment :where(
    .job-search-button,
    .job-action-primary,
    .aj-offer-button:not(.aj-offer-button-secondary):not(.aj-offer-button-orange):not(.aj-offer-button-disabled),
    .em-cityhub-deposit,
    .aj-premium-editor-card .btn-green,
    .aj-premium-editor-card input[type="submit"],
    .aj-premium-editor-rail .btn
  ):hover {
    border-color: var(--aj-premium-blue-dark) !important;
    background: var(--aj-premium-blue-dark) !important;
    color: #fff !important;
    transform: translateY(-1px);
  }

  .aj-premium-employment :where(
    .job-reset-button,
    .job-action-secondary,
    .aj-offer-button-secondary
  ):hover {
    border-color: var(--aj-premium-blue) !important;
    background: var(--aj-premium-blue-pale) !important;
    color: var(--aj-premium-navy) !important;
    transform: translateY(-1px);
  }

  .aj-premium-employment :where(.aj-offer-button-orange, .em-offer27-apply > a):hover {
    border-color: var(--aj-premium-navy) !important;
    background: var(--aj-premium-navy) !important;
    color: #fff !important;
    transform: translateY(-1px);
  }
}

.aj-premium-employment :where(
  .job-search-button,
  .job-reset-button,
  .job-action-primary,
  .job-action-secondary,
  .aj-offer-button,
  .em-cityhub-deposit,
  .em-offer27-apply > a,
  .aj-premium-editor-card .btn-green,
  .aj-premium-editor-card input[type="submit"],
  .aj-premium-editor-rail .btn
):active {
  transform: translateY(0) !important;
}

.aj-premium-employment :where(
  .job-search-hero,
  .job-offer-hero,
  .aj-offer-hero,
  .em-offer27-hero,
  .em-offer26-hero,
  .em-cityhub-hero,
  .em-cities-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-employment :where(
  .job-search-hero,
  .job-offer-hero,
  .aj-offer-hero
)::before,
.aj-premium-employment :where(
  .job-search-hero,
  .job-offer-hero,
  .aj-offer-hero
)::after {
  display: none !important;
}

.aj-premium-employment :where(
  .job-search-hero-inner,
  .job-offer-hero-inner,
  .aj-offer-hero-inner,
  .job-search-content,
  .job-offer-layout,
  .aj-offer-shell,
  .em-wrap,
  .em-cityhub-wrap
) {
  width: min(1180px, calc(100% - 40px)) !important;
  margin-inline: auto !important;
}

.aj-premium-employment :where(
  .job-search-hero-inner,
  .job-offer-hero-inner,
  .aj-offer-hero-inner
) {
  text-align: left !important;
}

.aj-premium-employment :where(
  .job-search-hero,
  .job-offer-hero,
  .aj-offer-hero
) {
  padding: 72px 20px 62px !important;
}

.aj-premium-employment :where(
  .em-offer27-hero,
  .em-offer26-hero,
  .em-cityhub-hero,
  .em-cities-hero
) {
  padding-block: 64px !important;
}

.aj-premium-employment :where(
  .job-search-hero h1,
  .job-offer-hero h1,
  .aj-offer-hero h1,
  .em-offer27-hero h1,
  .em-offer26-hero h1,
  .em-cityhub-hero h1,
  .em-cities-hero h1
) {
  max-width: 940px !important;
  margin: 12px 0 18px !important;
  color: var(--aj-premium-ink) !important;
  font: 800 clamp(2.65rem, 5vw, 4.4rem)/1.02 "Manrope", "Nunito", Arial, sans-serif !important;
  letter-spacing: -.045em !important;
  overflow-wrap: break-word;
  text-align: left !important;
}

.aj-premium-employment :where(
  .job-search-hero p,
  .job-offer-hero p,
  .aj-offer-hero-subtitle,
  .em-offer27-company,
  .em-cityhub-hero p,
  .em-cities-hero 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-employment :where(
  .job-search-eyebrow,
  .job-offer-eyebrow,
  .aj-offer-kicker,
  .em-cityhub-kicker,
  .em-offer27-source
) {
  color: var(--aj-premium-blue-dark) !important;
  font-weight: 800 !important;
  letter-spacing: .09em;
}

.aj-premium-employment :where(
  .job-search-benefits,
  .job-offer-hero-badges,
  .aj-offer-hero-tags
) {
  justify-content: flex-start !important;
}

.aj-premium-employment :where(
  .job-search-benefit,
  .job-offer-hero-badge,
  .aj-offer-hero-tag,
  .em-offer27-meta span,
  .em-offer27-source,
  .em-offer27-freshness
) {
  border: 1px solid var(--aj-premium-line) !important;
  background: var(--aj-premium-white) !important;
  color: var(--aj-premium-text) !important;
  box-shadow: none !important;
}

/* Recherche : deux grilles réelles, sans dépendre des floats Bootstrap. */
.aj-premium-search {
  padding-bottom: 84px !important;
  background: var(--aj-premium-white) !important;
}

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

.aj-premium-search .job-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-search .job-search-content > .job-search-row {
  display: grid !important;
  grid-template-columns: 280px minmax(0, 1fr) !important;
  gap: 32px !important;
  margin: 0 !important;
}

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

.aj-premium-search .job-search-content > .job-search-row > .col-md-9 > .job-search-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 250px !important;
  gap: 24px !important;
  margin: 0 !important;
}

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

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

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

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

.aj-premium-search .job-filter-actions .job-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;
}

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

.aj-premium-search .offer-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-search .offer-left {
  width: 82px !important;
  height: 82px !important;
  min-width: 82px !important;
}

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

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

.aj-premium-search .offer-meta li {
  width: auto !important;
  white-space: normal !important;
  word-break: normal !important;
}

.aj-premium-search .offer-contract-badge {
  background: var(--aj-premium-blue-pale) !important;
  color: var(--aj-premium-blue-dark) !important;
}

.aj-premium-search .priority-label,
.aj-premium-search .offer-card.priority {
  border-color: #ffd6b8 !important;
}

/* Fiches AnimyJob : contenu principal + rail latéral. */
.aj-premium-offer-member,
.aj-premium-offer-public,
.aj-premium-partner-offer,
.aj-premium-expired-offer {
  padding-bottom: 84px;
  background: var(--aj-premium-surface) !important;
}

.aj-premium-offer-member .job-offer-layout,
.aj-premium-offer-public .aj-offer-shell,
.aj-premium-partner-offer .em-offer27-layout {
  margin-top: 0 !important;
  padding-top: 42px !important;
}

.aj-premium-offer-member .job-offer-layout {
  grid-template-columns: minmax(0, 1fr) 310px !important;
  grid-template-areas: "main summary" "similar similar" !important;
  gap: 26px !important;
  align-items: start;
}

.aj-premium-offer-member .job-offer-layout > aside:first-child {
  grid-area: summary;
}

.aj-premium-offer-member .job-offer-main {
  grid-area: main;
}

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

.aj-premium-offer-public .aj-offer-layout,
.aj-premium-partner-offer .em-offer27-layout {
  grid-template-columns: minmax(0, 1fr) 310px !important;
  gap: 26px !important;
}

.aj-premium-employment :where(
  .job-offer-summary,
  .job-info-card,
  .job-side-card,
  .job-ad-card,
  .job-similar-shell,
  .aj-offer-card,
  .aj-offer-organization,
  .aj-offer-advice,
  .em-offer27-section,
  .em-offer27-apply,
  .em-offer27-sidebox,
  .em-offer26-section
) {
  border: 1px solid var(--aj-premium-line) !important;
  border-radius: 16px !important;
  background: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

.aj-premium-employment :where(.job-info-card, .aj-offer-card, .em-offer27-section) {
  padding: 30px !important;
}

.aj-premium-employment :where(
  .job-info-header h2,
  .aj-offer-card h2,
  .em-offer27-heading h2,
  .em-offer27-apply h2,
  .em-offer26-section h2
) {
  color: var(--aj-premium-ink) !important;
  font: 800 clamp(1.45rem, 2.3vw, 1.95rem)/1.15 "Manrope", "Nunito", Arial, sans-serif !important;
  letter-spacing: -.025em;
}

.aj-premium-employment :where(
  .job-facts-grid > li,
  .aj-offer-highlight,
  .aj-offer-detail,
  .em-offer27-facts > div,
  .em-offer27-insights article,
  .em-offer27-market-stats > div,
  .em-offer27-salary-grid > div
) {
  border: 1px solid var(--aj-premium-line) !important;
  background: var(--aj-premium-surface) !important;
  box-shadow: none !important;
}

.aj-premium-employment :where(
  .job-action-primary,
  .aj-offer-button:not(.aj-offer-button-disabled),
  .em-cityhub-deposit
) {
  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-employment :where(
  .job-action-secondary,
  .aj-offer-button-secondary
) {
  border-color: var(--aj-premium-line) !important;
  background: var(--aj-premium-white) !important;
  color: var(--aj-premium-blue-dark) !important;
}

.aj-premium-employment :where(
  .aj-offer-button-orange,
  .em-offer27-apply > a
) {
  border-color: var(--aj-premium-orange) !important;
  background: var(--aj-premium-orange) !important;
  color: var(--aj-premium-navy) !important;
}

.aj-premium-offer-public .aj-offer-status {
  border-color: #bfdae6 !important;
  background: var(--aj-premium-blue-pale) !important;
  color: var(--aj-premium-blue-dark) !important;
  box-shadow: none !important;
}

.aj-premium-partner-offer :where(
  .em-offer27-insights article,
  .em-offer27-facts > div,
  .em-offer27-market-stats > div,
  .em-offer27-salary-grid > div,
  .em-offer27-structure-types > div
) {
  border-color: var(--aj-premium-line) !important;
  background: var(--aj-premium-surface) !important;
}

.aj-premium-partner-offer .em-offer27-apply {
  border-top: 4px solid var(--aj-premium-orange) !important;
}

/* Hubs emploi : même langage, contenu et maillage inchangés. */
.aj-premium-employment-hub,
.aj-premium-employment-cities {
  --v2-blue: var(--aj-premium-blue);
  --v2-orange: var(--aj-premium-orange);
  --v2-purple: var(--aj-premium-blue-dark);
  --v2-teal: var(--aj-premium-blue);
  --v2-line: var(--aj-premium-line);
  --v2-soft: var(--aj-premium-surface);
  --cities-blue: var(--aj-premium-blue);
  --cities-orange: var(--aj-premium-orange);
  --cities-purple: var(--aj-premium-blue-dark);
  --cities-line: var(--aj-premium-line);
  background: var(--aj-premium-white) !important;
}

.aj-premium-employment :where(
  .em-cityhub-metric,
  .em-cityhub-panel,
  .em-cityhub-side-panel,
  .em-cityhub-offers-panel,
  .em-cityhub-salary-panel,
  .em-cities-global,
  .em-cities-search,
  .em-cities-top-card,
  .em-cities-row
) {
  border-color: var(--aj-premium-line) !important;
  background: var(--aj-premium-white) !important;
  box-shadow: none !important;
}

@media (max-width: 991px) {
  .aj-premium-search .job-search-content > .job-search-row,
  .aj-premium-search .job-search-content > .job-search-row > .col-md-9 > .job-search-row,
  .aj-premium-offer-member .job-offer-layout,
  .aj-premium-offer-public .aj-offer-layout,
  .aj-premium-partner-offer .em-offer27-layout {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .aj-premium-offer-member .job-offer-layout {
    grid-template-areas: "summary" "main" "similar" !important;
  }
}

@media (max-width: 767px) {
  .aj-premium-employment :where(
    .job-search-hero-inner,
    .job-offer-hero-inner,
    .aj-offer-hero-inner,
    .job-search-content,
    .job-offer-layout,
    .aj-offer-shell,
    .em-wrap,
    .em-cityhub-wrap
  ) {
    width: min(100% - 24px, 1180px) !important;
  }

  .aj-premium-employment :where(
    .job-search-hero,
    .job-offer-hero,
    .aj-offer-hero,
    .em-offer27-hero,
    .em-offer26-hero,
    .em-cityhub-hero,
    .em-cities-hero
  ) {
    padding-block: 46px !important;
  }

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

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

  .aj-premium-search .offer-meta,
  .aj-premium-employment :where(.job-facts-grid, .aj-offer-highlights, .aj-offer-details) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .aj-premium-employment :where(.job-info-card, .aj-offer-card, .em-offer27-section) {
    padding: 22px !important;
  }
}

@media print {
  .aj-premium-employment :where(
    .job-search-hero,
    .job-offer-hero,
    .aj-offer-hero,
    .em-offer27-hero,
    .em-offer26-hero,
    .em-cityhub-hero,
    .em-cities-hero
  ) {
    border-bottom: 1px solid #bbb !important;
    background: #fff !important;
    color: #111 !important;
  }
}

/* Vues historiques réellement restructurées : édition et pilotage des offres. */
.aj-premium-employment .aj-premium-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-employment :where(.aj-premium-editor-hero, .aj-premium-manager-hero) {
  margin: 0;
  padding: 64px 0 56px;
  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-employment :where(.aj-premium-editor-hero-copy, .aj-premium-manager-hero-copy) {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.aj-premium-employment :where(.aj-premium-editor-hero-copy, .aj-premium-manager-hero-copy) h1,
.aj-premium-employment .aj-premium-index-hero h1 {
  margin: 0;
  color: var(--aj-premium-ink);
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 850;
  line-height: 1.04;
  letter-spacing: -.045em;
  text-transform: none;
}

.aj-premium-employment :where(.aj-premium-editor-hero-copy, .aj-premium-manager-hero-copy) p,
.aj-premium-employment .aj-premium-index-hero p {
  max-width: 720px;
  margin: 16px 0 0;
  color: var(--aj-premium-muted);
  font-size: 17px;
  line-height: 1.65;
}

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

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

/* Bootstrap 3 injecte deux pseudo-éléments dans chaque .row. Dans une grille
   CSS ils deviennent de vraies colonnes et repoussent le formulaire à droite. */
.aj-premium-employment :where(.aj-premium-editor-layout, .aj-premium-account-layout)::before,
.aj-premium-employment :where(.aj-premium-editor-layout, .aj-premium-account-layout)::after {
  content: none !important;
  display: none !important;
}

/* Les lignes de recherche sont aussi des .row Bootstrap : leurs clearfix ne
   doivent pas devenir des colonnes de la grille premium. */
.aj-premium-employment :where(
  .job-search-row.aj-premium-search-layout,
  .job-search-row.aj-premium-results-layout
)::before,
.aj-premium-employment :where(
  .job-search-row.aj-premium-search-layout,
  .job-search-row.aj-premium-results-layout
)::after {
  content: none !important;
  display: none !important;
}

.aj-premium-employment :where(
  .job-search-row.aj-premium-search-layout,
  .job-search-row.aj-premium-results-layout
) > * {
  min-width: 0;
}

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

.aj-premium-employment :where(.aj-premium-editor-card, .aj-premium-manager-panel, .aj-premium-managed-offer) {
  border: 1px solid var(--aj-premium-line);
  border-radius: 20px;
  background: var(--aj-premium-white);
  box-shadow: none;
}

.aj-premium-employment .aj-premium-editor-card { padding: clamp(22px, 4vw, 42px); }
.aj-premium-employment .aj-premium-manager-panel { float: none; width: 100%; padding: clamp(20px, 3vw, 34px); }
.aj-premium-employment .aj-premium-editor-card > h2 { margin: 0 0 28px; color: var(--aj-premium-ink); font-size: 26px; }
.aj-premium-employment .aj-premium-editor-card .titre_compte { margin: 26px 0 14px; color: var(--aj-premium-ink); font-size: 18px; font-weight: 850; }
.aj-premium-employment .aj-premium-editor-card .ligne { border-color: var(--aj-premium-line); }
.aj-premium-employment .aj-premium-editor-card :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-employment .aj-premium-editor-card textarea.form-control { min-height: 140px; }
.aj-premium-employment .aj-premium-editor-card :where(.btn-green, input[type="submit"]) {
  min-height: 48px;
  border: 0;
  border-radius: 11px;
  background: var(--aj-premium-blue) !important;
  color: #fff !important;
  font-weight: 850;
}
.aj-premium-employment .aj-premium-editor-rail > * { margin-bottom: 20px; }
.aj-premium-employment .aj-premium-editor-rail .btn {
  border-color: var(--aj-premium-blue) !important;
  border-radius: 10px;
  background: var(--aj-premium-blue) !important;
  color: #fff !important;
}

.aj-premium-employment .aj-premium-managed-offer {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 18px;
  margin: 0 0 16px;
  padding: 20px;
}
.aj-premium-employment .aj-premium-managed-offer :where(.job-list-logo, .job-list-desc) { float: none; width: auto; padding: 0; }
.aj-premium-employment .aj-premium-managed-offer .delete_container { display: inline-flex; margin: 6px 6px 0 0; }
.aj-premium-employment .aj-premium-managed-offer .btn { border-radius: 9px; }

.aj-premium-employment-index,
.aj-premium-candidate-index { width: min(1180px, calc(100% - 32px)); margin: 42px auto 72px; }
.aj-premium-employment .aj-premium-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-employment .aj-premium-index-results { display: grid; gap: 16px; }
.aj-premium-employment .aj-premium-index-offer { padding: 20px; border: 1px solid var(--aj-premium-line); border-radius: 18px; background: #fff; box-shadow: none; }
.aj-premium-employment :where(.aj-premium-index-offer, .aj-premium-managed-offer) :where(.box, .job-list-desc) { min-width: 0; }
.aj-premium-employment .aj-premium-index-offer :where(.title_offre, .infos_offre, .exp_offre),
.aj-premium-employment .aj-premium-managed-offer :where(h6, p) { overflow-wrap: anywhere; }
.aj-premium-employment :where(.aj-premium-employment-index, .aj-premium-job-manager) .adsbygoogle { max-width: 100%; overflow: hidden; }

/* Adaptateurs des projets emploi actifs chargés avant ce bundle. */
.aj-premium-bafa-stage {
  --bafa-navy: var(--aj-premium-ink);
  --bafa-blue: var(--aj-premium-blue);
  --bafa-blue-dark: var(--aj-premium-blue-dark);
  --bafa-orange: var(--aj-premium-orange);
  --bafa-orange-dark: #c85b0a;
  --bafa-green: var(--aj-premium-blue);
  --bafa-text: var(--aj-premium-text);
  --bafa-muted: var(--aj-premium-muted);
  --bafa-border: var(--aj-premium-line);
  --bafa-soft: var(--aj-premium-surface);
  --bafa-shadow: var(--aj-premium-shadow);
}
.aj-premium-employment-v5 {
  --ajv5-blue: var(--aj-premium-blue);
  --ajv5-blue-dark: var(--aj-premium-blue-dark);
  --ajv5-navy: var(--aj-premium-ink);
  --ajv5-orange: var(--aj-premium-orange);
  --ajv5-orange-dark: #c85b0a;
  --ajv5-text: var(--aj-premium-text);
  --ajv5-muted: var(--aj-premium-muted);
  --ajv5-line: var(--aj-premium-line);
  --ajv5-soft: var(--aj-premium-surface);
  --ajv5-soft-blue: var(--aj-premium-blue-pale);
  --ajv5-soft-orange: var(--aj-premium-orange-pale);
}
.aj-premium-employers-directory {
  --aed-blue: var(--aj-premium-blue);
  --aed-blue-2: var(--aj-premium-blue-dark);
  --aed-blue-soft: var(--aj-premium-blue-pale);
  --aed-orange: var(--aj-premium-orange);
  --aed-orange-soft: var(--aj-premium-orange-pale);
  --aed-ink: var(--aj-premium-ink);
  --aed-muted: var(--aj-premium-muted);
  --aed-line: var(--aj-premium-line);
  --aed-bg: var(--aj-premium-surface);
}
.aj-premium-employer-territory {
  --ae-ink: var(--aj-premium-ink);
  --ae-muted: var(--aj-premium-muted);
  --ae-line: var(--aj-premium-line);
  --ae-soft: var(--aj-premium-surface);
  --ae-accent: var(--aj-premium-orange);
  --ae-blue: var(--aj-premium-blue);
  --ae-shadow: var(--aj-premium-shadow);
}
.aj-premium-employer-profile {
  --aep-ink: var(--aj-premium-ink);
  --aep-muted: var(--aj-premium-muted);
  --aep-line: var(--aj-premium-line);
  --aep-bg: var(--aj-premium-surface);
  --aep-blue: var(--aj-premium-blue);
  --aep-blue-dark: var(--aj-premium-blue-dark);
  --aep-blue-soft: var(--aj-premium-blue-pale);
  --aep-orange: var(--aj-premium-orange);
  --aep-orange-soft: var(--aj-premium-orange-pale);
  --aep-active: var(--aj-premium-orange);
  --aep-active-soft: var(--aj-premium-orange-pale);
  --aep-shadow: var(--aj-premium-shadow);
}

@media (max-width: 900px) {
  .aj-premium-employment .aj-premium-editor-layout { grid-template-columns: minmax(0, 1fr); }
  .aj-premium-employment .aj-premium-managed-offer { grid-template-columns: 62px minmax(0, 1fr); }
}

@media (max-width: 620px) {
  .aj-premium-employment :where(.aj-premium-editor-hero, .aj-premium-manager-hero) { padding: 42px 0; }
  .aj-premium-employment :where(.aj-premium-editor-shell, .aj-premium-manager-shell) { width: min(100% - 22px, 1180px); padding-top: 26px; }
  .aj-premium-employment .aj-premium-managed-offer { display: block; }
  .aj-premium-employment-index { width: min(100% - 22px, 1180px); margin-top: 24px; }
  .aj-premium-employment .aj-premium-index-hero { padding: 28px 20px; border-radius: 20px; }
  .aj-premium-employment .aj-premium-index-hero h1 { font-size: clamp(32px, 10vw, 44px); line-height: 1.04; overflow-wrap: anywhere; }
  .aj-premium-employment .aj-premium-index-offer { padding: 18px 16px; }
  .aj-premium-employment .aj-premium-index-offer :where(.box, .checkview2, .date_publication) { width: 100%; max-width: 100%; margin-inline: 0; }
  .aj-premium-employment .aj-premium-index-offer :where(.tof_offre, .title_offre, .infos_offre, .exp_offre) { float: none; width: auto; max-width: 100%; }
  .aj-premium-employment .aj-premium-index-offer .checkview2 a { display: flex; width: 100%; min-height: 44px; align-items: center; justify-content: center; }
  .aj-premium-employment .aj-premium-managed-offer .job-list-logo { width: 58px; margin-bottom: 14px; }
  .aj-premium-employment .aj-premium-managed-offer .delete_container { display: flex; width: 100%; margin: 8px 0 0; }
  .aj-premium-employment .aj-premium-managed-offer .delete_container .btn { width: 100%; min-height: 44px; white-space: normal; }
}

@media (prefers-reduced-motion: reduce) {
  .aj-premium-employment :where(a, button, input[type="submit"]) {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}

@media print {
  .aj-premium-employment :where(.aj-premium-editor-hero, .aj-premium-manager-hero, .aj-premium-index-hero) {
    border: 1px solid #bbb !important;
    background: #fff !important;
    color: #111 !important;
    box-shadow: none !important;
  }
  .aj-premium-employment :where(.aj-premium-editor-rail, .delete_container, .adsbygoogle) { display: none !important; }
  .aj-premium-employment :where(.aj-premium-editor-card, .aj-premium-manager-panel, .aj-premium-managed-offer, .aj-premium-index-offer) { box-shadow: none !important; }
}

/*
 * /job-animation — composition live.
 * Le DOM contient déjà un rail de filtres. Conserver un second rail à
 * l'intérieur des résultats réduisait les offres à une largeur de mobile sur
 * desktop. Les ressources passent sous la liste sans déplacer aucun bloc PHP.
 */
@media (min-width: 992px) {
  body.ajp-controller-annonces.ajp-action-rechercher .aj-premium-search .job-search-content > .job-search-row {
    grid-template-columns: 300px minmax(0, 1fr) !important;
    gap: 36px !important;
  }

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

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

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

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

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

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

  body.ajp-controller-annonces.ajp-action-rechercher .aj-premium-search .offer-left {
    width: 104px !important;
    height: 104px !important;
    min-width: 104px !important;
    border-radius: 18px !important;
  }

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

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

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