:root {
  /* Palette dérivée des couleurs réelles du logo JobRelais */
  --jr-green: #7aa842;
  --jr-green-700: #56782e;
  --jr-green-50: #f3f8ea;
  --jr-lime: #8bbd23;
  --jr-blue: #036c98;
  --jr-blue-700: #075779;
  --jr-blue-50: #edf7fb;
  --jr-navy: #103f54;
  --jr-navy-2: #075f84;
  --jr-ink: #17323f;
  --jr-muted: #64748b;
  --jr-line: #e3e9e6;
  --jr-surface: #ffffff;
  --jr-bg: #f7f9f6;
  --jr-gold: #f2b544;
  --jr-radius: 18px;
  --jr-shadow: 0 16px 40px rgba(15, 35, 31, .08);
  --jr-shadow-soft: 0 8px 24px rgba(15, 35, 31, .06);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.jr-body {
  margin: 0;
  background: var(--jr-bg);
  color: var(--jr-ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.jr-body a { text-decoration: none; }
.jr-container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.jr-muted { color: var(--jr-muted); }

/* Header */
.jr-topbar { background: var(--jr-navy); color: #dcecf3; font-size: 12px; }
.jr-topbar-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.jr-topbar-left, .jr-topbar-right { display: flex; align-items: center; gap: 18px; }
.jr-topbar a { color: #fff; opacity: .88; }
.jr-topbar a:hover { opacity: 1; }
.jr-header { position: sticky; top: 0; z-index: 70; background: rgba(255,255,255,.96); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(226,232,240,.9); }
.jr-header-inner { min-height: 72px; display: flex; align-items: center; gap: 24px; }
.jr-brand { flex: 0 0 auto; display: inline-flex; align-items: center; }
.jr-brand img { width: auto; height: 44px; display: block; }
.jr-main-nav { display: flex; align-items: center; justify-content: center; gap: 4px; flex: 1 1 auto; }
.jr-nav-link, .jr-nav-button { color: #344154; font-size: 13px; font-weight: 700; padding: 10px 10px; border-radius: 10px; transition: .2s ease; background: transparent; border: 0; cursor: pointer; }
.jr-nav-link:hover, .jr-nav-button:hover { color: var(--jr-green); background: var(--jr-green-50); }
.jr-nav-item { position: relative; }
.jr-nav-menu { display: none; position: absolute; top: calc(100% + 8px); left: 0; width: 235px; background: #fff; border: 1px solid var(--jr-line); border-radius: 14px; padding: 8px; box-shadow: var(--jr-shadow); }
.jr-nav-item:hover .jr-nav-menu { display: block; }
.jr-nav-menu a { display: flex; align-items: center; justify-content: space-between; padding: 10px 11px; border-radius: 9px; color: #425066; font-size: 13px; font-weight: 600; }
.jr-nav-menu a:hover { background: var(--jr-green-50); color: var(--jr-green); }
.jr-header-actions { display: flex; align-items: center; gap: 9px; margin-left: auto; }
.jr-btn { min-height: 42px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 0 16px; border-radius: 11px; font-weight: 800; font-size: 13px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; border: 1px solid transparent; cursor: pointer; }
.jr-btn:hover { transform: translateY(-1px); }
.jr-btn-primary { background: var(--jr-green); color: #fff; box-shadow: 0 8px 18px rgba(23,107,77,.18); }
.jr-btn-primary:hover { background: var(--jr-green-700); color: #fff; }
.jr-btn-dark { background: var(--jr-navy); color: #fff; }
.jr-btn-dark:hover { background: var(--jr-blue-700); color: #fff; }
.jr-btn-ghost { color: #435066; border-color: var(--jr-line); background: #fff; }
.jr-btn-ghost:hover { border-color: #cbd5e1; color: var(--jr-green); }
.jr-mobile-toggle { display: none; margin-left: auto; width: 42px; height: 42px; border: 1px solid var(--jr-line); background: #fff; color: var(--jr-navy); border-radius: 11px; }
.jr-mobile-menu { display: none; padding: 6px 16px 18px; background: #fff; border-top: 1px solid var(--jr-line); }
.jr-mobile-menu.is-open { display: block; }
.jr-mobile-menu a, .jr-mobile-menu button { display: block; width: 100%; padding: 11px 4px; text-align: left; color: #334155; font-size: 14px; font-weight: 700; border: 0; background: transparent; }
.jr-mobile-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 10px; }
.jr-mobile-actions a { text-align: center; padding: 11px 10px; border-radius: 10px; }

/* Hero */
.jr-hero-wrap { padding: 42px 0 26px; }
.jr-hero { position: relative; overflow: hidden; border-radius: 28px; background: linear-gradient(135deg, var(--jr-blue-700) 0%, var(--jr-blue) 52%, var(--jr-green) 125%); color: #fff; box-shadow: 0 22px 60px rgba(15,35,61,.16); }
.jr-hero::before { content:""; position:absolute; width:440px; height:440px; border-radius:50%; right:-160px; top:-190px; background:rgba(139,189,35,.16); }
.jr-hero::after { content:""; position:absolute; width:310px; height:310px; border-radius:50%; right:180px; bottom:-240px; border:55px solid rgba(255,255,255,.05); }
.jr-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .7fr); gap: 34px; padding: 58px 58px 48px; }
.jr-eyebrow { display: inline-flex; align-items: center; gap: 8px; padding: 7px 11px; border-radius: 999px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.14); color: #d7eadf; font-size: 12px; font-weight: 800; letter-spacing: .02em; }
.jr-hero h1 { margin: 18px 0 14px; max-width: 760px; font-size: clamp(36px, 4.5vw, 62px); line-height: 1.02; letter-spacing: -.045em; font-weight: 900; }
.jr-hero-lead { max-width: 690px; font-size: 17px; line-height: 1.7; color: #dce5ed; }
.jr-search-panel { margin-top: 28px; padding: 10px; display: grid; grid-template-columns: 1.6fr .85fr auto; gap: 8px; background: #fff; border-radius: 15px; box-shadow: 0 14px 32px rgba(0,0,0,.18); }
.jr-search-field { position: relative; min-width: 0; }
.jr-search-field i { position: absolute; left: 13px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 13px; }
.jr-search-panel input, .jr-search-panel select { width: 100%; height: 48px; border: 1px solid #e4e9ee; border-radius: 10px; padding: 0 13px 0 38px; color: #26354a; background: #fff; font: inherit; font-size: 13px; outline: none; }
.jr-search-panel select { padding-left: 12px; }
.jr-search-panel input:focus, .jr-search-panel select:focus { border-color: #80b69f; box-shadow: 0 0 0 3px rgba(122,168,66,.12); }
.jr-search-panel button { height: 48px; padding-inline: 22px; white-space: nowrap; }
.jr-hero-actions { margin-top: 17px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; font-size: 12px; color: #bfcbd7; }
.jr-hero-actions a { color: #fff; font-weight: 800; }
.jr-hero-card { align-self: stretch; padding: 24px; border-radius: 22px; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(7px); }
.jr-hero-card h2 { margin: 0 0 5px; font-size: 15px; font-weight: 800; }
.jr-hero-card p { margin: 0 0 15px; color: #cbd7e2; font-size: 12px; }
.jr-quick-categories { display: grid; gap: 8px; }
.jr-quick-category { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 12px; border-radius: 11px; color: #fff; background: rgba(255,255,255,.075); border: 1px solid rgba(255,255,255,.075); transition: .18s ease; }
.jr-quick-category:hover { background: rgba(255,255,255,.13); transform: translateX(2px); }
.jr-quick-category span:first-child { font-size: 13px; font-weight: 750; }
.jr-quick-category strong { font-size: 11px; color: #d9e8a9; }
.jr-hero-recruiter { margin-top: 15px; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.12); }
.jr-hero-recruiter strong { display:block; margin-bottom: 4px; font-size: 13px; }
.jr-hero-recruiter a { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; color: #e6f5b4; font-size: 12px; font-weight: 800; }
.jr-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 28px; border: 1px solid rgba(255,255,255,.10); border-radius: 14px; overflow: hidden; background: rgba(255,255,255,.08); max-width: 620px; }
.jr-stat { padding: 13px 15px; background: rgba(8,24,42,.22); }
.jr-stat strong { display: block; color: #fff; font-size: 18px; letter-spacing: -.02em; }
.jr-stat span { display: block; margin-top: 2px; color: #b9c6d2; font-size: 10px; }

/* Generic sections */
.jr-main { min-height: 60vh; }
.jr-section { padding: 30px 0; }
.jr-section-head { display: flex; align-items: end; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.jr-section-kicker { color: var(--jr-green); font-size: 11px; font-weight: 900; text-transform: uppercase; letter-spacing: .12em; }
.jr-section-title { margin: 4px 0 0; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.15; letter-spacing: -.03em; font-weight: 900; color: var(--jr-navy); }
.jr-section-subtitle { margin: 7px 0 0; color: var(--jr-muted); font-size: 14px; }
.jr-text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--jr-green); font-weight: 850; font-size: 13px; }
.jr-text-link:hover { color: var(--jr-green-700); }
.jr-opportunity-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 16px; }
.jr-article-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.jr-divider { height: 1px; background: var(--jr-line); }
.jr-category-block { padding: 24px 0 30px; }
.jr-category-block + .jr-category-block { border-top: 1px solid var(--jr-line); }
.jr-category-head { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-bottom: 16px; }
.jr-category-head h2 { margin:0; font-size:21px; color:var(--jr-navy); font-weight:900; letter-spacing:-.02em; }
.jr-category-head p { margin: 4px 0 0; color: var(--jr-muted); font-size: 12px; }
.jr-category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }

/* Opportunity cards */
.jr-opportunity-card { height: 100%; overflow: hidden; background: #fff; border: 1px solid var(--jr-line); border-radius: 16px; box-shadow: 0 5px 18px rgba(16,35,63,.045); transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.jr-opportunity-card:hover { transform: translateY(-3px); box-shadow: var(--jr-shadow-soft); border-color: #d6e2dc; }
.jr-opportunity-media { position: relative; display:block; aspect-ratio: 16/9; overflow:hidden; background:#edf2f0; }
.jr-opportunity-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .35s ease; }
.jr-opportunity-card:hover .jr-opportunity-media img { transform: scale(1.035); }
.jr-opportunity-category { position:absolute; left:12px; top:12px; display:inline-flex; align-items:center; min-height:25px; padding:0 9px; border-radius:999px; color:#fff; background:rgba(16,35,63,.88); font-size:10px; font-weight:850; backdrop-filter:blur(6px); }
.jr-opportunity-body { padding: 15px 15px 14px; }
.jr-opportunity-flags { min-height: 17px; display:flex; gap:4px; align-items:center; margin-bottom:6px; }
.jr-opportunity-flags img { width:18px; height:12px; object-fit:cover; border-radius:2px; border:1px solid #e2e8f0; }
.jr-opportunity-title { margin:0; min-height: 44px; font-size:14px; line-height:1.5; font-weight:850; color:var(--jr-ink); display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.jr-opportunity-title a { color:inherit; }
.jr-opportunity-title a:hover { color:var(--jr-green); }
.jr-opportunity-meta { margin-top:10px; display:flex; align-items:center; justify-content:space-between; gap:10px; color:#7a8799; font-size:10.5px; }
.jr-opportunity-meta .jr-open { width:28px; height:28px; display:inline-flex; align-items:center; justify-content:center; border-radius:8px; background:var(--jr-green-50); color:var(--jr-green); }

/* Posts */
.jr-post-card { display:grid; grid-template-columns: 160px minmax(0,1fr); min-height: 155px; overflow:hidden; background:#fff; border:1px solid var(--jr-line); border-radius:16px; transition:.18s ease; }
.jr-post-card:hover { transform:translateY(-2px); box-shadow:var(--jr-shadow-soft); }
.jr-post-media { display:block; overflow:hidden; background:#eef2f1; }
.jr-post-media img { width:100%; height:100%; object-fit:cover; transition:transform .3s ease; }
.jr-post-card:hover .jr-post-media img { transform:scale(1.035); }
.jr-post-body { padding:16px; }
.jr-post-tags { display:flex; flex-wrap:wrap; gap:5px; margin-bottom:8px; }
.jr-post-tag { display:inline-flex; padding:4px 7px; border-radius:999px; color:var(--jr-green); background:var(--jr-green-50); font-size:9px; font-weight:850; }
.jr-post-title { margin:0; font-size:15px; line-height:1.45; font-weight:850; }
.jr-post-title a { color:var(--jr-ink); }
.jr-post-title a:hover { color:var(--jr-green); }
.jr-post-meta { margin-top:9px; color:#8a96a6; font-size:10.5px; }

/* Monetization / conversion blocks */
.jr-duo { display:grid; grid-template-columns: 1.08fr .92fr; gap:18px; align-items:stretch; }
.jr-recruiter-card { position:relative; overflow:hidden; min-height: 100%; padding:30px; color:#fff; background:linear-gradient(135deg,var(--jr-blue-700),var(--jr-navy)); border-radius:22px; }
.jr-recruiter-card::after { content:""; position:absolute; right:-60px; bottom:-70px; width:220px; height:220px; border-radius:50%; background:rgba(139,189,35,.16); }
.jr-recruiter-card > * { position:relative; z-index:1; }
.jr-recruiter-card .jr-eyebrow { background:rgba(255,255,255,.08); }
.jr-recruiter-card h2 { margin:14px 0 8px; font-size:27px; line-height:1.17; letter-spacing:-.03em; font-weight:900; }
.jr-recruiter-card p { margin:0; max-width:520px; color:#d3dde7; font-size:13px; line-height:1.7; }
.jr-recruiter-actions { margin-top:20px; display:flex; flex-wrap:wrap; gap:9px; }
.jr-recruiter-actions .jr-btn-primary { background:#fff; color:var(--jr-navy); box-shadow:none; }
.jr-recruiter-actions .jr-btn-primary:hover { background:#f4f7f7; color:var(--jr-green); }
.jr-recruiter-actions .jr-btn-ghost { background:transparent; color:#fff; border-color:rgba(255,255,255,.22); }
.jr-newsletter-band { margin: 26px 0 8px; padding:28px 30px; display:grid; grid-template-columns: 1fr auto; gap:20px; align-items:center; border-radius:20px; border:1px solid #dbe7e1; background:linear-gradient(135deg,#f7fbf9,#eff7f3); }
.jr-newsletter-band h2 { margin:0; color:var(--jr-navy); font-size:21px; font-weight:900; }
.jr-newsletter-band p { margin:5px 0 0; color:var(--jr-muted); font-size:12px; }
.jr-newsletter-form { display:flex; gap:8px; min-width:min(100%,390px); }
.jr-newsletter-form input { min-width:0; width:260px; height:44px; border:1px solid #d9e3de; border-radius:10px; background:#fff; padding:0 13px; font:inherit; font-size:12px; outline:none; }
.jr-newsletter-form input:focus { border-color:#83b59f; box-shadow:0 0 0 3px rgba(122,168,66,.11); }

/* Ads: space intentionally kept calm and separate from navigation/content */
.jr-ad-zone { margin: 18px auto; min-height: 10px; display:flex; justify-content:center; align-items:center; overflow:hidden; }
.jr-ad-zone > * { max-width:100%; }

/* Sidebar */
.jr-sidebar { display:grid; gap:16px; }
.jr-side-card { background:#fff; border:1px solid var(--jr-line); border-radius:16px; padding:18px; box-shadow:0 4px 16px rgba(16,35,63,.035); }
.jr-side-card h3 { margin:0 0 12px; color:var(--jr-navy); font-size:14px; font-weight:900; }
.jr-side-search { display:flex; gap:7px; }
.jr-side-search input { min-width:0; flex:1; height:40px; border:1px solid var(--jr-line); border-radius:9px; padding:0 10px; font:inherit; font-size:12px; }
.jr-side-search button { width:40px; border:0; border-radius:9px; background:var(--jr-green); color:#fff; }

/* Footer */
.jr-footer { margin-top: 54px; color:#b8c3cf; background:var(--jr-navy); }
.jr-footer-main { padding:48px 0 34px; display:grid; grid-template-columns:1.3fr .75fr .75fr 1fr; gap:36px; }
.jr-footer-brand img { height:43px; width:auto; filter:brightness(1.35); }
.jr-footer-brand p { margin:14px 0 0; max-width:360px; font-size:12px; line-height:1.75; }
.jr-footer-contact { margin-top:14px; display:grid; gap:7px; font-size:12px; }
.jr-footer a { color:#c8d2dc; }
.jr-footer a:hover { color:#fff; }
.jr-footer h3 { margin:0 0 14px; color:#fff; font-size:12px; text-transform:uppercase; letter-spacing:.08em; font-weight:900; }
.jr-footer-links { display:grid; gap:9px; font-size:12px; }
.jr-footer-social { display:flex; gap:8px; margin-top:15px; }
.jr-footer-social a { width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; border-radius:9px; background:rgba(255,255,255,.06); }
.jr-footer-social a:hover { background:rgba(255,255,255,.12); }
.jr-footer-newsletter { display:flex; gap:7px; }
.jr-footer-newsletter input { min-width:0; flex:1; height:40px; padding:0 11px; color:#fff; background:#0e526f; border:1px solid #2a708c; border-radius:9px; font:inherit; font-size:11px; outline:none; }
.jr-footer-newsletter button { border:0; padding:0 12px; border-radius:9px; background:var(--jr-lime); color:var(--jr-navy); font-weight:900; font-size:11px; }
.jr-footer-bottom { padding:18px 0 26px; border-top:1px solid rgba(255,255,255,.07); display:flex; justify-content:space-between; gap:18px; align-items:center; font-size:10px; }
.jr-footer-legal { display:flex; flex-wrap:wrap; gap:15px; }

/* Existing widgets polish */
.jr-body .bg-white.rounded-xl, .jr-body .rounded-xl.bg-white { border-color:var(--jr-line); }

/* Mobile */
@media (max-width: 1080px) {
  .jr-main-nav, .jr-header-actions { display:none; }
  .jr-mobile-toggle { display:inline-flex; align-items:center; justify-content:center; }
  .jr-hero-grid { grid-template-columns:1fr; padding:46px 40px; }
  .jr-hero-card { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .jr-hero-card > p, .jr-hero-card > h2 { grid-column:1 / -1; }
  .jr-hero-recruiter { margin-top:0; padding-top:0; padding-left:16px; border-top:0; border-left:1px solid rgba(255,255,255,.12); }
  .jr-opportunity-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jr-footer-main { grid-template-columns:1.25fr 1fr 1fr; }
  .jr-footer-main > :last-child { grid-column:1 / -1; }
}
@media (max-width: 760px) {
  .jr-topbar { display:none; }
  .jr-container { width:min(100% - 24px, 1180px); }
  .jr-header-inner { min-height:64px; }
  .jr-brand img { height:38px; }
  .jr-hero-wrap { padding:18px 0 12px; }
  .jr-hero { border-radius:20px; }
  .jr-hero-grid { padding:32px 22px 26px; gap:24px; }
  .jr-hero h1 { margin-top:14px; font-size:37px; }
  .jr-hero-lead { font-size:14px; }
  .jr-search-panel { grid-template-columns:1fr; }
  .jr-search-panel button { width:100%; }
  .jr-stats { grid-template-columns:1fr 1fr 1fr; }
  .jr-stat { padding:10px; }
  .jr-stat strong { font-size:15px; }
  .jr-hero-card { display:block; padding:19px; }
  .jr-hero-recruiter { margin-top:14px; padding-top:14px; padding-left:0; border-left:0; border-top:1px solid rgba(255,255,255,.12); }
  .jr-section { padding:22px 0; }
  .jr-section-head { align-items:flex-start; }
  .jr-section-title { font-size:25px; }
  .jr-opportunity-grid, .jr-category-grid, .jr-article-grid { grid-template-columns:1fr; }
  .jr-duo { grid-template-columns:1fr; }
  .jr-post-card { grid-template-columns:120px minmax(0,1fr); min-height:135px; }
  .jr-newsletter-band { grid-template-columns:1fr; padding:22px; }
  .jr-newsletter-form { min-width:0; width:100%; }
  .jr-newsletter-form input { width:100%; }
  .jr-footer-main { grid-template-columns:1fr 1fr; gap:28px 22px; }
  .jr-footer-brand, .jr-footer-main > :last-child { grid-column:1 / -1; }
  .jr-footer-bottom { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 440px) {
  .jr-hero h1 { font-size:32px; }
  .jr-stats { grid-template-columns:1fr; }
  .jr-stat { display:flex; align-items:center; justify-content:space-between; }
  .jr-stat span { margin-top:0; }
  .jr-section-head { display:block; }
  .jr-section-head .jr-text-link { margin-top:10px; }
  .jr-footer-main { grid-template-columns:1fr; }
  .jr-footer-main > * { grid-column:auto !important; }
  .jr-mobile-actions { grid-template-columns:1fr; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}

/* =========================================================
   JobRelais UI V2 — Opportunités / fiche détail (correction 21)
   ========================================================= */

/* Listing hero */
.jr-listing-hero { padding: 26px 0 10px; }
.jr-breadcrumbs { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:16px; color:#8190a3; font-size:11px; font-weight:650; }
.jr-breadcrumbs a { color:#6d7b8f; }
.jr-breadcrumbs a:hover { color:var(--jr-green); }
.jr-breadcrumbs i { font-size:8px; color:#b3bdc8; }
.jr-breadcrumbs span { color:#425066; }
.jr-listing-hero-card { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.7fr) minmax(260px,.55fr); gap:28px; align-items:center; padding:34px 38px; color:#fff; border-radius:24px; background:linear-gradient(135deg,var(--jr-blue-700) 0%,var(--jr-blue) 58%,var(--jr-green) 132%); box-shadow:0 18px 46px rgba(16,35,63,.12); }
.jr-listing-hero-card::after { content:""; position:absolute; right:-85px; top:-125px; width:300px; height:300px; border-radius:50%; border:54px solid rgba(255,255,255,.045); }
.jr-listing-hero-copy, .jr-listing-hero-action { position:relative; z-index:1; }
.jr-listing-kicker { display:inline-flex; align-items:center; gap:7px; color:#d5e4dc; font-size:11px; font-weight:800; letter-spacing:.02em; }
.jr-listing-hero h1 { margin:10px 0 8px; max-width:760px; font-size:clamp(30px,3.5vw,44px); line-height:1.08; letter-spacing:-.04em; font-weight:900; }
.jr-listing-hero-copy > p { margin:0; max-width:720px; color:#d1dce6; font-size:14px; line-height:1.7; }
.jr-listing-stats { display:flex; flex-wrap:wrap; gap:9px 18px; margin-top:17px; color:#c5d1dc; font-size:11px; }
.jr-listing-stats span { display:inline-flex; align-items:center; gap:6px; }
.jr-listing-stats strong { color:#fff; font-size:12px; }
.jr-listing-hero-action { padding:20px; border:1px solid rgba(255,255,255,.12); border-radius:17px; background:rgba(255,255,255,.07); }
.jr-listing-hero-action p { margin:0 0 3px; color:#c4d0db; font-size:11px; }
.jr-listing-hero-action strong { display:block; margin-bottom:14px; font-size:14px; line-height:1.45; }
.jr-listing-hero-action .jr-btn { width:100%; background:#fff; color:var(--jr-navy); box-shadow:none; }
.jr-listing-hero-action .jr-btn:hover { color:var(--jr-green); background:#f6faf8; }

/* Filters */
.jr-filter-wrap { position:relative; z-index:8; margin-top:14px; }
.jr-filter-card { padding:20px; background:#fff; border:1px solid var(--jr-line); border-radius:20px; box-shadow:0 10px 30px rgba(16,35,63,.055); }
.jr-filter-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:15px; }
.jr-filter-heading h2 { margin:3px 0 0; color:var(--jr-navy); font-size:18px; font-weight:900; letter-spacing:-.02em; }
.jr-filter-count { padding:6px 9px; border-radius:999px; background:var(--jr-green-50); color:var(--jr-green); font-size:10px; font-weight:800; }
.jr-filter-grid { display:grid; grid-template-columns:minmax(220px,1.6fr) minmax(175px,.65fr) minmax(175px,.65fr) auto; gap:11px; align-items:end; }
.jr-filter-field { display:block; min-width:0; }
.jr-filter-field > span { display:block; margin:0 0 6px 2px; color:#66758a; font-size:10.5px; font-weight:800; }
.jr-filter-control { position:relative; }
.jr-filter-control > i { position:absolute; z-index:2; left:12px; top:50%; transform:translateY(-50%); color:#8d9aab; font-size:12px; pointer-events:none; }
.jr-filter-control input, .jr-filter-control select { width:100%; height:45px; padding:0 12px 0 35px; border:1px solid #dde4e8; border-radius:11px; background:#fbfcfc; color:#344154; font:inherit; font-size:12px; outline:none; transition:.18s ease; }
.jr-filter-control select { appearance:auto; }
.jr-filter-control input:focus, .jr-filter-control select:focus { border-color:#83b59f; background:#fff; box-shadow:0 0 0 3px rgba(122,168,66,.11); }
.jr-filter-actions { display:flex; align-items:center; gap:7px; }
.jr-filter-actions .jr-btn { height:45px; min-height:45px; white-space:nowrap; }
.jr-filter-reset { width:45px; height:45px; display:inline-flex; align-items:center; justify-content:center; border:1px solid var(--jr-line); border-radius:11px; background:#fff; color:#64748b; }
.jr-filter-reset:hover { color:var(--jr-green); border-color:#b9d1c6; background:var(--jr-green-50); }

/* Results / sidebar */
.jr-listing-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:26px; align-items:start; padding-top:8px; padding-bottom:48px; }
.jr-listing-main { min-width:0; }
.jr-results-head { display:flex; justify-content:space-between; align-items:end; gap:18px; margin-bottom:14px; }
.jr-results-label { display:block; margin-bottom:3px; color:var(--jr-green); font-size:10px; font-weight:900; text-transform:uppercase; letter-spacing:.12em; }
.jr-results-head p { margin:0; color:#64748b; font-size:12px; }
.jr-results-head p strong { color:var(--jr-navy); font-size:15px; }
.jr-page-indicator { color:#8390a2; font-size:10.5px; }
.jr-listing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.jr-listing-sidebar-sticky, .jr-detail-sidebar-sticky { position:sticky; top:92px; display:grid; gap:16px; }
.jr-pagination-wrap { margin-top:24px; padding-top:18px; border-top:1px solid var(--jr-line); }
.jr-pagination-wrap nav { overflow-x:auto; padding-bottom:4px; }
.jr-empty-state { padding:58px 28px; text-align:center; border:1px dashed #d5dee4; border-radius:20px; background:#fff; }
.jr-empty-icon { width:54px; height:54px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:var(--jr-green-50); color:var(--jr-green); font-size:20px; }
.jr-empty-state h2 { margin:0; color:var(--jr-navy); font-size:19px; font-weight:900; }
.jr-empty-state p { margin:8px auto 17px; max-width:460px; color:var(--jr-muted); font-size:12px; line-height:1.65; }
.jr-ad-zone-top { margin-top:20px; margin-bottom:20px; }
.jr-ad-zone-bottom { margin-top:34px; }

/* Detail page */
.jr-detail-shell { padding:24px 0 8px; }
.jr-detail-breadcrumbs { margin-bottom:14px; }
.jr-detail-hero { overflow:hidden; display:grid; grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr); min-height:390px; border:1px solid var(--jr-line); border-radius:25px; background:#fff; box-shadow:0 16px 42px rgba(16,35,63,.07); }
.jr-detail-visual { position:relative; overflow:hidden; min-height:390px; background:#e9efec; }
.jr-detail-visual img { width:100%; height:100%; object-fit:cover; display:block; }
.jr-detail-visual-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,28,44,.05),rgba(10,28,44,.25)); }
.jr-detail-category { position:absolute; left:18px; top:18px; z-index:2; display:inline-flex; align-items:center; min-height:29px; padding:0 11px; border-radius:999px; background:rgba(16,35,63,.88); color:#fff; font-size:10px; font-weight:850; backdrop-filter:blur(8px); }
.jr-detail-intro { display:flex; flex-direction:column; justify-content:center; padding:42px 44px; }
.jr-detail-eyebrow { color:var(--jr-green); font-size:10.5px; font-weight:900; text-transform:uppercase; letter-spacing:.1em; }
.jr-detail-intro h1 { margin:9px 0 13px; color:var(--jr-navy); font-size:clamp(28px,3.3vw,44px); line-height:1.12; letter-spacing:-.04em; font-weight:900; }
.jr-detail-extract { margin:0; max-width:720px; color:#627084; font-size:13px; line-height:1.75; }
.jr-detail-meta-row { display:flex; flex-wrap:wrap; gap:9px 16px; margin-top:18px; color:#6d7b8e; font-size:10.5px; }
.jr-detail-meta-row span { display:inline-flex; align-items:center; gap:6px; }
.jr-detail-meta-row i { color:var(--jr-green); }
.jr-detail-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:23px; }
.jr-detail-ad-top { margin:20px auto 22px; }
.jr-detail-layout { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:26px; align-items:start; padding-bottom:54px; }
.jr-detail-main { min-width:0; }
.jr-detail-article { padding:30px 32px 36px; background:#fff; border:1px solid var(--jr-line); border-radius:20px; box-shadow:0 8px 26px rgba(16,35,63,.045); }
.jr-detail-article-head { padding-bottom:17px; margin-bottom:20px; border-bottom:1px solid var(--jr-line); }
.jr-detail-article-head h2 { margin:4px 0 0; color:var(--jr-navy); font-size:22px; font-weight:900; letter-spacing:-.025em; }
.jr-detail-content { color:#334155; font-size:14px; line-height:1.8; }
.jr-detail-content h1, .jr-detail-content h2, .jr-detail-content h3, .jr-detail-content h4 { margin-top:1.5em; margin-bottom:.55em; color:var(--jr-navy); line-height:1.28; font-weight:850; }
.jr-detail-content h2 { font-size:20px; }
.jr-detail-content h3 { font-size:17px; }
.jr-detail-content p { margin:0 0 1em; }
.jr-detail-content ul, .jr-detail-content ol { padding-left:1.4rem; margin:0 0 1.1em; }
.jr-detail-content li { margin:.32em 0; }
.jr-detail-content a { color:var(--jr-green); font-weight:700; text-decoration:underline; text-underline-offset:2px; }
.jr-detail-content blockquote { margin:1.2em 0; padding:14px 16px; border-left:4px solid var(--jr-green); border-radius:0 10px 10px 0; background:var(--jr-green-50); color:#435066; }
.jr-detail-content table { width:100%; margin:1.3em 0; border-collapse:separate; border-spacing:0; overflow:hidden; border:1px solid #dce4e8; border-radius:12px; font-size:12px; }
.jr-detail-content th { padding:10px 11px; background:#f1f6f3; color:var(--jr-navy); text-align:left; font-weight:850; }
.jr-detail-content td { padding:10px 11px; border-top:1px solid #e5eaed; vertical-align:top; }
.jr-detail-content img { max-width:100%; height:auto; border-radius:12px; }
.jr-detail-summary-card { padding:21px; border:1px solid var(--jr-line); border-radius:18px; background:#fff; box-shadow:0 6px 22px rgba(16,35,63,.04); }
.jr-detail-summary-card h2 { margin:4px 0 15px; color:var(--jr-navy); font-size:18px; font-weight:900; }
.jr-detail-summary-list { margin:0; display:grid; }
.jr-detail-summary-list > div { padding:11px 0; border-top:1px solid #edf1f3; }
.jr-detail-summary-list > div:first-child { border-top:0; padding-top:0; }
.jr-detail-summary-list dt { display:flex; align-items:center; gap:7px; margin-bottom:3px; color:#8995a5; font-size:10px; font-weight:700; }
.jr-detail-summary-list dt i { width:13px; color:var(--jr-green); text-align:center; }
.jr-detail-summary-list dd { margin:0; color:#334155; font-size:12px; font-weight:800; line-height:1.45; }
.jr-detail-summary-button { width:100%; margin-top:14px; }
.jr-recruiter-mini h3 { margin:4px 0 7px; }
.jr-recruiter-mini p { margin:0 0 10px; color:var(--jr-muted); font-size:11.5px; line-height:1.65; }
.jr-opportunity-navigation { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:18px; }
.jr-nav-opportunity { display:block; min-width:0; padding:15px 16px; border:1px solid var(--jr-line); border-radius:14px; background:#fff; transition:.18s ease; }
.jr-nav-opportunity:hover { transform:translateY(-1px); border-color:#bfd4ca; box-shadow:var(--jr-shadow-soft); }
.jr-nav-direction { display:flex; align-items:center; gap:7px; margin-bottom:5px; color:var(--jr-green); font-size:9.5px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.jr-nav-opportunity strong { display:block; color:#425066; font-size:11.5px; line-height:1.5; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.jr-nav-opportunity-next { text-align:right; }
.jr-nav-opportunity-next .jr-nav-direction { justify-content:flex-end; }
.jr-detail-ad-bottom { margin-top:30px; padding-top:24px; border-top:1px solid var(--jr-line); }

@media (max-width: 1080px) {
  .jr-listing-hero-card { grid-template-columns:1fr; }
  .jr-listing-hero-action { max-width:430px; }
  .jr-filter-grid { grid-template-columns:minmax(220px,1.3fr) 1fr 1fr; }
  .jr-filter-actions { grid-column:1 / -1; justify-content:flex-end; }
  .jr-listing-layout, .jr-detail-layout { grid-template-columns:minmax(0,1fr) 280px; gap:20px; }
  .jr-detail-hero { grid-template-columns:.82fr 1.18fr; }
  .jr-detail-intro { padding:34px 30px; }
}

@media (max-width: 860px) {
  .jr-listing-layout, .jr-detail-layout { grid-template-columns:1fr; }
  .jr-listing-sidebar-sticky, .jr-detail-sidebar-sticky { position:static; grid-template-columns:1fr 1fr; align-items:start; }
  .jr-listing-sidebar-sticky > :first-child, .jr-detail-sidebar-sticky > :first-child { grid-column:1; }
  .jr-listing-sidebar-sticky > .jr-sidebar, .jr-detail-sidebar-sticky > .jr-ad-zone { grid-column:2; }
  .jr-detail-hero { grid-template-columns:1fr; }
  .jr-detail-visual { min-height:320px; aspect-ratio:16/8.5; }
}

@media (max-width: 700px) {
  .jr-listing-hero { padding-top:16px; }
  .jr-listing-hero-card { padding:27px 22px; border-radius:20px; }
  .jr-listing-hero h1 { font-size:31px; }
  .jr-listing-hero-action { padding:17px; }
  .jr-filter-card { padding:16px; border-radius:17px; }
  .jr-filter-heading { align-items:flex-start; }
  .jr-filter-grid { grid-template-columns:1fr; }
  .jr-filter-actions { grid-column:auto; justify-content:stretch; }
  .jr-filter-actions .jr-btn { flex:1; }
  .jr-listing-grid { grid-template-columns:1fr; }
  .jr-listing-sidebar-sticky, .jr-detail-sidebar-sticky { display:grid; grid-template-columns:1fr; }
  .jr-listing-sidebar-sticky > *, .jr-detail-sidebar-sticky > * { grid-column:1 !important; }
  .jr-detail-visual { min-height:230px; }
  .jr-detail-intro { padding:27px 22px; }
  .jr-detail-intro h1 { font-size:29px; }
  .jr-detail-meta-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
  .jr-detail-actions .jr-btn { flex:1; }
  .jr-detail-article { padding:23px 19px 27px; border-radius:17px; }
  .jr-detail-content { font-size:13px; }
  .jr-detail-content table { display:block; overflow-x:auto; white-space:nowrap; }
  .jr-opportunity-navigation { grid-template-columns:1fr; }
}

@media (max-width: 440px) {
  .jr-listing-stats { display:grid; gap:7px; }
  .jr-results-head { align-items:flex-start; flex-direction:column; }
  .jr-detail-meta-row { grid-template-columns:1fr; }
  .jr-detail-actions { display:grid; grid-template-columns:1fr; }
}

/* =========================================================
   JobRelais UI V2 — Talents / Profil / Crédits (correction 22)
   Palette officielle inspirée du logo JobRelais : vert + bleu.
   ========================================================= */

/* Shared talent hero */
.jr-talent-hero { padding: 28px 0 14px; }
.jr-talent-hero-card { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.55fr) minmax(280px,.62fr); gap:28px; align-items:center; padding:38px 40px; color:#fff; border-radius:26px; background:linear-gradient(135deg,var(--jr-blue-700) 0%,var(--jr-blue) 58%,var(--jr-green) 135%); box-shadow:0 20px 52px rgba(3,108,152,.15); }
.jr-talent-hero-card::before { content:""; position:absolute; width:340px; height:340px; right:-120px; top:-175px; border:52px solid rgba(255,255,255,.07); border-radius:50%; }
.jr-talent-hero-card::after { content:""; position:absolute; width:210px; height:210px; right:180px; bottom:-170px; background:rgba(122,168,66,.20); border-radius:50%; }
.jr-talent-hero-copy,.jr-talent-hero-panel { position:relative; z-index:1; }
.jr-talent-kicker { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(255,255,255,.09); color:#e9f4dc; font-size:10.5px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.jr-talent-hero h1 { margin:13px 0 10px; max-width:720px; font-size:clamp(31px,3.6vw,47px); line-height:1.06; letter-spacing:-.045em; font-weight:950; }
.jr-talent-hero-copy > p { margin:0; max-width:680px; color:#dceaf0; font-size:14px; line-height:1.72; }
.jr-talent-hero-stats { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }
.jr-talent-stat { min-width:126px; padding:11px 13px; border:1px solid rgba(255,255,255,.12); border-radius:13px; background:rgba(255,255,255,.08); }
.jr-talent-stat strong { display:block; color:#fff; font-size:17px; line-height:1; font-weight:900; }
.jr-talent-stat span { display:block; margin-top:5px; color:#cfe0e7; font-size:9.5px; font-weight:700; }
.jr-talent-hero-panel { padding:20px; border:1px solid rgba(255,255,255,.14); border-radius:19px; background:rgba(255,255,255,.09); backdrop-filter:blur(8px); }
.jr-talent-hero-panel-icon { width:42px; height:42px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:#fff; color:var(--jr-blue); font-size:16px; }
.jr-talent-hero-panel h2 { margin:13px 0 5px; font-size:15px; font-weight:900; }
.jr-talent-hero-panel p { margin:0; color:#d9e6ec; font-size:11px; line-height:1.6; }
.jr-talent-hero-panel .jr-btn { width:100%; margin-top:14px; background:#fff; color:var(--jr-blue-700); }
.jr-talent-hero-panel .jr-btn:hover { color:var(--jr-green-700); background:#f8fbf5; }

/* Talent search */
.jr-talent-search-wrap { position:sticky; top:76px; z-index:30; padding:9px 0 2px; }
.jr-talent-filter-card { padding:18px; border:1px solid var(--jr-line); border-radius:20px; background:rgba(255,255,255,.97); box-shadow:0 12px 32px rgba(16,63,84,.07); backdrop-filter:blur(12px); }
.jr-talent-search-main { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:9px; align-items:center; }
.jr-talent-search-input { position:relative; }
.jr-talent-search-input i { position:absolute; left:13px; top:50%; transform:translateY(-50%); color:#8fa0ab; font-size:12px; }
.jr-talent-search-input input { width:100%; height:46px; padding:0 14px 0 37px; border:1px solid #dce4e5; border-radius:12px; background:#fbfcfc; color:var(--jr-ink); font:inherit; font-size:12.5px; outline:none; }
.jr-talent-search-input input:focus { background:#fff; border-color:#88b7c9; box-shadow:0 0 0 3px rgba(3,108,152,.08); }
.jr-filter-toggle { height:46px; padding:0 15px; display:inline-flex; align-items:center; gap:8px; border:1px solid #dce4e5; border-radius:12px; background:#fff; color:#4c5e68; font-size:12px; font-weight:850; cursor:pointer; }
.jr-filter-toggle:hover { border-color:#b8d4df; color:var(--jr-blue); background:var(--jr-blue-50); }
.jr-filter-badge { min-width:20px; height:20px; padding:0 5px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; background:var(--jr-green); color:#fff; font-size:9px; font-weight:900; }
.jr-talent-filter-panel { margin-top:15px; padding-top:15px; border-top:1px solid var(--jr-line); }
.jr-talent-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.jr-talent-filter-field label { display:block; margin:0 0 6px 2px; color:#61717b; font-size:9.5px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.jr-talent-filter-field select { width:100%; height:42px; padding:0 10px; border:1px solid #dce4e5; border-radius:10px; background:#fbfcfc; color:#41525c; font:inherit; font-size:11.5px; outline:none; }
.jr-talent-filter-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; padding-top:13px; border-top:1px solid #edf1ef; }
.jr-talent-filter-note { display:flex; align-items:flex-start; gap:8px; margin:11px 2px 0; color:#7b8992; font-size:10.5px; line-height:1.55; }
.jr-talent-filter-note i { margin-top:2px; color:var(--jr-blue); }
.jr-talent-filter-note a { color:var(--jr-blue); font-weight:850; }

/* Talent listing */
.jr-talents-content { padding:26px 0 52px; }
.jr-talents-results-head { display:flex; align-items:end; justify-content:space-between; gap:16px; margin-bottom:15px; }
.jr-talents-results-head h2 { margin:3px 0 0; color:var(--jr-navy); font-size:20px; font-weight:950; letter-spacing:-.025em; }
.jr-talents-results-head p { margin:0; color:var(--jr-muted); font-size:11px; }
.jr-talents-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.jr-talent-card { position:relative; overflow:hidden; height:100%; display:flex; flex-direction:column; padding:20px; border:1px solid var(--jr-line); border-radius:18px; background:#fff; box-shadow:0 7px 22px rgba(16,63,84,.045); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease; }
.jr-talent-card:hover { transform:translateY(-3px); border-color:#c8dcd1; box-shadow:0 14px 32px rgba(16,63,84,.09); }
.jr-talent-card::before { content:""; position:absolute; top:0; left:0; width:100%; height:3px; background:linear-gradient(90deg,var(--jr-blue),var(--jr-green)); opacity:.9; }
.jr-talent-card-head { display:flex; align-items:center; gap:13px; }
.jr-talent-avatar { position:relative; flex:0 0 auto; width:54px; height:54px; display:flex; align-items:center; justify-content:center; border-radius:15px; background:linear-gradient(145deg,var(--jr-blue-50),var(--jr-green-50)); border:1px solid #dceae8; color:var(--jr-blue-700); font-size:18px; font-weight:950; }
.jr-talent-unlocked-mark { position:absolute; right:-5px; bottom:-5px; width:22px; height:22px; display:flex; align-items:center; justify-content:center; border:2px solid #fff; border-radius:50%; background:var(--jr-green); color:#fff; font-size:8px; }
.jr-talent-card-title { min-width:0; flex:1; }
.jr-talent-card-title strong { display:block; overflow:hidden; color:var(--jr-navy); font-size:13.5px; font-weight:950; text-overflow:ellipsis; white-space:nowrap; }
.jr-talent-card-title span { display:block; overflow:hidden; margin-top:3px; color:var(--jr-blue); font-size:10.5px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.jr-talent-card-meta { display:flex; flex-wrap:wrap; gap:7px; margin-top:13px; }
.jr-talent-chip { display:inline-flex; align-items:center; gap:5px; min-height:25px; padding:0 8px; border-radius:999px; background:#f6f8f8; color:#667782; font-size:9.5px; font-weight:750; }
.jr-talent-chip i { color:var(--jr-green-700); font-size:8px; }
.jr-talent-private { margin-top:14px; padding:11px 12px; display:grid; gap:7px; border-radius:12px; background:#fafbfb; border:1px solid #edf1f0; }
.jr-talent-private-row { min-width:0; display:flex; align-items:center; gap:8px; color:#71808a; font-size:10px; }
.jr-talent-private-row i { width:13px; color:#a0adb5; text-align:center; }
.jr-talent-private-row span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.jr-talent-card-foot { margin-top:auto; padding-top:14px; }
.jr-talent-card-link { width:100%; min-height:39px; display:flex; align-items:center; justify-content:center; gap:7px; border-radius:11px; background:var(--jr-blue-50); color:var(--jr-blue-700); font-size:11px; font-weight:900; transition:.18s ease; }
.jr-talent-card-link:hover { color:#fff; background:var(--jr-blue); }
.jr-talent-card.is-unlocked .jr-talent-card-link { background:var(--jr-green-50); color:var(--jr-green-700); }
.jr-talent-card.is-unlocked .jr-talent-card-link:hover { background:var(--jr-green); color:#fff; }

/* Talent profile */
.jr-profile-shell { padding:26px 0 54px; }
.jr-profile-layout { display:grid; grid-template-columns:minmax(0,1fr) 315px; gap:24px; align-items:start; }
.jr-profile-main { min-width:0; display:grid; gap:15px; }
.jr-profile-sidebar { position:sticky; top:94px; display:grid; gap:14px; }
.jr-profile-hero { position:relative; overflow:hidden; padding:26px; border:1px solid var(--jr-line); border-radius:22px; background:#fff; box-shadow:0 10px 32px rgba(16,63,84,.055); }
.jr-profile-hero::before { content:""; position:absolute; inset:0 0 auto 0; height:4px; background:linear-gradient(90deg,var(--jr-blue),var(--jr-green)); }
.jr-profile-header { display:flex; align-items:center; gap:17px; }
.jr-profile-avatar { width:76px; height:76px; flex:0 0 auto; display:flex; align-items:center; justify-content:center; border-radius:20px; background:linear-gradient(145deg,var(--jr-blue-50),var(--jr-green-50)); color:var(--jr-blue-700); border:1px solid #d8e8e5; font-size:26px; font-weight:950; }
.jr-profile-name { margin:0; color:var(--jr-navy); font-size:clamp(23px,2.7vw,32px); line-height:1.08; letter-spacing:-.035em; font-weight:950; }
.jr-profile-role { margin-top:6px; color:var(--jr-blue); font-size:12px; font-weight:850; }
.jr-profile-meta { display:flex; flex-wrap:wrap; gap:8px 14px; margin-top:9px; color:#71808a; font-size:10.5px; }
.jr-profile-meta span { display:inline-flex; align-items:center; gap:5px; }
.jr-profile-meta i { color:var(--jr-green-700); }
.jr-profile-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:20px; padding-top:18px; border-top:1px solid var(--jr-line); }
.jr-profile-contact { min-width:0; padding:11px 12px; border-radius:12px; background:#fafbfb; border:1px solid #edf1f0; }
.jr-profile-contact label { display:block; margin-bottom:4px; color:#90a0aa; font-size:8.5px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.jr-profile-contact p { margin:0; overflow:hidden; color:#42545f; font-size:11px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.jr-profile-section { padding:23px 24px; border:1px solid var(--jr-line); border-radius:18px; background:#fff; box-shadow:0 6px 20px rgba(16,63,84,.035); }
.jr-profile-section-head { display:flex; align-items:center; gap:10px; margin-bottom:16px; }
.jr-profile-section-icon { width:34px; height:34px; display:flex; align-items:center; justify-content:center; border-radius:10px; background:var(--jr-blue-50); color:var(--jr-blue); font-size:12px; }
.jr-profile-section h2 { margin:0; color:var(--jr-navy); font-size:16px; font-weight:950; letter-spacing:-.015em; }
.jr-profile-section-copy { margin:0; color:#5f707b; font-size:12px; line-height:1.75; }
.jr-profile-tags { display:flex; flex-wrap:wrap; gap:7px; }
.jr-profile-tag { min-height:27px; display:inline-flex; align-items:center; padding:0 9px; border-radius:999px; background:var(--jr-green-50); color:var(--jr-green-700); font-size:9.5px; font-weight:850; }
.jr-timeline { display:grid; gap:15px; }
.jr-timeline-item { position:relative; padding-left:21px; }
.jr-timeline-item::before { content:""; position:absolute; left:5px; top:7px; bottom:-22px; width:1px; background:#dde7e4; }
.jr-timeline-item:last-child::before { display:none; }
.jr-timeline-item::after { content:""; position:absolute; left:1px; top:6px; width:9px; height:9px; border:2px solid #fff; border-radius:50%; background:var(--jr-green); box-shadow:0 0 0 2px #dce9d0; }
.jr-timeline-item strong { display:block; color:#344955; font-size:11.5px; font-weight:900; }
.jr-timeline-item time { display:block; margin-top:3px; color:#93a0a8; font-size:9.5px; }
.jr-timeline-item p { margin:6px 0 0; color:#697984; font-size:10.5px; line-height:1.65; }
.jr-language-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.jr-language-item { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:10px 11px; border:1px solid #edf1f0; border-radius:11px; background:#fbfcfc; }
.jr-language-item strong { color:#52636d; font-size:10.5px; }
.jr-language-level { padding:4px 7px; border-radius:999px; background:var(--jr-blue-50); color:var(--jr-blue-700); font-size:8.5px; font-weight:850; }
.jr-profile-action-card { padding:21px; border:1px solid var(--jr-line); border-radius:18px; background:#fff; box-shadow:0 9px 28px rgba(16,63,84,.055); }
.jr-profile-action-card.primary { color:#fff; border-color:transparent; background:linear-gradient(150deg,var(--jr-blue-700),var(--jr-blue) 55%,var(--jr-green)); }
.jr-profile-action-icon { width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:rgba(255,255,255,.13); color:#fff; }
.jr-profile-action-card h3 { margin:12px 0 5px; color:var(--jr-navy); font-size:15px; font-weight:950; }
.jr-profile-action-card.primary h3 { color:#fff; }
.jr-profile-action-card p { margin:0; color:#71808a; font-size:10.5px; line-height:1.6; }
.jr-profile-action-card.primary p { color:#d9e7ed; }
.jr-profile-action-card .jr-btn { width:100%; margin-top:14px; }
.jr-profile-action-card.primary .jr-btn { background:#fff; color:var(--jr-blue-700); box-shadow:none; }
.jr-credit-balance { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:10px 11px; border-radius:11px; background:rgba(255,255,255,.09); }
.jr-credit-balance span { color:#dce8ed; font-size:9.5px; }
.jr-credit-balance strong { color:#fff; font-size:15px; }
.jr-unlocked-pill { display:inline-flex; align-items:center; gap:7px; margin-top:12px; padding:7px 9px; border-radius:999px; background:rgba(255,255,255,.12); color:#eff8ec; font-size:9.5px; font-weight:850; }
.jr-profile-back { display:inline-flex; align-items:center; gap:7px; margin-bottom:12px; color:#72838d; font-size:10.5px; font-weight:800; }
.jr-profile-back:hover { color:var(--jr-blue); }

/* Credits */
.jr-credits-hero { padding:28px 0 12px; }
.jr-credits-hero-card { position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr); gap:28px; align-items:center; padding:38px 40px; border-radius:26px; color:#fff; background:linear-gradient(135deg,var(--jr-blue-700),var(--jr-blue) 56%,var(--jr-green) 128%); box-shadow:0 20px 50px rgba(3,108,152,.14); }
.jr-credits-hero-card::after { content:""; position:absolute; width:300px; height:300px; right:-95px; top:-155px; border:50px solid rgba(255,255,255,.06); border-radius:50%; }
.jr-credits-hero-copy,.jr-credits-hero-side { position:relative; z-index:1; }
.jr-credits-hero h1 { margin:12px 0 9px; font-size:clamp(30px,3.4vw,45px); line-height:1.08; letter-spacing:-.04em; font-weight:950; }
.jr-credits-hero p { margin:0; max-width:670px; color:#dce8ed; font-size:13.5px; line-height:1.72; }
.jr-credits-hero-side { padding:18px; border:1px solid rgba(255,255,255,.14); border-radius:17px; background:rgba(255,255,255,.09); }
.jr-credits-hero-side strong { display:block; font-size:14px; font-weight:900; }
.jr-credits-hero-side span { display:block; margin-top:5px; color:#dce8ed; font-size:10.5px; line-height:1.55; }
.jr-credit-pack-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; padding:25px 0 12px; align-items:stretch; }
.jr-credit-pack { position:relative; overflow:hidden; display:flex; flex-direction:column; min-height:100%; padding:25px; border:1px solid var(--jr-line); border-radius:20px; background:#fff; box-shadow:0 8px 25px rgba(16,63,84,.045); transition:.18s ease; }
.jr-credit-pack:hover { transform:translateY(-3px); box-shadow:0 15px 35px rgba(16,63,84,.09); }
.jr-credit-pack.featured { border-color:#bdd39c; box-shadow:0 15px 38px rgba(122,168,66,.13); }
.jr-credit-popular { position:absolute; right:14px; top:14px; padding:5px 8px; border-radius:999px; background:var(--jr-green); color:#fff; font-size:8px; font-weight:950; text-transform:uppercase; letter-spacing:.07em; }
.jr-credit-pack-icon { width:41px; height:41px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--jr-blue-50); color:var(--jr-blue); font-size:14px; }
.jr-credit-pack h2 { margin:14px 0 3px; color:var(--jr-navy); font-size:16px; font-weight:950; }
.jr-credit-pack-sub { margin:0; color:#8897a0; font-size:9.5px; }
.jr-credit-price { display:flex; align-items:baseline; gap:6px; margin:18px 0 4px; }
.jr-credit-price strong { color:var(--jr-navy); font-size:31px; line-height:1; letter-spacing:-.04em; font-weight:950; }
.jr-credit-price span { color:#74848d; font-size:10px; font-weight:800; }
.jr-credit-usd { color:#9ba7ad; font-size:9.5px; }
.jr-credit-count { margin-top:16px; padding:11px 12px; display:flex; align-items:center; gap:9px; border-radius:12px; background:var(--jr-green-50); color:var(--jr-green-700); }
.jr-credit-count i { color:var(--jr-green); }
.jr-credit-count strong { font-size:11px; }
.jr-credit-features { flex:1; margin:18px 0 0; padding:0; display:grid; align-content:start; gap:10px; list-style:none; }
.jr-credit-features li { display:flex; align-items:flex-start; gap:8px; color:#60717b; font-size:10.5px; line-height:1.45; }
.jr-credit-features i { margin-top:2px; color:var(--jr-green); font-size:9px; }
.jr-credit-pack .jr-btn { width:100%; margin-top:20px; }
.jr-credit-trust { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; padding:26px 0 50px; }
.jr-credit-trust-item { padding:18px; display:flex; align-items:center; gap:12px; border:1px solid var(--jr-line); border-radius:15px; background:#fff; }
.jr-credit-trust-icon { width:38px; height:38px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; border-radius:11px; background:var(--jr-blue-50); color:var(--jr-blue); }
.jr-credit-trust-item strong { display:block; color:var(--jr-navy); font-size:11px; }
.jr-credit-trust-item span { display:block; margin-top:3px; color:#88959d; font-size:9.5px; line-height:1.45; }

/* Account credit summary */
.jr-account-credit-card { padding:20px; border:1px solid var(--jr-line); border-radius:16px; background:linear-gradient(135deg,#fff,var(--jr-blue-50)); }
.jr-account-credit-top { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.jr-account-credit-number { color:var(--jr-blue-700); font-size:34px; line-height:1; font-weight:950; }
.jr-account-credit-label { color:#71808a; font-size:10px; font-weight:800; }

@media (max-width: 1024px) {
  .jr-talents-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jr-talent-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jr-profile-layout { grid-template-columns:minmax(0,1fr) 280px; }
  .jr-credit-pack-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 820px) {
  .jr-talent-hero-card,.jr-credits-hero-card { grid-template-columns:1fr; padding:28px 24px; }
  .jr-talent-hero-panel,.jr-credits-hero-side { max-width:none; }
  .jr-talent-search-wrap { position:static; }
  .jr-profile-layout { grid-template-columns:1fr; }
  .jr-profile-sidebar { position:static; grid-row:1; }
  .jr-language-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  .jr-talent-hero { padding-top:16px; }
  .jr-talent-hero-card,.jr-credits-hero-card { border-radius:20px; padding:24px 19px; }
  .jr-talent-search-main { grid-template-columns:1fr auto; }
  .jr-talent-search-main .jr-btn { grid-column:1/-1; width:100%; }
  .jr-talent-filter-grid { grid-template-columns:1fr; }
  .jr-talents-grid,.jr-credit-pack-grid,.jr-credit-trust { grid-template-columns:1fr; }
  .jr-profile-hero,.jr-profile-section,.jr-profile-action-card { padding:19px; border-radius:16px; }
  .jr-profile-header { align-items:flex-start; }
  .jr-profile-avatar { width:62px; height:62px; border-radius:17px; font-size:21px; }
  .jr-profile-contact-grid { grid-template-columns:1fr; }
  .jr-language-grid { grid-template-columns:1fr; }
  .jr-talents-results-head { align-items:flex-start; flex-direction:column; gap:5px; }
}
.jr-credit-pack-grid.is-two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; margin-inline:auto; }
@media (max-width: 640px) { .jr-credit-pack-grid.is-two { grid-template-columns:1fr; } }

/* =========================================================
   JobRelais UI V2 — Institutional + account experience (27)
   Green #7AA842 dominant, blue #036C98 secondary
   ========================================================= */
.jr-page-hero { padding: 32px 0 18px; }
.jr-page-hero-card { position:relative; overflow:hidden; padding:38px 42px; border-radius:24px; color:#fff; background:linear-gradient(135deg,var(--jr-green-700),var(--jr-green) 72%,#89b84d); box-shadow:0 18px 44px rgba(86,120,46,.18); }
.jr-page-hero-card::before { content:""; position:absolute; width:250px; height:250px; border-radius:50%; right:-90px; top:-120px; background:rgba(3,108,152,.18); }
.jr-page-hero-card::after { content:""; position:absolute; width:140px; height:140px; border-radius:50%; right:130px; bottom:-100px; border:28px solid rgba(255,255,255,.08); }
.jr-page-hero-copy { position:relative; z-index:1; max-width:760px; }
.jr-page-hero-kicker { display:inline-flex; align-items:center; gap:7px; color:#eff8df; font-size:11px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.jr-page-hero h1 { margin:8px 0 9px; font-size:clamp(30px,4vw,46px); line-height:1.08; letter-spacing:-.04em; font-weight:900; }
.jr-page-hero p { margin:0; max-width:700px; color:#f4f9ec; font-size:14px; line-height:1.75; }
.jr-page-shell { padding:22px 0 56px; }
.jr-info-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.jr-info-card { padding:22px; background:#fff; border:1px solid var(--jr-line); border-radius:18px; box-shadow:var(--jr-shadow-soft); }
.jr-info-icon { width:46px; height:46px; display:flex; align-items:center; justify-content:center; border-radius:13px; color:#fff; background:var(--jr-green); box-shadow:0 8px 18px rgba(122,168,66,.22); }
.jr-info-card:nth-child(even) .jr-info-icon { background:var(--jr-blue); }
.jr-info-card h3 { margin:15px 0 7px; color:var(--jr-ink); font-size:16px; font-weight:900; }
.jr-info-card p { margin:0; color:var(--jr-muted); font-size:12.5px; line-height:1.7; }
.jr-info-card a { display:inline-flex; gap:7px; align-items:center; margin-top:14px; color:var(--jr-green-700); font-size:12px; font-weight:850; }
.jr-split-card { display:grid; grid-template-columns:1fr 1fr; gap:0; overflow:hidden; background:#fff; border:1px solid var(--jr-line); border-radius:22px; box-shadow:var(--jr-shadow-soft); }
.jr-split-copy { padding:34px; }
.jr-split-copy h2 { margin:4px 0 10px; color:var(--jr-navy); font-size:25px; font-weight:900; letter-spacing:-.025em; }
.jr-split-copy p { color:var(--jr-muted); font-size:13px; line-height:1.8; }
.jr-split-accent { padding:34px; color:#fff; background:linear-gradient(145deg,var(--jr-green-700),var(--jr-green)); }
.jr-split-accent h3 { margin:0 0 14px; font-size:20px; font-weight:900; }
.jr-value-list { display:grid; gap:11px; }
.jr-value-item { display:flex; gap:12px; align-items:flex-start; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.jr-value-item:last-child { border-bottom:0; }
.jr-value-item i { margin-top:2px; color:#eaf7d2; }
.jr-value-item strong { display:block; font-size:13px; }
.jr-value-item span { color:#f0f7e8; font-size:11.5px; }
.jr-process { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:18px; }
.jr-process-step { position:relative; padding:22px; background:#fff; border:1px solid var(--jr-line); border-radius:17px; }
.jr-process-number { width:30px; height:30px; display:flex; align-items:center; justify-content:center; border-radius:9px; color:#fff; background:var(--jr-green); font-size:11px; font-weight:900; }
.jr-process-step h3 { margin:12px 0 5px; font-size:14px; font-weight:900; color:var(--jr-ink); }
.jr-process-step p { margin:0; color:var(--jr-muted); font-size:11.5px; line-height:1.65; }

/* Contact */
.jr-contact-layout { display:grid; grid-template-columns:.78fr 1.22fr; gap:18px; align-items:start; }
.jr-contact-panel, .jr-contact-form-card { background:#fff; border:1px solid var(--jr-line); border-radius:20px; box-shadow:var(--jr-shadow-soft); }
.jr-contact-panel { padding:24px; }
.jr-contact-form-card { padding:28px; }
.jr-contact-panel h2, .jr-contact-form-card h2 { margin:0; color:var(--jr-navy); font-size:19px; font-weight:900; }
.jr-contact-panel > p, .jr-contact-form-card > p { color:var(--jr-muted); font-size:12px; line-height:1.7; }
.jr-contact-list { display:grid; gap:10px; margin-top:18px; }
.jr-contact-method { display:flex; align-items:center; gap:12px; padding:13px; border:1px solid var(--jr-line); border-radius:13px; background:#fbfcfb; transition:.18s ease; }
.jr-contact-method:hover { border-color:#cfe0b9; background:var(--jr-green-50); transform:translateY(-1px); }
.jr-contact-method-icon { flex:0 0 auto; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:11px; color:#fff; background:var(--jr-green); }
.jr-contact-method.blue .jr-contact-method-icon { background:var(--jr-blue); }
.jr-contact-method small { display:block; color:#8793a2; font-size:9.5px; text-transform:uppercase; letter-spacing:.06em; font-weight:800; }
.jr-contact-method strong { display:block; margin-top:2px; color:var(--jr-ink); font-size:12.5px; }
.jr-contact-form { margin-top:20px; display:grid; gap:14px; }
.jr-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; }
.jr-field label { display:block; margin-bottom:6px; color:#475569; font-size:11px; font-weight:800; }
.jr-field input, .jr-field select, .jr-field textarea { width:100%; border:1px solid #dfe6e2; border-radius:11px; background:#fff; padding:11px 12px; color:var(--jr-ink); font:inherit; font-size:12.5px; outline:none; transition:.18s ease; }
.jr-field input:focus, .jr-field select:focus, .jr-field textarea:focus { border-color:var(--jr-green); box-shadow:0 0 0 3px rgba(122,168,66,.12); }
.jr-field textarea { min-height:125px; resize:vertical; }
.jr-alert-success { margin-bottom:16px; padding:12px 14px; border-radius:12px; color:#3f6426; background:var(--jr-green-50); border:1px solid #d8e9c5; font-size:12px; font-weight:700; }

/* Pricing */
.jr-pricing-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; align-items:stretch; }
.jr-pricing-grid.is-two { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:820px; margin-inline:auto; }
.jr-pricing-card { position:relative; display:flex; flex-direction:column; padding:26px; background:#fff; border:1px solid var(--jr-line); border-radius:20px; box-shadow:var(--jr-shadow-soft); }
.jr-pricing-card.featured { border:2px solid var(--jr-green); box-shadow:0 16px 36px rgba(122,168,66,.16); transform:translateY(-5px); }
.jr-pricing-badge { position:absolute; top:14px; right:14px; padding:5px 8px; border-radius:999px; color:#fff; background:var(--jr-green); font-size:9px; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.jr-pricing-card h2 { margin:0; color:var(--jr-ink); font-size:18px; font-weight:900; }
.jr-pricing-price { margin:20px 0 2px; color:var(--jr-green-700); }
.jr-pricing-price strong { font-size:36px; line-height:1; letter-spacing:-.04em; }
.jr-pricing-price span { font-size:12px; font-weight:800; }
.jr-pricing-usd { color:#94a3b8; font-size:10.5px; }
.jr-pricing-meta { display:grid; gap:7px; margin:18px 0; }
.jr-pricing-meta span { display:flex; gap:8px; align-items:center; color:#5d6b7a; font-size:11.5px; }
.jr-pricing-meta i { color:var(--jr-green); }
.jr-pricing-features { flex:1; display:grid; gap:10px; margin:5px 0 22px; padding:0; list-style:none; }
.jr-pricing-features li { display:flex; gap:9px; color:#64748b; font-size:11.5px; line-height:1.5; }
.jr-pricing-features i { margin-top:2px; color:var(--jr-green); }

/* Authentication */
.jr-auth-shell { padding:34px 0 56px; }
.jr-auth-frame { width:min(960px,100%); margin:0 auto; display:grid; grid-template-columns:.82fr 1.18fr; overflow:hidden; background:#fff; border:1px solid var(--jr-line); border-radius:24px; box-shadow:0 20px 56px rgba(24,52,42,.10); }
.jr-auth-brand { position:relative; overflow:hidden; padding:42px 34px; color:#fff; background:linear-gradient(155deg,var(--jr-green-700),var(--jr-green)); }
.jr-auth-brand::after { content:""; position:absolute; width:230px; height:230px; border-radius:50%; right:-105px; bottom:-95px; background:rgba(3,108,152,.20); }
.jr-auth-brand > * { position:relative; z-index:1; }
.jr-auth-brand img { height:45px; width:auto; filter:brightness(0) invert(1); opacity:.98; }
.jr-auth-brand h2 { margin:36px 0 10px; font-size:28px; line-height:1.12; letter-spacing:-.035em; font-weight:900; }
.jr-auth-brand p { margin:0; color:#eff7e7; font-size:12.5px; line-height:1.75; }
.jr-auth-benefits { display:grid; gap:11px; margin-top:26px; }
.jr-auth-benefit { display:flex; gap:9px; align-items:center; color:#f7fbf1; font-size:11.5px; font-weight:700; }
.jr-auth-benefit i { width:22px; height:22px; display:flex; align-items:center; justify-content:center; border-radius:7px; background:rgba(255,255,255,.13); }
.jr-auth-panel { padding:40px; }
.jr-auth-panel h1 { margin:0 0 7px; color:var(--jr-navy); font-size:27px; font-weight:900; letter-spacing:-.03em; }
.jr-auth-panel > p { margin:0 0 25px; color:var(--jr-muted); font-size:12.5px; }
.jr-auth-panel form label { color:#4b5968 !important; font-size:11px !important; font-weight:800 !important; }
.jr-auth-panel form input:not([type=checkbox]), .jr-auth-panel form select, .jr-auth-panel form textarea { border:1px solid #dfe6e2 !important; border-radius:11px !important; min-height:45px; background:#fff !important; font-size:12.5px !important; box-shadow:none !important; }
.jr-auth-panel form input:focus, .jr-auth-panel form select:focus, .jr-auth-panel form textarea:focus { border-color:var(--jr-green) !important; box-shadow:0 0 0 3px rgba(122,168,66,.12) !important; }
.jr-auth-panel form button[type=submit] { background:var(--jr-green) !important; border-radius:11px !important; min-height:45px; font-weight:850 !important; }
.jr-auth-panel form button[type=submit]:hover { background:var(--jr-green-700) !important; }
.jr-auth-panel form a { color:var(--jr-green-700) !important; }

/* User account */
.jr-account-wrap { padding:28px 0 54px; }
.jr-account-head { margin-bottom:18px; padding:22px 26px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-radius:19px; color:#fff; background:linear-gradient(110deg,var(--jr-green-700),var(--jr-green)); }
.jr-account-head h1 { margin:0; font-size:20px; font-weight:900; }
.jr-account-head p { margin:4px 0 0; color:#eef7e5; font-size:11.5px; }
.jr-account-head-icon { width:44px; height:44px; display:flex; align-items:center; justify-content:center; border-radius:13px; background:rgba(255,255,255,.13); font-size:18px; }
.jr-account-grid { display:grid; grid-template-columns:270px minmax(0,1fr); gap:18px; align-items:start; }
.jr-account-sidebar { overflow:hidden; background:#fff; border:1px solid var(--jr-line); border-radius:18px; box-shadow:var(--jr-shadow-soft); }
.jr-account-user { padding:22px; text-align:center; border-bottom:1px solid var(--jr-line); }
.jr-account-user img { width:72px; height:72px; object-fit:cover; border-radius:50%; border:3px solid #e7f1db; box-shadow:0 0 0 4px #f6faef; }
.jr-account-user h3 { margin:10px 0 2px; color:var(--jr-ink); font-size:13.5px; font-weight:900; }
.jr-account-user p { margin:0; color:#8996a5; font-size:10px; overflow-wrap:anywhere; }
.jr-account-nav { padding:8px; display:grid; gap:2px; }
.jr-account-nav a, .jr-account-nav button { width:100%; display:flex; align-items:center; gap:10px; padding:10px 11px; border:0; border-radius:10px; background:transparent; color:#64748b; font:inherit; font-size:11.5px; font-weight:750; text-align:left; cursor:pointer; }
.jr-account-nav a:hover, .jr-account-nav button:hover { background:#f6f9f3; color:var(--jr-green-700); }
.jr-account-nav a.is-active { color:#fff; background:var(--jr-green); box-shadow:0 6px 14px rgba(122,168,66,.18); }
.jr-account-nav i { width:17px; text-align:center; }
.jr-account-nav-sep { height:1px; margin:5px 8px; background:var(--jr-line); }
.jr-account-nav .danger { color:#c45d5d; }
.jr-account-main { min-width:0; }
.jr-account-content { padding:26px; background:#fff; border:1px solid var(--jr-line); border-radius:18px; box-shadow:var(--jr-shadow-soft); }
.jr-account-content > h3, .jr-account-title { margin:0 0 18px; color:var(--jr-navy); font-size:18px; font-weight:900; }
.jr-account-content form label { color:#4b5968 !important; font-size:11px !important; font-weight:800 !important; }
.jr-account-content form input:not([type=checkbox]), .jr-account-content form select, .jr-account-content form textarea { border:1px solid #dfe6e2 !important; border-radius:10px !important; background:#fff !important; font-size:12px !important; box-shadow:none !important; }
.jr-account-content form input:focus, .jr-account-content form select:focus, .jr-account-content form textarea:focus { border-color:var(--jr-green) !important; box-shadow:0 0 0 3px rgba(122,168,66,.11) !important; }
.jr-account-content form button[type=submit] { background:var(--jr-green) !important; border-radius:10px !important; font-weight:850 !important; }
.jr-profile-progress { margin-bottom:14px; padding:15px 17px; background:#fff; border:1px solid var(--jr-line); border-radius:15px; }
.jr-progress-row { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:8px; }
.jr-progress-row strong { color:var(--jr-ink); font-size:11.5px; }
.jr-progress-row a { color:var(--jr-green-700); font-size:10.5px; font-weight:850; }
.jr-progress-track { height:7px; overflow:hidden; border-radius:999px; background:#e9eeea; }
.jr-progress-bar { height:100%; border-radius:inherit; background:linear-gradient(90deg,var(--jr-green-700),var(--jr-green)); transition:width .35s ease; }
.jr-account-table { width:100%; border-collapse:separate; border-spacing:0; overflow:hidden; font-size:11.5px; }
.jr-account-table th { padding:11px 12px; color:#657383; background:#f6f8f6; text-align:left; font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
.jr-account-table td { padding:12px; border-top:1px solid var(--jr-line); color:#526071; }
.jr-status { display:inline-flex; align-items:center; padding:5px 8px; border-radius:999px; font-size:9.5px; font-weight:850; }
.jr-status.success { color:#4f702b; background:#eef7e3; }
.jr-status.warning { color:#876b16; background:#fff7db; }
.jr-status.muted { color:#64748b; background:#f1f5f9; }
.jr-status.danger { color:#a94f4f; background:#fff0f0; }
.jr-empty { padding:34px 16px; text-align:center; color:#8a97a6; font-size:12px; }

@media (max-width: 920px) {
  .jr-info-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .jr-contact-layout, .jr-split-card { grid-template-columns:1fr; }
  .jr-pricing-grid { grid-template-columns:1fr 1fr; }
  .jr-account-grid { grid-template-columns:220px minmax(0,1fr); }
}
@media (max-width: 700px) {
  .jr-page-hero { padding-top:18px; }
  .jr-page-hero-card { padding:28px 22px; border-radius:19px; }
  .jr-info-grid, .jr-process, .jr-pricing-grid, .jr-pricing-grid.is-two, .jr-form-grid { grid-template-columns:1fr; }
  .jr-pricing-card.featured { transform:none; }
  .jr-auth-frame { grid-template-columns:1fr; border-radius:19px; }
  .jr-auth-brand { padding:28px 24px; }
  .jr-auth-brand h2 { margin-top:22px; font-size:23px; }
  .jr-auth-benefits { grid-template-columns:1fr 1fr; }
  .jr-auth-panel { padding:28px 22px; }
  .jr-account-head { padding:18px 20px; }
  .jr-account-grid { grid-template-columns:1fr; }
  .jr-account-sidebar { position:relative; }
  .jr-account-user { display:flex; align-items:center; gap:12px; text-align:left; padding:16px; }
  .jr-account-user img { width:52px; height:52px; }
  .jr-account-nav { display:flex; overflow-x:auto; padding:8px; scrollbar-width:none; }
  .jr-account-nav::-webkit-scrollbar { display:none; }
  .jr-account-nav a, .jr-account-nav button { flex:0 0 auto; width:auto; white-space:nowrap; }
  .jr-account-nav-sep { width:1px; height:36px; margin:2px 4px; }
  .jr-account-content { padding:20px 16px; }
}
@media (max-width: 460px) {
  .jr-info-grid { grid-template-columns:1fr; }
  .jr-auth-benefits { grid-template-columns:1fr; }
  .jr-contact-panel, .jr-contact-form-card { padding:20px; }
}

/* =========================================================
   JobRelais V2.8 — Blog, pages légales & publication
   Identité: vert #7AA842 dominant, bleu #036C98 secondaire
   ========================================================= */

/* Reinforce brand hierarchy globally */
.jr-hero {
  background:
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.13), transparent 24%),
    linear-gradient(132deg, #56782e 0%, var(--jr-green) 48%, #6f9a3a 72%, var(--jr-blue) 145%);
}
.jr-hero::before { background: rgba(3,108,152,.12); }
.jr-hero::after { border-color: rgba(255,255,255,.07); }

/* Blog index */
.jr-blog-hero {
  position: relative;
  overflow: hidden;
  padding: 54px 0 48px;
  color: #fff;
  background:
    radial-gradient(circle at 82% 15%, rgba(255,255,255,.16), transparent 22%),
    linear-gradient(132deg, #5e8232 0%, var(--jr-green) 55%, #729e3c 100%);
}
.jr-blog-hero::after {
  content: "";
  position: absolute;
  width: 360px;
  height: 360px;
  right: -120px;
  bottom: -250px;
  border-radius: 50%;
  border: 58px solid rgba(3,108,152,.12);
}
.jr-blog-hero-inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1fr auto; gap: 32px; align-items: center; }
.jr-eyebrow-light { color:#fff; background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.22); }
.jr-blog-hero h1 { margin:14px 0 10px; max-width:760px; font-size:clamp(34px,4vw,54px); line-height:1.05; letter-spacing:-.04em; font-weight:900; }
.jr-blog-hero p { margin:0; max-width:720px; color:rgba(255,255,255,.88); font-size:15px; line-height:1.7; }
.jr-blog-hero-mark { width:116px; height:116px; display:flex; align-items:center; justify-content:center; border-radius:30px; color:#fff; background:rgba(3,108,152,.20); border:1px solid rgba(255,255,255,.18); font-size:44px; transform:rotate(4deg); }
.jr-blog-page { padding-top: 18px; padding-bottom: 52px; }
.jr-blog-search-card { margin:18px 0 34px; padding:22px; display:grid; grid-template-columns:minmax(220px,.55fr) minmax(0,1.45fr); gap:24px; align-items:end; background:#fff; border:1px solid var(--jr-line); border-radius:20px; box-shadow:var(--jr-shadow-soft); }
.jr-section-kicker { display:inline-block; margin-bottom:5px; color:var(--jr-green); font-size:10px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.jr-blog-search-copy h2 { margin:0; color:var(--jr-ink); font-size:21px; line-height:1.2; font-weight:900; letter-spacing:-.02em; }
.jr-blog-search-form { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(180px,.7fr) auto auto; gap:9px; align-items:end; }
.jr-blog-search-form .jr-field { display:block; min-width:0; }
.jr-blog-search-form .jr-field > span { display:block; margin-bottom:6px; color:#607066; font-size:10.5px; font-weight:850; }
.jr-field-control { position:relative; }
.jr-field-control i { position:absolute; left:12px; top:50%; transform:translateY(-50%); color:#94a3b8; font-size:12px; }
.jr-blog-search-form input, .jr-blog-search-form select { width:100%; height:42px; border:1px solid #dfe6e2; border-radius:10px; background:#fff; color:var(--jr-ink); font:inherit; font-size:12px; outline:none; }
.jr-blog-search-form input { padding:0 12px 0 35px; }
.jr-blog-search-form select { padding:0 11px; }
.jr-blog-search-form input:focus, .jr-blog-search-form select:focus { border-color:var(--jr-green); box-shadow:0 0 0 3px rgba(122,168,66,.12); }
.jr-blog-search-submit, .jr-blog-reset { min-height:42px; white-space:nowrap; }
.jr-blog-layout { display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:30px; align-items:start; }
.jr-blog-main { min-width:0; }
.jr-blog-section-head { margin-bottom:16px; }
.jr-result-count { display:inline-flex; align-items:center; min-height:31px; padding:0 10px; border-radius:999px; background:var(--jr-green-50); color:var(--jr-green-700); font-size:10.5px; font-weight:850; }
.jr-blog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.jr-blog-grid .jr-post-card { grid-template-columns:1fr; min-height:100%; }
.jr-blog-grid .jr-post-media { aspect-ratio:16/9; }
.jr-blog-grid .jr-post-body { padding:17px; }
.jr-blog-grid .jr-post-title { font-size:16px; }
.jr-blog-aside { position:sticky; top:96px; }
.jr-pagination-wrap { margin-top:24px; }
.jr-empty-state { padding:50px 24px; text-align:center; background:#fff; border:1px dashed #cfdad3; border-radius:18px; }
.jr-empty-icon { width:58px; height:58px; margin:0 auto 14px; display:flex; align-items:center; justify-content:center; border-radius:16px; background:var(--jr-green-50); color:var(--jr-green); font-size:23px; }
.jr-empty-state h3 { margin:0; color:var(--jr-ink); font-size:18px; font-weight:900; }
.jr-empty-state p { margin:7px 0 18px; color:var(--jr-muted); font-size:12px; }

/* Blog article */
.jr-article-page { background:var(--jr-bg); }
.jr-article-hero { position:relative; min-height:500px; display:flex; align-items:flex-end; overflow:hidden; background:#1d3321; }
.jr-article-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.jr-article-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(19,40,26,.12) 0%, rgba(23,50,31,.52) 48%, rgba(29,55,34,.95) 100%); }
.jr-article-hero-content { position:relative; z-index:2; padding-top:120px; padding-bottom:42px; color:#fff; }
.jr-article-breadcrumb { display:flex; align-items:center; gap:8px; margin-bottom:17px; color:rgba(255,255,255,.72); font-size:10.5px; font-weight:700; }
.jr-article-breadcrumb a { color:#fff; }
.jr-article-breadcrumb i { font-size:8px; opacity:.65; }
.jr-article-tags { display:flex; flex-wrap:wrap; gap:6px; }
.jr-article-tags span { display:inline-flex; padding:5px 9px; border-radius:999px; background:var(--jr-green); color:#fff; font-size:9.5px; font-weight:900; }
.jr-article-hero h1 { max-width:880px; margin:14px 0 14px; font-size:clamp(32px,4.6vw,58px); line-height:1.06; letter-spacing:-.04em; font-weight:900; }
.jr-article-meta { display:flex; flex-wrap:wrap; gap:16px; color:rgba(255,255,255,.78); font-size:11px; }
.jr-article-meta span { display:inline-flex; align-items:center; gap:6px; }
.jr-article-shell { padding-top:18px; padding-bottom:58px; }
.jr-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 270px; gap:26px; align-items:start; }
.jr-article-card { min-width:0; padding:34px 38px; background:#fff; border:1px solid var(--jr-line); border-radius:20px; box-shadow:var(--jr-shadow-soft); }
.jr-article-lead { margin:0 0 24px; padding:0 0 22px; border-bottom:1px solid var(--jr-line); color:#40534a; font-size:17px; line-height:1.75; font-weight:600; }
.jr-article-premium { margin-bottom:24px; }
.jr-rich-content { color:#33473e; font-size:14px; line-height:1.85; overflow-wrap:anywhere; }
.jr-rich-content h1, .jr-rich-content h2, .jr-rich-content h3, .jr-rich-content h4 { color:var(--jr-ink); line-height:1.25; font-weight:900; letter-spacing:-.015em; }
.jr-rich-content h2 { margin:30px 0 12px; font-size:23px; }
.jr-rich-content h3 { margin:24px 0 10px; font-size:18px; }
.jr-rich-content p { margin:0 0 16px; }
.jr-rich-content a { color:var(--jr-blue); text-decoration:underline; text-underline-offset:2px; }
.jr-rich-content ul, .jr-rich-content ol { margin:12px 0 18px; padding-left:22px; }
.jr-rich-content li { margin:5px 0; }
.jr-rich-content blockquote { margin:22px 0; padding:15px 18px; border-left:4px solid var(--jr-green); background:var(--jr-green-50); color:#46594d; border-radius:0 12px 12px 0; }
.jr-rich-content table { width:100%; min-width:600px; border-collapse:collapse; font-size:12px; }
.jr-rich-content table th { background:var(--jr-green-50); color:var(--jr-green-700); font-weight:850; }
.jr-rich-content table th, .jr-rich-content table td { padding:10px 11px; border:1px solid #dfe6e2; text-align:left; vertical-align:top; }
.jr-rich-content .table-responsive, .jr-rich-content > table { overflow-x:auto; }
.jr-article-tools { position:sticky; top:96px; display:grid; gap:10px; }
.jr-article-tool-card { padding:20px; background:#fff; border:1px solid var(--jr-line); border-radius:17px; box-shadow:0 5px 18px rgba(15,35,31,.04); }
.jr-article-tool-card h3 { margin:2px 0 6px; color:var(--jr-ink); font-size:17px; font-weight:900; }
.jr-article-tool-card p { margin:0 0 15px; color:var(--jr-muted); font-size:11.5px; line-height:1.6; }
.jr-share-article { width:100%; }
.jr-article-back { min-height:42px; display:flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--jr-line); border-radius:11px; background:#fff; color:#526256; font-size:11px; font-weight:800; }
.jr-article-back:hover { color:var(--jr-green); border-color:#c8d8ce; }
.jr-article-nav { margin-top:22px; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.jr-article-nav-link { min-width:0; padding:16px; display:flex; align-items:center; gap:13px; background:#fff; border:1px solid var(--jr-line); border-radius:15px; color:var(--jr-ink); transition:.18s ease; }
.jr-article-nav-link:hover { transform:translateY(-1px); border-color:#cbdac7; box-shadow:var(--jr-shadow-soft); }
.jr-article-nav-link > i { color:var(--jr-green); }
.jr-article-nav-link div { min-width:0; display:grid; gap:3px; }
.jr-article-nav-link span { color:#94a3b8; font-size:9.5px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.jr-article-nav-link strong { display:block; overflow:hidden; color:var(--jr-ink); font-size:12px; white-space:nowrap; text-overflow:ellipsis; }
.jr-article-nav-next { justify-content:flex-end; text-align:right; }

/* Publish opportunity */
.jr-publish-hero { position:relative; overflow:hidden; padding:54px 0 48px; color:#fff; background:linear-gradient(132deg,#5d8232 0%,var(--jr-green) 62%,#719c3d 100%); }
.jr-publish-hero::after { content:""; position:absolute; width:300px; height:300px; right:-95px; top:-145px; border-radius:50%; background:rgba(3,108,152,.15); }
.jr-publish-hero-inner { position:relative; z-index:1; text-align:center; }
.jr-publish-hero h1 { margin:14px auto 10px; max-width:780px; font-size:clamp(32px,4vw,48px); line-height:1.05; letter-spacing:-.035em; font-weight:900; }
.jr-publish-hero p { max-width:660px; margin:0 auto; color:rgba(255,255,255,.88); font-size:14px; line-height:1.7; }
.jr-publish-trust { margin:20px auto 0; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px 18px; color:rgba(255,255,255,.92); font-size:10.5px; font-weight:750; }
.jr-publish-trust span { display:inline-flex; align-items:center; gap:6px; }
.jr-publish-trust i { color:#fff; }
.jr-publish-shell { width:min(900px,calc(100% - 32px)); margin:0 auto; padding:34px 0 60px; }
.jr-publish-shell #choice-panel > .grid { gap:18px; }
.jr-publish-shell .choice-card { border:1px solid var(--jr-line); box-shadow:0 8px 28px rgba(15,35,31,.055); }
.jr-publish-shell .choice-card:hover { transform:translateY(-3px); border-color:#cedbc8; box-shadow:0 18px 38px rgba(15,35,31,.09); }
.jr-publish-shell .choice-card .bg-green-600, .jr-publish-shell button.bg-green-600, .jr-publish-shell a.bg-green-600 { background-color:var(--jr-green)!important; }
.jr-publish-shell .choice-card .text-green-600, .jr-publish-shell .text-green-600 { color:var(--jr-green)!important; }
.jr-publish-shell .choice-card .border-green-600 { border-color:var(--jr-green)!important; }
.jr-publish-shell #panel-form > form > div, .jr-publish-shell #panel-contact > div { border:1px solid var(--jr-line)!important; border-radius:18px!important; box-shadow:var(--jr-shadow-soft)!important; }
.jr-publish-shell #panel-form > form > div > h2 { display:flex; align-items:center; gap:8px; padding-bottom:12px; border-bottom:1px solid #eef2ef; color:var(--jr-ink); }
.jr-publish-shell #panel-form label { font-size:11px!important; font-weight:800!important; color:#526158!important; }
.jr-publish-shell #panel-form input:not([type="file"]), .jr-publish-shell #panel-form select { min-height:43px; border-color:#dfe6e2!important; border-radius:10px!important; }
.jr-publish-shell #panel-form input:focus, .jr-publish-shell #panel-form select:focus { border-color:var(--jr-green)!important; box-shadow:0 0 0 3px rgba(122,168,66,.11)!important; }
.jr-publish-shell .ql-toolbar.ql-snow { border-color:#dfe6e2; background:#f7faf7; }
.jr-publish-shell .ql-container.ql-snow { border-color:#dfe6e2; background:#fff; }

/* Legal pages */
.jr-legal-page { padding:0 0 58px; background:var(--jr-bg); }
.jr-legal-shell { padding-top:42px; }
.jr-legal-title { position:relative; margin:-2px 0 34px; padding:36px 40px; overflow:hidden; border-radius:24px; color:#fff; background:linear-gradient(130deg,#5e8232 0%,var(--jr-green) 66%,#759f42 100%); box-shadow:0 18px 42px rgba(86,120,46,.13); }
.jr-legal-title::after { content:""; position:absolute; right:-60px; top:-90px; width:230px; height:230px; border-radius:50%; background:rgba(3,108,152,.13); }
.jr-legal-title > * { position:relative; z-index:1; }
.jr-legal-title > span { color:rgba(255,255,255,.78)!important; }
.jr-legal-title h1 { margin:7px 0 7px!important; color:#fff!important; font-size:clamp(29px,4vw,43px)!important; line-height:1.08; letter-spacing:-.035em; font-weight:900!important; }
.jr-legal-title p { margin:0!important; color:rgba(255,255,255,.78)!important; }
.jr-legal-layout { display:flex; gap:28px; align-items:flex-start; }
.jr-legal-layout > aside { width:220px; flex:0 0 220px; }
.jr-legal-layout > aside > div { top:94px!important; padding:16px!important; border:1px solid var(--jr-line)!important; border-radius:16px!important; box-shadow:0 4px 16px rgba(15,35,31,.035); }
.jr-legal-layout > aside nav a { padding:6px 8px; border-radius:7px; }
.jr-legal-layout > aside nav a:hover { background:var(--jr-green-50); color:var(--jr-green)!important; }
.jr-legal-layout > div { min-width:0; flex:1; }
.jr-legal-layout section, .jr-legal-layout > div > div.bg-white { border:1px solid var(--jr-line)!important; border-radius:17px!important; box-shadow:0 5px 18px rgba(15,35,31,.035); }
.jr-legal-layout section { scroll-margin-top:100px; }
.jr-legal-layout section h2 { color:var(--jr-ink)!important; }
.jr-legal-layout section h2 span { background:var(--jr-green-50)!important; color:var(--jr-green-700)!important; }
.jr-legal-layout a.text-green-600, .jr-legal-layout .text-green-600 { color:var(--jr-green)!important; }
.jr-legal-layout a.bg-green-600 { background:var(--jr-green)!important; }
.jr-legal-layout table { border-collapse:separate!important; border-spacing:0; overflow:hidden; border-radius:10px; }

@media (max-width: 980px) {
  .jr-blog-search-card { grid-template-columns:1fr; }
  .jr-blog-search-form { grid-template-columns:1fr 1fr; }
  .jr-blog-search-submit, .jr-blog-reset { width:100%; }
  .jr-blog-layout { grid-template-columns:1fr; }
  .jr-blog-aside, .jr-article-tools { position:static; }
  .jr-article-layout { grid-template-columns:1fr; }
  .jr-article-tools { grid-template-columns:1fr auto; align-items:stretch; }
  .jr-article-back { padding-inline:16px; }
}
@media (max-width: 760px) {
  .jr-blog-hero { padding:38px 0 34px; }
  .jr-blog-hero-inner { grid-template-columns:1fr; }
  .jr-blog-hero-mark { display:none; }
  .jr-blog-search-card { margin-top:10px; padding:17px; border-radius:16px; }
  .jr-blog-search-form { grid-template-columns:1fr; }
  .jr-blog-grid { grid-template-columns:1fr; }
  .jr-blog-grid .jr-post-card { grid-template-columns:120px minmax(0,1fr); min-height:140px; }
  .jr-blog-grid .jr-post-media { aspect-ratio:auto; }
  .jr-article-hero { min-height:430px; }
  .jr-article-hero-content { padding-top:90px; padding-bottom:28px; }
  .jr-article-hero h1 { font-size:34px; }
  .jr-article-meta { gap:10px; }
  .jr-article-card { padding:24px 20px; border-radius:16px; }
  .jr-article-lead { font-size:15px; }
  .jr-article-tools { grid-template-columns:1fr; }
  .jr-article-nav { grid-template-columns:1fr; }
  .jr-publish-hero { padding:38px 0 34px; }
  .jr-publish-trust { align-items:flex-start; flex-direction:column; width:max-content; max-width:100%; }
  .jr-publish-shell { width:min(100% - 24px,900px); padding-top:24px; }
  .jr-legal-shell { padding-top:22px; }
  .jr-legal-title { padding:27px 22px; border-radius:18px; }
  .jr-legal-layout { display:block; }
  .jr-legal-layout > aside { display:none!important; }
  .jr-legal-layout section { padding:21px!important; }
}
@media (max-width: 480px) {
  .jr-blog-grid .jr-post-card { grid-template-columns:1fr; }
  .jr-blog-grid .jr-post-media { aspect-ratio:16/9; }
  .jr-article-hero { min-height:390px; }
  .jr-article-hero h1 { font-size:30px; }
  .jr-article-meta span { width:100%; }
}

/* =========================================================
   JobRelais UI V2 — finition globale, accessibilité & états (correction 29)
   ========================================================= */

/* Accessibilité clavier */
.jr-skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 9999;
  transform: translateY(-140%); padding: 11px 15px; border-radius: 10px;
  background: var(--jr-green); color: #fff; font-size: 13px; font-weight: 900;
  box-shadow: var(--jr-shadow-soft); transition: transform .18s ease;
}
.jr-skip-link:focus { transform: translateY(0); }
.jr-body :where(a,button,input,select,textarea,[tabindex]):focus-visible {
  outline: 3px solid rgba(3,108,152,.38); outline-offset: 3px;
}
.jr-main:focus { outline: none; }
.sr-only {
  position:absolute!important; width:1px!important; height:1px!important; padding:0!important; margin:-1px!important;
  overflow:hidden!important; clip:rect(0,0,0,0)!important; white-space:nowrap!important; border:0!important;
}

/* Navigation active et navigation clavier */
.jr-nav-link.is-active, .jr-main-nav .jr-nav-link[aria-current="page"] {
  color: var(--jr-green-700); background: var(--jr-green-50);
}
.jr-nav-item:focus-within .jr-nav-menu { display:block; }
.jr-mobile-menu a[aria-current="page"] { color:var(--jr-green-700); }
.jr-mobile-sub-link { padding-left:16px!important; font-weight:650!important; color:#64748b!important; }
body.jr-menu-open { overflow:hidden; }

/* Le vert devient réellement la dominante des grands blocs */
.jr-hero,
.jr-listing-hero-card {
  background: linear-gradient(135deg, var(--jr-green-700) 0%, var(--jr-green) 58%, var(--jr-blue) 138%);
}
.jr-hero-card,
.jr-listing-hero-action { border-color:rgba(255,255,255,.16); }

/* Recherche générale */
.jr-utility-hero { padding:34px 0 14px; }
.jr-utility-hero-inner {
  position:relative; overflow:hidden; padding:38px 40px; border-radius:24px; color:#fff;
  background:linear-gradient(135deg,var(--jr-green-700),var(--jr-green) 64%,var(--jr-blue) 145%);
  box-shadow:0 18px 46px rgba(55,86,32,.13);
}
.jr-utility-hero-inner::after {
  content:""; position:absolute; right:-85px; top:-115px; width:280px; height:280px; border-radius:50%;
  border:48px solid rgba(255,255,255,.055); pointer-events:none;
}
.jr-utility-kicker { display:inline-flex; align-items:center; gap:7px; color:inherit; opacity:.9; font-size:11px; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }
.jr-utility-hero h1 { position:relative; z-index:1; margin:9px 0 8px; font-size:clamp(30px,4vw,46px); line-height:1.08; letter-spacing:-.04em; font-weight:900; }
.jr-utility-hero p { position:relative; z-index:1; max-width:720px; margin:0; color:rgba(255,255,255,.86); font-size:14px; line-height:1.7; }
.jr-global-search { position:relative; z-index:1; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:center; gap:8px; max-width:780px; margin-top:22px; padding:8px; border-radius:15px; background:#fff; box-shadow:0 12px 28px rgba(35,62,29,.18); }
.jr-global-search > i { margin-left:7px; color:#90a09a; font-size:13px; }
.jr-global-search input { min-width:0; height:46px; border:0; outline:0; background:transparent; color:var(--jr-ink); font:inherit; font-size:13px; }
.jr-global-search .jr-btn { height:46px; }
.jr-search-results-section { padding-top:20px; }
.jr-empty-state h2 { margin:0 0 7px; color:var(--jr-navy); font-size:21px; font-weight:900; }
.jr-empty-state p { max-width:500px; margin:0 auto 18px; color:var(--jr-muted); line-height:1.65; font-size:13px; }
.jr-search-shortcuts { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; }
.jr-search-shortcuts a { padding:8px 12px; border-radius:999px; background:var(--jr-green-50); color:var(--jr-green-700); font-size:11px; font-weight:850; }

/* États compte / paiement / formulaires de sécurité */
.jr-auth-utility, .jr-status-page { padding:48px 0 64px; }
.jr-auth-utility-card, .jr-status-card {
  width:min(100%,560px); margin:0 auto; padding:34px; text-align:center; background:#fff;
  border:1px solid var(--jr-line); border-radius:24px; box-shadow:var(--jr-shadow-soft);
}
.jr-auth-utility-icon, .jr-status-icon {
  width:62px; height:62px; margin:0 auto 16px; display:grid; place-items:center; border-radius:19px;
  background:var(--jr-green-50); color:var(--jr-green-700); font-size:23px;
}
.jr-status-icon.is-success { background:var(--jr-green-50); color:var(--jr-green-700); }
.jr-status-icon.is-error { background:#fff1f2; color:#dc2626; }
.jr-status-icon.is-pending { background:#fff8e8; color:#b7791f; }
.jr-auth-utility-card h1, .jr-status-card h1 { margin:8px 0 8px; color:var(--jr-navy); font-size:28px; line-height:1.15; letter-spacing:-.03em; font-weight:900; }
.jr-auth-utility-card > p, .jr-status-card > p { margin:0 auto 22px; color:var(--jr-muted); font-size:13px; line-height:1.7; max-width:480px; }
.jr-form-stack { display:grid; gap:15px; text-align:left; margin-top:22px; }
.jr-form-stack label { display:block; margin:0 0 6px 2px; color:#4d5c68; font-size:11px; font-weight:850; }
.jr-form-stack input { width:100%; height:47px; padding:0 13px; border:1px solid #dfe6e2; border-radius:11px; background:#fbfcfb; color:var(--jr-ink); font:inherit; font-size:13px; outline:0; }
.jr-form-stack input:focus { background:#fff; border-color:#9bbc73; box-shadow:0 0 0 3px rgba(122,168,66,.12); }
.jr-field-error { display:block; margin-top:6px; color:#c53030; font-size:11px; font-weight:650; }
.jr-btn-block { width:100%; }
.jr-back-link { display:inline-flex; align-items:center; gap:7px; margin-top:18px; color:var(--jr-blue); font-size:12px; font-weight:800; }
.jr-alert { margin:18px 0 0; padding:11px 13px; border-radius:10px; text-align:left; font-size:12px; line-height:1.5; }
.jr-alert-success { border:1px solid #d8e9c4; background:var(--jr-green-50); color:#4d6d29; }
.jr-status-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; margin-top:20px; }
.jr-status-details { margin:20px 0 0; padding:5px 16px; text-align:left; background:#f8faf8; border:1px solid var(--jr-line); border-radius:14px; }
.jr-status-details > div { display:grid; grid-template-columns:120px minmax(0,1fr); gap:10px; padding:11px 0; border-bottom:1px solid var(--jr-line); }
.jr-status-details > div:last-child { border-bottom:0; }
.jr-status-details dt { color:var(--jr-muted); font-size:11px; font-weight:750; }
.jr-status-details dd { margin:0; color:var(--jr-ink); font-size:12px; font-weight:850; text-align:right; overflow-wrap:anywhere; }
.jr-error-code { color:var(--jr-green); font-size:72px; line-height:.95; letter-spacing:-.08em; font-weight:950; opacity:.22; }

@media (max-width:760px) {
  body.jr-menu-open .jr-mobile-menu { max-height:calc(100vh - 64px); overflow-y:auto; overscroll-behavior:contain; }
  .jr-utility-hero { padding-top:18px; }
  .jr-utility-hero-inner { padding:28px 21px; border-radius:20px; }
  .jr-global-search { grid-template-columns:auto minmax(0,1fr); }
  .jr-global-search .jr-btn { grid-column:1 / -1; width:100%; }
  .jr-auth-utility, .jr-status-page { padding:28px 0 44px; }
  .jr-auth-utility-card, .jr-status-card { padding:27px 20px; border-radius:20px; }
  .jr-auth-utility-card h1, .jr-status-card h1 { font-size:24px; }
  .jr-status-details > div { grid-template-columns:1fr; gap:3px; }
  .jr-status-details dd { text-align:left; }
}

/* =========================================================
   JobRelais correction 30 — Monétisation AdSense manuelle
   Complément des Auto Ads, sans masquer les contenus.
   ========================================================= */
.jr-adsense-manual {
  width:100%;
  min-width:0;
  margin:22px 0;
  padding:10px 0 4px;
  overflow:hidden;
  border-radius:14px;
  background:transparent;
}
.jr-adsense-label {
  margin:0 0 7px;
  color:#94a3b8;
  font-size:9px;
  line-height:1;
  font-weight:700;
  letter-spacing:.08em;
  text-align:center;
  text-transform:uppercase;
}
.jr-adsense-manual ins.adsbygoogle {
  width:100%;
  max-width:100%;
  min-height:90px;
}
.jr-listing-ad-infeed {
  grid-column:1 / -1;
  margin:3px 0 8px;
  padding:10px 12px 12px;
  border:1px solid #e4eadf;
  border-radius:16px;
  background:#fff;
  box-shadow:0 7px 20px rgba(45,67,35,.035);
}
.jr-detail-adsense-main {
  margin:0 0 18px;
  padding:12px 14px;
  border:1px solid #e6ebdf;
  border-radius:16px;
  background:#fff;
}
.jr-sidebar-adsense {
  margin:0;
  padding:11px 10px 9px;
  border:1px solid #e6ebdf;
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 20px rgba(45,67,35,.03);
}
.jr-sidebar-adsense ins.adsbygoogle { min-height:250px; }
.jr-article-adsense {
  margin:24px 0 26px;
  padding:14px 0;
  border-top:1px solid #edf1e9;
  border-bottom:1px solid #edf1e9;
}
.jr-article-adsense ins.adsbygoogle { min-height:120px; }

@media (max-width:860px) {
  .jr-sidebar-adsense { margin-top:0; }
}
@media (max-width:700px) {
  .jr-adsense-manual { margin:17px 0; }
  .jr-listing-ad-infeed { padding:8px; border-radius:14px; }
  .jr-sidebar-adsense { padding:8px; }
  .jr-sidebar-adsense ins.adsbygoogle { min-height:100px; }
  .jr-detail-adsense-main { padding:8px; }
}
