.city-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; list-style: none; padding: 0; }
.city-links li { min-width: 0; }
.city-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 100%; padding: 15px 18px; border: 1px solid var(--line); border-radius: 8px; background: var(--white); text-decoration: none; overflow-wrap: anywhere; }
.city-links a:hover { border-color: var(--pine); }
.city-links span { color: var(--muted); font-size: 12px; flex-shrink: 0; }
.city-more summary { cursor: pointer; color: var(--pine); padding-block: 12px; }
.city-summary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; padding: 25px 28px; background: var(--soft-green); border: 1px solid var(--line); border-radius: 12px; }
.city-summary > div { min-width: 0; }
.city-summary strong { display: block; font: 42px/1.2 var(--serif); color: var(--ink); }
.city-summary span { display: block; font-size: 13px; color: var(--muted); }
.city-summary .eyebrow { margin-bottom: 8px; }
.city-summary ul { list-style: none; padding: 0; margin: 0; font-size: 13px; }
.city-employers { display: flex; flex-wrap: wrap; list-style: none; gap: 12px 25px; padding: 0; }
.city-source-note { margin-top: 24px; }
.city-guidance { max-width: 900px; }
.city-page h1, .city-page h2, .city-page h3, .city-page p, .city-page li, .city-page .metier-breadcrumb, .metier-city-links h2 { overflow-wrap: anywhere; }
.offer-sharing { margin: 25px 0 32px; padding-block: 18px; border-block: 1px solid var(--line); }
.offer-sharing .eyebrow { margin-bottom: 12px; }
.offer-sharing .actions { flex-wrap: wrap; gap: 10px; }
.offer-sharing .button { min-height: 44px; padding: 10px 18px; font-size: 14px; }
.offer-sharing p:last-child { margin: 13px 0 0; max-width: 650px; }
@media (max-width: 850px) {
  .city-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .city-links, .city-summary { grid-template-columns: minmax(0, 1fr); }
  .city-summary { padding: 22px; gap: 20px; }
  .city-links a { padding: 14px 16px; }
  .city-page .metier-breadcrumb li { min-width: 0; }
  .offer-sharing .actions { display: flex; }
}
.city-context-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px; }
.city-context-grid article { padding-top:24px; border-top:1px solid var(--line); min-width:0; }
.city-context-grid h3 { font-size:27px; }
.city-context-grid p,.city-context-grid li { font-size:14px; }
.city-context-grid .city-employers { display:block; }
.city-context-grid .city-employers li { margin-bottom:10px; }
.city-guidance-note { padding:22px 26px; margin:24px 0 0; border-left:3px solid #b2c7ad; background:var(--soft-green); border-radius:0 8px 8px 0; }
.city-recruiter { display:flex; flex-wrap:wrap; align-items:center; gap:24px; }
.city-recruiter > div { flex:1 1 520px; min-width:0; }
.city-recruiter p:last-child { margin-bottom:0; }
@media(max-width:700px) { .city-context-grid { grid-template-columns:1fr; gap:15px; } .city-guidance-note { padding:20px; } .city-recruiter .button { width:100%; } }
