/* ics-grid.css (P34): one grid style for all card grids. Tokens + legacy id selectors (triple id = same weight as tear-guard.css:355 and ics-card.css). No !important. Do not edit ics-card.css/ics-steps-cards.css here. */
:root {
  --ics-grid-gap: clamp(1.5rem, 2.2vw, 2rem); /* 24-32px; column gap = row gap */
}
html body .brx-grid.ics-grid--3.ics-grid--3,
html body .brx-grid.ics-grid--4.ics-grid--4,
html body .brx-grid.ics-xgrid.ics-xgrid,
html body :is(#news-grid-home#news-grid-home#news-grid-home, #brxe-jbgrid#brxe-jbgrid#brxe-jbgrid, #brxe-nwgrid#brxe-nwgrid#brxe-nwgrid, #brxe-dcgrid#brxe-dcgrid#brxe-dcgrid, #brxe-evgrid#brxe-evgrid#brxe-evgrid, #lib-grid#lib-grid#lib-grid, #brxe-tbgrid#brxe-tbgrid#brxe-tbgrid, #pl-grid#pl-grid#pl-grid, #mis-s3-grid#mis-s3-grid#mis-s3-grid) {
  column-gap: var(--ics-grid-gap) !important; /* !important: beats tear-guard.css:355 gap var(--sp-m) !important */
  row-gap: var(--ics-grid-gap) !important;
  justify-content: stretch;
}
/* equal title rhythm: chip is a sticker over the thumb (ics-card-sticker.css), out of flow; every card body starts at the same y; text block top-aligned */
html body .ics-torn-card.nw-card > .nw-cb {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
}

/* P79 (2026-11-05) jobs grid #jn-jobs-grid (VI /dong-hanh-cung-ics/ p128, EN /en/join-ics/ p2900, /tuyen-dung/ archive).
   Cause: tear-guard.css "GLOBAL CONTENT WIDTH RULE v3" (~line 991) sets width:87.5% on .brxe-jnjcd1 (the job card), so each card sat at 87.5% of its 1fr track, centred by auto margins: visible gaps ~60px (16px gap + 44px dead space), rows uneven.
   Fix: cards fill their cell; one gap token on both axes; section = min(87.5vw, 1440px); breakpoints 992 / 600 like the news grids (tear-guard.css 535-537). No hover rules touched. */
html body #jn-jobs#jn-jobs {
  width: 100% !important;
  max-width: min(87.5vw, 1440px) !important;
  margin-inline: auto !important;
}
html body #jn-jobs-grid#jn-jobs-grid#jn-jobs-grid {
  gap: var(--ics-grid-gap, clamp(1.5rem, 2.2vw, 2rem)) !important;
  justify-content: stretch !important;
  justify-items: stretch !important;
}
@media (min-width: 992px) {
  html body #jn-jobs-grid#jn-jobs-grid#jn-jobs-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (min-width: 600px) and (max-width: 991px) {
  html body #jn-jobs-grid#jn-jobs-grid#jn-jobs-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 599px) {
  html body #jn-jobs-grid#jn-jobs-grid#jn-jobs-grid { grid-template-columns: minmax(0, 1fr) !important; }
}
html body #jn-jobs-grid#jn-jobs-grid#jn-jobs-grid > .brxe-jnjcd1.brxe-jnjcd1 {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-inline: 0 !important;
  justify-self: stretch !important;
}
