/* Job Europe – search page, cards, offer summary and apply button */
.jeu-wrap{--jeu-blue:#1459b8;--jeu-navy:#102a43;--jeu-muted:#62748a;max-width:1120px;margin:32px auto;font-family:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;color:var(--jeu-navy)}
.jeu-hero{padding:30px;background:linear-gradient(135deg,#eff7ff,#fff 72%);border:1px solid #d8e7f8;border-radius:18px 18px 0 0}
.jeu-hero h2{margin:0 0 8px;color:var(--jeu-navy);font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.3}
.jeu-hero p{margin:0;color:var(--jeu-muted);line-height:1.65}
.jeu-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;padding:24px 30px 28px;background:#fff;border:1px solid #d8e7f8;border-top:0;border-radius:0 0 18px 18px;box-shadow:0 10px 30px rgba(25,75,130,.08)}
.jeu-field-wide{grid-column:1/-1}
.jeu-field label{display:block;font-weight:750;margin:0 0 8px;color:#203c5b}
.jeu-field select,.jeu-field input[type=search]{box-sizing:border-box;width:100%;max-width:100%;min-height:50px;padding:11px 13px;border:1px solid #cbd8e8;border-radius:10px;background:#fff;color:#243b53;font:inherit}
.jeu-field select:focus,.jeu-field input[type=search]:focus{outline:none;border-color:var(--jeu-blue);box-shadow:0 0 0 3px #1459b821}
.jeu-field select:disabled{background:#f3f6fa;color:#7b8ca0}
.jeu-submit{grid-column:1/-1;justify-self:start;min-height:48px;background:linear-gradient(110deg,#1769D2 0%,#3B91FF 100%)!important;color:#fff!important;border:1px solid #3B91FF!important;border-radius:10px;padding:12px 26px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 4px 12px rgba(23,105,210,.12)}
.jeu-submit:hover{background:linear-gradient(110deg,#3B91FF 0%,#1769D2 100%)!important}
.jeu-results{margin-top:30px}
.jeu-wrap .jeu-results h2,.jeu-wrap .jeu-blog h2{font-size:22px;line-height:1.35;font-weight:750;margin:0 0 7px}
.jeu-offer-count{display:inline-flex;align-items:center;vertical-align:middle;margin-left:10px;padding:5px 11px;border-radius:999px;background:#1459b8;color:#fff;font-size:13px;line-height:1.2;font-weight:800;letter-spacing:.03em}
.jeu-results-intro{margin:0 0 18px;color:var(--jeu-muted);font-size:17px;line-height:1.55}
.jeu-results-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch}
.jeu-article{display:flex;flex-direction:column;min-width:0;overflow:hidden;margin:0;padding:0;border:1px solid #e1e9f2;border-radius:15px;background:#fff;box-shadow:0 5px 18px #14325a0d;transition:transform .18s ease,box-shadow .18s ease}
.jeu-article:hover{transform:translateY(-3px);box-shadow:0 12px 28px #14325a17}
.jeu-article-body{display:flex;flex:1;flex-direction:column;padding:10px 20px 20px}
.jeu-article h3,.jeu-article h3 a{margin:0 0 8px;font-size:18px;line-height:1.4;font-weight:750;color:#124e96;text-decoration:none}
.jeu-meta{font-size:14px;line-height:1.5;color:#5b6b80;margin:0 0 6px}
.jeu-thumb{display:block;width:100%;height:190px;object-fit:cover;margin:0;border-radius:0}
.jeu-thumb-placeholder{display:flex;width:100%;height:190px;align-items:center;justify-content:center;background:linear-gradient(135deg,#eaf4ff,#d5e8ff);color:#1b5795;font-size:42px}
.jeu-excerpt{flex:1;margin-top:6px;line-height:1.6;color:#263f57;font-size:16px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}
.jeu-readmore{display:inline-flex;align-items:center;justify-content:center;margin-top:18px;min-height:46px;padding:10px 14px;border-radius:8px;background:linear-gradient(110deg,#1769D2 0%,#3B91FF 100%)!important;border:1px solid #3B91FF;color:#fff!important;font-size:16px;font-weight:800;text-decoration:none;text-align:center;box-shadow:0 4px 12px rgba(23,105,210,.12);transition:background .18s ease,transform .18s ease}
.jeu-readmore:hover,.jeu-readmore:focus{background:linear-gradient(110deg,#3B91FF 0%,#1769D2 100%)!important;color:#fff!important;transform:translateY(-1px)}
.jeu-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:28px 0 8px}
.jeu-pagination a,.jeu-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:8px 13px;border:1px solid #d5e1ef;border-radius:9px;background:#fff;color:#1459b8;text-decoration:none;font-weight:750}
.jeu-pagination .current{background:#1459b8;color:#fff;border-color:#1459b8}
.jeu-empty{grid-column:1/-1;padding:22px;background:#f6faff;border-radius:12px;border:1px solid #dbe8f8;color:#294866}
.jeu-empty strong{display:block;margin-bottom:5px;color:#173e69}
.jeu-blog{margin-top:44px}
.jeu-blog-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.jeu-blog-card{overflow:hidden;border:1px solid #e1e9f2;border-radius:14px;background:#fff;box-shadow:0 5px 18px #14325a0d}
.jeu-blog-card img{display:block;width:100%;height:170px;object-fit:cover}
.jeu-blog-card-body{padding:18px}
.jeu-blog-card h3,.jeu-blog-card h3 a{font-size:17px;line-height:1.4;font-weight:750;margin:0 0 10px;color:#124e96;text-decoration:none}
.jeu-blog-card p{font-size:15.5px;line-height:1.6;color:#334e68;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden}

/* Offer page */
.jeu-offer-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:22px 0 24px;padding:18px;background:linear-gradient(110deg,#1769D2 0%,#3B91FF 100%);border:1px solid #3B91FF;border-radius:14px;box-shadow:0 5px 16px rgba(23,105,210,.10)}
.jeu-offer-summary-item{display:flex;flex-direction:column;gap:5px;min-width:0;padding:7px 10px;border-right:1px solid rgba(255,255,255,.35)}
.jeu-offer-summary-item:last-child{border-right:0}
.jeu-offer-summary-label{font-size:.72rem;font-weight:800;letter-spacing:.045em;text-transform:uppercase;color:rgba(255,255,255,.88)}
.jeu-offer-summary-value{font-size:.94rem;line-height:1.45;color:#fff;overflow-wrap:anywhere}
.jeu-apply-wrap{display:block;clear:both;margin:32px 0 16px;padding:22px;text-align:center;background:#eaf3ff;border:1px solid #d5e8ff;border-radius:14px}
.jeu-apply-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:13px 24px;background:linear-gradient(110deg,#1769D2 0%,#3B91FF 100%);border:1px solid #3B91FF;border-radius:9px;box-shadow:0 6px 16px rgba(23,105,210,.16);color:#fff!important;font-size:16px;font-weight:700;line-height:1.4;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}
.jeu-apply-button:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(23,105,210,.22)}

@media(max-width:1000px){.jeu-form{grid-template-columns:repeat(2,minmax(0,1fr))}.jeu-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.jeu-results-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}
@media(max-width:600px){
  .jeu-wrap{margin:20px auto}.jeu-hero{padding:22px 20px}
  .jeu-form{grid-template-columns:1fr;padding:20px}.jeu-submit{grid-column:auto;width:100%}
  .jeu-results-grid,.jeu-blog-grid{grid-template-columns:1fr}.jeu-thumb,.jeu-thumb-placeholder{height:210px}
  .jeu-offer-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:6px}
  .jeu-offer-summary-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.35);padding:8px}.jeu-offer-summary-item:last-child{border-bottom:0}
}


/* Hide the WordPress page heading (for example “Europe”) only on pages
   that contain the Job Europe search form. */
body:has(.jeu-wrap) .entry-title,
body:has(.jeu-wrap) .page-title,
body:has(.jeu-wrap) h1.wp-block-post-title {
  display: none !important;
}

/* Stronger page-title removal: only on pages containing the Job Europe form. */
body:has(.jeu-wrap) h1,
body:has(.jeu-wrap) .wp-block-query-title,
body:has(.jeu-wrap) .elementor-page-title,
body:has(.jeu-wrap) .page-header,
body:has(.jeu-wrap) .entry-header {
  /* The exact title is also removed by the JS fallback below. */
}


/* Blog cards: prevent theme styles from forcing titles/excerpts onto one line. */
.jeu-wrap .jeu-blog,
.jeu-wrap .jeu-blog-grid,
.jeu-wrap .jeu-blog-card,
.jeu-wrap .jeu-blog-card-body {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.jeu-wrap .jeu-blog-card-body {
  width: 100% !important;
  overflow: visible !important;
}
.jeu-wrap .jeu-blog-card h3,
.jeu-wrap .jeu-blog-card h3 a,
.jeu-wrap .jeu-blog-card p {
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto;
}
.jeu-wrap .jeu-blog-card h3 {
  line-height: 1.45 !important;
  margin: 0 0 10px !important;
}
.jeu-wrap .jeu-blog-card h3 a {
  color: #124e96 !important;
  text-decoration: none !important;
}
.jeu-wrap .jeu-blog-card p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 4 !important;
  line-clamp: 4 !important;
  overflow: hidden !important;
  line-height: 1.6 !important;
}
.jeu-wrap .jeu-blog-card img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
}
@media (max-width: 700px) {
  .jeu-wrap .jeu-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 480px) {
  .jeu-wrap .jeu-blog-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* FIX 1.0.5 — target the actual blog markup emitted by the shortcode.
   Kept unscoped so it also works if a page builder relocates the section. */
.jeu-blog {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.jeu-blog-grid {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  box-sizing: border-box !important;
}
.jeu-blog-card {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}
.jeu-blog-card-body {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 18px !important;
  box-sizing: border-box !important;
}
.jeu-blog-card h3,
.jeu-blog-card h3 a,
.jeu-blog-card p {
  float: none !important;
  clear: both !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-overflow: clip !important;
  box-sizing: border-box !important;
}
.jeu-blog-card h3 {
  display: block !important;
  margin: 0 0 10px !important;
  font-size: 17px !important;
  line-height: 1.45 !important;
  overflow: visible !important;
}
.jeu-blog-card h3 a {
  display: block !important;
  margin: 0 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  overflow: visible !important;
}
.jeu-blog-card p {
  display: block !important;
  margin: 0 !important;
  font-size: 15.5px !important;
  line-height: 1.6 !important;
  overflow: visible !important;
}
.jeu-blog-card > a,
.jeu-blog-card > a img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
.jeu-blog-card img {
  height: 190px !important;
  object-fit: cover !important;
}
@media (max-width: 1000px) {
  .jeu-blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
  .jeu-blog-grid { grid-template-columns: minmax(0, 1fr) !important; }
}


/* Blog excerpts: limit to approximately three lines. */
.jeu-blog-card .jeu-blog-card-body p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  overflow: hidden !important;
}


/* Version 1.0.9: excerpt strictly limited to three visual lines. */
.jeu-blog-card .jeu-blog-card-body p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  max-height: 4.8em !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* Job Europe 1.1.0 — palette bleue harmonisée avec le thème Jobuilder.
   Couleurs de marque utilisées : #1769D2 et #3B91FF. */
.jeu-wrap {
  --jeu-blue: #1769D2 !important;
  --jeu-navy: #1769D2 !important;
  --jeu-muted: #1769D2 !important;
}
.jeu-wrap .jeu-hero {
  background: linear-gradient(120deg, #1769D2 0%, #3B91FF 100%) !important;
  border-color: #3B91FF !important;
}
.jeu-wrap .jeu-hero h2,
.jeu-wrap .jeu-hero p {
  color: #fff !important;
}
.jeu-wrap .jeu-form {
  border-color: #3B91FF !important;
}
.jeu-wrap .jeu-field label,
.jeu-wrap .jeu-article h3,
.jeu-wrap .jeu-article h3 a,
.jeu-wrap .jeu-blog-card h3,
.jeu-wrap .jeu-blog-card h3 a,
.jeu-wrap .jeu-empty strong {
  color: #1769D2 !important;
}
.jeu-wrap .jeu-field select:focus,
.jeu-wrap .jeu-field input[type=search]:focus,
.jeu-wrap input:focus,
.jeu-wrap select:focus,
.jeu-wrap textarea:focus {
  border-color: #3B91FF !important;
  box-shadow: 0 0 0 3px rgba(59,145,255,.22) !important;
}
.jeu-wrap .jeu-submit,
.jeu-wrap .jeu-readmore,
.jeu-wrap .jeu-apply-button {
  background: linear-gradient(115deg, #1769D2 0%, #3B91FF 100%) !important;
  background-color: #1769D2 !important;
  border: 1px solid #3B91FF !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(23,105,210,.2) !important;
}
.jeu-wrap .jeu-submit:hover,
.jeu-wrap .jeu-readmore:hover,
.jeu-wrap .jeu-readmore:focus,
.jeu-wrap .jeu-apply-button:hover {
  background: #3B91FF !important;
  border-color: #1769D2 !important;
  color: #fff !important;
}
.jeu-wrap .jeu-offer-count,
.jeu-wrap .jeu-pagination .current {
  background: #1769D2 !important;
  border-color: #1769D2 !important;
  color: #fff !important;
}
.jeu-wrap .jeu-pagination a,
.jeu-wrap .jeu-pagination span {
  border-color: #3B91FF !important;
  color: #1769D2 !important;
}
.jeu-wrap .jeu-pagination a:hover {
  background: #3B91FF !important;
  color: #fff !important;
}
.jeu-wrap .jeu-article,
.jeu-wrap .jeu-blog-card {
  border-color: #3B91FF !important;
}
.jeu-wrap .jeu-thumb-placeholder {
  background: linear-gradient(120deg, #1769D2, #3B91FF) !important;
  color: #fff !important;
}
.jeu-wrap .jeu-empty {
  background: #fff !important;
  border-color: #3B91FF !important;
  color: #1769D2 !important;
}
.jeu-wrap .jeu-offer-summary {
  background: linear-gradient(120deg, #1769D2 0%, #3B91FF 100%) !important;
  border-color: #3B91FF !important;
}
.jeu-wrap .jeu-offer-summary-label,
.jeu-wrap .jeu-offer-summary-value {
  color: #fff !important;
}
.jeu-wrap .jeu-offer-summary-item {
  border-color: rgba(255,255,255,.35) !important;
}
.jeu-wrap .jeu-apply-wrap {
  background: #fff !important;
  border-color: #3B91FF !important;
}
.jeu-wrap .jeu-results-intro,
.jeu-wrap .jeu-meta,
.jeu-wrap .jeu-excerpt,
.jeu-wrap .jeu-blog-card p {
  color: #1769D2 !important;
}
.jeu-wrap a:focus-visible,
.jeu-wrap button:focus-visible {
  outline: 2px solid #3B91FF !important;
  outline-offset: 2px !important;
}


/* Job Europe 1.1.1 — corrections de priorité des boutons et du responsive mobile */
html body .jeu-wrap form button.jeu-submit,
html body .jeu-wrap a.jeu-readmore,
html body .jeu-wrap a.jeu-apply-button,
html body .jeu-wrap button,
html body .jeu-wrap input[type="submit"],
html body .jeu-wrap input[type="button"] {
  background: #1769D2 !important;
  background-color: #1769D2 !important;
  background-image: none !important;
  border: 1px solid #3B91FF !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 4px 12px rgba(23,105,210,.2) !important;
}
html body .jeu-wrap form button.jeu-submit:hover,
html body .jeu-wrap a.jeu-readmore:hover,
html body .jeu-wrap a.jeu-apply-button:hover,
html body .jeu-wrap button:hover,
html body .jeu-wrap input[type="submit"]:hover,
html body .jeu-wrap input[type="button"]:hover {
  background: #3B91FF !important;
  background-color: #3B91FF !important;
  background-image: none !important;
  border-color: #1769D2 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Empêche le titre et le texte d'en-tête de sortir du cadre sur mobile */
html body .jeu-wrap,
html body .jeu-wrap * {
  box-sizing: border-box;
}
html body .jeu-wrap {
  width: 100% !important;
  max-width: 1120px !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}
html body .jeu-wrap .jeu-hero,
html body .jeu-wrap .jeu-form {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
html body .jeu-wrap .jeu-hero h2,
html body .jeu-wrap .jeu-hero p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  text-overflow: clip !important;
}
html body .jeu-wrap .jeu-field,
html body .jeu-wrap .jeu-field label,
html body .jeu-wrap .jeu-field input,
html body .jeu-wrap .jeu-field select {
  min-width: 0 !important;
  max-width: 100% !important;
}
html body .jeu-wrap .jeu-field input,
html body .jeu-wrap .jeu-field select {
  width: 100% !important;
}
@media (max-width: 900px) {
  html body .jeu-wrap {
    margin: 20px auto !important;
  }
  html body .jeu-wrap .jeu-form {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    padding: 20px !important;
    gap: 14px !important;
  }
  html body .jeu-wrap .jeu-field-wide,
  html body .jeu-wrap .jeu-submit {
    grid-column: 1 / -1 !important;
  }
  html body .jeu-wrap .jeu-hero {
    padding: 22px 20px !important;
  }
}
@media (max-width: 600px) {
  html body .jeu-wrap {
    width: 100% !important;
    margin: 16px auto !important;
  }
  html body .jeu-wrap .jeu-hero {
    padding: 20px 16px !important;
  }
  html body .jeu-wrap .jeu-hero h2 {
    font-size: 1.2rem !important;
    line-height: 1.35 !important;
  }
  html body .jeu-wrap .jeu-hero p {
    font-size: .95rem !important;
    line-height: 1.5 !important;
  }
  html body .jeu-wrap .jeu-form {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 18px 16px 20px !important;
    gap: 12px !important;
  }
  html body .jeu-wrap .jeu-field-wide,
  html body .jeu-wrap .jeu-submit {
    grid-column: 1 !important;
  }
  html body .jeu-wrap .jeu-submit {
    width: 100% !important;
    justify-self: stretch !important;
  }
}


/* 1.1.2 cache-busted fallback styles for all plugin components */
html body .jeu-wrap .jeu-submit,
html body .jeu-wrap .jeu-readmore,
html body .jeu-wrap .jeu-apply-button {
  background: #1769D2 !important;
  background-color: #1769D2 !important;
  background-image: none !important;
  border-color: #3B91FF !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
html body .jeu-wrap .jeu-submit:hover,
html body .jeu-wrap .jeu-readmore:hover,
html body .jeu-wrap .jeu-apply-button:hover {
  background: #3B91FF !important;
  background-color: #3B91FF !important;
}
html body .jeu-wrap .jeu-hero h2,
html body .jeu-wrap .jeu-hero p {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
}


/* Job Europe 1.1.3 — typography responsive to the actual plugin/container width.
   Container queries also cover narrow iframe/page-builder columns. */
.jeu-wrap {
  container-type: inline-size !important;
  font-size: clamp(14px, 1.15vw, 16px) !important;
}
.jeu-wrap .jeu-hero h2,
.jeu-wrap .jeu-results h2,
.jeu-wrap .jeu-blog h2 {
  font-size: clamp(1.05rem, 2.05cqi, 1.45rem) !important;
  line-height: 1.3 !important;
}
.jeu-wrap .jeu-hero p,
.jeu-wrap .jeu-results-intro {
  font-size: clamp(.84rem, 1.35cqi, .98rem) !important;
  line-height: 1.5 !important;
}
.jeu-wrap .jeu-field label {
  font-size: clamp(.84rem, 1.2cqi, .95rem) !important;
  line-height: 1.4 !important;
}
.jeu-wrap .jeu-field input,
.jeu-wrap .jeu-field select {
  font-size: clamp(.84rem, 1.2cqi, .95rem) !important;
  min-height: 46px !important;
}
.jeu-wrap .jeu-submit,
.jeu-wrap .jeu-readmore,
.jeu-wrap .jeu-apply-button {
  font-size: clamp(.86rem, 1.2cqi, .98rem) !important;
  line-height: 1.35 !important;
}
.jeu-wrap .jeu-article h3,
.jeu-wrap .jeu-article h3 a,
.jeu-wrap .jeu-blog-card h3,
.jeu-wrap .jeu-blog-card h3 a {
  font-size: clamp(.92rem, 1.35cqi, 1.08rem) !important;
  line-height: 1.4 !important;
}
.jeu-wrap .jeu-meta,
.jeu-wrap .jeu-excerpt,
.jeu-wrap .jeu-blog-card p {
  font-size: clamp(.84rem, 1.15cqi, .94rem) !important;
  line-height: 1.55 !important;
}
.jeu-wrap .jeu-offer-summary-label {
  font-size: clamp(.68rem, .95cqi, .76rem) !important;
}
.jeu-wrap .jeu-offer-summary-value {
  font-size: clamp(.82rem, 1.15cqi, .94rem) !important;
}

/* Narrow embed or mobile column: compact text and one-column form even
   when the outer browser viewport is wider than the embedded content. */
@container (max-width: 680px) {
  .jeu-wrap .jeu-hero { padding: 18px 16px !important; }
  .jeu-wrap .jeu-hero h2 { font-size: 1.05rem !important; line-height: 1.32 !important; }
  .jeu-wrap .jeu-hero p { font-size: .84rem !important; line-height: 1.45 !important; }
  .jeu-wrap .jeu-form {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 11px !important;
    padding: 16px !important;
  }
  .jeu-wrap .jeu-field-wide,
  .jeu-wrap .jeu-submit { grid-column: 1 !important; }
  .jeu-wrap .jeu-field label { font-size: .84rem !important; }
  .jeu-wrap .jeu-field input,
  .jeu-wrap .jeu-field select { font-size: .86rem !important; min-height: 44px !important; }
  .jeu-wrap .jeu-submit { font-size: .9rem !important; min-height: 44px !important; }
}
@media (max-width: 600px) {
  .jeu-wrap { font-size: 14px !important; }
  .jeu-wrap .jeu-hero h2 { font-size: 1.05rem !important; }
  .jeu-wrap .jeu-hero p { font-size: .84rem !important; }
}


/* Job Europe 1.1.4 — blog: typography slightly smaller and fluid */
html body .jeu-wrap .jeu-blog > h2 {
  font-size: clamp(1.05rem, 1.7cqi, 1.25rem) !important;
  line-height: 1.3 !important;
  margin-bottom: .45em !important;
}
html body .jeu-wrap .jeu-blog > p.jeu-results-intro {
  font-size: clamp(.82rem, 1.15cqi, .9rem) !important;
  line-height: 1.45 !important;
  margin-bottom: 1rem !important;
}
html body .jeu-wrap .jeu-blog .jeu-blog-card-body {
  padding: 15px !important;
}
html body .jeu-wrap .jeu-blog .jeu-blog-card h3,
html body .jeu-wrap .jeu-blog .jeu-blog-card h3 a {
  font-size: clamp(.94rem, 1.25cqi, 1.02rem) !important;
  line-height: 1.38 !important;
}
html body .jeu-wrap .jeu-blog .jeu-blog-card p {
  font-size: clamp(.82rem, 1.08cqi, .9rem) !important;
  line-height: 1.5 !important;
  max-height: 4.5em !important;
}
@container (max-width: 680px) {
  html body .jeu-wrap .jeu-blog > h2 {
    font-size: 1.08rem !important;
  }
  html body .jeu-wrap .jeu-blog > p.jeu-results-intro {
    font-size: .84rem !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card-body {
    padding: 14px !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card h3,
  html body .jeu-wrap .jeu-blog .jeu-blog-card h3 a {
    font-size: .96rem !important;
    line-height: 1.38 !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card p {
    font-size: .84rem !important;
    line-height: 1.5 !important;
  }
}


/* Job Europe 1.1.5 — extra compact blog typography on phones/narrow embeds */
@media (max-width: 600px) {
  html body .jeu-wrap .jeu-blog > h2 {
    font-size: 1rem !important;
    line-height: 1.28 !important;
    margin-bottom: .4em !important;
  }
  html body .jeu-wrap .jeu-blog > p.jeu-results-intro {
    font-size: .78rem !important;
    line-height: 1.4 !important;
    margin-bottom: .8rem !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card-body {
    padding: 11px !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card h3,
  html body .jeu-wrap .jeu-blog .jeu-blog-card h3 a {
    font-size: .88rem !important;
    line-height: 1.34 !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card p {
    font-size: .77rem !important;
    line-height: 1.42 !important;
    max-height: 4.26em !important;
  }
}

/* Also compact the blog when it is displayed in a narrow page-builder column
   or iframe, even if the device viewport itself is wider than 600px. */
@container (max-width: 480px) {
  html body .jeu-wrap .jeu-blog > h2 {
    font-size: 1rem !important;
    line-height: 1.28 !important;
  }
  html body .jeu-wrap .jeu-blog > p.jeu-results-intro {
    font-size: .78rem !important;
    line-height: 1.4 !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card-body {
    padding: 11px !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card h3,
  html body .jeu-wrap .jeu-blog .jeu-blog-card h3 a {
    font-size: .88rem !important;
    line-height: 1.34 !important;
  }
  html body .jeu-wrap .jeu-blog .jeu-blog-card p {
    font-size: .77rem !important;
    line-height: 1.42 !important;
    max-height: 4.26em !important;
  }
}


/* Job Europe 1.1.6 — mobile results section: prevent horizontal overflow */
html body .jeu-wrap,
html body .jeu-wrap .jeu-results,
html body .jeu-wrap .jeu-results-grid,
html body .jeu-wrap .jeu-empty {
  box-sizing: border-box !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html body .jeu-wrap .jeu-results h2 {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  column-gap: 8px !important;
  row-gap: 5px !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  white-space: normal !important;
}
html body .jeu-wrap .jeu-offer-count {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  font-size: .78rem !important;
  padding: 4px 9px !important;
  white-space: nowrap !important;
}
html body .jeu-wrap .jeu-results-intro,
html body .jeu-wrap .jeu-empty,
html body .jeu-wrap .jeu-empty strong,
html body .jeu-wrap .jeu-empty p {
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  white-space: normal !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
html body .jeu-wrap .jeu-empty {
  padding: 18px !important;
}
html body .jeu-wrap .jeu-empty p {
  margin: 8px 0 0 !important;
}
@media (max-width: 600px) {
  html body .jeu-wrap .jeu-results h2 {
    font-size: 1.02rem !important;
    line-height: 1.3 !important;
  }
  html body .jeu-wrap .jeu-results-intro {
    font-size: .82rem !important;
    line-height: 1.45 !important;
  }
  html body .jeu-wrap .jeu-empty {
    padding: 14px !important;
  }
  html body .jeu-wrap .jeu-empty strong {
    font-size: .88rem !important;
    line-height: 1.4 !important;
  }
  html body .jeu-wrap .jeu-empty p {
    font-size: .82rem !important;
    line-height: 1.45 !important;
  }
}
@container (max-width: 480px) {
  html body .jeu-wrap .jeu-results h2 {
    font-size: 1.02rem !important;
    line-height: 1.3 !important;
  }
  html body .jeu-wrap .jeu-results-intro,
  html body .jeu-wrap .jeu-empty p {
    font-size: .82rem !important;
    line-height: 1.45 !important;
  }
  html body .jeu-wrap .jeu-empty {
    padding: 14px !important;
  }
  html body .jeu-wrap .jeu-empty strong {
    font-size: .88rem !important;
    line-height: 1.4 !important;
  }
}


/* Job Europe 1.1.7 — force real wrapping in the mobile results area */
html body .jeu-wrap,
html body .jeu-wrap .jeu-results,
html body .jeu-wrap .jeu-results-grid {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
html body .jeu-wrap .jeu-results > h2 {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-wrap: break-word !important;
  line-height: 1.3 !important;
}
html body .jeu-wrap .jeu-results > h2 .jeu-offer-count {
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 0 0 8px !important;
  white-space: nowrap !important;
}
html body .jeu-wrap .jeu-results > .jeu-results-intro {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.45 !important;
}
html body .jeu-wrap .jeu-results .jeu-empty {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
html body .jeu-wrap .jeu-results .jeu-empty strong,
html body .jeu-wrap .jeu-results .jeu-empty p {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
@media (max-width: 700px) {
  html body .jeu-wrap .jeu-results > h2 {
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }
  html body .jeu-wrap .jeu-results > h2 .jeu-offer-count {
    display: table !important;
    margin: 7px 0 0 !important;
    font-size: .76rem !important;
  }
  html body .jeu-wrap .jeu-results > .jeu-results-intro {
    font-size: .8rem !important;
    line-height: 1.45 !important;
  }
  html body .jeu-wrap .jeu-results .jeu-empty {
    padding: 13px !important;
  }
  html body .jeu-wrap .jeu-results .jeu-empty strong {
    font-size: .86rem !important;
    line-height: 1.4 !important;
  }
  html body .jeu-wrap .jeu-results .jeu-empty p {
    font-size: .8rem !important;
    line-height: 1.45 !important;
  }
}
@container (max-width: 700px) {
  html body .jeu-wrap .jeu-results > h2 {
    font-size: 1rem !important;
    line-height: 1.35 !important;
  }
  html body .jeu-wrap .jeu-results > h2 .jeu-offer-count {
    display: table !important;
    margin: 7px 0 0 !important;
    font-size: .76rem !important;
  }
  html body .jeu-wrap .jeu-results > .jeu-results-intro {
    font-size: .8rem !important;
    line-height: 1.45 !important;
  }
  html body .jeu-wrap .jeu-results .jeu-empty {
    padding: 13px !important;
  }
  html body .jeu-wrap .jeu-results .jeu-empty strong {
    font-size: .86rem !important;
    line-height: 1.4 !important;
  }
  html body .jeu-wrap .jeu-results .jeu-empty p {
    font-size: .8rem !important;
    line-height: 1.45 !important;
  }
}


/* ==========================================================================
   Job Europe 1.2.0 — optimisation mobile / tactile
   Ce bloc est volontairement placé en dernier : il remplace les correctifs
   précédents sans les supprimer. Spécificité « html body » pour passer devant
   le <style> injecté par le shortcode.
   ========================================================================== */

/* --- Base tactile ------------------------------------------------------- */
html body .jeu-wrap {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(23,105,210,.15);
  padding-left: env(safe-area-inset-left, 0px);
  padding-right: env(safe-area-inset-right, 0px);
}
html body .jeu-wrap a,
html body .jeu-wrap button,
html body .jeu-wrap select,
html body .jeu-wrap input {
  touch-action: manipulation;
}
html body .jeu-wrap img,
html body .jeu-wrap iframe,
html body .jeu-wrap video {
  max-width: 100%;
}

/* --- Tablette (601–900 px) : 2 colonnes lisibles ------------------------ */
@media (min-width: 601px) and (max-width: 900px) {
  html body .jeu-wrap .jeu-results-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 16px !important;
  }
}

/* --- Téléphone / écran tactile (≤ 768 px) ------------------------------- */
@media (max-width: 768px) {
  /* 16 px minimum : évite le zoom automatique d'iOS au focus d'un champ */
  html body .jeu-wrap .jeu-field input,
  html body .jeu-wrap .jeu-field select,
  html body .jeu-wrap .jeu-field input[type="search"] {
    font-size: 16px !important;
    min-height: 50px !important;
    line-height: 1.3 !important;
    padding: 12px 14px !important;
    text-overflow: ellipsis;
  }
  html body .jeu-wrap .jeu-field label {
    font-size: .92rem !important;
    margin-bottom: 6px !important;
  }

  /* Boutons : grande zone de toucher, pleine largeur */
  html body .jeu-wrap .jeu-submit,
  html body .jeu-wrap a.jeu-readmore,
  html body .jeu-wrap a.jeu-apply-button {
    min-height: 50px !important;
    font-size: 1rem !important;
    padding: 12px 18px !important;
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }
  html body .jeu-wrap a.jeu-readmore { margin-top: 14px !important; }

  /* Cartes d'offres : une colonne, texte confortable */
  html body .jeu-wrap .jeu-results-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  html body .jeu-wrap .jeu-thumb,
  html body .jeu-wrap .jeu-thumb-placeholder {
    height: 170px !important;
  }
  html body .jeu-wrap .jeu-article-body {
    padding: 12px 16px 18px !important;
  }
  html body .jeu-wrap .jeu-article h3,
  html body .jeu-wrap .jeu-article h3 a {
    font-size: 1.02rem !important;
    line-height: 1.35 !important;
    overflow-wrap: anywhere;
  }
  html body .jeu-wrap .jeu-meta {
    font-size: .88rem !important;
    line-height: 1.45 !important;
  }
  html body .jeu-wrap .jeu-excerpt {
    font-size: .94rem !important;
    line-height: 1.55 !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }

  /* Blog : une colonne */
  html body .jeu-wrap .jeu-blog-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }
  html body .jeu-wrap .jeu-blog-card img {
    height: 170px !important;
  }

  /* Pagination : zones de toucher de 44 px, retour à la ligne propre */
  html body .jeu-wrap .jeu-pagination {
    gap: 6px !important;
    margin: 22px 0 6px !important;
  }
  html body .jeu-wrap .jeu-pagination a,
  html body .jeu-wrap .jeu-pagination span {
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
  }
}

/* --- Petits téléphones (≤ 480 px) --------------------------------------- */
@media (max-width: 480px) {
  html body .jeu-wrap { margin: 12px auto !important; }
  html body .jeu-wrap .jeu-hero { border-radius: 14px 14px 0 0 !important; }
  html body .jeu-wrap .jeu-form { border-radius: 0 0 14px 14px !important; }
  html body .jeu-wrap .jeu-article,
  html body .jeu-wrap .jeu-blog-card { border-radius: 12px !important; }

  /* Fiche d'offre : résumé en une colonne, séparateurs horizontaux */
  html body .jeu-offer-summary,
  html body .jeu-wrap .jeu-offer-summary {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 10px 12px !important;
    gap: 0 !important;
  }
  html body .jeu-offer-summary-item,
  html body .jeu-wrap .jeu-offer-summary-item {
    flex-direction: row !important;
    justify-content: space-between !important;
    align-items: baseline !important;
    gap: 12px !important;
    padding: 10px 2px !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.3) !important;
  }
  html body .jeu-offer-summary-item:last-child,
  html body .jeu-wrap .jeu-offer-summary-item:last-child {
    border-bottom: 0 !important;
  }
  html body .jeu-offer-summary-value,
  html body .jeu-wrap .jeu-offer-summary-value {
    text-align: right !important;
  }
}

/* --- Page d'une offre : le contenu ne doit jamais déborder -------------- */
.single-jeu_job .entry-content,
.single-jeu_job .wp-block-post-content {
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.single-jeu_job .entry-content img,
.single-jeu_job .entry-content iframe,
.single-jeu_job .entry-content video,
.single-jeu_job .wp-block-post-content img {
  max-width: 100% !important;
  height: auto;
}
.single-jeu_job .entry-content table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.single-jeu_job .entry-content pre {
  max-width: 100%;
  overflow-x: auto;
}
@media (max-width: 768px) {
  html body .jeu-apply-wrap,
  html body .jeu-wrap .jeu-apply-wrap {
    margin: 24px 0 14px !important;
    padding: 16px !important;
  }
  html body .jeu-apply-wrap .jeu-apply-button {
    width: 100% !important;
    min-height: 52px !important;
    font-size: 1rem !important;
  }
}

/* --- Écrans tactiles : pas d'effet de survol « collant » ---------------- */
@media (hover: none) {
  html body .jeu-wrap .jeu-article:hover,
  html body .jeu-wrap .jeu-readmore:hover,
  html body .jeu-wrap .jeu-submit:hover,
  html body .jeu-apply-button:hover {
    transform: none !important;
  }
}

/* --- Accessibilité : réduire les animations si demandé ------------------ */
@media (prefers-reduced-motion: reduce) {
  html body .jeu-wrap *,
  html body .jeu-apply-button {
    transition: none !important;
    animation: none !important;
  }
}


/* Job Europe 1.3.2 — bouton de candidature jaune avec typographie machine à écrire */
html body .jeu-apply-wrap,
html body .jeu-wrap .jeu-apply-wrap {
  background: #eaf3ff !important;
  border: 1px solid #3B91FF !important;
  border-radius: 14px !important;
}
html body a.jeu-apply-button,
html body .jeu-wrap a.jeu-apply-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 13px 27px !important;
  min-height: 52px !important;
  background: linear-gradient(110deg, #1769D2 0%, #3B91FF 100%) !important;
  background-color: #1769D2 !important;
  background-image: linear-gradient(110deg, #1769D2 0%, #3B91FF 100%) !important;
  border: 1px solid #3B91FF !important;
  border-radius: 10px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  box-shadow: 0 6px 16px rgba(23,105,210,.16) !important;
}
html body a.jeu-apply-button:hover,
html body .jeu-wrap a.jeu-apply-button:hover {
  background: linear-gradient(110deg, #3B91FF 0%, #1769D2 100%) !important;
  background-color: #3B91FF !important;
  background-image: linear-gradient(110deg, #3B91FF 0%, #1769D2 100%) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}


/* Job Europe 1.3.3 — align application banner and button with the site's blue theme. */
html body .jeu-apply-wrap,
html body .jeu-wrap .jeu-apply-wrap {
  background: #eaf3ff !important;
  border: 1px solid #3B91FF !important;
  border-radius: 14px !important;
}
html body a.jeu-apply-button,
html body .jeu-wrap a.jeu-apply-button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  min-height: 52px !important;
  padding: 13px 27px !important;
  background: linear-gradient(115deg, #1769D2 0%, #3B91FF 100%) !important;
  background-color: #1769D2 !important;
  background-image: linear-gradient(115deg, #1769D2 0%, #3B91FF 100%) !important;
  border: 1px solid #3B91FF !important;
  border-radius: 10px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 14px rgba(23,105,210,.22) !important;
}
html body a.jeu-apply-button:hover,
html body .jeu-wrap a.jeu-apply-button:hover {
  background: #3B91FF !important;
  background-color: #3B91FF !important;
  background-image: none !important;
  border-color: #1769D2 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}
@media (max-width: 768px) {
  html body .jeu-apply-wrap { padding: 16px !important; }
  html body a.jeu-apply-button { width: 100% !important; }
}


/* Job Europe 1.3.4 — definitive blue application banner (theme-aligned). */
html body .jeu-apply-wrap,
html body .jeu-wrap .jeu-apply-wrap,
html body .jeu-apply-wrap.jeu-apply-wrap-placed {
  background: #eaf3ff !important;
  background-color: #eaf3ff !important;
  background-image: none !important;
  border: 1px solid #3b91ff !important;
  border-radius: 14px !important;
  box-shadow: 0 5px 18px rgba(23,105,210,.08) !important;
}
html body a.jeu-apply-button,
html body .jeu-wrap a.jeu-apply-button,
html body .jeu-apply-wrap-placed a.jeu-apply-button {
  background: linear-gradient(115deg, #1769d2 0%, #3b91ff 100%) !important;
  background-color: #1769d2 !important;
  background-image: linear-gradient(115deg, #1769d2 0%, #3b91ff 100%) !important;
  border: 1px solid #1769d2 !important;
  border-radius: 10px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  box-shadow: 0 5px 14px rgba(23,105,210,.22) !important;
}
html body a.jeu-apply-button:hover,
html body .jeu-wrap a.jeu-apply-button:hover,
html body .jeu-apply-wrap-placed a.jeu-apply-button:hover {
  background: #3b91ff !important;
  background-color: #3b91ff !important;
  background-image: none !important;
  border-color: #1769d2 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}


/* ==========================================================================
   Job Europe 1.3.7 — couleurs du thème (#1769D2 / #3B91FF) partout,
   y compris hors du conteneur .jeu-wrap (bandeau de la page d'une offre).
   ========================================================================== */
html body .jeu-wrap .jeu-submit,
html body .jeu-wrap a.jeu-readmore {
  background: linear-gradient(110deg, #1769D2 0%, #3B91FF 100%) !important;
  background-image: linear-gradient(110deg, #1769D2 0%, #3B91FF 100%) !important;
  border: 1px solid #1769D2 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 5px 14px rgba(23,105,210,.22) !important;
}
html body .jeu-wrap .jeu-submit:hover,
html body .jeu-wrap .jeu-submit:focus,
html body .jeu-wrap a.jeu-readmore:hover,
html body .jeu-wrap a.jeu-readmore:focus {
  background: #3B91FF !important;
  background-image: none !important;
  border-color: #1769D2 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Bouton « Postuler » : jamais plus large que l'écran, même sans reset box-sizing du thème */
html body .jeu-apply-wrap,
html body a.jeu-apply-button {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

/* 1.5.4 — Cartes d'offres : texte noir, plus grand sur ordinateur */
html body .jeu-wrap .jeu-article h3,
html body .jeu-wrap .jeu-article h3 a,
html body .jeu-wrap .jeu-article .jeu-meta,
html body .jeu-wrap .jeu-article .jeu-excerpt {
  color: #000 !important;
}
@media (min-width: 901px) {
  html body .jeu-wrap .jeu-article h3,
  html body .jeu-wrap .jeu-article h3 a {
    font-size: 1.28rem !important;
    line-height: 1.35 !important;
  }
  html body .jeu-wrap .jeu-article .jeu-meta {
    font-size: 1.06rem !important;
    line-height: 1.5 !important;
  }
  html body .jeu-wrap .jeu-article .jeu-excerpt {
    font-size: 1.08rem !important;
    line-height: 1.6 !important;
  }
}

/* 1.5.5 — Cartes d'offres : texte noir et plus grand sur ordinateur */
html body .jeu-wrap .jeu-results-grid .jeu-article h3,
html body .jeu-wrap .jeu-results-grid .jeu-article h3 a,
html body .jeu-wrap .jeu-results-grid .jeu-article .jeu-meta,
html body .jeu-wrap .jeu-results-grid .jeu-article .jeu-excerpt{color:#000!important;-webkit-text-fill-color:#000!important}
@media (min-width:901px){
html body .jeu-wrap .jeu-results-grid .jeu-article h3,
html body .jeu-wrap .jeu-results-grid .jeu-article h3 a{font-size:1.4rem!important;line-height:1.35!important}
html body .jeu-wrap .jeu-results-grid .jeu-article .jeu-meta{font-size:1.15rem!important;line-height:1.5!important}
html body .jeu-wrap .jeu-results-grid .jeu-article .jeu-excerpt{font-size:1.18rem!important;line-height:1.6!important}
}
