/* ==========================================================================
   Dossier layout — local jobs only.
   Loaded on single-local-job.php. Builds on post.css for prose, checklist,
   steps and source-block; only the page around them differs.
   ========================================================================== */

.dossier { padding-block-end: var(--s-10); }

/* --- Header: cover image left, identity right --------------------------- */
.dossier-head { border-block-end: 1px solid var(--border); padding-block: var(--s-6) var(--s-8); }
.dossier-head__inner { display: flex; gap: var(--s-6); align-items: stretch; }

.dossier-head__media {
  flex: none; width: 220px; height: 176px;
  border-radius: var(--r-lg); overflow: hidden; background: var(--bg-sunken);
}
.dossier-head__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

.dossier-head__text { flex: 1; min-width: 0; display: flex; flex-direction: column; justify-content: center; }
.dossier-head__pills { display: flex; gap: var(--s-2); margin-block-end: var(--s-3); }

.dossier-head__title {
  margin: 0 0 var(--s-2); font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.125rem);
  font-weight: var(--fw-bold); letter-spacing: -.02em; line-height: 1.15;
  display: flex; align-items: baseline; gap: var(--s-2); flex-wrap: wrap;
}
.dossier-head__grade { font-size: var(--fs-base); font-weight: var(--fw-semi); color: var(--accent); }
.dossier-head__sub { font-size: var(--fs-lg); color: var(--text-muted); }

/* No media: the text column simply takes the full width. */
.dossier-head__inner:has(.dossier-head__text:only-child) .dossier-head__text { max-width: none; }

/* --- Summary strip — the gates that decide eligibility ------------------- */
.dossier-summary { background: var(--bg-subtle); border-block-end: 1px solid var(--border); padding-block: var(--s-5); }
.dossier-summary__head { display: flex; align-items: center; justify-content: space-between; margin-block-end: var(--s-4); }
.dossier-summary__head h2 { margin: 0; font-size: var(--fs-base); font-weight: var(--fw-semi); color: var(--accent); }
.dossier-summary__head span { font-size: var(--fs-xs); color: var(--text-faint); }

.dossier-summary__grid {
  margin: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: var(--s-4);
}
.dossier-summary__grid dt {
  font-size: var(--fs-xs); color: var(--text-faint);
  text-transform: uppercase; letter-spacing: .05em; margin-block-end: 3px;
}
.dossier-summary__grid dd { margin: 0; font-size: var(--fs-md); font-weight: var(--fw-semi); }

/* --- Two-column layout ---------------------------------------------------- */
.dossier-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: var(--s-8);
  padding-block-start: var(--s-8);
}
@media (max-width: 880px) {
  .dossier-layout { grid-template-columns: 1fr; }
  .dossier-head__inner { flex-direction: column; }
  .dossier-head__media { width: 100%; height: 200px; }
}

/* --- Particulars sections -------------------------------------------------- */
.dossier-section { margin-block-end: var(--s-6); border: 1px solid var(--border); border-radius: var(--r-lg); overflow: hidden; }
.dossier-section h2 {
  margin: 0; padding: var(--s-3) var(--s-5);
  background: var(--bg-subtle); border-block-end: 1px solid var(--border);
  font-size: var(--fs-sm); font-weight: var(--fw-semi);
}
.dossier-table { padding-inline: var(--s-5); }
.dossier-table > div {
  display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: var(--s-3);
  padding-block: var(--s-3); border-block-end: 1px solid var(--bg-subtle);
  font-size: var(--fs-sm);
}
.dossier-table > div:last-child { border-block-end: none; }
.dossier-table > div > span:first-child { color: var(--text-faint); }
.dossier-table > div > span:last-child { color: var(--text); }

/* --- Sidebar --------------------------------------------------------------- */
.dossier-aside { display: flex; flex-direction: column; gap: var(--s-4); }

.dossier-countdown {
  border: 1px solid var(--border); border-radius: var(--r-lg);
  padding: var(--s-4) var(--s-5); text-align: center;
}
.dossier-countdown__num { font-size: var(--fs-2xl); font-weight: var(--fw-bold); color: var(--accent); line-height: 1; }
.dossier-countdown__label { font-size: var(--fs-xs); color: var(--text-muted); margin-block-start: var(--s-1); }

.dossier-actions { display: flex; flex-direction: column; gap: var(--s-2); }
.dossier-actions .btn--primary { width: 100%; text-align: center; }
.dossier-actions__row { display: flex; gap: var(--s-2); }
.dossier-actions__row .btn { flex: 1; }

/* Printing produces the PDF export — the fixed-size media and sidebar are
   both wrong there. */
@media print {
  .dossier { padding-block-end: 0; }
  .dossier-aside, .dossier-head__media { display: none !important; }
  .dossier-layout { display: block; }
  .dossier-summary { background: none !important; }
  .dossier-section { break-inside: avoid; border-color: #999; }
  .dossier-section h2 { background: none !important; }
}
