/* Reuse the existing contact page components; only event-specific additions live here. */
.ter-registration { overflow-wrap: anywhere; }
.ter-registration .contact-notice__phone,
.ter-registration .ter-notice--test { grid-column: 1 / -1; }
.ter-progress.contact-flow__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ter-notice { padding: var(--space-4); border: 1px solid var(--color-border); border-radius: var(--radius-sm); }
.ter-notice--test { border-color: var(--color-accent); font-size: var(--fs-body-sm); background: var(--color-bg-subtle); }
.ter-event-summary { margin-block: var(--space-6); padding-block: var(--space-5); border-block: 1px solid var(--color-border); }
.ter-event-summary h3 { margin-bottom: var(--space-4); font-size: var(--fs-body-pc); line-height: var(--lh-body); }
.ter-event-summary dl { display: grid; gap: var(--space-3); }
.ter-event-summary dl > div { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-3); }
.ter-event-summary dt { color: var(--color-text-muted); }
.ter-event-summary dd { min-width: 0; }
.ter-errors { margin-block: var(--space-6); border-color: var(--color-primary); }
.ter-errors h3 { font-size: var(--fs-body-pc); margin-bottom: var(--space-3); }
.ter-errors ul { padding-left: var(--space-5); list-style: disc; }
.ter-errors p + p { margin-top: var(--space-3); }
.ter-errors a { color: var(--color-primary); text-decoration: underline; text-underline-offset: var(--space-1); }
.ter-form { min-width: 0; }
.ter-result .ter-result__meta { color: var(--color-text-muted); font-size: var(--fs-body-sm); }
.ter-form .contact-form__select select { color: var(--color-text); }
.ter-form [aria-invalid=true] { border-color: var(--color-primary); }
.ter-total { margin-top: var(--space-3); }
.ter-help { color: var(--color-text-muted); font-size: var(--fs-body-sm); line-height: var(--lh-body); }
.ter-honeypot { display: none; }
.ter-privacy { gap: var(--space-2); }
.ter-privacy input { flex-shrink: 0; }
.ter-privacy span { min-width: 0; }
.ter-guidance { margin-block: var(--space-6); padding: var(--space-5); background: var(--color-bg-subtle); }
.ter-guidance h3 { margin-bottom: var(--space-3); font-size: var(--fs-body-pc); }
.ter-registration [data-ter-focus] { scroll-margin-top: var(--space-13); }
.ter-question-choices { display: grid; gap: var(--space-3); }
.ter-question-choice { display: flex; align-items: flex-start; gap: var(--space-2); cursor: pointer; }
.ter-question-choice input { flex-shrink: 0; }
.ter-question-choice span { min-width: 0; overflow-wrap: anywhere; }
/* The article's opt-in link is outside the contact page and retains its own button class. */
.ter-event-link { margin-top: var(--space-7); }
.ter-event-link .ter-button { display: inline-flex; align-items: center; justify-content: center; padding: var(--space-4) var(--space-6); width: 100%; box-sizing: border-box; min-height: var(--space-9); border: 1px solid var(--color-primary); border-radius: var(--radius-sm); background: var(--color-primary); color: var(--color-text-inverse); text-align: center; font: inherit; font-size: var(--fs-body-pc); line-height: var(--lh-tight); cursor: pointer; text-decoration: none; }
.ter-event-link .ter-button:hover { background: var(--color-primary-hover); color: var(--color-text-inverse); }
@media (min-width: 768px) {
  .ter-event-link .ter-button { width: auto; min-width: calc(var(--space-13) * 2); }
}
