/* ==========================================================================
   CAMPUS TRIAL — Level 2 (board PO2-Trial). A Stage band with the offer,
   then the request form and the common questions on Page.
   ========================================================================== */

.otb-trial__messages .messages {
  margin: var(--space-6) 0;
}

/* ---------- BAND ---------- */

.otb-trial__band {
  background: var(--color-bg-primary);
  color: var(--color-text-primary);
}

.otb-trial__band-inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-10);
  padding-top: var(--space-16);
  padding-bottom: var(--space-20);
}

.otb-trial__intro {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.otb-trial__title {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: var(--font-size-display-l);
  font-weight: var(--font-weight-light);
  line-height: var(--line-height-display);
}

.otb-trial__lead {
  max-width: 45rem;
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-md);
  line-height: var(--line-height-body);
}

.otb-trial__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-8);
  max-width: 60rem;
  margin: 0;
  padding-top: var(--space-8);
  border-top: var(--border-width-thin) solid var(--color-border-light);
}

.otb-trial__fact {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.otb-trial__figure {
  font-family: var(--font-family-display);
  font-size: var(--font-size-display-m);
  font-weight: var(--font-weight-light);
  line-height: 1;
  white-space: nowrap;
}

.otb-trial__fact dd {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.5;
}

/* ---------- BODY ---------- */

.otb-trial__body {
  display: flex;
  align-items: flex-start;
  gap: var(--space-24);
  padding-top: var(--space-16);
  padding-bottom: var(--space-24);
}

.otb-trial__card {
  display: flex;
  flex: 0 1 35rem;
  flex-direction: column;
  gap: var(--space-6);
  min-width: 0;
  padding: var(--space-8);
  border: var(--border-width-thin) solid var(--color-border-light);
  border-radius: var(--border-radius-lg);
  background: var(--color-bg-card);
}

.otb-trial__h2 {
  margin: 0;
  font-family: var(--font-family-display);
  font-size: var(--font-size-h2);
  font-weight: var(--font-weight-normal);
  line-height: 1.2;
}

/* The form: label above each control, 44px controls, groups 20px apart. */
.otb-trial__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-5);
}

.otb-trial__form .form-item,
.otb-trial__form .js-form-wrapper,
.otb-trial__form fieldset {
  margin: 0;
}

.otb-trial__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.otb-trial__form .form-item {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}

.otb-trial__form .form-item label,
.otb-trial__form legend,
.otb-trial__form .fieldset__label {
  margin: 0;
  padding: 0;
  color: var(--color-text-primary);
  font-size: var(--font-size-xs);
  font-weight: var(--font-weight-medium);
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: none;
}

.otb-trial__form fieldset {
  min-width: 0;
  padding: 0;
  border: 0;
}

.otb-trial__form fieldset .fieldset__wrapper,
.otb-trial__form fieldset > .form-checkboxes,
.otb-trial__form fieldset > .form-radios,
.otb-trial__form .form-checkboxes,
.otb-trial__form .form-radios {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin-top: var(--space-3);
}

/* A checkbox or radio sits beside its label, in body type. */
.otb-trial__form .form-type-checkbox,
.otb-trial__form .form-type-radio {
  flex-direction: row;
  align-items: center;
  gap: 0.625rem;
}

.otb-trial__form .form-item.form-type-checkbox label,
.otb-trial__form .form-item.form-type-radio label {
  font-size: var(--font-size-ui);
  font-weight: var(--font-weight-normal);
  line-height: 1.4;
}

.otb-trial__form input[type="checkbox"],
.otb-trial__form input[type="radio"] {
  flex: none;
  width: 1.125rem;
  height: 1.125rem;
  margin: 0;
  accent-color: var(--color-primary);
}

.otb-trial__form input[type="text"],
.otb-trial__form input[type="email"],
.otb-trial__form input[type="date"],
.otb-trial__form select,
.otb-trial__form textarea {
  width: 100%;
  max-width: none;
  min-height: var(--control-height);
  padding: 0 0.875rem;
  border: var(--border-width-thin) solid var(--color-border-light);
  border-radius: var(--border-radius-md);
  background: var(--color-bg-card);
  color: var(--color-text-primary);
  font-family: var(--font-family-base);
  font-size: var(--font-size-ui);
}

.otb-trial__form textarea {
  padding-block: var(--space-3);
  font-family: var(--font-family-mono);
  font-size: var(--font-size-data);
  line-height: 1.5;
  resize: vertical;
}

.otb-trial__form .description {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.4;
}

.otb-trial__form .form-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin: 0;
  padding-top: var(--space-1);
}

.otb-trial__after {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-xs);
  line-height: 1.5;
}

.otb-trial__form input.error,
.otb-trial__form select.error,
.otb-trial__form textarea.error {
  border: var(--border-width-control) solid var(--color-status-error-text);
}

/* ---------- COMMON QUESTIONS ---------- */

.otb-trial__faq {
  display: flex;
  flex: 0 1 25rem;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding-top: var(--space-2);
}

.otb-trial__question {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: var(--space-5) 0;
  border-top: var(--border-width-thin) solid var(--color-border-light);
}

.otb-trial__question:last-child {
  border-bottom: var(--border-width-thin) solid var(--color-border-light);
}

.otb-trial__question h3 {
  margin: 0;
  font-family: var(--font-family-base);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-semibold);
  line-height: 1.35;
}

.otb-trial__question p {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
  line-height: var(--line-height-body);
}

.otb-trial__question a {
  color: var(--color-text-primary);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

/* ---------- NARROWER SCREENS ---------- */

@media (max-width: 994px) {
  .otb-trial__body {
    flex-direction: column;
    gap: var(--space-12);
  }

  .otb-trial__card,
  .otb-trial__faq {
    flex-basis: auto;
    width: 100%;
  }
}

@media (max-width: 768px) {
  .otb-trial__band-inner {
    gap: var(--space-8);
    padding-top: var(--space-10);
    padding-bottom: var(--space-12);
  }

  .otb-trial__title {
    font-size: var(--font-size-display-s);
  }

  .otb-trial__facts {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .otb-trial__figure {
    font-size: var(--font-size-3xl);
  }

  .otb-trial__body {
    padding-top: var(--space-10);
    padding-bottom: var(--space-16);
  }

  .otb-trial__card {
    padding: var(--space-5);
  }

  .otb-trial__pair {
    grid-template-columns: minmax(0, 1fr);
  }
}
