/* The release page: the casting form's house style (/talent/submit.css) plus
   what a release has that the form doesn't: the document (its intro, the
   details table, the numbered terms) and pads to sign on. */

.doc-intro {
  font: var(--type-body);
  color: var(--ink);
  max-width: 68ch;
}

/* The production's rows of the details table, read-only: a label in the
   form's small capitals over its value, two to a row where there's room. */
.details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4) var(--space-6);
  padding: var(--space-4) 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.details:empty { display: none; }
@media (max-width: 640px) { .details { grid-template-columns: minmax(0, 1fr); } }
.details > div { display: flex; flex-direction: column; gap: var(--space-1); min-width: 0; }
.details .wide { grid-column: 1 / -1; }
.details dt {
  font: 500 12px/16px var(--sans);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--ink-muted);
}
.details dd { font: var(--type-body); color: var(--ink); margin: 0; overflow-wrap: anywhere; }

/* The terms, numbered as on paper: the heading in bold small capitals, run in. */
.terms {
  margin: 0;
  padding-left: 1.6em;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  font: var(--type-body);
  color: var(--ink);
  max-width: 68ch;
}
.terms li::marker { font-weight: 700; }
.term-head, .caps {
  font-weight: 700;
  font-variant-caps: small-caps;
  letter-spacing: 0.02em;
}

.not-ready { color: var(--wingate); }

/* A pad: a light box on the dark page, so ink reads as ink. */
.sign-field { gap: var(--space-2); }
.pad {
  position: relative;
  height: 170px;
  border: 1px solid var(--line-strong);
  background: var(--ink);
}
.field[data-error] .pad { border-color: var(--wingate); }
.pad canvas {
  display: block;
  width: 100%;
  height: 100%;
  touch-action: none; /* a finger signs instead of scrolling the page */
  cursor: crosshair;
}
.pad-hint {
  position: absolute;
  left: var(--space-4);
  bottom: var(--space-3);
  font: var(--type-eyebrow);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--line-strong);
  pointer-events: none;
}
.pad.is-signed .pad-hint { visibility: hidden; }
.sign-field .remove { align-self: flex-start; }

/* Producer's signature, already on it: the same light box, smaller. */
.producer { display: flex; flex-direction: column; gap: var(--space-2); }
.producer img {
  display: block;
  width: min(100%, 320px);
  height: 90px;
  object-fit: contain;
  object-position: left center;
  background: var(--ink);
  border: 1px solid var(--line);
}
.producer img:not([src]), .producer img[src=""] { display: none; }
.producer-line { font: var(--type-ui); color: var(--ink-muted); }

.ack {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  padding-top: var(--space-6);
  border-top: 1px solid var(--line);
}
.ack-head { font: var(--type-heading); }
