/* Signature element: a piped-icing scallop edge used between sections.
   Colored via `color:` on the element (currentColor). */
.scallop-divider {
  height: 28px;
  background-image: radial-gradient(circle at 50% 0, currentColor 14px, transparent 15px);
  background-size: 28px 28px;
  background-repeat: repeat-x;
  background-position: bottom;
  transform: rotate(180deg);
}

/* Form fields — one consistent look without repeating utility soup */
.field-input {
  width: 100%;
  border: 2px solid #F3E7D3;
  border-radius: 0.75rem;
  background: #fff;
  padding: 0.625rem 0.875rem;
  font-size: 1rem;
  transition: border-color 120ms ease, box-shadow 120ms ease;
}
.field-input:focus {
  outline: none;
  border-color: #1F8A8C;
  box-shadow: 0 0 0 3px rgba(31, 138, 140, 0.2);
}
.field-error .field-input { border-color: #D95F80; }

/* Checkbox / radio groups from WTForms render as <ul><li> */
.choice-group ul { display: flex; flex-wrap: wrap; gap: 0.5rem 1.25rem; list-style: none; padding: 0; margin: 0; }
.choice-group li { display: flex; align-items: center; gap: 0.5rem; }
.choice-group input[type="checkbox"],
.choice-group input[type="radio"] { width: 1.1rem; height: 1.1rem; accent-color: #1F8A8C; }
.choice-group label { font-weight: 600; }

@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
