.form-help .preparation-instruction { font-size: 13px; color: var(--muted); line-height: 1.8; margin: 12px 0 19px; }
.preparation-list { margin-bottom: 24px; }
.preparation-detail > summary { min-height: 67px; padding: 17px 0; gap: 12px; }
.preparation-detail .subcategory-title { font-size: 16px; line-height: 1.7; }
.preparation-detail .subcategory-body { background: #fff; margin-bottom: 18px; padding: 20px 22px; }
.preparation-detail ul { margin: 0; padding-left: 18px; }
.preparation-detail li { font-size: 14px; color: var(--muted); line-height: 1.9; padding-left: 2px; }
.preparation-detail li + li { margin-top: 13px; }
.registration-page .form-section-title:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.visitor-purchasing { margin: 8px 0; min-width: 0; border: 1px solid var(--line); padding: 25px; background: #faf7f3; }
.visitor-purchasing legend { font-size: 16px; font-weight: 500; color: var(--red); padding: 0 8px; }
.visitor-purchasing > p { color: var(--muted); font-size: 13px; line-height: 1.85; margin: 0 0 20px; }
.visitor-purchasing .form-grid { gap: 22px 20px; }
.registration-page .form-grid input[type=number] { max-width: 100%; }
@media (max-width: 640px) {
  .visitor-purchasing { padding: 20px 18px; }
  .preparation-detail .subcategory-body { padding: 19px 20px; }
}
