/* Shared CCC form contract: persistent labels, intrinsic growth and explicit states. */
.ccc-form {
  container-type:inline-size;
  width:100%;
  max-width:var(--ccc-form-measure);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:var(--ccc-form-gap);
  text-align:left;
  font-family:var(--ccc-body);
}
.ccc-form-fields {
  margin:0;padding:0;border:0;min-width:0;
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--ccc-form-gap);
}
.ccc-field {min-width:0;display:flex;flex-direction:column;gap:8px;}
.ccc-field--wide {grid-column:1/-1;}
.ccc-field-label {display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;font-size:14px;line-height:1.5;font-weight:600;}
.ccc-field-meta {font-size:12px;font-weight:400;color:var(--ccc-field-hint);}
.ccc-control {
  width:100%;max-width:100%;min-width:0;min-height:var(--ccc-field-height);
  padding:14px 16px;border:1px solid var(--ccc-field-border);border-radius:var(--ccc-field-radius);
  background:var(--ccc-white);color:var(--ccc-charcoal);
  font:400 16px/1.5 var(--ccc-body);text-align:left;
}
textarea.ccc-control {resize:vertical;min-height:calc(var(--ccc-field-height) * 2);}
.ccc-control::placeholder {color:var(--ccc-field-hint);opacity:1;}
.ccc-control[aria-invalid="true"] {border-color:var(--ccc-field-error);background:var(--ccc-field-error-tint);}
.ccc-control:focus-visible {border-color:var(--ccc-field-focus);outline:3px solid var(--ccc-field-focus);outline-offset:3px;box-shadow:0 0 0 6px white;}
.ccc-field-hint,.ccc-form-note,.ccc-form-status {font-size:13px;line-height:1.55;color:var(--ccc-field-hint);overflow-wrap:anywhere;}
.ccc-form-note {padding:12px 14px;background:var(--ccc-cream);border-left:3px solid var(--ccc-bronze-ink);border-radius:0 var(--ccc-field-radius) var(--ccc-field-radius) 0;}
.ccc-field-error {display:flex;align-items:baseline;gap:8px;color:var(--ccc-field-error);font-size:13px;line-height:1.55;}
.ccc-field-error>[aria-hidden] {font-weight:700;}
.ccc-form-submit.ccc-button {
  width:100%;min-height:var(--ccc-field-height);border-radius:var(--ccc-field-radius);
  padding:14px 24px;font:600 16px/1.5 var(--ccc-body);gap:12px;
}
.ccc-form-arrow {font-size:22px;line-height:1;}
.ccc-form-status:empty {display:none;}
.ccc-form p {margin-block:0;}
.ccc-form p+p {margin-top:0;}
.ccc-form-status:not(:empty) {padding:12px 14px;border:1px solid var(--ccc-field-border);border-radius:var(--ccc-field-radius);color:var(--ccc-charcoal);}
@container(max-width:380px) {
  .ccc-form-fields {grid-template-columns:minmax(0,1fr);}
}
